java中的数据转换与前置,后置加加

 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.逻辑运算符&&,||相比于&,|具有短路效果,即从第一个条件是否能判断整个结果,若能判断,第二个表达式自动忽略

posted @ 2019-03-13 15:11  超人不会飞0  阅读(488)  评论(0编辑  收藏  举报