首页 > 编程语言 >java基础起步三-流程控制语句中的条件语句

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

时间:2023-04-06 18:40:23浏览次数:35  
标签:语句 起步 java System println input out


文章目录

  • 流程控制语句结构:
  • 1. 顺序结构
  • 2. 分支结构
  • 3. 循环结构
  • 分支结构语法:
  • 1. 单分支结构;
  • 2. 双分支结构
  • 3. 多分支条件语句:
  • 选择结构
  • 语法:
  • 注意:
  • 输入输出案例
  • 练习题

本节课我们学习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的分支中


标签:语句,起步,java,System,println,input,out
From: https://blog.51cto.com/zmedu/6174010

相关文章

  • 【Python从零到壹】Python条件语句详解
    欢迎大家来到互联网老辛的专栏《Python从零到壹》,在这里我将分享约300篇Python系列文章,所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家,希望对您有所帮助,文章中不足之处也请海涵。从事教学工作以来,越来越觉得时间的宝贵,每届学生都要讲重复的课,......
  • java 开发手册(零散)
    tomcat-5.5\conf\server.xml 配置端口TOMCAT需要重启 不同版本的MyEclipse7.0的安装路径是不同的里面的文件夹内容结构也不一样导致我tomcat插件在8.5中怎么搞都出不来--------------------MyEclipse8.5---------------------------------------------C:\ProgramFiles\Genu......
  • JavaScript ES6中class的用法
    实例代码如下classPerson{constructor(name){if(!arguments.length){console.log("我是个人")}else{console.log(`我是${name}`)}}......
  • 判断Java类的所有属性是否都为null
    为了判断Java类的所有属性是否都为null,你可以编写一个方法来检查每个属性是否为null。以下是一个示例实现:publicstaticbooleanallFieldsNull(Objectobj)throwsIllegalAccessException{for(Fieldfield:obj.getClass().getDeclaredFields()){field.setAc......
  • 肖sir__java_知识点1
    (一)java基础1、JDK>JRE>JVMJDK:英文名称(JavaDevelopmentKit),Java开发工具包。jdk是整个Java开发的核心,它集成了jre和一些好用的小工具。例如:javac.exe,java.exe,jar.exe等。JRE:英文名称(JavaRuntimeEnv1ronmeni,仅1们"的m此其运行时环境。它主要包含两个部分,3vmB.q分的......
  • SQL语句的其他关键字
    目录数据准备编写SQL语句小技巧查询关键字之where筛选查询关键字之groupby分组查询关键字之having过滤查询关键字之distinct去重查询关键字之orderby排序查询关键字之limit分页查询关键字之regexp正则表达式多表查询的思路数据准备#数据准备createtableemp(idintpri......
  • java--类加载机制
    java--类加载机制概述Java是运行在Java的虚拟机(JVM)中的,但是它是如何运行在JVM中了呢?我们在IDE中编写的Java源代码被编译器编译成.class的字节码文件。然后由ClassLoader负责将这些class文件给加载到JVM中去执行。Java从编码到执行大概流程如图:类加载流程当一个类收到了类......
  • javascript实现代码高亮
    9款有用的Javascript代码高亮脚本 语法突出显示非常重要,尤其是当我们想在博客上展示我们的代码示例时。通过在博客上启用语法突出显示,读者可以更轻松地阅读代码块。 我们周围有很多免费且有用的语法突出显示脚本。大多数脚本都是使用Javascript编写的,尽管其中一些脚本由其他编程......
  • Linux下安装Java
    1检查当前系统中是否已安装JDK查看Java版本:java-version检测系统JDK默认安装包:rpm-aq|grepjava2、卸载OpenJDK,若未检测出jdk则跳过yumremove*openjdk*3安装JDK3.1选择到jdk官网上下载你想要的jdk版本。下载地址:https://www.oracle.com/java/technologies/do......
  • 干掉复杂的工具类,国产Java工具类库 Hutool 很香!
    Hutool大家已经比较熟悉了,这是一个超全的Java工具库,深受国内开发者的喜爱。我之前其实是不太喜欢使用这种功能太多的工具类的,也比较担心稳定性和安全性,后面慢慢接受了就感觉其实也还好。而且,我们还可以按需只引入自己需要的功能模块,相对也比较灵活。Hutool的官方文档介绍的......