8. 流程控制语句(一)
【摘要】 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)