操作符
自动递增和递减
x += 4;// x=x+4;
自动递增和递减
-
前缀式:
++i;//先增加再引用
-
后缀式:
i++;//先引用再增加
关系操作符--返回boolean结果
-
==:引用比较
-
equal:值比较
String a = "a"; String b = "a"; System.out.println(a == b); //返回true String a = new String("a"); String b = new String("a"); System.out.println(a == b); //返回false
实际上equals默认比较的是引用, 需要自己在新类中覆盖equals()方法
//返回true,在Integer中已经重写了equals方法 Integer a = new Integer(10); Integer b = new Integer(10); System.out.println(a.equals(b)); A aa = new A(); A bb = new A(); aa.a=1; bb.a=1; System.out.println(aa.equals(bb)); //返回false
逻辑操作符 (短路运算符)
- &&: 与
- ||: 或
- ! : 取反
按位操作符
- &: 与 (也可比较boolean,但无短路效果)
- |: 或
- ~: 非 (不能对boolean使用)
类型转换
-
基本数据类型
- short: 16
- int: 32
- long: 64
- float: 32
- double: 64
- byte:8
- char:16
- boolean: 8
-
扩展转换
1->2->3->4->5 自动转换 (long转float为什么能自动转换??)
4->5 显示类型转换
-
窄化转换
必须显示类型转换
注: 当浮点型向整数类型转换,自动舍去, java.lang.Math提供round()舍入
循环控制语句
迭代
-
while
-
do-while
区别: do-while至少执行一次,while比do-while常用
-
for
循环计数任务
-
Foreach
数组和容器迭代
return&break&continue
- return -- 退出当前方法
- break -- 退出当前循环或switch
- continue -- 退出到循环的开头
switch
选择语句
switch (key) {
case value: