? 什么是if选择结构?
if选择结构是根据条件判断之后再做处理
语法:
if ( 条件 ) {//结果必须是布尔值从而判断真和假,结果为“真” 执行if下的代码快,结果为“假”不执行if结构下的代码块
//代码块
}
? 逻辑运算符
运算符 表达式 说 明
&& 条件1 && 条件2 仅仅两个条件同时为真,结果为真
|| 条件1 || 条件2 只要两个条件有一个为真,结果为真
! ! 条件 条件为真时,结果为假
条件为假时,结果为真
三,产生随机数(0~9)的方法如下:
int random=(int)(Math.random()*10);
//括号之内的int代表让此数强制转换为整数类型
//*10为取随机数字的范围为0-9;
//注意:能取到0取不到10
Random random=new Random();
int ran=random.nextInt(899)+100;
四,Java中的if选择结构,除了第一种形式以外,还包括以下形式
if-else选择结构:可以处理简单的条件分支情况
例:张三考试考了10分,假如60分合格,判断的条件为假,那么就执行else内的代码块
语法:
if ( 条件 ) {
//代码块1
}else {
//代码块2
}
多重if选择结构:可以处理分段的条件分支情况
遇到区间性判断,单个if结构解决不了判断的时候,多个if选择结构很麻烦的时候使用多重if结构
例如:对学员的结业考试成绩评测
成绩>=80 :良好
成绩>=60 :中等
成绩<60 :差
这时候需要使用3个判断if
语法:
if ( 成绩>=80) {
//代码块1
} else if (成绩>=60) {
//代码块2
} else {
//代码块3
}
注意:
多重if选择结构的判断顺序很重要,假如:当前一个if条件满足的情况下,是不会在执行下一条if的,同学们以后在选择使用多重if选择结构的时候,要控制好执行顺序
嵌套if选择结构:可以处理复杂的条件分支情况
当遇到一个判断结果仍需进行再次判断才能处理的时候使用嵌套if结构,它可以处理复杂的判断条件
例如:张三考上了大学,但是根据他的实际分,他能去清华大学,还是北京大学。
语法:
if(条件1) {//是否考上了大学
if(条件2) { //是否能上北京大学
代码块1
} else { //否则清华大学
代码块2
}
} else {//没考上大学
代码块3
}
第四章
switch选择结构的回顾
一.switch选择结构
语法:
switch (表达式) {
case 常量 1:
语句;
break;
case 常量 2:
语句;
break;
…
default:
语句;
break;
}
特点:
1,比多重if选择条件更加简洁,减少代码量
2,条件为等值判断
3,条件式内的判断只能是char和int 类型
4,default块顺序可以变动,但要注意其执行顺序。
通常,default块放在末尾,也可以省略
二.与多重if选择结构的比较
相同点:
都是用来处理多分支条件的结构
不同点:
switch选择结构
只能处理等值条件判断的情况,而且条件必须是整型变量或字符型变量
多重if选择结构
没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况
三.注意!
Break语句的使用:
如果不在每个案例下面使用break,那么它会一直执行下去,直到遇到break为止
所以,记得在每个case的最后加上break
在使用if{}选择结构时,如果只有花括号内之中只有一条语句,可以省略花括号
四.判断用户输入的字符是否合法
If(input.hasNextInt()==true){
}else{
}
通过判断是否合法来增加程序的健壮性
选择结构的实际使用
案例1
if选择结构的使用:
//张三要考大学,假如500分为考上大学
int score=600;
if (score>500) {//条件内判断score是否大于500
System.out.println("恭喜考上大学");
} }
案例2
if-else选择结构的使用:
//张三要考大学,假如500分为考上大学
int score=400;
if (score>500) {//条件内判断score是否大于500
System.out.println("恭喜考上大学");
}else {//当结果为假的时候执行else下的代码
System.out.println("没考上");
}
案例3
多重if选择结构的使用:
//张三要考大学,假如500分为考上大学
//大于400分为大专
//否则去工地干活
int score=300;
if (score>500) {//条件内判断score是否大于500
System.out.println("恭喜考上大学");
}elseif(score>400){//大于400分为大专
System.out.println("去上大专");
}else {
System.out.println("去工地干活");
}
案例4
嵌套if选择结构的使用:
//张三要考大学,假如500分为考上大学,没考上去工地干活
//大于550去上清华大学
//否则去复旦大学
int score=560;
if (score>500) {//条件内判断score是否大于500
if (score>550) {
System.out.println("去清华大学");
}else {
System.out.println("去复旦大学");
}
}else {
System.out.println("去工地干活");
}
案例嵌套if选择结构的使用:
//张三要考大学,假如500分为考上人大,
//考上600分去上清华大学
//考上700分免费就读哈佛
//没考上去工地干活
int score=600;
int bl=score/100;//取整得到的数字就是这个分数范围
switch (bl) {
case 7:
System.out.println("免费就读哈佛");
break;
case 6:
System.out.println("上清华大学");
break;
case 5:
System.out.println("上人大");
break;
default://其他数字为作弊或者没考上大学
System.out.println("去工地干活,赚大钱");
break;
}
If选择结构的回顾