Java流程控制语句要点详解

条件语句

if条件语句

if条件语句主要用于告知程序某一个条件成立时,需执行满足该条件的相关语句。if条件语句可分为简单的if条件语句、if……else语句和if……else if语句。

简单的if条件语句

语法如下:
if(布尔表达式){
语句;
}
布尔表达式:必要参数,最后返回的结果必须是一个布尔值,它可以是一个单纯的布尔变量或常量,也可以是一个关系表达式。
语句:可以一条或多条语句,当布尔表达式的值为true时执行这些语句,若仅有一条语句,可以省略“{ }”,但为了程序的可读性最好不要省略
例如:

public class Demo {
    public static void main(String []args) {
		int a=15;
		if(a==15){
			System.out.println("a的值为15");
		}
    }
}

注意:
在这里插入图片描述

if……else语句

语法如下:
if(表达式){
语句1;
}else{
语句2;
}

if……else if语句

语法如下:
if(表达式){
语句1;
}else if{
语句2;
}……
else if{
语句n;
}

switch多分支语句

通过一个实例代码了解该语句:

import java.util.Scanner;
public class Demo {
    public static void main(String []args) {
		System.out.println("请输入成绩:");
		Scanner sc=new Scanner(System.in)
		int grade=sc.nextInt();
		switch(grade){
		case 10:
		case 9:
				System.out.println("成绩为优");	
				break;
		case 8:
				System.out.println("成绩为良");	
				break;
		case 7:
		case 6:
				System.out.println("成绩为中");	
				break;
		case 5:
		case 4:
		case 3case 2:
		case 1case 0:
				System.out.println("成绩为差");	
				break;
		default:
				System.out.println("成绩无效");
		}
		sc.close();
    }
}

运行结果如下:
在这里插入图片描述
注意:

  • 同一个switch多分支语句,case的常量值必须互不相同
  • case语句后常量表达式的值可以为int、short、char、byte、String以及enum(枚举类型),例如,case 1.1就是不合法的。

循环语句

while循环语句

while语句的循环方式是通过一个条件来控制是否要继续反复执行这个语句。当条件表达式的值为真时,执行“{ }”中的语句。
语法如下:
while(条件表达式){
执行语句;
}
计算1+……+10的和实例代码如下:

public class Demo {
    public static void main(String []args) {
    int i=1;
    int sum=0;
    while(i<=10){
    sum+=i;
    i++;
    }
    Sysytem.out.println("sum="+sum);
   }
}

do……while循环语句

do……while循环语句与while循环语句类似,它们之间的区别在于while语句是先判断条件是否成立再执行循环体,而do……while语句是先执行一次循环体后,再判断条件是否成立。也就是说,do……while语句“{ }”中的语句至少要执行一次。
语法如下:
do{
执行语句;
}while(条件表达式);
使用该语句进行用户验证登录,如果用户输入的密码不是“123456”,则提示用户反复输入直到输入正确面为止。
实例代码如下:

import java.util.Scanner;
public class Demo {
    public static void main(String []args) {
  	Scanner sc =new Scanner(System.in)
  	String password;
  	do{
  	System.out.println("请输入6位数字密码");
  	password=sc.nextLine();
  	}while(!"123456".equals(password));
  	System.out.println("登录成功!");
  	sc.close();
   }
}

for循环语句

for循环语句如下:
for(表达式1;表达式2;表达式3){
执行语句;
}
表达式1:该表达式通常是一个赋值表达式,负责设置循环的起始值,也就是给控制循环的变量付初值。
表达式1:该表达式通常是一个关系表达式,用控制循环的变量和循环变量允许的范围值进行比较。
表达式1:该表达式通常是一个赋值表达式,对控制循环的变量进行增大或减小。

使用for循环完成1+……+10的计算
实例代码如下:

public class Demo {
    public static void main(String []args) {
    int i;
    int sum=0;
    for(i=1;i<=10;i++){
    sum+=i;
    }
    System.out.println("结果为:"+sum);
  }
 }

foreach语句

foreach语句是for语句的特殊简化版本,但是它并不能完全取代for语句,并不是所有的foreach语句都可以改写成for语句。foreach语句并不是一个关键字,只是习惯的讲这种特殊的for语句格式成为foreach语句,其在遍历数组方面提供很大遍历。
语法如下:
for(循环变量x:遍历对象obj){
引用了x的Java语句;
}
遍历对象obj:依次读取obj中的元素的值
循环变量x:讲obj遍历读取出的值赋给x
使用foreach语句遍历整型数组
实例代码如下:

public class Demo {
    public static void main(String []args) {
    int arr[]={7,10,1};
    System.out.println("一位数组中的元素分别为:");
    for(int x:arr){
    System.out.println(x)
    }
 	}
 } 

运行结果如下:
在这里插入图片描述

循环语句的嵌套

循环有for、while和do……while3种方式,这3种循环可以相互嵌套。
使用for的循环语句嵌套输出乘法口诀
实例代码如下:

public class Demo {
    public static void main(String []args) {
    int i,j;
    for(i=1;i<10;i++){
    	for(j=1;j<i+1;j++){
    	System.out.println(j+"*"+i+"="+j*i+"\t");
    	}
    	System.out.println();
    }
 	}
 } 

运行结果如下:
在这里插入图片描述

跳转语句

break语句

使用break语句可以跳出switch语句,同样也可用break语句跳出当前循环体,从而中断当前循环体。
注意:

  • 如果遇到循环嵌套的情况,break语句只会使程序流程跳出它的最内层循环,即只跳出一层循环。
  • 如果想要break跳出外层循环,Java提供了“标签”的功能,语法如下:
    标签名:循环体{
    break 标签名;
    }

使用break跳出指定的循环
实例代码如下:

public class Demo {
    public static void main(String []args) {
	Loop:for(int i=0;i<3;i++){
		 for(int j=0;j<6;j++){
		 	if(j==4){
		 		break Loop;
		 	}
		 	System.out.println("i="+i+" j="+j);
		 }
		}
    }
   }

运行结果如下:
在这里插入图片描述
从这个结果可以看出,当j的值为4时,i的值没有继续增加。

continue语句

continue语句是跳过本次循环结束前的语句,回到循环的条件测试部分,重新开始执行循环。
使用for循环输出1-19之间所有的偶数,如果输出的值为奇数,则使用continue跳过本次循环。
实例代码如下:

public class Demo {
    public static void main(String []args) {
    for(int i=1;i<20;i++){
    	if(i%2!=0){
    	continue;
    	}
    	System.out.println(i);
    }
    }
   }

运行结果如下:
在这里插入图片描述
注意:
与break一样,continue也支持标签功能,方法同理。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值