基本数据类型
float型float f=?
答:不正确;精度不准确,应该用强制类型转换,如下所示:float f=(float) 。
语句float f=;编译能否通过?
答:不能;应该用强制类型转换,如下所示:float f=(float);
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
答:short s1 = 1; s1 = s1 + 1;s1+1运算结果是int型,需要强制转换类型;
short s1 = 1; s1 += 1;可以正确编译,自动类型提升。
int 和 Integer 有什么区别?
答:Java 提供两种不同的类型:java的原始数据类型:int
java的引用类型:Integer
Java为每个原始类型提供了封装类:
原始类型: boolean,char, byte, short, int, long, float, double
封装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double 原始类型和引用类型的行为完全不同,并且它们具有不同的语义。
原始类型和引用类型具有不同的特征和用法:当原始类型和引用类型用作某个类的实例数据时所指定的缺省值时,原始类型实例变量的缺省值与它们的类型有关,而引用类型引用实例变量的缺省值为 null
& 和&& 的区别?
共同点:表示逻辑“与”,只有运算符两边的表达式都为true时,结果才为true;
不同点:&可用作位运算符,表示”按位与”,只有对应的二进制数都为1,结果才为1【某些特定位置的取值!】
&&具有短路功能,即如果第一个表达式为false,则不再计算第二个表达式,eg:str = null; if(str != null & (“”)) 出现空指针异常
if(str != null && (“”)) 没问题
简述逻辑操作(&,|,^)与条件操作(&&,||)的区别?
答:区别主要有两点:
;
“短路”
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
答:switch(整数表达式):参数:byte、short、int、char。
long,string 不行
在java中如何跳出当前的多重嵌套循环?
可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环。
eg: ok;
for(int i=0; i<10; i++){
for(int j=0; j<10; j++){
(“i=”+ i + “j=”+ j);
if(j == 5) break ok;
}
}
2)让外层的循环条件表达可以受到里层循环体代码的控制
eg: 在二维数组中查找到某个数字
int[][] = {{1,2,3},{4,5,6,7},{9}}
boolean found = false;
for(int i=0; i< && !found; i++){
for(int j=0; j<arr[i].length; j++){
(“i=”+ i + “j=”+ j);
if(arr[i][j] == 5){
found = true;
break;
}
}
}
堆和栈
heap和stack有什么区别?
答:第一,从软件设计的角度看,栈代表了处理逻辑,而堆代表了数据;
第二,堆与栈的分离,使得堆中的内容可以被多个栈共享(也可以理解为多个线程访问同一个对象)。
面向对象
1、面向对象的特征有哪些方面?
抽象:忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。(把现实世界中的某一类东西,提取出来,用程序代码表示,抽象出来一般叫做类或者接口
)抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。
数据抽象:代码的形式表示现时世界中一类事物的特性,就是针对对象的属性。比如建立一个鸟这样的类,鸟都有以下属性:一对翅膀、两只脚、羽毛等。抽象出来的类都是鸟的属性,或者成员变量。
过程抽象:代码形式表示现实世界中事物的一系列行为,就是针对对象的行为特征。比如鸟会飞、会叫等。抽象出来的类一般都是鸟的方法。
继承:对象的一个新类可
Java基础面试题 来自淘豆网m.daumloan.com转载请标明出处.