Java中的流程控制

Java中的流程控制,第1张

Java中的流程控制

目录

if条件语句:

switch条件语句:

while循环语句:

do...while循环语句:

for循环语句: 

循环嵌套:

跳转语句(break、continue):


if条件语句:

If条件语句分类:

1.If语句 ,if语句是指如果满足某种条件,就进行某种处理。

2.if…else语句是指如果满足某种条件,就进行某种处理,否则就进行另一种处理。

3.if…else if…else语句用于对多个条件进行分支判断,从而进行多种不同的处理。


【if语句】

例如,如果一个人的年龄不满18周岁,那么就可以判定这个人是未成年人。这句话可以通过下面的一段伪代码来描述:

    如果年龄不满18周岁
	此人是未成年人

“如果”相当于if,“年龄不满18周岁”是判断条件,“此人是未成年人!”是执行语句:

    if (年龄不满18岁) {
	此人是未成年人!
    }

if语句语法格式:
 

    if (判断条件){ 
	执行语句
    }

【if...else语句】

如果满足某种条件,就进行某种处理,否则就进行另一种处理。

例如,要判断一个正整数的奇偶,如果该数字能被2整除则是一个偶数,否则该数字就是一个奇数,就可以使用if...else语句。

    if (num % 2 == 0) {
           // 判断条件成立,num能被2整除
          System.out.println(num+"是一个偶数");
    } else {
          // 判断条件不成立,num不能被2整除
     System.out.println(num+"是一个奇数");
    }

if...else语句语法格式:

    if (判断条件){
	执行语句1
	...
    }else{
	执行语句2
	...
    }

注意:if后面括号内的表达式的值必须是布尔类型,如果表达式的值为true,则执行紧跟后面的复合语句;如果表达式的值为false,则执行else后面的复合语句。

【if...else if...多分支语句】

例如,对一个学生的考试成绩进行等级划分:如果分数大于80分,那么等级为优;否则,如果分数大于70分,那么等级为良;否则,如果分数大于60分,那么等级为中;否则,等级为差,就可以使用if...else if...else语句。

if...else if ...else语句语法格式:

    if (判断条件1) {
        执行语句1
    } else if (判断条件2) {
        执行语句2
    }
    ...
    else if (判断条件n) {
        执行语句n
    } else {
        执行语句n+1
    }
switch条件语句:

定义:switch 条件语句也是一种很常用的选择结构语句,它由一个switch控制表达式和多个case关键字组成。

用法:检测一个变量是否复合某个条件,如果不匹配,再用另一个值来检测它,以此类推。

说明:与if条件语句不同的是,switch 条件语句的控制表达式结果类型只能是byte、short、char、int、enum枚举以及String类型,而不能是boolean类型。

规则: switch语句将控制表达式的值与每个case中的目标值进行匹配,如果找到了匹配的值,会执行对应case后的执行语句,并通过break关键字跳出该switch语句;如果搜索完所有case中的目标值仍没找到任何匹配的值,就会执行default(默认)后的语句。

switch语句语法格式:

    switch (num){
           case 目标值1:
           case 目标值4
           case 目标值5:
	          执行语句1
              break;
           case 目标值2:
	          执行语句2
	          break;
            ...
            case 目标值n:
	            执行语句n
	            break;
            default:
	           执行语句n+1
	           break;
    }

例如:

import java.util.Scanner;
public class WeekEx {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入这是星期几:");
		int num = scan.nextInt();
		String S;
		switch(num){
			case 1:
				S = "星期一";
				break;
			case 2:
				S = "星期二";
				break;
			default:
				S = "无法判断";
				break;
			case 3:
				S = "星期三";
				break;
				
	}
		System.out.println(num + "是" + S);
	}
}

while循环语句:

定义:while循环语句和选择结构语句有些相似,都是根据条件判断来决定是否执行大括号{}内的执行语句。

区别:while语句会循环判断循环条件是否成立,只要条件成立,{}内的执行语句就会执行,直到循环条件不成立,while循环才结束。

While循环语句语法格式:

    while(循环条件){
         执行语句
         ...
    }

While循环语句代码示例:

public class WhileExample {    
	public static void main(String[] args) {
	        int i = 1;        
	        while (i <= 10) { 
		 System.out.println("hello");      
	}
}
do...while循环语句:

定义:do…while循环语句也被称为后测试循环语句,它和while循环语句的功能类似。

区别:while是先判断条件后执行循环体,而do...while会无条件执行一次循环体后再判断条件。

do...While循环语句语法格式:

