前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【04】JAVASE-循环语句【从零开始学JAVA】

【04】JAVASE-循环语句【从零开始学JAVA】

作者头像
用户4919348
发布2024-05-25 13:56:09
810
发布2024-05-25 13:56:09
举报
文章被收录于专栏:波波烤鸭

Java零基础系列课程-JavaSE基础篇

Lecture:波哥

Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。

四、循环语句

循环语句就是重复执行某块代码,能够大大提高我们的效率

代码语言:javascript
复制
/**
	 * 输出一个 好好学习,天天向上 这个信息到控制台上
	 * 输出两遍
	 *    10遍呢
	 *    100遍
	 *    10000遍?
	 * @param args
	 */
	public static void main(String[] args) {
		/*System.out.println("好好学习,天天向上");
		System.out.println("好好学习,天天向上");
		System.out.println("好好学习,天天向上");
		System.out.println("好好学习,天天向上");
		System.out.println("好好学习,天天向上");
		System.out.println("好好学习,天天向上");
		System.out.println("好好学习,天天向上");
		System.out.println("好好学习,天天向上");
		System.out.println("好好学习,天天向上");
		System.out.println("好好学习,天天向上");*/
		for(int i = 0 ; i < 10000 ; i ++){
			System.out.println("好好学习,天天向上 : " + i);
		}

	}

1.for循环

1.1 for循环的语法格式
代码语言:javascript
复制
for( 表达式1 ; 表达式2 ; 表达式3 ) 
{
   // 循环体语句  
}

语法格式说明:

代码语言:javascript
复制
for( 初始化语句 ; 循环条件语句 ; 控制条件语句 ) 
{
   // 循环体语句  
}

表达式

说明

表达式1

初始化语句,完成变量的初始化操作 初始化语句只会在第一次执行一次

表达式2

循环条件语句,boolean类型,返回true进入循环体,返回false结束循环

表达式3

控制条件语句,在循环体执行完成后执行的代码,负责修正变量,改变循环条件的

1.2 for循环的执行流程
1.3 课堂案例
  1. 控制台输出数据1-10
  2. 计算1到100的和,用for语句实现
  3. 求1~100之间不能被3整除的数的和

案例代码

代码语言:javascript
复制
/**
	 * 控制台输出数据1-10
	 * @param args
	 */
public static void main(String[] args) {
    // 添加注释的快捷键 多行注释 ctrl + shift + /
    /*for (int i = 0 ; i < 10 ; i ++) {
			System.out.println(i+1);
		}*/
    //		循环案例的实现  单行注释 Ctrl+/
    for (int i = 1 ; i <= 10 ; i ++) {
        System.out.println(i);
    }

}
代码语言:javascript
复制
/**
	 * 计算1到100的和,用for语句实现
	 * @param args
	 */
public static void main(String[] args) {
    // 在for循环之外创建一个变量 来接收我们的数据 相当于一个 容器
    int total = 0 ; // 保存计算结果
    for ( int i = 1 ; i <= 100 ; i ++) {
        total += i; // 将变量的结果累加到到total中
    }
    System.out.println(total);

}
代码语言:javascript
复制
package com.bobo.fordemo;

public class ForDemo04 {

	/**
	 * 求1~100之间不能被3整除的数的和
	 *    1.先找到所有不能被3整除的数
	 *    2.将找到的数累加即可
	 * @param args
	 */
	public static void main(String[] args) {
		int total = 0;
		for( int i = 1 ; i <= 100 ; i ++){
			if (i % 3 != 0) {
				// 表示不能被3整除
				// System.out.println(i);
				total += i;
			}
		}
		System.out.println("1~100之间不能被3整除的数的和:" + total);
	}

}

扩展案例:

1.求n的阶乘 9 * 8 * 7 * … * 1

代码语言:javascript
复制
package com.bobo.fordemo;

import java.util.Scanner;

public class ForDemo05 {

