首页 > 编程语言 >java学习_05

java学习_05

时间:2023-10-25 22:01:08浏览次数:29  
标签:case 语句 java 05 System 学习 break println out

if语句

  • lf语句的第一种格式

  • 执行流程:

  • I.首先计算关系表达式的值

  • II. 如果关系表达式的值为true就执行语句体

  • III. 如果关系表达式的值为false就不执行语句体

  • IV.继续执行后面的其他语句

if的注意点:

  1. 大括号的开头可以另起一行书写,但是建议写在第一行的末尾

  2. 在语句体中,如果只有一句代码,大括号可以省略不写

  3. 如果对一个布尔类型的变量进行判断,不要用==号


  • lf语句的第二种格式

  • 执行流程:

  • I.首先计算关系表达式的值

  • lI. 如果关系表达式的值为true就执行语句体1

  • III. 如果关系表达式的值为false就执行语句体2

  • IV.继续执行后面的其他语句


  • lf语句的第三种格式


switch语句

  • 执行流程:

  • I. 首先计算表达式的值。

  • ll.依次和case后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。

  • III.如果所有的case后面的值和表达式的值都不匹配,就会执行default里面的语句体,然后结束整个switch语句。


  • 格式说明:

  • I. 表达式:(将要匹配的值)取值为byteshortintchar。JDK5以后可以是枚举,JDK7以后可以是String。

  • II. case: 后面跟的是要和表达式进行比较的值(被匹配的值)。

  • III. break:表示中断,结束的意思,用来结束switch语句。

  • IV. default:表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。

  • V. case后面的值只能是字面量,不能是变量

  • VI. case给出的值不允许重复


  • default的位置和省略
public class day5_01 {
    public static void main(String[] args) {
        /*
        default的位置和省略
        1.位置 : default,我们可以写在任意位置。只不过习惯会写在最下面
        2.省略 : default,语法不会有问题,但是不建议省略。
        */

        int number = 100;
        switch (number) {

            case 1:
                System.out.println("number的值为1");
                break;
            case 10:
                System.out.println("number的值为10");
                break;
            case 20:
                System.out.println("number的值为20");
                break;
            default:
                System.out.println("number的值不是1,10或者20");
                break;
        }

    }
}


  • case穿透
  1. case穿透
    就是语句体中没有写break导致的。

  2. 执行流程:
    首先还是会拿着小括号中表达式的值跟下面每一个case进行匹配。
    如果匹配上了,就会执行对应的语句体,如果此时发现了break,那么结束整个switch语句。
    如果没有发现break,那么程序会继续执行下一个case的语句体,一直遇到break或者右大括号为止。

  3. 使用场景:
    如果多个case的语句体重复了,那么我们考虑利用case穿透去简化代码。

import java.util.Scanner;

public class day5_03 {
    public static void main(String[] args) {
        /* 需求:键盘录入星期数,输出工作日、休息日。
           (1-5)工作日,(6-7)休息日。*/
        //分析:
        //1.键盘录入星期数
        Scanner sc = new Scanner(System.in);
        System.out.println("请录入一个整数表示星期");
        int week = sc.nextInt();
        //2.利用switch语句来进行选择
        switch (week) {
            case 1, 2, 3, 4, 5 -> System.out.println("工作日");
            case 6, 7 -> System.out.println("休息日");
            default -> System.out.println("没有这个星期");
        }
    }
}



  • switch新特性(jdk12)
public class day05_02 {
    public static void main(String[] args) {
        //需求:
        //123一二三
        /*int number = 1;
        switch (number) {
            case 1:
                System.out.println("一");
                break;
            case 2:
                System.out.println("二");
                break;
            case 3:
                System.out.println("三");
                break;
            default:
                System.out.println("没有这种选项");
                break;*/

        int number = 1;
        switch (number) {
            case 1 -> {
                System.out.println("一");
            }
            case 2 -> {
                System.out.println("二");
            }
            case 3 -> {
                System.out.println("三");
            }
            default -> {
                System.out.println("没有这种选项");
            }
        }

    }
}


