Java基础笔记四:程序控制结构

笔记来源:韩老师的Java教学视频
推荐给每一个人,老师讲解的十分完善。从循环开始,看老师写代码真的受益良多,前面可以跳着看,但是代码部分真的要认真看老师写一遍,编程思维会有很大的提升

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

一。顺序控制

  1. 程序从上至下逐行地执行,中间没有任何地判断和跳转
  2. Java中定义变量时采用合法地前向引用。
    错误例:
    int num2 = num1 + 1:
    int num1 = 10;

二。分支控制if-else

让程序有选择地执行

(一)。单分支

  1. 基本语法
if( 条件表达式 ){
	执行代码块;
}
  1. 条件表达式为true,执行代码块
  2. 如果{}内只有一条语句,{}可以省略

(二)。双分支

  1. 基本语法
if( 条件表达式 ){
	执行代码块1;
}
else{
	执行代码块2;
}
  1. 条件表达式为true,执行代码块1,为false,执行代码块2
  2. 如果{}内只有一条语句,{}可以省略

(三)。多分支

  1. 基本语法
if( 条件表达式1 ){
	执行代码块1;
}
else if( 条件表达式2 ){
	执行代码块2;
}
else{
	执行代码块3;
}
  1. 条件表达式1为true,执行代码块1,
    表达式1不成立,判断表达式2为true,执行代码块2
    以此类推
    所有条件表达式都不成立,执行代码块3
  2. 多分支可以没有else,
    如果所有地表达式都不成立,则一个执行入口都没有

(四)。嵌套分支

  1. 在一个分支结构中又完整嵌套了另一个完整的分支结构,里面的分支的结构称为内层分支,外面的分支结构称为外层分支。
  2. 嵌套最好不要超过三层(可读性不好)

三。switch分支结构

  1. 基本语法:
switch( 表达式 ){
	case 常量1:
		语句块1;
		break;
	case 常量n:
		语句块n;
		break;
	default:
		语句块n;
		break;
}

switch是关键字
当表达式的值等于常量1,就执行语句块1,然后break跳出循环;如果不等于,就继续匹配常量2,以此类推
如果一个都没有匹配上,就执行default语句
3. 注意事项
- 表达式的数据类型应与常量的数据类型一致
- 表达式的返回值必须是:byte、short、int、char、enum[枚举]、String
- 当程序执行完一个case语句时,如果没有break语句,会继续执行下一个语句,直到遇到break为止【穿透】
代码理解:

	public static void main(String[] args){
		int c = 1;
		switch(c){
			case 1:
				System.out.println("1");//输出
			case 2:
				System.out.println("2");//输出
			default:
				System.out.println("5");//输出
		}
	}

swith适用于等值,if-else适用于区间

四。循环控制

(一)。for

  1. 基本语法:
for (循环变量初始化; 循环条件; 循环变量迭代;){
	循环操作(语句);
}
当循环条件为false时,跳出循环
  1. 注意事项
    • 循环条件时返回一个布尔值的类型
    • 循环初始化可以有多条初始化语句,但要求类型一致,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开
    • for()内的初始化和变量迭代可以写到别的地方,但是两边的分号不能省略
      代码理解:
int i = 1;//循环变量初始化
for ( ; i <= 10; ){
	循环操作(语句);
	i++;//循环变量迭代
}
此时i不再是局部变量,可以在作用域内被调用

(二)。while

  1. 基本语法:
循环变量初始化;
while(循环条件){
	循环体;
	循环变量迭代;
}

(三)。do…while

  1. 基本语法:
循环变量初始化;
do{
	循环体;
	循环变量迭代;
}while(循环条件);
先执行,再判断,一定会执行一次

(四)。多重循环控制

  1. 将一个循环放在另一个循环体内,就形成了嵌套关系。
  2. 一般使用两层,最多不要超过3层(代码的可读性很差)
  3. 多重循环可以分为外层循环和内层循环,只有当内层循环的循环条件为false时,完全跳出内层循环,才会结束外层的当次循环,开始下一个循环
  4. 设外层循环为m次,内层循环为n次,则内层循环体实际需要执行m*n次

五。跳转控制语句

(一)。break

  1. 循环,但是循环的次数不明,当某个条件满足时。终止循环。
  2. break出现在多层嵌套的语句块中,可以通过标签指明要终止的是哪一层语句块
  3. 标签:
    • 基本使用:
label:
{...
	label2:
	{...
		break label1;
	}
}
  1. label1是标签,名字由程序员指定
  2. break后指到哪个标签,就退出哪个循环
  3. 在实际开发中,尽量不使用标签
  4. 如果没有指定break,默认退出最近的循环体

(二)。continue

  1. 用于结束本次循环,继续执行下一次循环
  2. 与break一样,可以指定标签来确认跳出哪一个循环继续

(三)。return(简单介绍)

  1. 用于方法中,表示跳出方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值