Java 基础面试题 I
面试题
1.小面试题:
short s = 5;
//s = s+10; //编译错误,需强转: s=(short)(s+10);
s += 10; //相当于s=(short)(s+10)
2.重写与重载的区别:-----------常见面试题
重写(override):发生在父子类中,方法名相同,参数列表相同
重载(overload):发生在同一类中,方法名相同,参数列表不同
String:
面试题:
String s = new String("hello");
问:如上语句创建了几个对象?
答:**2个**
第一个:字面量"hello"
---**java会创建一个String对象表示字面量"hello",并将其存入常量池**
第二个:new String()
---new String()时会再创建一个字符串对象,并引用hello字符串的内容
//字符串实际开发中比较相等一般都是比较字符串的内容
//因此我们需要使用equals()方法来比较两个字符串的内容
3.面试题:
System.out.println(~100+1); 上述代码的运算结果是(C) 注:求100的补码
A. -98 B.-99 C.-100 D.-101
System.out.println(~-100+1); 上述代码的运算结果是(C) 注:求-100的补码
A.98 B.99 C.100 D.101
4.面试题:—简答题
1.java的八种基本数据类型是什么?
1)byte:字节型,用于存储整数的,占用1个字节,范围-128到127
2)short:短整型,用于存储整数的,占用2个字节,范围-32768到32767
3)int:整型,用于存储整数的,占用4个字节,范围-231到231-1
4)long:长整型,用于存储整数的,占用8个字节,范围-263到263-1
5)float:单精度浮点型,用于存储小数的,占用4个字节,不能表示精确的值
6)double:双精度浮点型,用于存储小数的,占用8个字节,不用表示精确的值
7)boolean:布尔型,用于存储true或false的,占用1个字节
8)char:字符型,采用Unicode字符编码格式,用于存储单个字符,占用2个字节
*/
/*
//面试题:-------简答题
1.java的八种基本数据类型是什么?
1)byte:字节型,用于存储整数的,占用1个字节,范围-128到127
2)short:短整型,用于存储整数的,占用2个字节,范围-32768到32767
3)int:整型,用于存储整数的,占用4个字节,范围-231到231-1
4)long:长整型,用于存储整数的,占用8个字节,范围-263到263-1
5)float:单精度浮点型,用于存储小数的,占用4个字节,不能表示精确的值
6)double:双精度浮点型,用于存储小数的,占用8个字节,不用表示精确的值
7)boolean:布尔型,用于存储true或false的,占用1个字节
8)char:字符型,采用Unicode字符编码格式,用于存储单个字符,占用2个字节
2.switch能作用在哪些数据类型上?
答:switch可以作用于:byte,short,int,char,String,枚举类型,其它类型不允许
*/
5.堆栈存什么?
2.1)堆中存储new出来的对象(包括成员变量)、栈中存储局部变量(包括方法的参数)
引用类型变量中存的是地址,基本类型变量中存的是值
6.简答题
1.向上造型:
1)超类型的引用指向派生类的对象
2)能点出来什么,看引用的类型----------------这是规定
2.方法的重写(override):
1)发生在父子类中,方法名相同,参数列表相同
2)重写方法被调用时,看对象的类型-------------这是规定
3.重写与重载的区别:
1)重写:发生在父子类中,方法名相同,参数列表相同
2)重载:发生在同一类中,方法名相同,参数列表不同
7.常见面试题:
1.重写与重载的区别:
1)重写:发生在父子类中,方法名相同,参数列表相同
----用于在派生类中修改超类中所声明的方法
2)重载:发生在同一类中,方法名相同,参数列表不同
----完全不同的方法,只是方法名正好相同
*/