java中if分支语句_Java中的if,switch分支语句 Java学习之路(5)

在讲解分支语句前,我们先来了解一个概念——块(block),块(复合语句)指的是由一对大括号{}括起来的若干条简单的java语句。例如,public class Tset5{...}大括号里面包含的就是块了,块可以嵌套,例如

public class Test5{

public static void main{

Java中可以分为if语句和switch语句两种分支语句,下面我们逐一介绍。

if语句

if语句的执行结构是先根据条件判断再执行

例如一个简单的if语句:

if (布尔表达式){

执行语句1;

}else{

执行语句2;

}

可以这样简单理解,if就是如果的意思,else(否则),if(假设条件成立,即值为true)则执行语句1,否则执行语句2。

布尔表达式(Boolean expression)是一段代码声明,它最终只有true(真)和false(假)两个取值。最简单的布尔表达式是等式(equality),这种布尔表达式用来测试一个值是否与另一个值相同。

下面我们用一个程序来举例子2621de1cdcb4ebbae2d2acbb57b172eb.png

1e83f761890abb724596f6a4cb2e3c18.png例如,我输入的是9

e1c872985731902fc20afae4f5067254.png

嗯,就是这样,学会了吗?,这里讲一下我们是如何实现输入数据的。

还记的前面,我们用过的System.out.println吗?("."符号是用来调用方法的),这个方法是用来打印输出到“标准输出流”(即控制台窗口),那我们该如何读取“标准输入流”System.in呢?

首先import java.util.Scanner;表示导入java.util包里的Scanner类。import也就是输入的意思。

需要注意的是:import 只能导入包所包含的类,而不能导入包。为了方便,我们基本不导入单独的类,而是导入包下所有的类,例如 import java.util.*;

补充:Java中的一个包就是一个类库单元,包内包含有一组类,它们在单一的名称空间之下被组织在了一起。这个名称空间就是包名。

要想通过控制台进行输入,需要构造一个Scanner对象。这就是我们为什么先要导入Scanner类。然后,让它和System.in关联。就是下面这段代码:

Scanner input = new Scanner(System.in);

这段代码的意思是用scanner这个类创建一个名叫input的对象,System.in可以看做一个参数,这个参数是控制台输入内容。

对象(input)有许多的方法如:

input.next();指的是控制台输入的文字内容。会自动消去有效字符前的空格,只返回输入的字符,不能得到带空格的字符串。

nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。

(      简单点说,next只要字,nextLine:我全都要!)

调用nextInt则可以读取一个整数,类似的调用nextDouble则可以读取一个浮点数

int a = input.nextInt;将接收到的参数赋值给声明的一个变量a。

学会了吗?,让我们来做个练习,输入一个年份,判断是不是闰年。(闰年:公元年分除以4可整除但除以100不可整除或公元年分除以400可整除,为闰年)

先做,然后看下面的讲解5ca5f088d4f5648cb6aa0b03a5473418.png

2fa31e40d42f645d087118554a5ce7c8.png这是我实现这个功能的代码,但是我看了一下,有位小伙伴的代码更简便

f9fb510ce94aada66c425fe72fe689ce.png

有些同学可能对怎么表示整除有疑问,来让看看可以怎么表示。例如代码

a%4==0,即a除以4取余,如果是整数余数为0,==0,判断是否为0,为0就是true。

然后闰年要满足a被4整除并且a不能被100整除,所以用

a%4==0 && a%100!=0来表示;(&&两边都为true才是true)

然后a被400整除也可以,然后就用||(||两边只要一方为true就是true)

最后就是这个样子啦

(a%4==0 && a%100!=0)|| a%400==0

5ca5f088d4f5648cb6aa0b03a5473418.png

if嵌套语句

简单的说,就是套娃,当第一个条件符合则执行第一个执行语句,若不符合,则一直向下,直到找到条件符合的执行。

例如:

if (布尔表达式1){

执行语句1;

}else if(布尔表达式2){

执行语句2;

}else if(布尔表达式3){

执行语句3;

}else if(布尔表达式4){

执行语句4;

}else{

执行语句5;

}

类似这样,若布尔表达式1的值为true则运行执行语句1,程序结束;若为false,则判断布尔表达式2的值是否为true,若为true则执行语句2,程序结束;以此类推

来练习一下吧

设计一个程序,来做出一个选择分支,例如今天去哪啊。1.召唤师峡谷。2.魔兽世界。

假如去了召唤师峡谷,你要去哪个区呢?1.艾欧尼亚2.巨神坑3.

由于技术原因,我们目前学到的,只能通过让用户输入1或者2来决定选项了2333。60af952772ad36311ed13297dbef6b15.png

27da8d2088f0c20564193713ad20d6cc.png

5a6248719eab539b6cda4d7ca48f5a7b.png

Switch分支语句

switch的语法格式如下:

switch(表达式){

case 取值1: 执行语句1

break;

case 取值2 : 执行语句  2

break;

case n:执行语句n //只要你想写多少个case都行

default : 执行语句

break;

}

switch case 语句有如下规则:

1.switch 语句中的变量类型必须是 byte、short、int 或者 char这几种其中一种,并且是确定的值。从 Java SE 7 开始,支持字符串 String 类型,同时 case 标签必须为字符串常量或字面量。

2.switch 语句可以拥有多个 case 语句。

3.case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量,且所有case字句的取值应是不同的。

4.当变量的值与 case 语句的值相等时,那么case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。

5.当遇到 break 语句时,switch 语句终止。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句,或者执行到switch语句的结束处为止。建议每一条都写break哦,不然容易出bug。

6.如果没有匹配的case语句则执行default语句,default子句是可选的,一般写在最后。

7.case后面的执行体可写{},也可以不写,例如case 取值:{}

我们用例子说明:be4710ed33a62218b476b631c49c5b69.png

最后,其实case里面也可以用if来套娃的2333,比如去学校,再来一个选择先去教室,还是先去宿舍。

好的感谢阅读,今天的内容就到这里。感谢阅读(/▽\)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值