解惑大师

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

流程控制语句结构

流程语句控制结构分为:

1.顺序结构: 按顺序执行

2.分支结构:选择一个分支执行

3.循环结构:重复执行某个语句

一. 顺序结构

执行过程:从上往下执行

1. 输入/输出语句

1.1 输出语句

System.out.println("我是一条输出语句");

# 输出变量
int  a  = 1;
System.out.println(a);

1.2 输入语句

步骤:

  • 准备Scanner类型变量

  • 提示输入内容

  • 接受输入内容

例子

// 1..准备Scanner类型变量 
java.util.Scanner input = new java.util.Scanner(System.in); //System.in 代表从键盘输入

// 2.提示输入
System.out.print("输入整数吧: ");

// 3.接受输入内容
int num = input.nextInt()

//列出各种数据类型的输入
int num = input.nextInt();
long bigNum = input.nextLong();
double d = input.nextDouble();
boolean b = input.nextBoolean();
String s = input.next();
char c = input.next().charAt(0);//先按照字符串接收,然后再取字符串的第一个字符(下标为0)

2.分支结构

分支结构:按条件执行某个分支代码

分为:

# 1.条件表达式
if(条件表达式1){ 
      block;}else{block;}

# 2. 选择结构
switch(常量值){
      case 常量值1:
            block;
            break;
        ...
}

2.1 条件判断

2.1.1 单分支

语法格式

if(条件表达式){
      block;    
}

执行过程:如果条件表达式成立,则执行 {} 中代码块,否则不执行;
if(条件表达式)中的条件表达式的结果必须是boolean类型
如果单语句可以省略{},但是不建议

## 判断2月是否29天;

int year = 2019;
int days = 28;
if(year%4==0 && year%100!=0 || year%400==0){
    days= 29;
}

2.1.2 双分支结构

语法格式:

if(条件表达式){
    当条件表达式成立(true)时需要执行的语句块1;
}else{
    当条件表达式不成立(false)时需要执行的语句块2;
}

执行过程:如果条件表达式成立,则执行 {} 中代码块,否则执行else{}里面代码块;
if(条件表达式)中的条件表达式的结果必须是boolean类型
如果单语句可以省略{},但是不建议

# 判断奇偶数

int num = 10;
if(num%2==0){
    System.out.println(num + "是偶数");
}else{
     System.out.println(num + "是奇数");
}

2.1.3 多分支结构

语法格式

if(条件表达式1){
    当条件表达式1成立的时候,执行的语句块1;
}else if(条件表达式2){
    当条件表达式1不成立,
      条件表达式2成立的时候,执行的语句块2;
}else if(条件表达式3){
    当条件表达式1不成立,
       条件表达式2也不成立,
      条件表达式3成立的时候,执行的语句块3;
}
。。。
【else{
	当以上所有的条件表达式都不成立,需要执行的语句块n+1;
}】

执行过程:

(1)多个条件顺序往下判断,如果上面有一个条件成立了,下面的条件就不看了

(2)多个分支也只会执行其中的一个

注意:

(1)每一个条件表达式都必须是boolean值

(2)当{}中只有一个语句时,也可以省略{},但不建议省略

(3)当多个条件是“互斥”关系(没有重叠部分),顺序可以随意;
当多个条件是“包含”关系(有重叠部分),顺序不能随意,小的在上,大的在下面

			int score = 78;
			if(score==100){
				System.out.println("满分");
			}else if(score>=80){
				System.out.println("优秀");
			}else if(score>=60){
				System.out.println("及格");
			}else{
				System.out.println("不及格");
			}

2.1.4 if嵌套

执行过程:

​ 当嵌套在if中,就是当外面的if成立时,才会看里面的条件判断;

​ 当嵌套在else中,就当外面的else满足时,才会看里面的条件判断;

3 选择结构

语法格式;

switch(表达式){
    case 常量值1:
        语句块1;
        【break;】
    case 常量值2:
        语句块2;
        【break;】   
    。。。
   【default:
        语句块n+1;
        【break;】
     】
}

执行过程:

(1)入口

①当switch(表达式)的值与case后面的某个常量值匹配,就从这个case进入;

②当switch(表达式)的值与case后面的所有常量值都不匹配,寻找default分支进入;

(2)一旦从“入口”进入switch,就会顺序往下执行,直到遇到“出口”

(3)出口

①自然出口:遇到了switch的结束}

②中断出口:遇到了break等

注意:

(1)switch(表达式)的值的类型,只能是:4种基本数据类型(byte,short,int,char),两种引用数据类型(枚举、String)

(2)case后面必须是常量值,而且不能重复

int month = 4;
switch(month){
    case 3:
    case 4:
    case 5:
        System.out.println("春季");
        break;
    case 6:
    case 7:
    case 8:
        System.out.println("夏季");
        break;
    case 9:
    case 10:
    case 11:
        System.out.println("秋季");
        break;
    case 12:
    case 1:
    case 2:
        System.out.println("冬季");
        break;
    default:
        System.out.println("输入有误!");
}
posted on 2020-10-16 09:36  解惑大师  阅读(114)  评论(0)    收藏  举报