首页 > 编程语言 >二、3、java基础之流程控制语句

二、3、java基础之流程控制语句

时间:2023-11-01 11:33:58浏览次数:29  
标签:语句 case java 流程 break switch 循环 public

一、顺序结构

根据代码的书写顺序进行执行代码

二、选择结构

            if选择语句:

          格式1:if(关系表达式){

                语句体; }

          格式2:if(关系表达式){

                语句体1;

              }else{

                语句体2; }

          格式3:if(关系表达式){

                语句体1;

              }else{

                语句体2; }……

          格式4:if(关系表达式1){

                  语句体1;

               }else if(关系表达式2){

                  语句体2;

              }...else{ 语句体n; }

      switch语句:

            定义格式:

                                                         switch(表达式){
                case 常量值1: 语句体1;break;
                case 常量值2: 语句体1;break;
                case 常量值3: 语句体1;break;
                case 常量值4: 语句体1;break;
                case 常量值5: 语句体1;break;
                case 常量值6: 语句体1;break;
                ...
                default:语句体n;break;
                }

            switch语句的注意事项:

                     1)switch语句严格按照先匹配对应的case,如果有匹配的case就会执行对应的语句体,如果没有匹配的case,才会运行default语句。
            2)switch与语句小括号中可以是byte,short,int,char,枚举,String
               3)能不能不写break? 如果可以,那么会出现什么情况?可以不写,但是可能会出现switch穿透
               4)default语句一定要写吗?可以不写,但是为了程序的严谨性,最好写上一个
               5)default语句一定是写在最后一个吗?不一定
               6) case后面只能是常量,不能是变量
            执行流程:严格按照先匹配对应的case,如果匹配到就会执行对应的语句体,直到运行break,结束整个语句,若没有匹配的case,最后才会执行default中的语句体

三、循环结构

1、for循环:

    语句定义格式:for(初始化条件语句;判断条件语句;控制条件语句){ 循环体; }

    双重for循环:for(){

            for(){

          }}

package com.shujia.day03.ketang;
public class ForDemo2 { public static void main(String[] args) { /** * * 需求:请输出如下图形 * * 第1行,共1列 * * * 第2行,共2列 * * * * 第3行,共3列 * * * * * 第4行,共4列 * * * * * * 第5行,共5列 * ... 第i行,共i列 * 结论:每一行的最大列数与该行数一样 */ for (int i = 1; i <= 5; i++) {// 外层for循环控制的是行数 for (int j = 1; j <= i; j++) {// 内层for循环控制的是每一行的列数 System.out.print("*\t"); } System.out.println(); } System.out.println("----------------------------------"); for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { System.out.print("*\t"); } System.out.println(); } System.out.println("----------------------------------"); 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. 初始化条件语句能不能不写? 不能循环要有一个前提,如果不写,可能会造成死循环
2. 初始化条件语句能不能写在for循环的外面? 能,当你需要for循环结束后的变量的话,就可以定义在外面,作用域大一些
3. 大括号能不能省略? 当循环体语句只有一行的时候可以省略,其他情况不能省略. 建议永远不要省略

 

2、while循环

语句定义格式: 

        初始化条件语句;

         while(判断条件语句){

            循环体语句;

            控制条件语句; }

do.while循环

语句定义格式:

