Java程序控制结构
JAVA 结构 程序控制
2023-06-13 09:18:47 时间
程序流程控制介绍
- 顺序控制
- 分支控制
- 循环控制
if 分支
switch 分支结构
switch(表达式){
case常量1;
语句块1;
break;
case常量2;
语句块2;
break;
...
case常量n;
语句块n;
break;
default:
default语句块;
break;
}
- 表达式数据类型,应和case后的常量类型一致,或者是可以自动转成可以相互比较的 类型,比如输入的是字符,而常量是int
- switch(表达式)中表达式的返回值必须是:(byte,short,int,char,enum[枚举],String)
- case子句中的值必须是常量,而不能是变量
- default子句是可选的,当没有匹配的case时,执行default
- break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有写break,程序会顺序执行到switch结尾,除非遇到break;
for 循环控制
for (循环变量初始化;循环条件;循环变量迭代){
循环操作(可以多条语句);
}
while 循环控制
while(循环条件){
循环体(语句);
循环变量迭代;
}
do…while 循环控制
do{
循环体(语句);
循环变量迭代;
}while(循环条件);
跳转控制语句-break
break 语句用于终止某个语句块的执行,一般使用在switch 或者循环[for , while , do-while]中。
break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块。如果没有指定break,默认退出最近的循环体
例:实现登录验证,有3 次机会,如果用户名为"丁真" ,密码"666"提示登录成功,否则提示还有几次机会,请使用for+break
import java.util.Scanner;
public class BreakExercise02 {
//编写一个main方法
public static void main(String[] args) {
//实现登录验证,有3次机会,如果用户名为"丁真" ,密码"666"提示登录成功,
//否则提示还有几次机会,请使用for+break完成
//
// 思路分析
// 1. 创建Scanner对象接收用户输入
// 2. 定义 String name ; String passwd; 保存用户名和密码
// 3. 最多循环3次[登录3次],如果 满足条件就提前退出
// 4. 定义一般变量 int chance 记录还有几次登录机会
//
// 代码实现
Scanner myScanner = new Scanner(System.in);
String name = "";
String pass = "";
int chance = 3; //登录一次 ,就减少一次
for( int i = 1; i <= 3; i++) {//3次登录机会
System.out.println("请输入名字");
name = myScanner.next();
System.out.println("请输入密码");
passwd = myScanner.next();
//比较输入的名字和密码是否正确
//补充说明字符串 的内容 比较 使用的 方法 equals
// 字符串比较推荐这种写法,可以有效避免空指针。相比于("name".equals(丁真))
if("丁真".equals(name) && "666".equals(passwd)) {
System.out.println("恭喜你,登录成功~");
break;
}
//登录的机会就减少一次
chance--;
System.out.println("你还有" + chance + "次登录机会");
}
}
}
跳转控制语句-continue
continue 语句用于结束本次循环,继续执行下一次循环。
continue 语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环, 这个和前面的标签的使用的规则一样.
跳转控制语句-return
return 使用在方法,表示跳出所在的方法。
相关文章
- java全局变量和局部变量的区别「建议收藏」
- java分布式事务框架_Java分布式事务,及解决方案
- java数组反转,Java数组反转
- Java服务器端结构[通俗易懂]
- java启动器_JAVA基础:Java 启动器如何查找类
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- java数组去重_JAVA数组去重常用方法
- java redis锁_Java中Redis锁的实现[通俗易懂]
- 【说站】Java如何在PDF添加注释
- 大数据必学Java基础(六十七):DelayQueue深入了解
- java softreference_Java引用总结–StrongReference、SoftReference、WeakReference、PhantomReference…[通俗易懂]
- java常用注解校验参数
- java arraydeque poll,Java ArrayDeque「建议收藏」
- JAVA为啥要用stream流处理_java哪个部分最难学
- java反射 getMethod_JAVA 反射 getMethod() 和 invoke() 具体应用[通俗易懂]
- java创建线程池代码_java手写线程池
- JAVA读取csv文件_java读取csv文件某一列
- 并发多线程学习(六)Java线程间的通信
- 460道Java后端面试高频题答案版【模块三:Java并发】
- Java中英文字母汉字混合字符长度值计算详解编程语言
- 学习如何使用Linux环境运行Java程序(linux下的java)
- 服务器使用Java进行Linux服务器监控(java监控linux)
- Linux调用Java实现编程快速开发(linux调用java)
- Java实现Redis过期处理技术(redisjava过期)
- Linux系统如何配置Java?(linux下配置java)
- Java工程师集MySQL技能于一身(java工程师mysql)
- Java程序在Linux系统中实现命令操作(java运行linux命令)
- 提升Java工程师技术Oracle搭配Java的绝佳美妙(java搭配oracle)
- java抓取网页数据获取网页中所有的链接实例分享