1 public class Demo{ 2 public static void main(String [] args){ 3 int num=2; 4 System.out.println(num++);//后置加加,先打印后加 2 5 System.out.println(num);//3 6 System.out.println(++num);//前置加加,先加后打印 4 7 System.out.println(num);//4 8 int num1=4; 9 int result=num1++;//先赋值给result后num自加1 10 System.out.println(result);//4 11 int num2=10; 12 int result1=++num2;//num2先自增,然后赋值给result1 13 System.out.println(result1);//11 14 System.out.println("----------"); 15 int a=5; 16 System.out.println(3>4&&++a<100); 17 System.out.println(a);//5 &&短路效果,当判断3>4不成立时,结果已经出来,不会执行后面的++a,而&不具有短路效果 18 19 } 20 21 22 }
1.当数据类型不一样时,将会发生类型转换(显式与隐式转换)
int--->long,float-->double,long-->folat(隐式转换)
强制转换 int num=(int)3.4//将double类型强制转换为int类型
强制转换可能会发生精度损失,数据溢出
2.byte/short/char可以发生数学运算,char会根据ASCII码表转换为数字来计算
3.Boolean类型不发生转换
4‘任何数据类型和字符串进行加号连接时,结果都会变成字符串
String s="java";
System.out.print(s+20);//java20(字符串)
//优先级
System.out.println(s+20+30);//java2030
System.out.println(20+30+s);//50java
System.out.println(s+(20+30));//java50
5.逻辑运算符&&,||相比于&,|具有短路效果,即从第一个条件是否能判断整个结果,若能判断,第二个表达式自动忽略