JAVASE---Day05

此部分主要学习java中的相关结构,主要是顺序结构、选择结构以及循环结构。

Switch多选择结构

多选择结构还有一个实现方式就是switch case语句

switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

Switch语句中的变量类型可以是:byte、short、int或者char,从Java SE7开始,switch支持字符串String类型,同时case标签必须为字符串常量或者字面量。

 switch(expression){
          case value:
              //语句    
              break;
           case value:
              //语句    
              break;
           case value:
              //语句    
              break;//可选
      //你可以有任意数量的case语句
          default ://可选
  }

循环结构

  • While循环

  • do ...while循环

  • for循环

  • Java5中引入了一种增强for循环

Do...while循环

  • 对于while 语句而惑,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。

  • do...while 循环和While 循环相似,不同的是do...while 循环和do...while 循环至少会执行一次。

  •  do {
      ​
      //代码语句
      ​
      }while(布尔表达式);

    While和do-While的区别:

  • ​ while先判断后执行。dowhile是先执行后判断!

    ​ Do...while总是保证循环体会被至少执行一次!这是他们的主要差别。

  •   
    
    //while循环和和do....while 循环相关
      //while循环会先判断而后执行,do..while则是限制性而后进行判断
      public class Demo10While {
          public static void main(String[] args) {
              int a =  0;
              while (a<0){
                  System.out.println(a);
                  a++;
              }
              System.out.println("============");
              do {
                  System.out.println(a);
                  a++;
              }while (a<0);
          }
      }
     

    For循环

    虽然所有循环结构都可以用 while 或者 do...while表示,但 Java 提供了另一种语句 -- for循环,使一些循环结构变得更加简单。for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。

    for循环执行的次数是在执行前就确定的。语法格式如下:

      
      for(初始化;布尔表达式;更新){
          //代码语句
      }

    ​◆练习1:计算0到100之间的奇数和偶数的和

    ◆ 练习2:用while或for循环输出1

    ◆ 练习3:打印九九乘法表

    package Base;
    
    public class Demo15Test {
        //打印三角形 5行
        public static void main(String[] args) {
            System.out.println("打印三角形:");
            for (int i = 1; i <= 5; i++) {
                for (int j = 5; j >=i ; j--) {
                    System.out.print(" ");
                }
                for (int j = 1; j <=i ; j++) {
                    System.out.print("*");
                }
                for (int j = 1; j <i ; j++) {
                    System.out.print("*");
    
                }
                System.out.println();
            }
    
        }
    }
    

    关于 for 循环有以下几点说明:

    最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。

    然后,检测布尔表达式的值。如果为 true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。

    执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。再次检测布尔表达式。循环执行上面的过程。

    增强for循环

    //增强for循环
      public class Demo13For {
          public static void main(String[] args) {
              int[] numbers={1,2,3,4,5};
              //增强for循环遍历数组
              for(int x:numbers){
                  System.out.print(x+"\t");
              }
              System.out.println();
              System.out.println("=================");
              //数组遍历
              for (int i = 0; i < numbers.length; i++) {
                  System.out.print(numbers[i]+"\t");
              }
          }
      }
      

break和continue

◆break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)

◆continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

◆关于goto关键字

  • goto关键字很早就在程序设计语言中出现。尽管goto仍是Java的一个保留字,但并未在语言中得到正式使用;Java没有goto。然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子---带标签的break和continue.

  • “标签”是指后面跟一个冒号的标识符,例如🏷

  • 对Java来说唯一用到标签的地方是在循环语句之前。而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。

    break示例:

  •  public class Demo14Break {
          public static void main(String[] args) {
      ​
              for (int i = 0; i < 100; i++) {
                  System.out.println(i);
                  if (i==30){
                   break;
                  }
      ​
              }
          }
      }
    continue示例:  
     
 public class Demo14Continue {
      public static void main(String[] args) {
          for (int i = 0; i <= 100; i++) {
  ​
              if (i%10==0){
                  System.out.println();
                  continue;
              }
              System.out.print(i+"\t");
  ​
          }
      }
  }

