顺序结构
- Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行
- 顺序结构是最简单的算法结构
- 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的
- 它是任何一个算法都离不开的基本算法结构
逻辑运算符
&& | 与、并且 | 两个条件必须同时成立 如:条件1 && 条件2 |
---|---|---|
|| | 或、或者 | 两个条件成立一个即可 如:条件1 ||条件2 |
! | 非(取反) | 条件真,结果假;条件假,结果真 |
示例
if(a>b && a >c){
//两个条件都得成立才会执行代码块
//代码块
}
if(a>b || a >c){
//两个条件成立一个才就会执行代码块
//代码块
}
if(!a>b){
//条件原本为true,前面加上!结果为false
//代码
}
if选择结构
- if结构是根据条件判断之后再做处理。
- 条件值为boolean类型 条件成立执行代码
基本if选择结构
语法
if(条件){
//代码块
}
示例
if(a>b){
//如果a>b成立,输出我是傻*,否则不执
System.out.print("我是傻*");
}
if-else选择结构
- 条件成立执行代码块1 否则执行代码块2
语法
if(布尔表达式){
//如果布尔表达的值为true
}else{
//如果布尔表达式的值为false
}
示例
String a = "abc";
String b = "abc";
if(a.equals(b)){
//.equals比较字符串
//如果a>b成立,输出我是傻*
System.out.print("我是傻*");
}else{
//否则输出我是大傻*
System.out.print("我是大傻*");
}
产生随机数(0-9中任意整数)的方法:
int random = (int)(Math.random()*10)
多重if选择结构
语法
if(条件1){
代码块1
}else if(条件2){
代码块2
}else{
代码块3
}
示例
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = scanner.nextInt();
//一个满足条件整个语句就会结束(只走一块代码)
if (score == 100){
System.out.println("恭喜满分");
}else if (score < 100 && score >= 90){
System.out.println("A级");
}else if (score < 90 && score >= 80){
System.out.println("B级");
}else if (score < 80 && score >= 70){
System.out.println("C级");
}else if (score < 70 && score >= 60){
System.out.println("D级");
}else if (score < 60 && score >= 0){
System.out.println("成绩不及格");
}else{
System.out.println("成绩不合法");
}
scanner.close();
【注意】else块最多有一个或没有, else块必须放在else if块后面
嵌套if选择结构
- if结构中嵌套另一个if结构
语法
if(条件1){
//外层
if(条件2){
//内层
//代码块1
}else{
//代码块2
}
}else{
//代码块3
}
示例
int a = 5;
int b = 7;
int c = 3;
if(a > b){
//成立的话进入下一层if,显然不成立
if(a > c){
System.out.println("1");
}else{
System.out.println("2");
}
}else{
//执行这个
System.out.println("3");
}
Switch选择结构
- switch:表示“开关”,这个开关就是switch关键字后面小括号里的表达式的值
- case:通常是一个固定的值。case块可以有多个,顺序可以改变,每个case常量的值必须各不相同。
- default:其他情况都不满足,表示“默认”。通常,default放在末尾,先后顺序可以变动,也可以省略。
- break:表示“停止”,即跳出当前结构。
语法
switch(表达式){
case 常量1;
代码块1;
break;
case 常量2;
代码块2;
break;
default:
代码块n;
break;
}
switch中的变量类型可以是int、short、byte、char、枚举、String类型
示例
char grade = 'C';
switch (grade){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break; //case穿透:如果不写break,switch结构会继续往下执行,break就相当于把switch结束掉
case 'D':
System.out.println("再接再厉");
break;
case 'E':
System.out.println("挂科");
break;
default: //默认选择,如果所有选项都不满足条件,那么就会选择这个
System.out.println("未知等级");
}
多重if和switch的区别
相同点
- 都是用来处理多分支条件的结构
不同点
- switch选择结构:只能处理等值条件判断的情况
- 多重if选择结构:没有switch选择结构的限制,特别适合某个变量处于某个连续的区间时的情况。