switch和if第三种格式各自的使用场景
if的第三种格式:一般用于对范围的判断
switch:把有限个数据一一列举出来,让我们任选其一

标签:case,语句,java,05,System,学习,break,println,out
From: https://www.cnblogs.com/elaina520/p/17785759.html

相关文章

  • Java基础 打印流、字节打印流
      打印流是高级流,也是用来包装基本流的但是打印流不能读,只能写,所以打印流只有输出流 打印流分为两种:PrintStream、PrintWriter两个类1.PrintStream  →  字节打印流2.PrintWriter  →  字符打印流 打印流的特点:1.打印流只能操作文件目的地,不能操作......
  • Python学习笔记
    Python开发环境搭建第1节初始Python第2节Windows环境安装第3节macOS环境安装第4节VSCode安装与应用第5节PyCharm安装与应用第6节pip包管理工具Python工程应用第7节Python工程应用-字符串几种字符串的表示原始字符串:使用反斜杠(\)转义特殊字符的字符串,例如:在P......
  • java01下载typora
    1.在软件管理下载typora,只能试用15天2.新建一个文件夹a,然后里面建一个txt文档,把文档后缀改成md,类型变成MarkDownfiel3.打开a,打开大纲,右键可以输入内容,样式 ......
  • Java拾贝第十一天——IO流之字节流复制图片、视频
    Java拾贝不建议作为0基础学习,都是本人想到什么写什么文件在硬盘或传输时都以字节的形式进行传输。包括图片、视频等。思路:先定位源文件file1作为源文件,file2作为复制文件使用字节流输入流读取file1使用字节流输出流输出file2关闭流。定位源文件,我特地翻出来一张学校......
  • C# 在流行度指数上将超过Java
    2023年10月最新的TIOBE编程语言流行指数表明:C#和Java之间的差距从未如此之小,目前,差异仅为1.2%,如果趋势保持这种状态,C#将在大约2个月内超过Java,TIOBESoftware首席执行官PaulJansen的认为,C#的崛起是以牺牲Java为代价的-Oracle和Kotlin是Java衰落的主要因素。TIOBE指数每月跟踪编......
  • 在Java中,public、protected、包私有(package-private)和私有(private)之间的区别是什么?
    内容来自DOChttps://q.houxu6.top/?s=在Java中,public、protected、包私有(package-private)和私有(private)之间的区别是什么?在Java中,在使用class和interface以及处理继承时,是否有明确的规定何时使用每个访问修饰符,即默认(包私有)、public、protected和private?官方教程(http://doc......
  • java学习每日总结-第五天
    第五天学习//美好的一天,从学java开始今天首先是tomcat的体验,其实这个玩意很早以前就一直在用了,不过吧对他的理解约等于没有,现在知道了tomcat是一个web服务器,用来连接网页和服务器。  学完tomcat之后,终于来到了我之前一直缺少的一部分重要的知识,servlet!  学习了几个小......
  • 《动手学深度学习 Pytorch版》 10.5 多头注意力
    多头注意力(multiheadattention):用独立学习得到的h组不同的线性投影(linearprojections)来变换查询、键和值,然后并行地送到注意力汇聚中。最后,将这h个注意力汇聚的输出拼接在一起,并且通过另一个可以学习的线性投影进行变换,以产生最终输出。对于h个注意力汇聚输出,每一个注意......
  • maven创建普通java项目访问mysql-仅jdbc
    已知:1、maven对普通Java项目的创建,参考 https://www.cnblogs.com/wanjinliu/p/17706089.html 。2、java常规访问mysql数据库,需要用到jdbc驱动。调用的jar包,最新为“mysql-connector-j”--这个名字可以不记得,看见能认识它就行。包、类入门用法,参考 https://www.cnblogs.com/......
  • 一、认识java以及环境变量
    1、Java是一门面向对象的语言,分为:SE、ME、EE;JavaME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等;J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入式系统开发,如手机和PDA的编程;J2EE是Jav......