数据类型转换、运算符
1. 运算符
加、减、乘、除、取余数 (+ - * / %)
*整数相除,只能得到整数,除非有浮点数参与
2. 字符的 ‘+, -’等操作
算术表达式中包含多个基本类型时
1). char类型参加算术运算,会被自动提升为int,使用ascii码数值参与运算
2). byte、short、char类型被提升到Int类型,
*提升顺序,byte,short,char -> int -> long -> float -> double
- 已上提升只存在于运算符(±,*,/等)之间;特殊的,++,+=等运算会默认强制类型转换,不会提升 *
short e = 10;
System.out.println("e:" + getType(e));short
short f = 20;
//e = e - f;(报错)
System.out.println("e-f:" + getType(e-f));int
3. 字符串的‘+’操作
*有‘+’出现字符串,就是连接运算符,而不是算术运算符
4. 逻辑运算符
&& || ^ ,与、或、非(相同为假,不相同是真)
&和&&的区别
1) 使用&条件判断:两边都会执行,但一边为false,判断结果还是false
int i = 0;
if(i == 3 & ++i > 0) {
}
System,out.println(“i = ” + i);
2) 使用&&条件判断:如果一边为false则另外的判断都不执行,结果是false
int i = 0;
if(i == 3 && ++i > 0) {
}
System,out.println(“i = ” + i);
5. 三元/目运算符
a = b>c ? b:c