打印三角形


  public class Demo15Test {
      //打印三角形 5行
      public static void main(String[] args) {
          System.out.println("打印三角形:");
          for (int i = 1; i <= 5; i++) {
              for (int j = 5; j >=i ; j--) {
                  System.out.print(" ");
              }
              for (int j = 1; j <=i ; j++) {
                  System.out.print("*");
              }
              for (int j = 1; j <i ; j++) {
                  System.out.print("*");
  ​
              }
              System.out.println();
          }
  ​
      }
  }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/571212.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

03-JAVA设计模式-解析器模式

解释器模式 什么是解析器模式 在Java中&#xff0c;解释器模式&#xff08;Interpreter Pattern&#xff09;是一种行为设计模式&#xff0c;它给定一个语言&#xff0c;定义它的文法的一种表示&#xff0c;并定义一个解释器&#xff0c;该解释器使用该表示来解释语言中的句子…

六、e2studio VS STM32CubeIDE之代码自动补全

目录 一、概述/目的 二、eclipse c/c自动补全 2.1 修改实现原理 2.2 修改插件cdt.ui的方法 2.2.1 资料来源 2.2.2 修改的主要流程或逻辑 2.2.3 失败的原因 三、呼吁st和Renesas厂家支持自动补全代码 六、e2studio VS STM32CubeIDE之代码自动补全 一、概述/目的 eclipse…

解决:前端bootstrap的fileInput插件

项目场景&#xff1a; 帮朋友做一个后台管理系统遇到文件上传回显异常的问题。 项目是单体架构&#xff0c;没有前后端分离&#xff0c;前端使用的bootstrap3Thymeleaf。上传插件用的是fileInput。 问题描述&#xff1a; 上传没有问题&#xff0c;完成后点击编辑再次进入无…

从本地创建项目到 Gitee 提交的完整教程

1、本地创建一个新项目 2.进入想上传的项目的文件夹&#xff0c;然后右键点击git bash 3.初始化本地环境&#xff0c;把该项目变成可被git管理的仓库 4.添加该项目下的所有文件到暂存区 5.使用如下命令将文件添加到仓库中去 6.在gitee上创建以自己项目名称命名的空项目 7.将本地…

springboot结合elasticJob

先说一说什么是elasticJob。 ElasticJob是一个分布式任务调度的解决方案&#xff0c;它由俩个相互独立的子项目Elastic-job-lite和Elastic- job-cloud组成。 任务调度&#xff1a;是指系统为了自动完成特定任务&#xff0c;在任务的特定时刻去执行任务的过程。 分布式&#xf…

窗函数的选择

不同的窗函数实质上时对矩形窗进行了不同程度的加权得到的不同类型的窗函数。 将模拟角频率转换为了数字角频率 矩形窗旁瓣过大&#xff0c;两个频率的峰值相差较大&#xff0c;因此无法识别&#xff0c;可以使用旁瓣非常小的窗函数来进行分辨&#xff0c;只是想要达到相同的分…

(C++) this_thread 函数介绍

文章目录 &#x1f6a9;前言⭐std::this_thread&#x1f579;️get_id()&#x1f5a5;️Code&#x1f516;get_id介绍&#x1f3f7;️其他介绍 &#x1f579;️sleep_for<>()&#x1f5a5;️Code&#x1f516;sleep_for介绍&#x1f3f7;️其他介绍 &#x1f579;️sleep…

python基础语法--列表

一、列表的概念 列表&#xff08;List&#xff09;是一种有序、可变、允许重复元素的数据结构。列表用于存储一组相关的元素&#xff0c;并且可以根据需要动态地进行增加、删除、修改和访问。以下是列表的主要特点和操作&#xff1a; 有序性&#xff1a; 列表中的元素是按照它…

最新AI创作系统ChatGPT网站源码Midjourney-AI绘画系统,Suno-v3-AI音乐生成大模型。

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧。已支持GPT…

【CVPR2024】文本到图像的行人再识别中的噪声对应学习

