8. 流程控制语句(一)

举报
数据分析与统计学之美 发表于 2021/09/28 18:05:16 2021/09/28
【摘要】 Java系列第八课

1、流程控制访问类

1)顺序语句
从上到下按顺序依次执行
2)分支语句
根据不同条件,执行不同语句
3)循环语句
重复执行某些动作

2、习题

在这里插入图片描述
代码如下:

public class Demo5 {
    	public static void main(String[] args) {
    		int m;
         // double转换为int,属于大容量转换为小容量
         // 需要使用强制类型转换
    		m = (int) ((3 + 6 * 5) / 7 % 2 + 6.1);
    		System.out.println(m);    
    	}
}

结果如下:在这里插入图片描述

3、条件语句

1)单分支结构

Ⅰ 语法结构

在这里插入图片描述

Ⅱ 单分支结构需要注意的地方
  • 1)条件结果 必须是 boolean值类型;
  • 2)if只带一行代码,可以省略{ },但是还是建议不省略;

测试代码如下:

import java.util.Scanner;
public class Demo5 {
    	public static void main(String[] args) {
    		Scanner superman = new Scanner(System.in);
    		int score;
    		System.out.println("请输入您的分数:");
    		score = superman.nextInt();
    		if (score > 60){
        		System.out.println("你是好样的");
    		System.out.println("给饱饭吃");
    	}
    	System.out.println("------****------");
    }
}

结果如下:在这里插入图片描述

Ⅲ 假如if后面只带一句代码,可以省略大括号。
import java.util.Scanner;
public class Demo5 {
    	public static void main(String[] args) {
    		Scanner superman = new Scanner(System.in);
    		int score;
    		System.out.println("请输入您的分数:");
    		score = superman.nextInt();
    		if (score > 60)
    			System.out.println("你是好样的");
    }
}

结果是:在这里插入图片描述

Ⅳ 假如if后不止一句代码,省略大括号会出现什么情况???
import java.util.Scanner;
public class Demo5 {
    	public static void main(String[] args) {
    		Scanner superman = new Scanner(System.in);
    		int score;
    		System.out.println("请输入您的分数:");
    		score = superman.nextInt();
    		if (score > 60)
    			System.out.println("你是好样的");
    		System.out.println("给饱饭吃");
    		System.out.println("------****------");
    }
}

结果如下:在这里插入图片描述
结论:从上图可以看出,当if语句后面不止一个语句的时候,如果我们省略了{ },则if只管和它最近的那条语句,其余的语句不属于if语句管辖之内(即:当if不成立,除了和if挨着最近的那个语句不执行以外,后面的语句都会执行)

2)双分支结构

语法结构如下:
在这里插入图片描述
测试代码如下:

import java.util.Scanner;
public class Demo5 {
    	public static void main(String[] args) {
    		Scanner superman = new Scanner(System.in);
    		int score;
    		System.out.println("请输入您的分数:");
    		score = superman.nextInt();
    		if (score > 60){
    			System.out.println("给饱饭吃");
		}else{
			System.out.println("闭门思过");
		}
    	System.out.println("------****------");
    }
}

结果是:在这里插入图片描述

练习题

在这里插入图片描述
第一题代码:

import java.util.Scanner;
public class Demo6 {
    	public static void main(String[] args) {
    		Scanner superman = new Scanner(System.in);
    		int year;
    		System.out.println("请输入年份:");
    		year = superman.nextInt();
    		if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)){
    			System.out.println(year + "是闰年!");
		}else{
			System.out.println(year + "是平年!");
		}
    	System.out.println("程序结束");
    }
}

结果是:在这里插入图片描述
第二题代码:

import java.util.Scanner;
public class Demo6 {
    	public static void main(String[] args) {
    		Scanner superman = new Scanner(System.in);
    		int num;
    		System.out.println("请输入4位数的会员号:");
    		num = superman.nextInt();
    		if (num / 100 % 10 == 6){
    			System.out.println("幸运会员");
		}else{
			System.out.println("您没有中奖");
		}
    	System.out.println("程序结束");
    }
}

结果是:在这里插入图片描述
第三题代码:

import java.util.Scanner;
public class Demo6 {
    	public static void main(String[] args) {
    		Scanner superman = new Scanner(System.in);
    		int num;
    		System.out.println("请输入整数");
    		num = superman.nextInt();
    		if (num >= 100 && num <= 999)
    		{
            System.out.println("是三位数");
        }else{
    		System.out.println("不是三位数");
    	}
    	System.out.println("程序结束");
	}
}

结果是:
在这里插入图片描述

3)多分支结构

Ⅰ 语法结构

在这里插入图片描述
注:else if代码块可以有一个或者多个 ,当条件很多的时候,其中,else可以省略。
注:if,else if,else只带一条语句,可以省略{ },但是不建议省略。

Ⅱ 练习题

在这里插入图片描述
具体要求如下:
在这里插入图片描述
代码如下:

import java.util.Scanner;

public class Demo7 {
    	public static void main(String[] args) {
    		Scanner superman = new Scanner(System.in);
    		int m;
    		int n;
    		String str;
    		System.out.println("请输入第一个操作数:");
		m = superman.nextInt();
		System.out.println("请输入第二个操作数:");
		n = superman.nextInt();
		// 运算符怎么存储呢?怎么声明类型呢?
		// 一般用String
		System.out.println("请输入运算符:");
		str = superman.next();
		if (str.equals("+")){
			System.out.println(m + "加" + n + "等于" + (m + n));
		}else if (str.equals("-")){
			System.out.println(m + "减" + n + "等于" + (m - n));
		}else if (str.equals("*")){
			System.out.println(m + "乘" + n + "等于" + (m * n));
		}else if (str.equals("/")){
			System.out.println(m + "除" + n + "等于" + (m * n));
		}else{
			System.out.println(m + "取余" + n + "等于" + (m % n));
		}
	}
}

结果是:
在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。