java基础----流程控制语句

流程控制语句

分类
  • 顺序结构
  • 分支结构
  • 循环结构
顺序结构

按照代码的先后顺序依次执行,没有什么特定的语法结构,程序中最基本最简单的流程控制

分支结构 if语句

if 语句格式1

if(关系表达式){
    语句体
}

表达式满足条件为true就进入if 执行语句体,不满足条件为false不执行语句体

if 语句体格式 2

if(关系表达式) {
	语句体1
}else {
	语句体2
}

满足条件执行语句体1,不满足条件执行语句体2

if 语句体格式 3

if(关系表达式1){
	语句体1
}else if(关系表达式2){
	语句体2
}else if(关系表达式n){
	语句体3
}
	....
else{
	语句体4
}

满足表达式1执行语句体1,不满足进入下一个else if中的表达式2,满足执行语句体2,不满足进入下一个else if判断,满足执行语句体,不满足继续进入,直到最后一个else中执行语句体

分支结构 switch语句
switch (表达式) {
    case 1 :
        语句体1;
        break;
    case 2 :
        语句体2;
        break;
    ...
    default:
        语句体n;
        break;
}

把表达式的值和case里面的匹配,匹配上就会执行相应的语句体,在执行完语句体后,遇到break就会结束,如果没有匹配上就进入default执行语句体,语句体后面必须跟着break,否则会发生case穿透,虽然不写break不会发生语法报错,case穿透就是,执行完匹配上的语句体,没有break跳出,那么就会进入下一个case执行语句体,直到碰到break或者全部语句体执行完。

循环结构

for循环、while循环,do while循环

for循环
for(初始化语句,判断语句,控制语句) {
	循环语句体
}
for(int i = 0; i<=10; i++) {
    System.out.println(i);
}

for循环就是先看初始化的值,满不满足条件,满足进入循环执行语句体,再执行控制语句,再次用初始化值判断满不满足条件,不满足条件不进入循环,循环结束。

while循环
初始化语句;
while (条件判断语句){
    循环体语句;
    条件控制语句;
}
int i = 0;
while (i <= 5) {
    System.out.println(i);
    i++;
}

while循环,先定义一个初始化值,用判断语句判断满不满足条件,满足为true进入while循环执行语句体,再执行条件控制语句,再次判断,不满足不进入循环

do…while循环
初始化语句;
do {
	循环体语句;
	条件控制语句;
}while(条件判断语句);

int i = 0;
do {
    System.out.println(i);
    i++;
}while(i<=5);

do…while循环,会先执行循环体语句,再执行条件控制语句,最后再去进行条件判断,如果满足则继续循环,不满足就退出循环

for循环和while循环都会先进行判断条件是否成立,再决定是否进入循环

do…while循环直接先执行一次循环,再进行判断决定后续是否进入循环

for循环中,初始化值在for循环的结构中,只在循环内有效,出了循环就失效了,也就是i的值,出了循环体就访问不到了,但是while循环定义初始化值是在外面定义的,不是循环里面,所以i值是一直能访问到的

死循环的三种格式

for(;;){}
while(true){}
do {} while(true)
控制跳出循环的语句

break; 直接跳出循环,结束掉循环

continue; 跳出本次循环,继续下一次循环,这个只能在循环中使用,if,switch这种分支结构中用不了的

for循环的嵌套

两个for循环,内部的for循环就是外部for循环的循环体,外面for循环执行一次,内部for循环就要执行一圈,全部执行完才会执行再执行一次外部for循环

public static void main(String[] args) { 
    //外循环控制小时的范围,内循环控制分钟的范围 
    for (int hour = 0; hour < 24; hour++) { 
        for (int minute = 0; minute < 60; minute++) { 
            System.out.println(hour + "时" + minute + "分"); 
        }
        System.out.println("--------"); 
    } 
}

冒泡排序也是用双重for循环写的,有兴趣的自行搜索

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值