JavaSE基础——选择和循环语句

选择结构

选择结构:也被称为分支结构。是指选择某一条件后,才能决定下一步的运行方向。

在Java中有两种基本的选择结构语句:if语句和switch语句。

if语句

单判断条件结构

if(条件表达式){

语句体;

}

执行流程:判断条件表达式的结果,当结果为true时,{}中的执行语句体才会执行,否则不执行语句体。

package demo03;

public class Demo01 {
	public static void main(String[] args) {
		int i=3;
		if(i<5) {
			System.out.println("结果为:"+i);
		}
	}
}

双判断条件结构

if(条件表达式){

语句体1;

}else{

语句体2;

}

执行流程:判断条件表达式的结果,结果为true时,则执行语句体1,为false则执行语句体2。

package demo03;

public class Demo01 {
	public static void main(String[] args) {
		int i=3;
		if(i%2==0) {
			System.out.println(i+"为偶数");
		}else {
			System.out.println(i+"为奇数");
		}
	}
}

多判断条件结构

if(条件表达式1){

语句体1;

}else if(条件表达式2){

语句体2;

}

...

else if(条件表达式n){
语句体n;

}else{

语句体n+1;

}

执行流程:判断条件表达式1的结果,结果为true时,则执行语句体1,为false则继续判断条件表达式2的结果,如果为true,则执行语句体2,为false则继续判断下一个条件表达式的结果,以此类推,如果所有的判断条件都为false,则意味着所有的条件均未得到满足,则执行语句体n+1。

package demo03;

public class Demo01 {
	public static void main(String[] args) {
		int i=120;
		if(i<=100&&i>=90) {
			System.out.println("成绩优秀");
		}else if(i<90&&i>=80){
			System.out.println("成绩良好");
		}else if(i<80&&i>=70){
			System.out.println("成绩中等");
		}else if(i<70&&i>=60){
			System.out.println("成绩合格");
		}else if(i<60&&i>=0){
			System.out.println("成绩不合格");
		}else {
			System.out.println("输入错误!");
		}
	}
}

switch语句

switch语句的语法格式:

switch(表达式){

case 目标值1:

 执行语句1;

 break;

case 目标值2:

 执行语句2;

 break;

......

case 目标值n:

 执行语句n;

 break;

default:

 执行语句n+1;

 break;

}

执行流程:switch语句将表达式的值与每个case中的目标值进行匹配,如果找到了匹配的值,会执行对应的case后的语句,遇到break就会结束。如果没找到任何匹配的值,就会执行default后的语句,然后程序结束。

注意:

  • 在switch语句中的表达式只能是byte、short、char、int、String、枚举类型的值,不能是其他类型的值。
  • default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。default可以省略,但一般不建议,default可以放在switch语句的任何位置,一般放在最后位置,放在最后位置时紧跟它的break可以省略。
  • 当程序执行过程中遇到了break或执行到最后,则switch语句结束。
package demo03;

import java.util.Scanner;

public class Demo01 {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.print("请输入:");
		String i=sc.nextLine();
		switch (i) {
		case "hot":
			System.out.println("正在热映");
			break;
		case "weekly":
			System.out.println("每周排行榜");
			break;
		case "us":
			System.out.println("北美排行榜");
			break;
		case "china":
			System.out.println("国产排行榜");
			break;
		case "highScore":
			System.out.println("高分排行榜");
			break;
		default:
			System.out.println("输入有误!");
			break;
		}
	}
}

循环结构

循环结构:循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

for循环语句

for循环语句的基本语法格式:

for(初始化赋值;循环判断条件;自增或自减){

执行语句(循环体)

......
}

执行流程:

for(①;②;④){

           ③

}

第一步,执行①

第二步,执行②,如果判断结果为true,执行第三步,如果判断结果为false,执行第五步。

第三步,执行③

第四步,执行④,然后重复执行第二步。

第五步,退出循环。

 

package demo03;

public class Demo01 {
	public static void main(String[] args) {
			// 数组遍历
		int[]a= {2,4,6,8,10};
		for(int i=0;i

注意:初始化赋值可以写在循环之外,自增自减也可在循环体内,但if()中必须有(;;)才行。

while循环语句

while循环语句的基本语法格式:

while(循环判断条件){
执行语句(循环体)

}

while语句会反复的进行条件判断,只要条件成立,{}内的执行语句就会被执行,直到条件不成立,while循环结束。

package demo03;

public class Demo01 {
	public static void main(String[] args) {
			// 数组遍历
		int[]a= {2,4,6,8,10};
		int i=0;
		while(i

注意:要注意控制循环条件,避免陷入死循环。

无限循环(死循环)的最简单表达形式:while(true){}

do...while循环语句

do...while循环语句的基本语法格式:

do{

执行语句(循环体)

}

while(循环判断条件);

关键字do后面{}中的执行语句是循环体。do while循环语句将循环条件放在了循环体的后面。这也就意味着,循环体会无条件执行一次,然后再根据循环条件决定是否继续执行。

 

package demo03;

public class Demo01 {
	public static void main(String[] args) {
			// 数组遍历
		int[]a= {2,4,6,8,10};
		int i=0;
		do{
			System.out.print(a[i]+" ");
			i++;
		}while(i

三种循环区别

(1)、while和for首先要判断循环条件,满足条件才执行循环体,否则不执行循环体。do..while先执行循环体,无论条件是否满足,都至少执行一次循环体。(do...while实际中用的较少)

(2)、for循环一般用于循环次数确定的,while,do..while用于循环次数不确定的。

(3)、for循环和while循环再多数情况下可以等价转换,但还是有一点小区别的for循环结束,控制循环的变量会在内存中消失,提高内存的使用效率,而while循环结束,该变量则继续存在,不会被回收。如果循环后面的代码涉及到了该变量的使用,可以考虑使用while循环。

 

双重循环

双重循环即循环嵌套;是指在一个循环语句的循环体中再定义一个循环语句的语法结构。while、do..while、for循环语句都可以进行嵌套,并且它们之间也可以互相嵌套,如最常见的在for循环中嵌套for循环。语法格式如下:

              for(初始化赋值;循环判断条件;自增或自减){

                            ……

                            for(初始化赋值;循环判断条件;自增或自减){

                            执行语句

                            ……

                     }

                     ……

              }

package demo03;

import java.util.Arrays;

public class Demo01 {
	public static void main(String[] args) {
			// 数组遍历
		int[]a= {2,4,6,8,10};
		for(int i=0;ia[j+1]) {
					int temp=a[j];
					a[j]=a[j+1];
					a[j+1]=temp;
				}
			}
		}
		System.out.println(Arrays.toString(a));
	}
}

跳转语句

跳转语句用于实现循环执行过程中程序流程的跳转,在java中的跳转语句有break语句和continue语句。

break语句

在switch条件语句和循环语句中都可以使用break语句。

当它出现在switch条件语句中时,作用是终止某个case并跳出switch结构。

当它出现在循环语句中,作用是跳出循环,执行循环外代码。

continue语句

continue语句只能用在循环语句中,它的作用是终止本次循环,执行下一次循环。在while 和 do while语句中continue语句跳转到循环判断条件处开始继续执行,而在for语句中continue语句跳转到迭代语句处开始继续执行。

注意:

  • break和continue单独存在时,下面不可以有任何语句,因为执行不到。
  • 这两个语句离开应用范围,存在是没有意义的。
  • break和continue都只对它所在的那层循环作用。
  • 标签的出现,可以让这两个语句作用于指定范围。

 

你可能感兴趣的:(循环,java,switch,java)