java基础起步三-流程控制语句中的条件语句

本节课我们学习java基础部分的流程控制语句,流程控制语句方为三种结构: 顺序结构,任何程序的执行都是自上而下,从左到右的执行。
本节课的重点是分支结构,if语句的使用

循环语句我们下一节课在学习,但循环结构作为流程控制语句的一种,把他列在了这里。

首先我们来看流程控制语句的三种表现形式:

流程控制语句结构:

1. 顺序结构

,自左向右,从上到下,顺序执行,这是任何语言执行的特性

2. 分支结构

根据选择不同,执行不同的代码。if…else和switch…case (这是本节课的重点,需要主要的是,所有能用switch …case的地方一定能够使用if … else. 反之不一定成立。)

3. 循环结构

根据条件循环重复执行某段代码。for(普通for和增强for)、while和do…while三种

本节将用到 核心库中的类: String,System,Math,Scanner等
注:
如果这个类型定义在java.lang包下,那么直接使用,无需导包,直接使用简名称
但是如果这个类型定义在其他包下,那么需要写全名称或导包
全名称:java.util.Scanner

分支结构语法:

1. 单分支结构;

if(条件表达式){
//当条件表达式结果为true时,需要执行的语句块
}

2. 双分支结构

if(条件表达式){
//当条件表达式结果为true时,需要执行的语句块1
}else{
//当条件表达式结果为false时,需要执行的语句块2
}

3. 多分支条件语句:

if(条件表达式1){
//当条件表达式1结果为true时,需要执行的复合语句1
}else if(条件表达式2){
//当条件表达式2结果为true时,需要执行的复合语句2
}

else{
//当上述条件表达式结果都为false时,需要执行的语句
}
注: 最后的else不是必须的,可以缺省

选择结构

语法:
switch(表达式){
case 常量值1//执行语句块1
[break;]
case 常量值2//执行语句块2
[break;]
    ......
case 常量值n:
//执行语句块n
[break;]
default//执行缺省语句
[break;]

}
注意:

(1)表达式返回的结果类型只能是byte,short,char,int,枚举(JDK1.5之后),String(JDK1.7之后)
(2)表达式返回的结果的类型需要与case后的值的类型保持一致
(3)case后面只能跟常量值,不能是变量值或不确定的表达式值
(4)同一个switch语句,case的常量值必须互不相同
(5)break是可选的,当表达式返回结果与某个case后的值进行匹配成功后,执行相应分支的语句,一旦进入某个分支后,只有直到遇到break才会退出switch,否则将会继续执行下一个case的语句。
(6)default是可选的。位置也不一定是最后,也可以在任意case的位置。但是不管再哪里,都是要所有case的常量值不匹配后才会进入default分支,一旦进入

输入输出案例

class Order{
	public static void main(String[] args){
	
		//java.util.Scanner是一个扫描仪类型,是引用数据类型,首字母大写
		//System.in指定了数据的来源是表示的输入设备,默认代表键盘输入
		// input是一个变量
		java.util.Scanner input = new java.util.Scanner(System.in);
		System.out.println("请输入你的年龄: ");
		int age = input.nextInt();  //从扫描仪中获取一个int的值,赋值给age这个变量
		
		
		System.out.println("请输入你的姓名: ");
		String name  = input.next();
		System.out.println("请输入你的体重: ");
		double weight = input.nextDouble();
		System.out.println("请输入你的性别");
		//因为单个char用的太少,Scanner中没有提供char的方法,所以
		//我们先按字符串接收,在截取第一个字符
		char gender = input.next().charAt(0);
		System.out.println("我的姓名是"+name+",我的年龄是"+age+",我的性别是"+gender+",我的体重是"+weight);
	
	}

}

练习题

  1. 判断年份是否为闰年(单分支语句)
// 判断年年份是否为闰年
//闰年的条件 1) 被4整除不能被100整除或被400整除


class Test03_If{

	public static void main(String[] args){
	
	java.util.Scanner input = new java.util.Scanner(System.in);
	System.out.println("请输入年份:" );
	int year = input.nextInt();
	int days = 28;//平年
	//如果是闰年
	if(year % 4 == 0 && year%100 != 0 || year % 400 ==0){
	
	  days = 29;
	}
	
	System.out.println(year + "的2月份总天数有: "+days );
	}
}
  1. 判断一个数字是奇数还是偶数(双分支语句)
class Odd_Even_number{
	
	public static void main(String[] args){
		
		//从键盘输入一个整数,判断是偶数还是奇数
		
		java.util.Scanner input = new java.util.Scanner(System.in);
		System.out.println("请输入一个整数:" );
		int num = input.nextInt();
		//判断 双分支条件语句
		if(num%2 == 0){
			
			System.out.println(num +"是个偶数");
		}else{
			
			System.out.println(num + "是个奇数");		
		}	
		
	}
}
  1. 多条件语句
    岳云鹏参加Java考试,他和父亲岳不群达成承诺:如果:
    成绩为100分时,奖励一辆BMW;
    成绩为(80,99]时,奖励一台iphone7plus;
    当成绩为[60,80]时,奖励一个 iPad;
    其它时,什么奖励也没有。
    请从键盘输入岳小鹏的期末成绩,并加以判断

部分学员的方案:

public class Prizes{
	public static void main(String[] args){
	
	java.util.Scanner input = new java.util.Scanner(System.in);
	System.out.println("请输入你这次的考试成绩: ");
	int score = input.nextInt();
	if(score == 100){
	
		System.out.println("奖励一辆BMW");
	
	}else if(score>80 && score <= 99){
		System.out.println("奖励一个iphone 7plus");
	
	}else if(score>=60 && score<=80){
		System.out.println("奖励一个iPad");
	}else{
		System.out.println("考成这样还想要奖品");
	
	}

	}

}

其他学员的方案:

public class Prizes{
	public static void main(String[] args){
	
	java.util.Scanner input = new java.util.Scanner(System.in);
	System.out.println("请输入你这次的考试成绩: ");
	int score = input.nextInt();
	if(score == 100){
	
		System.out.println("奖励一辆BMW");
	
	}else if(score>80 ){
		System.out.println("奖励一个iphone 7plus");
	
	}else if(score>=60 ){
		System.out.println("奖励一个iPad");
	}else{
		System.out.println("考成这样还想要奖品");
	
	}

	}

}

注: 如果只为了完成题目且成绩必须是【0-100】,两个方案都可以,如果成绩大于100,会方案一会汇入到score<60分的分支中去, 方案二会汇入sorce>80的分支中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

互联网老辛

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值