(1)基本数据类型(八种):
整型: byte1字节,short2字节, int4字节,long 8字节
浮点型: float 4字节,double 8字节
【float 类型共32位,其中1位为符号位, 指数8 位, 尾数23 位。】
【double类型能表示64位,其中1位符号位,11 位指数,52 位尾数】
【浮点数的字面量默认是double】
字符型:char 2字节【unicode编码值】
boolean型: boolean 1字节【值只有true和false】
隐式类型转换:
正方向: char→int→long→float→double
负方向:byte�short�int�long�float�double
⑵引用类型(自定义类型):比如String
2JAVA中成员变量和局部变量的区别?
⑴成员变量:是在类范围内定义的(也叫成员属性)
类属性:使用static修饰的就是类属性。
作用域: 类属性的作用域与这个类的生存范围相同,它作为类的一个成员,
与类共存亡。只要类存在,程序就可以访问该类的类属性。
实例属性:不被static修饰的就是实例属性。
作用域:实例属性则从这个类的实例(对象)被创建开始存在,直到系统完
全销毁这个实例,它作为实例(对象)的一个成员,与实例(对象)
共存亡。只要实例存在,程序就可以访问该实例的实例属性。
⑵局部变量:在一个方法内定义的变量。(包括方法的形式参数)
1形参:作用域是整个方法体
2方法局部变量:一个代码块中
3代码块局部变量:一个代码块中
注意:局部变量除了形式参数外,都必须显示初使化(必须显示指定初使值)。否则
不可以访问它们。形式参数不须显示初使化,它在被调用时由系统完成。
3前++和后++的区别?
i++, 后++, 先将i 的值作为整个表达的值, 然后将i 增加1。
++i, 先++, 先将i 增加1, 然后将i 的值作为整个表达的值。
4短路运算符和非短路运算符的区别?
短路运算符[条件1&& 条件2],如果条件1不成立,则条件2不执行;
非短路运算符[条件1& 条件2],两个条件都会执行。
5java中的4种访问制权限有哪些?分别作用范围是什么?
(1)public:最大访问控制权限,对所有的类都可见。
(2)protect:修饰的,在类内部、同一个包、子类中能访问
(3)default:包访问权限,即同一个包中的类可以可见。默认不显式指定访问控制权限
时就是default包访问控制权限。
private:最严格的访问控制权限,仅该类本身可见。
6JAVA5的新特性有哪些?
(1)循环(For-each循环)
for(type variable: array){body}
for(type variable: arrayList){body}
而14必须是:
for(int i = 0;i < arraylength;i++){type variable=array[i]; body}
for(int i = 0;i < arrayListsize();i++){type variable= (type)
arrayListget(i);body}
(2)泛型
以ArrayList为例,包括创建一个容器对象和取得容器内对象操作:
15ArrayList<Type>arrayList=new ArrayList<Type>();arrayListget(i)
14ArrayListarrayList=new ArrayList(); (Type)arrayListget(i)
(3)自动装箱拆箱
在JDK50以前,在原始类型与相应的包装类之间的转化是不能自动完成的。要完
成这种转化,需要手动调用包装类的构造函数,在JDK50环境中,可以自动转化:
15 Integer wrapper= n; int n = wrapper;
14 Integer wrapper= new Integer(n); int n = wrapperintValue();
自动装包/拆包大大方便了基本类型数据和它们包装类地使用。
自动装包:基本类型自动转为包装类(int>>Integer);
自动拆包:包装类自动转为基本类型(Integer>>int);
(4)静态导入
静态导入功能对于JDK50以前的版本是不支持的。
import static javalangMath;
import static javalangSystem;
15 outprintln(sqrt(PI));
14 Systemoutprintln(Mathsqrt(M
java面试复习 来自淘豆网m.daumloan.com转载请标明出处.