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

时间:2023-12-29 10:36:32
 public class Demo{
public static void main(String [] args){
int num=2;
System.out.println(num++);//后置加加,先打印后加 2
System.out.println(num);//
System.out.println(++num);//前置加加,先加后打印 4
System.out.println(num);//
int num1=4;
int result=num1++;//先赋值给result后num自加1
System.out.println(result);//
int num2=10;
int result1=++num2;//num2先自增,然后赋值给result1
System.out.println(result1);//
System.out.println("----------");
int a=5;
System.out.println(3>4&&++a<100);
System.out.println(a);//5 &&短路效果,当判断3>4不成立时,结果已经出来,不会执行后面的++a,而&不具有短路效果 } }

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