	/**
	 * 求n的阶乘 9 * 8 * 7 * ... * 1
	 * 5的阶乘
	 *     5 * 4 * 3 * 2 * 1
	 *     1 * 2 * 3 * 4 * 5
	 *     其实和 1 到 N的整合的和  效果是一样
	 * @param args
	 */
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		System.out.println("输入阶乘的值:" );
		int num = in.nextInt();
		
		int total = 1 ; // 记录阶乘结果的变量
		for( int i = 1 ; i <= num; i++){
			total *= i;
		}
		
		System.out.println(num + "的阶乘是:" + total);

	}

}

2.实现如下的效果

代码语言:javascript
复制
请输入一个值:
根据这个值可以输出如下的加法表:
0 + 6 = 6
1 + 5 = 6
2 + 4 = 6
3 + 3 = 6
4 + 2 = 6
5 + 1 = 6
6 + 0 = 6
代码语言:javascript
复制
package com.bobo.fordemo;

import java.util.Scanner;

public class ForDemo06 {

	/**
	 * 请输入一个值:
		根据这个值可以输出如下的加法表:
		0 + 6 = 6
		1 + 5 = 6
		2 + 4 = 6
		3 + 3 = 6
		4 + 2 = 6
		5 + 1 = 6
		6 + 0 = 6
		
		i + (6-i) = 6
		循环N次,每次循环打印一条输出语句
	 * @param args
	 */
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		System.out.println("请输入一个1-9之间的数字" );
		int num = in.nextInt();
		for (int i = 0 ; i <= num ; i++) {
			System.out.println(i + " + " + (num - i ) + " = " + num);
		}
		
		System.out.println("------------");
		// 第二种方式 通过多个变量来控制
		for (int i = 0, j = num ; i <= num ;i++,j--) {
			System.out.println(i + " + " + j + " = " + num);
		}
		
		System.out.println("------------");
		// 第二种方式 通过多个变量来控制
		for (int i = 0, j = num ; j >= 0 ;i++,j--) {
			System.out.println(i + " + " + j + " = " + num);
		}
	}

}

3.在控制台输出所有5位数的回文数字

注意:回文数如 12321,13531 等等… 11111

代码语言:javascript
复制
package com.bobo.fordemo;

public class ForDemo07 {

	/**
	 * 在控制台输出所有5位数的回文数字
  		注意:回文数如 12321,13531 等等... 11111
  		
  		解决思路:
  		   1.遍历找出所有的5位数
  		   2.分离出遍历的数字的  万位  千位   十位  个位
  		   3.判断如果 万位和个位相等 同时 千位和十位相等 说明是我们要找的数字
	 * @param args
	 */
	public static void main(String[] args) {
		for(int i = 10000; i < 100000 ; i ++ ){
			int ge = i / 1 % 10;
			int shi = i / 10 % 10;
			int qian = i / 1000 % 10;
			int wan = i / 10000 % 10;
			if (ge == wan && shi == qian) {
				System.out.println(i);
			}
		}

	}

}

4.在控制台输出1000以内的所有的水仙花数,并统计水仙花数的个数。

注意:水仙花数指的是其各位数的立方和等于该数本身的三位数

153 = 1^3 + 5^ + 3^ = 153

代码语言:javascript
复制
package com.bobo.fordemo;

public class ForDemo08 {

