条件控制语句介绍及注意

流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能***完成一定功能***的小逻辑模块。

程序的执行有三种执行顺序分别是:顺序执行、选择执行、循环执行

如下图所示:
在这里插入图片描述

顺序结构

就是代码自上而下,依次执行,中间没有分支。

今天我们重点来介绍一下分支结构,也就是我们平时说的条件语句;

选择结构有4种类型

  1. 单分支结构 if……语句

在这里插入图片描述

单分支结构的基本语法如下:

if(条件){

​ 条件为true时所执行的代码块;

}

说明:如果条件为true,则执行代码块,否则就不进入。

**注意:**if单分支语句{}可以省略,如果省略,则if语句只执行一句

  • 建议:就算if语句只有一句,也要把{}写上,更加直观清晰,简单明了

  • 设计原则:代码尽量对扩展开放,对修改关闭

下图是根据键盘录入年龄,判断年龄范围的代码:

import java.util.Scanner;

public class Test2 {
	
	/*   
	 *   需求:键盘录入年龄,判断年龄范围
	 *   年龄<18 输出一句话 :未成年
	 *   年龄>=18 年龄<=30  输出一句话 :青壮年
	 *   年龄>35    年龄 <=60  输出一句话 :中年
	 *   年龄>60 输出一句话 :老年
	 */
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		System.out.println("键盘录入年龄,判断年龄范围");
		int age = sc.nextInt();//接收录入的年龄
		if(age<18){
			System.out.println("未成年");
		}
		if(age>=18 && age<=35){
			System.out.println("青壮年");
		}
		if(age>35 && age<=60){
			System.out.println("中年");
		}
		if(age>60){
			System.out.println("老年");
		}
	}
}
  1. 双分支结构 if……else……语句
    在这里插入图片描述
    if……else……双分支结构的基本语法如下:

if(条件){

​ 条件为true时,执行的代码块;

}else{

​ 条件为false时,执行的代码块;

}

下面是用双分支结构写的代码:

import java.util.Scanner;
public class Test5 {
	
	/*
	 * 需求:求闰年
	 * 四年一闰并且百年不闰  或者  四百年再闰。 
	 */
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("输入年份:");
		int year = sc.nextInt();
		if((year%4==0 && year%100!=0) || year%400==0){
			System.out.println(year+"是闰年");
		}else{
			System.out.println(year+"不是闰年");
		}
	}
}

注意:if和else都可以不用加{},但是都只能对其中一句语句起作用, 实际开发最好把{}加上

  • if……else if……else……多分支结构语句
    在这里插入图片描述
    if(条件1){

    ​ 满足条件1,则执行代码块1;

    }else if(条件2){

    ​ 满足条件2,则执行代码块2;

    }else if(条件3){

    ​ 满足条件3,则执行代码块3;

    }

    ……

    else{

    ​ 以上条件都为false,执行代码块n;

    }

  • switch……case……default……多分支结构语句

    switch()

    case 1 : 代码体; break;

    case 2 : 代码体; break;

    case 3 : 代码体; break;

    …………

    default

    ​ 代码体;

    ​ break;
    在switch……case……default……多分支结构语句,一下细节要注意

  • 细节1:switch中类型和case后面的类型要一致

  • 细节2:case后面的常量不能重复

  • 细节3:case后面记着跟break,break:终止,中断,跳出switch结构,后面的代码不用执行

  • 细节4:case后面如果没有跟break,那么代码会依次向下,直到碰到break,才会停止,否则一直执行下去,到switch结束

  • 细节5:尽量把你认为是正确的case写在最前面,提高效率

  • 细节6:如果将default放在中间,代码会依次执行
    如果default放在最前面,不会执行default
    将default放在代码最后面,做最坏的打算

    注意:
    1 . 当字符串做相等比较的时候,不能使用==,==通常用于比较基本数据类型使用一个方法:equals(),如:“男”.equals(sex);
    2 . System.out.printf("%.2f",a); 表示对浮点数a保留小数点后两位小数,并打印输出
    3 . Math.random()是生成[0,1)之间的任意随机小数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值