| /= | 复合除法运算 | a=1;a/=2.0;a=0.5; | a/=b等效于a=a/b |
| %= | 复合取模运算 | a=1;a%=2;a=1; | a%=b等效于a=a%b |
- 关系运算符
关系运算符用于比较两个变量或表达式的值的大小关系。
在Java 中,关系运算结果值为bool 类型,包括“true”或“false”
运算符 | 功能 | 例子 | 备注 |
---|---|---|---|
> | 比较大于关系 | a=(1>2);a=false; | |
< | 比较小于关系 | (a=1<2);a=true; | |
>= | 比较大于等于关系 | a=(1>=2);a=false;a=(1<=2);a=true | 大于或者等于时为true,小于时为false |
<= | 比较小于等于关系 | a=(1<=2);a=true; | 小于或者等于时为true,小于时为false |
== | 比较等于关系 | a=(1==2);a=false | 等于时为true,小于或者大于时为false |
!= | 比较不等于关系 | a=(1!=2);a=true; | 相等时为false,不等时为true |
注意:==用来判断相等关系,并非用来赋值。赋值使用的是赋值符号 =
关系运算不改变操作数的值
- 逻辑运算符
使用关系运算符可以比较程序中两个值的大小关系,但在程序中经常需要从多个比较关系中得到综合判断的结果。
运算符 | 功能 | 例子 | 备注 |
---|---|---|---|
&& | 与运算,即同时成立,缺一不可 | true&&true =》true ;true&&false =>false;false&&true=>false;false&&false=>true | 运算符两边值为true时才为true |
或运算,即只要有一个值为true即成立 | |||
! | 非运算 | !true=false;!false=true | 取反运算 |
- 三目运算符
用来快速实现条件判断并根据条件返回不同的结果。
语法:布尔表达式?表达式1:表达式2
int a=布尔表达式?1:2; //表达式值为false 则a=2;表达式为true,a=1;
String name=布尔表达式?"张三":"李四";// 表达式值为false,则name=“李四”;表达式值为
true,则name=“张三”。
// 规则 在使用三目运算符做赋值运算时,若表达式值为true,则赋值内容为问号之后,冒号之前的数据。若表达式值为false,则赋值内容为冒号后的值。
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的年龄");
int age = sc.nextInt();
System.out.println(age>=18?"成年":"未成年");
条件结构
Java程序流程控制结构
顺序
条件
循环
执行流程图如下所示:
- 单分支if结构
当程序执行到分支判断的语句时,首先判断条件,然后根据条件表达式的结果选择相应的语句执行。
if(条件) {
//语句
}
1.条件表达式的值必须为boolean类型
2.条件为true时执行if内的代码
int a=0;
if(a>1){ //不会执行,因为a的值<1,故表达式值为false,无法进入if分支
a++;
}
- 双重分支结构 if-else
条件的结果为true,则执行if中的代码块1,条件的结果为false,则执行else中的代码块2。
if ( 条件 ) {
//代码块1
}else {
//代码块2
}
int num1=1,num2=3;
if(num1 >= num2) {
max = num1;
} else {
max = num2; //执行代码块2 因为num1值不大于也不等于num2值
}
- 多重分支结构 if-else if-else
多重if中条件表达式的顺序是有序的,要么从大到小,要么从小到大,总之是要有顺序地排列。条件不按顺序排列会出错。
if ( 成绩>=80) {
//代码块1
}
else if (成绩>=60) {
//代码块2
}
else {
//代码块3
}
多重分支结构,只要进入一个分支结构,则不会再进入其他分支结构
else if 可以有多个,但是要求分支结构中条件表达式的顺序要有序
if(score >= 90) { //考试成绩>=90
System.out.println("优秀");
} else if (score >= 80) { // 90 >考试成绩>=80
System.out.println("良好");
} else if (score >= 60) { // 80>考试成绩>=60
System.out.println("中等");
} else { //考试成绩<60
System.out.println("差");
}
- 嵌套条件结构
外层条件满足后才执行内层条件语句
if(条件表达式1){
if(条件表达式2){
语句块1;
} else {
语句块2;
}
} else {
if(条件表达式3) {
语句块3;
} else {
语句块4;
}
}
if(gender == ' 男 ') {
if(age>=18) {
System.out.println(" 可以报 A 类比赛项目 ");
}
else {
System.out.println(" 可以报 B 类比赛项目 ");
}
}
else {
System.out.println(" 可以报 C 类比赛项目 ");
}
嵌套条件结构,在使用时,一定要注意代码缩进和代码所处的分支结构。
- switch-case选择结构
通过表达式值与case 后的常量进行比较,如果相等则执行对应的case语句块,如果不相等,则往下继续匹配。如果所有的case找完,都没有相等的,则执行default默认的语句块。
switch (表达式) {
case 常量 1:
语句;
break;
case 常量 2:
语句;
break;
… //case 语句块可以有多个
default:
语句;
break;
}
break关键字 用来结束switch分支机构
int no = 2; //成绩名次
switch(no) {
case 1:
System.out.println("奖励联想笔记本一台");
break;
case 2:
System.out.println("奖励移动硬盘一个");
break;
case 3:
System.out.println("奖励U盘一个");
break;
default:
System.out.println("没有任何奖励");
循环结构
最后
由于篇幅有限,这里就不一一罗列了,20道常见面试题(含答案)+21条MySQL性能调优经验小编已整理成Word文档或PDF文档
还有更多面试复习笔记分享如下
break;
case 3:
System.out.println(“奖励U盘一个”);
break;
default:
System.out.println(“没有任何奖励”);
## 循环结构
### 最后
由于篇幅有限,这里就不一一罗列了,**20道常见面试题(含答案)+21条MySQL性能调优经验**小编已整理成Word文档或PDF文档
[外链图片转存中...(img-1TvPnoHs-1714397513135)]
**还有更多面试复习笔记分享如下**
[外链图片转存中...(img-3RLyFRwy-1714397513136)]
> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/topics/618154847)收录**