Java程序控制结构

简介: Java程序控制结构

程序流程控制介绍

  1. 顺序控制
  2. 分支控制
  3. 循环控制

if 分支

switch 分支结构

switch(表达式){
    case常量1;
    语句块1;
    break;
    case常量2;
    语句块2;
    break;
    ...
    case常量n;
    语句块n;
    break;

    default:
    default语句块;
    break;
}
  1. 表达式数据类型,应和case后的常量类型一致,或者是可以自动转成可以相互比较的
    类型,比如输入的是字符,而常量是int
  2. switch(表达式)中表达式的返回值必须是:(byte,short,int,char,enum[枚举],String)

  1. case子句中的值必须是常量,而不能是变量
  2. default子句是可选的,当没有匹配的case时,执行default
  3. 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 passwd = "";
        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 使用在方法,表示跳出所在的方法。


文章和代码已经归档至【Github仓库: https://github.com/timerring/java-tutorial 】或者公众号【AIShareLab】回复 java 也可获取。
目录
相关文章
|
2月前
|
Java 流计算
利用java8 的 CompletableFuture 优化 Flink 程序
本文探讨了Flink使用avatorscript脚本语言时遇到的性能瓶颈,并通过CompletableFuture优化代码,显著提升了Flink的QPS。文中详细介绍了avatorscript的使用方法,包括自定义函数、从Map中取值、使用Java工具类及AviatorScript函数等,帮助读者更好地理解和应用avatorscript。
利用java8 的 CompletableFuture 优化 Flink 程序
|
3月前
|
XML 存储 JSON
Java程序部署
Java程序部署
|
21天前
|
JSON Java 程序员
Java|如何用一个统一结构接收成员名称不固定的数据
本文介绍了一种 Java 中如何用一个统一结构接收成员名称不固定的数据的方法。
24 3
|
1月前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
64 1
|
21天前
|
SQL 安全 Java
Java 异常处理:筑牢程序稳定性的 “安全网”
本文深入探讨Java异常处理,涵盖异常的基础分类、处理机制及最佳实践。从`Error`与`Exception`的区分,到`try-catch-finally`和`throws`的运用,再到自定义异常的设计,全面解析如何有效管理程序中的异常情况,提升代码的健壮性和可维护性。通过实例代码,帮助开发者掌握异常处理技巧,确保程序稳定运行。
36 0
|
2月前
|
存储 算法 Java
🚀Java零基础-顺序结构详解 🚀
【10月更文挑战第11天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
36 6
|
2月前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
126 2
|
2月前
|
安全 Java Linux
java程序设置开机自启
java程序设置开机自启
151 1
|
2月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
66 1
|
2月前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
58 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用