Java刷题总结

1,下列代码中的错误是()

(1) public class Test

(2) {

(3) public static void main(String [] args)

(4) {

(5) int i;

(6) i+=1;

(7) }
(8) }

正确答案: D 你的答案: D (正确)
A非法的表达式 i+=1
B找不到符号i
C类不应为public
D尚未初始化变量i
解析;因为没有给变量i赋值
2,Java程序中的类名称必须与存放该类的文件名相同。
正确答案: B 你的答案: A (错误)
A对
B错
解析;因为Java文件中如果有public类,则public类必须与文件名相同,一个文件只能有一个public类,但Java文件中不只有一个类。
3,以下程序段执行后将有()个字节被写入到文件afile.txt中。

try {
FileOutputStream fos = new FileOutputStream(“afile.txt”);
DataOutputStream dos = new DataOutputStream(fos);
dos.writeInt(3);
dos.writeChar(1);
dos.close();
fos.close();
} catch (IOException e) {}

正确答案: C 你的答案: C (正确)
A.3
B.5
C.6
D.不确定,与软硬件环境相关
解析;因为char型占两个字节,int型占四个字节,总共占6个字节
4,代码片段:
byte b1=1,b2=2,b3,b6;
final byte b4=4,b5=6;
b6=b4+b5;
b3=(b1+b2);
System.out.println(b3+b6);
关于上面代码片段叙述正确的是()
正确答案: C 你的答案: B (错误)
A.输出结果:13
B.语句:b6=b4+b5编译出错
C.语句:b3=b1+b2编译出错
D.运行期抛出异常
解析;因为被final修饰过的变量b4,b5相当于常量,所以b6=b4+b5=10可以被编译通过,但是b3=(b1+b2)是int型4个字节向byte型两个字节的转换,会出错显示出int型向byte型转换可能会被删减某些信息
5.Java中所有类的父类是( )。
正确答案: D 你的答案: D (正确)
A.Father
B.Dang
C.Exception
D.Object
解析;java中Object是所有类的父亲,所有类的对象都是Class的实例
6.以下程序的运行结果是()
public class Increment
{
public static void main(String args[])
{
int a;
a = 6;
System.out.print(a);
System.out.print(a++);
System.out.print(a);
}
}

正确答案: B 你的答案: B (正确)
A.666
B.667
C.677
D.676
解析;因为a++是后置函数,使用时先添加后调用
7.判断对错。List,Set,Map都继承自继承Collection接口。
正确答案: B 你的答案: B (正确)
A.对
B.错
解析;因为List,Set等集合对象都继承自Collection接口
但是Map是一个顶层结果,不继承自Collection接口
8.关于static说法不正确的是( )
正确答案: D 你的答案: A (错误)
A.可以直接用类名来访问类中静态方法(public权限)
B.静态块仅在类加载时执行一次
C.static方法中不能有用this调用的方法
D.不可以用对象名来访问类中的静态方法(public权限)
9.下面哪段程序能够正确的实现了GBK编码字节流到UTF-8编码字节流的转换:
byte[] src,dst;

正确答案: B 你的答案: B (正确)
A.dst=String.fromBytes(src,“GBK”).getBytes(“UTF-8”)
B.dst=new String(src,“GBK”).getBytes(“UTF-8”)
C.dst=new String(“GBK”,src).getBytes()
D.dst=String.encode(String.decode(src,“GBK”)),“UTF-8” )
解析;先通过GBK编码还原字符串,在该字符串正确的基础上得到“UTF-8”所对应的字节串。
10.下面程序段执行后b的值是()。
Integer integ =new Integer(9);
boolean b = integ instanceof Object;
正确答案: B 你的答案: B (正确)
A.9
B.true
C.1
D.false
11.有以下程序片段,下列哪个选项不能插入到第一行 。( )。

.public class A{
//do sth
. }

正确答案: A 你的答案: A(正确)
A.public class MainClass{ }
B.package mine;
C.class ANotherClass{ }
D.import java.util.*;
解析;一个文件中只能有一public类
12.默认RMI采用的是什么通信协议?
正确答案: C 你的答案: C (正确)
A.HTTP
B.UDP/IP
C.TCP/IP
D.Multicast
解析;TCP/IP是远程通讯的主要手段
13.关键字super的作用是?
正确答案: D 你的答案: D (正确)
A.用来访问父类被隐藏的非私有成员变量
B.用来调用父类中被重写的方法
C.用来调用父类的构造函数
D.以上都是
14.String str1 = “abc”,“abc”分配在内存哪个区域?
正确答案: C 你的答案: C (正确)
A.堆
B.栈
C.字符串常量区
D.寄存器
15.try块后必须有catch块。()

正确答案: B 你的答案: B (正确)
A.正确
B.错误
解析;try的形式有三种:
try-catch
try-finally
try-catch-finally
16.protected访问权限要小于包访问权限。( )
正确答案: B 你的答案: A (错误)
A.正确
B.错误
解析;Java类成员的访问控制权限:
public > protected > 同包(default) > private
17.JVM内存不包含如下哪个部分( )
正确答案: D 你的答案: B (错误)
A.Stacks
B.PC寄存器
C.Heap
D.Heap Frame
解析;Stacks: JVM中有虚拟机栈和本地方法栈,都属于栈
PC寄存器: 即程序计数器,用来记录程序执行过程中的将要执行的下一条指令的行号
Heap:堆
18.When is the text “Hi there”displayed?

public class StaticTest
{
static
{
System.out.println(“Hi there”);
}

public void print()
{
    System.out.println(“Hello”);
}

public static void main(String args[])
{
    StaticTest st1 = new StaticTest();
    st1.print();
    StaticTest st2 = new StaticTest();
    st2.print();
}

}

