java教程分支_Java小白入门教程(5)——分支语句

原标题:Java小白入门教程(5)——分支语句

提纲:

1、程序的流程结构

2、选择结构

3、if语句

4、switch-case语句

5、作业

一、程序的流程结构

程序的流程结构

程序的流程结构:

A:顺序结构:默认的,从上向下,逐行的执行。

B:选择结构:条件满足,某些代码才会执行。

C:循环结构:条件满足,某些代码会反复多次的执行。直到条件不满足。

选择结构:条件满足,某些代码才会执行。靠分支语句来实现。

二、选择结构

2.1 if语句

2.1.1、最基本的if语句

语法结构:

if(条件:boolean){

//条件成立,执行此处的代码

}

执行流程:

79988057a13f1200ca96c7117f456e6a.png

示例代码:

public class Test1BaseIf

{

public static void main(String[] args)

{

/*

if语句的语法

if(条件:boolean){

//条件成立,执行此处的代码

}

if(true){

//才会执行

}

*/

//例1.判断一个成绩,如果是100,打印一句恭喜话

double score = 98.0;

if(score == 100.0){

//条件成立,执行此处的代码

System.out.println("恭喜你啊,满分,好厉害。。。");

}

//2.练习题1:给定一个年龄,如果大于18岁,打印出,你已经是个大人了,要对自己负责

int age = 24;

if(age >= 18){

System.out.println(age + "岁了,你已经是个大人了,要对自己负责");

}

System.out.println("main...over....");

}

}

2.1.2、if...else语句

语法格式:

if(条件:boolean){

//条件成立,执行此处的代码

}else{

//条件不成立,执行此处的代码

}

实现二者必选其一。

2a57d48ad7633f6962f231a6d987ae47.png

示例代码:

import java.util.Scanner;

public class Test2IfElse

{

public static void main(String[] args)

{

/*

if ... else的语法

if(条件表达式:boolean){

//条件成立,执行此处的代码

}else{

//条件不成立,执行此处的代码

}

*/

//例1:给定一个成绩,如果大于等于60分,打印及格, 否则打印不及格

int score = 66;

if(score >= 60){

//条件成立,执行此处的代码

System.out.println("及格啦。。");

}else{

//条件不成立,执行此处的代码

System.out.println("不及格了,呜呜。。");

}

//课堂练习1:判断成绩是否满分,如果满分,奖励一部手机,否则代码抄100遍。

if(score == 100){

System.out.println("满分啊,好厉害,奖励一部手机,啦啦啦。。");

}else{

System.out.println("考试没打100分,那么代码抄写100遍。。");

}

//课堂练习2:给定一个性别,如果是男,就去男厕所,否则去女厕所。。

/*

思路:

step1:有个性别这个变量

boolean true false

int 1 0

char 男 女

String 男生 女生

step2:ifelse语句来实现

判断条件:

在比较数值上:

基本类型:使用==这个运算符进行比较数值,是否相等

byte,short,int,long,float,double,char,boolean

引用类型:使用equals()来比较

String

*/

char sex = '猴';

if(sex == '男'){

System.out.println("你去男厕所吧。。");

}else{

System.out.println("去女厕所啊。。。");

}

/*

Scanner sc = new Scanner(System.in);

System.out.println("请输入你的性别:");

String sex2 = sc.next();//男生,null

if("男生".equals(sex2)){//String类型,比较是否相等,使用equals()。

System.out.println("你去男厕所吧。。");

}else{

System.out.println("去女厕所啊。。。");

}

*/

System.out.println("main 。。over。。。");

}

}

2.1.3、多个条件

语法规则:

if(条件1){

//条件1满足,执行此处的代码

}else if(条件2){

//条件1不满足,条件2满足,执行此处的代码

}else if(条件3){

//条件1、2都不满足,条件3满足,执行此处的代码。

}。。。

else{

}

流程图:

9cfac749d5f2cca3ce88ae241c68cb8a.png

示例代码:

