一、单选题 (336题,每小题0分,共0分)
1.(0.0分)下列程序段的运行结果为( )。 int [][] array = {{1, 2},{3, 4},{5,6}}; int sum = 0; for(int i = 0; i < array.length; i++) sum = sum + array[i][0]; System.out.println(sum);
A.12
B.9
C.21
D.18
答案 B
2.(0.0分)创建一个方法接受一个float型数组参数且不返回任何值,方法名为setPoints,下面方法正确的是( )。
A.setPoints(float[] points){…}
B.void setPoints(float points){…}
C.void setPoints(float[] points){…}
D.float setPoints(float[] points){…}
答案 C
3.(0.0分)下面程序运行结果为( )。 class AA{ AA(int a){ System.out.print(a); } } class BB extends AA{ BB(String s){ super(88); System.out.print(s); } } public class ConstructorDemo{ public static void main(String[] args){ BB b = new
BB(“hello”); } }
A.程序有编译错误
B.88hello
C.hello88
D.hello
答案 B
4.(0.0分)给定下面代码段,程序运行结果是( )
public class MyClass{ private static int a = 100;
public static void modify(int a){ a = a + 5;
}
public static void main(String[] args){ modify(a);
System.out.println(a);
}
}
A. 100
B. 105
C. 101
D. 95
答案 A
5.(0.0分)如果需要双向迭代List的每个元素,需要创建的对象是( )。
A.Iterator
B.Collection
C.ListIterator
D.Enumeration
答案 C
6.(0.0分)以下叙述正确的是( )。
A.如果一个组件注册多个监听器,事件只会被最后一个监听器处理。
B.如果一个组件注册多个监听器,事件将被所有监听器处理。
C.一个组件注册多个监听器将导致编译错误。
D.可以将一个组件注册的监听器移除。
答案 B
7.(0.0分)选择声明并创建数组的正确形式。( )
A.int[] array; array[] = new int[15];
B.int[] array; array = new int[15];
C.int[15] array = new int[];
D.int[] array = new int[];
答案 B
8.(0.0分)编写一个表达式,返回34~55的一个随机整数,正确的是( )。
A.(int)(Math.random()*35+20)
B.(int)(Math.random()*20+35)
C.(int)(Math.random()*21+35)
D.(int)(Math.random()*22)+34
答案 D
9.(0.0分)下面代码不能被编译的原因是()。
public static void test() throws FileNotFoundException{ try{
throw FileNotFoundException();
}finally{ }
}
A.代码缺少catch子句,不能编译
B.在throw关键字后缺少new关键字
C.finally子句应该是final子句
D.不存在名为FileNotFoundException的类
答案 B
10.(0.0分)给定如图所示的车辆类Vehicle和可驾驶的Drivable接口之间的关系:
有关类和接口定义的代码如下:
public interface Drivable {}
public class Vehicle {}
public class Car extends Vehicle implements Drivable {}
public class Truck extends Vehicle implements Drivable {}
public class Tank implements Drivable {}
发生编译时错误的一组代码是:
A.Car car = new Car(); Vehicle vehicle = car;
B.Tank tank = new Tank(); Vehicle vehicle = tank;
C.Drivable drivable = new Tank(); Object o = drivable;
D.Vehicle vehicle = new Vehicle(); Object o = vehicle;
答案 B
11.(0.0分)下列语句输出的结果是( )。 var foo = “ABCDE”; foo.substring(3); foo.concat(“XYZ”); System.out.println(foo);
A.ABCDE
B.DEXYZ
C.XYZ
D.DE
答案 A
12.(0.0分)给定下面程序段,输出结果为()。 int i = 1, j = 0 ; switch(i){ case 1 -> j += 6; case 2 -> j += 1; default -> j += 2; } System.out.println(j);
A.2
B.6
C.7
D.9
答案 B
13.(0.0分)有下列一段代码,下面哪些语句可以确定“cat”包含在列表list中?( )
ArrayList list = new ArrayList<>(); list.add(“dog”);
list.add(“cat”);
list.add(“horse”);
A.list.contains(“cat”)
B.list.hasObject(“cat”)
C.list.indexOf(“cat”)
D.list.indexOf(1)
答案 A
14.(0.0分)要使一个类能够序列化,需要具备的条件是( )。
A.继承ObjectStream类
B.具有带参数构造方法
C.实现Serializable接口
D.定义了writeObject()方法
答案 C
15.(0.0分)下面程序运行结果为( )。 class Alpha { String getType() { return “alpha”; } } class Beta extends Alpha { String getType() { return “beta”; } } class Gamma extends Beta { String getType() { return “gamma”; } public static void main(String[] args) { Alpha g1 = new Beta(); Alpha g2 = new Gamma(); System.out.println(g1.getType() + " " + g2.getType()); } }
A.alpha alpha
B.gamma gamma
C.alpha beta
D.beta gamma
答案 D
16.(0.0分)java.awt包中提供了多个布局管理器类,下面能够把容器内的空间划分为东、南、西、北、中五个区域的布局是( )。
A.FlowLayout
B.BorderLayout
C.CardLayout
D.GridLayout
答案 B
17.(0.0分)下面叙述正确的是( )。
A.this关键字指的是当前类
B.super关键字是指超类
C.关键字this和super指的是对象
D.关键字this和super指的是方法
答案 C
18.(0.0分)设c是char类型的变量,下面赋值错误的是( )。
A. c = ‘C’;
B. c = ‘\”’;
C. c = ‘\u597D’;
D. c = ‘141‘;
答案 D
19.(0.0分)下面代码运行完成后,文件t.dat中的字节个数是( )。
try(
var output = new DataOutputStream( new FileOutputStream(“t.dat”));
){
}
A.8
output.writeChars(“X”); output.writeInt(1); outputm.writeUTF(“Java你好”);
B.14
C.18
D.12
答案 C
20.(0.0分)声明并初始化一个有两个String型元素的数组,正确的是( )
A.String[] strArr = [“string 1” , “string 2” ];
B.String[] strArr = {“string 1” , “string 2” };
C.String[] strArr = (“string 1” , “string 2” );
D.String[] strArr = new String [“string 1” , “string 2” ];
答案 B
21.(0.0分)下列程序的输出结果为()。 import java.io.IOException; public class Test{ public static void methodA() { throw new IOException();
} public static void main(String[] args){ try{ methodA(); }catch(IOException e){ System.out.println(“Caught Exception”); } } }
A.代码不能被编译
B.输出“Caught Exception”
C.输出“Caught IOException”
D.程序正常执行,没有任何输出
答案 A
22.(0.0分)下面代码运行输出结果是 ( )。
public class Test{
public static void main(String[] args){ try{
int a = 10; System.out.println( a / 0);
}catch(Exception e){
System.out.println(“产生异常.”);
}catch(ArithmeticException ae){
System.out.println(“产生算术异常.”);
}
}
}
A.产生异常。
B.产生算术异常。
C.编译错误。
D.无输出
答案 C
23.(0.0分)下面程序运行输出结果是( )。 public class Two{ public static void main(String []args){ int value = 0; do{ System.out.print(value); if(value ==0) continue; }while(value < 0); } }
A.代码能够编译并输出00。
B.代码能够编译并输出0。
C.代码能够编译并成功运行,但没有任何输出。
D.代码能编译并一直运行输出0。
答案 B
24.(0.0分)执行下面代码后,下面叙述正确的是:( )
String typeOfDog = “Mini Australian Shepherd”; typeOfDog = null; System.out.println(typeOfDog.length());
A.抛出NullPointerException异常
B.抛出RuntimeException异常
C.抛出IllegalArgumentException异常
D.产生编译错误
答案 A
25.(0.0分)下面代码的输出是( )。
public class Test{
public static void main(String[] args){ int list[] = {1, 2, 3, 4, 5, 6};
for(int i = 1; i < list.length; i++) list[i] = list[i-1];
for(int i = 0; i < list.length; i++) System.out.print(list[i] + " ");
}
}
A. 1 2 3 4 5 6
B. 1 1 2 3 4 5
C. 1 1 1 1 1 1
D. 1 2 2 2 2 2
答案 C
26.(0.0分)下面代码的输出结果为:( )
String[] numbers = {“one”,“two”,“three”}; System.out.println(numbers[3] + " " + numbers[2] + " " + numbers[1]);
A.one two three
B.three two one
C.产生编译错误
D.运行时将抛出异常
答案 D
27.(0.0分)给定下面代码段,输出j的值是多少( )
int i = 1, j = 0 ; switch(i) {
case 1: j += 6;
case 2: j += 1; default: j += 2;
}
System.out.println(j);
A.2
B.6
C.7
D.9
答案 D
28.(0.0分)以下创建的数组长度为3的是( )。
A.int [][] a = new int [2][3];
B.int [][] a = new int [3][];
C.int [][] a = new int [][3];
D.以上都不对
答案 B
29.(0.0分)关于Throwable类,不正确的叙述是:( )
A.Throwable类扩展了Object类
B.Throwable类实现了Serializable接口
C.Throwable类的直接子类包括RuntimeException类和Error类
D.Throwable类定义在java.lang包中
答案 C
30.(0.0分)如果要求其中不能包含重复的元素,最合适的存储结构是( )。
A.Collection
B.List
C.Set
D.Map
答案 C
31.(0.0分)下面程序的输出结果是:( ) public class Dog { private int age; private int size; public Dog() { super(); System.out.println(“使用默认值”); } public Dog(int age) { this.age = age; System.out.println(“设置age”); } public Dog(int size) { this.size = size; System.out.println(“设置size”); } public static void main(String[] args) { Dog dog = new Dog(); } }
A.使用默认值
B.设置age
C.设置size
D.编译错误
答案 D
32.(0.0分)表示多行文本区的类是( )。
A.JTextField
B.JLabel
C.JCheckbox
D.JTextArea
答案 D
33.(0.0分)执行下面代码的输出结果是( )
public class Foo{
public static void method(int i){ try{
if(i > 0){ System.out.print(“1”);
return;
}else{ System.out.print(“2”); System.exit(1);
}
} finally{
System.out.print(“3”);
}
}
public static void main(String[] args){ method(5);
method(-5);
}
}
A. 133
B. 132
C. 113
D. 121
答案 B
34.(0.0分)下面程序执行的输出结果是( )。 public class MaxTest{ public static void main(String[] args){ System.out.println(“” + Math.max(5, -5)); } }
A.5
B.-5
C.0
D.程序不能编译
答案 A
35.(0.0分)下面代码执行后,实例变量x的currentCount成员的值是:( )
public class SampleClass { private static int currentCount=0; public SampleClass() { currentCount++;
}
public static void increaseCount() {
currentCount++;
}
public static void main(String[] args) { SampleClass x = new SampleClass(); SampleClass y = new SampleClass(); x.increaseCount();
}
}
A.0
B.1
C.2
D.3
答案 D
36.(0.0分)在Java源程序中,如果将关键字拼写错误,将发生( )。
A.逻辑错误
B.运行时错误
C.编译错误
D.致命错误
答案 C
37.(0.0分)有下列一段代码,下面哪些语句可以确定“cat”包含在列表list中?( )
ArrayList list = new ArrayList<>(); list.add(“dog”);
list.add(“cat”);
list.add(“horse”);
A.list.contains(“cat”)
B.list.hasObject(“cat”)
C.list.indexOf(“cat”)
D.list.indexOf(1)
答案 A
38.(0.0分)使用JShell命令行工具不能完成的是( )。
A.定义类、接口和方法
B.执行语句
C.执行表达式
D.编写源程序
答案 D
39.(0.0分)给定下面声明 enum Sports {FOOTBALL, BASKETBALL, BASEBALL, TRACK} 下面哪个声明语句是合法的?
A.Sports sport = FOOTBALL;
B.Sports sport = Sports.FOOTBALL;
C.Sports sport = Sports.HOCKEY;
D.Sports sport = ‘TRACK’;
答案 B
40.(0.0分)下面哪个图用于实现if-else逻辑?( )。
00
A.图(a)
B.图(b)
C.图(c)
D.图(d)
答案 C
41.(0.0分)以下代码的运行结果是()。
public class Q {
public static void main(String argv[]) { int anar[]= new int[5]; System.out.println(anar[0]);
}
}
A.编译错误:anar 在引用前未初始化。
B.null
C.0
D.5
答案 C
42.(0.0分)接口中常量的默认修饰符不包括( )。
A.public
B.static
C.final
D.private
答案 D
43.(0.0分)下面对构造方法描述,错误的是( )。
A.构造方法必须与类同名
B.构造方法可以返回void
C.构造方法不能有返回值
D.构造方法必须用new运算符调用
答案 B
44.(0.0分)对下列程序,正确的选项是( )。 import java.awt.; import javax.swing.; public class Test extends JFrame{ public Test(){ add(new JLabel(“Hello”)); add(new JTextField(“Hello”)); add(new JButton(“Hello”)); pack(); setVisible(true); } public static void main(String[] args){ new Test(); } }
A.显示一个窗口,但没有标签、文本框或按钮。
B.显示一个窗口,上端是一个标签,标签下面是文本框,文本框下面是按钮。
C.显示一个窗口,上面仅有一个按钮。
D.显示一个窗口,左面是标签,标签右面是文本框,文本框右面是按钮。
答案 C
45.(0.0分)执行下面程序,结果如何?( ) public class Construct{ public Construct(int x){ System.out.println(" "+x); } public staticvoidmain(String[] args){ Construct c = new Construct(); Construct c1 = new Construct(5); } }
A.输出5
B.输出一空行,然后输出5
C.无任何输出
D.不能编译
答案 D
46.(0.0分)下列程序段的运行结果为( ) int index = 1; int foo[] = new int[3]; int bar = foo[index]; int baz = bar + index;
A.baz 的值为 0
B.baz 的值为 1
C.baz 的值为 2
D.抛出一个异常
答案 B
47.(0.0分)下面代码的输出是什么?
public class Test{
public static void main(String[] args){ try{
var value = 50; if(value < 40)
throw new Exception(“value值太小。”);
} catch(Exception ex){ System.out.println(ex.getMessage());
}
System.out.println(“catch块后的代码。”);
}
}
A.value值太小。 catch块后的代码。
B.catch块后的代码。
C.value值太小。
D.无输出
答案 B
48.(0.0分)表达式-15%6的结果是( )
A.2
B.-2
C.3
D.-3
答案 D
49.(0.0分)下面声明那个会产生编译错误:( )
A. double[][] numbers = {{1,2,3},{7,8},{4,5,6,9}};
B.double[][] numbers = new double[7][];
C.double[][] numbers = new double[][];
D.double[][] numbers = new double[7][3];
答案 C
50.(0.0分)执行下面代码的输出结果是()。
public class Test{
public static void method(int i){ try{
if(i > 0){
System.out.print(“1”); return;
}else{
System.out.print(“2”); System.exit(1);
}
} finally{
System.out.print(“3”);
}
}
public static void main(String[] args){ method(5);
method(-5);
}
}
A. 133
B. 132
C. 113
D. 123
答案 B
51.(0.0分)下列代码执行后输出foo的结果为( )。
int index = 1;
String[] test = new String[3]; String foo = test[index]; System.out.println(foo);
A.“”
B.null
C.抛出异常
D.编译错误
答案 B
52.(0.0分)编译并运行下面的类,输出结果是( )。 public class Foo{ Foo(){System.out.print(“foo”);} class Bar{ Bar(){ System.out.print(“bar”);
} public void go(){ System.out.print(“hi”);} } void makeBar(){ (new Bar()).go(); } public static void main(String[] args){ Foo foo = new Foo(); foo.makeBar(); } }
A.barhi
B.foobarhi
C.hi
D.foohi
答案 B
53.(0.0分)给定下面代码段,输出j的值是多少?( )
int i = 1, j = 0 ; switch(i) {
case 2-> j += 1; default-> j += 2; case 1-> j += 6;
}
System.out.println(j);
A.2
B.6
C.7
D.8
答案 B
54.(0.0分)JVM是指( )
A.Java开发工具
B.Java虚拟机
C.Java运行环境
D.Java编程接口
答案 B
55.(0.0分)执行下列程序段后foo的值为( ) String foo = “blue”; boolean[] bar = new boolean[1]; if(bar[0]){ foo = “green”; } System.out.println(foo);
A.“”
B.null
C.blue
D.green
答案 C
56.(0.0分)一个类可以直接继承多少个类?( )。
A.0个
B.1个
C.2个
D.任意多个
答案 B
57.(0.0分)选择下列所有叙述正确的选项。
A.基本类型的加宽使值变大
B.基本类型的缩窄总是改变值的类型
C.基本类型的加宽只能在缩窄转换之后完成
D.缩窄转换使值变小
答案 B
58.(0.0分)Java中int类型所占字节数是( )
A.1
B.2
C.4
D.8
答案 C
59.(0.0分)给定下面类定义,选择正确答案。( ) public class Tree{ private static long noLeaves; public void grow(){ int noLeaves; this.noLeaves; = noLeaves + 5; } public static void main(String …agrs){ new Tree().grow(); } }
A.代码不能编译,因为不能定义同名变量。
B.代码不能编译,因为局部变量noLeaves没有初始化。
C.代码能编译,但程序不能运行。
D.代码能编译和运行。
答案 B
60.(0.0分)设x=3以及y=2,下面代码的输出结果是( )。
if (x > 2) if(y > 2){
int z = x + y;
System.out.println("z is " + z) ;
}
else{
System.out.println("x is " + x) ;
}
A.x is 2
B.z is 5
C.x is 3
D.无输出
答案 C
61.(0.0分)下面程序段的输出结果是( )。 int a = 2; System.out.print( a++); System.out.print( a); System.out.print(++a); A. 333
B. 334
C. 234
D. 233
答案 C
62.(0.0分)有下面类定义,下面代码不产生编译错误的是()。
public class Animal{ }
public class Cat extends Animal { } public class Dog extends Animal { }
public class AnimalHouse { private E animal;
public void setAnimal(E x) { animal = x;
}
public E getAnimal() { return animal;
}
}
A.AnimalHouse house = new AnimalHouse();
B.AnimalHouse house = new AnimalHouse();
C.AnimalHouse<?> house = new AnimalHouse(); house.setAnimal(new Cat());
D.var house = new AnimalHouse(); house.setAnimal(new Dog());
答案 D
63.(0.0分)下面代码的输出结果为( )。
String[] numbers = {“one”,“two”,“three”}; for(String s : numbers){
System.out.print( s + " ");
}
A.one two three
B.three two one
C.产生编译错误
D.运行时将抛出异常
答案 A
64.(0.0分)要开发Java程序,计算机必须安装的软件按是( )。
A.Java虚拟机(JVM)
B.Java运行时环境(JRE)
C.Java开发工具包(JDK)
D.集成开发环境(IDE)
答案 C
65.(0.0分)给定下面代码:
public static void testMethod1() { try {
testMethod2();
} catch (ArithmeticException e) { System.out.print("Dock ");
}
}
public static void testMethod2() throws ArithmeticException { try {
testMethod3();
} catch (ArithmeticException e) { System.out.print("Dickory ");
}
}
public static void testMethod3() throws ArithmeticException { System.out.print("Hickory ");
throw new ArithmeticException();
}
当调用testMethod1() 方法输出的内容为:()
A.Hickory Dickory
B.Dickory Hickory
C.Hickory
D.Hickory Dickory Dock
答案 A
66.(0.0分)下面声明那个会产生编译错误( )。
A. double[][] numbers = {{1,2,3},{7,8},{4,5,6,9}};
B.double[][] numbers = new double[7][];
C.double[][] numbers = new double[][];
D.double[][] numbers = new double[7][3];
答案 C
67.(0.0分)假设int x = 2,三元表达式x < 0? x+1:5的结果为( )。
A.0
B.2
C.3
D.5
答案 D
68.(0.0分)给定下面的类定义,选择正确的答案( )。 1. public class Calculator{ 2. int a = 3; 3. int b = 4; 4. int c = 6; 5. int d = 8; 6. public int cacl(){ 7. return a + b 8. + c + d; 9. } 10. public static void main(String[] args){ 11. Calculator c = new Calculator();
12. System.out.println(c.cacl()); 13. } 14. }
A.由于第6行错误,代码不能编译。
B.由于第7行错误,代码不能编译。
C.代码能够编译并输出21。
D.代码能够编译并输出3468。
答案 C
69.(0.0分)下面代码在运行时产生的异常是()。
int a[] = {1,2,3,4,5};
System.out.println(a[5]);
A.ArrayIndexOutOfBoundsException
B.IndexOutOfBoundsException
C.ObjectClastException
D.NullPointerException
答案 A
70.(0.0分)要创建一个下拉列表框,应该使用的类是( )。
A.JRadioButton
B.JOptionPane
C.JCheckbox
D.JComboBox
答案 D
71.(0.0分)有下列一段代码,执行后输出结果为。( )
import java.util.*; public class SortOf{
public static void main(String[]args){ ArrayList a = new ArrayList<>(); a.add(1);
a.add(5);
a.add(3);
Collections.sort(a); a.add(2); Collections.reverse(a); System.out.println(a);
}
}
A. [1, 2, 3, 5]
B. [2, 1,3, 5]
C. [2, 5, 3, 1]
D. [1, 3, 5, 2]
答案 B
72.(0.0分)下面代码的输出结果是( )。
var tenChar = “AAAAAAAAAA”; System.out.println(tenChar.replace(“AAA”,“KKK”);
A.AAAAAAAAAA
B.KKKAAAAAAA
C.KKKKKKKKKA
D.KKKKKKKKKK
答案 C
73.(0.0分)若将一个数字字符串转换为double型值,应该使用的方法是( )。
A.Integet.parseInt()
B.Double.parseDouble()
C.Number.parseNumber()
D.Double.toDouble()
答案 B
74.(0.0分)下面程序运行结果为 ( ) class AA{ AA(int a){ System.out.print(a); } } class BB extends AA{ BB(String s){ super(88); System.out.print(s); } } public class ConstructorDemo{ public static void main(String[] args){ BB b = new BB(“hello”); } }
A.该程序有编译错误
B.88hello
C.hello88
D.hello
答案 B
75.(0.0分)下面程序的输出结果是( )。 public class Dog { private int age; private int size; public Dog() { super(); System.out.println(“使用默认值”); } public Dog(int age) { this.age = age; System.out.println(“设置age”); } public Dog(int size) { this.size = size; System.out.println(“设置size”); } public static void main(String[] args) { Dog dog = new Dog(); } }
A.使用默认值
B.设置age
C.设置size
D.编译错误
答案 D
76.(0.0分)要弹出一个输入对话框,应该使用JOptionPane类的( )方法。
A.showInputDialog()
B.showMessageDialog()
C.showOptionDialog()
D.showConfirmDialog()
答案 A
77.(0.0分)有下列程序,下面选项是正确的是( )。 import java.awt.; import javax.swing.; public class MyWindow extends JFrame{ public static void main(String[] args){ var mw = new MyWindow (); mw.pack(); mw.setVisible(true); } public MyWindow (){ setLayout(new GridLayout(2,2)); JPanel p1=new JPanel(); add(p1); JButton b1=new JButton(“One”); p1.add(b1); JPanel p2=new JPanel(); add(p2); JButton b2=new JButton(“Two”); p2.add(b2); JButton b3=new JButton(“Three”); p2.add(b3); JButton b4=new JButton(“Four”); add(b4); } } 程序运行后,当窗口大小改变时:
A.所有按钮的高度都可以改变
B.所有按钮的宽度都可以改变
C.按钮“Three”可以改变宽度
D.按钮“Four”可以改变高度和宽度
答案 D
78.(0.0分)对下列程序,正确的选项是( )。 import java.awt.; import javax.swing.; public class Test extends JFrame{ public Test(){ add(new JLabel(“Hello”)); add(new JTextField(“Hello”)); add(new JButton(“Hello”)); pack(); setVisible(true); } public static void main(String[] args){ new Test(); } }
A.显示一个窗口,但没有标签、文本框或按钮。
B.显示一个窗口,上端是一个标签,标签下面是文本框,文本框下面是按钮。
C.显示一个窗口,上面仅有一个按钮。
D.显示一个窗口,左面是标签,标签右面是文本框,文本框右面是按钮。
答案 C
79.(0.0分)若程序需要处理鼠标拖拽事件,应该实现的接口是( )。
A.ActionListener
B.MouseListener
C.WindowListener
D.MouseMotionListion
答案 D
80.(0.0分)下面代码在运行时会产生什么异常( )
String s = “ABC”; System.out.print(s.charAt(3));
A.ArrayIndexOutOfBoundsException
B.IndexOutOfBoundsException
C.StringIndexOutOfBoundsException
D.NullPointerException
答案 C
81.(0.0分)有如下类的定义,Inner类称为( )。 public class Outer{ class Inner{ public void go(){ System.out.print(“hi”); } } }
A.匿名内部类
B.局部内部类
C.成员内部类
D.静态内部类
答案 C
82.(0.0分)下面代码片段打印输出什么?
int i = 0; System.out.println(i++);
A.0
B.1
C.2
D.3
答案 A
83.(0.0分)给定下面声明。下面声明语句合法的是( )。 enum Sports {FOOTBALL, BASKETBALL, BASEBALL, TRACK}
A.Sports sport = FOOTBALL;
B.Sports sport = Sports.FOOTBALL;
C.Sports sport = Sports.HOCKEY;
D.Sports sport = ‘TRACK’;
答案 B
84.(0.0分)执行下面for循环的输出结果是( )。 for(int x = 0; x <=10; ){ System.out.println(“x=” + x); } A. “x=0”,“x=1”…“x=10”
B.输出无限个"x=0"
C.代码不能编译
D.代码不能运行
答案 B
85.(0.0分)什么是正确的“is-a”关系?( )。
A.一般的对象“is-a”特殊的对象
B.特殊的对象“is-a”更一般的对象
C.null对象“is-a”对象
D.描述对象之间的“有一种”关系
答案 B
86.(0.0分)编译和运行以下代码的结果为( )。
public class MyMain{
public static void main(String argv){ System.out.println(“世界,你好!”);
}
}
A.编译错误
B.运行输出 “世界,你好!”
C.编译无错,但运行时指示没有定义构造方法
D.编译无错,但运行时指示没有正确定义main方法
答案 D
87.(0.0分)声明一个有5个int元素的数组,正确的是( )
A.int intArray = new int[5];
B.int intArray = new int(5);
C.int[] intArray = new int[5];
D.int[5] intArray = new int[5];
答案 C
88.(0.0分)使用DataOutputStream对象的writeUTF()方法将字符串"你好ABC"写入文件,一共写入多少个字节?( )
A.11
B.7
C.5
D.9
答案 A
89.(0.0分)给定下面的类定义( ) public class Outer{ class Inner{ public void print(){ System.out.println(“Inner Class”); } } } 要从与Outer类相同包中的其他类成功调用print()方法,下面语句正确的是( )
A.new Inner().print();
B.Outer.this.print();
C.new Outer().new Inner().print();
D.new Outer().print();
答案 C
90.(0.0分)定义方法若使用void作为方法返回值类型,下面叙述正确的是( )。
A.必须使用带值的的return语句
B.带值的的return语句是可选的
C.永远不应使用带值的return语句
D.必须使用return语句
答案 C
91.(0.0分)有如下类的定义,该类编译后生成几个类文件?( ) public class Outer{ class Inner{ public void go(){ System.out.print(“hi”); } } }
A.1个
B.2个
C.3个
D.4个
答案 B
92.(0.0分)下列选项使用了缓冲技术的流( )
A.FileOutputStream
B.PrintStream
C.BufferedOutputStream
D.Scanner
答案 C
93.(0.0分)下面对数组的声明并初始化,正确的是()。
A.int arr[];
B.int arr[5];
C. int arr[5] = {1,2,3,4,5};
D. int arr[] = {1,2,3,4,5};
答案 D
94.(0.0分)执行下列程序段后a和b的值为( )。 class AB{ int a , b ; public void init(int x){ a = x ; int b = 5 ; } public void display(){ System.out.println("a = “+a+” b = "+b); } } public class ABTest{ public static void main(String[] args){ AB ab = new AB(); ab.init(6); ab.display() ; } }
A.a = 5 b = 5
B.a = 0 b = 0
C.a = 6 b = 5
D.a = 6 b = 0
答案 D
95.(0.0分)在Java中,标识符不是用来标识( )。
A.变量名
B.方法名
C.数据类型名
D.类名
答案 C
96.(0.0分)声明并实例化Book类型的一个新对象,正确的是( )。
A.Book b;
B.Book b = new Book();
C.Book b = new Book[];
D.Book b = Book();
答案 B
97.(0.0分)设有Circle类,执行下面语句后,哪个对象可以被垃圾回收器回收( ) Circle a = new Circle(); Circle b = new Circle(); Circle c = new Circle(); a = b; a = c; c = null;
A.原来a所指的对象
B.原来b所指的对象
C.原来b和c所指的对象
D.原来c所指的对象
答案 A
98.(0.0分)下面程序运行结果为 ( ) class Super{ public int i = 0; public Super(String text){ i = 1; } } public class Sub extends Super{ public Sub(String text){ i = 2; } public static void main(String[] args){ Sub sub = new Sub(“Hello”); System.out.println(sub.i); } }
A.该程序有编译错误
B.编译成功输出0
C.编译成功输出1
D.编译成功输出2
答案 A
99.(0.0分)下面不属于引用类型的是( )。
A.记录类型
B.枚举类型
C.注解类型
D.列表类型
答案 D
100.(0.0分)下面哪个是不合法的十六进制值?( )
A. 0x4ABF
B. 0x0021
C. 0xHAAC
D. 0x12A7
答案 C
101.(0.0分)下面哪个语句可以得到42度的余弦值?( )。
A.double d = Math.cos(42);
B.double d = Math.cosine(42);
C.double d = Math.cos(Math.toRadians(42));
D.double d = Math.cos(Math.toDegrees(42));
答案 C
102.(0.0分)下面程序的输出结果是( )。 public class SampleClass { private int size; public SampleClass(int size) { size = size; } public static void main(String[] args) { SampleClass sampleClass = new SampleClass(5); System.out.println(sampleClass.size); } }
A.0
B.5
C.编译错误
D.运行错误
答案 A
103.(0.0分)下列代码执行后输出foo的结果为( )
int index = 1;
String[] test = new String[3]; String foo = test[index]; System.out.println(foo);
A.“”
B.null
C.抛出一个异常
D.代码不能编译
答案 B
104.(0.0分)下面代码片段打印输出什么?
boolean b1 = true; boolean b2 = false;
System.out.println(b1 & b2);
A.1
B.0
C.true
D.false
答案 D
105.(0.0分)下面代码的输出结果为( )。
String[] numbers = {“one”,“two”,“three”}; System.out.print(numbers[3] + " " + numbers[2] + " " + numbers[1]);
A.one two three
B.three two one
C. 产生编译错误
D. 运行时将抛出异常
答案 D
106.(0.0分)java.awt包中提供了多个布局管理器类,下面能够把容器内的空间划分为东、南、西、北、中五个区域的布局是( )。
A.FlowLayout
B.BorderLayout
C.CardLayout
D.GridLayout
答案 B
107.(0.0分)给定下面的字符串对象str,下面哪个语句能够成功地将原来的str对象值改为"abcdef"?( )。 var str = new String(“abc”);
A.str.concat(“def”);
B.str = “abc” + “def”;
C.str += “def”;
D.以上都不能
答案 D
108.(0.0分)有如下类的定义,如果在其他类中创建Inner类的实例,正确的是( )。 public class Outer{ public static class Inner{ public static void foo(){ System.out.println(“Inner”); } } }
A.Outer. Inner mi = new Outer. Inner();
B.Outer. Inner mi = new Inner();
C.Outer m = new Outer(); Outer. Inner mi = m.new Outer. Inner()
D.Inner mi = new Outer. Inner();
答案 A
109.(0.0分)若程序需要处理鼠标事件,应该实现的接口是( )。
A.ActionListener
B.MouseListener
C.WindowListener
D.MouseMotionListion
答案 B
110.(0.0分)下列程序的输出结果为( ) import java.io.IOException; public class Test{ public static void methodA() { throw new IOException(); } public static void main(String[] args){ try{ methodA(); }catch(IOException e){ System.out.println(“Caught Exception”); } } }
A.代码有编译错误
B.输出“Caught Exception”
C.输出“Caught IOException”
D.程序正常执行,没有任何输出
答案 A
111.(0.0分)关于Throwable类,叙述不正确的是()。
A.Throwable类扩展了Object类
B.Throwable类实现了Serializable接口
C.Throwable类的直接子类包括RuntimeException类和Error类
D.Throwable类定义在java.lang包中
答案 C
112.(0.0分)给定下面代码段,程序运行结果是( )
public class Test {
static void leftshift(int i, int j){ i <<= j;
}
public static void main(String[] args){ int i = 4, j = 2;
leftshift(i,j); System.out.println("i = "+ i);
}
}
A.i = 1
B.i = 2
C.i = 3
D.i = 4
答案 D
113.(0.0分)下列程序的输出结果是( )。 public class Test{ static void operate(StringBuilder x, StringBuilder y){ x.append(y); y = x; } public static void main(String[] args){ var a = new StringBuilder (“A”); var b = new StringBuilder (“B”); operate(a,b); System.out.println(a+“,”+b); } }
A.A,B
B.AB,AB
C.AB,B
D.BB,AA
答案 C
114.(0.0分)有下面的Animal类,该类的超类(父类)是( )。 public class Animal{ String name; }
A.无父类
B.Super
C.Object
D.System
答案 C
115.(0.0分)Java语言的字符使用的字符编码是( )
A.ASCII
B.Unicode
C.UTF-8
D.GB2312
答案 B
116.(0.0分)执行下面for循环的输出结果是( ) for(int x = 0; x <=10; ){ System.out.println(“X=” + x); } A. “X=0”,“X=1”…“X=10”
B.输出无限个"X=0"
C.代码不能编译
D.代码不能运行
答案 B
117.(0.0分)若创建19:30:40时间,语句应该如何写( )。
A.LocalTime.now()
B.new LocalTime(19,30,40)
C.LocalTime.now(19,30,40)
D.LocalTime.of(19,30,40)
答案 D
118.(0.0分)下面程序的运行结果是: public class SampleClass { public static void sampleMethodOne() { sampleMethodTwo() ; System.out.println(“sampleMethodOne”); } public void sampleMethodTwo() { System.out.println(“sampleMethodTwo”); } public static void main(String[] args) { SampleClass s = new SampleClass(); SampleClass.sampleMethodOne(); } }
A.sampleMethodTwo
B.sampleMethodOne sampleMethodTwo
C.sampleMethodTwo sampleMethodOne
D.编译错误
答案 D
119.(0.0分)在Java中,byte型变量所占的字节数是( )
A.1
B.2
C.4
D.8
答案 A
120.(0.0分)下面声明并初始化二维数组,错误的是( )。
A. int [][] y = new int[3][];
B. int [][] m = {{1, 2},{2, 3}};
C. int [][] n = {{1, 2},{2, 3}, };
D. int [][] r = new int[2];
答案 D
121.(0.0分)采用先进先出存储结构的集合是( )。
A.Stack
B.List
C.Queue
D.Collection
答案 C
122.(0.0分)有下列一段代码,执行后输出结果为。( )
import java.util.*; public class SortOf{
public static void main(String[]args){ ArrayList a = new ArrayList<>(); a.add(1);
a.add(5);
a.add(3);
Collections.sort(a); a.add(2); Collections.reverse(a); System.out.println(a);
}
}
A. [1, 2, 3, 5]
B. [2, 1,3, 5]
C. [2, 5, 3, 1]
D. [1, 3, 5, 2]
答案 C
123.(0.0分)下面哪个方法不是Scanner类中定义的?( )
A.next()
B.nextInt()
C.nextBoolean()
D.nextChar()
答案 D
124.(0.0分)下面的语句不正确的是( )。
A.Integer x = 3 + new Integer(50);
B.Integer x = 3;
C.Double x = 3;
D.Double x = 3.0;
答案 C
125.(0.0分)执行下列程序段后a和b的值为( ) class AB{ int a , b ; public void init(int x){ a = x ; int b = 5 ; } public void display(){ System.out.println("a = “+a+” b = "+b); } } public class ABTest{ public static void main(String[] args){ AB ab = new AB(); ab.init(6); ab.display() ; } }
A.a = 5 b = 5
B.a = 0 b = 0
C.a = 6 b = 5
D.a = 6 b = 0
答案 D
126.(0.0分)IDE表示什么?
A.Initial Development Edition
B.Integrated Development Environment
C.International Development Edition
D.Integrated Development Edition
答案 B
127.(0.0分)下面的容器中,是顶级容器的是( )。
A.JDialog
B.JPanel
C.JScrollPane
D.JRootPane
答案 A
128.(0.0分)下面哪种集合中不允许包含重复的元素值?( )
A.Set
B.List
C.Queue
D.Collection
答案 A
129.(0.0分)下面声明正确的是:( )
A.Object obj = new Object();
B.Object[] obj = new Object();
C.Object obj[] = new Object();
D.Object[] obj = new Object[];
答案 A
130.(0.0分)执行下列语句后输出的结果是( ) String s = “COMPUTER”; System.out.println(s.indexOf(‘M’));
A.0
B.1
C.2
D.3
答案 C
131.(0.0分)在Java中,short型变量所占的字节数是( )
A.1
B.2
C.4
D.8
答案 B
132.(0.0分)若程序需要处理点击按钮事件,应该实现的接口是( )。
A.ActionListener
B.MouseListener
C.WindowListener
D.MouseMotionListion
答案 A
133.(0.0分)Java SE表示( )。
A.Java企业版
B.Java标准版
C.Java微型版
D.Java开发版
答案 B
134.(0.0分)有如下类的定义,编译和运行TestInners类,输出结果为( )。 class A { void m() { System.out.println(“outer”); } } public class TestInners { public static void main(String[] args) { new TestInners().go(); } void go() { new A().m(); class A { void m() { System.out.println(“inner”); } } } class A { void m() { System.out.println(“middle”); } } }
A.inner
B.outer
C.middle
D.编译错误
答案 C
135.(0.0分)Java语言属于( )
A.机器语言
B.高级语言
C.自然语言
D.汇编语言
答案 B
136.(0.0分)一个类要具备什么条件才可以序列化?( )。
A.继承ObjectStream类
B.具有带参数构造方法
C.定义了writeObject()方法
D.实现了Serializable接口
答案 D
137.(0.0分)可将容器分成上、下、左、右和中央五个区域的布局管理器是( )。
A.FlowLayout
B.BorderLayout
C.Card Layout
D.Grid Layout
答案 B
138.(0.0分)以下程序的运行结果为( )。 class Base{ public final void amethod(){ System.out.println(“Base”); } } public class Fin extends Base{ public static void main(String argv[]){ Fin sub = new Fin(); sub.amethod(); } }
A.编译指示带有final 方法的类自己必须定义为final
B.编译指示不能继承含有final 方法的类
C.运行错误,原因是Base类没有定义为final类
D.运行输出 Base
答案 D
139.(0.0分)要创建一个系统默认时区的当前日期LocalDate对象,合法的语句是( )。
A.LocalDate today = new LocalDate();
B.LocalDate today = LocalDate.now();
C.LocalDate today = LocalDate.of();
D.LocalDate today = LocalDate.date();
答案 B
140.(0.0分)如果需要双向迭代List的每个元素,需要创建下面哪个对象?( )
A.Iterator
B.Collection
C.ListIterator
D.Enumeration
答案 C
141.(0.0分)下面哪个结构中语句能保证至少被执行一次?( )
A.for循环
B.if-else结构
C.do-while循环
D.while循环
答案 C
142.(0.0分)下面代码的输出结果为:( )
String[] numbers = {“one”,“two”,“three”}; for(String s : numbers){
System.out.print( s + " ");
}
A.one two three
B.three two one
C.产生编译错误
D.运行时抛出异常
答案 A
143.(0.0分)有如下类的定义,Inner类称为( )。 public class Outer{ class Inner{ public void go(){ System.out.print(“hi”); } } }
A.匿名内部类
B.局部内部类
C.成员内部类
D.静态内部类
答案 C
144.(0.0分)若要给一个文件改名,比较合适的类是( )。
A.FileOutputStream
B.File
C.RandomAccessFile
D.Files
答案 B
145.(0.0分)给定下面代码段,输出n的值是多少?( )
int i = 1, j = 0 ; int n = switch(i) {
case 2-> j = i + 1; default-> j = i + 2; case 1-> j = i + 6;
};
System.out.println(n);
A.2
B.6
C.7
D.8
答案 C
146.(0.0分)下面是变量声明语句,不正确的是( )。
A.int age;
B.double d1, d2;
C.char letter, char2;
D.int a, double b;
答案 D
147.(0.0分)A类同时实现接口B和接口C,正确的写法是( )。
A.public class A implements B, implements C {…}
B.public class A implements B, C {…}
C.public class A interface B, iinterface C {…}
D.public class A extends B, C {…}
答案 B
148.(0.0分)要对一个数组a的元素进行排序,可以使用java.util.Arrays类的( )方法。
A.sort()方法
B.binarySearch()方法
C.copyOf()方法
D.fill()方法
答案 A
149.(0.0分)下面哪个方法不是Object类中定义的方法?( )
A.public boolean equals(Object obj)
B.public int compareTo()
C.public String toString()
D.public int hashCode()
答案 B
150.(0.0分)设有Car类,执行下面语句后,哪个对象可以被垃圾回收器回收?( ) Car a = new Car (); Car b = new Car (); Car c = new Car (); a
= b; a = c; c = null;
A.原来a所指的对象
B.原来b所指的对象
C.原来b和c所指的对象
D.原来c所指的对象
答案 A
151.(0.0分)Java的字符使用字符编码是( )。
A.ASCII
B.Unicode
C.UTF-8
D.GB2312
答案 B
152.(0.0分)给出下面代码,以下说法正确的是()。
public class Person{
static int arr[] = new int[10]; public static void main(String a[]) {
System.out.println(arr[1]);
}
}
A.编译时将产生错误。
B.编译时正确,运行时将产生错误。
C.输出0。
D.输出null。
答案 C
153.(0.0分)JFrame的内容窗格和JPanel的默认的布局管理器分别为( )。
A.流式布局和边界式布局
B.边界式布局和流式布局
C.边界式布局和网格布局
D.都是边界式布局
答案 B
154.(0.0分)JVM的含义是( )。
A.Java运行时环境
B.Java类库
C.Java虚拟机
D.Java开发工具集
答案 C
155.(0.0分)要在子类中覆盖超类的一个方法,应该使用的注解是( )。
A.@Overload
B.@Over
C.@Deprecated
D.@Override
答案 D
156.(0.0分)下面代码发生错误的原因是( )
import java.io.*; public class Test{
public static void main(String []args){ try(
var fis = new FileInputStream(“test.dat”);
){
System.out.println(fis.read());
}catch(IOException ex){ ex.printStackTrace();
}catch(FileNotFoundException ex){ ex.printStackTrace();
}
}
}
A.没有创建File对象。
B.没有关闭文件输入流对象。
C.不能使用var声明FileInputStream对象。
D.FileNotFoundException是IOException的子类,应该放在前面捕获。
答案 D
157.(0.0分)下面应用程序执行输出结果是什么?( ) public class ThreadTest { public void newThread() { Thread t = new Thread() { public void run(){ System.out.println(“Go to Sleep”); try{ sleep(5000); }catch(InterruptedException ie){} System.out.println(“Wake Up!”); } }; t.start(); try{ t.join(); } catch(InterruptedException ie){} System.out.println(“All Done”); } public static void main(String[] args) { new ThreadTest().newThread(); } }
A.先输出Go to Sleep,然后输出Wake Up,最后输出All Done
B.先输出All Done,然后输出Go to Sleep,最后输出Wake Up
C.仅输出All Done
D.先输出Go to Sleep,然后输出Wake Up
答案 A
158.(0.0分)有下列程序,下面选项是正确的是( )。 import java.awt.; import javax.swing.; public class MyWindow extends JFrame{ public static void main(String[] args){ var mw = new MyWindow (); mw.pack(); mw.setVisible(true); } public MyWindow (){ setLayout(new GridLayout(2,2)); JPanel p1=new JPanel(); add(p1); JButton b1=new JButton(“One”); p1.add(b1); JPanel p2=new JPanel(); add(p2); JButton b2=new JButton(“Two”); p2.add(b2); JButton b3=new JButton(“Three”); p2.add(b3); JButton b4=new JButton(“Four”); add(b4); } } 程序运行后,当窗口大小改变时:
A.所有按钮的高度都可以改变
B.所有按钮的宽度都可以改变
C.按钮“Three”可以改变宽度
D.按钮“Four”可以改变高度和宽度
答案 D
159.(0.0分)下面属于字符串字面值的是( )。
A.“hello”
B.‘M’
C.3ab
D.false
答案 A
160.(0.0分)下面代码的执行后,变量y的值是( )。
int x = 5, y = 6; if (x % 2 == 0) {
x++;
} else { y++;
}
System.out.println(y);
A.5
B.6
C.7
D.8
答案 C
161.(0.0分)闰年是该年的2月份有29天。设year表示年份,满足下面条件即为闰年:(1)能被4整除,但不能被100整除;(2)能被400整除。写成布尔表 达式,正确的是:( )。
A. (year % 4 == 0 && year % 100 != 0) && year % 400 == 0
B. (year % 4 == 0 && year % 100 != 0)||year % 400 == 0
C. year % 4 == 0 && (year % 100 != 0 ||year % 400 == 0)
D. year % 4 == 0 && year % 100 != 0 && year % 400 == 0
答案 B
162.(0.0分)下面代码中第12行的size变量指的是哪行定义的size变量?( )。
1.class Parent{
2.public int size;
3.public int getSize(){
4.return this.size;
5. }
6. }
7.public class Child extends Parent{
8.int size;
9.class InnerChild{
10.int size;
11.public void method(int size){
12.Parent.Child.this.size = 5;
13. }
14. }
15. }
A.第2行
B.第8行
C.第10行
D.都不是,代码不能编译
答案 D
163.(0.0分)JRE是指( )
A.Java开发工具
B.Java虚拟机
C.Java运行环境
D.Java编程接口
答案 C
164.(0.0分)执行下列语句后输出的结果是( )。 var s = ““Hello,World!””; System.out.println(s);
A.14
B.“Hello,World!”
C.“Hello,World!”
D.Hello,World!
答案 B
165.(0.0分)下面代码运行输出结果是 ( )。
public class Test{
private String message; public Test(String s){
var message = s;
}
public static void main(String[] args){ var test = new Test(“ABCD”);
System.out.println(test.message.toLowerCase());
}
}
A.抛出NullPointerException异常。
B.输出abcd。
C.输出ABCD。
D.无输出
答案 A
166.(0.0分)安装好JDK后,Java编译器javac.exe和Java解释器java.exe存放在那个目录中( )。
A.lib
B.bin
C.conf
D.jmods
答案 B
167.(0.0分)给定下面的程序,它运行后的外观是( )。 package com.boda.xy; import java.awt.; import javax.swing.; public class WinDemo extends JFrame { WinDemo() { JPanel p = new JPanel(); p.setBackground(Color.pink); p.add(new JButton(“One”)); p.add(new JButton(“Two”)); p.add(new JButton(“Three”)); add(p, BorderLayout.PAGE_END); setLayout(new FlowLayout()); setSize(300, 300); } public static void main(String argv[]) { WinDemo wd = new WinDemo(); wd.setVisible(true); } }
A.按钮按从左向右的次序出现在窗体的底部。
B.按钮按从左向右的次序出现在窗体的顶部。
C.按钮将不显示。
D.只有一个按钮显示占满整个窗体。
答案 B
168.(0.0分)设x=3以及y=2,下面代码的输出结果是( )。
if (x > 2) if(y > 2){
int z = x + y;
System.out.println("z is " + z) ;
}
else{
System.out.println("x is " + x) ;
}
A.x is 2
B.z is 5
C.x is 3
D.无输出
答案 C
169.(0.0分)要弹出一个选项对话框,应该使用JOptionPane类的( )方法。
A.showInputDialog()
B.showMessageDialog()
C.showOptionDialog()
D.showConfirmDialog()
答案 C
170.(0.0分)在Java中,byte型变量所占的字节数是( )。
A.1
B.2
C.4
D.8
答案 A
171.(0.0分)下面代码在运行时产生的异常是()。
var s = “this is a Java string.”; System.out.print(s.charAt(s.length()));
A.ArrayIndexOutOfBoundsException
B.IndexOutOfBoundsException
C.StringIndexOutOfBoundsException
D.NullPointerException
答案 C
172.(0.0分)要创建并启动一个线程,下面哪个是正确的?( )
A.Thread t = new Thread(); t.run();
B.Thread t = new Thread(); t.start();
C.Runnable r = new Runnable(); t.start();
D.Runnable r = new Runnable(); t.run();
E.Thread t = new Thread(new Runnable()); t.start();
答案 B
173.(0.0分)在Eclipse中要快速输入System.out.println()语句,下面操作正确的是( )。
A.先输入syso,然后按Clt+O键
B.先输入syso,然后按Clt+R键
C.先输入syso,然后按Alt+/键
D.先输入syso,然后按Clt+/键
答案 C
174.(0.0分)Java源文件的扩展名是( )
A.doc
B.exe
C.java
D.class
答案 C
175.(0.0分)下面代码在运行时会产生什么异常( )
int a[] = {1,2,3,4,5};
System.out.println(a[5]);
A.ArrayIndexOutOfBoundsException
B.IndexOutOfBoundsException
C.ObjectClastException
D.NullPointerException
答案 A
176.(0.0分)给定下面的类定义,选择正确的答案。( ) 1. public class Calculator{ 2. int a = 3; 3. int b = 4; 4. int c = 6; 5. int d = 8; 6. public int cacl(){ 7. return a + b 8. + c + d; 9. } 10. public static void main(String[] args){ 11. Calculator c = new Calculator(); 12.
System.out.println(c.cacl()); 13. } 14. }
A.由于第6行错误,代码不能编译。
B.由于第7行错误,代码不能编译。
C.代码能够编译并输出21。
D.代码能够编译并输出3468。
答案 C
177.(0.0分)假设x=2以及y=3,下面代码的输出结果是()。
if (x > 2)
if(y > 2){
int z = x + y; System.out.println("z is " + z) ;
}
else{
System.out.println("x is " + x) ;
}
A.x is 2
B.x is 5
C.x is 6
D.无输出
答案 D
178.(0.0分)有下面程序: import java.io.*; public class Test { public static void main(String[] args) { var file = new File(“hello.txt”); var b = new byte[5]; try{ var in = new FileInputStream(file); var m = in.read(b,0,5); m = in.read(b,0,5); System.out.println(new String(b,0,m));
}catch(IOException exp){} } } 假设hello.txt文件的内容是:ABCDEFGH。下面叙述正确的是( )。
A.程序编译出现错误。
B.程序在控制台输出ABCDE。
C.程序在控制台输出字符FGH。
D.程序在控制台输出ABCDEF。
答案 C
179.(0.0分)Java集合框架的接口和类定义在下面的哪个包中?( )
A.java.io
B.java.collection
C.java.set
D.java.util
答案 D
180.(0.0分)执行下列语句后输出的结果是( )。 String foo = “ABCDE”; foo.substring(3); foo.concat(“XYZ”); System.out.println(foo);
A.ABCD
B.DEXYZ
C.XYZ
D.DE
答案 A
181.(0.0分)btn是一个按钮对象,listener是实现ActionListener接口的对象,要为按钮btn注册该事件监听器,下面代码正确的是( )。
A.btn.setListener(listener);
B.btn.setActionListener(listener);
C.btn.addListener(listener);
D.btn.addActionListener(listener);
答案 D
182.(0.0分)下面哪个语句使定义的类属于com.boda.util包?( )。
A.pack com.boda.util;
B.Package com.boda.util.*;
C.package com.boda.util.*;
D.package com.boda.util;
答案 D
183.(0.0分)下面程序的输出结果是:( ) public class SampleClass { private int size; public SampleClass(int size) { size = size; } public static void main(String[] args) { SampleClass sampleClass = new SampleClass(5); System.out.println(sampleClass.size); } }
A.0
B.5
C.编译错误
D.运行错误
答案 A
184.(0.0分)下列程序输出i的值为( )。 public class Test{ static void add(int i, int j){ i = i + j; } public static void main(String[] args){ int i = 4, j = 2; add(i,j); System.out.println(i); } }
A.2
B.4
C.6
D.8
答案 B
185.(0.0分)下面代码在运行时产生的异常是()。
var s = “ABC”; System.out.print(s.charAt(3));
A.ArrayIndexOutOfBoundsException
B.IndexOutOfBoundsException
C.StringIndexOutOfBoundsException
D.NullPointerException
答案 C
186.(0.0分)下面哪个语句是调用垃圾回收器?( )
A.System.garbage();
B.System.garbage.collect();
C.System.gc();
D.System.garbagecollect();
答案 C
187.(0.0分)有下面类的定义: class Super{ public float getNum(){ return 3.0f; } } public class Sub extends Super{ } 下面方法放在划线处会发生编译错误的是( )。
A.public float getNum(){return 4.0f;}
B.public void getNum(){}
C.public void getNum(double d){}
D.public double getNum(float d){return 4.0d;}
答案 B
188.(0.0分)下面语句的作用是:( ) super();
A.调用父类的构造方法
B.调用当前类的构造方法
C.调用子类的构造方法
D.递归调用当前方法
答案 A
189.(0.0分)关于Java语言的注释,下面哪个是不正确的( )。
A.// 注释
B./* 注释*/
C.-- 注释
D. /** 注释*/
答案 C
190.(0.0分)如何将2342作为long型数据输入?( )
A. 2342
B. L2342
C. 2342L
D.(long)2342
答案 C
191.(0.0分)使用Java编译器编译一个类正确的是( )。
A.java MyClass.class
B.javac MyClass
C.javac MyClass.resource
D.javac MyClass.java
答案 D
192.(0.0分)要设置窗口对象是否可见,应该使用的方法是( )。
A.setLocation()
B.setSize()
C.setLayout()
D.setVisible()
答案 D
193.(0.0分)下列代码执行后输出foo的结果为( )。
var s = “COMPUTER”;
System.out.println(s.indexOf(‘M’));
A.0
B.1
C.2
D.3
答案 C
194.(0.0分)Java字节码文件的扩展名是( )
A.c
B.exe
C.java
D.class
答案 D
195.(0.0分)下面哪个方法不是Object类中定义的方法?( )
A.public boolean equals(Object obj)
B.public int compareTo()
C.public String toString()
D.public int hashCode()
答案 B
196.(0.0分)关键字extends可实现类之间的什么关系?( )
A.“has a”
B.“is a”
C.“was a”
D.“will be a”
答案 B
197.(0.0分)执行下面程序,输出结果为( )。 public class Construct{ public Construct(int x){ System.out.println(" "+x); } public static void
main(String[] args){ Construct c = new Construct(); Construct c1 = new Construct(5); } }
A.输出5
B.输出一空行,然后输出5
C.无任何输出
D.不能编译
答案 D
198.(0.0分)执行下列程序段后foo的值为( )。 String foo = “blue”; boolean[] bar = new boolean[1]; if(bar[0]){ foo = “green”; }
A.“”
B.null
C.blue
D.green
答案 C
199.(0.0分)运行下面代码会发生什么?( )
import java.io.*; public class Test{
public static void main(String[]args) throws IOException{ try(
var output = new ObjectOutputStream(new FileOutputStream(“object.dat”));
){
output.writeObject(new A());
}
}
}
class A implements Serializable{ B b = new B();
}
class B {}
A.可以将A类的一个对象写入文件。
B.可序列化对象A的成员不能包含对象。
C.抛出java.io.NotSerializableException异常,B类不是序列化的对象。
D.没有正常关闭output对象。
答案 C
200.(0.0分)有如下类的定义,编译和运行HorseTest类,输出结果为( )。 public class HorseTest { public static void main(String[] args) { class Horse { public String name; public Horse(String s) { name = s; } } Object obj = new Horse(“Zippo”); System.out.println(obj.name); } }
A.输出Zippo
B.第3行发生编译错误
C.第9行发生编译错误
D.第10行发生编译错误
答案 D
201.(0.0分)一个类可以直接继承多少个类?
A.0个
B.1个
C.2个
D.任意多个
答案 B
202.(0.0分)下面哪个结构中语句能保证至少被执行一次?( )
A.for循环
B.if-else结构
C.do-while循环
D.while循环
答案 C
203.(0.0分)有下列程序,请给出执行后输出结果( )。 import java.util.*; public class FindDups { public static void main(String[] args) { var s = “one little,two little,three little.”; String[] str = s.split(“[ ,.]”); Set hs = new HashSet<>(); for (String a : str){ hs.add(a); } System.out.println(hs.size()); } }
A.4
B.6
C.8
D.10
答案 A
204.(0.0分)要实例化一个ArryaList泛型对象a,下面正确的是( )
A.var list = new ArryaList();
B.var list = new ArryaListInteger;
C.var list = new ArryaList{Integer}();
D.var list = new ArryaList"Integer"();
答案 A
205.(0.0分)下面代码的执行后,输出结果是( )。
boolean keepgo = true;
int result = 15, meters = 10; do {
meters–;
if(meters==8) keepgo = false; result -= 2;
} while (keepgo); System.out.println(result);
A.7
B.9
C.10
D.11
答案 D
206.(0.0分)什么是正确的“is-a”关系?
A.一般的对象“is-a”特殊的对象
B.特殊的对象“is-a”更一般的对象
C.null对象“is-a”对象
D.描述对象之间有一种关系
答案 B
207.(0.0分)下面程序运行结果为 ( ) class Animal{ public Animal(){ System.out.println(“Animal”); } } // Bird类是Animal的子类 public class Bird extends Animal{ public Bird(){ System.out.println(“Bird”); } public static void main(String[]args){ Bird b = new Bird(); } }
A.Animal
B.Bird
C.Animal
D.Bird Bird Animal
答案 C
208.(0.0分)表达式Math.sin(Math.PI/6)的结果是( )。
A. 0.49999999999999994
B. 30
C. 60
D. 0.523
答案 A
209.(0.0分)下面程序段执行后,i 、j的值分别为()。 int i = 1, j = 10; do{ if(i++ > --j) continue; }while(i < 5); System.out.println(“i=”+i+" j="+j);
A.i = 6 j = 5
B.i = 5 j = 5
C.i = 6 j = 4
D.i = 5 j = 6
答案 D
210.(0.0分)面代码中B类实现了A接口,错误的行是( )。
1.interface A{
2.void m2();
3. }
4.class B implements A{
5.void m2(){
6.System.out.println(“method 2”); 7. }
8. }
A.第2行
B.第4行
C.第5行
D.第6行
答案 C
211.(0.0分)使用Java编译器编译一个类,下面哪个是正确的?
A.java MyClass.class
B.javac MyClass
C.javac MyClass.source
D.javac MyClass.java
答案 D
212.(0.0分)下面应用程序执行输出结果是什么?( )。 public static void run(int x) { switch (x) { case 0-> System.out.println(“0”); case 1-> System.out.println(“1”); case 2-> System.out.println(“2”); default-> System.out.println(“default”); } } public static void main(String[] args) { run(1); }
A.输出1
B.输出2
C.输出12
D.程序不能编译
答案 A
213.(0.0分)哪个不是Java基本类型?
A.long
B.bit
C.short
D.byte
答案 B
214.(0.0分)下面程序运行输出结果是( ) public class Two{ public static void main(String []args){ int value = 0; do{ System.out.print(value);
if(value ==0) continue; }while(value < 0); } }
A.代码能够编译并输出00。
B.代码能够编译并输出0。
C.代码能够编译并成功运行,但没有任何输出。
D.代码能编译并一直运行输出0。
答案 B
215.(0.0分)执行下面代码后,下面叙述正确的是( )。
var typeOfDog = “Mini Australian Shepherd”; typeOfDog = null; System.out.println(typeOfDog.length());
A.抛出NullPointerException异常
B.抛出RuntimeException异常
C.抛出IllegalArgumentException异常
D.产生编译错误
答案 A
216.(0.0分)给定接口Runnable的定义,下面创建了匿名内部类实例的语句是( )。 public interface Runnable{ void run(); }
A.Runnable r = new Runnable(){}
B.Runnable r = new Runnable(public void run(){});
C.Runnable r = new Runnable {public void run(){}};
D.System.out.println(new Runnable(){public void run(){}});
答案 D
217.(0.0分)下面代码不能被编译的原因是:( )
public static void test() throws FileNotFoundException { try {
throw FileNotFoundException();
} finally {}
}
A.代码缺少catch子句,不能编译
B.在throw关键字后缺少new关键字
C.finally子句应该是final子句
D.不存在名为FileNotFoundException的类
答案 B
218.(0.0分)声明一个有3个元素的String类型的数组,不正确的是( )
A.String[] str = new String[3];
B.String str[] = new String[3];
C.String [] str = new String[3];
D.String[3] str = new String();
答案 D
219.(0.0分)选择下列所有叙述正确的选项。
A.this关键字指的是当前类
B.super关键字是指超类
C.关键字this和super指的是对象
D.关键字this和super指的是方法
答案 C
220.(0.0分)要弹出一个输入对话框,应该使用JOptionPane类的( )方法。
A.showInputDialog()
B.showMessageDialog()
C.showOptionDialog()
D.showConfirmDialog()
答案 A
221.(0.0分)下面代码中第12行的size变量指的是哪行定义的size变量?( )
1.class Parent{
2.public int size;
3.public int getSize(){
4.return this.size;
5. }
6. }
7.public class Child extends Parent{
8.int size;
9.class InnerChild{
10.int size;
11.public void method(int size){
12.Parent.Child.this.size = 5;
13. }
14. }
15. }
A.第2行
B.第8行
C.第10行
D.第11行
E.都不是,代码不能编译
答案 E
222.(0.0分)在DataOutputStream对象output上执行下面代码,写出的字节数是( )。
output.writeChar(‘A’); output.writeChars(“BC”); output.writeUTF(“DEF”);
A.6
B.9
C.11
D.12
答案 C
223.(0.0分)下面代码段执行后,i 、j的值分别为( )
int i = 1, j = 10; do{
if(i++ > --j) continue;
}while(i < 5); System.out.println(“i=”+i+" j="+j);
A.i = 6 j = 5
B.i = 5 j = 5
C.i = 6 j = 4
D.i = 5 j = 6
答案 D
224.(0.0分)关于实例变量、静态变量、实例方法和静态方法,下面叙述不正确的是( )。
A.实例方法可以访问实例变量和静态变量
B.静态方法不能访问实例变量
C.实例变量和静态变量都可以通过类名访问
D.静态方法只能访问静态变量
答案 C
225.(0.0分)JCL表示什么?
A.Java Classical Library
B.Java Class Library
C.Junior Classical Liberty
D.Java Class Libras
答案 B
226.(0.0分)在Java程序中,要用十六进制形式表示一个整数,下面合法的是( )。
A. 005
B.o5
C.0b5
D.0x5
答案 D
227.(0.0分)下面声明正确的是:( )
A.Object[7] obj = new Object[];
B.Object obj[] = new Object[7];
C.Object[3] obj = new Object3;
D.Object[7] obj = new Object[7];
答案 B
228.(0.0分)下列代码运行后baz的结果为( )。
int index = 1;
int foo[] = new int[3]; int bar = foo[index]; int baz = bar + index;
A.baz 的值为 0
B.baz 的值为 1
C.baz 的值为 2
D.抛出一个异常
答案 B
229.(0.0分)下列代码输出j的值为( )。
int i = 0xFFFFFFF1; int j = ~i; System.out.println(j) ;
A.0
B.1
C.14
D. -15
答案 C
230.(0.0分)下面哪个图表示的是do-while循环逻辑?
A. (a)
B. (b)
C. (c)
D. (d)
答案 B
231.(0.0分)下面父接口中的( )不能被子接口继承。
A.常量
B.抽象方法
C.静态方法
D.默认方法
答案 C
232.(0.0分)关于方法的return语句的使用,下面哪个是错误的?( )
A.public int method(){ return 4; }
B.public double method(){ return 4; }
C.public void method(){ return; }
D.public int method(){ return 3.14; }
答案 D
233.(0.0分)标准输出流System.out的类型是( )
A.StandardOutputStream
B.PrintStream
C.PrintWriter
D.OutputStreamWriter
答案 B
234.(0.0分)有如下类的定义,如果在其他类中创建MyInner类的实例,下面正确的是( )。 public class MyOuter{ public static class MyInner{ public static void foo(){ System.out.println(“MyInner”); } } }
A.MyOuter.MyInner mi = new MyOuter.MyInner();
B.MyOuter.MyInner mi = new MyInner();
C.MyOuter m = new MyOuter(); MyOuter.MyInner mi = m.new MyOuter.MyInner();
D.MyInner mi = new MyOuter.MyInner();
答案 A
235.(0.0分)关于实例变量、静态变量、实例方法和静态方法,下面叙述不正确的是( )
A.实例方法可以访问实例变量和静态变量
B.静态方法不能访问实例变量
C.实例变量和静态变量都可以通过类名访问
D.静态方法只能访问静态变量
答案 C
236.(0.0分)若要将一个按钮组件jButton添加到边界式布局容器frame的左侧,下面那个语句是正确的( )。
A.frame.add(jButton, BorderLayout.PAGE_START);
B.frame.add(jButton, BorderLayout.LINE_START);
C.frame.add(jButton, BorderLayout.PAGE_END);
D.frame.add(jButton, BorderLayout.LINE_START);
答案 B
237.(0.0分)Java字节码文件的扩展名是( )。
A.c
B.exe
C.java
D.class
答案 D
238.(0.0分)有下列一段代码,执行后输出结果为。( )
TreeSet mySet = new TreeSet<>(); mySet.add(“one”);
mySet.add(“two”);
mySet.add(“three”);
mySet.add(“four”);
mySet.add(“one”);
Iterator it = mySet.iterator(); while(it.hasNext()){ System.out.println(it.next()+" ");
}
A.one two three four
B.four three two one
C.four one three two
D.one two three four one
答案 C
239.(0.0分)有下列一段代码,能从列表中删除“dog”元素的语句是()。
ArrayList list = new ArrayList<>(); list.add(“cat”);
list.add(“dog”);
list.add(“horse”);
A.list.contains(“dog”)
B.list.hasObject(“dog”)
C.list.remove(1)
D.list.indexOf(1)
答案 C
240.(0.0分)下面应用程序执行输出结果是什么?( ) public class MyTest { public static void run(int x) { switch x { case 0: System.out.println(“0”); case 1: System.out.println(“1”); case 2: System.out.println(“2”); break; default: System.out.println(“default”); } } public static void main(String[] args) { new MyTest().run(2); } }
A.输出0
B.输出1
C.输出2
D.输出default
E.程序不能编译
答案 E
241.(0.0分)下面变量的声明,错误的是( )。
A.double d = .14;
B.double d = 2_5;
C.double d = 0b1_0_1;
D.double d = _25;
答案 D
242.(0.0分)要使一个类能够序列化,需要具备的条件是( )。
A.继承ObjectStream类
B.具有带参数构造方法
C.实现Serializable接口
D.定义了writeObject()方法
答案 C
243.(0.0分)如果要求其中不能包含重复的元素,使用哪种结构存储最合适 ?( )
A.Collection
B.List
C.Set
D.Map
答案 C
244.(0.0分)Java语言属于( )。
A.机器语言
B.高级语言
C.自然语言
D.汇编语言
答案 B
245.(0.0分)下面代码的输出是什么?
public class Test{ public static void main(String[] args){ try{ var value = 30; if(value < 40) throw new Exception(“value值太小。”); } catch(Exception ex){ System.out.println(ex.getMessage()); } System.out.println(“catch块后的代码。”); } }
A.value值太小。 catch块后的代码。
B.catch块后的代码。
C.value值太小。
D.无输出
答案 A
246.(0.0分)给定下面代码段,程序运行结果是( )。
int i = 5; int j = i++;
if((++i > j) && (i++ == j)){ i += j;
}
System.out.println("i = "+i) ;;
A.5
B.6
C.7
D.8
答案 D
247.(0.0分)以下是Java应用程序main方法有效定义的是 ( )。
A.public static void main()
B.public static void main( String args )
C.static public void main( String args[] )
D.public static boolean main( String a[] )
答案 C
248.(0.0分)要判断一个文件是否存在,应该使用File类的( )方法。
A.contains()
B.exists()
C.createNewFile()
D.lastModified()
答案 B
249.(0.0分)有下列一段代码,执行后输出结果为。( )
TreeSet mySet = new TreeSet<>(); mySet.add(“one”);
mySet.add(“two”);
mySet.add(“three”);
mySet.add(“four”);
mySet.add(“one”);
Iterator it = mySet.iterator(); while(it.hasNext()){ System.out.println(it.next()+" ");
}
A.one two three four
B.four three two one
C.four one three two
D.one two three four one
答案 C
250.(0.0分)下列语句输出的结果是( )。 var s = ““Hello,World!””; System.out.println(s.length());
A.12
B.14
C.16
D.18
答案 B
251.(0.0分)执行下列语句后输出的结果是( )。 String s = ““Hello,World!””; System.out.println(s.length());
A.12
B.14
C.16
D.18
答案 B
252.(0.0分)执行下列语句后输出的结果是( ) String s = ““Hello,World!””; System.out.println(s.length());
A.12
B.14
C.16
D.18
答案 B
253.(0.0分)有下面类的声明,下列代码段正确的是( )。
class Employee{}
class Manager extends Employee{ public String toString(){
return “I’m a manager.”;
}
}
A.Manager boss = new Manager(); Employee stuff = boss; Manager myBoss = (Manager)stuff;
B.Employee stuff = new Employee(); Manager boss = (Manager)stuff;
C.Manager stuff = new Employee(); D.
答案 A
254.(0.0分)下面不是Java语言优点的是( )。
A. 面向对象的
B. 速度最快的
C. 平台独立的
D. 支持多线程的
答案 B
255.(0.0分)下面语句输出结果是0.9的为( )。
A. System.out.println(0.9);
B. System.out.println(2-1.1);
C. System.out.println(2.0-1.1);
D. System.out.println(3.0-2.1);
答案 A
256.(0.0分)下面代码的输出结果是( )
String tenCharString = “AAAAAAAAAA”; System.out.println(tenCharString.replace(“AAA”,“KKK”);
A. AAAAAAAAAA
B. KKKAAAAAAA
C. KKKKKKKKKA
D. KKKKKKKKKK
答案 C
257.(0.0分)法的参数变量值、局部变量值存储在内存的( )。
A. 堆区
B. 栈区
C. 静态区
D. 代码区
答案 B
258.(0.0分)下面是位运算符的是( )。
A. *
B. &
C. ->
D. >>>
答案 D
259.(0.0分)下面程序运行结果为( )。 class Super{ public int i = 0; public Super(String text){ i = 1; } } public
class Sub extends Super{ public Sub(String text){
new Sub(“Hello”); System.out.println(sub.i); i = 2;
} } } public static void main(String[] args){ Sub sub =
A. 该程序有编译错误
B. 编译成功输出0
C. 编译成功输出1
D. 编译成功输出2
答案 A
260.(0.0分)给定下面代码段,程序运行结果是( )
public class Foo{
public static void main(String[] args){ int i = 1;
int j = i++;
if((++i > j) && (i++ == j)){ i += j;
}
System.out.println("i = "+i) ;
}
}
A.i = 1
B.i = 2
C.i = 3
D.i = 4
答案 D
261.(0.0分)JDK、JRE和JVM三者之间的关系是( )。
A.JDK包含JRE和JVM
B.JVM包含JRE,JRE包含JDK
C.JRE包含JDK和JVM
D.三者之间没有关系
答案 A
262.(0.0分)表示多行文本区的类是( )。
A.JTextField
B.JLabel
C.JCheckbox
D.JTextArea
答案 D
263.(0.0分)A类同时实现接口B和接口C,正确的写法是:( )
A.public class A implements B, implements C {…}
B.public class A implements B, C {…}
C.public class A interface B, iinterface C {…}
D.public class A extends B, C {…}
答案 B
264.(0.0分)有如下的类定义,其中Inner类称为( )。 public class Outer{ public static class Inner{ public void go(){ System.out.print(“hello”); }
} }
A.匿名内部类
B.局部内部类
C.成员内部类
D.静态内部类
答案 D
265.(0.0分)下面代码在运行时会产生什么异常( )
int m = 100; System.out.println(m / 0);
A.ClassNotFoundException
B.MathException
C.ArithmeticException
D.NullPointerException
答案 C
266.(0.0分)开发Java程序必须安装的软件是( )
A.JVM
B.JDK
C.JRE
D.API
答案 B
267.(0.0分)下面哪个图表示的是do-while循环逻辑?( )。
00
A.图(a)
B.图(b)
C.图(c)
D.图(d)
答案 B
268.(0.0分)下面代码片段打印输出什么?
int x = 10; x %= 6;
System.out.println(x);
A.1
B.2
C.3
D.4
答案 D
269.(0.0分)下面代码的执行结果是( )。
int x = 1, y = 6; while (y–) {
x++ ;
}
System.out.println("x = " + x+ " y = " + y);
A.x = 1 y = 5
B.x = 2 y = 5
C.x = 2 y = 4
D.编译错误
答案 D
270.(0.0分)以下关于变量的说法,错误的是( )。
A.变量名必须是一个有效的标识符
B.变量在定义时可以没有初始值
C.变量一旦被定义,在程序中的任何位置都可以被访问
D.在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声明
答案 C
271.(0.0分)下面语句调用垃圾回收器的是( )。
A.System.garbage();
B.System.garbage.collect();
C.System.gc();
D.System.garbagecollect();
答案 C
272.(0.0分)给定日期对象today,要得到该日期是星期几,下面表达式正确的是( )。
A.today.getWeek()
B.today.getDayOfWeek()
C.today.getDay()
D.today.getDayOMonth()
答案 B
273.(0.0分)下面程序的运行结果是:( ) public class SampleClass { private int size; public SampleClass() { this(1); System.out.println(“使用默认值”); } public SampleClass(int size) { this.size = size; System.out.println(“设置size”); } public static void main(String[] args) { SampleClass sampleClass = new SampleClass(); } }
A.使用默认值
B.设置size
C.使用默认值 设置size
D.设置size 使用默认值
答案 D
274.(0.0分)下面可以给short型的变量赋值的范围是( )。
A. –231~ 231-1
B. 0 ~ 216-1
C. 0 ~ 232-1
D. –215~ 215-1
答案 D
275.(0.0分)要实例化一个泛型对象a,下面正确的是
A.List a = new ArryaList();
B.List [Integer] a = new ArryaListInteger;
C.List{Integer} a = new ArryaList{Integer}();
D.List"Integer" a = new ArryaList"Integer"();
答案 A
276.(0.0分)关键字extends可实现类之间的什么关系?( )。
A.“has a” 关系
B.“is a” 关系
C.“is a part of” 关系
D.“contains a” 关系
答案 B
277.(0.0分)要创建一个系统默认时区的当前日期LocalDate对象,下面哪个是合法的?( )
A.LocalDate today = new LocalDate();
B.LocalDate today = LocalDate.now();
C.LocalDate today = LocalDate.of();
D.LocalDate today = LocalDate.date();
答案 B
278.(0.0分)下面声明一个字符型变量并为其赋值,不合法的是( )。
A. char c = ‘\141’;
B.char c = ‘M’;
C.char c = “M”;
D.char c = 97;
答案 C
279.(0.0分)与下面构造方法等价的是:( ) public Bus(){ System.out.println(“Bus Constructor”); }
A.public Bus(){ this(); System.out.println(“Bus Constructor”); }
B.public Bus(){ super(); System.out.println(“Bus Constructor”); }
C.public Bus(){ this.Bus(); System.out.println(“Bus Constructor”); }
D.public Bus(){ super.Bus(); System.out.println(“Bus Constructor”); }
答案 B
280.(0.0分)下列语句的输出结果是( )。 var s = new String(“This is a Java string.”); System.out.println(s.lastIndexOf(“is”));
A.5
B.is
C.2
D.15
答案 A
281.(0.0分)下面程序运行结果为( )。 class Super{ public int i = 0; public Super(String text){ i = 1; } } public class Sub extends Super{ public Sub(String text){ i = 2; } public static void main(String[] args){ var sub = new Sub(“Hello”); System.out.println(sub.i); } }
A.该程序不能编译成功
B.编译成功输出0
C.编译成功输出1
D.编译成功输出2
答案 A
282.(0.0分)语句super();的作用是( )。
A.调用父类的构造方法。
B.调用当前类的构造方法。
C.调用子类的构造方法。
D.递归调用当前方法。
答案 A
283.(0.0分)给定下面代码段,程序运行结果是( )。
public class Test {
static void leftshift(int i, int j){ i <<= j;
}
public static void main(String[] args){ int i = 4, j = 2;
leftshift(i,j); System.out.println("i = "+ i);
}
}
A.i = 1
B.i = 2
C.i = 3
D.i = 4
答案 D
284.(0.0分)下面哪个赋值语句是错误的?( )
A.int i = (short)3;
B.int i = new Integer(5).intValue();
C.int i = (integer)3;
D.int i = (int)3.14;
答案 C
285.(0.0分)有下列一段代码,执行后输出结果为( )。
import java.util.*; public class SortOf{
public static void main(String[]args){
var a = new ArrayList(); a.add(1);
a.add(5);
a.add(3);
Collections.sort(a); a.add(2); Collections.reverse(a); System.out.println(a);
}
}
A. [1, 2, 3, 5]
B. [2, 1,3, 5]
C. [2, 5, 3, 1]
D. [1, 3, 5, 2]
答案 C
286.(0.0分)下面代码运行后,变量sum的值是( )。
int[][] square = new int[3][3]; for(int i=0;i<3;i++){
square[i][i] =5;
}
int sum =0;
for(int i=0;i<3;i++){ for(int j=0;j<3;j++){
sum += square[i][j] ;
}
}
A.10
B.15
C.20
D.25
答案 B
287.(0.0分)下面哪个关键字不是类成员的访问修饰符?( )
A.public
B.default
C.protected
D.private
答案 B
288.(0.0分)表达式-3 % -5的结果是( )。
A.3
B.-3
C.5
D.-5
答案 B
289.(0.0分)声明并初始化一个有两个String型元素的数组,正确的是( )。
A.String[] strArr = [“string 1” , “string 2” ];
B.String[] strArr = {“string 1” , “string 2” };
C.String[] strArr = (“string 1” , “string 2” );
D.String[] strArr = new String [“string 1” , “string 2” ];
答案 B
290.(0.0分)下面代码的输出是( )。
var s = new String(); System.out.println(s.length());
A.1
B.0
C.16
D.编译错误
答案 B
291.(0.0分)设x、y是int型变量,初值都是3,下面不正确的语句是( )。
A. ;
B. x += 3;
C. x + y
D. x ++;
答案 C
292.(0.0分)下面代码运行输出结果是 ( )。
public class Test{
public static void main(String[] args){ for(int i = 0; i < 2; i ++){
System.out.print( i + " ");
try{ System.out.println(1 / 0);
}catch(Exception ex){ }
}
}
}
A.0
B.0 1
C.1
D.无输出
答案 B
293.(0.0分)有下列一段代码,执行后输出结果为。( )
TreeSet mySet = new TreeSet<>(); mySet.add(“one”);
mySet.add(“two”);
mySet.add(“three”);
mySet.add(“four”);
mySet.add(“one”);
Iterator it = mySet.iterator(); while(it.hasNext()){
System.out.println(it.next()+" ");
}
A.one two three four
B.four three two one
C.four one three two
D.one two three four one
答案 C
294.(0.0分)下面程序运行结果是:( ) public class MyNumber { private float number; public MyNumber(float number) { this.number = number; } public float getNumber() { return number; } public void setNumber(float number) { this.number = number; }
public static void addHalf(MyNumber value) { value.setNumber(value.getNumber() + (value.getNumber()/2f)); } public static void main(String[] args) { MyNumber value = new MyNumber(1f); addHalf(value); System.out.println("value= " + value.getNumber()); } }
A.value= 1
B.value= 1.5
C.value= 2
D.value= 0
答案 B
295.(0.0分)一个类要具备什么条件才可以序列化?( )
A.继承ObjectStream类
B.具有带参数构造方法
C.实现Serializable接口
D.定义了writeObject()方法
答案 C
296.(0.0分)给定下面的字符串对象str,下面哪个语句能够成功地将该对象值改为"abcdef"?( ) String str = new String(“abc”);
A.str.concat(“def”);
B.str = “abc” + “def”;
C.str += “def”;
D.以上都不能
答案 D
297.(0.0分)若max、a、b是int型变量,下面if~else结构,用条件运算符表示为( )。 if (a > b) { max = a; }else { max = b; }
A.max = a : b ?(a > b);
B.max = (a > b)? a | b ;
C.max = (a >= b)? a : b ;
D.max = (a > b)? a : b ;
答案 D
298.(0.0分)下面语句的输出结果是( ) System.out.println(49 % 26 % 5 % 1);
A.23
B.3
C.1
D.0
答案 D
299.(0.0分)在Eclipse中要对源代码进行格式化,使用的快捷键是( )。
A.按Ctrl+/键
B.按Ctrl+Shift+F键
C.按Ctrl+Shift+R键
D.按Ctrl+Alt+O键
答案 B
300.(0.0分)下面代码的输出结果是( )
System.out.print(3 + 3 + “3”); System.out.print(" and "); System.out.println(“3” + 3 + 3 );
A. 333 and 333
B.63 and 63
C.333 and 63
D.63 and 333
答案 D
301.(0.0分)若要删除一个文件,比较合适的类是( )。
A.FileOutputStream
B.File
C.RandomAccessFile
D.Files
答案 B
302.(0.0分)下面代码的输出结果是:( )
int[] testScores = { 80,
63,
99,
87,
100
};
System.out.println("Length: " + testScores.length);
A.Length: 4
B.Length: 5
C.Length: 100
D.产生编译错误
答案 B
303.(0.0分)下面程序运行结果为 ( ) class Super{ public int i = 0; public Super(String text){ i = 1; } } public class Sub extends Super{ public Sub(String text){ super(“”); i = 2; } public static void main(String[] args){ Sub sub = new Sub(“Hello”); System.out.println(sub.i); } }
A.该程序有编译错误
B.编译成功输出0
C.编译成功输出1
D.编译成功输出2
答案 D
304.(0.0分)MyClass定义了methodA方法,该方法返回值类型应为( )。 public class MyClass{ methodA(byte x, double y){ return (short)x/y*2; }
}
A.void
B.byte
C.short
D.double
答案 D
305.(0.0分)下面编程语言不属于面向对象编程语言的是( )。
A.C语言
B.Java语言
C.C++语言
D.Python语言
答案 A
306.(0.0分)一个类可以直接实现多少个接口?
A.0个
B.1个
C.2个
D.任意多个
答案 D
307.(0.0分)下面代码运行完成后,文件t.dat中的字节个数是( )。
try(
var output = new DataOutputStream( new FileOutputStream(“t.dat”));
){
}
A.8
output.writeChars(“X”); output.writeInt(1); outputm.writeUTF(“Java你好”);
B.14
C.18
D.12
答案 C
308.(0.0分)下列程序段的运行结果为( ) int [][]x ={{1,2},{3,4,5},{6,7,8,9}}; int[][]y = x; System.out.println(y[2][1]);
A.3
B.4
C.6
D.7
答案 D
309.(0.0分)当JVM执行Java字节码程序时,首先执行的是( )。
A.字节码校验器
B.类加载器
C.运行时解释器
D.编译器
答案 B
310.(0.0分)下面代码在运行时产生的异常是()。
int m = 100; System.out.println(m / 0);
A.ArithmeticException
B.IndexOutOfBoundsException
C.ObjectClastException
D.NullPointerException
答案 A
311.(0.0分)下面程序的执行结果为()。 public class FooBar{ public static void main(String[] args){ int i = 0, j = 5; tp: for(; ; i++){ for(; ; --j) if(i > j) break tp; } System.out.println("i = “+i+”,j = "+j); } }
A. i = 1, j = -1
B. i = 0, j = -1
C. i = 1, j = 4
D. i = 0, j = 4
答案 B
312.(0.0分)声明并实例化Book类型的一个新对象,正确的是( )
A.Book b;
B.Book b = new Book();
C.Book b = new Book[];
D.Book b = Book();
答案 B
313.(0.0分)执行下列语句后输出的结果是( ) String s = “COMPUTER”; System.out.println(s.substring(3,6));
A.COM
B.MPU
C.PUT
D.TER
答案 C
314.(0.0分)给定下面程序段,输出结果为()。 public static int getnum(String s) { return switch(s) { case “one” ->1; case “two” ->2; case “three” ->3; default->4; }; } public static void main(String[] args) { System.out.println(getnum(“ONE”)); }
A.1
B.2
C.3
D.4
答案 D
315.(0.0分)有下列一段代码,执行后输出结果为()。
var mySet = new TreeSet(); mySet.add(30);
mySet.add(20); mySet.add(10); mySet.add(40); mySet.add(10);
var it = mySet.iterator(); while(it.hasNext()){
System.out.println(it.next()+" ");
}
A. 10 20 30 40
B. 40 30 20 10
C. 10 20 30 40 10
D. 40 10 30 20
答案 A
316.(0.0分)下面代码在运行时会产生的异常是()。
var obj = new Object(); var str = (String)obj;
A.ClassNotFoundException
B.ClassCastException
C.ObjectClastException
D.NullPointerException
答案 B
317.(0.0分)下面代码的输出结果为( )。
int[] testScores = {80, 63, 99, 87,100}; System.out.println("Length: " + testScores.length);
A.Length: 4
B.Length: 5
C.Length: 100
D.产生编译错误
答案 B
318.(0.0分)有下列一段代码,执行后输出结果为()。
var mySet = new TreeSet(); mySet.add(“one”);
mySet.add(“two”);
mySet.add(“three”);
mySet.add(“four”);
mySet.add(“one”);
var it = mySet.iterator(); while(it.hasNext()){
System.out.println(it.next()+" ");
}
A.one two three four
B.four three two one
C.one two three four one
D.four one three two
答案 D
319.(0.0分)给定下面的类定义,要从与Outer类相同包中的其他类成功调用print()方法,下面语句正确的是( )。 public class Outer{ class Inner{ public void print(){ System.out.println(“Inner Class”); } } }
A.new Inner().print();
B.Outer.this.print();
C.new Outer().new Inner().print();
D.new Outer().print();
答案 C
320.(0.0分)下面哪个赋值语句是错误的?( )
A.int i = (short)3;
B.int i = new Integer(5).intValue();
C.int i = (integer)3;
D.int i = (int)3.14;
答案 C
321.(0.0分)下面代码的输出结果是( )。
Double x = 3.5; System.out.println(x.compareTo(4.5));
A. 3.5
B. 4.5
C. 1
D. -1
答案 D
322.(0.0分)哪种是Java基本类型?
A.boolean
B.Number
C.integer
D.String
答案 A
323.(0.0分)设有如下说明,则c[50]的值为()。 char[] c = new char[100];
A. 50
B. \u0000
C. " "
D. 为null,直到被赋值。
答案 B
324.(0.0分)给定下面代码,当调用testMethod1()方法输出的内容为()。
public static void testMethod1() { try {
testMethod2();
}catch(ArithmeticException e) { System.out.print("Dock ");
}
}
public static void testMethod2() throws ArithmeticException{ try {
testMethod3();
}catch(ArithmeticException e) { System.out.print("Dickory ");
}
}
public static void testMethod3() throws ArithmeticException{ System.out.print("Hickory ");
throw new ArithmeticException();
}
A.Hickory Dickory
B.Dickory Hickory
C.Hickory
D.Hickory Dickory Dock
答案 A
325.(0.0分)下面代码的输出结果是( )。
int x = 3;
int[] numbers = new int[x + 2]; x = 6;
System.out.println(numbers.length);
A.3
B.5
C.6
D.8
答案 B
326.(0.0分)下面语句的作用是( )。 super();
A.调用父类的构造方法
B.调用当前类的构造方法
C.调用子类的构造方法
D.递归调用当前方法
答案 A
327.(0.0分)下面语句产生的随机整数范围是( )。 int number = (int)(Math.random()*10)
A.0到10之间,不包括0,包括10
B.0到10之间,包括0,不包括10
C.0到10之间,包括0,包括10
D.1到10之间,包括1,不包括10
答案 B
328.(0.0分)下面程序执行的输出结果是( ) public class MaxTest{ public static void main(String[] args){ System.out.println(“” + Math.max(5, - 5)); } }
A.5
B.-5
C.0
D.程序不能编译
答案 A
329.(0.0分)给定下列代码,输出结果是( )。
var str = “COMPUTER”; System.out.println(str.charAt(4));
A.COMP
B.U
C.P
D.UTER
答案 B
330.(0.0分)下面代码运行后,变量sum的值是多少( )
int[][] square = new int[3][3]; for (int i = 0; i < 3; i++) {
square[i][i] = 5;
}
int sum = 0;
for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) {
sum += square[i][j];
}
}
A.10
B.15
C.20
D.25
答案 B
331.(0.0分)下面代码片段打印输出什么?
System.out.println(“abc” - “bc”);
A.a
B.abc-bc
C.编译错误
D.执行错误
答案 C
332.(0.0分)与下面构造方法等价的是( )。 public Bus(){ System.out.println(“Bus Constructor”); }
A.public Bus(){ this(); System.out.println(“Bus Constructor”); }
B.public Bus(){ super(); System.out.println(“Bus Constructor”); }
C.public Bus(){ this.Bus(); System.out.println(“Bus Constructor”); }
D.public Bus(){ super.Bus(); System.out.println(“Bus Constructor”); }
答案 B
333.(0.0分)有下列一段代码,执行后输出结果为( )。
import java.util.*; public class SortOf{
public static void main(String[]args){ var a = new ArrayList();
a.add(“aa”);
a.add(“ee”);
a.add(“cc”);
Collections.sort(a); a.add(“bb”); Collections.reverse(a); System.out.println(a);
}
}
A.[aa, bb, cc, ee]
B.[bb, aa,cc, ee]
C.[bb, ee, cc, aa]
D.[aa, cc, ee, bb]
答案 C
334.(0.0分)下面代码的执行后,输出结果是( )。
int sing = 8, squawk = 2, notes = 0; while(sing > squawk) {
sing–; squawk += 2;
notes += sing + squawk;
}
System.out.println(notes);
A.11
B.13
C.23
D.33
答案 C
335.(0.0分)下面哪个包中的类被自动导入到程序中?( )。
A.java.base
B.java.lang
C.java.io
D.java.util
答案 B
336.(0.0分)不允许包含重复元素的集合类型是( )。
A.Set
B.List
C.Queue
D.Collection
答案 A
二、多选题 (52题,每小题0分,共0分)
337.(0.0分)下面可以将HashMap类导入到程序中import语句有( )。
A.import java.util.HashMap;
B.import java.util.*;
C.import java.util.HashMap.*;
D.import java.util.hashMap;
答案 A,B
338.(0.0分)下面哪两个方法不能被子类覆盖? ( )
A.final void methodA(){}
B.void final methodA(){}
C.static void methodA(){}
D.static final void methodA(){}
E.final abstract void methodA(){}
答案 A,D
339.(0.0分)哪两个语句声明的数组能存放10个整型数( )
A.int[] foo;
B.int foo[10];
C.Object[] foo;
D.int foo[];
E.Object foo[10];
答案 A,D
340.(0.0分)下面哪些表达式的返回结果是4?( )
A. 8&3
B. 12&5
C. 5&12
D. 10&4
E. 4&5
答案 B,C,E
341.(0.0分)下面语句会发生编译错误或警告的有( )。
A.char d = “d”;
B.float f = 3.1415;
C.int i = 34;
D.byte b = 257;
E.boolean isPresent = true;
答案 A,B,D
342.(0.0分)下面选项哪些是合法的对float变量的声明和赋值( )
A.float foo = -1;
B.float foo = 1.0;
C.float foo = 2.02f;
D.float foo = 3.03d;
E.float foo = 0x0123;
答案 A,C
343.(0.0分)下面代码中包含一些自动装箱和自动拆箱的行,其中自动拆箱的行有:( )
1.public class UseBoxing{
2.boolean go(Integer i){
3.Boolean ifSo = true;
4.Short s = 300;
5.if(ifSo){
6.System.out.println(++s); 7. }
8. return !ifSo; 9. }
10.public static void main(String[] args){
11.UseBoxing ub = new UseBoxing(); 12. ub.go(20);
13. }
14. }
A.第3行
B.第4行
C.第5行
D.第6行
E.第8行
F.第12行
答案 C,D,E
344.(0.0分)下面选项哪些是合法的Java标识符( )
A.MyGame
B._isRight
C.2JavaProgram
D.Java-Virtual-Machine
E._$12ab
答案 A,B,E
345.(0.0分)下面叙述哪些是正确的( )
A.final类不可以被继承
B.省略访问修饰符的类可以被任何类使用
C.一个类可以有多个父类
D.一个接口可以继承多个接口
E.抽象类中可以定义非抽象方法
答案 A,D,E
346.(0.0分)选出3个合法的对float变量的声明( )。
A.float foo = -1;
B.float foo = 1.0;
C.float foo = 42e1;
D.float foo = 2.02f;
E.float foo = 3.03d;
F.float foo = 0x0123;
答案 A,D,F
347.(0.0分)已知4个类之间的关系如图1所示,Shape表示形状、Circle类表示圆、Rectangle表示矩形、Cylinder表示圆柱,图中箭头表示类的继承关系。 有下面Java 代码:
Rectangle rt = new Rectangle(); Cylinder cl = new Cylinder(); Shape sh = rt; 238823526670Shape00Shape
2667000104140002611120952500215646017843500215646017843500314706018478500
1866900149225Circle00Circle2852420158115Rectangle00Rectangle 208788013906500
1851660119380Cylinder00Cylinder21437603556000
图1 Shape类的层次结构图下列赋值语句中合法的有:( )
A.cl = sh;
B.sh = rt;
C.rt = cl;
D.cl =rt;
E.sh = cl;
答案 B,E
348.(0.0分)下面的类定义,与MyClass()方法重载的构造方法包括( ) public class MyClass{ public MyClass (int x, int y, int z){} }
A.MyClass (){}
B.protected int MyClass (){}
C.private MyClass (int a, int b,double c){}
D.public void MyClass (byte x, byte y, byte z){}
E.public Object MyClass (int x, int y, int z){}
答案 A,C
349.(0.0分)调用Math.random()方法不可能返回的值有( )。
A.0
B.1
C. 3.14
D. -2.5
E. 0.34
答案 B,C,D
350.(0.0分)下面哪些对象可以用throw语句抛出?( )
A.Error
B.Event
C.Object
D.Exception
E.Throwable
F.RuntimeException
答案 A,D,E,F
351.(0.0分)有下列一段代码,下面可以确定“cat”包含在列表list中的语句有( )。
var list = new ArrayList(); list.add(“dog”);
list.add(“cat”);
list.add(“horse”);
A.list.contains(“cat”)
B.list.hasObject(“cat”)
C.list.indexOf(“cat”)
D.list.indexOf(1)
答案 A,C
352.(0.0分)以下语句正确的有( )。
A.int i = new int(30);
B.double d[] = new double[30];
C.char[] r = new char(1…30);
D. int i[] = (5, 4, 3, 2);
E. float f[] = {2.3f, 4.5f, 6.6f};
答案 B,E
353.(0.0分)要计算1到100之和,可以使用下面哪些结构( )
A.if-else结构
B.while循环
C.do-while循环
D.switch结构
E.for循环
答案 B,C,E
354.(0.0分)下面是合法的Java标识符有( )。
A.MyGame
B._isRight
C.2JavaProgram
D.Java-Virtual-Machine
答案 A,B
355.(0.0分)在Java 9及以上版本中的接口中可以定义的方法有( )。
A.抽象方法
B.静态方法
C.默认方法(用default关键字)
D.私有方法(用private关键字)
E.实例方法
答案 A,B,C,D
356.(0.0分)有下面的类定义,与aMethod()重载的方法有( )。 public class MyClass{ public float aMethod(float a, float b){ return 0; } }
A.public int aMethod(int a, int b){}
B.public float aMethod(float x, float y){}
C.public float aMethod(float a , float b, int c){}
D.public float aMethod(int a, int b, int c){}
E.public void aMethod(float a, float b){}
答案 A,C,D
357.(0.0分)以下的字面值合法的有( )。
A. 5_2535e+1
B. _52535
C. 52_535
D. 52535_
答案 A,C
358.(0.0分)要计算1到100之和,可以使用下面哪些结构( )。
A.if-else结构
B.while循环
C.do-while循环
D.switch结构
E.for循环
答案 B,C,E
359.(0.0分)下面不能被子类覆盖的两个方法是( )。
A.final void methoda(){}
B.void final methoda(){}
C.static void methoda(){}
D.static final void methoda(){}
E.final abstract void methoda(){}
答案 A,D
360.(0.0分)下面代码中包含一些自动装箱和自动拆箱的行,其中自动装箱的行有:( )
1.public class UseBoxing{
2.boolean go(Integer i){
3.Boolean ifSo = true;
4.Short s = 300;
5.if(ifSo){
6.System.out.println(++s); 7. }
8. return !ifSo; 9. }
10.public static void main(String[] args){
11.UseBoxing ub = new UseBoxing(); 12. ub.go(20);
13. }
14. }
A.第3行
B.第4行
C.第5行
D.第6行
E.第8行
F.第12行
答案 A,B,F
361.(0.0分)下面选项哪些表达式的值为12( ) A. 33 / 2
B. 3 < 2
C. 3 * 4
D. 3 << 2
E. 3 * 2 ^ 2
答案 C,D
362.(0.0分)下面哪些赋值语句是合法的?( )
A.boolean yes = 1;
B.int first = ‘a’ ;
C.short ha = 0xBAAC;
D.boolean honest = false;
E.short hex = 0xAAC;
答案 B,D,E
363.(0.0分)调用Math.random()方法不可能返回的值有( )
A.0
B.1
C.32
D. -25
E. 0.34
答案 B,C,D
364.(0.0分)有下面的类定义,与MyClass()方法重载的构造方法包括( )。 public class MyClass{ public MyClass (int x, int y, int z){} }
A.MyClass (){}
B.protected int MyClass (){}
C.private MyClass (int a, int b,double c){}
D.public void MyClass (byte x, byte y, byte z){}
E.public Object MyClass (int x, int y, int z){}
答案 A,C
365.(0.0分)下面是Java关键字的有( )。
A.main
B.default
C.implement
D.import
答案 B,D
366.(0.0分)Java重载的运算符包括( )
A.-=
B.*
C. +
D. -
E. +=
答案 C,E
367.(0.0分)下面是一接口定义,在第2行前面可插入合法的修饰符有。( )
public interface Printable{
/此处插入代码/ int MY_VALUE = 10;
}
A.final
B.static
C.native
D.public
E.private
F.abstract
答案 A,B,D
368.(0.0分)有下面的类定义,与aMethod()重载的方法有( ) public class MyClass{ public float aMethod(float a, float b){ return 0; } }
A.public int aMethod(int a, int b){}
B.public float aMethod(float x, float y){}
C.public float aMethod(float a , float b, int c){}
D.public float aMethod(int a, int b, int c){}
E.public void aMethod(float a, float b){}
答案 A,C,D
369.(0.0分)下面与52.535值相等的有( )。
A. 5.2535e+1
B. 0.52535e+2
C. 525.35e-2
D. 5.2535e+0
答案 A,B
370.(0.0分)下列对数组的声明和初始化正确的有()。
A.
int[] j = new int[2]{5,10}; B.
int j[5] = {1,2,3,4,5}; C.
int j[] = {1,2,3,4,5}; D.
int j[][] = new int[10][];
答案 C,D
371.(0.0分)下面语句声明的数组能存放10个整型数的是()。
A.int[] foo;
B.int foo[];
C.int foo[10];
D.Object[] foo;
E.Object foo[10];
答案 A,B
372.(0.0分)下列创建二维整型数组正确语句是()。
A. int a[][] = new int [10,10];
B. int a[10][10] = new int [][];
C. int a[][] = new int [10][10];
D. int []a[] = new int [10][10];
答案 C,D
373.(0.0分)下面值相等的两个表达式是( )。
A. 3 / 2
B. 3 < 2
C. 3 * 4
D. 3 << 2
E. 3 * 2 ^ 2
F. 3 <<< 2
答案 C,D
374.(0.0分)在Java 9及以上版本中的接口中可以定义的方法有( )
A.抽象方法
B.静态方法
C.默认方法(用default关键字)
D.私有方法(用private关键字)-
E.实例方法
答案 A,B,C,D
375.(0.0分)给定下面的类定义,选择所有能创建对象的语句。( ) public class Animal{} public class Horse extends Anima{ Horse(int age){} } public class Pony extends Horse{ Pony(double weight){} }
A.Animal a2 = new Animal();
B.Horse h1 = new Horse(5);
C.Pony p1 = new Pony();
D.Pony p2 = new Pony(200.5);
答案 A,B
376.(0.0分)下面不能被子类覆盖的两个方法是( )。
A.final void foo(){}
B.void final foo(){}
C.static void foo(){}
D.static final void foo(){}
E.final abstract void foo(){}
答案 A,D
377.(0.0分)下面叙述哪些是正确的( )
A.使用super可以在子类中调用父类被覆盖的方法
B.Object类是所有类的根类
C.抽象类中不可以定义非抽象方法
D.一个类可以实现多个接口
E.一个类可以继承多个类
答案 A,B,D
378.(0.0分)在下列语句中,会发生编译错误或警告的有( )
A.char d = “M”;
B.int n = 34;
C.float f = 3.14;
D.byte b = 300;
E.boolean isValid = false;
答案 A,C,D
379.(0.0分)下面可以使用throws抛出的4种对象类型有( )。
A.Error
B.Event
C.Object
D.Exception
E.Throwable
F.RuntimeException
答案 A,D,E,F
380.(0.0分)给定下面方法声明,与该方法重载的方法包括( ) public void close(int apple){}
A.public int close(int a){}
B.public void close(int a, int b){}
C.public void close(int door){System.exit(0);}
D.public void close(float door){}
E.public void close(double b, Boolean b){}
答案 B,D,E
381.(0.0分)下面叙述正确的两个是()。
A.数组中的每个元素都有相同的类型。
B.一旦数组被声明,大小就不能改变。
C.一旦数组被创建,大小就不能改变。
D.数组中的元素必须是基本数据类型。
答案 A,C
382.(0.0分)给定下面代码段,变量i可使用的数据类型有()。
switch (i) {
default -> System.out.println(“Hello”);
}
A.char
B.byte
C.float
D.double
E.Object
F.enum
答案 A,B,F
383.(0.0分)下面选项哪些是合法的Java标识符( )
A.longStringWithMeaninglessName
B.$int
C.bytes
D.finalist
E.abstract
答案 A,B,C,D
384.(0.0分)下面属于Java语言优点的是( )。
A.面向对象的
B.高性能的
C.平台独立的
D.支持多线程的
答案 A,B,C,D
385.(0.0分)Java应用程序main()方法合法的签名包括( )
A.public static void main(String[]args){}
B.public void static main(String args[]){}
C.public void main(String[]args){}
D.public static void main(){}
E.static public void main(String[]args){}
F.public static void main(String …args){}
答案 A,E,F
386.(0.0分)给定下面的类定义,选择所有能创建对象的语句( )。 public class Animal{} public class Horse extends Anima{ Horse(int age){} } public class Pony extends Horse{ Pony(double weight){} }
A.Animal a2 = new Animal();
B.Horse h1 = new Horse(5);
C.Pony p1 = new Pony();
D.Pony p2 = new Pony(200.5);
答案 A,B
387.(0.0分)下面Java标识符合法的是( )。
A.longStringWithMeaninglessName
B.$int
C.bytes
D.finalist
答案 A,B,C,D
388.(0.0分)下面选项中哪些是Java的关键字( )
A.main
B.default
C.implement
D.import
E.synchronized
答案 B,C,E
三、判断题 (188题,每小题0分,共0分)
389.(0.0分)在对象初始化时,先执行构造方法,后执行初始化块。
答案 否
390.(0.0分)由于抽象类不能实例化,所以抽象类不能定义构造方法。
答案 否
391.(0.0分)Java的类名应该采用CamelCase命名法,方法和变量名应该采用calmelCase命名法。
答案 是
392.(0.0分)将整数100赋给Integer类型变量是自动拆箱。
答案 否
393.(0.0分)开发Java程序必须的软件是JVM。
答案 否
394.(0.0分)在抽象类中可以定义非抽象方法。
答案 是
395.(0.0分)程序在创建子类对象时,运行时系统都先创建一个父类对象。
答案 是
396.(0.0分)局部内部类可以使用private或public访问修饰符修饰。
答案 否
397.(0.0分)接口中定义的默认方法不能被子接口或实现类继承。
答案 否
398.(0.0分)while循环不能等价的用for循环表示。
答案 否
399.(0.0分)使用File类不能对文件的内容操作。
答案 是
400.(0.0分)使用try-with-resources结构可以不带catch块和finally块。
答案 是
401.(0.0分)可以下面语句声明一个有5个double型元素的数组。 var marks = new double[5];
答案 是
402.(0.0分)如果年龄(age)大于40岁,并且工资(salary)小于5000元,工资增加1000元;如果年龄不大于40岁,将工资增加500元。下面代码可以实
现该功能。
if( age > 40)
if( salary < 5000) salary = salary + 1000; else
salary = salary + 500;
答案 否
403.(0.0分)一个类的类体不能为空,必须有成员变量或方法。
答案 否
404.(0.0分)顶级容器(如JFrame)不能放在其他中间容器(如JPanel)中。
答案 是
405.(0.0分)使用迭代器Iterator对象可以遍历集合中的每个元素,也可以从集合中删除元素。
答案 是
406.(0.0分)A是一个抽象类,B继承A类并实现了A的所有抽象方法,则B的对象可以转换成A的对象。
答案 是
407.(0.0分)下面的方法可检查一个字符串是否是数值字符串 。 public static boolean isNumeric(String token){ try{ Double.parseDouble(token); return true; }catch(java.lang.NumberFormatException e){ return false; } }
答案 是
408.(0.0分)使用GridLayout布局,系统将容器分成大小相同的网格。
答案 是
409.(0.0分)类的静态方法既可以使用类名调用,也可以使用实例名调用。
答案 是
410.(0.0分)下面代码可以输出“相等”。
int x = 1, y = 6; if(x = y)
System.out.println(“相等”);
else
System.out.println(“不相等”);
答案 否
411.(0.0分)my name不是一个合法的标识符。
答案 是
412.(0.0分)使用FlowLayout布局,当窗口大小改变时,组件的大小和相对位置不变。
答案 是
413.(0.0分)循环结构中可以嵌套if语句,但if语句中不能嵌套循环结构。
答案 否
414.(0.0分)一个接口可以继承多个接口,一个类可同时实现多个接口。
答案 是
415.(0.0分)Map对象的键可以是基本类型数据,而值必须是引用类型。
答案 否
416.(0.0分)Java应用程序的main方法的参数可以写成如下可变参数形式。 public static void main(String …args){}
答案 是
417.(0.0分)要创建一个FileOutputStream,要求在文件末尾追加新内容,可使用下面语句: var out = new FileOutputStream(“test.dat”,true)
答案 是
418.(0.0分)可以向ObjectOutputStream中写入数组。
答案 是
419.(0.0分)要将一个整数n乘以8,下面两个表达式在效率上是等价的。 n * 8 和 n << 3
答案 否
420.(0.0分)自定义异常类通常继承RuntimeException类。
答案 否
421.(0.0分)对象序列化是指将一个Java对象转换成一个I/O流中字节序列的过程。
答案 是
422.(0.0分)Java的字符类型和字符串类型都属于基本数据类型。
答案 否
423.(0.0分)访问数组元素若超出范围将抛出IndexOutOfBoundsException异常。
答案 是
424.(0.0分)从输入流中读取数据使用read()方法,如果方法返回值-1可以判定已读到流末尾。
答案 是
425.(0.0分)要声明方法抛出异常应该使用throws子句。
答案 是
426.(0.0分)一个类不能同时实现多个接口。
答案 否
427.(0.0分)从本质上说,所有的文件内容都是二进制的。
答案 是
428.(0.0分)程序若调用System.gc()方法,Java虚拟机会立即回收无用的对象。
答案 否
429.(0.0分)使用try-with-resources结构创建的资源,在资源使用完后将自动关闭,这样的资源类必须实现AutoCloseable接口。
答案 是
430.(0.0分)处理鼠标事件也可以通过匿名内部类实现MouseListener接口。
答案 否
431.(0.0分)Java字节码不能直接运行,需要有Java虚拟机才能运行。
答案 是
432.(0.0分)若一个方法的返回值类型是void,则方法体中必须包含return语句。
答案 否
433.(0.0分)可以为方法的可变参数传递一个数组或值列表。
答案 是
434.(0.0分)catch块和finally块都可以不包含任何异常处理语句。
答案 是
435.(0.0分)如果一个类实现了Comparable接口,那么该类的对象可以调用compare()方法比较对象大小。
答案 否
436.(0.0分)如果一个类是public类,则源文件名(不包括后缀)必须与类名完全相同。
答案 是
437.(0.0分)接口不能定义为泛型接口。
答案 否
438.(0.0分)下面语句输出结果为false。 System.out.println( 3<>5);
答案 否
439.(0.0分)泛型可以是任何的类或接口,也可以是基本数据类型。
答案 否
440.(0.0分)下面声明且赋值的语句编译错误。 flaot fi = 3.14159 ;
答案 是
441.(0.0分)如果Java源程序由单个类构成,可以不用编译,直接使用解释器执行。
答案 是
442.(0.0分)@Override注解只能用在一个方法的声明中。
答案 是
443.(0.0分)ClassNotFoundException是检查异常(必检异常)。
答案 是
444.(0.0分)子类不能继承父类中修饰符为private的成员变量和方法。
答案 是
445.(0.0分)子类可以继承父类中构造方法。
答案 否
446.(0.0分)子类可以覆盖父类中定义的私有方法。
答案 否
447.(0.0分)对于下面给定的代码,编译器自动提供一个默认的构造方法。
public class ConstructorTest{ public int one(){
return 1;
}
public int two(){ return 2;
}
public static void main(String[]args){ ConstructorTest ct = new ConstructorTest(); System.out.println(“One:” + ct.one());
System.out.println(“Two:” + ct.two());
}
}
答案 是
448.(0.0分)数组不属于引用数据类型。
答案 否
449.(0.0分)如果Java程序中定义了public类,那么源程序主文件名必须与类名相同(包括大小写)。
答案 是
450.(0.0分)下面两行语句的功能完全相同。 System.out.println(); System.out.print();
答案 否
451.(0.0分)下面代码的输出结果是6。
int [][]x = {{1,2},{3,4,5},{6,7,8,9}};
int [][]y = x; System.out.println(y[2][1]);
答案 否
452.(0.0分)超出范围访问数组元素将引发ArrayIndexOutOfBoundsException运行时异常。
答案 是
453.(0.0分)使用迭代器Iterator对象可以遍历集合中的每个元素,但不能删除元素。
答案 否
454.(0.0分)if语句的条件可以是1或0。
答案 否
455.(0.0分)在静态方法中不能使用this关键字。
答案 是
456.(0.0分)设a是父类A的一个实例,b是A的子类B的一个实例,语句a = b;是强制类型转换。
答案 否
457.(0.0分)子类不能继承父类中修饰符为private的成员变量和方法。
答案 是
458.(0.0分)下面声明并初始化数组的语句是正确的。 var source = {1, 2, 3, 4, 5, 6, 7};
答案 否
459.(0.0分)处理鼠标移动和拖拽事件的监听器接口是MouseListener。
答案 否
460.(0.0分)给定日期对象today,要得到该日期是星期几,应使用today.getWeek()方法。
答案 否
461.(0.0分)创建自定义异常类通常继承Exception类。
答案 是
462.(0.0分)接口中定义的静态方法和默认方法都不能被子接口或实现类继承。
答案 否
463.(0.0分)continue;语句只能用在循环结构中。
答案 是
464.(0.0分)下面的方法调用是不合法的。 int a = Math.random();
答案 是
465.(0.0分)处理鼠标移动和拖拽事件的监听器接口是MouseListener。
答案 否
466.(0.0分)使用File类的renameTo()方法可以将一个文件改名。
答案 是
467.(0.0分)Java应用程序的main()方法的参数应该是一个字符串。
答案 否
468.(0.0分)下面的if语句在Java语言中是合法的。 if(n >=0 || n <=10){ System.out.println(“n的值介于0和10之间”);
答案 是
469.(0.0分)在抽象类中可以定义实例成员保存对象的状态,而在接口中不能定义实例成员。
答案 是
470.(0.0分)成员内部类可以使用private或public访问修饰符修饰。
答案 是
471.(0.0分)使用try-with-resources结构创建的资源,在资源使用完后将自动关闭,这样的资源类必须实现AutoCloseable接口。
答案 是
472.(0.0分)静态初始化块在构造方法之前执行。
答案 是
473.(0.0分)编写和运行Java程序必须使用IDE(集成开发环境)。
答案 否
474.(0.0分)Map对象的键必须是引用类型,而值可以是基本类型数据。
答案 否
475.(0.0分)下面声明的数组是错误的。 int[3] a = {10, 20,30};
答案 是
476.(0.0分)FileOutputStream和PrintWriter都可以向现有文件中末尾追加数据。
答案 是
477.(0.0分)在抽象类中可以定义非抽象方法。
答案 是
478.(0.0分)要处理选择菜单项的事件,应该实现MenuItemListener接口。
答案 否
479.(0.0分)与类的继承类似,一个接口最多只能继承一个父接口。
答案 否
480.(0.0分)对任何对象都可使用toString()方法和equals()方法。
答案 是
481.(0.0分)将整数100赋给Integer类型变量是自动拆箱。
答案 否
482.(0.0分)给定两个方法定义。 (1)public static double m(double x, double y) (2)public static double m(int x, double y) 下面的语句,调用的是第(1)个方法( ) double z = m(4, 5.5);
答案 否
483.(0.0分)局部变量和成员变量使用之前都必须赋初值。
答案 否
484.(0.0分)接口可以多继承。
答案 是
485.(0.0分)下面代码的第2行发生编译错误。
int x = 1, y = 6; if(x = y)
System.out.println("Equal ");
else
System.out.println("Not equal ");
答案 是
486.(0.0分)实例方法不能使用类名调用。
答案 是
487.(0.0分)泛型类可以带1个或多个类型参数。
答案 是
488.(0.0分)创建一个File对象就是在磁盘上创建一个文件。
答案 否
489.(0.0分)final关键字和abstract关键字不能同时使用修饰一个类或方法。
答案 是
490.(0.0分)使用JShell可以定义变量、类并可执行各种Java语句。
答案 是
491.(0.0分)父类中的static方法可以被继承,但不能被覆盖。
答案 是
492.(0.0分)用一个catch块可以处理多种类型的异常。
答案 是
493.(0.0分)由于抽象类不能实例化,所以抽象类不能定义构造方法。
答案 否
494.(0.0分)使用final可以修饰类、方法和局部变量,但不能修饰方法的参数。
答案 否
495.(0.0分)Java语言中,一个类的类体可以为空,也就是可以没有成员变量和方法。
答案 是
496.(0.0分)使用对象输入输出流不能读写基本类型的数据。
答案 否
497.(0.0分)可以下面语句声明一个有5个double型元素的数组。 var marks = {79,84.5, 63, 90, 78.5};
答案 否
498.(0.0分)下面代码能够编译和运行。
public class MyTest {
public String oneMethod(int number) { return new Integer(number).toString();
}
public String oneMethod(String number) { return number;
}
public static void main(String[] args) { MyTest mt = new MyTest(); System.out.println(mt.oneMethod(1)); System.out.println(mt.oneMethod(“One”));
}
}
答案 是
499.(0.0分)调用wait()方法被阻塞的线程与调用sleep(long time)方法被阻塞的线程被送到相同的等待队列。
答案 否
500.(0.0分)下面语句不会抛出异常。 System.out.println(1.0 / 0);
答案 是
501.(0.0分)子类不可以覆盖父类中定义的私有方法。
答案 是
502.(0.0分)Java语言不能在一个类中定义另外一个类。
答案 否
503.(0.0分)要设置框架窗口对象的布局管理器,应该使用setLayout()方法。
答案 是
504.(0.0分)A是一个抽象类,B继承A类并实现了A的所有抽象方法,则B的对象可以转换成A的对象。
答案 是
505.(0.0分)要使用超出long型范围的整数和精度非常高的浮点数,应该使用Long类和Double类。
答案 否
506.(0.0分)子类可以覆盖父类中定义的静态方法。
答案 否
507.(0.0分)下面代码的输出结果是0。
var s = new String(); System.out.println(s.length());
答案 是
508.(0.0分)下面代码表示列表元素可以是Integer或它的任何超类型。
List<? super Integer> integerList
答案 是
509.(0.0分)枚举类型中不能定义构造方法。
答案 否
510.(0.0分)在下面的代码中,b就是一个Book类的一个引用。
Book b = new Book();
答案 是
511.(0.0分)二进制流中存储的是二进制数据,文本流中存储的不是二进制数据。
答案 否
512.(0.0分)在面向对象的概念中,术语某个类的一个具体的对象是该类的一个实例。对象和实例是同一个概念。
答案 是
513.(0.0分)FileOutputStream和FileWriter都可以向现有文件中末尾追加数据。
答案 是
514.(0.0分)Java数组声明时不能指定大小,下面声明是错误的。 int[5] numbers;
答案 是
515.(0.0分)文件对话框是模态对话框,即当文件对话框显示时,它阻塞程序其他部分运行,知道关闭为止。
答案 是
516.(0.0分)子类不能继承父类中修饰符为private的成员变量和方法。
答案 是
517.(0.0分)NullPointerException属于非检查异常(运行时异常)。
答案 是
518.(0.0分)可以使用菜单项JMenuItem类的setIcon()方法为菜单项设置图标。
答案 是
519.(0.0分)子类可以覆盖父类中定义的静态方法。
答案 否
520.(0.0分)一个方法可以传递一个数组参数,也可以返回一个数组对象。
答案 是
521.(0.0分)if语句可以嵌套在循环结构中,但循环结构不能嵌套在if语句中。
答案 否
522.(0.0分)当if语句或循环体只有一条语句时,可以省略大括号。
答案 是
523.(0.0分)要使用java.lang包中的类无需使用import语句导入。
答案 是
524.(0.0分)泛型接口和泛型方法都可以带多个类型参数。
答案 是
525.(0.0分)使用对象输入输出流可以读写基本类型的数据、对象和数组等。
答案 是
526.(0.0分)Java程序的所有代码都必须写在类中。
答案 是
527.(0.0分)若编译单元(Java源文件)中没有定义public类,那么源程序文件名可以任意。
答案 是
528.(0.0分)接口中定义的静态方法能被子接口或实现类继承。
答案 否
529.(0.0分)如果一个类的两个方法都访问类的实例成员,如果只将一个方法同步,也不能保证数据不被破坏。
答案 是
530.(0.0分)Java应用程序的main()方法可以不带参数。
答案 否
531.(0.0分)在一个类中可以定义两个名称相同但参数类型或个数不同的方法。
答案 是
532.(0.0分)Java语言的关键字都必须是小写的。
答案 是
533.(0.0分)匿名内部类可以同时继承一个类且实现一个接口。
答案 否
534.(0.0分)JFrame框架默认使用的布局管理器是FlowLayout。
答案 否
535.(0.0分)如果为类定义了带参数的构造方法,而没有定义默认构造方法,就不能使用默认构造方法创建对象了。
答案 是
536.(0.0分)在Java中,线程总是分时执行的。
答案 否
537.(0.0分)注解可以标注类、成员变量和实例方法,但不能标注构造方法。
答案 否
538.(0.0分)要使用超出long型范围的整数和精度非常高的浮点数,应该使用BigInteger类和BigDecimal类。
答案 是
539.(0.0分)StringBuilder是不变字符串,String是可变字符串。
答案 否
540.(0.0分)从对象输入流中读取数据的顺序必须与写入数据的顺序相同,类型一致。
答案 是
541.(0.0分)在抽象类中可以定义构造方法,在接口中也可以定义构造方法。
答案 否
542.(0.0分)一个组件可以注册多个监听器,一个监听器也可以监听多个组件。
答案 是
543.(0.0分)下面语句将产生一个ArithmeticException异常。 System.out.println( 100 / 0);
答案 是
544.(0.0分)TreeSet中不允许包含相同的元素,而HashSet中可以包含相同的元素。
答案 否
545.(0.0分)有一个名为nums的数组,要得到该数组的大小可以使用nums.length()方法。
答案 否
546.(0.0分)使用下面语句可以正确创建一个File对象。 File myFile = new File(“C:\study\test.dat”);
答案 否
547.(0.0分)下面两个方法是重载的方法。 public int aMethod(int a, int b){} public float aMethod(float x, float y){}
答案 是
548.(0.0分)假设A是一个接口,可以使用A x;语句声明一个类型A的引用变量。
答案 是
549.(0.0分)下面代码表示列表元素可以是Number或它的任何子类类型。
List<? extends Number> integerList
答案 是
550.(0.0分)有下面两个语句,其中第二个语句是非法的。 double d = 3.14; System.out.println( ++ d);
答案 否
551.(0.0分)在新的JDK环境中任何的Java源程序,不需经过编译也可以运行。
答案 否
552.(0.0分)使用增强的for循环不能倒序访问数组元素,也不能修改数组元素值。
答案 是
553.(0.0分)下面声明的数组都是二维数组。 int[][]score; int[]score[]; int score[][];
答案 是
554.(0.0分)Math类的三角函数方法中的参数是以弧度为单位的角。
答案 是
555.(0.0分)在try-catch-finally结构中,不能没有catch块部分。
答案 否
556.(0.0分)在对象初始化时,先执行构造方法,后执行初始化块。
答案 否
557.(0.0分)程序中调用System.gc()方法,系统将立即执行垃圾回收。
答案 否
558.(0.0分)类的实例方法不能使用类名调用。
答案 是
559.(0.0分)InputStream类和OutputStream类及其子类都实现了java.lang.AutoClosable接口,因此可以在try-with-resources语句中使用。
答案 是
560.(0.0分)代码块是由大括号围起来的一组语句。大括号应使用行末格式,不应使用次行格式。
答案 否
561.(0.0分)Java语言没有指针数据类型。
答案 是
562.(0.0分)下面代码不发生编译错误。
String s = “”" aaa
bbb ccc “”";
System.out.println(s);
答案 是
563.(0.0分)if语句中的条件不能是整数。
答案 是
564.(0.0分)在一个类中可以定义两个名称和参数列表相同,但返回值不同或修饰符不同的方法。
答案 否
565.(0.0分)下面语句将产生一个ArithmeticException异常。 System.out.println( 100 / 0.0);
答案 否
566.(0.0分)break语句只能用在循环结构中。
答案 否
567.(0.0分)给定下列代码,两个语句的输出结果都是true。
var a = new String (“Hello”); var b = “Hello”; System.out.println(a.equals(b)); System.out.println(a == b);
答案 否
568.(0.0分)使用File类可以创建文件,但不能删除文件。
答案 否
569.(0.0分)下面的方法调用是不合法的。 int a = Math.random();
答案 是
570.(0.0分)TreeSet中的元素是有序的,而HashSet中的元素是无序的。
答案 是
571.(0.0分)接口中的私有方法只能被其所在接口的私有方法或默认方法调用。
答案 是
572.(0.0分)可以下面语句声明一个有5个double型元素的数组。 var []marks = new double[5];
答案 否
573.(0.0分)可以使用下面语句创建一个异常对象。 new Exception(“异常”);
答案 是
574.(0.0分)下面的if语句在Java语言中是不合法的。 if(0 < n <10){ System.out.println(“n的值介于0和10之间”); }
答案 是
575.(0.0分)Java语言没有指数算术运算符。
答案 是
576.(0.0分)假设A是一个接口,不能用new A()创建接口的一个实例。
答案 是
四、填空题 (230题,每小题0分,共0分)
577.(0.0分)创建FileOutputStream,若不覆盖原来内容而在文件末尾写入新内容,创建文件输出流的语句为 。
答案 FileOutputStream out = new FileOutputStream(“output.dat”,true);
578.(0.0分)在定义一个Java类时,使用的关键字是 。
答案 class
579.(0.0分)定义一个类属于com.xxxy包,如何写package语句 。
答案 package com.xxxy;
580.(0.0分)写一个语句实现将numbers数组复制到target数组 。
答案 target = Arrays.copyOf(numbers, numbers.length);
581.(0.0分)创建一个类的对象使用的关键字是 ,调用的是 。
答案 new,构造方法
582.(0.0分)要输出文本,应使用 对象。
答案 FileWriter[或者]PrintWriter
583.(0.0分)写一个语句声明并创建一个名为numbers的有10个元素的double类型的数组 。
答案 double[] numbers = new double[10];
584.(0.0分)定义一个接口使用的关键字是 。
答案 interface
585.(0.0分)用来存放 “键/值”对的集合对象有 和 。
答案 HashMap,TreeMap
586.(0.0分)列程序输出结果为何? public class MyClass{ private static int a = 200; public static void main(String[] args){ modify(a); System.out.println(a); } public static void modify(int a){ a ++; } }
答案 200
587.(0.0分)Swing的事件处理模型涉及三种对象,它们是 、 和 。
答案 事件,事件源,事件监听器
588.(0.0分)要得到一个文件包含的字节数,可以使用File类的 方法。
答案 length()
589.(0.0分)开发Java程序必须安装的软件是 ,编译器是 ,解释器是 。
答案 JDK,javac.exe,java.exe
590.(0.0分)一个类实现一个接口使用的关键字是 。
答案 implements
591.(0.0分)选中和取消选中复选框JCheckBox对象发生 事件,要处理这种事件应该实现 接口,该接口中定义的唯一的 方法。
答案 ItemEvent,ItemListener,itemStateChanged()
592.(0.0分)接口中常量的默认修饰符为 、 和 。
答案 public,static,final
593.(0.0分)要显示一个标准消息对话框,应该使用JOptionPane类的 方法。
答案 showMessageDialog
594.(0.0分)要明确抛出一个异常使用 语句。
答案 throw
595.(0.0分)定义类使用的关键字是 。
答案 class
596.(0.0分)给出一个双向队列(Deque)接口的一个实现类 。
答案 ArrayDeque[或者]LinkList
597.(0.0分)Java中所有类的根类是 。
答案 Object
598.(0.0分)机器语言指令是用 编写的。
答案 二进制
599.(0.0分)按照约定,泛型的类型参数名使用 表示,如果有多个类型参数,类型名应使用不同的字母。
答案 大写字母
600.(0.0分)使用增强的for循环访问集合中元素的语法是 。
答案 for(Type elem : coll){ System.out.println(elem); }
601.(0.0分)若需要指定泛型参数是某个类或其子类实例,应该使用 关键字。
答案 ?extends
602.(0.0分)有一个名为Runnable的接口,其中定义了一个名为void run()的方法,编写代码创建一个匿名内部类实现该接口。 Runnable task =
答案 Runnable task = new Runnable(){ public void run(){ System.out.println(“运行run方法”); } };
603.(0.0分)一个Java基本数据类型int值所占的位数是 。
答案 32
604.(0.0分)在结构化编程中,先考虑总体,后考虑细节;先考虑全局,后考虑局部目标,这称为结构化编程方法的 原则。
答案 自顶向下
605.(0.0分)声明一个接口类型,使用的关键字是 。
答案 interface
606.(0.0分)设a是父类A的一个实例,b是A的子类B的一个实例,语句a = b;是自动转换还是强制转换 。
答案 自动转换
607.(0.0分)Java源文件的扩展名是 ,编译后的类文件的扩展名是 。
答案 .java[或者] java,.class[或者] class
608.(0.0分)编写一个if语句,在变量x的值大于0时,将1赋给变量y 。
答案 if(x > 0) y = 1;
609.(0.0分)要设置窗口对象的大小,应该使用的方法是 。
答案 setSize()或setSize
610.(0.0分)用来存放 “键/值”对的集合对象根接口是 。
答案 Map
611.(0.0分)若要声明一个接口,使用的关键字是 。
答案 interface
612.(0.0分)要打乱List对象中各元素的次序,应该使用 方法。
答案 Collections.shuffle(list)
613.(0.0分)要使添加到集合(Set)中的元素按指定的顺序排序,应该使用的集合类 。
答案 TreeSet
614.(0.0分)下面语句的输出结果是 。 int n = 1; char c = ‘A’; n = n + c; System.out.println(n);
答案 66
615.(0.0分)执行下列语句后输出的结果是 。 String s = ““Hello,World!””; System.out.println(s.length());
答案 14
616.(0.0分)越界访问数组元素将抛出 异常。
答案 ArrayIndexOutOfBoundsException
617.(0.0分)Java程序运行时,JVM将内存大致分为四个区域:栈区、堆区、代码区和静态区。用new创建的对象存放在 区。
答案 堆
618.(0.0分)使用FileOutputStream对象的write()方法将123写出到一个文件中,这个文件包含 个字节。
答案 1
619.(0.0分)写一个输出语句,打印输出“天道酬勤!” 。
答案 System.out.println(“天道酬勤!”);
620.(0.0分)Java源程序并不被编译成机器码,而是编译成一种被称为 的中间代码。
答案 字节码
621.(0.0分)要使一个方法是静态方法,应该使用关键字 。
答案 static
622.(0.0分)要从键盘读取数据,需要使用的类是 ,使用该类必须使用导入语句 。
答案 java.util.Scanner,import java.util.Scanner;
623.(0.0分)行下列语句后输出的结果是 String s = ““Hello,World!””; System.out.println(s.length());
答案 14
624.(0.0分)属于某个类的一个具体对象称为该类的一个 。
答案 实例
625.(0.0分)下列语句输出结果是 。 System.out.println(6 ^ 3);
答案 5
626.(0.0分)要设置窗口对象的布局管理器,应该使用的方法是 。
答案 setLayout(LayoutManager layout)[或者] setLayout()
627.(0.0分)泛型是类和接口的一种扩展,主要实现 机制。使用泛型,程序员可以编写更安全的程序。
答案 参数化类型
628.(0.0分)面向对象的基本特征包括 、 和 。
答案 封装性,继承性,多态性
629.(0.0分)如果要处理单击按钮的动作事件,应该事先 接口,该接口定义的唯一方法是 。
答案 ActionListener,actionPerformed[或者] actionPerformed ()
630.(0.0分)编写一个if-else语句,若变量x大于y,将x赋给变量max,否则将变量y赋给变量max 。
答案 if(x > y) max = x; else max = y;
631.(0.0分)在子类中可以定义与父类中的名字、参数列表、返回值类型都相同的方法,这称为 。
答案 方法覆盖[或者]方法重写
632.(0.0分)main()方法的返回值类型是 。
答案 void
633.(0.0分)do-while循环和while循环,哪个将至少被执行一次 。
答案 do-while循环至少被执行一次
634.(0.0分)范围在0-65 535之间的Java数据类型是 。
答案 char
635.(0.0分)System.out的类型是 ,System.in的类型是 。
答案 PrintStream,InputStream
636.(0.0分)下面代码在运行时抛出的异常是 。
Object obj = new Object(); Integer n = (Integer)obj; 答案 ClassCastEException
637.(0.0分)要使类的成员只能被这个类本身访问,则应使用修饰符 。
答案 private
638.(0.0分)要测试一个实例是否是某种类型的实例,使用运算符 。
答案 instanceof
639.(0.0分)若一个方法的返回值类型不是void,则方法体中必须包含 语句。
答案 return
640.(0.0分)注解类型中可以没有元素,这样的注解称为 注解。
答案 标记
641.(0.0分)下面代码的输出结果是 。
System.out.printf(“PI=%.4f%n”,Math.PI);
答案 PI=3.1416
642.(0.0分)下面语句声明并创建了一个数组。 int [] a = new int[5]; 数组a的第一个元素下标是 ,最后一个元素的下标是 ,数组的长度用 表示,该数组的第二个元素值是 。
答案 0,4,a.length,0
643.(0.0分)要使类的成员只能被这个类本身访问,则应使用修饰符 。
答案 private
644.(0.0分)如果不允许类被子类继承,定义类时应使用关键字 。
答案 final
645.(0.0分)接口中抽象方法的默认修饰符为 和abstract。
答案 public
646.(0.0分)要对一个浮点数四舍五入到整数部分,使用Math类的 方法。
答案 round()
647.(0.0分)Java语言异常类的根类是Throwable,它有两个子类,分别是 类和 类。
答案 Error,Exception
648.(0.0分)要创建下拉式菜单,通常使用菜单栏 类、菜单 类和菜单项 类。
答案 JMenuBar,JMenu,JMenuItem
649.(0.0分)如果访问numbers数组的numbers[10]元素,将抛出 异常。
答案 ArrayIndexOutOfBoundsException
650.(0.0分)若将一个数字字符串转换为int型值,应该使用什么方法 。
答案 Integer.parseInt()或 Integer.parseInt
651.(0.0分)要将一个对象写入输出流,应使用ObjectOutputStream的 方法。
答案 writeObject()
652.(0.0分)类声明的后面是一对大括号,大括号括起来的部分 。
答案 类体
653.(0.0分)Math类定义了哪两个常量 和 。
答案 PI,E
654.(0.0分)在命令提示符环境下,要运行HelloWorld字节码文件,使用的命令是 。
答案 Java HelloWorld
655.(0.0分)框架窗口对象默认的布局管理器是 。
答案 BorderLayout
656.(0.0分)Java语言创始人是 。Java最初属于 公司,现在属于 公司。
答案 James Gosling,Sun Microsystems[或者]SUN,Oracle
657.(0.0分)给定下列代码,字符串s的长度是 。
char []chars = {‘中’,‘国’,‘π’,‘α’,‘M’,‘N’}; var s = new String(chars);
答案 6
658.(0.0分)在对象反序列化时,需要使用ObjectInputStream的readObject()方法,该方法的返回值类型是 。
答案 Object
659.(0.0分)下面程序输出2到100之间的所有素数,请填空。 public class PrimeDemo { public static void main(String[] args){ int i = 0, j = 0; for(i
= 2; i <= 100; i++){ for(j = 2; j < i; j++){ if(i % j == 0) } if( ) System.out.print(i + " "); } } }
答案 break;,j==i
660.(0.0分)如果不覆盖Object类的equals()方法,那么它比较的是两个对象的 是否相同。
答案 引用
661.(0.0分)main()方法的返回值类型是 。
答案 void
662.(0.0分)若允许成员可以被这个类本身、同一个包中的类以及该类的子类访问,应使用修饰符 。
答案 protected
663.(0.0分)要指定一个方法是父类方法的覆盖,应使用 注解。
答案 @Override
664.(0.0分)要声明一个接口,应该使用关键字 。
答案 interface
665.(0.0分)要将基本类型值写入输出流应该使用 类,要读出写入的基本类型值应该使用 类。
答案 DataOutputStream,DataInputStream
666.(0.0分)框架窗口对象默认的大小是0×0的,应该使用 方法设置其大小。
答案 setSize()
667.(0.0分)设x = 1, y = 2, z = 3,表达式z << y==z22的结果是 。
答案 true
668.(0.0分)要随机生成一个0.0(包括)到1.0(不包括)之间的数,可以使用Math类的 方法。
答案 random[或者]random()
669.(0.0分)要在定义类的同时创建该类的一个实例,应该使用 。
答案 匿名内部类
670.(0.0分)写一个语句声明一个字符串变量s,它的值是“Hello” 。
答案 String s =“Hello”;
671.(0.0分)ArrayList是一个泛型类。若创建一个包含Integer的ArrayList对象intList,使用菱形语法为 。
答案 ArrayList intList = new ArrayList<>();
672.(0.0分)下面代码的输出结果是
int sum = 0;
for(int i = 0; i < 5; i++){ for(int j = 0; j < 5; j++){
if(i==j){ sum += i + j;
continue;
}
}
}
System.out.println(sum);
答案 20
673.(0.0分)Exception类的子类通常分为两种类型: 和 。
答案 非检查异常[或者]运行时异常,检查异常[或者]必检异常
674.(0.0分)Swing的顶级容器包括 、 和JApplet。
答案 JFrame,JDialog
675.(0.0分)Java语言的字符型数据在内存中占的字节数是 。
答案 2个字节
676.(0.0分)最常用的Java集成开发环境有 和 。
答案 Eclipse,IntelliJ IDEA
677.(0.0分)设file是File类的实例,若创建文件使用语句 。
答案 boolean s = file.createNewFile();
678.(0.0分)一个Java语句必须以 结束。
答案 ;[或者]分号
679.(0.0分)boolean型成员变量的默认值是 。
答案 false
680.(0.0分)要在catch块中捕获多个异常,使用什么分隔符 。
答案 |
681.(0.0分)要返回一个枚举实例的顺序值使用的方法是 ,顺序值起始值是 。
答案 ordinal(),0
682.(0.0分)要使用Scanner对象从文本文件number.txt中读取数据,创建Scanner对象的代码应该为 。
答案 new Scanner(“number.txt”)
683.(0.0分)下面代码输出结果 。
int n = 2;
boolean b = switch(n) { case 0-> false;
case 1-> true; default->false;
};
System.out.println(b);
答案 flase
684.(0.0分)方法可以带参数,对带参数的方法,在调用方法时要为其传递的参数称为 。
答案 实际参数
685.(0.0分)Java输入输出流的很多方法都抛出 异常,因此在程序中要么捕获异常,要么声明方法抛出该异常。
答案 IOException
686.(0.0分)实例方法能否使用类名调用 。
答案 不能
687.(0.0分)Java语言异常类的根类是 。
答案 Throwable
688.(0.0分)在命令提示符环境下,要编译HelloWorld.java源文件,使用的命令是 。
答案 javac HelloWorld.java
689.(0.0分)接口中抽象方法的访问修饰符是 。
答案 public
690.(0.0分)开发Java程序必须安装的软件是 。
答案 JDK或Java开发工具集或Java开发工具等
691.(0.0分)下面程序运行结果是 。 public class Test { public static void swap(int[] a){ int temp = a[0]; a[0] = a[1]; a[1] = temp; } public static void main(String[]args){ int[] a = {10, 20}; swap(a); System.out.println(a[1]); } }
答案 10
692.(0.0分)要设置窗口对象的大小,应该使用的方法是 。
答案 setSize()
693.(0.0分)下列语句的输出结果是 。 System.out.printf(“PI=%.4f%n”,Math.PI);
答案 PI=3.1416
694.(0.0分)在类A中定义了一个静态内部类B。若在A的外部创建B的一个实例,语句应该为 。
答案 B b = new A.B();
695.(0.0分)main()方法的完整格式是 。
答案 public static void main(String[]args)
696.(0.0分)基本数据类型char的包装类名是 ,若将一个数字字符串转换为double型值,应该使用什么方法 。
答案 Character,Double.parseDouble()
697.(0.0分)要在控制台输出异常的栈跟踪使用语句 。
答案 e.printStackTrace();
698.(0.0分)要将一个数组写入输出流,应使用ObjectOutputStream的 方法。
答案 writeObject()
699.(0.0分)下面代码的输出结果是 。
var a = new String (“Hello”); var b = “Hello”; System.out.println(a ==b); 答案 false
700.(0.0分)下面语句输出z的结果是 。 int x = 5; int y = 5; boolean z = x * 5 == y + 20; System.out.println(z);
答案 true
701.(0.0分)若声明。 int [][] a = {{123,345},{34,56},{67,89}}; 数组a[2][1]元素的值为 。
答案 89
702.(0.0分)程序要使用java.time包中的LocalDate类,如何写import语句 。
答案 import java.time.LocalDate;
703.(0.0分)下面代码在运行时抛出的异常是 。
String str = null; System.out.println(str.length());
答案 NullPointerException
704.(0.0分)设a是父类A的一个实例,b是A的子类B的一个实例,语句a = b;是自动转换还是强制转换 。
答案 自动类型转换
705.(0.0分)使用DataOutputStream对象的writeBytes()方法将字符串"123"写出到一个文件中,这个文件包含 个字节。
答案 3
706.(0.0分)泛型方法是带 的方法,类的成员方法和构造方法都可以定义为泛型方法。
答案 类型参数
707.(0.0分)若要使一个类的两个实例能够比较大小,这个类应该实现 接口。
答案 Comparable
708.(0.0分)写出Java语言的8种基本数据类型名 。
答案 byte、short、int、long、float、double、char、boolean
709.(0.0分)为了开发图形界面程序,Java从1.0开始就提供了一个AWT类库,称为 ,之后,在Java 1.2中又提供了一个新的轻量级组件库 。
答案 抽象窗口工具箱,Swing
710.(0.0分)与类的继承类似,子接口可以继承父接口的常量、抽象父和 。
答案 默认方法
711.(0.0分)如果不允许类被子类继承,定义类时应使用关键字 。
答案 final
712.(0.0分)下列语句输出结果是 。 System.out.println(4<<30);
答案 0
713.(0.0分)要定义一个名为Version的注解,它包含一个名为value的double型属性,默认值为1.0,请给出代码 。
答案 public @interface Version{ double value() default 1.0; }
714.(0.0分)要使一个类的对象能够比较大小,这个类应该实现的接口是 。
答案 Comparable
715.(0.0分)如果需要向文件中写出基本类型的值,应该使用的类是 。
答案 DataOutputStream
716.(0.0分)写一个语句,打印输出numbers数组的前2个元素的和 。
答案 System.out.println(numbers[0] + numbers[1]);
717.(0.0分)Java异常通常分为哪两种类型: 和 。NullPointerException异常属于 类型。
答案 非检查异常,检查异常,非检查异常
718.(0.0分)写一个语句声明一个名为b的布尔型变量,为它赋初始false 。
答案 boolean b = false;
719.(0.0分)声明枚举类型使用的关键字是 。
答案 enum
720.(0.0分)下面代码的输出结果是 。
int sum = 0;
for(int i = 0; i < 5; i++){ for(int j = 0; j < 5; j++){
if(i==j){
sum += i + j; continue;
}
}
}
System.out.println(sum);
答案 20
721.(0.0分)一个类的boolean型成员变量的默认值是 。
答案 false
722.(0.0分)使用FileWriter类的write()方法将字符串"123"写出到一个文件中,这个文件包含 个字节。
答案 3
723.(0.0分)要创建文件对话框应该使用 类。
答案 JFileChooser
724.(0.0分)在结构化编程中,只允许三种基本结构,它们分别是 结构、 结构和 结构。
答案 顺序,选择[或者]分支,循环
725.(0.0分)中间容器面板对象JPanel的默认布局管理器是 。
答案 FlowLayout
726.(0.0分)要使用超出long型范围的整数和精度非常高的浮点数,应该使用 类和 类。
答案 BigInteger,BigDecimal
727.(0.0分)有一个方法声明如下,调用该方法需为其传递什么类型的参数 。 public static double average(double … values)
答案 传递double型数组
728.(0.0分)若在子类构造方法中调用父类的无参数构造方法,使用的语句是 。
答案 super或super()
729.(0.0分)有下面一个程序,该程序编译后的类文件名应该是 。 public class Main{ }
答案 Main.class
730.(0.0分)若将一个字符串转换为boolean型值,应该使用什么方法 。
答案 Boolean.parseBoolean()
731.(0.0分)在嵌套的循环结构的内层循环中,要结束外层循环应该使用语句 。
答案 用带标签的break语句,即break label;
732.(0.0分)在try-catch-finally结构中,如果try块中的代码没有发生异常,catch块和finally哪个块中的代码将被执行? 。
答案 finally
733.(0.0分)如果变量被赋值后不允许修改,定义变量时应使用关键字 。
答案 final
734.(0.0分)定义泛型类型,使用 语法指定泛型类型。
答案 尖括号[或者]<>
735.(0.0分)要指定一个方法是父类方法的覆盖,应使用 注解。
答案 @Override
736.(0.0分)选择菜单项应该处理的事件是 。
答案 ActionEvent
737.(0.0分)框架窗口对象默认是不可见的,应该使用 方法设置其可见。
答案 setVisible
738.(0.0分)声明一个方法抛出异常使用的关键字是 。
答案 throws
739.(0.0分)在整数除法和求余数运算中,当除数是0时将抛出 异常。
答案 ArithmeticException
740.(0.0分)给定下列代码,语句的输出结果是 。
var str = new StringBuilder(“COMPUTER”);
System.out.println(str.reverse());。
答案 RETUPMOC
741.(0.0分)若在类型转换中不合法,将抛出 异常。
答案 ClassCastException
742.(0.0分)下面的if-else结构用条件运算符可写为 。 if (age >= 16) ticketPrice = 20; else ticketPrice = 10;
答案 ticketPrice=(age>=16?20:10)
743.(0.0分)下面代码在运行时抛出的异常是 。
int a[] = new int[5]; a[5] = 10;
答案 ArrayIndexOutOfBoundsException
744.(0.0分)一个接口继承另一个接口使用的关键字是 。
答案 extends
745.(0.0分)在Java语言中要实现类的继承,应该使用 关键字。
答案 extends
746.(0.0分) 类描述的是系统内部错误,这样的错误很少出现,程序一般不对这类错误处理。
答案 Error
747.(0.0分)能将容器分成大小相等的单元格的布局管理器是 。
答案 GridLayout
748.(0.0分)Object类中定义的用于比较对象相等的方法是 方法。
答案 equals()
749.(0.0分)要设置窗口对象的布局管理器,应该使用的方法是 。
答案 setLayout(LayoutManager layout)
750.(0.0分)下列语句输出结果是 。 System.out.println((int)345.678);
答案 345
751.(0.0分)基本数据类型char的包装类名是 。
答案 Character
752.(0.0分)下面代码中输出语句将打印多少个星号(*)? 。
for(int i = 0; i < 10; i++) for(int j = i; j < 10; j ++) System.out.print (“*”); 答案 55
753.(0.0分)在对象初始化时,初始化块和构造方法哪个先执行 。
答案 先执行初始化块
754.(0.0分)在for循环结构for(int i = 0; i <100; i++)循环体中,若包含一个continue语句,当执行到该语句时,程序控制转到哪里 。
答案 控制转到i++处
755.(0.0分)要返回集合的迭代器Iterator对象,应该调用集合对象的 方法。
答案 iterator()
756.(0.0分)要测试一个实例是否是某种类型的实例,使用运算符 。
答案 instanceof
757.(0.0分)Java语言的数据类型分为基本数据类型和 两大类。
答案 引用数据类型
758.(0.0分)要将异常的栈跟踪信息在控制台上输出,应该调用异常对象的 方法。
答案 printStackTrace()
759.(0.0分)编写布尔表达式,当体重weight大于50或者身高height大于1.70时结果为true 。
答案 weight > 50 || height > 1.70
760.(0.0分)有下面一个类定义,该程序的源文件名应该是 。 public class Main{ }
答案 Main.java
761.(0.0分)执行下列语句后输出的结果是 。 var s = ““Hello,World!””; System.out.println(s.length());
答案 14
762.(0.0分)在创建对象时应该调用类的 。
答案 构造方法
763.(0.0分)可使用for循环和增强的for循环访问数组元素,如果要修改元素值,应使用 循环。
答案 for
764.(0.0分)假设今天是周三,100天后是周几 。
答案 星期五[或者]五[或者]5
765.(0.0分)若在子类构造方法中调用父类的无参数构造方法,使用的语句是 。
答案 super();
766.(0.0分)Object类所在的包是 。
答案 java.lang
767.(0.0分)下面的if-else结构用条件运算符可写为 。 if (age >= 16) ticketPrice = 20; else ticketPrice = 10;
答案 ticketPrice = (age >= 16)?20:10;
768.(0.0分)要声明方法抛出异常使用
答案 throws
子句。
769.(0.0分)接口中抽象方法的默认修饰符为
答案 public,abstract
和 。
770.(0.0分)要将数组的全部或部分元素复制到另一个数组中,可以使用System类的 方法,也可以使用Arrays类的 方法。
答案 arraycopy(),copyOfRange()
771.(0.0分)若将一个数字字符串转换为double型值,应该使用什么方法 。
答案 Double.parseDouble()
772.(0.0分)选择菜单项应该处理的事件是 。
答案 ActionEvent
773.(0.0分)一个泛型接口或类可以带一个或 个类型参数。
答案 多个
774.(0.0分)要对List对象中元素进行排序,应该使用 方法。
答案 Collections.sort(list)
775.(0.0分)接口中可以包含常量和抽象方法的定义,还可以包含 、 和 。
答案 默认方法,静态方法,私有方法
776.(0.0分)有一个Student类,请给出该类无参构造方法的定义 。
答案 public Student(){}
777.(0.0分)出下面程序运行结果。 public class Test { public static void swap(int[] a){ int temp = a[0]; a[0] = a[1]; a[1] = temp; } public static void main(String[]args){ int[] a = {10, 20}; swap(a); System.out.println(a[1]); } }
答案 10
778.(0.0分)Java有标准版(Standard Edition)和企业版(Enterprice Edition),Java企业版新的名称是 。
答案 Jakarta EE
779.(0.0分)创建FileInputStream对象,若文件不存在将抛出 异常。
答案 FileNotFoundException
780.(0.0分)下面语句输出结果是 。 System.out.println(“a” + 1 + 2);
答案 a12
781.(0.0分)若允许成员可以被这个类本身、同一个包中的类以及该类的子类访问,应使用修饰符 。
答案 protected
782.(0.0分)在类A中定义了一个成员内部类B。若在A的外部创建B的一个实例,语句应该为 。
答案 B b = new A().new B();
783.(0.0分)用for写一个无限循环结构 。
答案 for( ; 😉{}
784.(0.0分)实现单选按钮的类是 。
答案 JRadioButton
785.(0.0分)判断一个集合对象c中是否包含指定的元素使用的方法是 。
答案 c.contains()
786.(0.0分)Swing组件类都定义在 包中。
答案 javax.swing
787.(0.0分)如何得到集合的迭代器对象 。
答案 Iterator it = c.iterator();
788.(0.0分)如果不允许方法被子类覆盖,定义方法时应使用关键字 。
答案 final
789.(0.0分)用while写一个无限循环结构 。
答案 while(true){}
790.(0.0分)若将一个数组转换成一个List对象,应使用 方法。
答案 Arrays.asList()
791.(0.0分)面向对象程序设计的主要优势包括 、 和 。
答案 代码可重用,代码易维护,可扩展性
792.(0.0分)若允许成员可以被这个类本身、同一个包中的类以及该类的子类访问,应使用修饰符 。要使类的成员只能被这个类本身访问,则应使用修饰符
。
答案 protected,private
793.(0.0分)要使对象可序列化,类应该实现哪个接口 。
答案 java.util.Serializable [或者] Serializable
794.(0.0分)Scanner类定义在 包中。
答案 java.util
795.(0.0分)若只允许一个类被同一个包中的类访问,该类的访问修饰符应该为 。
答案 类不使用访问修饰符[或者]默认访问修饰符
796.(0.0分)按照处理数据的类型分,数据流可分为 和文本流,前者也称为 流,后者也称为字符流。
答案 二进制,字节
797.(0.0分)如果一个方法使用static修饰,这种方法称为 。
答案 静态方法
798.(0.0分)写一个表达式,要求只能随机产生0和1两个数字之一 。
答案 (int)(Math.random()*2)
799.(0.0分)写一个语句,将8.88赋给numbers数组的最后一个元素 。
答案 numbers[numbers.length-1]=8.88;
800.(0.0分)如果要便是任何类型,可以使用 通配符。
答案 ?[或者]问号
801.(0.0分)下面代码的输出结果是 。
int [][] x={{1,2},{3,4,5},{6,7,8,9}};
int [][]y = x; System.out.println(y[2][1]); 答案 7
802.(0.0分)如果需要将所定义的类保存在com.xxxy包中,应该使用的语句是 。
答案 package com.xxxy;
803.(0.0分)下面代码的输出结果是 。
System.out.println(“2+3”);
答案 2+3
804.(0.0分)如果编译器能够根据上下文推断出泛型参数的类型,在穿件泛型类型时可以使用 语法,即仅用一对尖括号(<>)。
答案 菱形
805.(0.0分)所有集合类型(如List或Set)的根接口是 。
答案 Collection
806.(0.0分)在一个方法体中或语句块内定义的类称为 。
答案 局部内部类
五、简答题 (218题,每小题0分,共0分)
807.(0.0分)要覆盖equals()方法,它的参数类型应该是什么?
答案
覆盖equals()方法,参数类型应该是Object。
808.(0.0分)使用if-else语句重写下面表达式。 tax = (income > 10000) ? income * 0.2 : income * 0.17 + 1000;
答案
用if-else语句重写的表达式如下。
if(income > 10000){ tax = income * 0.2;
}else{
tax = income * 0.17 + 1000;
}
809.(0.0分)编写程序,用数组初始化器初始化一个有5个double型数的数组numbers,求数组中的最大、最小元素值及各元素的和与平均值。
答案
package com.boda.xy; public class Exercise01{
public static void main(String[] args) {
double[] marks = { 78, 85.5, 60, 96.5, 88 }; double max = 0, min = 0, sum = 0;
max = min = sum = marks[0];
for (var i = 1; i < marks.length; i++) { if (marks[i] > max) {
max = marks[i];
}
if (min < marks[i]) {
min = marks[i];
}
sum = sum + marks[i];
}
System.out.println(“最大值=” + max); System.out.println(“最小值=” + min); System.out.println(“总和=” + sum); System.out.println(“平均值=” + sum / marks.length);
}
}
810.(0.0分)编写一个方法,合并给定的两个数组,并以升序返回合并后的数组,格式如下:
public static int[] arrayMerge(int[] a, int[] b)
例如,一个数组是{16,13,15,18},另一个数组是{29,36,100,9},返回的数组应该是{9,13,15,16,29,36,100}。
答案
public static int[] arrayMerge(int[] a, int[] b){ int size = a.length + b.length;
int[] result = new int[size]; for(int i = 0; i < a.length;i++){
result[i] = a[i];
}
for(int i = a.length; i<size;i++){ result[i] = b[i-a.length];
}
Arrays.sort(result); return result;
}
811.(0.0分)数组下标是什么类型的?最小的下标是多少?如何表示数组名为a的第3个元素?
答案
数组下标是int型的,最小下标是0。用a[2]表示第3个元素。
812.(0.0分)给定类A和B在同一个包中,使用什么修饰符才可使该类只能被同一个包中的其他类访问,而不能被不同包中的类访问?
答案
定义类时不使用修饰符。
813.(0.0分)编程题:编写一个方法,合并给定的两个数组,方法的声明格式如下: public static int[] arrayMerge(int[] a, int[] b) 例如,一个数组是
{16,13,15,18},另一个数组是{29,36,100},返回的数组应该是{16,13,15,18,29,36,100}。
答案
public static int[] arrayMerge(int[] a, int[] b){ // 2分int size = a.length + b.length;
int[] result = new int[size];
for(int i = 0; i < a.length;i++){ // 2分 result[i] = a[i];
}
for(int i = a.length; i<size;i++){ // 2分result[i] = b[i-a.length];
}
return result; // 2分
}
814.(0.0分)下面方法头的声明有什么错误? public static void print(String … names, double … numbers) public static void print(double … numbers, String name) public static double … print(double d1,double d2)
答案
public static void print(String … names, double … numbers)
一个方法不能有多个可变长度参数。
public static void print(double … numbers, String name)
方法的可变长度参数必须是最后一个参数。
public static double … print(double d1,double d2)
方法名前不能有…省略号。
815.(0.0分)如何创建一个PrintWriter以向文件写数据?如何创建一个Scanner从文件读数据?
答案
用PrintWriter带文件名参数的构造方法创建对象。用带输入流参数的构造方法创建Scanner对象。
816.(0.0分)定义一个泛型类Point,其中包含x和y两个类型为T的成员,定义带两个参数的构造方法,为x和y定义setter和getter,另外定义translate()
方法将点移到新的坐标。编写main()方法,创建Point对象,调用translate()方法。
答案
package com.boda.xy; public class Point {
private T x; private T y;
public Point(T x, T y) { this.x = x;
this.y = y;
}
public T getX() {
return x;
}
public void setX(T x) {
this.x = x;
}
public T getY() {
return y;
}
public void setY(T y) {
this.y = y;
}
public Point translate(T newX, T newY){ Point point = new Point(newX, newY); return point;
}
@Override
public String toString() {
return “Point [x=” + x + “, y=” + y + “]”;
}
public static void main(String[] args) {
Point point = new Point(20,30); System.out.println(point);
Point point2 = point.translate(50, 60); System.out.println(point2);
}
}
817.(0.0分)程求解八皇后问题。要求在8×8的国际象棋盘上放置8个皇后(每个皇后只能占一个格子),使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。下图就是其中一个解。
答案
package com.boda.xy; public class EightQueen {
private int[] column; //同栏是否有皇后,1表示有private int[] rup; //右上至左下是否有皇后private int[] lup; //左上至右下是否有皇后private int[] queen; //解答
private int num; //解答编号
public EightQueen() { column = new int[8+1]; rup = new int[(28)+1]; lup = new int[(28)+1]; for (int i = 1; i <= 8; i++)
column[i] = 0;
for (int i = 1; i <= (2*8); i++)
rup[i] = lup[i] = 0; //初始定义全部无皇后queen = new int[8+1];
}
public void backtrack(int i) { if (i > 8) {
showAnswer();
} else {
for (int j = 1; j <= 8; j++) {
if ((column[j] == 0) && (rup[i+j] == 0) && (lup[i-j+8] == 0)) {
//若无皇后
queen[i] = j; //设定为占用column[j] = rup[i+j] = lup[i-j+8] = 1; backtrack(i+1); //循环调用
column[j] = rup[i+j] = lup[i-j+8] = 0;
}
}
}
}
protected void showAnswer() { num++;
System.out.println(“\n解答” + num); for (int y = 1; y <= 8; y++) {
for (int x = 1; x <= 8; x++) { if(queen[y]==x) {
System.out.print(“Q”);
} else {
System.out.print(“.”);
}
}
System.out.println();
}
}
public static void main(String[] args) { EightQueen queen = new EightQueen(); queen.backtrack(1);
}
}
818.(0.0分)throw和throws关键字各用在什么地方?有什么作用?
答案
throw用于抛出异常语句,throws用于声明方法抛出异常。
819.(0.0分)编写程序,实现如图所示的界面,要求点击按钮将窗口上部的背景颜色设置为相应的颜色。 提示:使用面板JPanel对象设计布局。设置颜色可以调用容器的setBackground(Color c)方法,参数Color可以使用java.awt.Color类的常量,如Color.RED等。
答案
package com.boda.xy; import java.awt.event.; import javax.swing.; import java.awt.*;
public class Exersise03 extends JFrame implements ActionListener { private JButton jButton1 = new JButton(“红色”),
jButton2 = new JButton(“绿色”),
jButton3 = new JButton(“蓝色”), jButton4 = new JButton(“灰色”);
private JPanel panel = new JPanel(), panel2 = new JPanel();
public Exersise03() { super(“Exersise03”); panel.add(jButton1); panel.add(jButton2); panel.add(jButton3); panel.add(jButton4); panel.setBackground(Color.LIGHT_GRAY);
add(panel, BorderLayout.SOUTH); add(panel2, BorderLayout.CENTER); jButton1.addActionListener(this);
jButton2.addActionListener(this); jButton3.addActionListener(this); jButton4.addActionListener(this); setSize(300, 160); setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true);
}
public void actionPerformed(ActionEvent ae) { if ((JButton) ae.getSource() == jButton1) { panel2.setBackground(Color.RED);
} else if ((JButton) ae.getSource() == jButton2) { panel2.setBackground(Color.GREEN);
} else if ((JButton) ae.getSource() == jButton3) { panel2.setBackground(Color.BLUE);
} else if ((JButton) ae.getSource() == jButton4) { panel2.setBackground(Color.GRAY);
}
}
public static void main(String args[]) { try {
UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
}
SwingUtilities.invokeLater(new Runnable() { public void run() {
new Exersise03();
}
});
}
}
820.(0.0分)编写程序,要求从键盘上读取一个整数、一个浮点数和一个字符串,将它们写到一个文本文件out.txt中,然后程序读出这些数据,在控制台上显示出来。
要求:读入数据使用Scanner对象,写出数据使用PrintWriter类的println()方法。从文件中读入数据仍然使用Scanner对象。
答案
package com.boda.xy;
import java.io.FileInputStream; import java.io.IOException; import java.io.PrintWriter; import java.util.Scanner; public class Exerciser05 {
public static void main(String[]args) { try{
Scanner input = new Scanner(System.in); PrintWriter output = new PrintWriter(“out.txt”);
System.out.print(“请输入一个整数”); int n = input.nextInt(); System.out.print(“请输入一个浮点数”);
double d = input.nextDouble();
System.out.print(“请输入一个字符串”); String s = input.next(); output.println(n);
output.println(d); output.println(s); output.close();
Scanner out = new Scanner(new FileInputStream(“out.txt”));
System.out.println(out.nextInt()); System.out.println(out.nextDouble()); System.out.println(out.next()); out.close();
input.close();
}catch(IOException e) { e.printStackTrace();
}
}
}
821.(0.0分)试说明什么是方法重载?什么是方法覆盖?
答案
在一个类中,多个方法具有相同的方法名,但具有不同的参数表,称为方法的重载。程序运行时,根据参数表决定所执行的方法。重载表现为同一个类中方法的多 态性。覆盖是指子类重新定义了父类中的同名方法。覆盖表现为父类与子类之间方法的多态性。如果父类中的方法体不适合子类,子类中可以重新定义它。
822.(0.0分)有一个文本文件,里面保存一篇英文文章,设文本文件名为proverb.txt,内容如下:
no pains,no gains.
well begun is half done.
where there is a will,there is a way.
编写程序,从文件中读出所有单词并存储到Map对象中并记录每个单词出现的频率。要求使用FileReader创建文件输入流,从中读取每一行并解析出每个单词, 并添加到TreeMap中,同时记录每个单词的数量。运行结果如图所示。
答案
package com.boda.xy; import java.util.; import java.io.;
public class Exercise06 {
public static void main(String[] args){ String line = null;
String[] words = null;
var m = new TreeMap<String, Integer>();
// 创建文件输入流
try(
var br =
new BufferedReader(new FileReader(“proverb.txt”));
){
while((line = br.readLine())!=null){
words = line.split(“[ ,.]”); // 每读一行将其解析成字符串数组
for(String s : words){
var count = m.get(s); // 返回单词的数量
if(count == null) // 表示s不在m中
m.put(s,1);
else
}
}
m.put(s,count + 1);
}catch(IOException e) {}
System.out.println(“共有” + m.size() + “个不同单词。”); System.out.println(m);
}
}
823.(0.0分)编写程序,证明接口的静态方法不能被子接口继承,也不被实现类继承。接口的默认方法可以被子接口和子类继承。
答案
package com.boda.xy;
// Animal接口定义了一个默认方法和一个静态方法public interface Animal {
public default void eat(){
System.out.println(“I can eat anything.”);
}
public static void speak(){
System.out.println(“I can speak English.”);
}
}
// Person接口继承了Animal接口
public interface Person extends Animal{ public default void work(){
System.out.println(“I can working.”);
}
}
// Student类实现了Person接口
public class Student implements Person{ String major;
public Student(){}
}
// 测试类
public class InterfaceTest {
public static void main(String[] args) { Student s = new Student();
s.eat(); // 默认方法可被子接口和子类继承s.speak(); // 编译错误,说明静态方法不被继承Animal.speak(); // 正确,说明只能用定义它的类型调用
s.work();
}
}
824.(0.0分)表达式25/4的结果是多少?如果希望得到浮点数结果,如何重写表达式?
答案
25/4的结果是6。若希望得到小数可以写为25.0/4。
825.(0.0分)有下面的声明语句,要求使用3种方法完成将source数组中的3、4、5三个元素值复制到target数组中。 int [] source = {1, 2, 3, 4, 5, 6, 7}; int [] target = new int[3];
答案
方法一:
for(int i = 0; i<3;i++) { target[i] = source[i+2];
}
方法二:
System.arraycopy(source, 2, target, 0, 3);
方法三:
target = Arrays.copyOfRange(source, 2, 5);
826.(0.0分)阅读下面的程序,讨论运行结果。 public class Animal{ public Animal(){ System.out.println(“I’m an animal.”); } } // Bird类是Animal 的子类 public class Bird extends Animal{ public Bird(){ System.out.println(“I’m a bird.”); } public static void main(String[]args){ Bird b = new Bird(); } }
答案
输出如下:
I’m an animal. I’m a bird.
调用子类构造方法创建对象时必先调用父类构造方法创建父类对象。
827.(0.0分)给定两个方法定义: public static double m(double x, double y) public static double m(int x, double y) 对于下面给出的语句,将调用两个方法中的哪一个? (1)double z = m(4, 5); (2)double z = m(4, 5.5); (3)double z = m(4.5, 5.5);
答案
答案如下:
(1)调用第二个方法。
(2)调用第二个方法。
(3)调用第一个方法。
828.(0.0分)写出下列程序的运行结果。 public class Test{ private static int j = 10; public static boolean methodB(int k){ j += k; return true; } public static void methodA(int i){ boolean b; b = i > 10 & methodB(1); b = i > 10 && methodB(2); } public static void main(String[] args){ methodA(0); System.out.println("j = "+j) ; } }
答案
j = 11
缺少 j= 扣1分
829.(0.0分)下面程序D、E接口中各定义了一个默认hello()方法,F类实现了D、E接口,覆盖了hello()方法,在其中如何访问超接口D中的hello()方法。。interface D { default void hello() { System.out.println(“hello world from D”); } } interface E { default void hello() { System.out.println(“hello world from E”); } } public class F implements D, E { @Override public void hello() { System.out.println(“hello world F class”); //访问超接口D 中的hello()方法 } public static void main(String args[]) { F f = new F(); f.hello(); } }
答案
使用D.super.hello()访问超接口D中的hello()方法。
830.(0.0分)定义一个名为Enhancement的注解类型,包含id、synopsis、engineer和date等4个元素,为engineer和date分别指定默认值"unsigned"和"unknown"。
答案
package com.boda.xy;
public @interface Enhancement { int id();
String synopsis();
String engineer() default “unsigned”; String date() default “unknown”;
}
831.(0.0分)写出下列程序的输出结果。 public class ArrayTest{ public static void main(String[] args){ float f1[],f2[]; f1 = new float[10]; f2 = f1; System.out.println("f2[0] = "+f2[0]); } }
答案
输出结果如下:
f2[0] = 0.0
832.(0.0分)给出下面声明。写一个输出语句,将d保留2位小数输出。 double d = 345.6789;
答案
语句如下:
System.out.printf(“%.2f”,d);
833.(0.0分)编写程序,分别使用while循环、do~while循环和for循环结构,计算并输出1-1000之间含有7或者是7倍数的整数之和及个数。运行结果如图所 示。
答案
用while循环代码如下:
package com.boda.xy; public class Exercise01 {
public static void main(String[] args) { int sum = 0, count = 0;
int n = 1;
while( n <=1000){
if(n % 7 0 || n / 1007 || n % 10 ==7 || n / 10 %10 ==7){ sum = sum + n;
count = count + 1;
System.out.println(n);
} n++;
}
System.out.println(“和=” + sum); System.out.println(“个数=” + count);
}
}
用do-while循环代码如下: package com.boda.xy; public class Exercise01 {
public static void main(String[] args) { int sum = 0, count = 0;
int n = 1; do{
if(n % 7 0 || n / 1007 || n % 10 ==7 || n / 10 %10 ==7){ sum = sum + n;
count = count + 1; System.out.println(n);
} n++;
}while( n <=1000);
System.out.println(“和=” + sum); System.out.println(“个数=” + count);
}
}
用for循环代码如下: package com.boda.xy; public class Exercise04 {
public static void main(String[] args) { int sum = 0, count = 0;
for(int n = 1; n <=1000;n++){
if(n % 7 0 || n / 1007 || n % 10 ==7 || n / 10 %10 ==7){ sum = sum + n;
count = count + 1; System.out.println(n);
}
}
System.out.println(“和=” + sum); System.out.println(“个数=” + count);
}
}
834.(0.0分)编写程序,使用 FileInputStream和FileOutputStream 对象实现文件的复制,要求源文件和目标文件从命令行输入。
答案
package com.boda.xy; import java.io.*; public class CopyFile {
public static void main(String[] args) throws IOException { if(args.length != 2){
System.out.println(
“Usage:java CopyFile .”); System.exit(1);
}
File sourceFile = new File(args[0]); File destFile = new File(args[1]);
FileInputStream in = new FileInputStream(sourceFile); FileOutputStream out = new FileOutputStream(destFile);
int c;
while ((c = in.read()) != -1){ out.write©;
}
System.out.println(“File Copy Successfully.”); in.close();
out.close();
}
}
835.(0.0分)下面代码中B类实现了A接口,指出其中的错误。
interface A{ void m2();
}
class B implements A{ void m2(){
System.out.println(“method 2”);
}
}
答案
接口的抽象方法默认public修饰符,实现类必须指定该修饰符。
836.(0.0分)什么是自动装箱和自动拆箱?下面的语句正确吗? (1) Integer x = 3 + Integer.valueOf (50); (2) Integer x = 3; (3) Double x = 3; (4)
Double x = 3.0; (5) int x = Integer.valueOf (3); (6) int x =Integer.valueOf (3) + Integer.valueOf (5);
答案
自动装箱是自动将基本类型值转换为对应的包装类型值,自动拆箱是自动将包装类型值转换为基本类型值。
(1)Integer x = 3 + new Integer(50); (正确)
(2)Integer x = 3; (正确)
(3)Double x = 3; (不正确)
(4)Double x = 3.0; (正确)
(5)int x = Integer.valueOf(3); (正确)
(6)int x = Integer.valueOf (3) + Integer.valueOf (5); (正确)
837.(0.0分)编写程序RenameFile,使用File实现将一个文件重新命名。要求源文件名和目标文件名从命令行输入,如下所示:
答案
package com.boda.xy; import java.io.*;
public class RenameFile{
public static void main(String args[]){ if(args.length<2){
System.out.println(“Usage:RenameFile sourcefile destfile.”); return;
}
File rsc = new File(args[0]); File dst = new File(args[1]); if(!rsc.exists()){
System.out.println(“Source File does not exists.”); return;
}
if(dst.exists()){ System.out.println(“Destinamtion File exists.”); return;
}
if(rsc.renameTo(dst))
System.out.println(“Filename has been changed.”); else
System.out.println(“Filename can not be changed.”);
}
}
838.(0.0分)编写程序,实现如图所示的图形用户界面,要求如下:(1)创建一个框架并将其布局管理器设置为FlowLayout。(2)创建两个面板并把它们添
加到框架中。(3)每个面板包含3个按钮,面板使用FlowLayout布局管理器。
答案
package com.boda.xy; import java.awt.; import javax.swing.;
public class Exercise01 extends JFrame { JPanel p1 = new JPanel(), p2 = new JPanel(); JButton b11 = new JButton(“Button 1”),
b12 = new JButton(“Button 2”), b13 = new JButton(“Button 3”), b21 = new JButton(“Button 4”), b22 = new JButton(“Button 5”), b23 = new JButton(“Button 6”); public Exercise01() {
this(“No Title”);
;
}
public Exercise01(String title) { super(title);
p1.setLayout(new FlowLayout()); p2.setLayout(new FlowLayout()); p1.add(b11);
p1.add(b12);
p1.add(b13);
p2.add(b21);
p2.add(b22);
p2.add(b23);
setLayout(new FlowLayout()); add(p1);
add(p2); setSize(300, 130);
setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true);
}
public static void main(String args[]) { try {
UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
}
SwingUtilities.invokeLater(new Runnable() { public void run() {
new Exercise01(“Exercise01”);
}
});
}
}
839.(0.0分)下面的代码定义了一个媒体(Media)接口及其3个子接口:图书(Book)、视频(Video)和报纸(Newspaper),Library类是一个非泛型 类,请使用泛型重新设计该类。
import java.util.List; import java.util.ArrayList; interface Media { }
interface Book extends Media { } interface Video extends Media { } interface Newspaper extends Media { } public class Library {
private List resources = new ArrayList(); public void addMedia(Media x) {
resources.add(x);
}
public Media retrieveLast() { int size = resources.size(); if (size > 0) {
return (Media)resources.get(size - 1);
}
return null;
}
}
答案
泛型Library类代码如下:
public class Library {
private List resources = new ArrayList<>(); public void addMedia(T x) {
resources.add(x);
}
public T retrieveLast() {
int size = resources.size(); if (size > 0) {
return resources.get(size - 1);
}
return null;
}
}
840.(0.0分)当程序尝试访问下标不合法的数组元素时会发生什么?
答案
将抛出运行时异常ArrayIndexOutOfBoundsException。
841.(0.0分)简述Java语言有哪几种基本数据类型和引用数据类型。
答案
基本数据类型包括字节型(byte)、短整型(short)、整型(int)、长整型(long)、布尔型(loolean)、字符型(char)、单浮点型(float)和双浮点型
(double)。引用数据类型包括类(class)、数组、抽象类、接口。
842.(0.0分)下列程序输出结果为何? public class MyClass{ private static int a = 100; public static void main(String[] args){ modify(a); System.out.println(a); } public static void modify(int a){ a ++; } }
答案
输出100。
843.(0.0分)定义一个类Animal表示动物,定义它的两个子类Bird表示鸟,Lion表示狮子。定义一个泛型类Cage表示笼子,它继承java.util.HashSet类。创 建Animal、Bird和Lion对象,创建Cage、Cage 和Cage对象。能将Animal对象添加到Cage笼子中吗?Cage和Cage之间具有继承关系吗?如果要创建一个能装各种动物的笼子,应该使用什么通配符声明Cage对象?
答案
package com.boda.xy; import java.util.HashSet; public class Animal { }
public class Lion extends Animal{} public class Bird extends Animal{}
public class Cage extends HashSet{ public static void main(String[]args){
Animal animal = new Animal(); Lion king = new Lion();
Bird sparrow = new Bird();
Cage lionCage = new Cage(); Cage birdCage = new Cage(); lionCage.add(king);
birdCage.add(sparrow);
// lionCage.add(animal);
}
}
844.(0.0分)程序分析题:写出下列程序的运行结果。 abstract class AA{ abstract void callme(); void metoo(){ System.out.println(“AA’s metoo().”); } } class BB extends AA{ void callme(){ System.out.println(“BB’s callme().”); } void metoo(){ System.out.println(“BB’s metoo().”);
} } public class AbstractTest{ public static void main(String[] args){ AA aa = new BB(); aa.callme(); aa.metoo(); } }
答案
BB’s callme() 有一行给3分,若多一行扣1分。
BB’s metoo()
845.(0.0分)如果在一个带返回值的方法中,不写return语句会发生什么错误?在返回值类型为void的方法中可以不写return语句吗?下面代码的return语句是 否会导致语法错误?
public static void method(double x, double y){ System.out.println(x + y);
return x + y;
}
答案
在一个带返回值的方法中,不写return语句会发生编译错误。返回值类型为void的方法中可以不写return语句。对返回值为void的方法,return语句返回一个值 仍然发生编译错误。
846.(0.0分)请给出一个与它重载的方法声明 。 public double max(double a, double b)
答案
下面是一个重载的方法声明:
public int max(int a, int b)
847.(0.0分)定义一个名为Cuboid的长方体类,使其继承Rectangle类,其中包含一个表示高的double型成员变量height;定义一个构造方法 Cuboid(double length, double width, double height);再定义一个求长方体体积的volume()方法。编写程序,求一个长、宽和高分别为10、5、2的长方体的体积。
答案
package com.boda.xy;
public class Cuboid extends Rectangle{ private double height;
public Cuboid(double length,double width, double height){ super(length,width);
this.height = height;
}
public Cuboid(){
this(0,0,0);
}
public void setHeight(double height){ this.height = height;
}
public double getHeight(){ return height;
}
public double volume(){ return area() * height;
}
}
public class CuboidTest{
public static void main(String[]args){ Cuboid cb = new Cuboid(); cb.setLength(10); cb.setWidth(5); cb.setHeight(2);
System.out.println(“volume=”+cb.volume());
}
}
848.(0.0分)假设s1是"Welcome",s2是"welcome",为下面的陈述编写代码: (1) 用E替换s1中所有出现字符e的地方,然后将新字符串赋值给s2。 (2)
将"Welcome to Java and HTML"按空格分隔为一个数组tokens,将前面两个标识赋给s1和s2。
答案
代码如下所示:
(1) s2 = s1.replace(“e”,“E”);
(2) String []tokens = “Welcome to Java and HTML”.split(“[ ]”); s1 = tokens[0];
s2 = tokens[1];
849.(0.0分)下面代码的输出是什么?
int [][] array = new int[5][6]; int [] x = {1, 2};
array[0] = x;
System.out.println("array[0][1] is " + array[0][1]);
答案
输出结果如下:
array[0][1] is 2
850.(0.0分)编写布尔表达式,当体重weight大于50或者身高height大于1.70,但是不是同时满足时结果为true。
答案
if(weight > 50 ^ height > 1.70){ result = true;
}
851.(0.0分)JDK的编译命令是什么?如果编译程序显示下图所示错误,通常是什么原因?
答案
是path环境变量设置错误或没有设置。
852.(0.0分)写出下列程序的运行结果。 class Employee{} class Manager extends Employee{} class Secretary extends Employee{} class Programmer extends Employee{} public class Test{ public static void show(Employee e){ if(e instanceof Manager) System.out.println("He is
a Manager."); else if(e instanceof Secretary) System.out.println(“He is a Secretary.”); else if(e instanceof Programmer) System.out.println(“He is a Programmer.”); } public static void main(String[] args){ var m = new Manager(); var s = new Secretary(); var p = new Programmer(); show(m); show(s); show§; } }
答案
运行结果如下:
He is a Manager. He is a Secretary.
He is a Programmer.
853.(0.0分)下列程序有什么错误? 如何修改? class MyException extends Exception{ } public class ExceptionTest{ public void runTest() throws MyException{ System.out.println(“Testing”); } public void test() catch (Exception e) { runTest(); } }
答案
test()方法格式不对,应该如下所示: public void test() throws Exception {
runTest();
}
854.(0.0分)写一个语句创建当前系统默认的本地时间对象 。若创建19:35:40时间,语句应该如何写 。
答案
语句如下:
LocalTime time = LocalTime.now(); LocalTime time = LocalTime.of(19,35,40);
855.(0.0分)编写一个表达式,返回3455的一个随机整数。编写一个表达式,返回0999的一个随机整数。编写一个表达式,返回5.5~55.5的一个随机数。
答案
(int)(Math.random()22 + 34); (int)(Math.random()1000);
double d = Math.random() 51 + 5.5; d = Math.round(d10)/10.0;
856.(0.0分)编写程序,随机生成100个1000到2000之间的整数,将它们写到一个文件out.dat中。写出数据要求使用DataOutputStream类的writeInt(int i)方法。
答案
package com.boda.xy; import java.io.*;
public class Exercise03{
public static void main(String args[]) throws IOException{ try(
FileOutputStream fos = new FileOutputStream(“out.dat”); BufferedOutputStream bos = new BufferedOutputStream(fos); DataOutputStream dos = new DataOutputStream(bos);
){
for(var i = 0;i<100;i++){
int num = (int)(Math.random()*1001)+1000; System.out.println(num);
dos.writeInt(num);
}
}
System.out.println(“写入数据完成!”);
}
}
857.(0.0分)写出下列程序的输出结果。 public class Test{ public static void main(String[] args){ try{ for(var i = 3; i >= 0; i–){ System.out.print(“i=” + i); System.out.print(" " + 6 / i +“\n”); } }catch(ArithmeticException ae){ System.out.println(" / by zero."); } } }
答案
输出结果如下:
i=3 2
i=2 3
i=1 6
i=0 / by zero.
858.(0.0分)有如下类的定义,该类编译后生成几个类文件?给出完整的类文件名。 public class Outer{ class Inner{ public void go(){ System.out.print(“hi”); } } }
答案
编译后生成2个类文件:Outer.class和Outer$Inner.class
859.(0.0分)定义一个名为Point类表示点,构造方法public Point(double x,double y),访问方法有getX(),getY()。(1)覆盖从超类继承的toString()方法,调用该方法返回类名及点的x和y坐标值。(2)覆盖equals()方法,当两个点的x和y坐标分别相等,方法返回true,否则返回false。(3)覆盖hashCode() 方法,要求使用Objects类的hash()方法计算哈希码。(4)编写main()方法,测试上述几个方法的使用。
答案
package com.boda.xy; import java.util.Objects; public class Point {
private double x; private double y;
public Point(double x,double y) { this.x = x;
this.y = y;
}
public double getX() {
return x;
}
public double getY() { return y;
}
@Override
public String toString() {
return “Point [x=” + x + “, y=” + y + “]”;
}
@Override
public int hashCode() { return Objects.hash(x, y);
}
@Override
public boolean equals(Object obj){ if(obj instanceof Point)
return this.x==((Point)obj).x && this.y==((Point)obj).y;
else
return false;
}
public static void main(String[]args) { Point p = new Point(3,5);
Point p2 = new Point(3,5); System.out.println(p.toString()); System.out.println(p.equals(p2)); System.out.println(p.hashCode()); System.out.println(p2.hashCode());
}
}
860.(0.0分)下面代码试图对数组中的内容反转,解释为什么是错误的,请对代码进行修改。
int [] list = {1, 2, 3, 4, 5};
for (int i = 0, j = list.length -1; i < list.length; i++, j–){ int temp = list[i];
list[i] = list[j]; list[j] = temp;
}
答案
正确写法如下:
int [] list = {1, 2, 3, 4, 5};
for (int i = 0, j = list.length -1; i <= list.length/2; i++, j–){ int temp = list[i];
list[i] = list[j]; list[j] = temp;
}
861.(0.0分)
编程题:编写程序,计算下面级数之和:
答案
public class SeriesSum{
public static void main(String[] args){ int n = 1;
double sum = 0;
while( n < 99){ // 2分
sum = sum + (double) n / (n + 2); // 4分n = n + 2;
}
System.out.println("sum = "+ sum); // 2分
}
}
862.(0.0分)写程序,定义一个static方法methodA(),令其声明抛出一个IOException异常,再定义另一个static方法methodB(),在该方法中调用
methodA()方法,在main()方法中调用methodB()方法。试编译该类,看编译器会报告什么?对于这种情况应如何处理?由此可得到什么结论?
答案
package com.boda.xy; import java.io.IOException; public class Exercise05{
public static void methodA() throws IOException{ System.out.println(“In method A”);
}
public static void methodB(){ methodA();
System.out.println(“In method B”);
}
public static void main(String args[]){ methodB();
}
}
863.(0.0分)下面代码的输出是什么?
int x = 3;
int[] numbers = new int[x + 2]; x = 6;
System.out.println("x is " + x); System.out.println("size is " + numbers.length);
答案
输出结果如下:
x is 6
size is 5
864.(0.0分)编程题:按照下面要求定义类和创建对象。 (1)定义一个名为Circle的类表圆,其中含有double型的成员变量centerX、centerY表示圆心坐
标,radius表示圆的半径。定义求圆面积的方法getArea()方法和求圆周长的方法getPerimeter()。 (2)定义一个带参数构造方法,通过给出圆的半径创建圆对象。定义默认构造方法,在该方法中调用有参数构造方法,将圆的半径设置为1.0。 (3)定义一个名为Cylinder类表示圆柱,它继承Circle类,要求定义一个变量height表示圆柱高度。定义getVolume()方法求圆柱体积。定义默认构造方法和带radius和height两个参数的构造方法。
答案
public class Circle { double centerX; double centerY; double radius;
public Circle() { // 4分this(1.0);
}
public Circle(double radius) { this.radius = radius;
}
public double getArea(){ // 4分double area = 3.14 * radius * radius;
return area;
}
public double getPerimeter(){ double perimeter = 2 * 3.14 * radius; return perimeter;
}
}
public class Cylinder extends Circle{ // 6分private double height;
public Cylinder(){}
public Cylinder(double radius,double height){ this.radius = radius;
this.height = height;
}
public double getVolume(){ return super.getArea()*height;
}
}
865.(0.0分)Java异常一般分为哪几类? ClassNotFoundException、NullPointerException分别属于哪类异常?哪类异常在程序中必须处理?哪类异常在程序中不必处理?
答案
异常一般分为检查异常和检查异常。 ClassNotFoundException属于检查异常、NullPointerException属于非检查。检查异常必须处理,非检查异常哪不必处理。
866.(0.0分)何时使用@Override注解?使用@Override注解的好处是什么?
答案
覆盖超类方法时@Override注解,使用它可避免覆盖方法头写错。
867.(0.0分)类名、方法名、常量和变量的命名习惯是什么?按照Java的命名习惯,下面哪些可以作为常量、方法、变量或者类的名称? MAX_VALUE、Test、read、readDouble
答案
类名使用大写CamelCase命名方法,多个单词组成的名称,每个单词首字母大写,单词之间无分隔符。方法名和变量名采用小写camelCase命名方法;常量都用 大写字母且用下划线分隔单词。
MAX_VALUE作为常量名、Test作为类名、read作为变量名、readDouble作为方法名。
868.(0.0分)描述传递基本类型的参数和传递引用类型的参数的区别,并给出下面程序的输出。 public class Animal{ public int age; public Animal(int a)
{ age = a; } public Animal(){ age = 1; } } public class Test{ public static void increment(int values, Animal animal){ values ++; animal.age++; } public static void main(String[]args){ Animal myDog = new Animal(); int values = 10; for(var i = 0; i < 10; i++) increment(values, myDog); System.out.println(values); System.out.println(myDog.age); } }
答案
输出10和11。传递基本类型,原值不变,传递引用类型,可能更改成员值。
869.(0.0分)以下哪些语句是正确的? int [][] r = new int[2]; int [] x = new int[]; int [][] y = new int[3][]; int [][] z = {{1, 2}}; int [][] m = {{1, 2},{2, 3}}; int [][] n = {{1, 2},{2, 3}, };
答案
下面两个不正确,其余正确。
int [][] r = new int[2];
int [] x = new int[];
870.(0.0分)编写一个方法,将十进制数转换为二进制数的字符串,方法签名如下:
public static String toBinary(int value)
答案
public static String toBinary(int value){ String s = “”;
while( value != 0){
int r = value % 2; // 反复除以2取余数
s = r + s;
value = value / 2;
}
return s;
}
871.(0.0分)分析下面程序运行结果。 class AB{ int a , b ; public void init(int x){ a = x ; var b = 5 ; System.out.println("a = “+a+” b = "+b); } public void display(){ System.out.println("a = “+a+” b = "+b); } } public class ABTest{ public static void main(String[] args){ var ab = new AB(); ab.display(); ab.init(6); ab.display() ; } }
答案
程序运行结果及说明如下。
a = 0 b = 0 // 默认值初始化成员
a = 6 b = 5 // 成员变量a为6,局部变量b为5 a = 6 b = 0 // 成员变量a为6,b为0
872.(0.0分)Java中所有的类构成一个什么结构?
答案
树形结构[或者]树结构
873.(0.0分)什么是构造方法?它有什么特点?和普通方法之间的区别是什么?什么时候类将有一个默认构造方法?
答案
构造方法是类的一种特殊的成员方法,其方法名与类名相同。特点是:(1)没有返回值(2)用new运算符调用(3)一个类可定义多个构造方法。它与其他成员方法的不同:(1)作用不同(2)调用方式不同。
874.(0.0分)创建一个File对象就是在磁盘上创建一个文件吗?能够使用File类进行输入/输出吗?
答案
不是、不能。
875.(0.0分)程序分析题:写出下列程序的运行结果。 public class Animal{ public int age; public Animal(int a){ age = a; } public Animal(){ age = 1; } } public class Test{ public static void increment(int values, Animal animal){ values ++; animal.age++; } public static void main(String[]args){ Animal myDog = new Animal(); int values = 10; for(int i = 0; i < 10; i++) increment(values, myDog); System.out.println(values); System.out.println(myDog.age); } }
答案
缺少一个数扣1分。
10
11
876.(0.0分)写出下列程序的运行结果。 public class ArrayDemo{ public static void main(String[] args){ int[] array = {1,2,3,4,5}; printArray(array); modify(array); printArray(array); } static void modify(int[] a){ for(int i = 0; i<a.length; i++) a[i] = a[i]*i; } static void printArray(int[] a){ for(int i = 0; i<a.length; i++) System.out.print(a[i]+“\t”); System.out.println(); } }
答案
输出结果如下:
12345
0261220
877.(0.0分)程序分析题:给出下列程序的运行结果。 public class MultiExceptionDemo { static String s = “”; public static void method(int sel){ try{ if(sel == 0){ s = s + “A”; return; }else if(sel == 1){ int i = 0; System.out.println(4 / i); }else if(sel == 2){ int iArray[] = new int [4]; iArray[4] = 10; } }catch(ArithmeticException e){ s = s + “B”; }catch(ArrayIndexOutOfBoundsException e){ s = s + “C”; }catch(Exception e){ s = s + “D”; }finally{ s = s + “E”; } } public static void main(String[] args){ method(0); method(1); method(2); System.out.println(s); } }
答案
若答案格式与结果不一致,可酌情扣分。
AEBECE
878.(0.0分)写出下列程序的运行结果。 abstract class AA{ abstract void callme(); void metoo(){ System.out.println(“AA’s metoo().”); } } class BB extends AA{ void callme(){ System.out.println(“BB’s callme().”); } void metoo(){ System.out.println(“BB’s metoo().”); } } public class AbstractTest{ public static void main(String[] args){ AA aa = new BB(); aa.callme(); aa.metoo(); } }
答案
BB’s callme() BB’s metoo()
注:有一行给3分,若多一行扣1分
879.(0.0分)【编程题】按照下面要求定义类和创建对象。 (1)定义一个名为Rectangle的类表示矩形,其中含有length、width 两个double型的成员变量表示矩形的长和宽。定义求矩形周长的方法getPerimeter()和求面积的方法getArea()。 (2)定义一个带参数构造方法,通过给出的长和宽创建矩形对象。定义默认构造方法,在该方法中调用有参数构造方法,将矩形长宽都设置为1.0。 (3)定义一个名为Cuboid的长方体类,使其继承Rectangle类,其中包含一个表示高的double型成员变量height;定义一个构造方法Cuboid(double length, double width, double height);再定义一个求长方体体积的volume()方法。
答案
public class Rectangle{ double length;
double width;
public Rectangle(double length,double width){ // 4分this.length = length;
this.width = width;
}
public Rectangle(){ this(1.0,1.0);
}
public double perimeter(){ // 4分return 2*(length+width);
}
public double area(){ return length*width;
}
}
public class Cuboid extends Rectangle{ // 6分private double height;
public Cuboid(double length,double width, double height){ super(length,width);
this.height = height;
}
public Cuboid(){ this(0,0,0);
}
public double volume(){
return area() * height;
}
}
880.(0.0分)编写程序,首先创建一个由100个随机选取的整数构成的数组,然后提示用户输入数组的下标,程序显示对应的元素值。如果指定的下标越界,则显示消息“下标越界”。
答案
package com.boda.xy; import java.util.Random; import java.util.Scanner; public class Exercise03{
public static void main(String[] args) {
Scanner input = new Scanner(System.in); int index;
Random r = new Random(); int[]numbers = new int[100];
for(int i = 0; i < numbers.length;i++){ numbers[i] = r.nextInt(); System.out.println(numbers[i]);
}
System.out.print(“请输入一个下标值:”); try{
index = input.nextInt(); System.out.println(numbers[index]);
}catch(IndexOutOfBoundsException oe){ System.out.println(“下标越界”);
}
}
}
881.(0.0分)编程题:按照下面要求定义类和创建对象。 (1)定义一个名为Person的类,其中含有一个String类型的成员变量name和一个int类型的成员变量age,为该类定义一个名为speak的方法,在其中输出其name和age的值。 (2)为Person类定义一个带参数构造方法,通过给出姓名和年龄创建Person对象。定义默认构造方法,在该方法中调用有参数构造方法,将人的姓名设置为“张三”,年龄设置为20。 (3)定义一个名为Employee类表示员工,它继承Person类,要求定义一个变量salary表示员工工资。定义computeSalary(double hours, int rate)方法计算员工工资,这里hours表示员工工作时间,rate表示每小时工资。定义默认构造方法和带name、age和salary参数的构造方法。
答案
public class Person { String name; int age;
public void speak(){ System.out.println(“姓名:”+name);
System.out.println(“年龄:”+age);
}
}
public class Employee extends Person{ public double salary; // 表示员工工资
// 无参构造方法
public Employee(){
}
// 带一个参数构造方法
public Employee(double salary){ this.salary = salary;
}
public double computeSalary(int hours, double rate) {
// 这里计算员工的工资
double salary = hours * rate; return this.salary + salary;
}
}
882.(0.0分)试举例说明什么是强制类型转换?什么是自动类型转转?
答案
当将低级别的值(如整型值)赋给高级别的变量(浮点类型)时,系统自动完成类型的转换,称为自动类型转换。当将高级别的值(如double型值)赋给低级别的变量(如int型变量)时,必须进行强制类型转换。强制类型转换形式为:(类型标识符)待转换的值。
883.(0.0分)在一个类中可以定义两个同名但参数类型不同的方法吗?在一个类中可以定义两个名称和参数列表相同,但返回值不同或修饰符不同的方法吗?什么是方法重载?
答案
可以。不可以。在一个类中可以定义名称相同但参数不同的方法,这称为方法重载。
884.(0.0分)写出下列程序的运行结果。 public class ArrayDemo{ public static void main(String[] args){ int[] array = {1,2,3,4,5}; printArray(array); for(int i = 0; i<array.length; i++) modify(array[i], i); printArray(array); } static void modify(int a, int i){ a = a * i; } static void printArray(int[] a){ for(int i = 0; i<a.length; i++) System.out.print(a[i]+“\t”); System.out.println(); } }
答案
1 2 3 4 5
1 2 3 4 5
注:缺少一行扣1分
885.(0.0分)试说明下面三条语句的作用。 System.out.println(“Hello World!”); System.out.print(“Hello World!”); System.out.println();
答案
第一个语句表示输出字符串后换行;第二个语句表示输出字符串后不换行;第三个语句表示换行。
886.(0.0分)下面的程序实现了两个集合的并、交、差运算,请给出程序输出结果。 import java.util.*; public class SetDemo { public static void main(String[] args) { var s1 = new HashSet<>(); var s2 = new HashSet<>(); s1.add(1); // 这里进行了自动装箱转换 s1.add(2); s1.add(3); s2.add(2); s2.add(3); s2.add(4); var union = new HashSet<>(s1); union.addAll(s2); System.out.println(union); var intersection = new HashSet<>(s1); intersection.retainAll(s2); System.out.println(intersection); var difference = new HashSet<>(s1); difference.removeAll(s2); System.out.println(difference); } }
答案
代码输出结果如下:
[1, 2, 3, 4]
[2, 3]
[1]
887.(0.0分)方法printMax()定义如下: public static void printMax(double … numbers){ if(numbers.length==0){ System.out.println(“没有传递参数”); return; } double result = numbers[0]; for(int i = 1; i < numbers.length; i ++) if(numbers[i] > result) result = numbers[i]; System.out.println(“最大值是:” + result); } 可以使用下面的语句调用printMax()方法吗? printMax(1, 2, 2, 1, 4); printMax(new double[]{1, 2, 3});
printMax(new int[]{1, 2, 3});
答案
这里最后一个方法调用编译错误。因为方法参数是double数组,而传递的是int数组。
printMax(new int[]{1, 2, 3});
888.(0.0分)讨论下列程序有什么错误? public class MyMain{ IamAbstract ia = new IamAbstract(); } abstract class IamAbstract{ IamAbstract()
{} }
答案
抽象类不能实例化。
889.(0.0分)设x,y是int类型的变量,d是double类型的变量,试写出完成下列操作的表达式: (1) 求x的y次方 (2) 求x和y的最小值 (3) 求d取整后的结果
答案
设x,y是int类型的变量,d是double类型的变量,表达式如下:
(1) Math.pow(x,y) (2)Math.min(x,y) (3)Matn.round(d)
890.(0.0分)给出以下代码的运行结果。
double a = 6.5 ; a += a + 2 ;
System.out.println(a) ;
a = 6 ;
a /= 2 ; System.out.println(a) ;
答案
第一次输出a为15.0,第二次输出a为3.0。
891.(0.0分)定义一个名为Square的类表示正方形,使其继承Shape抽象类,覆盖Shape类中的抽象方法getPerimeter()和getArea()。编写程序测试
Square类的使用。
答案
package com.boda.xy; public abstract class Shape{
private String name; public Shape(){}
public Shape(String name){ this.name = name;
}
public void setName(String name){ this.name = name;
}
public String getName(){ return name;
}
public abstract double getPerimeter(); public abstract double getArea();
}
public class Square extends Shape{ double side;
public Square(){
this.side = 0;
}
public Square(double side){ this.side = side;
}
public double getArea(){ double area = side * side; return ares;
}
public double getPerimeter(){ return 4 * side;
}
public static void main(String[] args){ Square sq = new Square(5); System.out.println(sq.getArea());
}
}
892.(0.0分)Java语言有许多优点,请解释 “平台独立的”或“跨平台的”优点。
答案
平台独立是指用Java编写的程序编译成字节码后就不依赖于任何平台,无需修改就可在任何平台上运行,只要这种平台上安装了Java虚拟机即可。
893.(0.0分)写一个语句创建当前系统默认的本地日期对象 。若创建2022年1月4日日期,语句如何写 。
答案
语句如下:
LocalDate today = LocalDate.now(); LocalDate today = LocalDate.of(2022,1,4);
894.(0.0分)找出并修改下面代码中的错误。
public class Test{
public static void main(String[] args){ double [100] num;
for(int i = 0; i < num.length; i++) num(i) = Math.random() * 100;
}
}
答案
下面两行错误:
double [100] num;
num(i) = Math.random() * 100;
正确写法应该是:
double [] num = new double[100]; num[i] = Math.random() * 100;
895.(0.0分)创建一个自定义的异常类MyException,该类继承Exception类,为该类写一个构造方法,该构造方法带一个String类型的参数。写一个方法,令 其打印出保存下来的String对象。再编写一个类,在main()方法中使用try-catch结构创建一个MyException类的对象并抛出,在catch块中捕获该异常并打印出 传递的String消息。
答案
package com.boda.xy;
class MyException extends Exception{ public MyException() { }
public MyException(String message){ super(message);
}
public void output(){ System.out.println(getMessage());
}
}
public class Exercise06{
public static void main(String[] args){ try{
throw new MyException(“My Exception.”);
}catch(MyException e){ e.output();
System.out.println(e.getMessage());
}
}
}
896.(0.0分)在float和double类型的变量中保存了多少个精确位?
答案
float型保留的精确位为8位,double型保留的精确位为16位。
897.(0.0分)下面代码的输出是什么?
public class Test{
public static void main(String[] args){ try{
var value = 30; if(value < 40)
throw new Exception(“value值太小。”);
} catch(Exception ex){ System.out.println(ex.getMessage());
}
System.out.println(“catch块后的代码。”);
}
}
如果将value的值改为50,程序会输出什么结果?
答案
输出结果如下: value值太小。catch块后的代码。
如果将value的值改为50,程序不抛出异常,输出如下:
catch块后的代码。
898.(0.0分)编写程序,用数组初始化器初始化一个有5个int型数的数组source,分别使用下面方法将数组元素复制到目标数组target中。
(1)用for循环一个一个元素复制。
(2)使用System类的arraycopy()方法复制。
(3)用Arrays类的copyOf()或copyOfRange()方法。
答案
package com.boda.xy; public class Exercise04{
public static void main(String[] args) { int []source = {1,2,3,4,5};
int [] target = new int[5];
// 方法一:
for(int i = 0; i<3;i++) { target[i] = source[i+2];
}
// 方法二:
System.arraycopy(source, 2, target, 0, 3);
//方法三:
target = Arrays.copyOfRange(source, 2, 5); for(var n : target){
System.out.print(n + " ")
}
}
}
899.(0.0分)简述类成员(变量和方法)的访问修饰符private、protected和public的作用。
答案
使用private修饰的成员只能被这个类本身使用;用protected修饰的成员可被当前类、同一个包中的类以及子类使用;用public修饰的成员可被任何类使用。
900.(0.0分)main()方法的返回值类型是什么?
答案
main()方法的返回值类型是void。
901.(0.0分)下面两个import语句之间有什么执行的不同吗? import java.util.Scanner; import java.util.*;
答案
如果程序只用到Scanner类,则没有什么不同。第二种方式,程序还可以使用java.util包中的其他类。
902.(0.0分)给出下面程序的执行结果。 public class LabelDemo{ public static void main(String[] args){ outer: for(int i = 0; i < 3; i++){ inner: for(int j = 0; j < 100; j++){ if(j == 20){ break outer;} if(j % 3 ==0){ continue inner; } System.out.print(j + " "); } } } }
答案
输出结果如下:
1 2 4 5 7 8 10 11 13 14 16 17 19
903.(0.0分)如何检查一个文件是否已经存在?如何删除一个文件?如何重命名一个文件?使用File类能够获得文件的大小(字节数)吗?使用File对象能创建目录吗?
答案
假设file是File类对象。检测文件是否存在用file.exists()方法;删除文件用file.delete()方法;重命名文件用renameTo()方法;获得文件大小用length()方法;使 用File对象可以创建目录。
904.(0.0分)程序分析题:写出下列程序的运行结果。 public class ArrayDemo{ public static void main(String[] args){ int[] array = {1,2,3,4,5}; printArray(array); modify(array); printArray(array); } static void modify(int[] a){ for(int i = 0; i<a.length; i++) a[i] = a[i]*i; } static void
printArray(int[] a){ for(int i = 0; i<a.length; i++) System.out.print(a[i]+“\t”); System.out.println(); } }
答案
少一行扣1分
1 2345
0 261220
905.(0.0分)假设输入是2 3 4 5 0,那么下面程序的输出结果是什么? public class Test { public static void main (String []args) { Scanner input = new Scanner(System.in); int number, max; number = input.nextInt(); max = number; while(number!=0){ number = input.nextInt(); if(number > max) max = number; } System.out.println("max is " + max); System.out.println("number is " + number); } }
答案
输出结果如下:
max is 5
number is 0
906.(0.0分)运行编译好的字节码文件使用什么命令?Java解释器完成哪些任务?
答案
要执行Java程序,使用JDK中的java.exe程序。用类加载器将类的字节码加载到内存中,用字节码校验器校验字节码合法性,由运行时解释器翻译和执行。
907.(0.0分)写出下列程序的运行结果。 public class ArrayDemo{ public static void main(String[] args){ int[] a = new int[1]; modify(a); System.out.println("a[0] = "+a[0]); } public static void modify(int[] a){ a[0]++; } }
答案
输出结果如下:
a[0] = 1
908.(0.0分)假设A是一个接口,可以使用如下语句创建接口A的一个实例吗? A x = new A();
答案
不可以,接口不能创建实例。
909.(0.0分)下面程序有两处编译错误,请指出。 public class IfWhileTest { public static void main (String []args) { int x = 1, y = 6; if(x = y) System.out.println(“相等”); else System.out.println(“不相等”); while (y–) { x++ ; } System.out.println("x = " + x+ " y = " + y); } } 若使程序输出下面结果,应如何修改程序。 不相等 x = 7 y = -1
答案
if(x=y)错误,x=y不是布尔表达式;while(y–)错误,y–也不是布尔表达式。Java语言不能用非0整数表示true,用0表示false,这与C/C++不同。若要得到题中结果,修改如下:
if(x==y),while(y-- >0)
910.(0.0分)给出下列程序的输出结果。 public class Test{ public static void main(String[] args){ for(int i = 0; i < 2; i ++){ System.out.print( i + " "); try{ System.out.println(1 / 0); }catch(Exception ex){ } } } }
答案
程序输出:0 1
911.(0.0分)指出并修改下面代码的错误之处。
double i = 50; double j = i + 50; double k = j + 1;
System.out.println("j = " + j + " and k = " + k);
答案
代码最后两行应写在一行,或使用+号连接字符串。
System.out.println("j = " + j + " and k = " + k);
912.(0.0分)试举例说明什么是自动类型转换(加宽转换)?什么是强制类型转换(变窄转换)?
答案
从位数少的数据转换成位数多的数据称为自动转换,反之称为强制类型转换,例如从int型转换成double型为自动转换,反之为强制转换。
int a = 100; double d = 20.35;
d = a; //自动转换
a = (int)d; //强制转换
913.(0.0分)Java引用数据类型有哪几种?
答案
Java引用数据类型有类、接口、枚举、注解、记录、数组等六种。
914.(0.0分)如果将程序的main()方法定义成如下格式,运行程序时会怎样? void main(String[] args){ …… }
答案
运行程序时产生错误,如下图所示。
915.(0.0分)给定如图所示的Player类及其子类MusicPlayer和VideoPlayer的继承关系UML图。其中,抽象类Player表示播放器,fileName是播放的文 件,play()和stop()表示播放和停止方法;MusicPlayer表示音频播放器,volume表示音量,encodeAudio()表示音频解码;VideoPlayer表示视频播放 器,duration表示视频持续时间,encodeVideo()表示视频解码。
(1)编写代码实现这些类,为这些类定义无参数构造方法,在构造方法中输出一句话,实现每个类中定义的方法。
(2)在main()方法中创建一个MusicPlayer对象,访问该对象的volume成员、play()与stopt()和encodeAudio()方法。访问toString()方法,该方法是在哪里 定义的?
(3)在main()方法中编写下面代码,该段代码是否有编译错误,为什么?
Player player;
MusicPlayer mplayer = new MusicPlayer(); mplayer.play();
player = mplayer; player.encodeAudio();
MusicPlayer mplayer2 = (MusicPlayer)player; player2.encodeAudio();
答案
Player.java代码如下: package com.boda.xy;
public abstract class Player { public String fileName; public Player() {
System.out.println(“创建Player对象。”);
}
public abstract void play(); public abstract void stop();
}
MusicPlayer.java代码如下: package com.boda.xy;
public class MusicPlayer extends Player { private int volume;
public MusicPlayer() { this(“铁血丹心”,5);
System.out.println(“创建MusicPlayer对象。”);
}
public MusicPlayer(String fileName, int volume) { this.fileName = fileName;
this.volume = volume;
}
public void play() {
System.out.println(“播放:” + fileName);
}
public void stop() {
System.out.println(“停止播放:” + fileName);
}
public void encodeAudio() { System.out.println(“解码音频文件。”);
}
public int getVolume() { return volume;
}
}
VideoPlayer.java代码如下: package com.boda.xy;
public class VideoPlayer extends Player { private double duration;
public VideoPlayer() { this(“铁血丹心”,5);
System.out.println(“创建VideoPlayer对象。”);
}
public VideoPlayer(String fileName, double duration) { this.fileName = fileName;
this.duration = duration;
}
public double getDuration() { return duration;
}
public void play(){
System.out.println(“开始播放:” + fileName);
}
public void stop(){
System.out.println(“停止播放:” + fileName);
}
public void encodeVideo(){ System.out.println(“解码视频文件。”);
}
}
PlayerDemo.java代码如下: package com.boda.xy; public class PlayerDemo {
public static void main(String[] args) { Player player;
MusicPlayer mplayer = new MusicPlayer();
mplayer.play(); player = mplayer;
player.encodeAudio(); // 该行发生编译错误
MusicPlayer mplayer2 = (MusicPlayer)player; mplayer.encodeAudio();
}
}
916.(0.0分)给出下面代码的输出结果。
int [] list1 = {2, 4, 7, 10};
Arrays.fill (list1, 7); System.out.println(Arrays.toString(list1)); int [] list2 = {2, 4, 7, 10}; System.out.println(Arrays.toString(list2));
System.out.println(Arrays.equals(list1,list2));
答案
输出结果如下:
[7, 7, 7, 7]
[2, 4, 7, 10]
false
917.(0.0分)编译和执行下面的MyClass类,输出结果如何? public class MyClass { protected InnerClass ic; public MyClass() { ic = new InnerClass(); } public void displayStrings() { System.out.println(ic.getString() + “.”); System.out.println(ic.getAnotherString() + “.”); } // 内部类定义 protected class InnerClass { public String getString() { return “InnerClass: getString invoked”; } public String getAnotherString() { return “InnerClass: getAnotherString invoked”; } } public static void main(String[] args) { MyClass mc = new MyClass(); mc.displayStrings(); } }
答案
执行MyClass类,输出结果如下:
InnerClass: getString invoked. InnerClass: getAnotherString invoked.
918.(0.0分)编写程序,实现如图所示的图形用户界面,要求4个按钮添加到JPanel面板中,将该面板添加到BorderPane根面板的页尾。创建一个标签,将它
添加到窗口的中部。
答案
package com.boda.xy;
import java.awt.BorderLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel;
import javax.swing.SwingConstants; import javax.swing.SwingUtilities; import javax.swing.UIManager;
public class Exercise02 extends JFrame { JPanel panel = new JPanel();
JLabel label = new JLabel(“这是一个标签”,SwingConstants.CENTER); JButton btn1 = new JButton(“第一页”),
btn2 = new JButton(“上一页”), btn3 = new JButton(“下一页”),
btn4 = new JButton(“最后页”); public Exercise02() {
setLayout(new BorderLayout(10,10)); // 设置布局管理器
panel.add(btn1); panel.add(btn2); panel.add(btn3); panel.add(btn4);
add(label, BorderLayout.CENTER); add(panel, BorderLayout.PAGE_END);
setTitle(“边界布局示例”);
setSize(350,150); setLocationRelativeTo(null); setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) { try{
UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName());
}catch(Exception e){} SwingUtilities.invokeLater(new Runnable() {
public void run() { new Exercise02();
}
});
}
}
919.(0.0分)试说明Java异常处理的基本方法,thow和throws关键字有何不同?
答案
Java异常处理基本方法是用try{}catch{}finally{}。try块中是要执行的代码,catch块中捕获和处理异常,finally是最后执行的代码。throw关键字用于明确抛出一个异常对象,它是一个语句。throws关键字用于声明方法抛出异常,使得异常可被调用方法处理。
920.(0.0分)给定一个字符串数组,内容如下: String[] words = {“no pains, no gains.”, “well begun is half done.”,
“where there is a will, there is a way.”};
编写程序,创建一个HashMap对象,它的键是英文单词,值是该单词的个数。
HashMap<String, Integer> wordMap = new HashMap<>();
从字符串数组words中解析出每个单词存放到wordMap中,同时统计单词数量。将HashMap修改为TreeMap,再次运行程序,结果如下。运行结果如图所示。
图中第一行是使用HashMap的输出结果,第二行是使用TreeMap的输出结果。显然,使用TreeMap ,结果是按键排序的。
答案
package com.boda.xy; import java.util.HashMap; import java.util.Map; import java.util.TreeMap; public class Exercise06 {
public static void main(String[] args) {
String[] lines = { “no pains,no gains.”, “well begun is half done.”, “where there is a will,there is a way.” };
String words[];
Map<String, Integer> wordMap = new HashMap<>(); for (int i = 0; i < lines.length; i++) {
words = lines[i].split(“[ ,.]”); for (String s : words) {
Integer n = wordMap.get(s); if (n == null) {
wordMap.put(s, 1);
} else {
wordMap.put(s, n + 1);
}
}
}
System.out.println(“共有” +wordMap.size()+ “个不同的单词。” ); System.out.println(wordMap);
Map<String, Integer> wordMap2 = new TreeMap<>(wordMap); System.out.println(wordMap2);
}
}
921.(0.0分)编写一个switch语句,如果day是0、1、2、3、4、5、6,分别显示Sunday、Monday、Tuesday、Wednesday、Thursday、Friday和
Saturday。
答案
switch语句如下所示。switch(day){
case 0 -> System.out.println(“Sunday”); case 1 -> System.out.println(“Monday”); case 2 -> System.out.println(“Tuesday”); case 3 -> System.out.println(“Wednesday”); case 4 -> System.out.println(“Thursday”); case 5 -> System.out.println(“Friday”);
case 6 -> System.out.println(“Saturday”);
}
922.(0.0分)下面的说法是否正确:对返回值类型为void的方法调用总是单独的一条语句,但是对带返回值类型的方法调用本身不能作为一条语句。
答案
对带返回值类型的方法调用本身也可以作为一条语句。
923.(0.0分)修改下列程序的错误。 public class Test{ public static method1(int m, n){ m += n; method2(3.4); } public static int method2(int n){ if(n > 0) return 1; else if (n ==0) return 0; else if (n < 0) return -1; } }
答案
该程序有4处错误。(1)method1()方法没有返回值;(2)method1()方法的第二个参数n没有指定类型;(3)在method1()中调用method2()方法给的参数 类型不对;(4)method2方法的最后一个else if应该为else结构。
924.(0.0分)如何编写一条语句,让用户从键盘输入一个双精度值?在执行下面代码时,如果输入20m,将发生什么?
double radius = input.nextDouble() ;
答案
创建Scanner对象,然后调用nextDouble()方法输入double型值,如果输入20m将抛出java.util.InputMismatchException运行时异常。
925.(0.0分)若编写代码实现如下功能:如果年龄(age)大于40岁,并且工资(salary)小于5000元,工资增加1000元;如果年龄不大于40岁,将工资增 加500元。讨论该段代码是否正确?
if( age > 40)
if( salary < 5000) salary = salary + 1000; else
salary = salary + 500;
答案
else总跟与它最近的if匹配,因此题中的else是与if(salary < 5000)匹配。要实现题中要求,改写代码如下: if( age > 40){
if( salary < 5000) salary = salary + 1000;
}else
salary = salary + 500;
926.(0.0分)试说明抽象类和接口的相同之处和不同之处。
答案
相同之处:(1)都包含抽象方法(2)都不能被实例化(3)都是引用数据类型。
不同点如下:(1)一个类只能继承一个类,一个类可实现多个接口(2)抽象类访问权限同普通类,接口访问权限有public和默认,成员访问权限是public(3) 抽象类可抽象方法、普通方法、构造方法,接口只能声明抽象方法和常量。
927.(0.0分)下面程序中共有6处使用了自动装箱或自动拆箱,请指出来。 public class UseBoxing { boolean go(Integer i){ Boolean ifSo = true; Short s = 300; if(ifSo){ System.out.println(++s); } return !ifSo; } public static void main(String []args){ UseBoxing u = new UseBoxing(); u.go(5); }
}
答案
自动装箱、自动拆箱,具体如下:
public class UseBoxing { boolean go(Integer i){
Boolean ifSo = true; // 自动装箱Short s = 300; // 自动装箱if(ifSo){ // 自动拆箱
System.out.println(++s); // 自动拆箱
}
return !ifSo; // 自动拆箱
}
public static void main(String []args){ UseBoxing u = new UseBoxing(); u.go(5); // 自动装箱
}
}
928.(0.0分)有下列程序,请给出执行后输出结果。 import java.util.*; public class FindDups { public static void main(String[] args) { var s = “one little,two little,three little.”; String[] str = s.split(“[ ,.]”); Set hs = new HashSet<>(); for (String a : str){ if (!hs.add(a)) // 如果集合中已经存在a,add()方法返回false System.out.println("重复单词: " + a); } System.out.println(“共有:”+hs.size()+"个不同单词: "); System.out.println(hs); }
}
答案
代码输出结果如下: 重复单词: little
重复单词: little
共有:4个不同单词: [one, two, three, little]
929.(0.0分)为一元二次方程ax2+bx+c=0设计一个名为QuadraticEquation的类。这个类包括:
·代表三个系数的私有数据域a、b和c。
·一个参数为a、b和c的构造方法。
·a、b、c的三个getter方法。
·一个名为getDiscriminant()的方法返回判别式,b2-4ac。
·名为getRoot1()和getRoot2()的方法返回方程的两个根。
这些方法只有在判别式为非负数时才有用,如果判别式为负,这些方法返回0。
编写一个测试程序,提示用户输入a、b和c的值,然后显示判别式的结果。如果判别式为正数,显示两个根;如果判别式为0,显示一个根;否则显示“方程无根”。
答案
package com.boda.xy; import java.util.Scanner;
public class QuadraticEquation { private double a;
private double b; private double c;
public QuadraticEquation(double a, double b, double c) { this.a = a;
this.b = b; this.c = c;
}
public double getA() { return a;
}
public double getB() { return b;
}
public double getC() { return c;
}
public double getDiscriminant(){ double discriminant; discriminant = b * b - 4 * a * c; return discriminant;
}
public double getRoot1(){
return (-b + Math.sqrt(getDiscriminant()))/ (2a);
}
public double getRoot2(){
return (-b - Math.sqrt(getDiscriminant()))/ (2a);
}
public static void main(String[] args) { double a,b,c;
Scanner input = new Scanner(System.in); System.out.print(“请输入a,b,c值”);
a = input.nextDouble();
b = input.nextDouble(); c = input.nextDouble();
QuadraticEquation equation =
new QuadraticEquation(a, b, c); double discriminant = equation.getDiscriminant(); System.out.println(discriminant); if(discriminant<0){
System.out.println(“方程无实数根”);
}else if(discriminant==0){
System.out.println(“方程的根为x=” + equation.getRoot1());
}else{
System.out.println(“方程的根x1=” + equation.getRoot1()); System.out.println(“方程的根x2=” + equation.getRoot2());
}
}
}
930.(0.0分)假设s1是"Hello",s2是"hello",为下面的陈述编写代码: (1) 检查s1和s2的内容是否相等,然后将结果赋给一个布尔变量isEqual。 (2) 比较s1
和s2的大小,然后将结果赋给一个整型变量x。 (3) 将s1的长度赋给一个整型变量x。 (4) 将s1中第一次出现的字符’e’的下标赋给int型变量x。 (5) 将s2中的子串"ello"取出赋给一个String变量s。
答案
(1) boolean isEqual = s1.equals(s2); (2)int x = s1.compareTo(s2);
(3)int x = s1.length();
(4)int x = s1.charAt(‘e’); (5)String s = s2.substring(1);
931.(0.0分)有下列程序,试指出该程序的错误之处。 class AA{ AA(int a){ System.out.println(“a=”+a); } } class BB extends AA{ BB(String s){ System.out.println("s = "+s); } } public class ConstructorDemo{ public static void main(String[] args){ var b = new BB(“hello”); } }
答案
调用BB类构造方法之前,先调用AA类构造方法,但找不到无参数构造方法,发生编译错误。
932.(0.0分)【编程题】给出并分析下列程序的运行结果。 public class Test{ public static String output = “”; public static void foo(int i){ try { if(i
== 1){ throw new Exception(); } output += “1”; }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 = "+output); } }
答案
output = 13423
注:缺少output=扣1分,结果中包含两个3给2分
933.(0.0分)finally结构中的语句在什么情况下才不被执行?
答案
catch块中调用了System.exit()方法终止程序时finally结构中的语句不被执行。
934.(0.0分)下列程序有什么错误? 如何修改? public class Test{ public static void main(String[] args){ try{ int a = 10; System.out.println( a / 0); }catch(Exception e){ System.out.println(“产生异常.”); }catch(ArithmeticException ae){ System.out.println(“产生算术异常.”); } } }
答案
将捕获ArithmeticException异常的catch块放到捕获Exception的块的前面,就是应该先捕获特殊类型的异常。
935.(0.0分)写出下列程序的运行结果。 abstract class AA{ abstract void callme(); void metoo(){ System.out.println(“Inside AA’s metoo().”); } } class BB extends AA{ void callme(){ System.out.println(“Inside BB’s callme().”); } void metoo(){ System.out.println(“Inside BB’s metoo().”); }
} public class AbstractTest{ public static void main(String[] args){ AA aa = new BB(); aa.callme(); aa.metoo(); } }
答案
运行结果如下:
Inside BB’s callme(). Inside BB’s metoo().
936.(0.0分)下面代码有什么错误。
class A{
String s; A(String news){
s = news;
}
public void print(){
System.out.print(s);
}
}
public class MyClass{
public static void main(String[] args){ A a = new A();
a.print();
}
}
答案
下面语句错误,A类没有无参数构造方法。
A a = new A();
937.(0.0分)给出以下代码的输出结果。
int x = 1,y = 2,z = 3; y += z-- / ++x; System.out.println(y);
System.out.println(y > z ^ x != z);
答案
3、true。
938.(0.0分)写出下面程序运行结果。 public class Foo{ public static void main(String[] args){ int i = 1; int j = i++; if((i > ++j) && (i++ == j)){
+= j; } System.out.println("i = “+i+”, j = "+j) ; } }
答案
i = 2, j = 2
939.(0.0分)定义一个名为Rectangle的类表示矩形,该类的UML图如图所示。其中求矩形周长的方法是getPerimeter(),求面积的方法是getArea()。 编写一个RectangleDemo应用程序,在main()方法中用默认构造方法创建矩形对象后通过方法设置其高为1和宽为2,然后输出其周长和面积。
答案
package com.boda.xy; public class Rectangle{ double length;
double width;
public Rectangle(double length,double width){ this.length = length;
this.width = width;
}
public Rectangle(){ this(1.0,1.0);
}
public void setLength(double length){ this.length = length;
}
public double getLength(){ return length;
}
public void setWidth(double width){ this.width = width;
}
public double getWidth(){ return width;
}
public double getPerimeter(){ return 2*(length+width);
}
public double getArea(){ return length*width;
}
}
public class RectDemo{
public static void main(String args[]){ Rectangle rect = new Rectangle();
rect.setLength(20); rect.setWidth(10);
System.out.println(“该矩形的长为:”+rect.getLength()); System.out.println(“该矩形的宽为:”+rect.getWidth()); System.out.println(“该矩形的周长为:”+rect.perimeter()); System.out.println(“该矩形的面积为:”+rect.area());
}
}
940.(0.0分)下面的方法检查一个字符串是否是数值字符串,该方法是否正确? public static boolean isNumeric(String token){ try{ Double.parseDouble(token); return true; }catch(java.lang.NumberFormatException e){ return false; } }
答案
正确。
941.(0.0分)编写程序,定义一个名为TrafficLight的enum类型,它包含三个常量:GREEN、RED和YELLOW表示交通灯的三种颜色。通过values()方法和
ordinal()方法循环并打印每一个值及其顺序值。编写一个switch语句,为TrafficLight的每个常量输出有关信息。
答案
package com.boda.xy; public enum TrafficLight{ GREEN, RED, YELLOW;
public static void main(String[]args){ TrafficLight[] tl = TrafficLight.values(); for(TrafficLight light:tl){
System.out.print(light); System.out.println(" "+light.ordinal());
}
TrafficLight red = TrafficLight.RED; switch(red){
case RED ->
System.out.println(“RED, stop.”); break; case GREEN ->
System.out.println(“GREEN, go.”); break; case YELLOW ->
System.out.println(“YELLOW, do not know.”); break;
}
}
}
942.(0.0分)程序分析题:写出下列程序的运行结果。 abstract class AA{ abstract void callme(); void metoo(){ System.out.println(“AA’s metoo().”);
} } class BB extends AA{ void callme(){ System.out.println(“BB’s callme().”); } void metoo(){ System.out.println(“BB’s metoo().”); } } public class AbstractTest{ public static void main(String[] args){ AA aa = new BB(); aa.callme(); aa.metoo(); } }
答案
BB’s callme() 有一行给3分,若多一行扣1分。
BB’s metoo()
943.(0.0分)给出以下代码的运行结果。
int m = 12 ;
int n = m++ % 5 ; System.out.println(m) ; System.out.println(n) ;
答案
输出13、2。
944.(0.0分)如何声明一个类型的引用变量?如何创建一个对象?
答案
使用下面格式声明一个类型的引用变量:
Employee emp;
创建对象使用new运算符调用类的构造方法:
emp = new Employee();
945.(0.0分)构造方法和普通方法之间的区别是什么?什么时候类将有一个默认构造方法?
答案
构造方法名与类名相同,没有返回值;用于创建对象,用 new运算符调用。普通方法名任意,有返回值(包括void),用类名或实例名调用。定义类时如果没有定义构造方法,编译器提供一个默认构造方法。
946.(0.0分)试说明@Override注解的功能。
答案
Override是一个标记注解类型,可以用在一个方法的声明中,它告诉编译器这个方法要覆盖父类中的某个方法。
947.(0.0分)写出下列方法的方法头(不是方法体)。 (1)计算一个数的平方根。 (2)按指定次数打印某条消息。 (3)测试一个正整数是否是偶数,如果是返回true。 (4)对于给定的小写字母,给出相应的大写字母。
答案
(1)public double sqrt(double n)。
(2)public void printMessage(String message, int n)。
(3)public boolean testEven(int n)。
(4)public char upperCase(char c)。
948.(0.0分)运行下面代码会发生什么?
import java.io.*; public class Test{
public static void main(String[]args) throws IOException{ try(
var output =
new ObjectOutputStream(new FileOutputStream(“object.dat”));
){
output.writeObject(new A());
}
}
}
class A implements Serializable{ B b = new B();
}
class B {}
答案
抛出java.io.NotSerializableException异常,B类不是序列化的对象。 序列化一个对象,它的成员也必须是可序列化的。
949.(0.0分)编写程序,在main()方法中使用try块抛出一个Exception类的对象,为Exception的构造方法提供一个字符串参数,在catch块内捕获该异常并打 印出字符串参数。添加一个finally块并打印一条消息。
答案
package com.boda.xy;
public class Exercise04{
public static void main(String args[]){ try{
throw new Exception(“demo exception”);
}catch(Exception e){ System.out.println(e.getMessage());
}finally{
System.out.println(“Program finished.”);
}
}
}
950.(0.0分)编写程序,提示用户读取两个整数,然后显示它们的和。程序应该在输入不正确时提示用户再次读取数字。
答案
package com.boda.xy;
import java.util.InputMismatchException; import java.util.Scanner;
public class Exercise02{
public static void main(String[] args) {
Scanner input = new Scanner(System.in); boolean continueInput = true;
do{ try{
System.out.print(“请输入两个整数:”); int a = input.nextInt();
int b = input.nextInt(); System.out.println("a + b = " + (a + b)); continueInput = false;
}catch(InputMismatchException e){ System.out.println(“输入数据错误!请重新输入!”);
input.nextLine(); //丢弃当前行
}
}while(continueInput);
}
}
951.(0.0分)指出并修改下面程序的错误之处。 public class Test{ public static void main(String[] args){ int i = j = k = 50; System.out.println(i + " " + j + " " +k); } }
答案
j和k没有声明并初始化。int j = 0, k =0;
952.(0.0分)如果子类中的一个方法具有和它父类中的方法完全相同的方法签名,但参数类型不同,这是方法覆盖还是方法重载?
答案
是方法重载。
953.(0.0分)解释什么是JDK、JRE和JVM,它们三者之间的关系如何?
答案
JDK是Java开发工具包,它包含进行Java开发所需的最少软件。JRE称为Java运行时环境,它包括JVM和Java类库。JVM是Java虚拟机,是一种运行字节码的应用程序。JRE包含JVM,JDK包含JRE。
954.(0.0分)给出以下求余计算的结果。 56 % 6 78 % -4 -34 % -5 3 % 10
答案
2、2、-4、3
955.(0.0分)Java的基本数据类型有哪几种?int型的数据最大值和最小值分别是多少?
答案
Java基本数据类型有byte、short、int、long、float、double、char、boolean等8种,int型数据的最大值和最小值可通过Integer.MAX_VALUE和Integer>MIN_VALUE获得,分别是2147483647和-2147483648。
956.(0.0分)下面两行的声明是否等价?怎样声明更好些? int []j, k[] ; int j[], k[][] ;
答案
这两行的声明是等价的。j为一维数组,k为二维数组。下面声明更好些:
int []j; int [][]k;
957.(0.0分)假设给出如下所示的s1和s2: var s1 = new StringBuilder(“Welcome to Java”); var s2 = new StringBuilder(“HTML”); 给出执行下列语句后s1的结果。假定这些表达式都是独立的。 (1) s1.append(s2); (2) s1.delete(8,10); (3) s1.deleteCharAt(8); (4) s1.replace(11,15,s2.toString()); (5) s1.setCharAt(0, ‘w’); (6) s1.reverse();
答案
s1的结果如下:
(1)Welcome to JavaHTML
(2)Welcome Java
(3)Welcome o Java
(4)Welcome to HTML
(5)welcome to Java
(6)avaJ ot emocleW
958.(0.0分)试说明super关键字和this关键字的含义及主要用途。
答案
super可以用在子类中引用父类成员变量、成员方法及构造方法。用下列方式引用成员变量:super.成员变量名;引用父类成员方法:super.成员方法名();引用父类构造方法:super(参数表)。this表示当前对象,用它可引用当前对象的成员变量、成员方法和构造方法。this.成员变量名、this.方法名、this(参数表)。
959.(0.0分)编程题:编写一个方法,将十进制数转换为二进制数的字符串,方法签名如下: public static String toBinary(int value) 例如,按如下调用该方法将输出101010. System.out.println(toBinary(42));
答案
public static String toBinary(int value){ String s = “”;
while( value != 0){
int r = value % 2; // 反复除以2取余数
s = r + s;
value = value / 2;
}
return s;
}
960.(0.0分)程序分析题:有下列程序: public class CommandLineDemo{ public static void main(String [] args){ System.out.println(“共
有”+args.length + “个参数”); for(int i =0;i < args.length ;i ++){ System.out.println(i + “:”+ args[i]); } } } 若使用下列命令执行程序,程序输出结果如何? java CommandLineDemo /D 1024
答案
少一行扣1分共有2个参数0:/D
1:1024
961.(0.0分)创建一个元素是字符串的ArrayList对象,在其中添加若干元素。编写程序,用下面两种方法将其中每个字符串转换成大写。(1)通过索引循环访问。(2)使用迭代器。
答案
package com.boda.xy; import java.util.ArrayList; import java.util.Iterator;
public class UpperCaseDemo {
public static void main(String[] args) { ArrayList names = new ArrayList<>(); names.add(“zhang”);
names.add(“wang”);
names.add(“li”);
names.add(“zhao”);
// (1)通过索引循环访问。
for(int i = 0 ; i < names.size();i++){ String name = names.get(i); name = name.toUpperCase(); names.set(i, name);
}
System.out.println(names);
//(2)使用迭代器。
Iterator it = names.iterator(); ArrayList names2 = new ArrayList<>(); while(it.hasNext()){
String name = (String)it.next(); name = name.toUpperCase(); it.remove(); names2.add(name);
}
names.addAll(names2); System.out.println(names);
}
}
962.(0.0分)可以使用下面的公式求一元二次方程ax2+bx+c=0的两个根:
b2-4ac称为一元二次方程的判别式,如果它是正值,那么方程有两个实数根。如果它为0,方程就只有一个根。如果它是负值,方程无实根。
编写程序,提示用户输入a、b和c的值,程序根据判别式显示方程的根。如果判别式为负值,显示“方程无实根”。提示:使用Math.sqrt()方法计算数的平方根。
答案
import java.util.Scanner; public class Exercise03 {
public static void main(String[] args) { double a,b,c,discrim;
double root1,root2;
Scanner input = new Scanner(System.in); System.out.println(“请输入a,b,c的值:”);
a = input.nextDouble();
b = input.nextDouble(); c = input.nextDouble(); discrim = bb-4ac; if(discrim < 0){
System.out.println(“方程无实根”);
}else{
root1 = (-b + Math.sqrt(discrim))/(2a); root2 = (-b - Math.sqrt(discrim))/(2*a); System.out.println(“第一个根是:” + root1); System.out.println(“第二个根是:” + root2);
}
}
}
963.(0.0分)给出下面代码的输出结果。
int [] arr = new int[]{1, 3, 5, 0, 4, 6};
int [] index = new int[]{0, 1, 3, 2, 3, 4, 2, 0, 0, 5, 5}; String tel = " " ;
for (var i : index){ tel += arr[i];
}
System.out.println(“电话:” + tel);
答案
输出结果如下:
电话: 13050451166
964.(0.0分)编写语句完成: (1) 创建一个含10个double型值的数组。 (2) 将5.8赋值给数组中最后一个元素。 (3) 显示数组前2个元素的和。 (4) 编写循环计
算数组中所有元素的和。 (5) 编写循环找出数组的最小值。 (6) 随机产生一个下标,然后显示该下标所对应的数组元素。 (7) 使用数组初始化语法创建另一个初始值为3.5、5.5、4.52和6.6的数组。
答案
语句如下:
(1) double[] arr = new double[10]; (2) arr[9] = 5.8;
(3)System.out.println(arr[0] + arr[1]);
(4)double sum =0;
for(var i= 0; i < arr.length;i++){ sum = sum + arr[i];
}
System.out.println(sum);
(5)double min =arr[0];
for(var i= 1; i < arr.length;i++){ if(arr[i] < min;
min = arr[i];
}
System.out.println(min);
(6)int index = (int)(Math.random()*arr.length); System.out.println(arr[index]);
(7) double arr2 = {3.5, 5.5, 4.52, 6.6};
965.(0.0分)阅读下面的程序,写出运行结果。 class Parent{ void printMe(){ System.out.println(“I am parent”); } } class Child extends Parent{ void printMe(){ System.out.println(“I am child”); } void printAll(){ super.printMe(); this.printMe(); printMe(); } } public class Test{ public static void main(String[] args){ var myC = new Child(); myC.printAll(); } }
答案
运行结果如下:
I am parent I am child
I am child
966.(0.0分)给出下面程序的运行结果。 public class VarargsDemo{ public static void main(String[] args){ System.out.println(largest(12,- 12,45,4,345,23,49)); System.out.println(largest(-43,-12,-705,-48,-3)); } private static int largest(int … numbers){ int currentLargest = numbers[0]; for(int number:numbers){ if(number > currentLargest){ currentLargest = number; } } return currentLargest; } }
答案
输出结果如下:
345
-3
967.(0.0分)编写代码随机生成5个1000到2000(不包含)之间的double型数,要求打印输出时保留4位小数。
答案
package com.boda.xy; public class Exercise06 {
public static void main(String[] args) { for(var i = 0; i < 5; i++) {
double d = Math.random()*1000+1000; System.err.printf(“%10.4f%n”,d);
}
}
}
968.(0.0分)编程题:编程打印输出Fibonacci数列的前20个数。Fibonacci数列是第一和第二个数都是1,以后每个数是前两个数之和,用公式表示为: f1 = f2
= 1, fn = fn-1 + fn-2 (n >= 3)。要求使用数组存储Fibonacci数。
答案
public class Fibonacci{
public static void main(String[] args){ long f1 = 1, f2 = 1;
for(int i = 1; i < 10; i++){ System.out.print(f1 + " "+ f2 + " " ); f1 = f1 + f2;
f2 = f1 + f2;
}
}
}
969.(0.0分)根据下面要求编写语句。 (1) 产生一个随机整数i,使得0≤i<20。 (2) 产生一个随机整数i,使得10≤i<20。 (3) 产生一个随机整数i,使得
0≤i≤50。 (4) 编写一个表达式,随机返回0或者1。
答案
(1)(int)(Math.random()*20)。
(2)(int)(Math.random()*10 +10)。
(3)(int)(Math.random()*51)。
(4)(int)(Math.random()*2)。
970.(0.0分)分析并给出下列程序的运行结果。 public class Test{ public static String output = “”; public static void foo(int i){ try { if(i == 1){ throw new Exception(); } output += “1”; }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 = "+output); } }
答案
程序输出:output = 13423
971.(0.0分)假设A是一个接口,可以使用如下语句声明一个类型A的引用变量x吗? A x;
答案
可以,接口是一种类型。
972.(0.0分)编写程序,显示从一副52张的扑克牌中随机选择的4张牌,如图所示。牌的图像文件命名为1.png,2.png,…,52.png,并保存在images/card
目录下。4张牌都是不同的且是随机选取的。
答案
package com.boda.xy; import java.awt.GridLayout;
import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel;
import javax.swing.SwingConstants; import javax.swing.SwingUtilities; import javax.swing.UIManager;
public class Exercise05 extends JFrame {
JLabel[] label = { new JLabel(“”, SwingConstants.CENTER), new JLabel(“”, SwingConstants.CENTER),
new JLabel(“”, SwingConstants.CENTER), new JLabel(“”, SwingConstants.CENTER) }; public Exercise05() {
setLayout(new GridLayout(1, 4)); // 设置布局管理器
int[] deck = new int[52];
// 初始化每一张牌
for (int i = 0; i < deck.length; i++) deck[i] = i;
// 打乱牌的次序
for (int i = 0; i < deck.length; i++) {
// 随机产生一个元素下标0~51
int index = (int) (Math.random() * deck.length); int temp = deck[i]; // 将当前元素与产生的元素交换deck[i] = deck[index];
deck[index] = temp;
}
// 显示输出前4张牌
ImageIcon[] cards = new ImageIcon[4]; for (int i = 0; i < 4; i++) {
cards[i] = new ImageIcon( “images\card\” + (deck[i] + 1) + “.png”); label[i].setIcon(cards[i]);
add(label[i]);
}
setTitle(“任意抽取4张牌”); setSize(350, 150); setLocationRelativeTo(null); setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) { try {
UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
}
SwingUtilities.invokeLater(new Runnable() { public void run() {
new Exercise05();
}
});
}
}
973.(0.0分)定义一个类,类中包含私有数据成员和私有方法。在这个类中定义一个内部类,内部类中定义一个方法修改外部类的数据成员值,并调用外部类的私有方法。在外部类的公共静态方法中创建内部类对象,并调用内部类的方法。
答案
package com.boda.xy; public class OuterClass{
private Integer x = 100; private void show(){
System.out.println("x = " + x);
}
class InnerClass{ // 局部内部类
public void method(){
x = 500; // 修改外部类的成员值
show(); // 调用外部类的方法
}
}
public static void display(){
//这里必须通过外部类引用创建内部类实例OuterClass oc = new OuterClass(); InnerClass ic = oc.new InnerClass(); ic.method();
}
public static void main(String[] args){ display();
}
}
974.(0.0分)写程序,要求从上题得到的out.dat文件中读出100个整数,程序中按照从小到大的顺序对这100个数排序,在屏幕上输出。读数据使用
DataInputStream的readInt()方法。
答案
package com.boda.xy; import java.io.*; import java.util.Arrays;
public class Exercise04{
public static void main(String args[]) throws IOException{ try(
FileInputStream fis = new FileInputStream(“out.dat”); BufferedInputStream bis = new BufferedInputStream(fis); DataInputStream dis = new DataInputStream(bis);
){
int data[] = new int[100]; for(int i =0;i<100;i++){
data[i]=dis.readInt();
}
Arrays.sort(data); // 升序排序
for(var n : data) { System.out.println(n);
}
}
System.out.println(“读取数据完成!”);
}
}
975.(0.0分)程序分析题:给出并分析下列程序的运行结果。 public class Test{ public static String output = “”; public static void foo(int i){ try { if(i
== 1){ throw new Exception(); } output += “1”; }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 = "+output); } }
答案
output = 13423 缺少output=扣1分,结果中包含两个3给2分
976.(0.0分)如果子类中的一个方法具有和它父类中的方法完全相同的方法签名,但返回值类型不相同,这会存在问题吗?
答案
发生编译错误,那既不是方法覆盖,也不是方法重载。
977.(0.0分)为什么运行下面代码会抛出NullPointerException异常?
public class Test{
private String message; public Test(String s){
var message = s;
}
public static void main(String[] args){ var test = new Test(“ABCD”);
System.out.println(test.message.toLowerCase());
}
}
答案
因为创建Test类实例时并没有为成员message初始化。Test构造方法中只是声明了一个局部变量并对其初始化。
978.(0.0分)关于Java程序的main()方法,回答下面问题。 (1)说明main()方法声明中各部分的含义。 (2)public static void main(String[]args)写成
static public void main(String[]args)会怎样? (3)public static void main(String[]args)写成 public void main(String args)会怎样?
答案
(1)main()方法各部分含义:
public表示方法访问修饰符,是公共的。static表示方法是静态方法,用类名调用。void是方法的返回值,它没有返回值。
String[]args是方法的参数,参数是字符串数组。
(2)程序没有错误,正常运行,即public和static可以互换。
(3)运行时产生错误。
979.(0.0分)在输入流(FileInputStream和DataInputStream)中如何判断是否已经到达文件末尾?
答案
可以通过读出的数据是否是-1判断,也可以通过流对象的available()方法判断。
980.(0.0分)下面代码的输出是什么?
var s = “Welcome to Java”; var s2 = s.replace(“o”,“abc”); System.out.println(s); System.out.println(s2);
答案
输出结果如下:
Welcome to Java Welcabcme tabc Java
981.(0.0分)编写程序,其外观是一个窗口,其中放置一个文本区(JTextArea),下方放置3个按钮,3个按钮名分别为“确定”、“取消”、“退出”,鼠标点击前两个按钮,在文区中显示按钮上文字,点击“退出”按钮,关闭并退出程序。
答案
package com.boda.xy; import java.awt.; import java.awt.event.; import javax.swing.*;
public class Exercise04 extends JFrame implements ActionListener { private JButton ok = new JButton(“确定”),
cancel = new JButton(“取消”),
exit = new JButton(“退出”); private JPanel jp = new JPanel();
private JTextArea jta = new JTextArea(); private JScrollPane jsp = new JScrollPane(jta);
public Exercise04() { jp.add(ok); jp.add(cancel); jp.add(exit);
add(jsp, BorderLayout.CENTER); add(jp, BorderLayout.SOUTH); ok.addActionListener(this); cancel.addActionListener(this); exit.addActionListener(this); setTitle(“Text Area Demo”); setSize(320, 150); setLocationRelativeTo(null); setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) { if (e.getSource() == ok) {
jta.setText(ok.getText());
} else if (e.getSource() == cancel) { jta.setText(cancel.getText());
} else if (e.getSource() == exit) { System.exit(0);
}
}
public static void main(String[] args) { try {
UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
}
SwingUtilities.invokeLater(new Runnable() { public void run() {
new Exercise04();
}
});
}
}
982.(0.0分)下面代码有什么错误? if (score >= 60.0) System.out.println(“及格”) ; else if(score >= 70.0) System.out.println(“中等”) ; else if(score >= 80.0) System.out.println(“良好”) ; else if(score >= 90.0) System.out.println(“优秀”) ; else System.out.println(“不及格”) ;
答案
使用if~else if结构时需要保证if条件和else if条件不要有包含关系,这里的代码if(score >=60)就包含了else if(score >=70),因此不构成else条件,是错误的。对这个问题,正确的写法有多种,下面是其中一种。
if (score >= 90.0) System.out.println(“优秀”) ;
else if(score >= 80.0)
System.out.println(“良好”) ; else if(score >= 70.0)
System.out.println(“中等”) ; else if(score >= 60.0)
System.out.println(“及格”) ; else
System.out.println(“不及格”) ;
983.(0.0分)使用下面的语句创建File对象时,错在哪里? var myFile = new File(“C:\study\test.dat”);
答案
在Windows系统中指定文件分隔符应该用两个反斜杠(\)。
984.(0.0分)下面代码有什么错误?
import java.io.*; public class Test{
public static void main(String []args){ try(
var fis = new FileInputStream(“test.dat”);
){
System.out.println(fis.read());
}catch(IOException ex){ ex.printStackTrace();
}catch(FileNotFoundException ex){ ex.printStackTrace();
}
}
}
答案
FileNotFoundException是IOException的子类,应该放在前面捕获。
985.(0.0分)如何将一个数值型字符串转换为一个double值?如何将一个double值转换为字符串?
答案
将一个数值型字符串转换为一个double值,使用包装类型Double.parseDouble()方法,将一个double值转换为字符串使用String.valueOf()方法。
986.(0.0分)写出下列程序的输出结果。 public class Foo{ public static void method(int i){ try{ if(i > 0){ return; }else{ System.exit(1); } } finally{ System.out.println(“Finally”); } } public static void main(String[] args){ method(5); method(-5); } }
答案
程序输出:Finally
987.(0.0分)可以使用注解类型标注的程序元素有哪些?
答案
可以使用注解类型标注的程序元素有Java包、类型(类、接口、枚举)、构造方法、方法、成员变量、参数及局部变量。
988.(0.0分)从键盘输入一个百分制的成绩,输出五级制的成绩,如输入85,输出“良好”,要求使用switch结构实现。
答案
import java.util.Scanner; public class Exercise02{
public static void main(String[] args){ Scanner input = new Scanner(System.in);
System.out.print(“请输入成绩:”); double score = input.nextDouble() ;
String grade = “”;
if(score >100 || score <0){ System.out.println(“输入的成绩不正确。”); System.exit(0); // 结束程序运行
}else{
int g = (int)score /10; switch(g){
default -> grade = “不及格”; case 10,9 -> grade = “优秀”; case 8 -> grade = “良好”; case 7 -> grade = “中等”; case 6 -> grade = “及格”;
}
}
System.out.println(“你的成绩为:” + grade);
}
}
989.(0.0分)编写程序,定义一个名为Swimmable(可游泳的)的接口,其中包含void swim()方法,定义另一个名为Flyable(可飞的)的接口,其中包含void fly()方法。
定义一个名为Animal的抽象类,其中包含一个void eat()的抽象方法。定义一个名为WildDuck(野鸭)的类实现上述两个接口,并继承Animal类。
编写main()方法,在其中创建一个WildDuck实例,调用它的各种方法。将WildDuck实例分别赋值给一个Swimmable引用、Flyable引用和Animal引用,测试 通过这些引用能否调用相应接口或抽象类中定义的方法。
答案
package com.boda.xy;
public interface Swimmable { void swim();
}
public interface Flyable { void fly();
}
public abstract class Animal{ public abstract void eat();
}
public class WildDuck implements Swimmable,Flyable{ @Override
public void swim(){ System.out.println(“I can swim.”);
}
@Override public void fly(){
System.out.println(“I can fly.”);
}
@Override
public void eat(){ System.out.println(“I can eat.”);
}
public static void main(String[]args){ WildDuck d = new WildDuck(); d.swim();
d.fly();
Swimmable s = d; // 自动类型转换
s.swim(); //调用实现类的swim()方法Animal a = d;
a.eat();
}
}
990.(0.0分)试说明实例变量和类(静态)变量的主要区别,实例方法和类(静态)方法的区别。
答案
没有使用static修饰的成员称为实例成员,使用static修饰的成员称为类成员。实例成员必须使用实例变量访问,类成员属于类,既可以通过类名访问,也可以通过对象名访问。
991.(0.0分)【编程题】使用下面的格式编写一个方法,统计参数字符串中包含字母的个数。 public static int countLetters(String s) 例如,按如下调用该方法将输出7. System.out.println(countLetters(“Beijing 2022”));
答案
public static int countLetters(String s){ // 2分int n = 0;
for(int i = 0;i < s.length();i++){ //2 分
char c = s.charAt(i);
if( c >= ‘a’ && c <= ‘z’ || c >=‘A’ && c <= ‘Z’) // 2分n = n + 1;
}
return n; // 2分
}
992.(0.0分)给定本章6.4节图6-7所示的两个包com.boda.xy和org.demo.ab的结构,其中A、B、C类属于com.boda.xy包,D和E类属于org.demo.ab包, 箭头表示继承关系。
根据图中给出的包和类的定义。假设A类的定义如下,请编写代码验证A类中的4个成员和4个方法在其他类中的可见性。
答案
package com.boda.xy; public class B extends A{
public void display() {
//System.out.println(a); System.out.println(b); System.out.println©; System.out.println(d);
//methodA(); methodB(); methodC(); methodD();
}
}
package com.boda.xy; public class C {
A a = new A();
public void display() {
//System.out.println(a.a); System.out.println(a.b); System.out.println(a.c); System.out.println(a.d);
//a.methodA(); a.methodB();
a.methodC();
a.methodD();
}
}
package org.demo.ab; import com.boda.xy.A; public class D extends A{
public void display() {
//System.out.println(a);
//System.out.println(b); System.out.println©; System.out.println(d);
//methodA();
//methodB(); methodC(); methodD();
}
}
package org.demo.ab; import com.boda.xy.A; public class E {
A a = new A();
public void display() {
//System.out.println(a.a);
//System.out.println(a.b);
//System.out.println(a.c); System.out.println(a.d);
//a.methodA();
//a.methodB();
//a.methodC(); a.methodD();
}
}
993.(0.0分)定义一个名为Person的类,其中含有一个String类型的成员变量name和一个int类型的成员变量age,分别为这两个变量定义访问方法和修改方 法,另外再为该类定义一个名为speak的方法,在其中输出其name和age的值。编写程序,使用上面定义的Person类,实现数据的访问、修改。
答案
package com.boda.xy; public class Person {
String name; int age;
public void setName(String name){ this.name = name;
}
public String getName(){ return name;
}
public void setAge(int age){ this.age = age;
}
public int getAge(){ return age;
}
public void speak(){ System.out.println(“姓名:”+name); System.out.println(“年龄:”+age);
}
public static void main(String[]args){ Person p = new Person(); p.setName(“张大海”); p.setAge(20);
p.speak(); System.out.println(p.getName()); System.out.println(p.getAge());
}
}
994.(0.0分)编写程序,从一副52张的牌中选出4张,然后计算它们的和。A、J、Q和K分别表示1、11、12和13。程序应该显示得到和为24的选牌次数。
答案
package com.boda.xy; public class Exercise09{
public static void main(String[] args) { int []cards = new int[52];
for(int i = 0; i < 52; i++){ cards[i] = i;
}
int sum = 0, count = 0; while(sum!=24){
// 打乱牌的次序
for(int i =0; i<cards.length;i++){
// 随机产生一个元素下标0~51
int index = (int)(Math.random()*cards.length); int temp = cards[i]; // 将当前元素与产生的元素交换cards[i] = cards[index];
cards[index] = temp;
}
// 取4张牌
sum = 0;
for(int i = 0; i < 4; i++){
sum = sum + cards[i]%13 + 1;
}
count ++;
}
System.out.println(sum); System.out.println(count);
}
}
995.(0.0分)什么是单一继承?什么是多重继承?Java支持多重继承码?
答案
单继承是指一个类至多只有一个超类,多重继承是指一个类可有多个超类。Java的类不支持多继承,但接口支持多继承。
996.(0.0分)将下面的for循环语句转换为while循环和do-while循环。 long sum = 0; for(int i = 0; i <= 1000; i++) sum = sum + i;
答案
转换为while循环如下:和do-while循环。
long sum = 0; int i = 0;
while(i <= 1000){ sum = sum + i;
i++;
}
转换为do-while循环如下:
long sum = 0; int i = 0;
do{
sum = sum + i; i++;
}while(i <= 1000);
997.(0.0分)编写布尔表达式,当年龄age大于13且小于16时结果为true。
答案
if(age > 13 && age <16){ result = true;
}
998.(0.0分)使用ObjectOutputStream可以存储什么类型的对象?使用什么方法写入对象?使用什么方法读取对象?从ObjectInputStream读取对象的方法 返回值类型是什么?
答案
可以存储实现Serializable接口的对象。写入对象用writeObject()方法,读取对象用readObject()方法,该方法的返回值类型是Object。
999.(0.0分)给出下面程序执行之后,文件temp.txt的内容。 import java.io…*; public class Test{ public static void main(String[]args) throws IOException{ var output = new PrintWriter(“temp.txt”); output.printf(“amount is %f %e\r%n”, 32.32, 32.32); output.printf(“amount is %5.4f
%5.4e\r%n”, 32.32, 32.32); output.printf(“%6b\r%n”, (1>2)); output.printf(“%6s\r%n”, “Java”); output.close(); } }
答案
temp.txt文件的内容如下:
amount is 32.320000 3.232000e+01 amount is 32.3200 3.2320e+01 false
Java
1000.(0.0分)有如下类的定义,若要在main()方法中创建MyInner类的一个实例并调用该实例的seeOuter()方法,如何编写代码?
public class MyOuter { private int x = 7;
public void makeInner() { MyInner in = new MyInner(); in.seeOuter();
}
class MyInner {
public void seeOuter() { System.out.println("Outer x is " + x);
}
}
public static void main(String[] args){
// 创建MyClass一个实例并调用它的seeOuter()方法
}
}
答案
main()方法中代码如下:
MyOuter outer = new MyOuter(); MyInner inner = outer.new MyInner();
// MyInner inner = new MyOuter().new MyInner(); inner.seeOuter();
1001.(0.0分)开发与运行Java程序需要经过哪些主要步骤和过程,用到哪些工具?
答案
开发Java程序通常分三步:编写源程序;编译源程序;执行程序,得到程序输出结果。需要使用JDK,用javac.exe编译程序,用java.exe执行程序。
1002.(0.0分)写一个表达式,要求这个表达式根据x是否大于、小于或等于y,分别取值1,-1或0。
答案
if(x > y){ result = 1;
}else if(x < y){ result = -1;
}else{
result = 0;
}
1003.(0.0分)抽象类中能否定义静态变量和静态方法?
答案
抽象类可以定义静态变量和静态方法,并且可被子类继承。
1004.(0.0分)给出以下代码的输出结果。
int a = 1,b = 2,c = 3;
boolean u = (a >= --b||b++<c–) && b==c; System.out.println(u);
答案
false。
1005.(0.0分)定义类时如果没有指定类继承哪个类,那它是哪个类的子类?
答案
定义类时没有指定类继承哪个类,它是java.lang.Object类的子类。
1006.(0.0分)给出下面表达式的返回值。 (1) Math.toDegrees(Math.PI / 2) (2) Math.exp(1) (3) Math.pow(2 , 4) (4) Math.sqrt(25.0) (5)
Math.round(-2.6) (6) Math.min(Math.abs(-2.4), 2.6)
答案
返回值如下:
(1) 90.0
(2) 2.718281828459045
(3) 16.0
(4) 5.0
(5) -3
(6) 2.4
1007.(0.0分)能否从静态方法中调用实例方法或引用一个实例变量?能否从实例方法中调用静态方法或引用一个静态变量?下面代码错在哪里?
public class StaticDemo{ Employee e = new Employee(); public void method1(){ method2();
}
public static void method2(){ System.out.println(e.getSalary());
}
public static void main(String[]args){ method1();
}
}
答案
不能从静态方法中调用实例方法或引用一个实例变量。能从实例方法中调用静态方法或引用一个静态变量。 下面代码错在哪里?
System.out.println(e.getSalary()); 不能在静态方法中使用实例变量e。method1();
不能在静态方法中调用实例方法。
1008.(0.0分)编写程序,随机生成20个两位整数,将它们分别添加到HashSet对象和TreeSet对象中。
(1)使用增强的for循环访问集合中的每个元素。
(2)使用Iterator迭代器访问集合中的每个元素。为什么集合中的元素不是20个?
答案
package com.boda.xy; import java.util.*;
public class Exercise05{
public static void main(String args[]){ int elem[]= new int[20];
HashSet hs=new HashSet<>(); TreeSet ts=new TreeSet<>();
for(int i=0;i<20;i++){ elem[i]=(int)(Math.random()*90+10); hs.add(elem[i]);
ts.add(elem[i]);
}
for(Integer n : hs) { System.out.print(n + " ");
}
System.out.println(); Iterator it = ts.iterator(); while(it.hasNext()){
Integer n = (Integer)it.next(); System.out.print(n + " ");
}
}
}
1009.(0.0分)编写程序,计算并输出所有的水仙花数。水仙花数是这样的三位数,它的各位数字的立方和等于这个三位数本身,例如371=3
3
+7
3
+1
3
,371就是一个水仙花数。
答案
Public class Narcissus{
public static void main(String[]args){
for(int i = 100; i < 1000; i++){ // 2分
int a = i %10; // 下面三行2分
int b = (i / 10)%10; int c = i / 100;
if(aaa+bbb+ccc==i) // 4分System.out.println(i);
}
}
}
//不要求类名和变量名定义与答案一致,用其他方法求出3个数,可给满分。
1010.(0.0分)程序分析题:写出下列程序的运行结果。 public class ArrayDemo{ public static void main(String[] args){ int a[][] = new int[4][]; a[0]
= new int[1]; a[1] = new int[2]; a[2] = new int[3]; a[3] = new int[4]; int i, j, k = 0; for(i = 0; i < 4 ; i++) for(j = 0; j < i+1; j++){ a[i][j] = k;
k++; } for(i = 0; i < 4; i++){ for(j = 0; j < i+1; j++) System.out.print(a[i][j]+" "); System.out.println(); } } }
答案
若答案格式与结果不同,扣1分,缺少行可酌情扣分。
0
1 2
3 4 5
6 7 8 9
1011.(0.0分)如果一个类实现了Comparable接口,那么该类的对象可以调用compareTo()方法。这种说法是否正确?
答案
正确。类实现Comparable接口,它必须实现compareTo()方法,所以可以调用。
1012.(0.0分)编写一条语句,将47°转换为弧度值,并将结果赋给一个变量。
答案
语句如下:
double d = Math.toRadians(47);
1013.(0.0分)指出并修改下面程序的错误之处。 public class Test{ public static void main(String[] args){ int i = k + 50; System.out.println(k); } }
答案
k没有声明并初始化。int k =0;
1014.(0.0分)如果试图为一个不存在的文件创建FileInputStream对象,会发生什么?如果试图为一个已经存在的文件创建一个FileOutputStream对象,会 发生什么?能够将数据追加到一个已存在的文件中吗?
答案
会发生FileNotFoundException异常、原文件内容被覆盖、可以。
1015.(0.0分)给出下面程序运行结果。 public class Test { public static void swap(int[] a){ int temp = a[0]; a[0] = a[1]; a[1] = temp; } public static void main(String[]args){ int[] a = {1, 2}; swap(a); System.out.println(“a[0]=”+a[0]+“,a[1]=”+a[1]); } }
答案
输出结果如下:
a[0]=2,a[1]=1
1016.(0.0分)给出以下代码的输出结果。
float f = 12.5F ; int n = (int)f ;
System.out.println(f - n) ; System.out.println(n) ;
答案
输出0.5、12。
1017.(0.0分)设计一个Position类,该类有x和y两个成员变量表示坐标。要求该类实现Comparable接口的compareTo()方法,实现比较两个Position对象到 原点(0,0)的距离之差。
答案
package com.boda.xy;
public class Position implements Comparable{ private int x;
private int y; public Position(){}
public Position(int x, int y){ this.x = x;
this.y = y;
}
public void setX(int x){ this.x = x;
}
public void setY(int y){ this.y = y;
}
public int getX(){return x;} public int getY(){return y;}
//实现compareTo()方法
public int compareTo(Position obj){ Position pos = (Position)obj;
double dist1 = Math.sqrt(xx + yy);
double dist2 = Math.sqrt(pos.x * pos.x + pos.y * pos.y); return (int)(dist1-dist2);
}
public static void main(String[]args){ Position pos1 = new Position(0,0); Position pos2 = new Position(3,4);
System.out.println(pos1.compareTo(pos2));
}
}
1018.(0.0分)分析并给出下列程序的运行结果。 package com.boda.xy; public class MultiExceptionDemo { public static void method(int value){ try{ if(value == 0){ System.out.println(“无异常发生.”); return; }else if(value == 1){ int i = 0; System.out.println(4 / i); }else if(value == 2){ int iArray[] = new int [4]; iArray[4] = 10; } }catch(ArithmeticException e){ System.out.println(“捕获到:”+e.toString());
}catch(ArrayIndexOutOfBoundsException e){ System.out.println(“捕获到:”+e.toString()); }catch(Exception e){ System.out.println(“Will not be excecuted”); }finally{ System.out.println(“执行finally块:” + value); } } public static void main(String[] args){ method(0); method(1); method(2); } }
答案
程序输出如下: 无异常发生.
执行finally块:0
捕获到:java.lang.ArithmeticException: / by zero
执行finally块:1
捕获到:java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4
执行finally块:2
1019.(0.0分)在Java I/O程序中,为什么必须在方法中声明抛出IOException异常或者在try-catch块中处理该异常?
答案
因为I/O类的多数方法声明抛出IOException异常。
1020.(0.0分)下面代码输出是什么?
public class MyClass{ boolean x;
public static void main(String[] args){ var mc = new MyClass(); System.out.print(mc.x);
}
}
答案
输出false。
1021.(0.0分)编写代码打印输出LocalDate能够表示的最大、最小日期。
答案
语句如下:
LocalDate today = LocalDate.MAX; LocalDate today2 = LocalDate.MIN;
1022.(0.0分)下面代码的输出结果是什么?解释原因。
int x = 80000000;
while (x > 0) x ++;
System.out.println("x is " + x);
答案
代码的输出结果如下:
x is -2147483648
由于int型值是有符号数,当x增大到2147483647时,再增1就变成负值。
1023.(0.0分)以下哪些语句是正确的? int i = new int(30); double []d = new double[30]; char[] r = new char(1…30); int i[] = (5, 4, 3, 2); float f[] = {2.3, 4.5, 6.6}; char[] c = new char();
答案
下面语句是正确的。
double []d = new double[30];
1024.(0.0分)编写程序,将一个字符串中的单词解析出来,然后将它们添加到一个HashSet中,并输出每个重复的单词,不同单词的个数及消除重复单词后的 列表。
答案
package com.boda.xy; import java.util.*; public class FindDups {
public static void main(String[] args) { Set uniques = new HashSet<>(); Set dups = new HashSet<>(); String message = “i came i saw i left”; String[] words = message.split(" ");
for (String a : words)
if (!uniques.add(a))
dups.add(a);
System.out.println(“不同单词的个数:” + uniques.size());
// 去掉重复的单词
uniques.removeAll(dups);
System.out.println(“不重复的单词:” + uniques); System.out.println(“重复的单词:” + dups);
}
}
六、编程题 (26题,每小题0分,共0分)
1025.(0.0分)约瑟夫(Josephus)问题
答案
public class Main{
public static void main(String args[]){ int p[]=new int[13];
for(int j=0;j<p.length;j++){ p[j]=j;
}
int n = 0; int k = 0; while(true){
for(int i=1;i<p.length;i++){ if(p[i]!=0){
n = n + 1;
if(n % 5 == 0){
p[i] = 0;
System.out.println(“p[”+i+“] is deleted.”); k = k + 1;
}
}
}
if(k==11) break;
}
for(int i=0;i<p.length;i++) if(p[i]!=0)
System.out.println(“The last one is:”+p[i]);
}
}
1026.(0.0分)矩阵的转置
答案
public class Main{
public static void printArray(int[][] array) { for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) { System.out.print(array[i][j] + " ");
}
System.out.println();
}
System.out.println();
}
public static void main(String[] args) { int[][] a = { { 1, 3, 5 }, { -3, 6, 0 },
{ 13, -5, 7 }, { -2, 19, 25 } };
int[][] transpose = new int[a[0].length][a.length];
// 求a的转置
for (int i = 0; i < transpose.length; i++) {
for (int j = 0; j < transpose[0].length; j++) { transpose[i][j] = a[j][i];
}
}
printArray(transpose);
}
}
1027.(0.0分)字符串数组
答案
public class Main{
public static void main(String args[]){ String s = “no pains,no gains”;
String[] words = s.split(“[, ]”); for(int i = 0; i < words.length; i++)
System.out.println(words[i]);
}
}
1028.(0.0分)打印出21世纪所有日期为13号并且是星期五的日期
答案
import java.time.DayOfWeek; import java.time.LocalDate; public class Main {
public static void main(String[] args) { LocalDate day = LocalDate.of(2000, 1, 1);
LocalDate lastday = LocalDate.of(2099, 12, 31); int count = 0;
while(day.isBefore(lastday)) { if(day.getDayOfMonth()==13
&& day.getDayOfWeek()==DayOfWeek.FRIDAY) { count ++;
System.err.println(day + " " + day.getDayOfWeek());
}
day = day.plusDays(1);
}
System.err.println(“13日星期五 共有 " + count + " 天”);
}
}
1029.(0.0分)程序员日是哪一天?
答案
import java.time.LocalDate; public class Main {
public static void main(String[] args) {
LocalDate pDay = LocalDate.of(2022, 1, 1).plusDays(255); System.out.println(pDay); // 2022-09-13
}
}
1030.(0.0分)圆面积
答案
import java.util.; public class Main{
public static void main(String args[]){ Scanner sc = new Scanner(System.in); try{
double radius = sc.nextDouble(); double area = Math.PIradius*radius;
System.out.printf(“area = %.2f%n”,area);
}catch(InputMismatchException e){ System.out.println(e); System.out.println(“数字格式不正确!”);
}
}
}
1031.(0.0分)返回最小值
答案
public class Main{
public static double min(double[] array){ double min=array[0];
for(int i = 1; i < array.length; i++){ if(array[i] < min)
min = array[i];
}
return min;
}
public static void main(String[] args) { double []marks = {79,84.5,63,90,98};
System.out.println(min(marks));
}
}
1032.(0.0分)求出1~1000之间的所有完全数
答案
public class Main{
public static void main(String args[]){ for(int n = 1;n <= 1000; n++){
int sum=1;
for(int k=2;k<n;k++){ if(n%k0)
sum=sum+k;
}
if(sumn) System.out.println(n);
else
continue;
}
}
}
1033.(0.0分)显示对应的二进制值
答案
import java.util.Scanner; public class Main{
public static void main(String[] args) { String s = “”;
int n;
Scanner input = new Scanner(System.in); n = input.nextInt();
while(n>0){
s = (n % 2) + s; n = n / 2;
}
System.out.println(s);
}
}
1034.(0.0分)打印九九乘法表。
答案
public class Main{
public static void main(String[] args){ for(int i = 1; i <= 9; i++){
for(int j = 1; j <= i; j++){
System.out.print(j + “×” + i +" = " + i*j + " ");
}
System.out.println(); // 换行
}
}
}
1035.(0.0分)编程打印输出Fibonacci数列的前20个数
答案
public class Main{
public static void main(String args[]){ int[] f = new int[20];
f[0]=f[1]=1;
for(int i = 2;i < f.length; i++) f[i] = f[i-1]+f[i-2];
for(int i = 0;i < f.length;i++) System.out.println(“f[”+i+"] = "+f[i]);
}
}
1036.(0.0分)判断数是奇数还是偶数。
答案
import java.util.Scanner; public class Main {
public static void main(String[] args) { int num;
Scanner input = new Scanner(System.in); num = input.nextInt();
if(num%2==0){
System.out.println( num + “是偶数”);
}else{
System.out.println( num + “是奇数”);
}
}
}
1037.(0.0分)打印输出古诗
答案
public class Main {
public static void main(String[] args) { System.out.println(“登鹳雀楼-王之涣”);
System.out.println(“白日依山尽,黄河入海流”);
System.out.println(“欲穷千里目,更上一层楼”);
}
}
1038.(0.0分)计算并输出各位数字之和
答案
import java.util.Scanner; public class Main {
public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = input.nextInt();
System.out.print(“各位数字之和为:”); int d1 = n%10;
int d2 = (n/10)%10; int d3 = n / 100;
System.out.print(d1+d2+d3);
}
}
1039.(0.0分)统计一个字符串中包含字母的个数
答案
public class Main {
public static int countLetters(String s) { int n = 0;
for (int i = 0; i < s.length(); i++) { char c = s.charAt(i);
if (c >= ‘a’ && c <= ‘z’ || c >= ‘A’ && c <= ‘Z’) n = n + 1;
}
return n;
}
public static void main(String[] args) { int n = countLetters(“Beijing 2008”); System.out.println(n);
}
}
1040.(0.0分)显示从100到1000之间所有能被5和6整除的数
答案
public class Main {
public static void main(String[] args) { int count = 0;
for(int n =100; n <=1000; n++){ if(n % 50 && n%60){ count ++;
if(count%10==0){ count = 0; System.out.println(n);
}else{
System.out.print(n + " ");
}
}
}
}
}
1041.(0.0分)计算并输出圆柱的体积。
答案
import java.util.Scanner; public class Main{
public static void main(String[]args){ Scanner sc = new Scanner(System.in); double radius = sc.nextDouble(); double height = sc.nextDouble();
System.out.printf(“圆柱的体积:%8.2f”, Math.PIradiusradius*height);
}
}
1042.(0.0分)编写程序,按数位逆序输出
答案
import java.util.Scanner; public class Main {
public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = input.nextInt();
System.out.print(“该数的逆序数是:”); System.out.print(n%10);
System.out.print(n/10);
}
}
1043.(0.0分)计算所有元素的和、最大值、最小值及平均值
答案
import java.util.Scanner; public class Main{
public static void main(String[]args){ int[] a= new int[5];
int sum, max, min; double avg = 0;
Scanner input = new Scanner(System.in); for(int i=0;i<5;i++){
a[i] = input.nextInt();
}
max = a[0];
min = a[0];
sum = a[0];
for(int i = 1;i < a.length;i++){ sum = sum + a[i]; if(a[i]>=max)
max =a [i];
if(a[i] <= min)
min = a[i];
}
avg=((double)sum)/a.length; System.out.println(“max=”+max); System.out.println(“min=”+min); System.out.println(“sum=”+sum); System.out.println(“avg=”+avg);
}
}
1044.(0.0分)选择排序法
答案
public class Main{
public static void main(String[] args) { int[] numbers ={5,2,8,4,9,1,12,-33};
System.out.println(“排序之前:”); for(int num:numbers){
System.out.print(num+" “);
}
//选择排序
for(int i = 0; i < numbers.length - 1; i++) {// 做第i趟排序
int k = i;
for(int j = k + 1; j < numbers.length; j++){// 选最小的记录
if(numbers[j] <numbers[k]){
k = j; //记下目前找到的最小值所在的位置
}
}
//在内层循环结束,也就是找到本轮循环的最小的数以后,再进行交换if(i != k){ //交换a[i]和a[k]
int temp = numbers[i]; numbers[i] = numbers[k]; numbers[k] = temp;
}
}
System.out.println(); System.out.println(“排序后:”); for(int num:numbers){
System.out.print(num+” ");
}
}
}
1045.(0.0分)计算表达式的值
答案
import java.util.Scanner; public class Main {
public static void main(String[] args) { double a,b,c;
double root;
Scanner input = new Scanner(System.in); a = input.nextDouble();
b = input.nextDouble(); c = input.nextDouble();
root = (-b + Math.sqrt(bb-4ac))/(2a); System.out.println(“方程的一个根是:” + root);
}
}
1046.(0.0分)计算9876543210123456789乘以9876543210123456789的结果。
答案
import java.math.*; public class Main{
public static void main(String[]args){
BigInteger a = new BigInteger (“9876543210123456789”); BigInteger b = new BigInteger (“9876543210123456789”); BigInteger c = a.multiply(b);
System.out.println©;
}
}
1047.(0.0分)编写程序,计算加法
答案
public class Main {
public static void main(String[] args) { System.err.println(1+3+5+7+9);
}
}
1048.(0.0分)计算各位数字之和
答案
import java.util.Scanner; public class Main{
public static void main(String[] args) { Scanner input = new Scanner(System.in); int n,sum = 0;
n = input.nextInt(); while(n > 0){
sum = sum + n%10; n = n / 10;
}
System.out.println(“各位数字之和为:” + sum);
}
}
1049.(0.0分)统计字符串
答案
import java.util.Scanner; public class Main{
public static void main(String[] args) { String s;
Scanner input = new Scanner(System.in); s = input.nextLine();
System.out.println(“字符串长度:”+ s.length()); System.out.println(“第一个字符是:”+ s.charAt(0)); System.out.println(“最后一个字符是:”+ s.charAt(s.length()-1)); System.out.println(“大写形式:”+ s.toUpperCase());
}
}
1050.(0.0分)转换温度制式
答案
import java.util.Scanner; public class Main{
public static void main(String[] args){ Scanner input = new Scanner(System.in); double fahrenheit;
fahrenheit = input.nextDouble();
double celsius = (5.0/9) * (fahrenheit -32); System.out.println(“Fahrenheit is :” + fahrenheit); System.out.println(“Celsius:” + celsius);
}
}
C.
版权归原作者 菜鸟-宇的个人博客 所有, 如有侵权,请联系我们删除。