这篇论文的标题是《Noisy-Correspondence Learning for Text-to-Image Person Re-identification》,作者是来自中国四川大学、英国诺森比亚大学、新加坡A*STAR前沿人工智能研究中心和高性能计算研究所的研究人员。论文主要研究了文本到图像的行人再识别(Text-to-Image Person…

Unity进阶之ScriptableObject

目录 ScriptableObject 概述ScriptableObject数据文件的创建数据文件的使用非持久数据让其真正意义上的持久ScriptableObject的应用配置数据复用数据数据带来的多态行为单例模式化的获取数据 ScriptableObject 概述 ScriptableObject是什么 ScriptableObject是Unity提供的一个…

Windows抛弃历史包袱:可能带来哪些改善?

在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「 Windows的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01;性能提升固然重要&#xff0…

[NSSCTF]-Reverse:[HUBUCTF 2022 新生赛]simple_RE(base64换表)

无壳 查看ida 可以看得出是base64&#xff0c;而且是换表的。 完整exp&#xff1a; import base64 result5Mc58bPHLiAx7J8ocJIlaVUxaJvMcoYMaoPMaOfg15c475tscHfM/8 biaostr.maketrans(qvEJAfHmUYjBacu8Ph5n9Od17FrICL/X0gVtM4Qk6T2z3wNSsyoebilxWKGZpRD,ABCDEFGHIJKLMNOPQR…

BUUCTF---misc---[SWPU2019]我有一只马里奥

1、下载附件是一个.exe文件 2、运行之后可以看到桌面生成了1.txt文件&#xff0c;文件里面有如下内容 3、经过信息搜索&#xff1a;NTFS&#xff08;New Technology File System&#xff09;是一种由Microsoft开发的专有日志文件系统。根据它的提示&#xff0c;应该是把flag.tx…

编译原理 LR(0)

讲解视频&#xff1a;编译原理LR&#xff08;0&#xff09;分析表&#xff08;上&#xff09;_哔哩哔哩_bilibili 【编译原理】LR(0)分析表分析输入串_哔哩哔哩_bilibili 拓广文法 已知G&#xff1a;S->(S)S | ε 拓广文法&#xff1a; S -> S S -> (S)S S -> ε…

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(二)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 3 - 4节&#xff09; P3《开发准备-了解ArkTS》 鸿蒙开发主要是用来开发移动端应用的。 以前我们开发移动端应用的代码&#xff…

嵌入式4-24

作业&#xff1a; 整理思维导图 定义一个矩形类Rec&#xff0c;包含私有属性length&#xff0c;width&#xff0c;有以下成员函数&#xff1a; void set_length(int l); //设置长度 void set_width(int w); //设置宽度 int get_length(); //获取长度 int get_width(); //获取宽…

【Spring】IOC/DI中常用的注解@Order与@DependsOn

目录 1、Order 注解改变Bean自动注入的顺序 1.1、了解SpringBootTest注解 1.2、Order 注解改变Bean自动注入的顺序 2、DependsOn 改变Bean的创建顺序 1、Order 注解改变Bean自动注入的顺序 在sping中&#xff0c;通过IOC&#xff08;控制反转&#xff09;和DI&#xff08;依…

【分治】Leetcode 数组中的第K个最大元素

题目讲解 数组中的第K个最大元素 算法讲解 堆排序&#xff1a;1. 寻找最后一个节点的父亲&#xff0c;依次向上遍历&#xff0c;完成小堆的建立&#xff1b;2. 从最后一个元素开始&#xff0c;和堆顶的数据做交换&#xff0c;此时最小的数据在对后面&#xff0c;然后对剩下的…

虚幻引擎5 Gameplay框架(一)

GamePlay概论与打包和批处理脚本 GamePlay简介与创建项目 GamePlay框架&#xff1a;用于设计游戏规则&#xff0c;组织和管理游戏核心逻辑、规则以及交互的一套结构化体系。 Default Pawn Class&#xff1a;定义角色行为逻辑&#xff0c;接收玩家控制器的输入&#xff0c;一般…
最新文章