public class Test3MultiIf

{

public static void main(String[] args)

{

/*

多个条件判断:

if(条件1){

//条件1满足,就执行此处的代码。执行完毕,整个if就结束了

}else if(条件2){

//条件1不满足,条件2满足,才会执行此处丶代码。

}else if(条件3){

//条件1不满足,条件2不满足,条件3满足,执行此处的代码。。

}。。

else{

//之前的条件都不成立,那么执行此处的代码。。

}

*/

//去厕所:是男,去男厕所,是女,去女厕所,否则去公共厕所。。

char sex = '猴';

if(sex == '男'){

System.out.println("性别是:" + sex + ",去男厕所。。。");

}else if(sex == '女'){

System.out.println("性别是:" + sex + ",去女厕所。。。");

}else{

System.out.println("我也不知道啦,你去公共厕所吧。。");

}

//练习1:给一个数字,正数,负数,零。

int num = 0;

if(num > 0){

System.out.println(num + ",是正数。。");

}else if(num < 0){

System.out.println(num + ",是负数。。");

}else {

System.out.println(num +",是零啊。。");

}

//练习2:

/*

给定一个成绩:

[0,59],不及格,买苹果

0 < socre

score < 59

[60,69],及格,奖励苹果皮儿

[70,79],中等,奖励个苹果

[80,89],良好,奖励苹果手机

[90,100],优秀,奖励个苹果本

*/

int score = 101;

if(score < 0 ){//[负数]

System.out.println("成绩不能为负数。。");

}else if( score < 60 ){//score >= 0 [0,59]

System.out.println("不及格,惩罚你给大家买苹果。。");

}else if( score < 70 ){//socre >=60 [60,69]

System.out.println("及格,奖励苹果皮儿");

}else if( score< 80){//score >= 70

System.out.println("中等,奖励一个大苹果");

}else if( score < 90){//score >= 80

System.out.println("良好,奖励苹果手机");

}else if( score <= 100){//score >=90

System.out.println("优秀,奖励个苹果本");

}else{

System.out.println("满分100,成绩有误。。");

}

//思路2

if(score <0 || score > 100){//负数,超过了100分。都是非法成绩

System.out.println("成绩有误");

}else if(score >= 90){

System.out.println("优秀,你是个秀儿。。");

}else if(score >= 80){

System.out.println("良好。。");

}else if(score >= 70){

System.out.println("中等。。");

}else if(score >= 60){

System.out.println("及格");

}else{

System.out.println("不及格");

}

System.out.println("Hello World!");

}

}

2.1.4、if语句的嵌套

语法结构

if(外层条件){

if(内层条件){

}else{

}

}else{

}

示例代码:

class Test4If

{

public static void main(String[] args)

{

/*

if(条件1){

if(条件2){

//..

}else{

//...

代码块2;

}

}else{

}

*/

/*

给定一个年龄和性别,判断是否可以结婚。

男:不能小于22周岁

女:不能小于20周岁

*/

char sex = '女';

int age = 18;

if(sex == '男'){

//此处判断男生是否可以结婚。。

if(age >= 22){

System.out.println("可以娶媳妇啦。。。好开心。。");

}else{

System.out.println("还小呢,再等等。。");

}

}else if(sex == '女'){

//此处判断女生是否可以结婚。。

if(age >= 20){

System.out.println("可以找婆家了。。");

}else{

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

}

}else{

System.out.println("搞不清楚性别,不能结婚。。");

}

System.out.println("Hello World!");

int num = 10;

if(num > 0){

System.out.println(num + ",是正数");

}

// System.out.println("我也是条件满足,才能输出的。。");

}

}

说明:如果说if语句里只有一行代码,那么{}可以省略不写。但是不建议。

2.2 switch-case语句

switch也是实现分支语句。语法结构如下:

switch(变量/表达式){

case 数值1:分支1;break;

case 数值2:分支2;break;

case 数值3:分支3;break;

default:最后一个分支;

}

