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跳到这里
目录
相关文章
|
10天前
|
Java
死磕-java并发编程技术(二)
死磕-java并发编程技术(二)
|
10天前
|
存储 Java 调度
死磕-java并发编程技术(一)
死磕-java并发编程技术(一)
|
6天前
|
传感器 监控 数据可视化
【Java】智慧工地解决方案源码和所需关键技术
智慧工地解决方案是一种新的工程全生命周期管理理念。它通过使用各种传感器、数传终端等物联网手段获取工程施工过程信息,并上传到云平台,以保障数据安全。
30 7
|
12天前
|
缓存 负载均衡 Dubbo
Dubbo技术深度解析及其在Java中的实战应用
Dubbo是一款由阿里巴巴开源的高性能、轻量级的Java分布式服务框架,它致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。
39 6
|
10天前
|
XML JavaScript Java
NekoHTML 是一个基于Java的HTML扫描器和标签补全器
**NekoHTML** 是一个基于Java的HTML扫描器和标签补全器(tag balancer),由J. Andrew Clark开发。它主要用于解析HTML文档,并能够“修正”许多在编写HTML文档过程中常犯的错误,如增补缺失的父元素、自动用结束标签关闭相应的元素,以及处理不匹配的内嵌元素标签等。这使得程序能够以标准的XML接口来访问HTML文档中的信息。 ### NekoHTML的主要特点包括: 1. **错误修正**:能够自动修正HTML中的常见错误,如未闭合的标签等。 2. **DOM树生成**:将HTML源代码转化为DOM(Document Object Model)结构,便
|
22天前
|
存储 负载均衡 Java
Jetty技术深度解析及其在Java中的实战应用
【9月更文挑战第3天】Jetty,作为一款开源的、轻量级、高性能的Java Web服务器和Servlet容器,自1995年问世以来,凭借其卓越的性能、灵活的配置和丰富的扩展功能,在Java Web应用开发中占据了举足轻重的地位。本文将详细介绍Jetty的背景、核心功能点以及在Java中的实战应用,帮助开发者更好地理解和利用Jetty构建高效、可靠的Web服务。
32 2
|
27天前
|
Java 程序员 编译器
Java的反射技术reflect
Java的反射技术允许程序在运行时动态加载和操作类,基于字节码文件构建中间语言代码,进而生成机器码在JVM上执行,实现了“一次编译,到处运行”。此技术虽需更多运行时间,但广泛应用于Spring框架的持续集成、动态配置及三大特性(IOC、DI、AOP)中,支持企业级应用的迭代升级和灵活配置管理,适用于集群部署与数据同步场景。
|
26天前
|
算法 Oracle Java
Java字符串拼接技术演进及阿里巴巴的贡献
本文主要讲述了Java字符串拼接技术的演进历程,以及阿里巴巴贡献的最新实现 PR 20273。
|
16天前
|
Kubernetes Cloud Native Java
探索未来编程新纪元:Quarkus带你秒建高性能Kubernetes原生Java应用,云原生时代的技术狂欢!
Quarkus 是专为 Kubernetes 设计的全栈云原生 Java 框架,凭借其轻量级、快速启动及高效执行特性,在 Java 社区脱颖而出。通过编译时优化与原生镜像支持,Quarkus 提升了应用性能,同时保持了 Java 的熟悉度与灵活性。本文将指导你从创建项目、编写 REST 控制器到构建与部署 Kubernetes 原生镜像的全过程,让你快速上手 Quarkus,体验高效开发与部署的乐趣。
15 0
|
29天前
|
关系型数据库 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应用提供了一个坚实的基础。
37 0
下一篇
无影云桌面