      初始化条件语句; do{

                循环体语句;

                控制条件语句;

                 }while(判断条件语句);

 

3、结论

(1)、while循环是先判断,当判断结果为true的时候才会执行循环体,而do..while循环会先执行一次循环体,再进行判断

(2)、当确定范围循环次数的时候,优先考虑for循环

(3)、当次数不确定的时候,优先考虑while循环

 

四、跳转控制语句

1、break:

作用在switch语句和循环语句中,表示结束整个语句

package com.shujia.day03.ketang;

/*
    break: 打碎,终止,打破,结束了
    作用场景: 作用在switch语句和循环语句中
 */
public class BreakDemo1 {
    public static void main(String[] args) {
        //break语句无法脱离场景单独使用,没有意义
//        break;

        //需求: 打印1-10,当打印到5的时候,使用break
        for (int i = 1; i <= 10; i++) {
            System.out.println(i);
            if(i==5){
                break; //结束整个循环
            }
        }
        System.out.println("---------------------------------");
        //需求: 九九乘法表中,当外层for循环i==5的时候使用break
        wc:for(int i=1;i<=9;i++){
            nc:for(int j=1;j<=i;j++){
                System.out.print(i+"*"+j+"="+(i*j)+"\t");
                if(j==5){
//                    break; //默认情况下,跳出并结束最近那个循环
                    break wc; //如果想要结束其他外层循环,使用标签进行退出
                }
            }
            System.out.println();
        }
    }
}

 

2、continue

作用在循环语句中,表示结束当次循环

package com.shujia.day03.ketang;

/*
    continue: 继续
    使用场景: 作用在循环语句中

 */
public class ContinueDemo1 {
    public static void main(String[] args) {
        //单独使用毫无意义,需要作用在循环语句中
//        continue;

        //当i==5的时候使用continue
        for(int i=1;i<=10;i++){
            if(i==5){
                continue; //结束当次循环
            }
            System.out.println(i);
        }
    }
}

 

3、return

作用在方法内部,表示结束整个方法

 

package com.shujia.day03.ketang;

/*
    return: 返回
    作用场景: 作用在方法中最后一句话,用于返回一个返回值,相当于结束一个方法
 */
public class ReturnDemo1 {
    public static void main(String[] args) {
        return; //作用在方法中的最后一句,方法结束了
//        System.out.println("hello world");
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

标签:语句,case,java,流程,break,switch,循环,public
From: https://www.cnblogs.com/SIKE231310/p/17802522.html

相关文章

  • Java流程控制_03死循环、循环嵌套
    1、死循环 2、循环嵌套 ......
  • JavaScript 的力量
    JavaScript是一个超越React领域的强大力量。虽然React在现代Web开发中的受欢迎程度是不可否认的,但了解JavaScript的多功能性和实际应用程序是基础。用于事件处理和DOM操作等,JavaScript的统治地位远远超出了React;它是现代网络开发的基石。这些扩展示例展示了其在事件......
  • Java关于stream处理数据的一些操作
    classUserPo{  privateStringname;  privateDoublescore;} List<UserPo>list=newArrayList<>();    list.add(newUserPo("小一",10.d));    list.add(newUserPo("小五",50.d));    list.add(newUserPo(......
  • java for循环内部使用线程
    /***1、业务场景* 1、定时执行时,可能出现数据量大,执行不完,线程直接被终止掉,丢数据。*/importjava.util.ArrayList;importjava.util.List;importjava.util.concurrent.ExecutorService;importjava.util.concurrent.Executors;/***1、首先创建线程池,针对线程池开......
  • 如何用Java实现一个线程安全的HashMap?
    有以下几种方式可以实现线程安全的HashMap:使用ConcurrentHashMap类实现:ConcurrentHashMap是Java集合框架中的一个类,它是线程安全的HashMap实现。ConcurrentHashMap的实现方式是将一个大的Map拆分成多个小的Map片段,每个Map片段上都有自己的锁,这样多个线程在访问不同的Map片段时就可......
  • 二、2、java基础之运算符与键盘录入(scanner)
    一、运算符分类:算术运算符:+,-,*,/,++,--赋值运算符:=,+=,-=,*=,/=,%=关系运算符:==,>,<,>=,<=,!=逻辑运算符:&,|,^,~,||,&&位运算符:&,|,^,~,<<,>>,>>>三目运算符:(关系表达式)?表达式1:表达式2;packagecom.shujia.day02;/*三目运算符......
  • java 开发中VO、PO、DO、DTO、BO、QO、DAO、POJO各种傻傻分不清
    VO(ValueObject):值对象,主要用于业务层之间的数据传递,是方法返回类型。例如,一个方法需要返回用户的信息,可以创建一个UserVO,包含用户的姓名、年龄等信息。PO(PersistentObject):持久化对象,用于表示数据库中的一条记录,与数据库表一一对应。例如,数据库中有一个用户表,可以创建一个Use......
  • Java SDK的二次开发
    要进行JavaSDK的二次开发,您可以按照以下步骤进行操作:下载SDK:首先,您需要从相关服务或平台的官方网站下载适用于Java的SDK。通常,这些SDK都会以压缩文件(如.zip或.tar.gz)的形式提供。解压SDK:将SDK压缩文件解压到您的工作目录中,并确保您具有读写该目录的权限。导入SDK:在您的Java项目中,......
  • JavaScript能否实现在线Excel附件的上传与下载?
    前言在本地使用Excel时,经常会有需要在Excel中添加一些附件文件的需求,例如在Excel中附带一些Word,CAD图等等。同样的,类比到Web端,现在很多人用的在线Excel是否也可以像本地一样实现附件文件的操作呢?答案是肯定的,不过和本地不同的是,Web端不会直接打开附件,而是使用超链接单元格的形式来......
  • 二、1、java基础之关键字、标识符、注释、常量、变量及数据类型
    1、关键字关键字是被java语言赋予特殊含义的单词,其中goto和const作为保留字存在,字母都是小写2、标识符用于起名字的规则,对变量,类,接口等起名字的字符序列规则:可以使用大小写字母,可以存在数字。可以使用$和_注意事项:不能以数字开头,不能与关键字重名,区分大小写,见名知意常见的命......