java jdk 7_Java之JDK7的新语法探索

db3dfbc2995d745790fbd6147636d8e6.png

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 it = list.iterator(); it.hasNext(); ){

System.out.pritnln(it.next());

}

List list = new ArrayList<>();

public class Demo {

public static void main(String[] args){

// List list = new ArrayList();

List list = new ArrayList<>();

list.add("abc");

// Iterator 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 点赞

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值