基本数据类型的类型转换
不同的基本数据类型之间进行运算时需要进行类型转换。
经验1:boolean类型与其他基本类型不能进行类型的转换(既不能进行自动类型的提升,也不能强制类型转换), 否则,将编译出错。
经验2:基本数据类型的类型转换主要在赋值运算、算术运算时发生。
转换方式有两种:自动类型转换和强制类型转换。
1.自动类型转换
规则1:如果一个操作数为double型,则整个表达式可提升为double型。
规则2:满足自动类型转换的条件
两种类型要兼容:数值类型(整型和浮点型)互相兼容。
目标类型大于源类型: 例如:double 型大于 int 型。
默认转换(从小到大的转换):byte,short,char—int—long—float—double 。
byte,short,char相互之间不转换,他们参与运算首先转换为int类型。
2.强制类型转换
1.语法:(类型名)表达式
int now = before + (int)rise ;
2.不能跨类型转换
例如,String 类型的不能强制转换成数值类型(int、double等)
运算符
1.关系运算符
运算符 | 含义 | 范例 | 结果 |
== | 等于 | 5==6 | false |
!= | 不等于 | 5!=6 | true |
> | 大于 | 5>6 | false |
< | 小于 | 5<6 | true |
>= | 大于等于 | 5>=6 | false |
<= | 小于等于 | 5<=6 | true |
2.逻辑运算符
3.位运算符
4.条件运算符
关系:.算术运算符>关系运算符>逻辑运算符>赋值运算符
&&跟&的区别?
答:
&&和&都是逻辑运算符,&&是短路与,&是逻辑与(先解释概念,说出共同点)
&&两个操作数都是true,结果才是true;如果左边为false,右边的表达式不会进行运算,(说明不同点)
但&是左边不论结果是什么,右边的表达式均会计算。
除此之外,&还是位运算符。