第4章 操作符
Java常用的操作符有加减乘除,赋值等;
Java遵循四则运算的方式,先乘除后加减,有括号的优先括号里
Java用一个等号【=】表示赋值符号,等号右边是具体的对象,等号左边是要被赋予的新对象,含义就是把等号右边的对象赋值给等号左边。
// 把5赋值给a
int a =5;
Test t1 = new Test();
Test t2 = new Test();
// 把t2对象的引用赋值给t1对象,这样t2和t1两个对象使用的是相同引用
t1=t2;
方法参数:方法参数可以看作是方法调用中原对象的一个别名;该方法会在它作用域内生成原始对象的一个副本,如果是引用对象,那么这个副本和原始对象使用的是同一个引用。
算术操作符
操作符 | 含义 | |
+ | 加 | |
- | 减 | |
* | 乘 | |
/ | 除 | |
% | 取模 | |
+= | 求和后赋值给原变量 | a +=4; a= a+4; |
-= | 相减后赋值给原变量 | a -=4; a=a-4; |
(+) | 一元加,将较小类型的操作数提升为int类型 | |
(-) | 一元减,反转数字符号;正改负,负改正。 |
自动递增和递减
符号 | 含义 |
i++ | 拿到i的值后,i进行累加1操作,并将结果赋予i |
++i | i进行累加1操作后,把结果赋予i后才拿i的值 |
i-- | 拿到i的值后,i进行减一操作,将结果赋予i |
--i | i进行减一操作后,把结果赋予i后才拿i的值 |
关系操作符:
> | 大于 |
< | 小于 |
== | 等于 |
>= | 大于等于 |
<= | 小于等于 |
!= | 不等于 |
逻辑操作符:
&& | 与 |
|| | 或 |
! | 非 |
短路:多个判断条件通过逻辑操作符相连,如果左边的条件满足判断要求,右边的条件就不用再被执行了
按位操作符
对两个参数中对应的二进制位进行布尔代数运算,并生成一个结果。
& | 位与 |
| | 位或 |
^ | 异或 |
~ | 非 |
移位操作符
<< | 左移位,将操作符左侧的操作数向左移动指定位数,在左侧补0 |
>> | 有符号右移 |
>>> | 无符号右移 |
三元操作符
表达式:条件 ? 为true就是这个值: 为false就是这个值
字符串:在使用 + 和 +=时,要把后面的东西拼接在字符串后面
第5章 控制流
1.true和false
boolean值true和false在控制流中起到节点判断的作用,为true就做啥,为false就做啥,两者不能同时出现。
2.if-else
if-else是常用的条件判断方式,if(true/false) 就可以xxx else 就可以xxx,
可以扩展为 if else if else ,中间的else if表示第一种判断条件不满足时,再看第二种判断条件是否满足。
int a=5,b=4;
if(a>6){
// 看电影
}else if (b<2){
//做饭
}else{
// 发呆
}
3.迭代语句
也称为循环语句。
常用的while(true)、do xxx while(true) 、 for
while和do while的区别是,while先判断,通过后才执行;do while是先执行一次,再看是否满足通过条件。
int a=5,b=6;
while(a>3 && b <5){
// 吃苹果
}
do{
// 吃苹果
}while(a>3 && b <5)
for语句由三部分组成,初始化;条件判断;循环累加
int a=7;
for(int i=0; i<a;i++){
// 初始化数组索引值,要求索引值满足一个条件,满足后就执行,执行完毕后索引值进行累加
}
后续有了for的增强,称为foreach。
int[] array = new int[]{1,2,3};
for (int i: array){
// 直接从数组第一位开始把该位置里的对象拿出来,进行操作,操作完毕后,自动开始下一位置的对象
}
4.return
return的含义是直接在此处中断方法,返回一个值。后面还有代码,但是不会去执行。
public String checkAge(int age){
if (age > 18){
return "成年人";
}
return "未成年人";
}
5.break和continue
continue用于循环里面,表示代码执行到此处就开始下一个循环位置进行执行,该循环里在continue后的代码都不执行了。
break在循环里的作用是中断此循环,后续索引位置对象也不能被循环处理了。
int[] array = new int[]{1,2,3,4};
for (int i: array){
if (i<2){
continue;
}
if (i ==3){
break;
}
}
6.switch
是一种枚举型的判断处理,搭配有case,表示要满足的枚举值;break,表示到此处就执行完毕;default 其他枚举值不满足时的默认处理。
int f =8;
switch (f){
case 1:
case 2:
case 3:
System.out.println("小于4");
break;
case 4:
break;
case 5:
case 6:
case 7:
break;
default:
}
Java在jdk7后,switch里支持字符串类型。