JAVA有几种条件分支_#java系列课程#条件分支语句

分支语句

分支语句有两种:

if分支

switch分支

今天看if分支

if有三种形式

Java条件语句之 if

我们在生活中也常常会做出判断和选择。比如,如果我们的成绩大于90,则保研。这种先判断后决定就要用if语句来实现。计算机也一样,和我们的思考过程是一样的,不会直接就做出决断了。

表达式:

if(boolean expression){

statement or block;

}

Java条件语句之 if...else

if...else 语句的操作比 if 语句多了一步:  当条件成立时,则执行 if 部分的代码块; 条件不成立时,则进入 else 部分。例如,如果考试成绩大于 90 分,则保研,否则扣除奖学金资格。

表达式:

if(boolean expression){

statement or block;

}else{

statement or block;

}

Java条件语句之多重 if

多重 if 语句,在条件 1 不满足的情况下,才会进行条件 2 的判断;当前面的条件均不成立时,才会执行 else 块内的代码。例如,如果考试成绩大于 90 分,则保研 ,如果成绩介于 60 分至 90 分之间,则取消奖学金资格,否则补考。

if(boolean expression){

statement or block;

}else if(boolean expression){

statement or block;

}else if(boolean expression){

statement or block;

}else if(boolean expression){

statement or block;

}

来看这段代码

public class Niukewang{

public static void main(String [] args){

int i;

i=11;

if(i<30){

System.out.println("太小");

}

if(i==30){

System.out.println("正好");

}

if(i>30){

System.out.println("太大");

}

}

}

结果肯定为太小

就是一个和我们大脑正常思考问题时候所想的问题是一样的,因为计算机一看符合小于50,那么自然就是执行这条所以为太小

再来看一个例子

public class Niukewang{

public static void main(String [] args){

int age=44;

if(age>20){

System.out.println("青年人");

}else if(age>40){

System.out.println("中年人");

}else if(age>60){

System.out.println("老年人");

}

}

}

这是一个非常经典的例子!结果应该为多少呢?当然这个是错误的,那么错在哪里呢?

因为第一个和第二个的条件是重合的,把第三个否了,并不是前两个,所以肯定不对!那么正确的话应该怎么写呢

public class Niukewang{

public static void main(String [] args){

int age=44;

if(age>60){

System.out.println("老年人");

}else if(age>40){

System.out.println("中年人");

}else if(age>20){

System.out.println("青年人");

}

}

}

还有别的写法,如:

public class Niukewang{

public static void main(String [] args){

int age=44;

if(age>20&&age<40){//这里不能按照数学那么写20

System.out.println("青年人");

}else if(age>40&&age<60){

System.out.println("中年人");

}else {

System.out.println("老年人");

}

}

}

也就是说实在不会就要写的清楚些。

if else里面的意思是把前面全部否定了,这里要注意,不要出现这种分不清的情况!

练习:用if else写出判断闰年

switch分支语句

switch语句是一种不需要求布尔值的分支语句,语句的格式为:

switch(expression1){

case 1:{

//else if

statements;

break;

}

case 2:{//else if

statements;

break;

}

......

default://else

statements;

break;

每个case都进行判断,也就是说把每一种情况都写出来了。

public class Niukewang{

public static void main(String [] args){

int month=1;

switch(month){

case 1:{

System.out.println("冬天");

break;

}

case 1:{

System.out.println("冬天");

break;

}

case 2:{

System.out.println("冬天");

break;

}

case 3:{

System.out.println("春天");

break;

}

case 4:{

System.out.println("春天");

break;

}

case 5:{

System.out.println("春天");

break;

}

case 6:{

System.out.println("夏天");

break;

}

case 7:{

System.out.println("夏天");

break;

}

case 8:{

System.out.println("夏天");

break;

}

case 9:{

System.out.println("秋天");

break;

}

case 10:{

System.out.println("秋天");

break;

}

case 11:{

System.out.println("秋天");

break;

}

case 12:{

System.out.println("冬天");

break;

}

default:

System.out.println("输入有误");

}

}

使用switch语句需要注意哪些呢?

default语句不是非必要写的,接受除了接受值得其他值,更通俗的说就是说上面谁也不属于的就属于他,相当于我们平常归类中的其他

case后面可以跟多个语句,这些语句可以不用大括号括起来。

在JDK1.6版本之前,switch语句判断条件可接受int,byte,char,short型,不可接受其他类型。

一旦碰到第一次case匹配,就会开始顺序执行以后所有的程序代码,而不管后面的case条件是否匹配,后面case条件下的代码都会被执行,知道碰到break语句为止。我们可以利用这个特点来用同一段语句处理多个case条件。

所以说假如把break去掉的话,比如去掉case1中的break去掉的话,那么冬天就只输出两个了。

那么也就是说可以利用这个特性,上面的不用这么麻烦的都写,如果数量特别多,难道还能都写么~太笨重了

可以把相似的语句弄到一块,这样四条语句就可以了。

public class Niukewang{

public static void main(String [] args){

int month=1;

switch(month){

case 1:{

System.out.println("冬天");

break;

}

case 1:

case 2:

case 12:{

System.out.println("冬天");

break;

}

case 3:

case 4:

case 5:{

System.out.println("春天");

break;

}

case 6:

case 7:

case 8:{

System.out.println("夏天");

break;

}

case 9:

case 10:

case 11:{

System.out.println("秋天");

break;

}

default:

System.out.println("输入有误");

}

}

这样就容易的多,不用写那么多复杂的语句了。

练习:你考试的成绩是按照分数来划分的,现在想按照等级来划分,1-100分满,0-20是1,21-40是2,41-60是3,61-80是4,81-100是5,所以写出一个switch语句来判断一下输入一个分数段,判断出来是属于哪个阶段

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值