基本语法:
if(条件表达式){
执行代码块; (可以有多条语句)
}
说明:判断结果为真执行代码块,否则跳过
//例子
int a = 10;
int b = 20;
if(a < b) {
System.out.println("我比你大");
}
双分支
基本语法:
if(条件表达式){
执行代码块1;
}else{
执行代码块2;
}
说明:判断结果为真,执行代码块1,否则执行代码块2
//例子:
int age = 20;
if(age>18){
System.out.println("你的年龄大于18");
}else {
System.out.println("你的年龄小于18");
}
多分支
基本语法:
if(条件表达式){
执行代码块1;
}else if(条件表达式2){
执行代码块2;
}
…
else{
执行代码块n;
}
Scanner myscanner = new Scanner(System.in);
System.out.println("请输入名字");
String name = myscanner.next();
System.out.println("请输入成绩");
double achievement = myscanner.nextDouble();
if(achievement==100) {
System.out.println("满分");
}if (achievement>=80 && achievement<=99) {
System.out.println("成绩优秀");
}if (achievement>=60 && achievement<=79) {
System.out.println("成绩一般");
}if (achievement<60) {
System.out.println("不合格");
}
说明:
1.当条件表达式1成立时,执行代码块1
2.如果不成立,才去判断表达式2是否成立
3.如果表达式2成立,就执行代码块2
4.以此类推,如果所有表达式都不成立
5.则执行else的代码块,注意只有一个执行入口
嵌套分支特别说明:
(1) 多分支可以没有else,如果所有的条件表达式都不成立,则执行入口都没有
(2) 如果有else,如果所有的条件表达式都不成立,则默认执行else代码块
温馨提示:你们可以根据案例的题目,不看代码自己敲一遍 φ(>ω<*)
基本语法:
if(){
if(){
if-else
}else{
if-else
}
}
说明:在一个分支结构中又完整的嵌套了另一个完整的分支结构
里面的分支结构称为内层分支,外面的称为外层分支
建议:不要超过3层,可读性不好温馨提示:你们可以根据案例的题目,不看代码自己敲一遍 φ(>ω<*)
Scanner myscanner = new Scanner(System.in);
System.out.println("请输入你的成绩");
double achievement = myscanner.nextDouble();
if(achievement>=8.0) {
System.out.println("请输入你的性别");
char gender = myscanner.next().charAt(0);
//先接收到字符串,再取出字符串里面的第一个字符,这个称之为接收字符的方法
if(gender == '男') {
System.out.println("进入男子组");
}else if(gender == '女'){
System.out.println("进入女子组");
}else{
System.out.println("性别有误,请重新输入");
}
}else {
System.out.println("淘汰");
}
switch 分支结构
基本语法:
switch(表达式){
case常量1:
语句块1;
break;
case常量2:
语句块2;
break;
…
case常量n:
语句块n;
break;
default;
default语句块;
break;
}
//例子
Scanner myscanner = new Scanner(System.in);
System.out.println("请输入一个字符a-g");
char c1 = myscanner.next().charAt(0);
//在java中只要是有返回值,就是一个表达式
switch(c1) {
case 'a' :
System.out.println("今天是星期一");
break;
case 'b' :
System.out.println("今天是星期二");
break;
case 'c' :
System.out.println("今天是星期三");
break;
case 'd' :
System.out.println("今天是星期四");
break;
case 'e' :
System.out.println("今天是星期五");
break;
case 'f' :
System.out.println("今天是星期六");
break;
case 'g' :
System.out.println("今天是星期日");
break;
default:
System.out.println("你输入的字符不正确,一个都没有匹配上");
}
说明:
- switch关键字,表示switch分支
- 表达式对应一个值
- case常量1:当表达式的值等于常量1,就执行语句块1
- break:表示退出switch
- 如果case和常量1匹配,就执行语句块1,如果没有匹配,就继续匹配case常量2
- 如果一个都没有匹配上,执行default
Switch细节
- 表达式数据类型,应和case后的常量类型一致,或者可以自动转换成可以相互比较的类型,比如输入的是字符,而常量是int
- switch(表达式)中的表达式的返回值必须是:(byte,short,int,char,enum{枚举}.String)
- case子句中的值必须是常量,而不能是变量
- default子句是可选的,当没有匹配的case时,执行default
- break语句用来在执行完一个case分支后使程序跳出switch语句块:如果没有写break,程序会顺序执行到switch结尾,除非遇到 break