正确答案: C 你的答案: C (正确)
A.Never.
B.Each time a new object of type StaticTest is created.
C.Once when the class is loaded into the Java virtual machine.
D.Only when the main() method is executed.,
解析;静态语句只能在类被加载时执行一次
19.设int x=1,float y=2,则表达式x/y的值是:()
正确答案: D 你的答案: D (正确)
A.0
B.1
C.2
D.以上都不是
解析;因为float将y定义成一个小数,所以x/y也是一个小数

20.public void test() {
int a = 10;
System.out.println(a++ + a–);
}
最后输出什么?
正确答案: C 你的答案: B (错误)
A.19
B.20
C.21
D.22
解析;运行a++ + a-- ,a++,a–都是是后置函数,先赋值后调用,所以a++为10,a–中的a为11,a–为11,所以最后结果为21
21.下面程序的输出是什么?
package algorithms.com.guan.javajicu;
public class TestDemo
{
public static String output = ””;
public static void foo(inti)
{
try
{
if (i == 1)
{
throw new Exception();
}
}
catch (Exception e)
{
output += “2”;
return ;
} finally
{
output += “3”;
}
output += “4”;
}
public static void main(String[] args)
{
foo(0);
foo(1);
System.out.println(output);
}
}

正确答案: B 你的答案: C (错误)
A.342
B.3423
C.34234
D.323
解析;首先是foo(0),在try代码块中未抛出异常,finally是无论是否抛出异常必定执行的语句,
所以 output += “3”;然后是 output += “4”;
执行foo(1)的时候,try代码块抛出异常,进入catch代码块,output += “2”;
前面说过finally是必执行的,即使return也会执行output += “3”
由于catch代码块中有return语句,最后一个output += “4”不会执行。
所以结果是3423
22.判断对错。在java的多态调用中,new的是哪一个类就是调用的哪个类的方法。
正确答案: B 你的答案: A (错误)
A.对
B.错
解析;java多态有两种情况:重载和覆写
在覆写中,运用的是动态单分配,是根据new的类型确定对象,从而确定调用的方法;
在重载中,运用的是静态多分派,即根据静态类型确定对象,因此不是根据new的类型确定调用的方法
24.关于Java的一些概念,下面哪些描述是正确的:( )
正确答案: B F 你的答案: B F (正确)
A.所有的Java异常和错误的基类都是java.lang.Exception, 包括java.lang.RuntimeException
B.通过try … catch … finally语句,finally中的语句部分无论发生什么异常都会得到执行
C.java中所有的数据都是对象
D.Java通过垃圾回收回收不再引用的变量,垃圾回收时对象的finallize方法一定会得到执行
E.Java是跨平台的语言,无论通过哪个版本的Java编写的程序都能在所有的Java运行平台中运行
F.Java通过synchronized进行访问的同步,synchronized作用非静态成员方法和静态成员方法上同步的目标是不同的
解析;java异常和错误的基类Throwable,包括Exception和Error
java是面向对象的,但是不是所有的都是对象,基本数据类型就不是对象,所以才会有封装类的;
如果是等待清理队列中如果又被调用,则不会执行finallize方法
JAVA跨平台性 实现在任意平台的java程序都可以在其他平台运行
25.在Java语言中,下列关于字符集编码(Character set encoding)和国际化(i18n)的问题,哪些是正确的?
正确答案: C D 你的答案: C (错误)
A.每个中文字符占用2个字节,每个英文字符占用1个字节
B.假设数据库中的字符是以GBK编码的,那么显示数据库数据的网页也必须是GBK编码的。
C.Java的char类型,通常以UTF-16 Big Endian的方式保存一个字符。
D.实现国际化应用常用的手段是利用ResourceBundle类
解析;ResourceBundle能够依据Local的不同,选择性的读取与Local对应后缀的properties文件,以达到国际化的目的
26.以下代码输出的是:
public class SendValue{
public String str=“6”;
public static void main(String[] args) {
SendValue sv=new SendValue();
sv.change(sv.str);
System.out.println(sv.str);
}
public void change(String str) {
str=“10”;
}
}

正确答案: A 你的答案: A (正确)
A.6
B.10
C.都不对
D.16
27.Java 语言中创建一个对象使用的关键字是()

正确答案: C 你的答案: C (正确)
A.class
B.interface
C.new
D.create
解析;class是一个类的关键字,创建一个对象关键字肯定是new
28.在Java中,什么是Garbage Collection?()

正确答案: C 你的答案: C (正确)
A.自动删除在程序中导入但未使用的任何包
B.JVM检查任何Java程序的输出并删除任何没有意义的东西
C.当对象的所有引用都消失后,对象使用的内存将自动回收
D.操作系统定期删除系统上可用的所有java文件
29.对于文件的描述正确的是( )

正确答案: D 你的答案: D (正确)
A.文本文件是以“.txt”为后缀名的文件,其他后缀名的文件是二进制文件。
B.File类是Java中对文件进行读写操作的基本类。
C.无论文本文件还是二进制文件,读到文件末尾都会抛出EOFException异常。
D.Java中对于文本文件和二进制文件,都可以当作二进制文件进行操作。
30.下面哪些标识符是正确的?
正确答案: A B 你的答案: A B (正确)
A.MyWorld
B.parseXML
C.–value
D.&maybe
解析;Java中标识符有字母、数字、美元符号$、下划线4种,不能以数字开头,不能用保留字和关键字

31.Java中只有整型才能使用的运算符为?
正确答案: C 你的答案: C (正确)
A.*
B./
C.%
D.+
解析;A、B、D、都同时适用于int与double,只有%只能用于int
32.关键字()表明一个对象或变量的引用在初始化后不能被修改。
正确答案: B 你的答案: D (错误)
A.private
B.final
C.stati

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值