	/**
	 * ctrl + d 快速删除一行
	 * 
	 * 在控制台输出1000以内的所有的水仙花数,并统计水仙花数的个数。
		注意:水仙花数指的是其各位数的立方和等于该数本身的三位数
		153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 =153
		
		解决思路:
		   1.遍历出所有的数字
		   2.对遍历的数字,拆分出 个位 十位 百位
		   3.判断 个位的立方+ 十位的立方 + 百位的立方 是否等于遍历的数字本身
	       4.是  输出这个结果  统计变量+1
	       5.不是 不做任何处理
	 * @param args
	 */
	public static void main(String[] args) {
		int count = 0 ; // 统计水仙花数的个数
		for (int i = 0 ; i <= 1000; i ++) {
			int ge = i / 1 % 10;
			int shi = i / 10 % 10;
			int bai = i / 100 % 10;
			/*if(ge * ge * ge + shi * shi * shi + bai* bai * bai == i){
				System.out.println(i);
				count ++;
			}*/
			if (Math.pow(ge, 3) + Math.pow(shi, 3) + Math.pow(bai, 3) == i) {
				System.out.println(i);
				count ++;
			} 
		}
		
		System.out.println("1000以内的水仙花数是:" + count);
	}

}
1.4 for循环的注意事项
1.4.1 大括号可以省略

如果循环体大括号省略 ,循环体默认执行for语句后面的第一条语句(;结尾)

代码语言:javascript
复制
public class ForDemo09 {

	public static void main(String[] args) {
		// 作用域:i 的作用域 是在for循环以内  表达式 1 2 3 4 中使用
		for(int i = 0 ; i < 4 ; i ++)
			//;
			System.out.println(i);// 这个是我们的循环体
		System.out.println("---------");
	}

}
1.4.2 表达式2的值是一个boolean类型

表达式2如果有多个条件我们需要用逻辑运算符连接

代码语言:javascript
复制
int a = 10;
int b = 20;
for(int i = 0 ; i < 10 && (a > 0 || b < 30) ; i ++){

}
1.4.3 表达式2可以省略,但是";"不能省略

​ 如果表达式2省略的话,那么程序会一直执行,直到资源耗尽,死循环

代码语言:javascript
复制
public static void main(String[] args) {
    for ( int i = 0 ;  ; i ++) {
        System.out.println("-->" + i);
    }
}
1.4.4 表达式1 省略,表达式3省略

​ 表达式1和表达式3也省略

代码语言:javascript
复制
package com.bobo.fordemo;

public class ForDemo11 {

	/**
	 * 表达式1 初始化变量的
	 * @param args
	 */
	public static void main(String[] args) {
		int i = 0; // 表示i的作用域在方法中
		for (; i < 10 ;) {
			System.out.println(i);
			
			// 将表达式4的信息 写到循环体的尾部
			i ++;
		}
		
		/*for ( int i = 0 ; i < 10; i++) {
			
		}*/
	}

}
1.4.5 表达式123都可以省略

​ 表达式123都可以省略,但是两个";"是不能够省略的,出现死循环的情况

代码语言:javascript
复制
public class ForDemo12 {

	/**
	 * 表达式1 初始化变量的
	 * @param args
	 */
	public static void main(String[] args) {
		for(;;){
			System.out.println("----");
		}
	}

}

2.while循环

​ while是Java使用频率也比较高的一种循环方式。while语句的语法结构要比for循环简单些

2.1 语法格式
代码语言:javascript
复制
while (条件表达式) {
    // 循环语句
}
代码语言:javascript
复制
/**
	 * while循环
	 * @param args
	 */
public static void main(String[] args) {
    int i = 0;
    while( i < 10){
        System.out.println("i = " + i);
        i ++ ;
    }

    System.out.println("循环结束...");
}
2.2 while语句的执行顺序
  1. 首先判断条件表达式结果是为true还是false
  2. 如果结果是true,执行循环体
  3. 如果结果是false,退出循环体

这里面为了便于大家的理解,可以将while循环看出for循环的一种简化形式

代码语言:javascript
复制
for( 表达式1 ; 表达式2 ; 表达式3 ){
 	循环体
}
--->
表达式1
for( ; 表达式2 ; ){
	循环体;
	表达式3
}

对应的while循环

代码语言:javascript
复制
表达式1
while (表达式2){
    循环体
    表达式3
}
2.3 课堂案例

1.用while语句去实现1到100的和

代码语言:javascript
复制
package com.bobo.whiledemo;

public class WhileDemo02 {

