Java基础Note——类型与运算

类型与运算

字面量和常量

常量:固定不变得值;

字面量:直接给出得值

变量

表示存储空间,用来存放某一类型的变量,无固定值。

定义变量

​ int age;

注意:变量必须初始化。

变量的分类

  1. 成员变量/字段(Field):直接定义在类的{}中的变量(方法外)

    定义成员变量都使用static修饰

  2. 局部变量:定义在方法中的变量,变量除了成员变量就是局部变量

  3. 作用域: 成员变量:在所定义的类中起作用

    ​ 局部变量:从定义的那个地方到就近{}结束

    ​ 同一作用域内变量名不能重复定义

数据类型和分类

在这里插入图片描述
在Java中数据类型分两大类:

  1. 基本数据类型/原生数据类型:

    ​ 数值型:

    ​ 整数类型:byte,short,int,long(占用内存不同)

    ​ 小数类型:float,double

    ​ 字符型:char

    ​ 布尔型:boolean

  2. 引用数据类型/对象数据类型:类/接口/

数据类型

在这里插入图片描述
Java中char占2个字节

boolean:boolean类型的值只能是true和false;

整数类型:二进制整数以0B或者0b开头(Java7以后允许在数字间用"_")

​ 八进制整数以0开头

​ 十六进制以0x开头

​ Long类型:用值用L结尾;

小数类型:默认为double类型(小数精度不准确)

​ 科学计数的形式3.14e2(3.14*10^2);

float pi = 3.14是错误的。应该为float pi = 3.14F;

​ BigDecimal表示任何精度的数据

字符类型:
在这里插入图片描述
注意:用十六机制数来表示字符要用\ux的格式(并且至少凑到4位),如 char c = ‘\ux0041’;

最常用引用类型

String:String是一个类

字符串用+连接

数据溢出

数据超过数据类型临界范围,为溢出。

基本类型的自动转换

在这里插入图片描述
强制类型转换可能会导致溢出或者精度损失

如果是 byte = 125; 底层会自动转换,因为125在byte范围里面

表达式中数据类型会自动提升,最终结果的类型是表达式中数据类型最高的那一个

char byte short会自动转换为int类型

例如:byte b = 25;

b = b + 3; 是不行的,因为表达式中b会自动转化为int。而int不能赋值给byte类型

String和任意数据连接后都是字符串

自增自减

++和–都只能对变量操作。

前后之分:++前置

​ a变量自身加1再运算

​ ++后置

​ a变量自身先加1,把递增之前的原始值去做运算

赋值运算符

+=、-=等都隐式类型转换

比较运算符

比较运算符的结果都是Boolean类型

判断一个数的奇偶判断除2余数是否为0(不能判断余数是否为1,因为负数);

逻辑运算符

与: & 位与

​ && 短路与

& 和 &&的区别:&&如果A表达式为false则不判断B直接返回false。但是&如果A表达式为false但任然继续判断B再返回false

或:类似同上

移位运算

负数的二进制是原码求反码再求其补码

运算符优先级

在这里插入图片描述

发布了7 篇原创文章 · 获赞 11 · 访问量 371

猜你喜欢

转载自blog.csdn.net/Archerrrrr/article/details/104477247