流程控制语句
顺序结构 : 从上到下,从左到右–>默认
选择结构 : 满足条件执行对应的代码
循环结构 : 让一些代码重复不停的执行多次
1、顺序结构
从上到下,从左到右–>默认
2、选择结构
if 区间判断|定值判断
switch 定值判断
能用switch的都能if,能用if不一定能够使用switch
if
单选泽|单分支
if(条件表达式){
满足条件执行的代码段;
}
条件表达式 : 必须为一个值为boolean的表达式
执行流程:
1.计算条件表达式
2.如果结果为true,执行{}中的语句体
3.如果结果为false,就直接跳过if结构
双选择|双分支
if(条件表达式){
满足条件执行的代码段;
}else{
不满足条件执行的代码段;
}
注意: 双选择一定能够执行语句体|一定能够得到结果
多选择|多分支
if(条件表达式1){
满足条件表达式1执行的语句体1;
}else if(条件表达式2){
满足条件表达式2执行的语句体2;
}else if(条件表达式3){
满足条件表达式3执行的语句体3;
}…
else{ -->接盘侠
如果以上都不满足执行得到语句体n;
}
注意: 当{}中的语句体只有一句,前后的{}可以省略
public class Class001_If{
public static void main(String[] args){
//if单选泽
int i = -1;
System.out.println("if开始了");
if(i==0){
System.out.println("i=0");
}
System.out.println("if结束了");
//双选择
if(i>0){
System.out.println("i>0");
}else{
System.out.println("i<=0");
}
//多选择
if(i==0)
System.out.println("i=0");
else if(i<0)
System.out.println("i<0");
else{
System.out.println("i>0");
System.out.println("测试是否能够被if语句体结构控制");
}
}
}
另:
if 与 条件运算符之间的区别:
能够使用条件运算符的都可以使用if语句
if是一个语法结构,条件运算符是运算符
条件运算符编写更简洁,性能更高,结构简单,但是if更强大
条件运算符必须得到一个结果的,但是if语句可以没有结果(单选择)
if语句可以根据不同 的选择判断,决定执行对应的语句体结构,而条件运算符只能存在一个条件
建议: 如果结构简单,能够使用条件运算符就使用条件运算符,否则就使用if语句
if小练习
import java.util.Random;
public class Class002_IfPractice{
public static void main(String[] args){
/*
一.两个随机数 判断两个数是否相等
*/
//Random [10,20]
//1) 导包
//2) 创建Rnadom类型的引用
Random ran = new Random();
//3) 使用功能
int num1 = ran.nextInt(20-10+1)+10;
int num2 = ran.nextInt(20-10+1)+10;
int num3 = ran.nextInt(20-10+1)+10;
//if() 条件运算符
if(num1==num2){
System.out.println("相等");
}else{
System.out.println("不相等");
}
String str= num1==num2 ? "相等" : "不相等";
System.out.println(str);
/*
二.获取两个随机数中的最大 要求:分别用if语句,用三目运算符实现
*/
/*
三.获取三个随机数中的最大值 要求:使用if语句嵌套
*/
//注意: 一个if结构只能执行一个对应的语句体
if(num1>num2 && num1>num3){
System.out.println("num1最大");
}else if(num2>num3){
System.out.println("num2最大");
}else{
System.out.println("num3最大");
}
/*
四.键盘输入小明的一门成绩,显示该成绩对应的奖励
100 爸爸给你买个iphone18promax x=100
[90,100) 爸爸给你买个iphone18 x>=90 & x<100
[60,90) 别灰心,爸爸给你买各种学习资料 x>=60 & x<90
(0,60) 买学习资料,上补习班,各种爱的教育,如果下次还不及格,小心皮鞭沾凉水 x>0 & x<60
0 我看你是快了!!!! x=0
*/
int score = -97;
if(score==100){
System.out.println("爸爸给你买个iphone18promax");
}else if(score>=90 && score<100){
System.out.println("爸爸给你买个iphone18");
}else{
//当分数为非法分数
System.out.println("分数为非法分数!!!");
}
/*
五.根据月份,输出对应的季节
3~5 春天
6~8 夏天
9~11 秋天
12~2 冬天
*/
int month = 12;
if(month>=3 && month<=5){
System.out.println("春天");
}else if(month>=6 && month<=8){
System.out.println("夏天");
}else if(month>=9 && month<=11){
System.out.println