Java基础知识(二)

流程控制——选择结构

1.流程控制结构
        在Java中有三中流程控制结构:顺序结构,选择结构,循环结构,
在这里插入图片描述

  • 顺序结构:顺序结构就是指程序从上往下依次执行每条语句的结构,中间没有任何的判断和跳转。
  • 选择结构:选择结构是根据条件判断的结果来选择执行不同的代码。选择结构可以是细分为单分支结构,双分支结构和多分支结构。Java提供了if控制语句,switch语句来实现选择结构。
  • 循环结构:循环结构是根据判断条件来重复地执行某段代码。Java提供了while语句,do-while语句,for语句来实现循环结构。jdk5.0新版本提供了增强for循环,可以以更简洁的方式来遍历数组和集合

选择结构
        Java提供了if控制语句,switch语句来实现选择结构

1.if控制语句

        if控制语句共有三种不同的形式,分别是单分支结构,双分支结构和多分支结构。
(1)使用if语句实现单分支处理
         if语句的格式是:

if(语句){
语句
}
  • if是关键字
  • 表达式是布尔类型的表达式,其结果为true和false

if语句的流程图是:
在这里插入图片描述
if语句的执行步骤如下:
      1)对表达式的结果进行判断
      2)如果表达式的结果为真,则执行该语句
      3)如果表达式的结果为假,则执跳过语句

示例:
   请实现成绩大于等于60分,则输出“成绩及格,通过考试。”
   步骤:
   		1)为保存成绩分变量score赋值
   		2)使用if语句判断成绩是否大于等于60,大于则输出“成绩及格,通过考试。”
   public static void main(String[] args){
     int score=70;
     if(score>=60){
     System.out.println("成绩及格,通过考试。");
			}
	}
	输出结果:
	成绩及格,通过考试。

(2)使用if-else语句实现双分支处理
        if-else语句的语法是:

if(表达式){
语句1
}else{
语句2
}

当表达式为真时,执行语句1;表达式为假时,执行else分支的语句2。
if-else语句的流程图:
在这里插入图片描述
if-else语句执行的步骤:
      1)对表达式的结果进行判断。
      2)如果表达式的结果为true,则执行语句1。
      3)如果表达式的结果为false,则执行语句2。

示例
	实现成绩大于等于60分,则输出“成绩及格。”;否则输出“成绩不及格。”。
	public static void main(String[] args){
		int score=50;
		if(score>=60){
		System.out.println(“成绩及格。”);
	}else{
	System.out.println(“成绩不及格。”);
	}
}
输出结果:
成绩不及格。

(3)使用多分支if语句实现多分支处理
        当有多个添加判断时,需要使用多分支if语句来解决。
        多分支语句的语法格式:

if(表达式1){
		语句1
	}else if(表达式2){
		语句2
	}else{
		语句3
}
其中else if语句可以有多个

多分支if语句的执行步骤如下:
      1)对表达式1的结果进行判断。
      2)如果表达式1的结果为true,则执行语句1,否则判断表达式2的值。
      3)如果表达式2的结果为true,则执行语句2,否则执行表达式3。
if 多分支流程图

在这里插入图片描述

示例:
	如果成绩大于等于90分且小于100分,输出“A级”,否则成绩大于等于80分,输出“B级”,否则成绩大于等于70分,输出“C级”,否则成绩大于等于60分,输出“D级”,低于60分,输出“E级”。
	public static void main(String[] args){
		int score=85;
		if(score>=90&&score<=100){
		System.out.println("A级);
		
		}else if(score>=80){
		System.out.println("B级");
		
		}else if(score>=70){
		System.out.println("C级");
		
		}else if(score>=60){
		System.out.println("D级");
		
		}else{
		System.out.println("E级");
		}
	}
	输出结果:
	B级

2.嵌套if的控制语句
        在if控制语句中又包含一个或多个if控制语句的称为嵌套if控制语句。嵌套if控制语句可以通过外层语句和内层语句的协作,来增强程序的灵活性。
        嵌套if控制语句的语法格式:

if(表达式1){
  if(表达式2){
  		语句1
   }else{
   语句2
   }
}else{
	if(表达式3){
	语句3
	}else{
	语句4
	}
}

嵌套if语句的流程图:
在这里插入图片描述
嵌套if控制语句的执行步骤:
      1)对表达式1的结果进行判断。
      2)如果表达式1的结果为true,再对表达式2的结果进行判断。如果表达式2的结果为true,则执行语句1;否则判断表达式2的值。
      3)如果表达式1的结果为false,对表达式3的结果进行判断。如果表达式3的结果为true,则执行语句3;否则判断表达式4的值。

示例:
	如果今天是周六或周日,则准备外出。如果气温在30°C以上,去游泳;否则就去爬山。
	如果今天不是周六或周日,就要工作。如果天气好,就去客户单位谈业务;否则在公司上网查资料。
代码:
public static void main(String[] args){
	int day=6;   		//今天周六
	int temp=31;	//温度
	String wweather="天气好";
	if(day=6||day=7){
		if(temp>30){
		System.out.println("游泳");
		}
		else{
		System.out.println("爬山");
		}
	}
	else{
		if(“天气好”.equals(weather)){
		System.out.println("去客户单位谈业务");
	}
	else{
		System.out.println("在公司上网查资料");
	}
}
}
输出结果:
游泳

3.switch语句
        Java还提供了switch语句,用于实现多分支选择结构。它和多分支if控制语句结构在某些情况下可以相互替换。
        switch语句的语法格式:

switch(表达式){
	case  常量 1:
	语句:
	break;
	case  常量 2:
	语句:
	break;
	.........
	default:
	语句:
	break;
}
注意:如果case后面没有break语句,程序继续执行下面的语句,直到遇到break语句或switch语句结束。
  1. switch、case、break、default是Java关键字。
  2. switch后面的表达式只能是整形,字符型和枚举类型。
  3. case用于与表达式进行匹配。
  4. break用于终止后续语句的执行。
  5. default是可选的,当其它条件都不匹配时执行default。

switch语句的执行步骤如下:

  1. 计算switch后表达式的值。
  2. 将计算的结果从上往下依次与case后的常量值比较。
  3. 如果相等就执行该常量后面的代码块,遇到break语句就结束。
  4. 如果与如何一个case后的常量值都不匹配,就执行default中的语句。
示例:
	如果成绩大于等于90分且小于100分,输出“A级”,否则成绩大于等于80分,输出“B级”,否则成绩大于等于70分,输出“C级”,否则成绩大于等于60分,输出“D级”,低于60分,输出“E级”。
	代码:
	public static void main(String[] args){
		int score=75;
		switch (score/10){
		case 10:
		case 9:
				System.out.println("A级");
				break;
					case 8:
				System.out.println("B级");
				break;
					case 7:
				System.out.println("C级");
				break;
					case 6:
				System.out.println("D级");
				break;
					default:
				System.out.println("E级");
				
		}
}
输出结果:
C级
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值