-
数据类型的使用特点
基本数据类型
long lon = 3L;
float f = 0.1F;
char cha = ‘A’;
char cha2 = ‘1’;
char cha3 = ‘好’;byte short int long float double
-------------从左到右精度越来越高---------------->
从左到右,自动隐式转换byte short int long float double
<-------------从左到右精度越来越高----------------
从右向左转换,需要强制类型转换 但是,int向 byte short char 转换时,在其范围都会自动隐式转换
强制类型转换语法:
如 int a = 3;
byte b = (byte)a; -
表达式:就是一个算术式
只能用表达式中精度最高的类型来接受结果,
如果表达式中精度最高的类型小于默认类型,会自动提升为默认类型
如果表达式中精度最高的类型大于默认类型,会自动提升为精度最高的类型 -
运算符
- 算数运算
+:注意连接作用
/:不能/0
%(模,取余):不能%0 判断倍数++:
a++如果变量在前,1.先赋值给 变量++ 这个整体 2, 变量自增
++a如果变量在后,1.变量先自增 2, 将新值赋值给 ++变量 这个整体
–:- 赋值运算
=
a+=1;
-=
/=
*=
%=
注意:1. 变量没有初始值,不能使用
2. 有溢出风险,当超过当前变量的数据类型的最大表示范围时,会以二进制进位,直到能
装下为止
可以联想 强制类型转换-
逻辑运算:
! &&(&) ||(|) ^
注意:双与、双或短路,当左边的表达式能够确定整个表达式结果的时候,就会短路。这样逻辑运算
效率更高 -
比较运算:
== : 1. 判断基本类型是比较值 2.判断引用类型比较的是栈中地址用于引用类型
语法:
a instanceof b 判断变量a是否属于b类型
a:变量
b:引用类型 -
位运算(了解)
-
三目运算:
1.格式: X ?Y :Z; 表示如果X是true执行Y,否则执行Z
X:布尔值或布尔表达式
Y、Z:值或表达式- 注意:
- 运算的结果是一个值,不能单独存在,可以直接输出
- 如果需要变量接收就,必须满足:
- Y、Z必须是同种数据类型
- 接受的变量也必须跟Y、Z数据类型相同
- 如果不用变量接收,Y、Z类型可以不同
- 三目运算嵌套(多层嵌套不太常用)
- 注意:
- 算数运算