-
if
/*
流程控制语句 :
顺序结构 : 默认
从上到下从左到右
选择结构 :
满足条件执行相应的代码
if..else
switch
循环结构 :
重复执行一段代码(控制执行次数)
for
while
do..while
if
单选泽|单分支 :
if(boolean表达式){
语句体;
}
执行流程 :
1.boolean表达式,得到boolean结果
2.如果结果为true,执行{}中的语句体
3.如果结果为false,直接跳过if结构
双选泽|双分支 :
if(boolean表达式){
语句体1;
}else{
语句体2;
}
执行流程 :
1.boolean表达式,得到boolean结果
2.如果结果为true,执行{}中的语句体1
3.如果结果为false,执行else后的语句体2
多选泽|多分支 :
if(boolean表达式1){
语句体1;
}else if(boolean表达式2){
语句体2;
}else if(boolean表达式3){
语句体3;
}....
else{
语句体n;
}
执行流程 :
1.boolean表达式1,得到boolean结果,如果结果为true,执行{}中的语句体1
2.如果结果为false,执行boolean表达式2,如果结果为true,执行{}中的语句体2
3.如果结果为false,执行boolean表达式3,如果结果为true,执行{}中的语句体3
....
4.如果以上都不满足,执行else后的语句体n;\
注意: 一个if..else为一个结构,只能执行一个语句体
如果{}中的语句体只有一句,前后的{}可以省略
if语句与条件运算符区别:
1.条件 运算符肯定有结果,但是if结构不一定能有结果
2.条件运算符结果只能为值1|值2,if语句体可以存在多条指定语句
3.if结构功能更强大,但是条件运算符结构简单,效率高
推荐简单的使用条件运算符,复杂的使用if
*/
System.out.println("if之前");
//单选泽
if(false){
System.out.println("满足条件");
}
System.out.println("if之后");
//双选泽
int i=1;
if(i>0){
System.out.println("i>0");
}else{
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");
-
if练习
System.out.println("--------------一----------------");
/*
一.两个随机数 判断两个数是否相等
*/
Random ran = new Random();
//[1,10]
int num1 = ran.nextInt(10-1+1)+1;
int num2 = ran.nextInt(10-1+1)+1;
int num3 = ran.nextInt(10-1+1)+1;
System.out.println("num1 = "+num1+" , num2 = "+num2+" , num3 = "+num3);
if(num1==num2){
System.out.println("相等");
}else{
System.out.println("不相等");
}
System.out.println("--------------二----------------");
/*
二.获取两个随机数中的最大 要求:分别用if语句,用三目运算符实现
*/
if(num1>num2){
System.out.println(num1);
}else{
System.out.println(num2);
}
System.out.println(num1>=num2?num1:num2);
System.out.println("--------------三----------------");
/*
三.获取三个随机数中的最大值 要求:使用if语句嵌套
*/
if(num1>num2 && num1>num3){
System.out.println(num1);
}else if(num2>num3){
System.out.println(num2);
}else{
System.out.println(num3);
}
System.out.println("--------------四----------------");
/*
四.键盘输入小明的一门成绩,显示该成绩对应的奖励
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
注意:java中不支持这种格式90<=x<=100
要写成: x>=90 & x<100
*/
Scanner sc = new Scanner(System.in);
System.out.println("请输入分数 : ");
int score = sc.nextInt();
if(score==100){
System.out.println("爸爸给你买个iphone18promax!!!");
}else if(score>=90 && score<100){
System.out.println("爸爸给你买个iphone18");
}else if(score>=60 && score<90){
System.out.println("别灰心,爸爸给你买各种学习资料");
}else if(score>0 && score<60){
System.out.println("买学习资料,上补习班,各种爱的教育,如果下次还不及格,小心皮鞭沾凉水");
}else if(score==0){
System.out.println("我看你是快了!!!!");
}else{
System.out.println("别捣乱!!!");
}
System.out.println("--------------五----------------");
/*
五.根据月份,输出对应的季节
3~5 春天
6~8 夏天
9~11 秋天
12~2 冬天
*/
System.out.println("请输入月份 : ");
int month = sc.nextInt();
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("秋天");
}else if(month==1 || month==2 || month==12){
System.out.println("冬天");
}else{
System.out.println("别捣乱!!!");
}
switch
/*
if 区间判断 定值判定
switch 定值判断
语法 :
switch(条件){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
.....
default:
语句体n;
break;
}
条件 : 变量 ,表达式
数据类型 : byte short int char 枚举(jdk1.5) String(jdk1.7)
case : case跟定值,要与条件的结果判断,条件 的结果如果与case后的定值 相等就指定对应的语句体
break : 结束当前switch语句,防止case穿透
default : 相当于else,可以定义可以不定义
位置 可以定义 在switch语句 中的任意位置
*/
String flag = "紫灯";
switch(flag){
case "绿灯":
System.out.println("绿灯行..");
break;
case "红灯":
System.out.println("红灯停..");
break;
case "黄灯":
System.out.println("黄灯等一等..");
break;
default :
System.out.println("别捣乱..");
break;
}
/*
//case穿透
switch(flag){
case "绿灯":
System.out.println("绿灯行..");
case "红灯":
System.out.println("红灯停..");
case "黄灯":
System.out.println("黄灯等一等..");
break;
default :
System.out.println("别捣乱..");
}
*/
//测试char
char ch = 'a';
switch(ch){
case 'a':
System.out.println("aaa..");
break;
case 'b':
System.out.println("bbb..");
break;
}
//思考 :
boolean b = false;
//通过switch语句对b进行判断
int i = b?1:0;
switch(i){
case 0:
System.out.println("false..");
break;
case 1:
System.out.println("true..");
break;
}
switch(b+""){
case "false":
System.out.println("false..");
break;
case "true":
System.out.println("true..");
break;
}
//季节判断
int month = 3;
switch(month){
case 3:
case 4:
case 5:
System.out.println("春季..");
break;
case 6:
case 7:
case 8:
System.out.println("夏季..");
break;
case 12:
case 1:
case 2:
System.out.println("冬季..");
break;
}