Java之JDK7的新语法探索

Java之JDK7的新语法探索
前言
感谢! 承蒙关照~
字面量:
各种精致的表达方式:
八进制以0开头,十六进制0X开头,二进制以0B开头.
二进制运算时,应该写成这样才直观:
&15 -> &0B1111
JDK7使用下划线(_)对数据进行分隔.
下划线不要这样做:
不要用于进制标识和数值之间,不要定义在数值开头和结尾,不要定义在小数点旁边.
// 错误
0B_1111; _0X32_; 1_._223;
二进制的表示方式:
public class BinaryDemo {
public static void main(String[] args){
// 定义二进制0B开头
int x=0B111100;
System.out.println(x);
int n1 = x & 0b1111;
System.out.println(n1);
// 用下划线
int y = 12_34_56;
int z = 0b111_0123_234;
double b = 23.223_23;
}
}
switch
public class Demo{
public static void main(String[] args){
int week = 1;
// 会在内存中进行存储,运算中的数值存储起来运算
if(week == 1){
System.out.println("星期一");
}else if(week == 2){
System.out.println("星期二");
}else {
System.out.println("输入错误");
}
}
// 字节码,标记,选择的值,是一个标识,对应的执行的代码
switch(week){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
default:
System.out.println("输入错误");
}
public static void Demo(){
String sex="男";
if(sex.equals("男")){
System.out.println("男");
}else{
System.out.println("女");
}
// 编译器的强大
switch(sex){
case "男":
System.out.println("你好");
break;
case "女":
System.out.println("你好");
break;
default:
System.out.println("hello");
}
}
}
// sex.hashCode();
{
String sex = "男";
String s;
switch ((s=sex).hashCode())
{
default:
break;
case 22899:
if(!s.equals("女"))
break;
System.out.println("女孩你好");
break labe10;
case 30007:
if(s.equals("男"))
{
System.out.println("先生");
break labe10;
}
break;
}
System.out.println("你好");
}
泛型
Java7简化,左边定义类型,右边不用定义类型,写<>;
for(Iterator<String> it = list.iterator(); it.hasNext(); ){
System.out.pritnln(it.next());
}
List<String> list = new ArrayList<>();
public class Demo {
public static void main(String[] args){
// List<String> list = new ArrayList<String>();
List<String> list = new ArrayList<>();
list.add("abc");
// Iterator<String> it = list.iterator();
}
}
catch
public class Demo{
int[] arr=new int[3];
try{
int element = getElement(arr,1);
}catch(throwNullPointerException){
}catch(ArrayIndexOutOfBoundsException){
}
try{
int element = getElement(arr,1);
}catch(throwNullPointerException || ArrayIndexOutOfBoundsException e){
}
}
// 添加数组,添加角标元素
public static int getElement(int[] arr, int index) throws NullPointerException, ArrayIndexOutOfBoundsException{
if(arr == null){
throw new NullPointerException("数组不存在");
}
if(index<0 || index>= arr.length){
throw new ArrayIndexOutOfBoundsException("数组角标不存在'');
}
return arr[index];
}
try_with_resource
public class Demo{
public static void main(String[] args){
FileReader fr = null;
try{
fr = new FileReader ("dashu.txt");
int ch = fr.read();
System.out.println(ch);
}catch(IOException e){
}finally{
fr.close();
}
}
}
声明:
public static void function() throws IOException{
FileReader fr = null;
try{
fr = new FileReader("dashu.txt");
int ch = fr.read();
System.out.println(ch);
}finally{
if(fr!=null)
try{
fr.close();
}catch(IOException e){
throw new RuntimeException();
}
}
}
}
// 自动释放,关闭的资源会在try()中定义
public static void Demo() throws IOException{
try(FileReader fr = new FileReader("dashu.txt");FileWriter fw = new FileWriter("dashucoding.txt")) {
int ch = fr.read();
fw.write(ch);
System.out.println(ch);
}
}
public static void function() throws IOException{
Exception exception;
exception = null;
Object obj = null;
FileReader fr = new FileReader("dashu.txt");
FileWriter fw = new FileWriter("dashucoding.txt");
int ch = fr.read();
fw.write(ch);
System.out.println(ch);
if(fw != null)
fw.close();
break MISSING_BLOCK_LABFL_66;
exception;
...
}
达叔小生:往后余生,唯独有你
You and me, we are family !
90后帅气小伙,良好的开发习惯;独立思考的能力;主动并且善于沟通
简书博客: 达叔小生
https://www.jianshu.com/u/c785ece603d1
结语
- 下面我将继续对 其他知识 深入讲解 ,有兴趣可以继续关注
- 小礼物走一走 or 点赞
Java之JDK7的新语法探索的更多相关文章
- java 28 - 6 JDK7的新特性
JDK7的新特性: 二进制字面量 数字字面量可以出现下划线 switch 语句可以用字符串 泛型简化 异常的多个catch合并 try-with-resources 语句 二进制字面量 JDK7开始, ...
- java基础(1)-比较jdk5,jdk6,jdk7的新特性
jdk8已经出来好长时间了,这里自己学习时简单总结的jdk5,jdk6和jdk7的新特性:本文提纲: 一.jdk5的新特性 二.jdk6的新特性 三.jdk7的新特性 一.jdk5的新特性 首先简单介 ...
- Java 8新特性:新语法方法引用和Lambda表达式及全新的Stream API
新语法 方法引用Method references Lambda语法 Lambda语法在AndroidStudio中报错 Stream API 我正参加2016CSDN博客之星的比赛 希望您能投下宝贵 ...
- Java中的10颗语法糖
语法糖(Syntactic Sugar):也称糖衣语法,指在计算机语言中添加的某种语法,这种语法对语言的功能没有影响,但是更方便程序员使用.通常来说,使用语法糖能够增加程序的可读性,减少程序代码出错的 ...
- .NET中那些所谓的新语法之二:匿名类、匿名方法与扩展方法
开篇:在上一篇中,我们了解了自动属性.隐式类型.自动初始化器等所谓的新语法,这一篇我们继续征程,看看匿名类.匿名方法以及常用的扩展方法.虽然,都是很常见的东西,但是未必我们都明白其中蕴含的奥妙.所以, ...
- 总结常见的ES6新语法特性
前言 ES6是即将到来的新版本JavaScript语言的标准,他给我们带来了更"甜"的语法糖(一种语法,使得语言更容易理解和更具有可读性,也让我们编写代码更加简单快捷),如箭头函数 ...
- JAVA JDK1.5-1.9新特性
1.51.自动装箱与拆箱:2.枚举(常用来设计单例模式)3.静态导入4.可变参数5.内省 1.61.Web服务元数据2.脚本语言支持3.JTable的排序和过滤4.更简单,更强大的JAX-WS5.轻量 ...
- (转载)Java 1.7的新特性
网上找了一下,整理了贴出来. 下面是Java 1.7 里新出现的功能的一些用法例子: 对集合的支持 摒弃了 Java 集合接口的实现类,如: ArrayList . HashSet 和 HashMap ...
- 总结常见的ES6新语法特性。
前言 ES6是即将到来的新版本JavaScript语言的标准,他给我们带来了更"甜"的语法糖(一种语法,使得语言更容易理解和更具有可读性,也让我们编写代码更加简单快捷),如箭头函数 ...
随机推荐
- visual studio vode 汉化
在vs code 的商店中搜索Chinese,找到如下模块,安装. 安装后,按下ctrl+shift+p,找到configure display language ,点击进入,修改 改成如图字母就可以 ...
- python基础 (初识函数&函数进阶)
函数基础部分 .什么是函数? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率. 2.定义函数 定义:def 关键词开头,空格之后接函数名 ...
- Markdown使用小总结[不定时更新]
title: Markdown使用小总结 date: 2019-03-27 10:09:19 tags: Markdown --- 鸽了这么久,Markdown使用下降,因此写一篇博客来总结一下至今( ...
- java webservice生成客户端代码并调用
wsimport简介 在JDK的bin文件夹中,有一个wsimport.exe工具,可依据wsdl文件生成相应的类文件,将生存在本地这些类文件拷贝到需要使用的项目中,就可以像调用本地的类一样调用web ...
- Android学习(四)
教材学习内容总结 图形和定制视图 硬件加速 Android APILevel14及其以上版本为目标的应用程序来说,硬件加速是默认可用的. 可通过android:hardwareAccelerated= ...
- springboot无法加载oracle驱动终极解决
.ctrl+shirt+s .找到 Maven: com.oracle:ojdbc6: .找到classes 下的路径C:\Users\Administrator\.m2\repository\com ...
- hadoop_随笔二_参数
1) dfs.datanode.handler.count : datanode上用于处理RPC的线程数.默认为3,较大集群,可适当调大些,比如8.需要注意的是,每添加一个线程,需要的内存增加. 2) ...
- Vue 制作简易计算器
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 手绘raft算法
手绘raft算法 互联网技术窝 2019-04-07 12:06:05 在现实的分布式系统中,不能可能保证集群中的每一台机器都是100%可用可靠的,集群中的任何机器都可能发生宕机.网络连接等问题导致集 ...
- N2N windows下编译安装文件
n2n安装 n2n原理编译版下载,可直接使用:windows下vpn客户端 n2n_v2_linux_x64 n2n_v2_Win32TAP网卡驱动 #linux环境编译yum install -y ...