注意点:

1、case后的数值,不能重复。

2、case是无序的,先写后写都可以,关键是是否能够匹配上switch作用的变量。

3、switch作用的变量类型:short,byte,char,int,String。

4、default语句是可选的。

5、某个case匹配上后,如果该分支中没有break,那么后续的case都不再匹配,直接执行。一直到遇到break位置。

示例代码:

public class Test1Switch

{

public static void main(String[] args)

{

/*

switch语句:

语法结构:

switch(变量/表达式){//byte,short,char,int,String

case 数值1:分支1;

case 数值2:分支2;

case 数值3:分支3;

default:最后一个分支

}

用switch作用的变量,根下面的case后数值,依次的比较数值是否一样。

如果某个case后的数值和变量的值相同,那么就执行这个case后的分支内容。

如果所有的case后的数值,都没有匹配上,那么可以执行default里的内容。

如果有break,代表强制结束这个switch

如果没有break,那么后续的case都会不再匹配,全部执行。这个现象叫做swtich的穿透。

*/

/*

判断一周的食谱

每天吃啥

周一:麻辣烫

周二:狮子头

周三:红烧肉

周四:热干面

周五:火锅

周六:麻辣香锅

周日:方便面

*/

int weekDay = 5;

/*

switch(weekDay){//int :short,byte,char,jdk.17,String

case 6:

System.out.println("周六:吃麻辣香锅。。");

break;

case 7:

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;

default:

System.out.println("输入有误,没饭吃。。");

break;

}

*/

weekDay = 1;

switch(weekDay){

case 1:

case 3:

case 5:

System.out.println("吃方便面。。");

break;

case 2:

case 4:

case 6:

System.out.println("喝粥。。");

break;

}

System.out.println("main over。。");

}

}

课堂练习:

import java.util.Scanner;

public class Test2Switch

{

public static void main(String[] args)

{

Scanner sc = new Scanner(System.in);

//使用switch实现简易计算器:+,-,*,/

System.out.println("请输入一个整数:");

int num1 = sc.nextInt();

System.out.println("请再次输入一个整数:");

int num2 = sc.nextInt();

System.out.println("请输入一个操作:(+,-,*,/)");

//char oper = '*';

String oper = sc.next();//"","+","abc"

switch(oper){ //+,-,*,/

case "+":

System.out.println("求和:" + (num1 + num2));

break;

case "-":

System.out.println("减法:" + (num1 - num2));

break;

case "*":

System.out.println("乘法:" + (num1 * num2));

break;

case "/":

if(num2 == 0){

System.out.println("除数不能为零");

}else{

System.out.println("除法:" + (num1 / num2));

}

break;

default:

System.out.println("无法计算。。");

}

System.out.println("程序结束。。");

}

}

四、作业

1、if语句作业

读入一个整数,表示一个人的年龄。

如果小于6岁,则输出"儿童",

6岁到12岁,输出"少儿",

14岁到17岁,输出"青少年",

18岁到35岁,输出"青年",

36岁到40岁,输出"中年",

50岁以上,则输出"中老年"。

2、if语句作业

读入一个表示年份的整数,判断这一年是否是闰年。

如何判断一个年份是否是闰年:

A:如果这个年份能够被4整除,且不能被100整除,则这一年时闰年。例如:1996年是闰年,而1993年就不是闰年

B:如果这个年份能够被400整除,也表示这一年时闰年。例如:200年时闰年,1900年不是闰年。

3、switch语句作业

读入一个整数,如果是1~5之间,则分别输入5个福娃的名字,否则输出"北京欢迎你"。

“贝贝”、“晶晶”、“欢欢”、“迎迎”和“妮妮”

4、使用boolean类型,定义一个性别。true表示男,false表示女。

判断性别如果是true,表示男。就输出“是男人就。。。。。。”

5、模拟登录,键盘上输入用户名和密码,如果用户名是admin密码是123,或者用户名是zhangsan密码是zhangsan123返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值