	/**
	 * 用while语句去实现1到100的和
	 * @param args
	 */
	public static void main(String[] args) {
		int total = 0; // 记录总和
		int i = 1; // 声明的变量
		while( i <= 100){
			total += i;
			// 改变循环条件
			i ++; // 不能漏掉,不然会 死循环
		}
		System.out.println("1到100的和是:" + total);

	}

}

2.用while语句实现1到100偶数的和

代码语言:javascript
复制
	/**
	 * 用while语句实现1到100偶数的和
	 * @param args
	 */
	public static void main(String[] args) {
		int total = 0;
		int i = 0;
		while( i <= 100){
			if( i % 2 == 0){
				// 表示循环的数字是偶数
				total += i;
			}
			i++;
		}
		
		System.out.println("1到100之间的偶数和是:" + total);
	}

    public static void main(String[] args) {
        int sum = 0;
        int i = 2;
        while(i <= 100){
            sum += i;
            i += 2; // 每次自增2
        }
        System.out.println("sum = " + sum);
    }

3.将前面讲的for循环中的案例该为通过while循环来实现

3.do while循环

​ do while循环的特点:先执行一次循环体,然后在判断条件是否成立

3.1 语法格式
代码语言:javascript
复制
do{
    循环语句;
}while ( 条件表达式 ) ;
代码语言:javascript
复制
public static void main(String[] args) {
    int i = 0 ;
    do{
        // 循环在循环条件判断之前执行一次
        System.out.println("----" + i);
    }while(i < 0);
    System.out.println("循环执行结束...");

}
3.2 执行顺序
  1. 先执行循环语句一次
  2. 然后判断条件语句的返回结果是true还是false
  3. 如果是true再执行一次循环体,然后判断条件语句
  4. 如果是false,那么直接退出循环
3.3 课堂案例

1.使用do-while语句去实现1到100的和

2.使用do-while循环实现1-100的偶数求和

3.使用do-while循环实现for循环中的所有的案例

4. while循环和for循环的对比

  1. for循环和while循环都是先判断再执行,do-while是先执行再判断,并且一定会执行一次循环体
  2. 在循环结束之后,还希望能够使用循环变量,使用while循环,否则使用for循环,for循环的变量i只能作用于循环体
  3. 死循环的方式

while:

代码语言:javascript
复制
while (true) {}

do -while:

代码语言:javascript
复制
do{
    
}while(true);

for:

代码语言:javascript
复制
for (;;){
    
}

循环方式的选择:

1.如果循环条件是一个区间范围(循环次数确定的),推荐使用for循环

2.如果循环次数不明确的情况下,推荐使用while循环

3.在第二个基础上如果要先执行再判断就使用do-while循环,否则使用while循环

场景引入:

代码语言:javascript
复制
请在控制台输出如下的图形
********
********
********
代码语言:javascript
复制
public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println("********");
    System.out.println("********");
    System.out.println("********");
}

5.嵌套循环

5.1 嵌套循环的格式

最常用的方式:

代码语言:javascript
复制
for(表达式1 ; 表达式2 ; 表达式3){
    for(表达式1 ; 表达式2 ; 表达式3){
    	
	}
}

其他的组合

代码语言:javascript
复制
for(表达式1 ; 表达式2 ; 表达式3){
    while(表达式){
        
    }
}
代码语言:javascript
复制
while(表达式){
     while(表达式){
        
	}   
}
代码语言:javascript
复制
do{
    for(表达式1 ; 表达式2 ; 表达式3){
    	
	}
}while(表达式);

5.2 嵌套循环的规则
  1. 外层循环控制行数,内层循环控制列数
  2. 外层循环变量变化一次,内层循环变量要变化一轮
5.3 课堂案例

1.打印如下的图案

代码语言:javascript
复制
********
********
********
代码语言:javascript
复制
package com.bobo.forfor;

public class QTDemo01 {

