欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Java大杂烩

时间:2023-06-19
大杂烩

方法体字符使用声明相关装箱和拆箱注解抛出异常捕获异常抽象和接口switch位运算符三元运算符比较运算符判断数值与引用是否相等 方法体

一个方法编译后的字节码不能超过64KB大小(JDK规定的) 字符使用

频繁地修改字符使用 StringBuilder 和 StringBuffer 速度高于 String 。

单线程使用 StringBuilder ,因为速度优于 StringBuffer 。多线程使用 StringBuffer ,因为比 StringBuilder 线程安全。 修改少被多个对象引用使用 String,如:配置信息 声明相关

声明并实例化对象时 = 左边称为编译类型,右边称为运行类型

Object o = new Integer(0);// Object 称为编译类型// Integer 称为运行类型

装箱和拆箱

装箱:基本类型 -》 包装类型

拆箱:包装类型 -》 基本类型

JDK5前手动装箱

int n1 = 100;Integer in = new Integer(n1);

手动拆箱

int i = in.intValue();

JDK5后自动装箱

int n2 = 200;Integer in2 = n2;// 底层会去 new 实现自动装箱

自动拆箱

int n3 = in2;// 底层调用 intValue 实现自动拆箱

注解

@SuppressWarnings 抑制编译器报错@Deprecated 标识程序元素(类、方法等)已过时 抛出异常 关键字throwsthrow意义异常处理的一种方式手动生成异常对象的关键字位置方法声明处方法体中后面跟的东西异常类型异常对象捕获异常

finally 不管 catch 有没有返回值 return 都会执行;如果都有 return 那么会返回 finally;如果只有 catch 有那么会返回 catch 的,后面 finally 对值有操作都不会影响 catch。 抽象和接口

abstract:is-a

方法只能为抽象,不能有具体的实现方式 interface:like-a

JDK8.0以后接口方法可以有具体的实现方式不能extends继承类可以extends继承其他接口不准修改全局变量public static final switch

当switch里面的case满足条件一次以后没有break,那么后面的case不管符不符合条件都会被执行直至遇到break 位运算符

>> n 除以 2 n 2^{n} 2n<< n 乘以 2 n 2^{n} 2n 三元运算符

三元运算符是一个整体,因此精度低的会向进度高的过渡。

Object i = true? new Integer(1):new Double(2.0);System.out.println(i);// Integet -> Double 转型 因此 i = 1.0

比较运算符

&& 如果左边为 false ,那么右边不会运行。

int a = 0;int b = 0;int c = 0;int d = 0;for(int i=0;i<3;i++){if(++a>2&&++b>1)break;if(++c>2&++d>1)break;}// a、b、c、d 最后值为多少?a = 3, b = 1, c = 3, d = 3

|| 如果左边为 true ,那么右边不会运行。

int a = 0;int b = 0;for(int i=0;i<3;i++){if(++a<1||++b<1)break;}// a、b最后值为多少?a = 1, b = 0

判断数值与引用是否相等

引用与数值比的是数值

Integer i = new Integer(128);int a = 128;System.out.println(i == a);//

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。