java核心技术卷中的细节(1- 带下划线的数字、带标签的break)

简介: java核心技术卷中的细节(1- 带下划线的数字、带标签的break)

带下划线的数字表示

从java7开始,可以为数字字面量加下划线,如:
1_000_000或者(0b1111_0100_0010_0100_0000)表示100万。

验证一下:

  • 1_000_000
    public static void main(String[] args) {
        int num = 1_000_000;
        System.out.println("1_000_000 = " + num);
    }

在这里插入图片描述

  • 0b1111_0100_0010_0100_0000
    public static void main(String[] args) {
        int num_0b = 0b1111_0100_0010_0100_0000;
        System.out.println("0b1111_0100_0010_0100_0000 = " + num_0b);
    }

在这里插入图片描述

带标签的break

break可以用于switch或者是循环语句中,以结束一个switch语句或者结束当前所在的循环语句。

你是否见过这样的break(==带标签的break==):

    public static void main(String[] args) {
        int n=0;

        addN:
        for(int i=0;i<100;i++){
            for(int j=0;j<100;j++){
                ++n;
                if(n==20){
                    break addN;
                }
            }
        }

        System.out.println(n);
    }

在这里插入图片描述

带标签的break通常用于多层循环嵌套中,在某一个循环前面加一个标签,在退出循环的时候用break+标签跳出多层循环到标签处,并且不会再次进入到刚才的循环中。

使用普通的break执行上述程序:

    public static void main(String[] args) {
        int n=0;
        
        for(int i=0;i<100;i++){
            for(int j=0;j<100;j++){
                ++n;
                if(n==20){
                    break;
                }
            }
        }

        System.out.println(n);
    }

在这里插入图片描述
==普通的break语句只能跳出单层循环,而带标签的break语句可以跳出多层循环(即跳回到标签所在的位置,但不会再次进入循环)。==

事实上,可以将标签应用到任何语句,甚至可以将其应用到if语句或者块语句,如下所示:

label:
{
  if(condition) break label;
}
// break跳到这里
目录
相关文章
|
18天前
|
Java API
Java技术体系
Java技术体系包括运行于Java虚拟机上的各种语言及其相关程序,传统上由Java程序设计语言、Java虚拟机、Class文件格式、Java API类库以及第三方类库组成,可进一步细分为Java Card、Java ME、Java SE和Java EE四个平台。
32 3
Java技术体系
|
8天前
|
存储 负载均衡 Java
Jetty技术深度解析及其在Java中的实战应用
【9月更文挑战第3天】Jetty,作为一款开源的、轻量级、高性能的Java Web服务器和Servlet容器,自1995年问世以来,凭借其卓越的性能、灵活的配置和丰富的扩展功能,在Java Web应用开发中占据了举足轻重的地位。本文将详细介绍Jetty的背景、核心功能点以及在Java中的实战应用,帮助开发者更好地理解和利用Jetty构建高效、可靠的Web服务。
23 2
|
13天前
|
Java 程序员 编译器
Java的反射技术reflect
Java的反射技术允许程序在运行时动态加载和操作类,基于字节码文件构建中间语言代码,进而生成机器码在JVM上执行,实现了“一次编译,到处运行”。此技术虽需更多运行时间,但广泛应用于Spring框架的持续集成、动态配置及三大特性(IOC、DI、AOP)中,支持企业级应用的迭代升级和灵活配置管理,适用于集群部署与数据同步场景。
|
12天前
|
算法 Oracle Java
Java字符串拼接技术演进及阿里巴巴的贡献
本文主要讲述了Java字符串拼接技术的演进历程,以及阿里巴巴贡献的最新实现 PR 20273。
|
17天前
|
算法 Oracle Java
Java字符串拼接技术演进及阿里巴巴的贡献
本文主要讲述了Java字符串拼接技术的演进历程,以及阿里巴巴贡献的最新实现 PR 20273。
|
21天前
|
SQL Java 关系型数据库
探索Java数据库连接的奥秘:JDBC技术全攻略
探索Java数据库连接的奥秘:JDBC技术全攻略
40 8
|
2天前
|
Kubernetes Cloud Native Java
探索未来编程新纪元:Quarkus带你秒建高性能Kubernetes原生Java应用,云原生时代的技术狂欢!
Quarkus 是专为 Kubernetes 设计的全栈云原生 Java 框架,凭借其轻量级、快速启动及高效执行特性,在 Java 社区脱颖而出。通过编译时优化与原生镜像支持,Quarkus 提升了应用性能,同时保持了 Java 的熟悉度与灵活性。本文将指导你从创建项目、编写 REST 控制器到构建与部署 Kubernetes 原生镜像的全过程,让你快速上手 Quarkus,体验高效开发与部署的乐趣。
9 0
|
15天前
|
关系型数据库 Java MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【9月更文挑战第6天】在Linux环境下安装JDK 1.8、Tomcat和MariaDB是搭建Java Web应用的关键步骤。本文详细介绍了使用apt-get安装OpenJDK 1.8、下载并配置Tomcat,以及安装和安全设置MariaDB(MySQL的开源分支)的方法。通过这些步骤,您可以快速构建一个稳定、高效的开发和部署环境,并验证各组件是否正确安装和运行。这为您的Java Web应用提供了一个坚实的基础。
30 0
|
21天前
|
C# 前端开发 UED
WPF数据验证实战:内置控件与自定义规则,带你玩转前端数据验证,让你的应用程序更上一层楼!
【8月更文挑战第31天】在WPF应用开发中,数据验证是确保输入正确性的关键环节。前端验证能及时发现错误,提升用户体验和程序可靠性。本文对比了几种常用的WPF数据验证方法,并通过示例展示了如何使用内置验证控件(如`TextBox`)及自定义验证规则实现有效验证。内置控件结合`Validation`类可快速实现简单验证;自定义规则则提供了更灵活的复杂逻辑支持。希望本文能帮助开发者更好地进行WPF数据验证。
38 0
|
22天前
|
缓存 Java API
【技术前沿】JAVA网络编程黑科技:URL与URLConnection的创新应用,带你飞越极限!
【技术前沿】JAVA网络编程黑科技:URL与URLConnection的创新应用,带你飞越极限!
28 0