以下题目大多来源于关于Java基础的一些经典题目,旨在帮助自己和他人对Java基础知识点记得更加牢固
持续更新中......
-
Java中是不是所有的继承只能为单继承?比如说类只能但继承一个类,接口只能单继承一个接口?
答案:在Java中类只能继承一个类,但是接口可以继承多个接口 。但是接口无法多重继承这些接口:这些接口中含有相同的default函数(函数签名一样)(只限于default方法,如果方法前是static,仍可以多重继承)(对于接口中的方法,abstract,default,static三者只能同时出现一个)。如下:
更详细的内容,跳转:https://blog.csdn.net/smart_ferry/article/details/84677984
-
Math.ceil() 和 Math.floor() 你真的了解吗???看以下代码的输出:
public class Main {
public static void main(String[] args) {
double d1 = -0.5;
System.out.println("ceil d1=" + Math.ceil(d1));
System.out.println("floor d1=" + Math.floor(d1));
}
}
答案: ceil d1=-0.0 floor d1=-1.0 不多解释,看源码怎么说:
-
静态代码块中的变量和静态变量的区别。看看以下代码会输出什么:
public class Main {
static {
int x = 5;
}
static int x, y;
public static void main(String[] args) {
x--;
myMethod();
System.out.println(x + y + ++x);
}
public static void myMethod() {
y = x++ + ++x;
}
}
答案:3 解释:首先,静态代码块中的x与静态变量x没有半毛钱关系!!!静态代码块中的x只是一个局部变量,生命周期为该静态代码块内。知道这点之后,接下来的先++和后++就不用再多说了
-
你真的了解int和boolean吗???看如下代码的输出结果:
public class Main {
public static void main(String[] args) {
int x=3;
int y=1;
if(x=y)
System.out.println("Not equal");
else
System.out.println("Equal");
}
}
答案:编译错误。错误信息:无法从int转为boolean
-
Java中的char你真的了解吗???char能不能存储一个汉字???以下代码能不能输出:
public class Main {
static char c = '成';
public static void main(String[] args) {
System.out.println(c);
}
}
答案:正确输出。因为在Java中,char存储的为unicode码,不仅可以存储ascII码,汉字也可以。另:Java中还可以使用中文作为变量名
----------------------------------分隔区 2019.01.25----------------------------------
-
对于byte型数据的运算和取值范围,你真的了解吗???如下代码会输出什么:
public class Main {
public static void main(String[] args) {
A a = new A();
a.test();
}
}
class A {
public void add(Byte b) {
b = b++;
}
public void test() {
Byte a = 127;
Byte b = 127;
add(++a);
System.out.print(a + " ");
add(b);
System.out.print(b + ""