	/**
	 * 请在控制台输出如下的图形
	 *  ********
		********
		********
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/*System.out.println("********");
		System.out.println("********");
		System.out.println("********");*/
		for(int i = 0 ; i < 8; i ++){
			System.out.print("*");
		}
		System.out.println(); // 显示的换行
		for(int i = 0 ; i < 8; i ++){
			System.out.print("*");
		}
		System.out.println();// 显示的换行
		for(int i = 0 ; i < 8; i ++){
			System.out.print("*");
		}
		System.out.println();// 显示的换行
		System.out.println("------------------");
		
	}

}
	public static void main(String[] args) {

		/*
		 * 1. 外层循环控制行数,内层循环控制列数
		 * 2. 外层循环变量变化以此,内层循环变量要变化一轮
		 */
		for (int i = 0 ; i < 3 ; i ++) { // 外层循环控制行数
			for( int j = 0 ; j < 8 ; j ++){ // 内层循环控制列数
				System.out.print("*");
			}
			System.out.println(); // 内层循环走完一遍 显示的换行
		}
    }

2.打印如下图案,直角三角形

代码语言:javascript
复制
*
**
***
****
*****
******
代码语言:javascript
复制
package com.bobo.forfor;

public class QTDemo02 {

	/**
	 * 输出如下图案
	 *  *
		**
		***
		****
		*****
		******
		
		1. 外层循环控制行数,内层循环控制列数
		2. 外层循环变量变化以此,内层循环变量要变化一轮
	
	 * @param args
	 */
	public static void main(String[] args) {
		for(int i = 0 ; i < 6 ; i ++){
			// i = 0 1*
			// i = 1 2*
			// i = 2 3*
			// ...
			for(int j = 0 ; j < i +1 ; j ++){
				System.out.print("*");
			}
			System.out.println();
		}

	}

}

3.打印如下图案,直角三角形

代码语言:javascript
复制
*
***
*****
*******
*********
代码语言:javascript
复制
package com.bobo.forfor;

public class QTDemo03 {

	/**
	 * 输出如下图案
	 *  *
		***
		*****
		*******
		*********
		***********
		
		1. 外层循环控制行数,内层循环控制列数
		2. 外层循环变量变化以此,内层循环变量要变化一轮
	
	 * @param args
	 */
	public static void main(String[] args) {
		for(int i = 0 ; i < 6 ; i ++){
			// i = 0 1*
			// i = 1 3*
			// i = 2 5*
			// ...
			for(int j = 0 ; j < 2 * i +1 ; j ++){
				System.out.print("*");
			}
			System.out.println();
		}

	}

}

4.打印九九乘法表

代码语言:javascript
复制
package com.bobo.forfor;

public class QTDemo04 {

	/**
	 * 打印九九乘法表
	 * 1*1=1
	 * 1*2=2  2*2=4
	 * 1*3=3  2*3=6 3*3=9
	 * ....
	 * 1*9=9  2*9=18 3*9=27 4*9=36 5*9=45 6*9=72 ... 9*9=81
	 * 
	 * i = 1 1个表达式
	 * i = 2 2个表达式
	 * ..
	 * i = 9 9个表达式
	 * @param args
	 */
	public static void main(String[] args) {
		for(int i = 1 ; i <= 9 ; i ++){
			for(int j = 1 ;j <= i ; j ++){
				System.out.print(j + " × " + i + " = " +  i*j + "\t");
			}
			System.out.println();
		}

	}

}

输出的结果

代码语言:javascript
复制
1×1=1	
1×2=2	2×2=4	
1×3=3	2×3=6	3×3=9	
1×4=4	2×4=8	3×4=12	4×4=16	
1×5=5	2×5=10	3×5=15	4×5=20	5×5=25	
1×6=6	2×6=12	3×6=18	4×6=24	5×6=30	6×6=36	
1×7=7	2×7=14	3×7=21	4×7=28	5×7=35	6×7=42	7×7=49	
1×8=8	2×8=16	3×8=24	4×8=32	5×8=40	6×8=48	7×8=56	8×8=64	
1×9=9	2×9=18	3×9=27	4×9=36	5×9=45	6×9=54	7×9=63	8×9=72	9×9=81

