程序控制流程

Java的程序控制流程

#####1.顺序结构

如果代码里没有流程控制,程序是至上而下一行一行执行的,一条语句执行完之后继续执行下一条语句,直到程序的最后。

public class Test{
    public static void main(String[] args){
        System.out.println("顺序结构");
    }
}
2.分支结构(条件结构)
if语句:

基本语法:

if(表达式){
    方法体}else if(表达式){
    方法体}else{方法体
            }

单分支:表达式成立则执行方法体

if(表达式){
    方法体
}

双分支:if里的表达式成立执行方法体1,否则执行方法体2

if(表达式){
	方法体1
}else{
	方法体2
}

多分支:表达式成立哪个就执行哪个

if(表达式1){
    方法体1
}else if(表达式2){
    方法体2
}else if(表达式3){
    方法体3
}....
    else{
        方法体n
    }
switch语句:

switch用来实现多分支的

switch(表达式)

{
       case 表达式可能的结果值1:
                     执行语句;
       breakcase 表达式可能的结果值2:
                     执行语句;
       break...
       default:
                     执行语句;
       break//最后这个一般不写
}

注意:break是直接跳出语句,不会执行switch后面的语句,而不写break则会全部执行完

3.循环
for循环

for循环的一般表达式为

for(表达式1;表达式2;表达式3){
    代码
}

表达式1是对循环变量赋初值,表达式2是对于循环变量的范围的界定,表达式3则一般是控制循环变量自加或自减

如,遍历:

int[] arr = {1, 2, 3, 4, 5};
System.out.print("[");		
		for(int x = 0;x<arr.length;x++){
			if(x == arr.length - 1){
				System.out.print(arr[x]);
			} else {
				System.out.print(arr[x] +", ");
			}
		}
		System.out.print("]");

第一步:求解表达式1。

第二步:求解表达式2。若其为真,则执行 for 语句中指定的内嵌语句,然后执行第3步;若表达式2为假,则结束循环,转到第5步。

第三步:求解表达式3。

第四步:转回上面第2步继续执行。

第五步:循环结束,执行 for 语句下面的语句

注意:无论如何for循环()中的;不可忽略

while循环
while (条件) {
		// 循环体
	}

while循环运行时首先判断表达式是否为真,如果表达式为真,则运行while循环中的代码,执行完之后再次判断表达式是否为真,如果为真则再次执行while循环中的代码,以此循环,直到表达式为假,跳出循环,

死循环:

public class Test{
	public static void main(String[] args){
		while(true){
			System.out.println("死循环");
		}
	}
}
do while循环
do {
		// 循环体	
	} while(条件);

do-while循环运行时首先执行一次代码,然后判断表达式是否为真,如果为真,则再执行一次代码,然后再判断表达式是否为真,以此循环,直到表达式为假,循环结束。

注意:while(表达式);后面的;不可以省略

while和do-while唯一的区别就是do-while中的代码至少会执行一次,即便表达式第一次就被计算为false。而在while循环结构中,如果表达是第一次就为false,那么其中的代码就不会执行

break和continue的区别
break:

(1)在分支结构程序设计中用break语句可以使流程跳出switch结构,继续执行switch语句下面的一个语句;

(2)break语句可以用来从循环体内中途跳出循环体,即提前结束循环操作,接着执行循环下面的语句

continue

(1)continue语句是跳过循环体中剩余的语句而强制执行下一次循环操作。其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定

注意:

(1)在循环语句中,break语句一般都是与if语句一起使用;

(2)break语句只能用于循环语句和switch语句之中,不能用于其他任何语句中;

(3)continue语句只能用在循环语句中

区别:

(1)continue语句只结束本次循环,而不是终止整个循环的执行;

(2)break语句则是结束整个循环过程,不再判断执行循环的条件是否成立

双层for循环

public class Test{
	public static void main(String[] args){
		printB();
	}
	public static void printB(){
		for(int i = 1;i < 10;i++){
			for(int j = 1;j <= i;j++){
				if(i * j > 9){
					System.out.print(i+" * "+j+" = "+(i * j)+" ");
				} else {
					System.out.print(i+" * "+j+" = "+(i * j)+"  ");
				}
			}
			System.out.println();
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值