内容为IT黑马的上课自写笔记
类型转换:自动类型转换 强制类型转换(去小数点)
自动类型转换:重byte到short到int到long到float到double
注意byte 和char不能转换
整数相除只能得到整数,想得到小数要有浮点数参与
字符的加操作:char c=’A’; int i=10; System.out.println(c+i); 输出为75 字符a为97 字符0为48
字符加操作,拿字符在计算机底层对应的数值来进行计算的。
字符串加操作:实现字符串的拼接,不是算术运算。
字符串和int类型相加也是实现字符串的拼接。
System.out.println(“黑马”+6+66); 输出为 黑马666
System.out.println(1+99+”年黑马”); 输出为 100年黑马
=:+=:赋值运算符
Short s=10;s+=20; 这里的s可以正常输出,+=运算符隐含了强制类型转换,(short)
Short s=10;s=s+20; 这里s不可输出,是不兼容的类型(类型提升不对)
Short s=10;s=(short)(s+20); 这回可以正常输出
关系运算符:== != > >= < <=
System.out.println(i=j); 输出j的值
逻辑运算符:& |(或) ^(异或,不同为true) !(非,可以写多个)
短路逻辑运算符:&&(短路与) ||(短路或)
&&和&区别:
System.out.println( (i++ > 100) && (j++>100) );短路与左边为false右边的j++就干脆不执行了,如果左边为true,右边执行。
&:左右都执行 短路或,左边为true,右边就不执行了。左边为false,右边执行
注意短路与和短路或的短路效果
三元运算符:关系表达式?表达式1:表达式2;(一般 获取较大值,较小值用,用于返回true,false)