5.计算若干个学生5门课的平均分。

代码语言:javascript
复制
package com.bobo.forfor;

import java.util.Scanner;

public class QTDemo05 {

	/**
	 * 计算若干个学生5门课的平均分。
	 *    提示:
	 *       外层循环一次处理一个学生
	 *       内层循环一遍处理一个学生的五门成绩
	 * @param args
	 */
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		System.out.println("输入学生的个数:");
		int num = in.nextInt();
		
		for(int i = 1 ; i <= num ; i ++){
			double sum = 0.0 ; // 记录当前学生的总成绩
			for(int j = 0 ; j < 5 ; j ++){ // 五门课程 内层循环5次
				// 获取该学生的每门课程的成绩
				double score = 0.0;
				System.out.println("请输入第" + i + "个学生的第" + (j+1) + "门的成绩");
				score = in.nextDouble();
				sum += score;
			} // 通过一次内层循环获取到该学生的总成绩
			System.out.println("第" + i + "个学生的平均成绩是:" + sum/5);
		}

	}

}

6.break、continue、return关键字

6.1 break关键字
6.1.1 break关键字介绍

​ 在循环过程中我们要跳出循环的时候那么可以通过break关键字来实现,改变程序控制流。

用户do-while、while、for循环中,可以跳出循环而执行循环以后的语句

6.1.2 使用的场合
  1. 循环语句中(单层循环、嵌套循环)
  2. switch语句
6.1.3 课堂案例

1.打印1到10个数,遇到4的倍数程序自动退出

代码语言:javascript
复制
package com.bobo.breakdemo;

public class BreakDemo01 {

	/**
	 * 打印1到10个数,遇到4的倍数程序自动退出
	 * @param args
	 */
	public static void main(String[] args) {
		for( int i = 1 ;i <= 10 ; i++){
			if(i % 4 == 0){
				break; // 跳出循环 执行之后的代码
			}
			System.out.println(i);
		}
		System.out.println("程序结束...");

	}

}

2.循环录入学生成绩,求和。如果输入的成绩为负数。则停止输入,给出错误的提示

代码语言:javascript
复制
package com.bobo.breakdemo;

import java.util.Scanner;

public class BreakDemo02 {

	/**
	 * 循环录入学生成绩,求和。如果输入的成绩为负数。则停止输入,给出错误的提示
	 * @param args
	 */
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int sum = 0;
		int i = 1; // 记录循环的次数
		while(true){
			System.out.println("请输入第" + i + "个学生的成绩:");
			int score = in.nextInt();
			if(score < 0){
				// 表示是负数
				System.out.println("你输入的数据有误!!!");
				break; // 退出循环
			}
			sum += score;
			System.out.println("sum = " +sum);
			i++;
		}
	}

}

3.嵌套循环中的break;只能跳出包裹的那层循环

代码语言:javascript
复制
    public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {

            for (int j = 0; j < 5; j++) {

                if(j == 3 && i ==2){
                    break;
                }
                System.out.print( i + "+ " + j + " = " + (i + j ) + "\t" );
            }
            //break;
            System.out.println();
        }
    }
6.2 continue 关键字

作用:continue关键字用于跳过某个循环语句的一次执行,下一次循环还会继续

使用的场合:跳过循环体中剩余的语句而执行下一次循环

代码语言:javascript
复制
package com.bobo.continuedemo;

import java.util.Scanner;

public class ContinueDemo01 {