    do {
        执行语句
        ...
      } while(循环条件);
for循环语句: 

for循环语句是最常用的循环语句,一般用在循环次数已知的情况下,通常情况下可以代替while循环。

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

    for(初始化表达式; 循环条件;  *** 作表达式){
           执行语句
           ...
    }

for 语句中初始化、循环条件以及迭代部分都可以为空语句(但分号不能省略),三者均为空的时候,相当于一个无限循环。

(1)条件表达式 1 为空

  for 语句中条件表达式 1 的作用可以在程序的其他位置给出,所以当条件表达式 1 为空时,for 语句后面括号内其他条件表达式执行的顺序不变。

  例如,使用 for 语句的这种形式计算 1~100 所有奇数的和。

public static void main(String[] args) {
    int result = 0;
    int number = 1; // 相当于for语句的第1个表达式
    for (; number < 101; number++) {
        if (number % 2 != 0) // 如果不能整除2,说明是奇数,则进行累加
            result += number;
    }
    System.out.print("100 以内所有奇数和为:" + result);
}

(2)条件表达式 2 为空

  当 for 语句中条件表达式 2 为空时,将没有循环的终止条件。此时 for 语句会认为条件表达式 2 的值总是为真,循环无限制执行下去。因此,为了使循环达到某种条件时退出,需要在语句块中进行逻辑判断,并使用 break 语句来跳出循环,否则将产生死循环。

  同样是计算 1~100 所有奇数的和,使用这种方式的代码如下。

public static void main(String[] args) {
    int result = 0;
    for (int number = 1;; number++) {
        if (number > 100)
            break; // 相当于for语句的表达式2,满足时就退出for循环
        if (number % 2 != 0) // 如果不能整除2,说明是奇数,则进行累加
            result += number;
    }
    System.out.print("100 以内所有奇数和为:" + result);
}

(3)条件表达式 3 为空

当 for 语言中条件表达式 3 为空时,也就没有设置控制变量的表达式,即每次循环之后无法改变变量的值,此时也无法保证循环正常结束。可以在代码中设计一个使变量变化的语句。

同样是计算1~100 所有奇数的和,使用这种方式的代码如下:

public static void main(String[] args) {
    int result = 0;
    for (int number = 1; number < 101;) {
        if (number % 2 != 0) // 如果不能整除2,说明是奇数,则进行累加
            result += number;
        number++; // 相当于for语句的条件表达式3,每次递增1
    }
    System.out.print("100 以内所有奇数和为:" + result);
}
循环嵌套:

定义:嵌套循环是指在一个循环语句的循环体中再定义一个循环语句的语法结构。

说明:while、do…while、for循环语句都可以进行循环嵌套,并且它们之间也可以互相嵌套。在实际开发时,我们最常用的是for循环嵌套。

双层for循环的语法格式:

    for(初始化表达式; 循环条件;  *** 作表达式) {
         ...
         for(初始化表达式; 循环条件;  *** 作表达式) {
              执行语句
              ...
         }
         ...
    }

规则:在双层for循环嵌套中,外层循环每执行一轮,都要执行完内层循环中的整个for循环,然后执行外层循环第二轮,接着再执行完内层循环中的整个for循环,以此类推,直至外层循环的循环条件不成立,才会跳出整个嵌套for循环。

public static void main(String[] args) {
	int i, j, m;
	for(i = 1; i < 5; i++) {
	    for(j = 1; j <= i; j++) {
	 	System.out.print(i + "*" + j + "=" + i*j + " ");
	    }
	System.out.println();
	}
}
跳转语句(break、continue):

1.break语句

使用场景:在switch条件语句和循环结构语句中都可以使用break语句。

作用效果:当它出现在switch条件语句中时,作用是终止某个case并跳出switch结构;当它出现在循环结构语句中时,作用是跳出当前循环结构语句,执行后面的代码。

for (int i = 0; i < 10; i++) {
  if (i == 4) {
    break;
  }
  System.out.println("输出i的值为:" + i);
}

2.continue语句

使用场景:continue语句用在循环语句中。

作用效果:它的作用是终止本次循环,执行下一次循环。

for (int i = 0; i < 10; i++) {
  if (i == 4) {
    continue;
  }
  System.out.println("输出i的值为:" + i);
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5608908.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存