004Java基础之控制结构

在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句。
(1)顺序控制
(3)分支控制
(3)循环控制

1、顺序控制

程序从上到下顺序的执行,中间没有任何的判断或跳转,是最简单的控制结构
在这里插入图片描述

2、分支控制

让程序有选择的的执行,分支控制有三种

1、单分支if

基本语法

if(条件表达式){
执行代码块
}

在这里插入图片描述

2、双分支if-else

基本语法

if(条件表达式){
执行代码块1
}else{
执行代码块2
}

在这里插入图片描述

3、多分支if-elseif-…-else

基本语法

if(条件表达式){
执行代码块1
}else if{
执行代码块2
}else if{
执行代码块3
}else{
执行代码块4
}

在这里插入图片描述

4、switch…case

基本语法

switch(表达式){
case 常量1:
语句块1;
break;
case 常量2:
语句块2;
break;
...
default:
default语句块;
break;

}
在这里插入图片描述
需要强调的是:如果某个case判断成立后,执行完语句块没有break语句,则会执行下一个case的语句块,直到遇到break语句才会结束选择语句。所以break语句一定要注意
(1)表达式的数据类型,应和case后的常量保持一致,或者是可以自动转成可以相互比较的类型
(2)switch(表达式)中的表达式的返回值必须是(byte、short、int、char、enum、String)。例如double等类型编译就会报错。
(3)case语句中的值,必须是常量而不是变量
(4)default语句是可选的,当没有匹配的case时,执行default
(5)break语句用来在执行完一个case分支后使程序跳出switch语句块,如果没有写break,程序会顺序执行到switch结尾,除非遇到break。

import java.util.Scanner;
public class Switch01{
	public static void main(String[] args){
		Scanner scanner= new Scanner(System.in);
		System.out.println("请输入一个字符");
	char c =	scanner.next().charAt(0);
	switch(c){
		case 'a':
		System.out.println("这是a");
		break;
		case 'b':
		System.out.println("这是b");
		break;
		case 'c':
		System.out.println("这是c,但我后面没有break语句");
		default:
		System.out.println("这是其他字符");
		break;
	}
	}
}

在这里插入图片描述

在这里插入图片描述
使用穿透解决问题
在这里插入图片描述
在这里插入图片描述

import java.util.Scanner;

public class Switch02{
	public static void main(String[] args){

//根据用于指定月份,
//打印该月份所属的季节。
//3,4,5春季6,7,8夏季9,10,11秋季12,1,2冬季
//思路分析
//1.创建Scanner对象,接收用户输入
//2.使用intmonth接收
//3.使用switch来匹配,使用穿透来完成,比较简洁

Scanner myScanner=new Scanner(System.in);
System.out.println("输入月份");
int month=myScanner.nextInt();
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 1:
    case 2:
    case 12:System.out.println("这是冬季");
    break;
    default:
    System.out.println("你输入的月份不对(1-12)");
         }
     }
}

3、循环控制

1、for循环

基本介绍:
听其名而知其意,就是让你的代码可以循环的执行。
基本语法

for(循环变量初始化;循环条件;循环变量迭代){
循环操作
}

for有四要素:
(1)循环变量初始化
(2)循环条件
(3)循环操作
(4)循环变量迭代
在这里插入图片描述

2、while循环

基本语法

while(循环条件){
循环体;
循环变量迭代;
}

在这里插入图片描述

3、do…while循环控制

基本语法

循环变量初始化;
do{
循环体(语句);
循环变量迭代;
}while(循环条件);

在这里插入图片描述
注意事项及细节说明
(1)循环条件是返回一个布尔值的表达式
(2)do…while循环是先执行,再判断,因此它至少执行一次

4、多循环控制

(1)将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for,while,do…while均可以作为外层循环和内层循环。【建议一般使用两层,最多不要超过3层,否则,代码的可读性很差】
(2)实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环
金典案例:九九乘法表、空心金字塔。

5、跳转控制语句

1、break

break语句用于终止某个语句块的执行,一般使用在switch或者循环[for,while,do-while]中
基本语法:

{.
.
.
.
break;
}
1、以while使用break为例,画出示意图

在这里插入图片描述

2、注意事项和细节说明

(1)break语句出现在多层嵌套的语句块中,可以通过标签指明要终止的是那一层循环的语句块
(2)标签的基本使用
标签放在循环的前面做声明,例如:
在这里插入图片描述
(3)break语句可以制定退出那一层循环
(4)如果没有指定标签,则退出离break最近的那一层循环体
(5)除非迫不得已,不然不建议使用标签

2、continue

(1)continue语句用于结束本次循环,继续执行下一次循环。
(2)continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环,这个和前面的标签的使用的规则一样
基本语法:

{
.
.
.
continue;
}
1、以while使用continue为例,画出示意图

在这里插入图片描述

2、注意事项和细节说明

(1)continue与break有所不同,continue只是跳出本次循环
(2)continue也可以通过定义标签来指定跳出哪一层循环
在这里插入图片描述

3、return

(1)返回方法指定类型的值(这个值总是确定的),

(2)结束方法的执行(仅仅一个return语句,目前猜测是只有返回值为void的方法可以这么使用)。
(3)如果是用在main方法中,直接退出程序。(这部分还有疑惑)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值