	/**
	 * 循环录入Java课程的学生成绩,统计分数大于等于80分的学生比例
	 * 分析:
	 *    1.通过循环获取分数大于等于80分的学生人数num
	 *    2.判断成绩是否<80分,满足条件不执行num++,直接进入下一次循环
	 * @param args
	 */
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入班级总的人数:");
		int count = input.nextInt();
		int num = 0 ; // 记录成绩大于等于80分的人数
		for(int i = 0 ; i < count ; i ++){
			System.out.println("请输入第" + i + "个学生的成绩:");
			int score = input.nextInt();
			if(score < 80){
				continue;
			}
			num++;
		}
		System.out.println("80分以上的人数:" + num);
		System.out.println("80分以上的人数的比例:" + num/(double)count);

	}

}
6.3 break和continue的对比

使用场合

  1. break可以用于switch语句和循环结构中
  2. continue只能用于循环结构中

作用:

  1. break语句终止某个循环,程序跳转到循环块外的下一条语句
  2. continue跳出本次循环,进入下一次循环
6.4 课外练习

1.循环录入会员信息

代码语言:javascript
复制
package com.bobo.continuedemo;

import java.util.Scanner;

public class ContinueDemo02 {

	/**
	 * 循环录入会员信息
	 * @param args
	 */
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.println("MyShopping管理系统....");
		for(int i = 0 ; i < 3 ; i ++){
			System.out.println(i + "请输入会员号<4位整数>");
			int vipNumber = input.nextInt();
			System.out.println("请输入会员生日(月/日 用俩位整数表示):");
			String birthday = input.next();
			System.out.println("请输入会员的积分:");
			int score = input.nextInt();
			
			if( !(vipNumber >=1000 && vipNumber < 10000)){
				System.out.println("客户号" + vipNumber + "无效");
				System.out.println("录入信息失败...");
				continue;
			}
			
			System.out.println("您录入的会员信息是:");
			System.out.println(vipNumber + "\t" + birthday + "\t" + score);
		}

	}

}

2.模拟验证用户登录信息

录入成功:

代码语言:javascript
复制
package com.bobo.continuedemo;

import java.util.Scanner;

public class ContinueDemo03 {

	/**
	 * 模拟用户登录操作
	 *   情况:
	 *      1.登录成功
	 *      2.登录失败,提示可以使用的登录次数,
	 *      3.登录失败的次数超过了规定的次数,就不让再登录
	 * @param args
	 */
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		for(int i = 0 ; i < 3 ; i ++){ // 循环控制登录的次数
			System.out.println("请输入登录的账号:" );
			String userName = input.next();
			System.out.println("请输入密码:");
			String password = input.next();
			// 判断账号密码是否正确 admin  123456
			if("admin".equals(userName) && "123456".equals(password)){
				// 表示登录成功
				System.out.println("欢迎光临MyShopping管理系统....");
				break; // 跳出循环
			}
			
			// 表示登录失败
			
			if(i == 2){
				System.out.println("对不起,您3次机会都输入错误~~");
				continue;
			}
			
			System.out.println("认证失败,您还有" + (2-i) + "次机会");
		}

	}

}
6.5 return关键字

​ return关键字的作用是从当前方法中退出。返回到调用该方法的语句处,并且从该语句的下一条语句处开始执行。还没有讲方法,我们会在下节课中给大家详细介绍

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Java零基础系列课程-JavaSE基础篇
  • 四、循环语句
    • 1.for循环
      • 1.1 for循环的语法格式
      • 1.2 for循环的执行流程
      • 1.3 课堂案例
      • 1.4 for循环的注意事项
    • 2.while循环
      • 2.1 语法格式
      • 2.2 while语句的执行顺序
      • 2.3 课堂案例
    • 3.do while循环
      • 3.1 语法格式
      • 3.2 执行顺序
      • 3.3 课堂案例
    • 4. while循环和for循环的对比
      • 5.嵌套循环
        • 5.1 嵌套循环的格式
        • 5.2 嵌套循环的规则
        • 5.3 课堂案例
      • 6.break、continue、return关键字
        • 6.1 break关键字
        • 6.2 continue 关键字
        • 6.3 break和continue的对比
        • 6.4 课外练习
        • 6.5 return关键字
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档