Java笔试题大全带答案:经典11题解析与详细解答
# Java笔试题及答案(经典11题)

**1.可以在不使用构造函数()的情况下创建对象吗**
答:是的
B、否
**分析:答案:A**
Java创建对象的几种方式(重要):
(1)使用new语句创建对象。这是创建对象的最常见方法。
(2)使用反射调用java.lang.Class或者
java.lang.reflect.Constructor 类的 newInstance() 实例方法。
(3) 调用对象的clone()方法
(4)使用反序列化手段调用java.io.ObjectInputStream对象的readObject()方法。
(1)和(2)将显式调用构造函数; (3)是内存中现有对象的副本,因此构造函数不会被调用; (4)是从文件中恢复类对象,也不会调用构造函数。
(1)和(2)将显式调用构造函数; (3) 是内存中现有对象的副本,因此构造函数不会被调用; (4)是从文件中恢复类对象,也不会调用构造函数。
**2.以下哪些是对称加密算法()**
DES
MD5
DSA
RSA
**分析:答案:A**
分析:常用的对称加密算法有:DES、3DES、RC2、RC4、AES
常用的非对称加密算法有:RSA、DSA、ECC
使用单向哈希函数的加密算法:MD5、SHA
**3.下面的代码段中,当输入为2时,返回值为()**
``java
公共静态 int 获取值(int i){未定义
整数结果=0;
开关(i){未定义
案例1:
结果=结果+i
案例2:
结果=结果+i*2
案例3:
结果=结果+i*3
返回结果;
````
A.0
B.2
C.4
D.10
**答案:C**
分析:结果=0+2*2;
**4.下面的Java代码片段将生成几个对象**
``java
公共无效测试(){未定义
字符串a=“a”;
字符串b=“b”;
字符串 c="c";
c=a+""+b+""+c;
System.out.print(c);
````
分析: 答:一个对象,因为编译时的优化,三个字符串常量直接折叠成一个
**5.Math.round(-11.2)的运行结果是。 **
答案:-11
分析:第一位小数=5
正数:Math.round(11.5)=12
负数:Math.round(-11.5)=-11
小数点后第一位
正数:Math.round(11.46)=11
负数:Math.round(-11.46)=-11
小数点后第一位>5
正数:Math.round(11.68)=12
负数:Math.round(-11.68)=-12
根据上面例子的结果,我们还可以总结如下,可能更容易记住:
参数的小数点后第一位
参数小数点后第一位>5,运算结果为参数整数部分的绝对值+1,符号(即正负)不变。
参数小数点后第一位=5,正数运算结果为整数部分+1,负数运算结果为整数部分。
结局:将所有大于五的正数相加,将所有等于五的正数相加,并且不将任何小于五的正数相加。
**6.Java中int.long占用的字节数为**
**分析:**
1:“byte”表示字节,“bit”表示位;
2:1字节=8位;
Java 中 char 占 2 个字节。 Java使用Unicode,2个字节(16位)来表示一个字符。
短2字节
整型 4 字节
长8字节
System.out.println('a'+1); 的结果是
分析:'a'是char类型,1是int行,当int和char相加时,char会被强制为int行,而char的ASCII码对应的值为97,所以将它们相加在一起打印98
**7.下列说法正确的是()**
A.java程序编译后会生成机器码
B.java程序编译后会生成字节码
C.java程序编译后会生成DLL
D.以上都不正确
**答案:B**
分析:Java程序编译后,会生成一个字节码文件,即.class文件。
**8.下列哪些说法是正确的()**
A.类中的构造函数不能省略
B、构造函数必须与类同名,但方法不能与类同名。
C.构造函数在对象new时执行
D. 一个类只能定义一个构造函数
**答案:C**
**9.执行以下程序代码()**
``java
a=0;c=0;
做{未定义
——c;
a=a-1;
}同时(a>0);
````
则c的值为()
A.0
B.1
C.-1
D、无限循环
**答案:C**
做{...}同时(...);语句至少执行一次
**10.下列哪些说法是正确的()**
A.abstract修饰符可以修饰字段、方法和类
B.抽象方法的主体部分必须用一对大括号{}包围
C.声明抽象方法,大括号是可选的