CoreJava测试题
班级:____ 姓名:____ 分数:____
一、单选题
1.J2SE作为一种应用和开发环境,提供了一整套实用工具,其中()是Java语言的编译工具。(D)
A.java
B.javadoc
C.javap
D.javac
2.Java中,以下循环语句的执行次数是(C)。
int x=37;
int y=3;
while(y<=x){
y*=y;
}
A.0
B. 1
C. 2
D. 3
3.下面Java程序的输出结果是(C)。
public static void main(String[] args){
final int A=4;
int a=2;
switch(a*2){
case A : System.out.print (a);
default : System.out.println(a*2);
}
}
A. 2
B. 4
C.24
D.报错
4.Java中,类Test定义如下:
class Test{
int m;
public static void fun(),…-
}
如果希望fun()方法能够引用成员变量m,那么需要将第2行代码改为(C)。
A.protected int m;
B.public int m;
C.static int m;
D.private int m;
5.任何一个Java程序都默认引入了一个包,这个包名是(A)。
https://www.doczj.com/doc/f92137389.html,ng
B.java.object
C.java.util
D.java.io
6.Java中默认的处理异常方法为(A)。
A.显示异常信息,停止程序运行
B.显示异常信息,不停止程序运行
C.不显示异常信息,但停止程序运行
D.什么都不做
7.Java中,欲构造ArrayList类的一个实例,此类继承了List接口,下列正确的方法是(B)。
A.ArrayList myList = new Object();
B.List myList = new ArrayList();
C.ArrayList myList = new List();
D.List myList = new List();
8.Java中,在任何方法返回前,绝对要执行的代码应放在(C)块中。
A.try
B.catch
C.finally
D.throws
9.Java 中,下列哪个方法声明是正确的(C)。
A.abstract final String doItYourself(){}
B.public abstract doItYourself(){}
C.private static void doItYourself(){}
D.public abstract static void doItYourself(){}
10.下面哪个不属于不受检查异常(B)。
A.https://www.doczj.com/doc/f92137389.html,ng.ArrayIndexoutofBoundsException
B.java.io.IOException
C.https://www.doczj.com/doc/f92137389.html,ng.ArithmeticException
D.https://www.doczj.com/doc/f92137389.html,ng.ClassCastException
11.下列有关stack和queue的说法正确的是(D )。
A.stack是先进先出的集合,queue是后进后出的集合。
B.stack是先进后出的集合,queue是先进先出的集合。
C.stack是先进先出的集合,queue是后进先出的集合。
D.stack是后进先出的集合,queue是先进后出的集合。
12.在一个java源文件中,import,class,package语句的顺序是(D)。
A.Import class package
B.Package class import
C.Import package class
D.Package import class
13.byte变量的取值范围是(B)。
A.0 - 65535
B.-128 – 127
C.-256 – 255
D.0 – 32767
14.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?()
A.安全性
B.多线性
C.跨平台
D.可移植
15.下列哪个类声明是正确的?(D)。
A.abstract final class HI{···}
B.abstract private move(){···}
C.protected private number;
D.public abstract class Car{···}
16.异常包含下列那些内容?( C )。
A.程序中的语法错误
B.程序的编译错误
C.程序执行过程中遇到的事先没有预料到的情况
D.程序事先定义好的可能出现的意外情况
17.编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( A )。
A..java
B..class
C..html
D..exe
18.设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是(A)。
A. 3
B. 3. 5
C. 4
D. 5
19.不允许作为类的修饰符的是(B)。
A.public
B.private
C.static
D.final
20.在Java中,所有类的根类是(A)。
https://www.doczj.com/doc/f92137389.html,ng.Object
https://www.doczj.com/doc/f92137389.html,ng.Class
C.java.applet.Applet
D.java.awt.Frame
21.在读字符文件Employee.dat时,使用该文件作为参数的类是(D)。
A.BufferReader
B.DataInputStream
C.DataOutoutStream
D.FileInputStream
22.What will be the output when you compile and execute the following program.
public class Base{
static public void main(String[] a) {
System.out.println(6 + 6 + "(Result)");
}
}
Select most appropriate answer. (B)
A.66(Result)
B.12(Result)
C.Runtime Error.Incompatible type for +. Can't convert an int to a string.
https://www.doczj.com/doc/f92137389.html,pilation Error.Incompatible type for +. Can't add a string to an int.
23.执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的(A):
A.x[24]为0
B.x[24]未定义
C.x[25]为0
D.x[0]为空
24.执行下列代码后,哪个结论是正确的int[] s=new int[10];(D)
A.s[9] 为-1
B.s[10] 为随即数
C.s[0] 为未定义
D.s.length 为10
25.在字符串前面加上_____符号,则字符串中的转义字符将不被处理。(B)
A.@
B.\
C.#
D.%
26.下列代码哪行会出错: (C)
1) public void modify() {
2) int I, j, k;
3) I = 100;
4) while ( I > 0 ) {
5) j = I * 2;
6) System.out.println (" The value of j is " + j );
7) k = k + 1;
8) I--;
9) }
10) }
选项:
A. 4
B. 6
C.7
D.8
27.对记录序列{314,298,508,123,486,145}按从小到大的顺序进行插入排序,经过两趟排序后的结果为:
(B)
A.{314,298,508,123,145,486}
B.{298,314,508,123,486,145}
C.{298,123,314,508,486,145}
D.{123,298,314,508,486,145}
28.Given:
public class Test {
public static void main (String[]args) {
String foo = args[1];
String bar = args[2];
String baz = args[3];
System.out.println(“baz = ” + baz);
}
}
And the output:
Baz = 2
Which command line invocation will produce the output?(C)
A.java Test 2222
B.java Test 1 2 3 4
C.java Test 4 2 4 2
D.java Test 4 3 2 1
29.Which create an instance of an array? (A)
A.int[] ia = new int [15];
B.float fa = new float [20];
C.char*+ ca = “Some String”;
D.double[] oa = new double{5.5,23.3};
30.public static void main (String []args) {
int x = 4;
int j = 1;
switch (x) {
case 1: j++;
case 2: j++;
case 3: j++;
case 4: j++;
case 5: j++;
default:j++;
}
System.out.println(j + x);
}
What is the output? (D)
A.Value =2
B.Value =7
C.Value =6
D.Value =8
31.下面哪个表达式的值与数组下标量总数相等?(B)
A.m.length()
B.m.length
C.m.length()+1
D.m.length+1
32.下面的哪些声明是合法的?(A )
A.long x1 = 4990;
B.int i = 4L;
C.float f =1.1;
D.double d = 34.4;
33.选择哪个不是Java语言基本数据类型(C)
A.byte
B.Integer
C.String
D.char
34.下列描述中,哪个符合Java语言的特征(A)
A.支持跨平台(Windows,Linux,Unix等)
B.支持对地址操作
C.支持类C的指针运算操作
D.不支持与其它语言书写的程序进行通讯
35.given:
1. public class Test {
2. public static void main(String[] args) {
3. int age = 12;
4. add(age);
5. System.out.println(age);
6. }
7. public static int add(int age) {
8. int result= age + 10;
9. return result;
10. }
11.}
编译并运行上面的代码,下面哪些说法是正确的:(D )
A.编译报错,因为第7行变量age和第3行变量age重复定义了
B.编译报错,因为第4行调用add方法时没有接受方法的返回值
C.编译成功,程序运行输出结果为:22
D.编译成功,程序运行输出结果为:12
36.public class Test {
public static void main(String[] args) {
int month = 12;
//x result = month*3528.50;
}
}
请从下面选出填写到上面代码标记的//x处,以保证程序不出错。(C)
A.int
B.long
C.double
D.float
37.运行下面代码输出结果是:(D)
public class Test {
public static void main(String[] args) {
int num = 10/4;
float num2 = 10/4;
System.out.println(num);
System.out.println(num2);
}
}
A. 2
2.5
B. 2.5
2.5
C. 2.0
2.0
D. 2
2.0
38.运行下面代码输出结果是:(A)
public class Test {
public static void main(String[] args) {
int a = 12,b =20;
if(a++==13 && ++b==21){
System.out.println("ok");
}
System.out.println("a="+a);
System.out.println("b="+b);
}
}
A.a=13
b=20
B.a=13
b=21
C.ok
a=13
b=20
D.ok
a=13
b=21
39.运行下面代码输出结果是:(B)
public class Test {
public static void main(String[] args) {
int a=1,b=2,c=3;
int res =(a++)*(++b)*(--c)+(a--)*(--b)*(c++);
System.out.println("res="+res);
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println("c="+c);
}
}
A.res=12
a=1
b=1
c=4
B.res=14
a=1
b=2
c=3
C.res=4
a=0
b=3
c=3
D.res=18
a=1
b=3
c=4
40.以下关于数组的声明,哪项是错误的:(C)
A.int[] scroe;
B.int[] age=new int[3];
C.float[] pay = new float[3]{1.2f,1.1f,3.4f};
D.double[] salary = {4.5,5.5,2.1};
41.编译运行下面的代码,输出结果是:(C)
public class Test {
public static void main(String[] args) {
int[] scores = {3,2,1,5,2};
int[] bak = scores;
bak[3]=100;
System.out.println(scores[3]);
}
}
A. 1
B.0
C.100
D. 5
42.编译运行下面的代码,输出结果是:(B)
public class Test {
public static void main(String[] args) {
int i=10;
do{
i++;
}while(i<10);
System.out.println(i);
}
}
A.10
B.11
C.20
D.19
43.double d = 5/2.0;请写出d的值(B)
A. 2
B. 2.5
C. 3
D. 2.0
44.执行下面代码后,输出结果是:(C)
public class Test {
public static void main(String[] args) {
int a = 1;
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
a++;
}
}
System.out.println(a);
}
}
A. 3
B. 4
C.10
D.9
45.如下程序:
public class ArugmentTest {
static class IntA {
private int a;
public IntA(int a) {
this.a = a;
}
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
}
static public void change(int a) {
a = 3;
}
static public void change(IntA a) {
a.setA(3); }
static public void changeRef(IntA a) {
a = new IntA(9);
}
public static void main(String[] args) {
int a = 2;
change(a);
System.out.print(a);
IntA ia = new IntA(5);
change(ia); //ia的属性a的值设为3
System.out.print(ia.getA());
changeRef(ia); //对象类型传引用,还原来的对象
System.out.println(ia.getA());
}
}
在控制台上输出的是(A)。
A.233
B.333
C.259
D.339
46.程序代码:
public class ExceptionTest{
public double div(double a, double b){
try{
return a/b;
}catch(Exception e){
System.out.println(“Exception thrown”);
}finally{
System.out.println(“Release resources.”);
}
}
public static void main(String[] args){
ExceptionTest et = new ExceptionTest();
et.div(1, 2);
et.div(3.4, 0);
}
}
可能产生的结果是(A):
A.编译不成功
B.无法运行
C.程序运行输出为:
Release resources.
Exception thrown.
Release resources.
47.根据以下程序选择正确答案(C):
public class Test {
static int total = 10;
public static void main (String args []) {
new Test();
}
public Test () {
System.out.println("In test");
System.out.println(this);
int temp = this.total;
if (temp > 5) {
System.out.println(temp);
}
}
}
A.编译出错
B.运行时有异常
C.编译运行都正确
48.编译,运行下列代码后的结果是:(D)public class Test {
public static void main (String args []) {
int age;
age = age + 1;
System.out.println("The age is " + age);
}
}
A.编译,运行后没有输出
B.编译,运行后输出:The age is 1
C.能通过编译,但运行时产生错误
D.不能通过编译
49.下面那些关键字不是JAVA的关键字(B)
A.If
B.Then
C.Goto
D.while
50.声明公用的abstract方法的正确格式是(A)
A.public abstract void add();
B.public abstract void add() {}
C.public abstract add();
D.public virtual add();
二、多选题
51.Java中,下列属于合法标志符的是(AD)。
A._atm
B.2$
C.static
D.hello_1
52.Java中,下列定义正确的是(CD)。
A.char c = 'ccc’
B.float f = 0.3
C.long l = 0xfff
D.double d = 0.6E-2
53.在如下代码中,可能发生的异常有以下,除了哪一项(AB)。
public static void main(String[] args){
Integer n=Integer.parseInt(args[2]);
System.out.println(2/n);
}
A.NumberFormatException
B.ArrayIndexOutOfBoundException
C.ArithmeticException
D.ClassNotFoundException
54.哪些方法不可以使线程进入阻塞状态?(BCD)
A.sleep
B.等待IO资源
C.notify
D.wait
55.下面叙述正确的有(CD)。
A.在一个java源文件中只能定义一个class
B.在一个java源文件中只能定义一个interface
C.在一个java源文件中可以定义多个class
D.在一个java源文件中可以定义多个interface
56.Java程序中程序运行入口方法main的签名正确的有(AB)。
A.public static void main(String args[])
B.static public void main(String[] args)
C.public void static main(String[] args)
D.public void main(String args[])
57.以下属于正确的java注释有(ACD)。
A.// This is comment
B./** This is comment **/
C./** This is comment*/
D./* This is comment*/
58.以下能作为char类型的字面值的有(BD)。
A.“e”
B.‘f’
C.‘\u12’
D.‘\u0012’
59.以下返回true的表达式有(AC)。
A.“ge” == “ge”
B.“ge” = “ge”
C.“ge”.equals(new String(“ge”))
D.“ge” = new String(“ge”)
60.下面集合定义正确的有(BD)。
A.String strs[] = {‘a’,’b’,’c’}
B.String[] strs = {“a”,”b”,”c”}
C.String[] strs = new String{“a”,”b”,”c”}
D.String strs[] = new String[]{“a”,”b”,”c”}
E.String[] strs = new String[3]{“a”,”b”,”c”}
三、判断题
61.Java的基本类型中有String(错)
62.Java语言的标示符是不区分大小写的(错)
63.Java语言为所有的java程序自动导入包”https://www.doczj.com/doc/f92137389.html,ng”,因此java程序可以直接用”https://www.doczj.com/doc/f92137389.html,ng”
中的类和接口。位于类继承关系层次结构树的根部的类Object就在包”https://www.doczj.com/doc/f92137389.html,ng”中的类。
(对)
64.有时候为了避免引起混淆,构造方法的方法名可以不与所属类名同名。(错)
65.Java语言规定,任何一个子类的构造方法都必须调用其父类的构造方法(包括隐式调用),
并且调用父类构造方法的语句必须是子类构造方法的第一行。(对)
66.创建新的类对象用关键字new,回收无用的类对象使用关键字free。(错)
67.使用赋值号(等号)相当于创建了一个各属性与赋值实例相同的新实例。(错)
68.最终类不能派生子类,最终方法不能被覆盖。(对)
69.一个Java类可以有多个直接父类。(错)
70.数组声明并不为数组元素分配空间。(对)
四、填空题
71.Java中有(8)种基本类型,分别是boolean、long、double、int、char、float、(short)、
byte。
72.Java中有(2)种异常,分别是受检查异常、运行时异常,其中(运行时异常)不要求
程序员必须处理。
73.Java中创建线程有两种常用的方法,分别是继承自(Thread)类及实现(Runnable)接
口,要求重写或实现(run)方法。线程启动的时候调用(start)方法。
74.JFrame默认的布局管理器是(BorderLayout),JPanel默认的布局管理器是(FlowLayout).
75.获得Class对象的三种方式:(类名.class)、对象名.getClass方法和Class类的静态方法
forName。
76.(@Deprecated)标注表示方法过时。
77.对象序列化要求必须实现(Serializable)接口。
78.集合中(Map)接口的集合不是Collection接口的子接口。
79.Iterator接口的(remove)方法可以移除当前元素。
80.Map的Key是否允许为null。(是)
1. 关于Java语言的特征,描述正确的是 A. 支持跨平台(Windows,Linux,Unix等) B. GC(自动垃圾回收),提高了代码安全性 C. 支持类似C的指针运算操作 D. java语言是面向对象的语言 解答:ABD 范围:corejava 难度:3 2.下列表达式正确的是 A. byte b=128; B. boolean b=null; C. long a = 2147483648L; D. float f=0.9239; 解答:C 3.下列不属于java标识符的是 A.HelloWorld B._HelloWorld C. $HelloWorld D. HelloWorld3 E. 3HelloWorld 解答:E 4. 下列代码的运行结果是: public class SwitchTest { public static void main (String []args) { System.out.println (“value =” +switchIt(4)); } public static int switchIt(int x) { int j = 1; switch (x) { case 1: j++;
case 2: j++; case 3: j++; case 4: j++; case 5: j++; default:j++; } return j + x; } } A. Value =3 B. Value =4 C. Value =5 D. Value =6 E. Value =7 F. Value =8 解答:F 5. 以下程序的输出结果为: public class test { public static void main(String args[]) { int x=1,y=1,z=1; if (x--==1&&y++==1||z++==1) System.out.println("x="+x+",y="+y+",z="+z); } } A. x=0,y=2,z=1 B. x=1,y=2,z=1 C. x=0,y=1,z=1 D. x=0,y=2,z=2 解答:A #6. 下面的程序没有编译错误的是:
第二章 注意问题: main函数是Java应用程序执行的入口。 (int)23.7结果为23 (int)-45.89f结果为-45 +”除字符串相加功能外,还能把非字符串转换成字符串,如:“x”+123;的结果是“x123”。 如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。但被模数是负数就另当别论了 1,三元运算符 class TernaryOp { public static void main(String args[]) { int salary,daysPresent = 30; salary = daysPresent == 20 ? 2000 : 3000; System.out.println("您本月薪资为 $"+salary); } } 2,编写一个程序,这个程序从键盘上输入2个数,然后求这2个数的和,程序结束。 提示:调用System.in.read();可以读取到一个从键盘上输入字符对应的整数。通过这个程序,你一定能体会到在什么 import java.io.*; public class Ch1 { public static void main(String[] args) throws IOException{ BufferedReader ke =new BufferedReader(new InputStreamReader(System.in)); String x; int p,q,m; System.out.print("请输入第一个数"); x=ke.readLine(); p=Integer.parseInt(x); System.out.print("请输入第二个数"); x=ke.readLine(); q=Integer.parseInt(x); m=p+q; System.out.println("两个数的和为:"+m); } } 3,数组 public class Lo { public static void main(String[] args) {
CoreJavaOOP考试题 考试时间:90分钟 考试总分:100分 一、选择题(不定项选择)(22*4=88) 1. 类A,B的定义如下: class A { private int a = 100; A() { System.out.print("A()"); System.out.println(a); } } class B extends A { private int a = 200; B() { System.out.print("B()"); System.out.println(a); } } 运行下面的代码: new B(); 输出的结果是:(A )。 A. A() 100 B() 200 B. A() 200 B() 200 C. B() 200 A() 100 D. B() 200 A() 200
2.下列说法正确的是(D ) A.所有类都必须定义构造方法(构造器) B.构造方法必须初始化类的所有数据成员 C.子类定义了构造器后,不再调用父类的构造器 D.构造方法可以访问类的非静态成员 3.在Java中,哪个关键字使类不能派生子类?, (A ) A : final B : public C : private D : native 4.class Base{ static void test(){ System.out.println(“Base.test()”); } } public class Child extends Base{ static void test(){ System.out.println(“Child.test()”); } public static void main(String[] args){ Base base = new Child(); Child child = new Child(); base.test(); child.test(); } } 程序运行的结果是( C ) A.Child.test() Child.test() B.Child.test() Base.test() C.Base.test() Child.test() D.Base.test() Base.test()
公司内部Javaio流笔试题
IO 框架 Key Point * File 类 * 流的分类 * 基本字节流 * 字节过滤流 * 基本字符流、桥转换 * 字符过滤流 * 对象序列化 练习 1. (File 类)以下关于File 类说法正确的是: A.一个File 对象代表了操作系统中的一个文件或者文件夹 B.能够使用File 对象创立和删除一个文件 C.能够使用File 对象创立和删除一个文件夹 D.当一个File 对象被垃圾回收时,系统上对应的文件或文件夹也被删除2. (File 类)有如下代码: public class TestFile{ public static void main(String args[]){ File file = new File(“chp13/corejava.txt”); } } 请选择一个正确答案: A. corejava.txt 文件在系统中被创立 B. 在windows 系统上运行出错,因为路径分隔符不正确 C. corejava.txt 文件在系统中没有被创立
D. 如果corejava.txt 文件已存在,则抛出一个异常 3. (File 类)将下列代码补充完整 class TestMyFile{ public static void main(String args[]) throws Exception{ File file; //创立一个File 对象表示当前目录下的“hello.txt”文件 //判断该文件是否存在 //如果该文件存在,则输出该文件的完整路径 } } 4. (流的分类)对于FileInputStream 来说,从方向上来分,它是_________流,从数据单 位上分,它是__________流,从功能上分,它是____________流。 5. (字节流, FileInputStream)FileInputStream 有三个重载的read 方法,其中 1) 无参的read 方法返回值为___类型,表示_________________ 2) int read(byte[] bs)方法返回值表示______________,参数表示 ________________ 3) int read(byte[] bs, int offset, int len) 方法返回值表示 _______________,参数分别表示 ___________________________。 6. (FileInputStream)下面关于FileInputStream 类型说法正确的是: A.创立FileInputStream 对象是为了读取硬盘上的文件 B.创立FileInputStream 对象时,如果硬盘上对应的文件不存在,则抛出一个异常 C.利用FileInputStream 对象能够创立文件 D.FileInputStream 对象读取文件时,只能读取文本文件。
选用的题目如下: 01.数组有没有length()这个方法? String有没有length()这个方法? 数组没有length方法数组提供的获得元素个数的方式是通过访问数组的length属性String也就是字符串类型有length()用于返回字符串的字符个数也就是俗话说的字数但是字符数和字节数是不同的 int num = str.getBytes().length - str.length(); 可以得到一个字符串当中有多少个汉字 02.Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?为什么? Overload:方法重载指发生在同一类当中,方法名字相同,参数列表(类型、个数、顺序)不同的两个方法 (体现静态多态) Override:方法覆盖发生在有继承关系的两个类之间子类类型当中访问控制权限修饰符不能更严格抛出的异常种类不能更广泛 方法重载的时候可以改变返回值的类型return type maybe different 因为方法名字和参数列表一旦确定在一个类当中就可以唯一确认一个方法所以即便方法返回类型不同 也能判断出来调用的是哪个方法,因而不会出错 03.== 与equals 有何区别? == 是Java当中的运算符用于比较两个引用当中存放的内存地址也就是内存指向是否相同 或者说用于判断两个对象是否是同一个对象 equals()是Java当中所有类型的父类既Object类当中的一个方法用于任何一个子类类型 通过覆盖equals从而给这个类型提供另外一种比较规则(因为java当中没有运算符重载) 很多人看到equals就认为是比较内容的方法其实不然在Object类当中equals方法当中也是采用==实现比较 04abstract class和interface有什么区别? 抽象类当中可以定义普通的属性可以定义普通的方法(有完整方法体的方法), 抽象类依然是Object的子类类型 interface从某种意义上应当理解成为更为纯粹的抽象类当时其中只能定义抽象方法和常量 接口当中定义的变量默认就是常量接口当中定义的方法默认就是抽象方法 接口的概念没有父类换言之接口不是Object类型的子类类型 05.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)? 接口可以继承接口而且可以多重继承在继承多个接口的同时子接口等价于两个接口
Chap1Java语言基础 Key Point ●包的基本语法 ●Java语言中的标识符,命名规范 ●八种基本类型 ●基本操作符 练习 1.(标识符命名)下面几个变量中,那些是对的?那些是错的?错的请说明理由 A.ILoveJava B.$20 C.learn@java D.antony.lee E.Hello_World F.2tigers 2.(Java程序的编译与运行)假设有如下程序: package com.corejava.chp1; public class HelloWorld{ public static void main(String args[]){ System.out.println("Hello World"); } } 问: 1)假设这个代码存在hello.java文件中,那这个程序能够编译通过?为什么?如果编译不通过,应该如何改进? 2)假设这个.java文件放在C:\javafile\目录下,CLASSPATH=.,则生的.class 文件应该放在什么目录下?如何运行? 3.(操作符)有如下代码: int a=5; int b=(a++)+(--a)+(++a); 问执行完之后,b的结果是多少? 4.(基本类型的运算)一家商场在举行打折促销,所有商品都进行8折优惠。一位程序员把这个逻辑写成: short price=...;//先计算出原价 short realPrice=price*8/10;//再计算出打折之后的价格
问:这段代码是否正确?如果正确,假设price为100,那计算之后的realPrice 值为多少?如果不正确,应该怎么改正? 5.(操作符)有如下代码: a=(a>b)?a:b; 请问这段代码完成了什么功能? 6.(表达式)int n,请用表达式表示n的个位数,十位数,百位数 7.(表达式)int a,b;请用表达式判断b是不是a的因子 8.(表达式)*double d;用表达式表示d四舍五入后的int结果 9.(表达式)*某商场促销,满百减四十,商品原价int a,请用表达式表示实际销售价格。如:商品原价230元,实际销售价格为230-80=150元。 10.(表达式)*某市出租车起步价10元,3公里后开始计价,30公里以内每公里2元,超出30公里的部分每公里3元,定义公里数n,计算最终应支付多少元。 11.(表达式)*某项查询执行之后,n条结果,每页显示m条,第i页显示第几条到第几条? 12.(表达式)**int a,b请写出3条语句,让a和b交换值(请至少找出三种做法)
考试一 试题类型:不定项选择题 试题1指出下面语句编译错误的是() A. byte b=128; B. boolean flag=null; C. long a = 2147483648L; D. float f=0.9239; 试题2完成代码计算10的阶乘并输出,应该填入的代码是()… … long result = 1; for(int i = 2; i <= 10; i++) { < 填入代码 > } System.out.println("result= " + result); … … A. result = result * i; B. result = i*i; C. result = i*(i+1); D. reslut = i*(i-1); 试题3下列关于数组的声明错误的是()
A. int[] arry = new int[100]; B. int[3] arry = {1,2,3} C. int[] arry = new int[]{1,2,3} D. int[][] arry = new int[3][] 试题4语句System.out.println(1+2+"java"+3+4)输出的结果是()。 A. 3java34 B. 12java34 C. 3java7 D. 12java7 试题5下面程序的输出结果是() public static void main(String[] args) { int d = 325; int sum = 0; while (d > 0) { int n = d % 10; sum += n; d /= 10; } System.out.println(sum);
1. 填空 Collection 接口的特点是元素是___无序可重复______; List 接口的特点是元素__有__(有|无)顺序,_可以___(可以|不可以)重复; Set 接口的特点是元素__无___(有|无)顺序,____不可以__(可以|不可以)重复;Map 接口的特点是元素是__key、value映射______,其中__value__可以重复,_key___不可以重复。 2. (List)有如下代码 import java.util.*; public class TestList{ public static void main(String args[]){ List list = new ArrayList(); list.add(“Hello”); list.add(“World”); list.add(1, “Learn”); list.add(1, “Java”); printList(list); } public static void printList(List list){ //1 for(int i = 0; i< list.size();i++){ System.out.println(list.get(i)); } for(Object o : list) { System.out.println(o); } Iterator itor = list.iterator(); while(itor.hasNext()){ System.out.println(itor.next()); } } } 要求: 1) 把//1 处的代码补充完整,要求输出list 中所有元素的内容 2) 写出程序执行的结果Hello Java Learn World 3) 如果要把实现类由ArrayList 换为LinkedList,应该改哪里?ArrayList 和LinkedList 使用上有什么区别?实现上有什么区别? 4) 如果要把实现类由ArrayList 换为Vector,应该改哪里?ArrayList 和Vector 使 用上有什么区别?实现上有什么区别? 3. (List)写出下面程序的运行结果
Java基础试题 一、选择题 1.编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A. .java B. .class C. .html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A )。 A. 3 B. 3. 5 C. 4 D. 5 3、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的(B)? A、public static void main() B、public static void main(String args[] ) C、public static int main(String [] arg ) D、public void main(String arg[] )4 4.Which of the following is not a valid comment:D a. /** comment */ b. /* comment */ c. /* comment d. // comment 5. Java中char类型的数据长度为 :C (A)8位(B)16位(C)32位(D)64位 6.下面哪个表达式是错误的:B (A)int i = 100; (B)float f = 100.0; (C)Object o = “Hello world”; (D)char c = ‘\u1234’; 7.下面哪个语句是正确的:C (A)byte s = 256; (B)String s = ‘Hello world’; (C)int x = 012; (D)char c = “a”; 8.下列叙述中,正确的是:A A)声明变量时必须指定一个类型 B)Java认为变量number与Number相同 C)Java中唯一的注释方式是"//" D)源文件中public类可以有0或多个 9.下列属于合法的Java标识符是:D A)"ABC" B)&5678 C)+rriwo D)saler 10.下面哪个标识符是不合法的:D (A)s1 (B)$1 (C)_1 (D)1s 11.在switch(expression)语句中,expression的数据类型不能是:A A)double B)char C)byte D)short 12.已知:int[] a = new int[100];在下列给出的数组元素中,非法的是:D A)a[0] B)a[1] C)a[99] D)a[100] 13.下列的哪个赋值语句是不正确的?: A A.float f = 11.1; B.double d = 5.3E12;
《CoreJava第三次内测》 一、单选题(共33分,每题2分,共66分) 1.下列对Java中的继承描述错误的说法是()。 A.子类至少有一个基类 B.子类可作为另一个子类的基类 C.子类除了包含它直接定义的属性外,还包含其父类的私有属性 D.子类继承父类的方法访问权限保持不变 2.try {}里有一个return语句,那么紧跟在这个try后的finally {}里的代码会不会被执行,什么时候被执行? ( ) A.不会执行 B.会执行,在return前执行 C.会执行,在return后执行 D.会执行,可能在return前执行,也可能在return后执行 3.构造方法是否可被重写和重载()。 A.不能重写,可以重载 B.可以重写,不能重载 C.不能重写,不能重载 D.可以重写,可以重载 4.给出一段程序,试判断哪个是正确的结果() public class rtExcept{ public static void throwit(){ System.out.print(“throwit”); throw new RuntimeException(); } public static void main(String [] aa){ try{ System.out.print(“hello “); throwit(); } catch(Exception re){ System.out.print(“caught ”); } finally{ System.out.print(“finally ”); } System.out.print(“after ”); } } A、hello throwit caught B、hello throwit caught finally after C、hello throwit RuntimeException after D、hello throwit caught finally after RuntimeException 5.给出一段程序,试判断哪个是正确的结果() public class myprogram{ public static void main (String args[]){ try{ System.out.print(“Hello world ”); } finally{ System.out.println(“Finally executing”); }}} A、无法编译,因为没有指定异常 B、无法编译,因为没有catch子句 C、Hello world D、Hello world Finally executing 6.对于catch子句的排列,下列哪种是正确的( ) A.父类在先,子类在后 B.子类在先,父类在后 C.有继承关系的异常不能在同一个try程序段内 D.一个try后只能放一个catch 7.Java中,泛型数据类型声明可能出现的符号是( ) A.R B.D C.T D.都可以 8.关于Java中异常的叙述正确的是:() A.异常是程序编写过程中代码的语法错误B.异常是程序编写过程中代码的逻辑错误C.异常出现后程序的运行马上中止D.异常是可以捕获和处理的 9.所有的异常和错误皆继承哪一个类?() A.java.io.Exception B.https://www.doczj.com/doc/f92137389.html,ng. Exception C.https://www.doczj.com/doc/f92137389.html,ng. Throwable D.https://www.doczj.com/doc/f92137389.html,ng.Error 10.下列关于try-catch-finally语句的描述中,错误的是() A.try语句后面的程序段将给出处理异常的语句 B.catch()方法跟在try语句后面,它可以是一个或多个 C.catch()方法有一个参数,该参数是某种异常类的对象 D.finally语句后面的程序段总是被执行的,该语句起到提供统一接口的作用 11.给出下面的代码
1,编写程序,判断给定的某个年份是否是闰年。 闰年的判断规则如下: (1)若某个年份能被4整除但不能被100整除,则是闰年。 (2)若某个年份能被400整除,则也是闰年。 import java.util.Scanner; class Bissextile{ public static void main(String[] arge){ System.out.print("请输入年份"); int year; //定义输入的年份名字为“year” Scanner scanner = new Scanner(System.in); year = scanner.nextInt(); if (year<0||year>3000){ System.out.println("年份有误,程序退出!"); System.exit(0); } if ((year%4==0)&&(year%100!=0)||(year%400==0)) System.out.println(year+" is bissextile"); else System.out.println(year+" is not bissextile "); } } 2,给定一个百分制的分数,输出相应的等级。 90分以上 A级 80~89 B级 70~79 C级 60~69 D级 60分以下 E级 import java.util.Scanner; class Mark{ public static void main(String[] args){ System.out.println("请输入一个分数"); //定义输入的分数为“mark”,且分数会有小数 double mark; Scanner scanner = new Scanner(System.in); mark = scanner.nextDouble(); //判断是否有输入错误。 if(mark<0||mark>100){ System.out.println("输入有误! ");
《CoreJava》理论试题题库答案版得分阅卷人 一、单选题(20题,共38分) 1、(2分)基本数据类型float的包装类是哪项,(C) A( Integer B( Double C( Float D( Character 2、(2分)使用下列哪个修饰符定义的类不能被继承( C ) A. static B. abstract C. final D. Native 3、(1分)下列类的定义,错误的是( D ) A. public class test extends Object{……} 学院班级姓名 B. final class operators{……} 密封线内不要答题 C. class Point{……} D. void class Point{……} 4、(2分)静态内部类是指使用(B)来修饰的内部类 A(final B.static C.public D.protected 5、(2分)匿名内部类的特点下面错误的是(b) A、匿名内部类没有构造方法 B、匿名内部类是静态的 C、它主要用于继承其他类或实现接口 D、它是一个特殊的局部内部类 6、(2分)下列哪个类不是java基本数据类型的封装类,( C ) A. Integer; B. Byte; C. String; D. Character; 7、(1分)基本数据类型char的包装类是哪项,( D ) A int
B char C String D Character 8、(2分)阅读以下程序代码,作出分析:public class Test { public static void main(String[] args) { boolean b = true; b=new Apple().equals(new Apple()); System.out.println(b); }}class 1 / 49 Apple{}该程序的输出结果是:(A) A(false B(true C. 不确定结果 D. 编译错误 9、(2分)List接口的特点是哪项,(C) A(不允许重复元素,元素无顺序 B(不允许重复元素,元素无顺序 c(允许重复元素,元素有顺序 D(允许重复元素,元素无顺序 10、(2分)关于HashMap和HashTable的说法错误的是( D ): A. HashMap和HashTable都是Map接口的实现类 B. HashTable是线性安全的 C. HashMap是线性不安全的 D(HashTable要比HashMap的性能高一点 11、(2分)当程序调用一个null对象的方法或属性时,这将引起(A )异常
Chp1 Java 语言基础 Key Point ●包的基本语法 ●Java 语言中的标识符,命名规范 ●八种基本类型 ●基本操作符 ●if 语句和switch 语句 练习 1.(标识符命名)下面几个变量中,那些是对的?那些是错的?错的请说明理由 A. ILoveJava B. $20 C. learn@java D. antony.lee E. Hello_World F. 2tigers 2.(Java 程序的编译与运行)假设有如下程序: package com.corejava.chp1; public class HelloWorld{ public static void main(String args[]){ System.out.println("Hello World"); } } 问: 1)假设这个代码存在hello.java 文件中,那这个程序能够编译通过?为什么?如果编译不通过,应该如何改进? 2)假设这个.java 文件放在C:\javafile\目录下,CLASSPATH=.,则生成的.class文件应该放在什么目录下?如何运行? 3.(if 语句)读入一个整数,判断其是奇数还是偶数 4.(操作符)有如下代码: int a = 5; int b = (a++) + (--a) +(++a); 问执行完之后,b 的结果是多少? 5.(基本类型的运算)一家商场在举行打折促销,所有商品都进行8 折优惠。一位程序员把这个逻辑写成: short price = ...; // 先计算出原价 short realPrice = price * 8 / 10; //再计算出打折之后的价格 问:这段代码是否正确?如果正确,假设price 为100,那计算之后的realPrice值为多少?如果不正确,应该怎么改正? 6. (操作符)请说明>>与>>>之间的区别。 7. (操作符)有如下代码:
Java 小练习 难度:4 范围:corejava day02: 函数计算器(必做)FunctionDemo.java 等额本息还款计算(必做)Credit.java 加法练习器(选作)AddDemo.java day03: 判断航班日期(必做)AirlineDemo.jar 计算验证条形码(必做)Ean13Barcode.jar day04: 验证身份证号码的正确性IdCardDemo.java 实现文字竖排V align.java day05: 1)根据观察,蟋蟀的鸣叫频率与夏天的温度有关,具体的关系有公式:t=(c+40)/10决定,其中c代表蟋蟀每分钟的鸣叫数,t代表摄氏温度。在给定的类Centigrade的基础上,实现centigrade方法返回相应的摄氏温度值。 2)欧几里德算法又称辗转相除法,用于计算两个正整数a,b的最大公约数。其计算原理依赖于下面的定理: 定理:gcd(a,b) = gcd(b,a % b) (a>b 且a mod b 不为0) 在给定类Euclide的基础上计算两个正整数的最大公约数,要处理a % b 为0情况。 3)实现数组匹配游戏 在两个数组中,索引相同的位置如果值相同用a表示 在两个数组中,索引不同的位置如果值相同用b表示 例: int[] arrOne = { 2, 1, 4, 5, 6 }; int[] arrTwo = { 2, 4, 7, 1, 6 }; 以上数组中有2个a 2个b 在给定类Matching的基础上完成match方法 package day02; import java.util.Random; import java.util.Scanner; /** * 加法练习器选做题目
JA V A基础测试题-CORE JA V A部分1.在main(String[] args)方法内是否可以调用一个非静态方法? 答:main方法是静态方法,不能直接去访问非静态成员(成员可以是成员变量或是成员方法)2.请简述java程序运行的过程 答: .java程序----编译---→.class----运行---→显示结果 3.java中的控制台输出内容换行方式有几种? 答:第一种:System.out.println(); 第二种:System.out.print(“\n”); 4.java中的注释有哪几种?分别用来注释什么? 答:有三种注释分别为: 单行注释: //常用来注释变量 多行注释:/* *用来注释变量,方法,类 */ 文档注释:/** *用来注释变量,方法,类 */ 5.请简述java 中标识符命名规则. 答:必须是字母,数字,下划线,$组成 不能以数字开头;不能是java中的保留字,最好见名知义
6.请举例说明Scanner这个类的常用方法 答:next() nextLine() nextInt() nextFloat() nextDouble() hasNextInt() 7.java中的数据类型分为哪两类? 答:数据类型分八个基础数据类型(byte,short,int ,long ,float,double,char,boolean) 和引用数据类型(包括类,接口和数组) 8.java中全局变量和局部变量的区别? 答:位置的区别:java中全局变量就是类中的属性,而局部变量是方法中或代码块中定义的变量; 初始值不一样:全局变量不赋值,系统会给默认值,也不会报错,而局变部量必须要赋初始值; 作用域不一样:全局变量在整个类所有方法中可以访问,局部变量只能在定义它的那一对括号中才可以访问 9.同一个文件里是否可以有两个public类? 答:不可能,一个java文件中只能有一个类是public的,而必须是public的类才可以作为java文件的类名. 10.方法名是否可以与构造器的名字相同? 答:可以。 11.初始化了一个没有run()方法的线程类,是否会出错? 答:不会出错 第一种方法:直接继承Thread类。 public class Test{ public static void main(String[] args){
班级::日期: Core Java试题 选择填空题:全部为多选题,只有全部正确才能得分。 1.编译java程序的命令是___B_____;运行java程序的命令是____A____;产生java文挡的命令是 _D_______;查询java类型是否是serializable类型的命令是___C_____;产生java安全策略文件的命令是___E_____;产生类型归档文件.jar的命令是__F______。 A. java B. javac C. serialver D.javadoc E.policytool F.jar 2.在一个java原文件中,import, class, package语句的顺序是_F_______。 A.import class package B.class import package C.package class import D.import package class E.class package import F.package import class 3.下面叙述正确的有_______CDEF_____________。 A.在一个java原文件中只能定义一个class B.在一个java原文件中只能定义一个interface C.在一个java原文件中可以定义多个class D.在一个java原文件中可以定义多个interface E.在一个java原文件中可以定义多个class和interface F.在一个java原文件中只能定义一个public class 4.java程序中程序运行入口方法main的签名正确的有____AB____。 A.public static void main(String args[]) B.static public void main(String[] args) C.public void static main(String[] args) D.public void main(String args[]) 5.java程序中程序入口方法main的参数代表命令行输入参数,命令行参数从____A____开始。 A. 0 B. 1 C.-1 6.以下属于正确的java注释有____ACD____。 A. //This is comment B. /*This is comment C. /**This is comment*/ D. /*This is comment*/ 7.以下能作为class, interface, method或variable有效标识符的有______ADF__________。 A.For B.boolean C.23age D. _id E.my name F. $this_is_a_long_variable_name 8.以下不是java关键字的有__D______。 A. super C.this D.NULL E.true 9.以下能作为char类型的字面值的有__BD______。 A. “e” B.’f’ C. ‘\u12’ D.’\u0012’ 10. byte变量的取值围是____B____。 A. 0 - 65535 B.-128 – 127 C.-256 – 255 D.0 - 32767 11.以下正确的有_____AC___。
JA V A面试题-COREJA V A部分 1.在main(String[] args)方法内是否可以调用一个非静态方法? 答案:不能 2.同一个文件里是否可以有两个public类? 答案:不能 3.方法名是否可以与构造器的名字相同? 答案:可以。 public class Test { public Test(String iceboy) { System.out.println(iceboy); } public void Test(String iceboy) { System.out.println(iceboy); } public static void main(String[] args) { Test a = new Test("abc");//输出“abc” a.Test("iceboy");//输出“iceboy” } } 4. 初始化了一个没有run()方法的线程类,是否会出错? 答案:不会。 第一种方法:直接继承Thread类。 public class Test { public static void main(String[] args) { ThreadClass t = new ThreadClass(); t.start(); System.out.println("end");//输出“end” } } class ThreadClass extends Thread //Thread类已经实现了空的run()方法。 { } 第二种方法:实现Runnable接口 public class Test { public static void main(String[] args) {
IO 框架 Key Point * File 类 * 流的分类 * 基本字节流 * 字节过滤流 * 基本字符流、桥转换 * 字符过滤流 * 对象序列化 练习 1. (File 类)以下关于File 类说法正确的是: A.一个File 对象代表了操作系统中的一个文件或者文件夹 B.可以使用File 对象创建和删除一个文件 C.可以使用File 对象创建和删除一个文件夹 D.当一个File 对象被垃圾回收时,系统上对应的文件或文件夹也被删除2. (File 类)有如下代码: public class TestFile{ public static void main(String args[]){ File file = new File(“chp13/corejava.txt”); } } 请选择一个正确答案: A. corejava.txt 文件在系统中被创建 B. 在windows 系统上运行出错,因为路径分隔符不正确 C. corejava.txt 文件在系统中没有被创建
D. 如果corejava.txt 文件已存在,则抛出一个异常 3. (File 类)将下列代码补充完整 class TestMyFile{ public static void main(String args[]) throws Exception{ File file; //创建一个File 对象表示当前目录下的“hello.txt”文件 //判断该文件是否存在 //如果该文件存在,则输出该文件的完整路径 } } 4. (流的分类)对于FileInputStream 来说,从方向上来分,它是_________流,从数据单 位上分,它是__________流,从功能上分,它是____________流。 5. (字节流, FileInputStream)FileInputStream 有三个重载的read 方法,其中 1) 无参的read 方法返回值为___类型,表示_________________ 2) int read(byte[] bs)方法返回值表示______________,参数表示 ________________ 3) int read(byte[] bs, int offset, int len) 方法返回值表示_______________,参数分别表示 ___________________________。 6. (FileInputStream)下面关于FileInputStream 类型说法正确的是: A.创建FileInputStream 对象是为了读取硬盘上的文件 B.创建FileInputStream 对象时,如果硬盘上对应的文件不存在,则抛出一个异常 C.利用FileInputStream 对象可以创建文件 D. FileInputStream 对象读取文件时,只能读取文本文件。 7. (FileOutputStream)填空: