【Java】/* JDK 新增语法 */

news2024/9/27 15:30:01

目录

一、yield 关键字

二、var 关键字

三、空指针异常

四、密封类

五、接口中的私有方法

六、instanceof


一、yield 关键字

yield关键字,从Java13开始引⼊。yield关键字⽤于从case的代码块中返回值。

 原本的switch语句写法:

public static void main(String[] args) {
        String data = "one";
        int result = 0; // 接收数据的返回值
        switch (data) {
            case "one":
                result = 1; // 为result重新赋值
                break;
            case "two":
                result = 2; // 为result重新赋值
                break;
            default:
                result = -1; // 为result重新赋值
                break;
        }
        System.out.println(result);
}

简化后: 

 

使用 :yield 来代替 -> :

二、var 关键字

从Java10开始,var被引⼊。

1. 上述代码中,编译器会⾃动推断出name是⼀个String类型,age是⼀个int类型。

为什么使⽤var?

     答:使⽤var可以使代码更简洁。有时候,类型名称可能会⾮常⻓,例如泛型。var就像是⼀个简化器,让你不必反复写出繁琐的类型名。

2. 【使⽤注意事项】:

     ① 不能使⽤var来声明字段。

     ② 不能使⽤var来声明⽅法参数。

     ③ 不能使⽤var来声明⽅法返回类型。

     ④ var声明变量必须初始化,但是不能初始化为null。

总之,不能作为成员变量的类型,方法的参数类型和返回类型,可以作为局部变量的类型(必须初始化),但不能给它初始化为null。

三、空指针异常

JDK17相比于JDK8来说它会给造成空指针异常的原因。

JDK8:

JKD17:

四、密封类

如果一个类被final修饰,则这个类将不能被其他类继承。

1.. JDK17新增了一个密封类的概念,关键字有三个:sealed、no-sealed、permits

2. 【用法简介】

如果一个类被sealed修饰,则这个类表示是一个密封类,它只能被permits关键字后面的类所继承,密封类必须有子类继承它,继承它的子类要么被sealed修饰表示该子类也是密封类,要么被no-sealed修饰表示该子类不是密封类。

3. 【举例】

五、接口中的私有方法

JDK8, 接⼝可以有默认⽅法default 和 static,JDK9之后,可以在接⼝内实现用private修饰的私有⽅法。

六、instanceof

instanceof关键字用于判断参数1引用是否指向的是参数2类型的对象。(注意一下of是小写开头的

等价写法:用于判断参数1引用是否指向的是参数2类型的对象,如果是则将参数1强制转换成参数2类型后,再赋值给参数2类型的变量。

 本篇已完结 ......

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Notion爆红背后,笔记成了AI创业新共识?

在数字化时代,笔记软件已成为我们记录、整理和创造知识的得力助手。本文将带您深入了解Notion以及其他五个AI笔记产品,它们如何通过AI重塑笔记体验,满足我们快速记录、捕捉灵感、智能整理、情感陪伴和自动撰写文章的五大核心需求。 ———— …

NC 在两个长度相等的排序数组中找到上中位数

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 描述 给定两个递增…

项目比赛项目负责人的汇报技巧:如何让每一次汇报都清晰有力

项目比赛项目负责人的汇报技巧:如何让每一次汇报都清晰有力 前言MECE原则:确保全面性与互斥性SCQA结构:讲一个引人入胜的故事逻辑树思维模型:深入挖掘问题根源STAR法则:展示你的行动与成果PREP模型:清晰表达…

SAP 执行程序报错:Screen does not exist.解决办法

当我们第一次执行创建计划协议—ME31L和ME31事务代码的时候,可能会遇到下图中的这个报错,提示屏幕不存在 处理方式:我们要通过激活二级屏幕的方式激活即可。 1、执行事务代码:CMOD 自定义创建一个项目,这里我们创建的是ZMM02,然后点击创建 然后点击增强分配 将程序名称…

Opencv学习-图像翻转变换

1. flip函数介绍(翻转) void cv::flip(InputArray src, OutputArray dst, int flipCode ) src:输入图像。 dst:输出图像,与 src 具有相同的大小、数据类型及通道数。 flipCode:翻转方式标志。数值大于 0 表…

geoserver发布wms服务

注意事项:因为这里我安装的是geoserver2.25.2,所以jdk版本换成11,安装17的时候点击浏览文件,右上角转圈,f12打开控制台发现报错500 1、新建工作空间 2、编辑工作空间 3、添加新的存储仓库 4、选择矢量数据源下的第一个…

嵌入式day18

shell脚本配置 shell编程:(shell/bash(linux) ->命令解释器) 解释类编程语言 边翻译边执行 擅长文件处理,系统操作 开发效率高 执行效率低 移植性好 c语言: 编程型语言 先编译再执行 擅长数…

(leetcode学习)42. 接雨水

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表…

Linux常用命令全

📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️宝剑锋从磨砺出,梅花香自苦寒来 ☁️运维工程师的职责:监…

八大排序--快速排序、希尔排序、冒泡排序、归并排序、堆排序等经典排序算法思想

目录 排序的分类 基本概念 插入排序 直接插入排序 折半插入排序 希尔排序 交换排序 冒泡排序 快速排序 选择排序 简单选择排序 堆排序 二路归并排序 基数排序 选择算法需要考虑的因素 排序的分类 其中比较重要的已做标记,下面来简要介绍一下 基本概…

【Python】任推邦近30日推广数据采集+推送

不知道任推邦是啥的,可以查看之前的文章:夸克网盘扩容N次20T的方法 本文主要是针对夸克网盘的,其他项目有的没有提供接口,如果有也自行抓包,参考修改一下就行了。主要是将接口返回内容以html表格形式进行推送&#xf…

数据结构-二叉树(java实现)及相关的oj题

文章目录 树树的定义:关于树的相关概念:树的实际实现形式(表现形式)树的应用 二叉树二叉树的概念特殊的二叉树二叉树的性质:二叉树的存储实现:二叉树的模拟实现:实现的成员方法与属性&#xff1…

CSS3中动画的制作案例

直接上代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>-webkit-keyframes expand {0% {border-width: 4px;}50% {border-width: 12px;}100% {border-width: 4px;height: 130px;width: 15…

C#对象和类型

属性、方法、字段 字段和属性的区别 在C#中&#xff0c;字段&#xff08;fields&#xff09;和属性&#xff08;properties&#xff09;都是类的成员&#xff0c;它们提供了类存储数据的方式&#xff0c;但它们在用途和功能上有着明显的区别。 字段 字段通常用来存储类…

组合优化与凸优化相关算法 Julia实现

线性规划 方法有单纯形法&#xff08;简单&#xff0c;非多项式&#xff09;&#xff0c;椭圆法&#xff08;复杂&#xff0c;多项式&#xff0c;仅有理论价值&#xff09;&#xff0c;内点法&#xff08;非多项式&#xff0c;实际效率高&#xff09;。 以例子说明&#xff0…

C++第五篇 类和对象(下) 初始化列表

目录 1.再探构造函数 2.类型转换 3.static成员 4.友元 friiend 1.再探构造函数 (1).之前我们实现构造函数时&#xff0c;初始化成员变量主要使用函数体内赋值&#xff0c;构造函数初始化还有一种方式&#xff0c;就是初始化列表&#xff0c;初始化列表的使用方式是以一个冒…

[Spring] SpringBoot统一功能处理与图书管理系统

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…

分销商城小程序系统如何开发

uni-app框架&#xff1a;使用Vue.js开发跨平台应用的前端框架&#xff0c;编写一套代码&#xff0c;可编译到Android、小程序等平台。 框架支持:springboot/Ssm/thinkphp/django/flask/express均支持 前端开发:vue.js 可选语言&#xff1a;pythonjavanode.jsphp均支…

EDI是什么:EDI系统功能介绍

EDI全称Electronic Data Interchange&#xff0c;也被称为“无纸化贸易”。EDI实现企业间&#xff08;B2B&#xff09;自动化通信&#xff0c;帮助贸易伙伴和组织完成更多的工作、加快物流时间并消除人为错误。 EDI遵从国际报文标准&#xff0c;使得业务数据按照结构化或是标准…

音频文件怎么转换成mp3?这5种方法快速转换

音频文件格式繁多&#xff0c;从WAV到FLAC&#xff0c;从AAC到OGG&#xff0c;每一种都有其独特的优势和应用场景。但当我们需要将音频文件分享给朋友、上传到网络平台或进行跨设备播放时&#xff0c;MP3格式因其广泛的兼容性和较小的文件体积&#xff0c;往往成为首选。给大家…