- 流程控制语句关键字break,continue,return不算是流程控制关键字,return会结束方法体。
- break必然和if…else…结合起来使用,和条件判断结合起来使用。break必然离不开if…else…
- break结束当前循环,return直接结束当前方法
- return是结束方法,而break是结束switch或者当前循环体,然后顺序执行循环体后的代码。
- break和continue不能直接和if使用,必须要和循环结构for,while,do…while 配合使用,单return可以直接和if配合使用,直接跳出方法,所以return并不属于流程控制关键字
package com.javasm.for_;
import java.awt.*;
import java.util.Scanner;
/**
* @author: JAVASM
* @classNAME: LoginDemo01
* @description:设置用户登陆,用户有3次机会输入账号密码,账号密码输入正确则打印输出99乘法表
* @date: 2021/3/27 8:22
* @version:0.1
* @since:1.8
*/
public class LoginDemo01 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int count=3;
String trueName="admin";
int truePass=123;
do {
System.out.println("请输入用户名:");
//此处用next()用户输入用户名才能跳转输入密码,如果用nextLine则直接全部跳出来了
String userName = input.next();
System.out.println("请输入密码:");
int userPass = input.nextInt();
count--;
//注意此处userName是String类型可以调用equals,userPass为整型数据不能用equals,用==和!=
if(!userName.equals(trueName)||userPass!=truePass){
if(count==0){
System.out.println("登陆失败");
break;
}
System.out.println("账号或密码错误!登陆失败!,还剩"+count+"次机会");
}else{
System.out.println("登陆成功,欢迎用户"+userName);
//执行登陆成功之后的一些操作
a();
break;//登陆成功,结束当前循环
}
} while (count>0);
}
public static void a() {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(i + "*" + j + "=" + i * j + "\t");
}
System.out.println();
}
}
}
输出结果如下所示:
请输入用户名:
1
请输入密码:
1
-------------------------------------------------
账号或密码错误!登陆失败!,还剩2次机会
请输入用户名:
1
请输入密码:
1
-------------------------------------------------
账号或密码错误!登陆失败!,还剩1次机会
请输入用户名:
admin
请输入密码:
123
登陆成功,欢迎用户admin
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
Process finished with exit code 0
continue和break
for循环内双层if条件判断,加continue跳过某些条件
问题描述:输出1到100之间的偶数,但是不输出4,14,18
package com.javasm.for_;
/**
* @author: JAVASM
* @classNAME: ContinueDemo
* @description:输出1到100之间的偶数,但是不输出4,14,18
* @date: 2021/3/27 9:22
* @version:0.1
* @since:1.8
*/
public class ContinueDemo {
public static void main(String[] args) {
for (int i = 0; i < 50; i++) {
if(i%2==0){
if(i==4||i==14||i==18||i==24||i==34||i==44||i==48)
//加入break,则直接退出循环体
//加入continue,则跳过本次循环
continue;//跳过最外层的本次for循环
System.out.println("偶数:"+i);
}
}
}
}
代码输出如下:
偶数:0
偶数:2
偶数:6
偶数:8
偶数:10
偶数:12
偶数:16
偶数:20
偶数:22
偶数:26
偶数:28
偶数:30
偶数:32
偶数:36
偶数:38
偶数:40
偶数:42
偶数:46
Process finished with exit code 0