概述
以下这些都是我自己整理出来的,贴出来和大家分享一下!
面向对象的特征有哪些方面?
参考答案:
抽象、继承、封装和多态
如果把一个对象作为参数传递给一个方法,这个方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
参考答案:值传递
java中使用什么机制实现多态?
参考答案:重载和重写
什么是自动装包/拆包?
参考答案:
自动完成基本数据类型与对应的包装类型的转换
Java中会存在内存泄露吗?
参考答案:
Java语言也存在内存泄露问题。
int 和 Integer 有什么区别
参考答案:
int是java的基本数据类型,Integer是java为int提供的封装类。
String是Java的基本数据类型吗?
参考答案:
String是字符串对象,不是Java的基本数据类型之一。
char类型变量是否能保存一个汉字?
参考答案:
char类型变量可以存储汉字,因为java中以unicode编码,一个char占16个位即两个字节,所以放一个中文是没问题的.
Java中是否有goto语句?
参考答案:
goto作为Java语言的保留关键字,但是目前没有使用。
变量和常量有什么区别?
参考答案:
变量的值可以改变,而常量的值不能改变。
程序编码float num=3.14159是否正确?
参考答案:
不正确。不能把double类型直接赋值给float类型。
short和char类型的取值范围各式多少?
参考答案:
short类型的取值范围是32767~-32768,而char字符类型的编码值的取值范围是0~65535。
"3+5=" + 3 + 5表达式的值是?
参考答案:
3 + 5 = 35。
final参数可以修改吗?
参考答案:
参数x被修饰成final,意味着不能在addOne method中被修改,所以方法体中++x无法编译通过。
下面代码要实现doSomething()方法中局部变量的定义,看看这段代码中的定义是否正确?
public class Something {
void doSomething() {
int l = s.length();
}
}
参考答案:
这样编码是错误的,定义变量s的语句无法通过编译。
下列代码的运行结果是?( )
public class Test {
public static void main(String[] args) {
System.out.println((3 - 2.6 == 0.4));
}
}
A)编译错误
B)运行错误
C)true
D)false
参考答案:D
下列程序代码会在控制台输出变量a、b和c分别进行3次运算的值,写一下它们在控制台会输出的内容。
public class Example {
public static void main(String[] args) {
int a = 3, b = 5, c = 0;
c = b++ * 5 / a++;
System.out.println("a=" + a + "tb=" + b + "tc=" + c);
c = b++ + ++a;
System.out.println("a=" + a + "tb=" + b + "tc=" + c);
c = a++ - ++b;
System.out.println("a=" + a + "tb=" + b + "tc=" + c);
}
}
参考答案:
a=4 b=6 c=8
a=5 b=7 c=11
a=6 b=8 c=-3
假设变量a=4,b=5,c=6,d=true。请写出下列几个逻辑表达式的值。
(1)a + b > c && b == c
(2)d || b + c < a && c > b
(3)!(a > b) && !d || true
(4)!(a + b < c) && d
(5)!(a == b) && c > b && d
参考答案:
(1)结果为false
(2)结果为true
(3)结果为true
(4)结果为true
(5)结果为true
&和&&两个运算符的区别?
参考答案:
&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与运算。&&运算符更效率。
用最有效率的方法算出2乘以16等于几?
参考答案:
2 << 4
=与= =的区别?
参考答案:
=是赋值运算符,而= =是相等条件判断运算符。
下列代码实现short类型数据的加法运算,这段代码是否可以正确编译,请说明原因。
short s1 = 1;
s1 = s1 + 1;
参考答案:
无法正确编译,因为s1与int类型数据求和后是int类型的数值,无法赋值给short类型的变量。
a++与++a有什么区别?
参考答案:
a++会返回当前变量a的值,然后在把变量a的值+1,而++a会先把变量的值+1在返回这个值。
9 / 2与9 / 2.0的结果是否相等?
参考答案:
不相等,因为两个表达式的运算结果分别为4和4.5。
如何判断一个整数是奇数还是偶数?
参考答案:
假设整数为N,那么判断N%2的结果,结果等于1就说明N是奇数,否则N就是偶数。
求1+2+…+n的值。要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句。
参考答案:
public class Swap {
static int sum;
public static int iSum(int n) {
sum += n;
sum = n == 0 ? sum : iSum(--n);
return sum;
}
}
(3%7+2)*(6-5)这个表达式如果去掉所有括号,它的运算结果是多少?
参考答案:
原来表达式的结果是5,去掉所有括号后的运算结果是10。
在Java1.6中byte、long和String类型是否可以作为switch语句的判断表达式。
参考答案:
byte类型可以应用与switch语句中,但是long不可以,而String类型目前也不可以。
如果x=35,y=80,下面代码的输出结果是()。
if (x < -10 || x > 30) {
if (y >= 100) {
System.out.println("危险!");
} else {
System.out.println("报警!");
}
} else {
System.out.println("安全");
}
A)危险
B)报警
C)报警 安全
D)危险 安全
参考答案:B
下列程序代码把字符类型数据与int类型数据进行对比,判断这个程序的输出结果。
public class Example {
public static void main(String[] args) {
if ('c' == 99) {
System.out.println("条件成立");
} else {
System.out.println("不复合条件");
}
}
}
参考答案:条件成立
判断下列程序代码的运行结果,如何修改代码中的条件判断才能正确执行分支语句。
public class Example {
public static void main(String[] args) {
if(true)
System.out.println("合法");
else;
System.out.println("非法");
}
}
参考答案:
合法
非法
正确的执行流程是希望根据判断来输出这两个内容之一,那么应该去掉代码中else后缀的分号。
下列程序代码的输出结果是什么?如果向正确的根据分数输出判断结果,应该如何修改程序代码。
public class Example {
public static void main(String[] args) {
int score=70;
switch (score) {
case 10:
case 20:
case 30:
case 40:
case 50:
System.out.println("不及格");
case 60:
case 70:
case 80:
System.out.println("不错的成绩");
case 90:
System.out.println("优秀");
case 100:
System.out.println("满分");
default:
break;
}
}
}
参考答案:
不错的成绩
优秀
满分
如果要正确的根据分数判断输出结果,应该在代码中每个输出语句之后添加break;语句。
如果希望让下面这段程序输出“Come”,该如何定义ch变量的类型和变量值?
switch (ch) {
case 'C':
System.out.println("Come");
break;
case 'D':
System.out.println("Demo");
break;
}
参考答案:
把ch定义为char类型并赋值’C’,还可以把ch定义为byte、short和int类型,并赋值为67。
while与do…while语句的区别?
参考答案:
while循环会先判断循环条件,如果条件满足就执行循环,否则退出循环,但是do…while循环会先执行一次循环,然后在判断循环条件是否满足。
编写程序代码,实现在控制台输出有“*”字符组成的三角形,要求这个三角形是倒立的。
public class Example {
public static void main(String[] args) {
int len=10;
String str="";
for(int i=len;i>=0;i-=2){
str=str+" ";
for(int j=0;j<=i;j++){
System.out.print('*');
}
System.out.println();
System.out.print(str);
}
}
}
在JAVA中,如何跳出当前的多重嵌套循环?
参考答案:
用break终止循环,或者用return终止当前方法体
下列代码
public class Example {
public static void main(String[] args) {
int sum = 0;
int i = 0;
while (i++ < 100);
sum += i;
System.out.println(sum);
}
}
输出:101
最后
以上就是要减肥大炮为你收集整理的常见Java面试题的全部内容,希望文章能够帮你解决常见Java面试题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复