Java程序设计(曹双喜/) - 中国大学mooc
2.数据类型与表达式
单元测验
1、一个 int 类型的整数和一个 double 类型的数进行加法运算,则结果类型为
A、int
B、double
C、float
D、long
2、设 a = 8,则表达式 a >>> 2 的值是
A、16
B、2
C、8
D、4
3、用八进制表达 8 的值,正确的是?
A、0x10
B、010
C、08
D、0x8
4、要产生[20,999]之间的随机整数使用( )表达式。
A、(int)(20+Math.random()*979)
B、20+(int)(Math.random()*980)
C、(int)Math.random()*999
D、20+(int)Math.random()*980
5、表达式 1+2+ "x"+3 的值是
A、"12x3"
B、"3x3"
C、"6x"
D、"x6"
6、整型变量a,b的值定义如下: int a = 21; int b = 22; 则表达式 ++a == b++ 的值为:
A、false
B、21
C、true
D、22
7、下列叙述中,正确的是?
A、声明变量时必须指定一个类型
B、java认为变量number与Number相同
C、Java中唯一的注释方式是"//"
D、一个源文件中public类可以有0或多个
8、以下数据类型转换中,必须进行强制类型转换的是
A、int→char
B、short→long
C、float→double
D、int→double
9、以下程序的运行结果为 class test { public static void main(String args[]) { int x=2; System.out.printf("%d,%d,%d", x++ , x, ++x); } }
A、3,3,3
B、2,3,4
C、2,2,3
D、3,3,4
10、以下哪个方法的调用结果是整数类型结果3
A、Math.ceil(3.1)
B、Math.floor(2.7)
C、Math.abs(3.1)
D、Math.round(2.7)
11、利用Scanner对象从输入数据源获取一个整数的方法是?
A、next()
B、nextInt()
C、nextLine()
D、nextDouble()
12、下列选项中( )是合法的 Java 标识符名字。
A、$index
B、name-7
C、_byte
D、char
13、下面各项中定义变量及赋值正确的有( )。
A、int i = 32;
B、float f = 45.0;
C、double d = 45.0;
D、long x = (long)45.0;
14、设有类型定义 int x=24;long y=25;下列赋值语句正确的是
A、y=x;
B、x=y;
C、x=(int)y;
D、y=x+2;
15、以下变量定义和初始化中哪些编译正确?
A、short myshort = 99S;
B、String name = 'Excellent tutorial Mr Green';
C、char c = 17;
D、int z = 015;
16、思考程序段对应的运行结果 int a = 2; int y = a++; ++a; System.out.printf( "%d,%d", a, y);
17、写出程序段对应的运行结果 int x = 4; System.out.print( "x=" +((x > 4) ? 99.99 : 9));
18、写出程序段对应的输出结果 int x = 125; System.out.print(x/10);
19、写出程序段对应的运行结果 int x = 125; System.out.print(x%3==0);
20、在Java中int类型变量占用空间是4个字节,char类型变量分配空间是 ( )个字节
单元作业
1、选择你喜爱的输入输出方式输入圆的半径,计算圆的面积并输出. 要求结果精确到小数点后2位
3.流程控制语句
单元测验
1、以下程序的运行结果为( )。 public class Test { public static void main(String args[ ]) { int i=0, j=2; do { ++i; j--; } while(j>0); System.out.println(i); } }
A、0
B、1
C、2
D、3
2、执行以下程序后,输出结果为( )。 public class Ex2{ public static void main(String args[ ]) { int k ,f=1; for (k=2;k<5;k++) f = f * k; System.out.println(k); } }
A、1
B、4
C、5
D、24
3、设有如下类: class Loop{ public static void main(String[ ] args) { int x=0;int y=0; outer: for(x=0;x<100;x++){ middle: for(y=0;y<100;y++){ System.out.println("x="+x+"; y="+y); if (y==10) { <<<insert code>>> } } } } } 在<<<insert code>>>处插入什么代码可以结束外循环?
A、continue middle;
B、break outer;
C、break middle;
D、continue outer;
4、以下循环的执行次数是( )。 int x=4,y=2; while (--x!=x/y) { }
A、1
B、2
C、3
D、4
5、以下程序段的输出结果为( )。 int x=1; for (x=2;x<=10;x++ ) ; System.out.print(x);
A、1
B、2
C、10
D、11
6、设 int x=2,y=3,则表达式(y-x==1)?(!true?1:2):(false?3:4)的值为( )。
A、1
B、2
C、3
D、4
7、以下程序段对应的运行结果为? int j = 1; while(j<5) { if(j == 1) continue; j++; System.out.print(j); }
A、1
B、234
C、无限循环
D、2345
8、若a的值为3时,下列程序段被执行后,c的值是多少? int c = 1; if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c = 4;
A、2
B、3
C、1
D、4
9、以下程序的运行结果为 public class test { public static void main(String args[]) { int i = 1; do { i--; } while (i > 2); System.out.print(i); } }
A、1
B、2
C、-1
D、0
10、下面的代码段的输出结果为? int count = 0; for (int i = 1; i < 4; i++) count += i; System.out.println(count);
A、4
B、1
C、6
D、10
11、下列语句片段的结果为: int result; int a = 17, b = 6; result = (a % b > 4)? a % b : a / b ; System,out.println(result);
A、0
B、1
C、2
D、5
12、outer: for( int i =1; i<3 ;i++) { inner : for ( j= 1;j<3;j++) { if (j==2) continue outer: System.out.prinltn("i= " + i ",j = " + j) } } 该代码段的输出结果含有?
A、i= 1,j= 1
B、i= 1,j= 2
C、i= 2,j= 1
D、i= 2,j= 2
13、设有如下代码段, x为哪些数时输出内容中含有 "Test2" ? switch (x) { case 1 : System.out.println("Test1"); case 2 : case 3 : System.out.println("Test2"); break; } System.out.println("Test3");
A、0
B、1
C、2
D、3
14、写出以下程序段对应的运行结果 String c="red"; switch (c) { default: System.out.print("white"); break; case "red": System.out.print("red"); break; case "blue": System.out.print("blue"); }
15、写出以下程序段对应的输出结果 int x = 23659; String m = "result="; while (x>0) { m = m + x%10; x = x/10; } System.out.print(m);
16、写出以下程序段对应的执行结果 int i = 10,j = 10; boolean b = false; if ( b = i == j) System.out.print("True"); else System.out.print("False");
17、写出程序的运行结果 class Test{ public static void main(String args[]) { int x = 5634; int s = 0; while (x>0) { s = s + x%10; x = x/10; } System.out.print("s="+s); } }
单元作业
1、X老板脾气古怪,他们公司的电话分机号都是3位数,老板规定,所有号码必须是降序排列,且不能有重复的数位。 比如:510,520,321 都满足要求,而,766,918,201 就不符合要求。 现在请你编程计算一下,按照这样的规定,一共有多少个可用的3位分机号码?
2、百鸡百钱问题。公鸡每只3元,母鸡每只5元,小鸡三只一元,用100元钱买100只鸡,公鸡、母鸡、小鸡应各买多少?
3、鸡兔同笼,已知鸡兔共有 50 只,共有 140 只脚,编程求解鸡有几只?兔子几只?
4.数组和方法
单元作业-数组应用
1、编写自动投掷色子的程序,用数组统计1000次投掷后,各点值的出现次数。提示: 色子的值共有1,2,3,4,5,6种情况,可以用一个6个元素的数组来进行统计.
2、利用随机函数产生整数给含100个元素数组赋值,输出该数组,按每行5个元素的形式安排输出,统计能被3或7整除的元素的个数并输出统计结果
3、利用扫描器从键盘输入20个整数,计算这些数的平均值,统计大于平均值的元素个数.
单元作业-方法设计
1、编写一个判断方法用来判断一个整数是否为素数,方法的返回结果为布尔类型, 利用该方法,找出3-50之间的所有双胞胎素数对,双胞胎素数是指相邻的2个奇数均为素数.
5.类与对象
单元测验
1、以下代码的编译运行结果为( )。 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、不能通过编译
2、以下代码的输出结果为( )。 public class Test{ int x=5; public static void main(String argv[ ]){ Test t=new Test(); t.x++; change(t); System.out.println(t.x); } static void change(Test m){ m.x+=2; } }
A、7
B、6
C、5
D、8
3、设有如下代码 public class Test{ long a[ ] = new long[10]; public static void main( String arg[ ] ){ System.out.println(a[6]); } } 叙述正确的是( )。
A、输出 null
B、输出 0
C、出现编译错误
D、运行出错
4、给出如下不完整类: class Person { String name, department; int age; public Person(String n){ name = n; } public Person(String n, int a){ name = n; age = a; } public Person(String n, String d, int a){ //给属性 name,age 赋值,比如:name=n;age=a; department = d; } } 可取代注释部分位置内容达到注释的目标的是( )。
A、Person(n,a);
B、this(Person(n,a));
C、this(n,a);
D、this(name,age);
5、设有以下程序,其运行输出结果为? class Test{ Test(int i) { System.out.println("Test(" +i +")"); } } public class Q12 { static Test t1 = new Test(1); Test t2 = new Test(2); static Test t3 = new Test(3); public static void main(String[ ] args){ Q12 Q = new Q12(); } }
A、Test(1) Test(2) Test(3)
B、Test(3) Test(2) Test(1)
C、Test(2) Test(1) Test(3)
D、Test(1) Test(3) Test(2)
6、运行下列代码后,正确的结果为: public class Test { static int age; public static void main (String args []) { age = age + 1; System.out.println("age=" + age); } }
A、编译运行后无任何输出
B、编译运行后输出 age=1
C、编译运行后输出 age=0
D、编译出错
7、以下程序的运行结果为? public class Test { static int count; public static void main(String args[]) { int sum=0; for (int count=0;count<4;count++) sum+=count; System.out.println(count); } }
A、4
B、3
C、6
D、0
8、考虑如下类: public class Test { public static void test() { this.print(); } public static void print() { System.out.println("Test"); } public static void main(String args []) { test(); } } 则程序调试结果为?
A、输出Test
B、无输出结果.
C、编译错误,不能在静态上下文环境中引用 this
D、无构造方法,不能创建对象
9、给出下面代码: public class Person{ static String arr[] = new String[5]; public static void main(String args[ ]) { System.out.println(arr[1]); } } 以下那个说法正确?
A、编译时将产生错误
B、编译正确,运行时将产生错误
C、输出0
D、输出null
10、考虑如下类: public class Test { int j,k; public Test(int j ) { this(j,0); } public Test(int j, int k) { this.j=j; this.k=k; } } 以下哪些可正确创建Test对象?
A、Test t = new Test();
B、Test t = new Test(1);
C、Test t = new Test(1, 2);
D、Test t = new Test("1");
11、思考如下代码: import iava.util.Date; // 一X— public class Quiz4_8{ // class definition } 下列哪些是合法的语句可以插入到-X-标记的行中?
A、import java.util.Arrays;
B、package chapter5;
C、class AnotherClass{ }
D、public class AthirdClass{ }
12、写出程序的运行结果 class Test { static int x=5; static { x+=10; } public static void main(String args[ ]){ System.out.println("x="+x); } static { x=x-5; } }
13、写出程序的运行结果 public class Ex1{ static int m=2; public static void main(String args[ ]) { Ex1 obj1 = new Ex1(); Ex1 obj2 = new Ex1(); obj1.m = m + 1; System.out.println("m="+obj2.m); } }
14、写出程序运行结果 public class My{ int value; public static void main(String args[]) { My x = new My(); if (x==null) System.out.print("No Object"); else System.out.print(x.value); } }
6.继承与多态
单元测验
1、以下程序调试结果为( )。 public class Test { int m = 5; public void some(int x) { m = x; } public static void main(String args[ ]) { new Demo().some(7); } } class Demo extends Test { int m = 8; public void some(int x) { super.some(x); System.out.println(m); } }
A、5
B、8
C、7
D、无任何输出
2、类Test1定义如下: 1.public class Test1{ 2. public float aMethod(float a,float b){ } 3. 4.} 下面方法中插入行3处为不合法的是( )。
A、public float aMethod(float a, float b,float c){ }
B、public float aMethod(float c,float d){ }
C、public int aMethod(int a, int b){ }
D、private float aMethod(int a,int b,int c){ }
3、为了使下面的程序能通过编译,最少要做的修改是( )。 1. final class A { 2. int x; 3. void mA() { x=x+1; } 4. } 5. class B extends A { 6. final A a=new A(); 7. final void mB(){ 8. a.x=20; 9. System.out.println("hello"); 10. } 11. }
A、第1行去掉final
B、第6行去掉final
C、删除第8行
D、行1和行6去掉final
4、以下程序调试结果为: private class Base{ Base(){ int i = 100; System.out.println(i); } } public class Pri extends Base{ static int i = 200; public static void main(String argv[]){ Pri p = new Pri(); System.out.println(i); } }
A、编译错误
B、200
C、100
D、200 100
5、class Person { private int a; public int change(int m){ return m; } } public class Teacher extends Person { public int b; public static void main(String arg[]){ Person p = new Person(); Teacher t = new Teacher(); int i; // point x } } 在 // point x安排哪个语句合法?
A、i = m;
B、i = b;
C、i = p.a;
D、i = p.change(30);
6、int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是
A、public int MAX_LENGTH=100;
B、final int MAX_LENGTH=100;
C、public final int MAX_LENGTH=100;
D、public const int MAX_LENGTH=100;
7、考虑如下类: public class Sub extends Base { public Sub(int k) { } public Sub(int m,int n) { super(m,n); … } } 假设Base类与Sub类在同一包中,则在Base类中必须存在的构造方法是( )。
A、Base()
B、Base(int k) { }
C、Base(int m,int k) { }
D、Base(int i,int j,int k) { }
8、给出下面的类: public class Sample{ long length; public Sample(long x){ length = x; } public static void main(String arg[ ]){ Sample s1, s2, s3; s1 = new Sample(21L); s2 = new Sample(21L); s3 = s2; long m = 21L; } } 下面表达式中返回false的是( )。
A、s1 == s2
B、s2 == s3
C、new Sample(m) == s1
D、s1.equals(m)
9、设有如下代码: public class Parent { int change() {…} } class Child extends Parent { } 下面方法中可被加入类Child中是( )。
A、public int change(){ ... }
B、int chang(int i){ ... }
C、private int change(){ ... }
D、abstract int chang(){ ...}
7.抽象类、接口及内嵌类
单元测验
1、以下程序的调试结果为( )。 public class Outer{ public String name = "Outer"; public static void main(String argv[]){ Inner i = new Inner(); i.showName(); } private class Inner{ String name = new String("Inner"); void showName(){ System.out.println(name); } } }
A、输出结果 Outer
B、输出结果 Inner
C、编译错误,因 Inner 类定义为私有访问
D、在创建 Inner 类实例的行出现编译错误
2、有关内嵌类以下哪个叙述为假?
A、内嵌类可以访问外部类的成员
B、方法中的内嵌类可以访问方法中定义的常量
C、匿名内嵌类没有对应的字节码文件
D、内嵌类可以被定义为静态成员
3、以下程序的编译和运行结果为? abstract class Base{ abstract public void myfunc(); public void another(){ System.out.println("Another method"); } } public class Abs extends Base{ public static void main(String argv[]){ Abs a = new Abs(); a.amethod(); } public void myfunc(){ System.out.println("My Func"); } public void amethod(){ myfunc(); } }
A、输出结果为 My Func
B、编译指示 Base 类中存在抽象方法
C、编译通过,但运行时指示Base 类中存在抽象方法
D、编译指示Base 类中的myfunc方法无方法体,没谁会喜欢该方法。
4、以下代码的调试结果为? abstract class MineBase { abstract void amethod(); static int i; } public class Mine extends MineBase{ public static void main(String argv[]){ int[] ar = new int[5]; for(i = 0;i < ar.length;i++) System.out.println(ar[i]); } }
A、输出5个0
B、编译错误指示"ar 未初始化就使用"
C、编译错误指示"Mine 必须定义为抽象类"
D、运行错误, i超出数组下标范围
5、若在某一个类定义中定义有如下的方法: abstract void performDial( ); 该方法属于?
A、本地方法
B、最终方法
C、多态方法
D、抽象方法
6、设有类定义如下: class InOut{ String s = new String("Between"); public void amethod(final int iArgs){ int iam = 5; iam++; class Bicycle{ public void sayHello(){ //Here } } } public void another(){ int iOther; } } 以下可以安排在//Here 处的语句有( )。
A、System.out.println(s);
B、System.out.println(iOther);
C、System.out.println(iam);
D、System.out.println(iArgs);
7、有关抽象类,以下说法正确的是( )。
A、不能派生子类;
B、不能对该类实例化;
C、所有方法均为抽象方法;
D、类定义包含 abstract 关键字。
8、设有如下代码: interface IFace{} class CFace implements IFace{} class Base{} public class ObRef extends Base{ public static void main(String argv[]){ ObRef obj = new ObRef(); Base b = new Base(); Object obj1 = new Object(); IFace obj2 = new CFace(); //Here } } 则在//Here 处插入( )代码将不出现编译和运行错误。
A、obj1=obj2;
B、b=obj;
C、obj=b;
D、obj1=b;
9、以下叙述哪个为真?
A、如果有import语句,必须是程序中第一个非注释语句.
B、私有成员可被同一包中的所有类访问
C、抽象类不能被定义为final
D、局部变量不能添加 static修饰
10、写出程序运行结果 abstract class P{ public P() { System.out.print("parent"); } abstract void m(); } class S extends P { public S() { System.out.print("child"); } public static void main(String a[ ]) { P x= new S(); x.m(); } void m() {System.out.print("m()"); } }
11、用_____修饰符修饰的方法是抽象方法。
12、用___________修饰符修饰的类不能派生子类
13、用___________修饰符修饰的成员只能在本类中直接访问.
14、以下程序的运行结果为? abstract class Parent{ int x=20; abstract void dosomething(); } class Sub extends Parent { int x=30; public static void main(String a[ ]) { Parent x= new Sub(); x.dosomething(); } void dosomething() {System.out.print("努力"+x); } }
8.常用数据类型处理类
单元测验
1、写出以下程序的运行结果? public class Test{ public static void main(String argv[]){ String s = new String("hello"); myMethod(s); System.out.print("s=" + s); } public static void myMethod(String s){ s = s + "!"; } }
A、s=hello!
B、s=hello
C、hello!
D、hello
2、设有字符串s赋值如下: String s = "hi,你好"; 则s.length()的值为?
A、4
B、5
C、3
D、7
3、以下哪个表达式被编译认为不合法?
A、String x="Hello"; int y=9; x+=y;
B、String x="Hello"; int y=9; if (x==y) { }
C、String x="Hello"; int y=9; x=x+y;
D、String x=null; int y=x.length();
4、有如下程序段: public class ish{ public static void main(String[] args) { String s="call me!"; System.out.print(s.charAt(s.length()-1)); } }
A、e
B、c
C、!
D、s
5、设有下面两个赋值语句: a = Integer.parseInt("1024"); b = Integer.valueOf("1024").intValue(); 不考虑赋值中的自动包装转换,你认为a,b最适合的数据类型是?
A、a是int类型变量,b是Integer类对象。
B、a是Integer类对象,b是int类型变量。
C、a和b都是Integer类对象并且它们的值相等。
D、a和b都是int类型变量并且它们的值相等。
6、以下程序的运行结果为? class test{ public static void main(String args[]) { String s = "Java是面向对象的语言,JavaScript是脚本语言"; int k = -1; k = s.indexOf( '是', k + 1); System.out.print(k); } }
A、-1
B、4
C、23
D、5
7、设有一个字符串s赋值如下: String s="hello"; 要获得字符串中的首个字符构成的子串可以用哪些方法?
A、s.startsWith()
B、s.substring(0,1)
C、""+s.charAt(0)
D、String.valueOf(s.charAt(0))
8、要将整数25转换为二进制形式的数字串,可以用哪些方法?
A、Integer.toBinaryString(25)
B、Integer.toString(25,2)
C、Integer.toString(25)
D、Integer.parseInt("25",2)
9、给出如下定义: String s = " Example "; 选出合法代码
A、s[3] = "x";
B、int i = s.length();
C、String t = "For " + s;
D、String shortS = s.trim();
10、设有如下代码 class StringTest { public static void main (String [] args){ String a="Hello"; StringBuffer c=new StringBuffer ("Hello"); String b="Hello"; StringBuffer d =new StringBuffer ("Hello"); if (<< operator>>>) {} } } 在<< operator>>>位置替换为以下哪个条件为真?
A、b.equals(a)
B、b==a
C、c==d
D、d.equals( c)
11、假设ch为字符类型变量,要判断ch是否为数字字符,用那种方法?
A、ch>='0' && ch<='9'
B、ch-'0'>=0
C、Character.isDigit(ch)
D、0< =ch<=9
12、以下程序的运行结果为? public class Test5{ public static void main(String argv[]){ StringBuffer x = new StringBuffer("你好"); myMethod(x); System.out.print("x=" + x); } public static void myMethod(StringBuffer s){ s.append(",Hi"); } }
13、写出以下程序运行结果 public class test { public static void main(String a[]){ int x=12653; String m=""+x; StringBuffer b=new StringBuffer(); for (int k=0; k < m.length(); k++) { b.insert(0,m.charAt(k)); } System.out.print(b); } }
14、以下程序运行结果为? public class test { public static void main(String args[]) { String s1 = "abc"; String s2 = new String("abc"); if(s1 == s2) System.out.print(1); else System.out.print(2); if(s1.equals(s2)) System.out.print(3); else System.out.print(4); } }
单元作业
1、将一批单词存入一个字符串数组中,例如:{"good","word","work","mean","thank","me","you","or","and"} 进行如下处理: 1) 统计含有子字符串or的单词个数; 2) 统计以字符m开头的单词个数。
2、将一批英文单词存入一个字符串数组中,例如: {"we","who","word","these","do","what","new","the","hello"} 求所有单词的平均长度,输出结果精确到小数点后2位。
9.异常处理
单元测验-异常处理
1、以下程序段执行时输入:java Test 则输出结果为( )。 class Test { public static void main(String args[ ]) { System.out.println(args[0]); } }
A、无任何输出
B、产生数组访问越界异常
C、输出 0
D、输出 Test
2、设有如下代码: try { tryThis(); return; } catch (IOException x1) { System.out.println("exception 1"); return; } catch (Exception x2) { System.out.println("exception 2"); return; } finally { System.out.println("finally"); } 如果 tryThis() 抛出 NumberFormatException,则输出结果包括( )
A、"exception 1"
B、"exception 1", 后跟 "finally"
C、"exception 2", 后跟 "finally"
D、"exception 2"
3、设有如下代码段: #1 String s = null; #2 if ( s != null & s.length() > 0) #3 System.out.println("s != null & s.length() > 0"); #4 if ( s != null && s.length() > 0) #5 System.out.println("s != null & s.length() > 0"); #6 if ( s != null || s.length() > 0) #7 System.out.println("s != null & s.length() > 0"); #8 if ( s != null | s.length() > 0) #9 System.out.println("s != null | s.length() > 0"); 将抛出空指针异常的行是( )。
A、2、4
B、6、8
C、2、4、6、8
D、2、6、8
4、设有一个串s,和一个int型变量i,以下那条语句可能产生异常?
A、if ((s !=null) && ( i ==s.length()))
B、if ((s ==null) && ( i ==s.length()))
C、if ((s !=null) || ( i ==s.length()))
D、if ((s ==null) || ( i ==s.length()))
5、设有如下代码: class Base{ public void amethod(int i) { } } public class Scope extends Base{ public static void main(String argv[]){ } //Method Here } 以下哪个方法可插入//Method 处?
A、public void amethod(int i) throws Exception {}
B、public void amethod(int i) { }
C、public void amethod(long i) { }
D、public void amethod(String i) { }
6、关于try..catch..finally执行机制的描述,以下叙述那个正确?
A、每个try 块必须至少跟一个catch块.
B、一个try 块可跟任意个finally块.
C、一个try块必须至少跟一个finally 或 catch块.
D、如果catch 和 finally块均有,则catch 必须先于finally.
10.泛型、收集API
单元作业-收集API的应用
1、利用Map存储中文的星期一,...与英文的Monday,...之间的关系 设计图形界面,在文本框中输入中文形式的星期,按回车键后,则在标签中显示对应英文
2、随机产生数值在50以下的60个整数加入到数组列表中,求其中最大元素值, 输出整个列表,指出元素值频度出现2次及以上的数据有哪些?
11.文件操作与输入输出流
单元作业-文件的读写访问
1、从一个文本文件中读取若干学生成绩,每个学生成绩占1行,统计所有学生成绩的平均分
12.图形界面编程基础
单元作业-图形界面事件处理编程
1、设有一批英文单词存放在一个数组中,编制一个图形界面程序浏览单词。在界面中安排一个标签显示单词,另有“上一个”、“下一个”两个按钮实现单词的前后翻动。
2、编写数字的英文单词显示程序,窗体中安排一个文本框、一个按钮和一个标签,从文本框输入一个数字(0~9),点击按钮将其对应的英文单词(如:zero、one、two等)显示在标签中。
3、编写窗体应用,窗体中安排2个按钮,按钮上面的标签分别为“改背景”、“关闭”,点击“改背景”按钮,用随机产生的颜色更改窗体的背景,点击“关闭”按钮可关闭窗体。
13.Swing图形界面编程
单元作业-Swing图形界面编程
1、在Swing的窗体中安排一个画布,在画布上绘制一个色子,随机产生色子的值. 每次点击画布,随机投掷更换色子的值.
《Java程序设计》课程期末模拟测试
《Java程序设计》课程期末模拟测试客观题
1、有一段Java程序,其中public类名是A1,那么保存它的源文件名可以是_____。
A、A1.java
B、A1.class
C、A1
D、以上都不对
2、下面赋值语句错误的是_____。
A、float f=11.1;
B、double d=5.3E12;
C、double d=3.14159;
D、double d=3.14D;
3、结构化程序设计所规定的三种基本控制结构是____。
A、输入、处理、输出
B、树形、网形、环形
C、顺序、选择、循环
D、主程序、子程序、方法
4、下面关于数组声明和初始化的语句那个有语法错误________。
A、int a1[]={3,4,5};
B、String a2[]={"string1","string1","string1"};
C、String a3[]=new String(3);
D、int[][] a4=new int[3][3];
5、下列关于构造方法的叙述中,错误的是 __________。
A、Java语言规定构造方法名与类名必须相同
B、Java语言规定构造方法没有返回值,但不用void声明
C、Java语言规定构造方法不可以重载
D、Java语言规定构造方法只能通过new自动调用
6、Java中创建对象时必须________。
A、先声明对象,然后才能使用对象
B、先声明对象,为对象分配内存空间,然后才能使用对象
C、先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象
D、上述说法都对
7、为了区分类中重载的同名的不同的方法,要求________。
A、采用不同的形式参数列表
B、返回值得数据类型不同
C、调用时用类名或者对象名做前缀
D、参数名不同
8、某一个子类要继承一个父类,要使用关键字________。
A、import
B、extends
C、implements
D、java
9、以下关于接口和类的说法正确的是____。
A、接口和类都可以实现多重继承
B、子类可以继承多个父类
C、子类可以实现多个接口
D、一个子类不能同时继承某一个父类和实现某一个接口
10、下列用于实现接口来定义类的关键字是____。
A、extends
B、implements
C、abstract
D、interface
11、一个非抽象子类,如果要实现某个接口,则_______。
A、必须实现该接口中的所有抽象方法
B、可以实现部分抽象方法
C、可以不实现任何抽象方法
D、无所谓
12、Java中,如果父类中的某些方法不包含任何逻辑,并且需要由子类重写,应该使用_______关键字来声明父类的这些方法。
A、public class MyClass{ }
B、class MyClass{ }
C、abstract class MyClass{ }
D、final class MyClass { }
13、要产生[20,999]之间的随机整数使用的表达式是_______。
A、(int)(20+Math.random()*97)
B、20+(int)(Math.random()*980)
C、(int)Math.random()*999
D、20+(int)Math.random()*980
14、String类中能返回指定字符串一部分的方法是_______。
A、extractstring()
B、substring()
C、Substring()
D、Middlestring()
15、下列不是Collection 接口的方法_______。
A、iterator
B、isEmpty
C、toArray
D、setText
16、Java中可以使用键/值的形式保存数据的集合类是_______。
A、ArrayList
B、HashSet
C、HashMap
D、TreeMap
17、关于抽象类的说法,正确的是______。
A、抽象类中可以有非抽象方法
B、如果父类是抽象类,则子类必须重写父类所有的抽象方法
C、不能用抽象类去创建对象
D、接口和抽象类是同一个概念
18、下面属于面向字符的输入输出流是________。
A、BufferedWriter
B、FileInputStream
C、ObjectInputStream
D、InputStreamReader
19、Swing与AWT的区别包括________。
A、Swing是由纯Java实现的轻量级构件
B、Swing没有本地代码
C、Swing不依赖操作系统的支持
D、Swing支持图形用户界面
20、关于内部类,下面说法正确的是____________。
A、成员内部类是外部类的一个成员,可以访问外部类的其它成员
B、外部类可以访问成员内部类的成员
C、方法内部类只能在其定义的当前方法中进行实例化
D、静态内部类中可以定义静态成员,也可以定义非静态成员
21、当一个对象被当成垃圾从内存中释放时,它的______方法会被自动调用。
22、如果子类想使用父类中的成员,可以通过关键字______引用父类的成员。
23、Math类中用于计算所传递参数平方根的方法是_____。
24、创建TreeSet对象时,可以传入自定义的比较器,自定义比较器需要实现 接口。
25、Java中一个字符占用两个字节,所有字符采用的都是____码表。
《Java程序设计》课程期末考试测试1
《Java程序设计》课程期末考试测试1客观题
1、编译Java源程序文件将产生相应的字节码文件,字节码文件的扩展名为_____。
A、java
B、class
C、txt
D、exe
2、变量命名规范说法正确的是_____。
A、变量由字母、下划线、数字、$符号随意组成
B、变量不能以数字作为开头
C、A和a在java中是同一个变量
D、不同类型的变量,可以起相同的名字
3、结构化程序设计所规定的三种基本控制结构是_______。
A、输入、处理、输出
B、树形、网形、环形
C、顺序、选择、循环
D、主程序、子程序、方法
4、下面可以实现访问数组arr的第1个元素的写法是__________。
A、arr[0]
B、arr(0)
C、arr[1]
D、arr(1)
5、下面类声明正确的是__________。
A、public void HH{...}
B、public class Move(){...}
C、public class void number{}
D、public class Car{...}
6、Java语言中要想让一个类继承另一个类,可以使用关键字________。
A、inherits
B、implements
C、extends
D、modifies
7、String s = "abcdedcba";则s.substring(3,4)返回的字符串是________。
A、cd
B、de
C、d
D、e
8、Java语言中,集合类都位于的包是________。
A、java.util
B、java.lang
C、java.array
D、java.collections
9、以下选项中,使用缓冲区技术的流是____。
A、BufferedOutputStream
B、FileInputStream
C、DataOutputStream
D、FileReader
10、Frame的默认布局管理器是____。
A、FlowLayout布局管理器
B、BorderLayout布局管理器
C、CardLayout布局管理器
D、GridLayout布局管理器
11、Java应用程序的main方法头是_______。
A、public static int main(char args[ ])
B、public static void main(String args[ ])
C、public static void MAIN(String args[ ])
D、public static void main(String args)
12、Java语言中,整型常数123占用存储字节数是多少?_______
A、1
B、2
C、4
D、8
13、下列不属于条件语句关键字的是____。
A、if
B、else
C、switch
D、while
14、下列方法头中哪一个不与其他方法形成重载(overload)关系的是_______。
A、void method()
B、void method(int i)
C、void method(String s)
D、int methods()
15、类的定义必须包含在以下哪种符号之间?_______
A、方括号[]
B、花括号{}
C、双引号“”
D、圆括号()
16、类中的一个成员方法被_______修饰符修饰,该方法只能在本类被访问。
A、public
B、protected
C、private
D、default
17、Java中以下是包装数据类型______。
A、int
B、Boolean
C、float
D、char
18、获取单列集合中元素的个数可以使用的方法是________。
A、length()
B、size()
C、get(int index)
D、add(Object obj)
19、File类的public boolea isFile()方法的描述,正确的是________。
A、判断该File对象所对应的是否是文件
B、判断该File对象所对应的是否是目录
C、返回文件的最后修改时间
D、在当前目录下生成指定的目录
20、ActionEvent的对象会被传递给的事件处理器方法是____________。
A、addChangeListener
B、addActionListener
C、stateChanged
D、actionPerformed
21、Java属于以下哪种语言?_____
A、机器语言
B、汇编语言
C、高级语言
D、以上都不对
22、一个int类型的整数和一个double类型的数进行加法运算,则结果类型为什么?_____
A、int
B、double
C、float
D、long
23、JAVA语言中用来终止循环语句的关键字是____。
A、return
B、continue
C、break
D、exit
24、void的含义________。
A、方法体为空
B、定义的方法没有形参
C、定义的方法没有返回值
D、方法的返回值不能参加算术运算
25、Java中,以下关于包的描述正确的是___________。
A、声明包使用package关键字,在声明时要在Java源文件第1行
B、可使用package创建一个包,并将package命令作为一个Java源文件的第一条非注释性语句
C、要使用不在同一个包中的类,不需要将包显式地包括在Java程序中
D、在一个Java源文件可以有多个包的声明语句
26、Java语言的异常处理模型中,无论是否发生异常,其中代码都会被执行的块是________。
A、try
B、catch
C、finally
D、throw
27、Math类的常用方法,其中用于计算绝对值的方法是________。
A、ceil()
B、floor()
C、abs()
D、random()
28、要想保存具有映射关系的数据,可以使用________。
A、ArrayList
B、HashSet
C、HashMap
D、TreeSet
29、字符流与字节流的区别在于____。
A、前者带有缓冲,后者没有
B、前者是块读写,后者是字节读写
C、二者没有区别,可以互换使用
D、每次读写的字节数不同
30、提供Java图形处理能力的包是_______。
A、java.sql
B、java.io
C、java.lang
D、javax.swing
31、面向对象程序设计的特性包括_____。
A、抽象性
B、封装性
C、继承性
D、多态性
32、以下是合法标识符的是_____。
A、STRING
B、x3x
C、void
D、de$f
33、下列语句哪些属于循环语句?____
A、for语句
B、if语句
C、while语句
D、switch语句
34、关于方法重载的描述,下列选项中正确的是________。
A、方法名必须一致
B、返回值类型必须不同
C、参数个数必须一致
D、参数的个数或类型不一致
35、下面对于构造方法的描述,正确有哪些?________
A、方法名必须和类名相同
B、方法名的前面没有返回值类型的声明
C、在方法中不能使用return语句返回一个值
D、当定义带参数构造方法,系统默认不带参数构造方法依然存在
36、关键字super的作用是_______。
A、用来访问父类被隐藏的成员变量
B、用来调用父类中被重载的方法
C、用来调用父类的构造方法
D、以上都不是
37、下列关于字符串的描叙中错误的是________。
A、43②字符串是对象
B、String对象存储字符串的效率比StringBuffer高
C、可以使用StringBuffer sb="这里是字符串"声明并初始化StringBuffer对象
D、String类提供了许多用来操作字符串的方法:连接,提取,查询等
38、LinkedList集合中定义的方法包括________。
A、getLast()
B、getFirst()
C、remove(int index)
D、next()
39、下面选项中,属于标准输入输出流的是____。
A、System.in
B、System.out
C、InputStream
D、OutputStream
40、下面选项中,属于事件处理机制中的角色包括____。
A、事件
B、事件源
C、事件接口
D、事件监听器
41、______环境变量则用来保存保存Java虚拟机要运行的“.class”文件路径。
42、Java中,short类型数据占______个字节。
43、Java中有两种类型的控制语句即if和___________。
44、一维数组通过下标符访问自己的元素,需要注意的是下标从___________开始。
45、用修饰符_____________说明的成员变量是类变量。
46、Java语言中,所有的类都直接或间接继承自______类。
47、Java中的用于产生随机数的类是_______。
48、java.util包中提供了一个专门用来操作集合的工具类,这个类是_______。
49、Java中,____类用于操作磁盘中文件和目录。
50、Java中的____类使用来创建标签的,即它的一个实例就是一个标签。
《Java程序设计》课程期末考试测试2
《Java程序设计》课程期末考试测试2客观题
1、编译和解析执行一个Java应用程序应分别采用的命令是_____。
A、java和javac
B、javac和java
C、javap和java
D、javac和jdb
2、下列选项中不合法的Java标识符名字有哪些?_____。
A、counter1
B、$index
C、name-7
D、_byte
3、关于选择结构下列说法正确的是___。
A、if语句和 else语句必须成对出现
B、if语句可以没有else语句对应
C、switch结构中每个case语句中必须用break语句
D、switch结构中必须有default语句
4、下列可以正确创建一个长度为3二维数组的是__________。
A、new int [2][3];
B、new int[3][];
C、new int[][3];
D、以上答案皆不对
5、关于面向对象的说法正确的是________。
A、类可以让我们用程序模拟现实世界中的实体
B、有多少个实体就要创建多少个类
C、对象的行为和属性被封装在类中,外界通过调用类的方法获得,但要知道类的内部如何实现
D、现实世界中的某些实体不能用类来描述
6、Java语言中,关于继承的说法错误的是________。
A、使用extends关键字可以实现一个类继承另一个类
B、所有的Java类都直接或间接地继承了java.lang.Object类
C、在子类的构造方法中,必须显式调用父类的构造方法
D、在子类的构造方法中,可以通过super关键字调用父类的构造方法
7、下面的程序段执行后,输出的结果是________。 StringBuffer buf=new StringBuffer("Beijing2022"); buf.insert(7,"@"); System.out.println(buf.toString());
A、Beijing@2022
B、@Beijing2022
C、Beijing2022@
D、Beijing#2022
8、要想集合中保存的元素没有重复并且按照一定的顺序排列,可以使用________。
A、LinkedList
B、ArrayList
C、HashSet
D、TreeSet
9、下列不属于InputStream类的方法____ 。
A、int read(byte[])
B、void flush()
C、void close()
D、available()
10、新创建Frame不可见,使其可见可使用的方法是____。
A、setSize(300,200)
B、setVisible(true)
C、dispose()
D、repaint()
11、关于Java的叙述中,正确的是________。
A、一个源程序文件中只能定义一个类
B、源文件名与public类名可以不相同
C、源文件扩展名为.java
D、源文件中public类的数目不限
12、下面各项中定义变量及赋值不正确的有哪些?_______
A、int i=32;
B、float f=45.0;
C、double d=45.0;
D、long x=(long)45.0;
13、关于while和do-while循环,下列说法正确的是_______。
A、两种循环除了格式不同外,功能完全相同
B、与do-while语句不同的是,while语句循环至少执行一次
C、do-while语句首先计算终止条件,当条件满足时,才去执行循环体中的语句
D、以上都不对
14、下面为合法的数组声明和构造语句的是_______。
A、int[] ages = [100];
B、int ages = new int[100];
C、int[] ages = new int[100];
D、int() ages = new int(100);
15、Java中用_______关键字修饰的方法可以直接通过类名来调用。
A、static
B、final
C、private
D、void
16、下列关于protected的说法中,正确的是_______。
A、protected修饰的方法,只能给子类使用
B、protected修饰的类,类中的所有方法只能给子类使用
C、如果一个类成员被protected修饰,则该成员既能被同一包下其它类访问,也能被不同包下该类的子类访问
D、以上都不对
17、设有下面两个赋值语句: a = Integer.parseInt(“12”); b = Integer.valueOf(“12”).intValue(); 下述说法正确的是________。
A、a是整数类型变量,b是整数类对象
B、a是整数类对象,b是整数类型变量
C、a和b都是整数类对象并且值相等
D、a和b都是整数类型变量并且值相等
18、下列说法正确的是________。
A、LinkedList集合在查询元素时效率较高
B、ArrayList集合在增删元素时效率较高
C、HashMap允许出现一对null键null值
D、HashSet集合中元素可重复并且无序
19、File类中以字符串形式返回文件绝对路径的的方法是_______。
A、getParent()
B、getName()
C、getAbsolutePath()
D、getPath()
20、下列说法中,正确的是________。
A、如果一个部件注册多个监听者,事件只会被最后一个监听者处理
B、如果一个部件注册多个监听者,事件将被所有监听者处理
C、一个部件注册多个监听者将导致编译出错
D、可以将一个部件已注册的监听者移去
21、在JDK的bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?_______
A、Java文档制作工具
B、Java解释器
C、Java编译器
D、Java启动器
22、判断表达式4%2+4*3/2+2<4&&(1+3)*2+12/3<8的执行结果是_____。
A、false
B、true
C、1
D、0
23、关于for循环和while循环的说法,正确的是____。
A、while循环先判断后执行,for循环先执行后判断
B、while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果
C、两种循环任何时候都不可以替换
D、两种循环结构中都必须有循环体,循环体不能为空
24、在调用方法时,若要使方法改变实参的值,可以__________。
A、用基本数据类型作为参数
B、用对象作为参数
C、A和B都对
D、A和B都不对
25、在一个Java类文件中的关键字package,import,class出现的可能顺序是________。
A、package,import,class
B、class,import,package
C、import,package,class
D、package,class,import
26、下列哪种异常是检查型异常,需要在编写程序时声明________。
A、NullPointerException
B、ClassCastException
C、FileNotFoundException
D、IndexOutOfBoundsException
27、Random对象能够生成随机数的类型是________。
A、int
B、String
C、double
D、A和C
28、程序开发中,经常会存储程序中所需的配置的类是________。
A、HashMap
B、TreeSet
C、Properties
D、TreeMap
29、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象____ 。
A、FileInputStream
B、FileOutputStream
C、DataOutputStream
D、FileWriter
30、可以接收用户的输入信息的组件是____。
A、JButton
B、JLabel
C、JTextField
D、以上都可以
31、Java语言的特点包括_____。
A、面向对象
B、一次编译,到处运行
C、支持多线程
D、运行性能比C语言快很多
32、下列属于合法的标识符的选项是_____。
A、Hello_World
B、class
C、123username
D、username123
33、switch语句判断条件可以接收的数据类型有哪些?____
A、int
B、byte
C、char
D、short
34、下述说法中,正确的是________。
A、在类中声明一个整数数组作为成员变量,如果没有给它赋值,数值元素值为空
B、数组可以在内存空间连续存储任意一组数据=
C、数组必须先声明,然后才能使用
D、数组本身是一个对象
35、使用this调用类的构造方法,下面的说法正确的是__________。
A、使用this调用构造方法的格式为this([参数1,参数2…])
B、只能在构造方法中使用this调用其它的构造方法
C、使用this调用其它构造方法的语句必须放在第一行
D、不能在一个类的两个构造方法中使用this互相调用
36、关于super关键字,以下说法正确的是________。
A、super关键字可以调用父类的构造方法
B、super关键字可以调用父类的普通方法
C、super与this不能同时存在于同一个构造方法中
D、super与this可以同时存在于同一个构造方法中
37、Java语言中的枚举类型,以下说法正确的是________。
A、枚举类型的取值默认为public static final
B、枚举类型中可以定义属性和方法
C、构造方法必须私有
D、枚举类型不可实现其他接口
38、关于foreach循环的特点,以下说法正确的是________。
A、foreach循环在遍历集合时,无需获得容器的长度
B、foreach循环在遍历集合时,无需循环条件,也无需迭代语句
C、foreach循环在遍历集合时非常繁琐
D、foreach循环的语法格式为:for(容器中元素类型 临时变量 :容器变量)
39、下列创建RandomAccessFile类实例对象的代码,正确的是____ 。
A、RandomAccessFile(new File(“D:\\itcast\\dir1\\test.java”),”rw”)
B、RandomAccessFile( “D:\\itcast\\dir1\\test.java”,”r”)
C、RandomAccessFile( “D:\\itcast\\dir1\\test.java”)
D、RandomAccessFile( “D:\\itcast\\dir1\\test.java”,”wr”)
40、下面属于Component子类的组件包括____。
A、Button
B、Dialog
C、Label
D、MenuBar
41、Java程序的运行环境简称之为______。
42、Java中,byte类型数据占______个字节。
43、在循环体中,如果想结束本次循环可以用___________语句。
44、数组声明后,必须使用____________运算符分配内存空间。
45、为了能使用Java提供的类,可以使用_________语句来引入所需的类。
46、定义一个Java类时,如果前面加使用______关键字修饰,那么该类不可以被继承。
47、Java中专门用于将日期格式化为字符串的类是_____。
48、Java语言中,单列集合的根接口是_______。
49、BufferedWriter的____方法可以写入一个换行符。
50、Java.awt包中的____________类是专门用来建立按钮,即它的已额对象就是一个按钮。
单元测验
1、一个 int 类型的整数和一个 double 类型的数进行加法运算,则结果类型为
A、int
B、double
C、float
D、long
2、设 a = 8,则表达式 a >>> 2 的值是
A、16
B、2
C、8
D、4
3、用八进制表达 8 的值,正确的是?
A、0x10
B、010
C、08
D、0x8
4、要产生[20,999]之间的随机整数使用( )表达式。
A、(int)(20+Math.random()*979)
B、20+(int)(Math.random()*980)
C、(int)Math.random()*999
D、20+(int)Math.random()*980
5、表达式 1+2+ "x"+3 的值是
A、"12x3"
B、"3x3"
C、"6x"
D、"x6"
6、整型变量a,b的值定义如下: int a = 21; int b = 22; 则表达式 ++a == b++ 的值为:
A、false
B、21
C、true
D、22
7、下列叙述中,正确的是?
A、声明变量时必须指定一个类型
B、java认为变量number与Number相同
C、Java中唯一的注释方式是"//"
D、一个源文件中public类可以有0或多个
8、以下数据类型转换中,必须进行强制类型转换的是
A、int→char
B、short→long
C、float→double
D、int→double
9、以下程序的运行结果为 class test { public static void main(String args[]) { int x=2; System.out.printf("%d,%d,%d", x++ , x, ++x); } }
A、3,3,3
B、2,3,4
C、2,2,3
D、3,3,4
10、以下哪个方法的调用结果是整数类型结果3
A、Math.ceil(3.1)
B、Math.floor(2.7)
C、Math.abs(3.1)
D、Math.round(2.7)
11、利用Scanner对象从输入数据源获取一个整数的方法是?
A、next()
B、nextInt()
C、nextLine()
D、nextDouble()
12、下列选项中( )是合法的 Java 标识符名字。
A、$index
B、name-7
C、_byte
D、char
13、下面各项中定义变量及赋值正确的有( )。
A、int i = 32;
B、float f = 45.0;
C、double d = 45.0;
D、long x = (long)45.0;
14、设有类型定义 int x=24;long y=25;下列赋值语句正确的是
A、y=x;
B、x=y;
C、x=(int)y;
D、y=x+2;
15、以下变量定义和初始化中哪些编译正确?
A、short myshort = 99S;
B、String name = 'Excellent tutorial Mr Green';
C、char c = 17;
D、int z = 015;
16、思考程序段对应的运行结果 int a = 2; int y = a++; ++a; System.out.printf( "%d,%d", a, y);
17、写出程序段对应的运行结果 int x = 4; System.out.print( "x=" +((x > 4) ? 99.99 : 9));
18、写出程序段对应的输出结果 int x = 125; System.out.print(x/10);
19、写出程序段对应的运行结果 int x = 125; System.out.print(x%3==0);
20、在Java中int类型变量占用空间是4个字节,char类型变量分配空间是 ( )个字节
单元作业
1、选择你喜爱的输入输出方式输入圆的半径,计算圆的面积并输出. 要求结果精确到小数点后2位
3.流程控制语句
单元测验
1、以下程序的运行结果为( )。 public class Test { public static void main(String args[ ]) { int i=0, j=2; do { ++i; j--; } while(j>0); System.out.println(i); } }
A、0
B、1
C、2
D、3
2、执行以下程序后,输出结果为( )。 public class Ex2{ public static void main(String args[ ]) { int k ,f=1; for (k=2;k<5;k++) f = f * k; System.out.println(k); } }
A、1
B、4
C、5
D、24
3、设有如下类: class Loop{ public static void main(String[ ] args) { int x=0;int y=0; outer: for(x=0;x<100;x++){ middle: for(y=0;y<100;y++){ System.out.println("x="+x+"; y="+y); if (y==10) { <<<insert code>>> } } } } } 在<<<insert code>>>处插入什么代码可以结束外循环?
A、continue middle;
B、break outer;
C、break middle;
D、continue outer;
4、以下循环的执行次数是( )。 int x=4,y=2; while (--x!=x/y) { }
A、1
B、2
C、3
D、4
5、以下程序段的输出结果为( )。 int x=1; for (x=2;x<=10;x++ ) ; System.out.print(x);
A、1
B、2
C、10
D、11
6、设 int x=2,y=3,则表达式(y-x==1)?(!true?1:2):(false?3:4)的值为( )。
A、1
B、2
C、3
D、4
7、以下程序段对应的运行结果为? int j = 1; while(j<5) { if(j == 1) continue; j++; System.out.print(j); }
A、1
B、234
C、无限循环
D、2345
8、若a的值为3时,下列程序段被执行后,c的值是多少? int c = 1; if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c = 4;
A、2
B、3
C、1
D、4
9、以下程序的运行结果为 public class test { public static void main(String args[]) { int i = 1; do { i--; } while (i > 2); System.out.print(i); } }
A、1
B、2
C、-1
D、0
10、下面的代码段的输出结果为? int count = 0; for (int i = 1; i < 4; i++) count += i; System.out.println(count);
A、4
B、1
C、6
D、10
11、下列语句片段的结果为: int result; int a = 17, b = 6; result = (a % b > 4)? a % b : a / b ; System,out.println(result);
A、0
B、1
C、2
D、5
12、outer: for( int i =1; i<3 ;i++) { inner : for ( j= 1;j<3;j++) { if (j==2) continue outer: System.out.prinltn("i= " + i ",j = " + j) } } 该代码段的输出结果含有?
A、i= 1,j= 1
B、i= 1,j= 2
C、i= 2,j= 1
D、i= 2,j= 2
13、设有如下代码段, x为哪些数时输出内容中含有 "Test2" ? switch (x) { case 1 : System.out.println("Test1"); case 2 : case 3 : System.out.println("Test2"); break; } System.out.println("Test3");
A、0
B、1
C、2
D、3
14、写出以下程序段对应的运行结果 String c="red"; switch (c) { default: System.out.print("white"); break; case "red": System.out.print("red"); break; case "blue": System.out.print("blue"); }
15、写出以下程序段对应的输出结果 int x = 23659; String m = "result="; while (x>0) { m = m + x%10; x = x/10; } System.out.print(m);
16、写出以下程序段对应的执行结果 int i = 10,j = 10; boolean b = false; if ( b = i == j) System.out.print("True"); else System.out.print("False");
17、写出程序的运行结果 class Test{ public static void main(String args[]) { int x = 5634; int s = 0; while (x>0) { s = s + x%10; x = x/10; } System.out.print("s="+s); } }
单元作业
1、X老板脾气古怪,他们公司的电话分机号都是3位数,老板规定,所有号码必须是降序排列,且不能有重复的数位。 比如:510,520,321 都满足要求,而,766,918,201 就不符合要求。 现在请你编程计算一下,按照这样的规定,一共有多少个可用的3位分机号码?
2、百鸡百钱问题。公鸡每只3元,母鸡每只5元,小鸡三只一元,用100元钱买100只鸡,公鸡、母鸡、小鸡应各买多少?
3、鸡兔同笼,已知鸡兔共有 50 只,共有 140 只脚,编程求解鸡有几只?兔子几只?
4.数组和方法
单元作业-数组应用
1、编写自动投掷色子的程序,用数组统计1000次投掷后,各点值的出现次数。提示: 色子的值共有1,2,3,4,5,6种情况,可以用一个6个元素的数组来进行统计.
2、利用随机函数产生整数给含100个元素数组赋值,输出该数组,按每行5个元素的形式安排输出,统计能被3或7整除的元素的个数并输出统计结果
3、利用扫描器从键盘输入20个整数,计算这些数的平均值,统计大于平均值的元素个数.
单元作业-方法设计
1、编写一个判断方法用来判断一个整数是否为素数,方法的返回结果为布尔类型, 利用该方法,找出3-50之间的所有双胞胎素数对,双胞胎素数是指相邻的2个奇数均为素数.
5.类与对象
单元测验
1、以下代码的编译运行结果为( )。 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、不能通过编译
2、以下代码的输出结果为( )。 public class Test{ int x=5; public static void main(String argv[ ]){ Test t=new Test(); t.x++; change(t); System.out.println(t.x); } static void change(Test m){ m.x+=2; } }
A、7
B、6
C、5
D、8
3、设有如下代码 public class Test{ long a[ ] = new long[10]; public static void main( String arg[ ] ){ System.out.println(a[6]); } } 叙述正确的是( )。
A、输出 null
B、输出 0
C、出现编译错误
D、运行出错
4、给出如下不完整类: class Person { String name, department; int age; public Person(String n){ name = n; } public Person(String n, int a){ name = n; age = a; } public Person(String n, String d, int a){ //给属性 name,age 赋值,比如:name=n;age=a; department = d; } } 可取代注释部分位置内容达到注释的目标的是( )。
A、Person(n,a);
B、this(Person(n,a));
C、this(n,a);
D、this(name,age);
5、设有以下程序,其运行输出结果为? class Test{ Test(int i) { System.out.println("Test(" +i +")"); } } public class Q12 { static Test t1 = new Test(1); Test t2 = new Test(2); static Test t3 = new Test(3); public static void main(String[ ] args){ Q12 Q = new Q12(); } }
A、Test(1) Test(2) Test(3)
B、Test(3) Test(2) Test(1)
C、Test(2) Test(1) Test(3)
D、Test(1) Test(3) Test(2)
6、运行下列代码后,正确的结果为: public class Test { static int age; public static void main (String args []) { age = age + 1; System.out.println("age=" + age); } }
A、编译运行后无任何输出
B、编译运行后输出 age=1
C、编译运行后输出 age=0
D、编译出错
7、以下程序的运行结果为? public class Test { static int count; public static void main(String args[]) { int sum=0; for (int count=0;count<4;count++) sum+=count; System.out.println(count); } }
A、4
B、3
C、6
D、0
8、考虑如下类: public class Test { public static void test() { this.print(); } public static void print() { System.out.println("Test"); } public static void main(String args []) { test(); } } 则程序调试结果为?
A、输出Test
B、无输出结果.
C、编译错误,不能在静态上下文环境中引用 this
D、无构造方法,不能创建对象
9、给出下面代码: public class Person{ static String arr[] = new String[5]; public static void main(String args[ ]) { System.out.println(arr[1]); } } 以下那个说法正确?
A、编译时将产生错误
B、编译正确,运行时将产生错误
C、输出0
D、输出null
10、考虑如下类: public class Test { int j,k; public Test(int j ) { this(j,0); } public Test(int j, int k) { this.j=j; this.k=k; } } 以下哪些可正确创建Test对象?
A、Test t = new Test();
B、Test t = new Test(1);
C、Test t = new Test(1, 2);
D、Test t = new Test("1");
11、思考如下代码: import iava.util.Date; // 一X— public class Quiz4_8{ // class definition } 下列哪些是合法的语句可以插入到-X-标记的行中?
A、import java.util.Arrays;
B、package chapter5;
C、class AnotherClass{ }
D、public class AthirdClass{ }
12、写出程序的运行结果 class Test { static int x=5; static { x+=10; } public static void main(String args[ ]){ System.out.println("x="+x); } static { x=x-5; } }
13、写出程序的运行结果 public class Ex1{ static int m=2; public static void main(String args[ ]) { Ex1 obj1 = new Ex1(); Ex1 obj2 = new Ex1(); obj1.m = m + 1; System.out.println("m="+obj2.m); } }
14、写出程序运行结果 public class My{ int value; public static void main(String args[]) { My x = new My(); if (x==null) System.out.print("No Object"); else System.out.print(x.value); } }
6.继承与多态
单元测验
1、以下程序调试结果为( )。 public class Test { int m = 5; public void some(int x) { m = x; } public static void main(String args[ ]) { new Demo().some(7); } } class Demo extends Test { int m = 8; public void some(int x) { super.some(x); System.out.println(m); } }
A、5
B、8
C、7
D、无任何输出
2、类Test1定义如下: 1.public class Test1{ 2. public float aMethod(float a,float b){ } 3. 4.} 下面方法中插入行3处为不合法的是( )。
A、public float aMethod(float a, float b,float c){ }
B、public float aMethod(float c,float d){ }
C、public int aMethod(int a, int b){ }
D、private float aMethod(int a,int b,int c){ }
3、为了使下面的程序能通过编译,最少要做的修改是( )。 1. final class A { 2. int x; 3. void mA() { x=x+1; } 4. } 5. class B extends A { 6. final A a=new A(); 7. final void mB(){ 8. a.x=20; 9. System.out.println("hello"); 10. } 11. }
A、第1行去掉final
B、第6行去掉final
C、删除第8行
D、行1和行6去掉final
4、以下程序调试结果为: private class Base{ Base(){ int i = 100; System.out.println(i); } } public class Pri extends Base{ static int i = 200; public static void main(String argv[]){ Pri p = new Pri(); System.out.println(i); } }
A、编译错误
B、200
C、100
D、200 100
5、class Person { private int a; public int change(int m){ return m; } } public class Teacher extends Person { public int b; public static void main(String arg[]){ Person p = new Person(); Teacher t = new Teacher(); int i; // point x } } 在 // point x安排哪个语句合法?
A、i = m;
B、i = b;
C、i = p.a;
D、i = p.change(30);
6、int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是
A、public int MAX_LENGTH=100;
B、final int MAX_LENGTH=100;
C、public final int MAX_LENGTH=100;
D、public const int MAX_LENGTH=100;
7、考虑如下类: public class Sub extends Base { public Sub(int k) { } public Sub(int m,int n) { super(m,n); … } } 假设Base类与Sub类在同一包中,则在Base类中必须存在的构造方法是( )。
A、Base()
B、Base(int k) { }
C、Base(int m,int k) { }
D、Base(int i,int j,int k) { }
8、给出下面的类: public class Sample{ long length; public Sample(long x){ length = x; } public static void main(String arg[ ]){ Sample s1, s2, s3; s1 = new Sample(21L); s2 = new Sample(21L); s3 = s2; long m = 21L; } } 下面表达式中返回false的是( )。
A、s1 == s2
B、s2 == s3
C、new Sample(m) == s1
D、s1.equals(m)
9、设有如下代码: public class Parent { int change() {…} } class Child extends Parent { } 下面方法中可被加入类Child中是( )。
A、public int change(){ ... }
B、int chang(int i){ ... }
C、private int change(){ ... }
D、abstract int chang(){ ...}
7.抽象类、接口及内嵌类
单元测验
1、以下程序的调试结果为( )。 public class Outer{ public String name = "Outer"; public static void main(String argv[]){ Inner i = new Inner(); i.showName(); } private class Inner{ String name = new String("Inner"); void showName(){ System.out.println(name); } } }
A、输出结果 Outer
B、输出结果 Inner
C、编译错误,因 Inner 类定义为私有访问
D、在创建 Inner 类实例的行出现编译错误
2、有关内嵌类以下哪个叙述为假?
A、内嵌类可以访问外部类的成员
B、方法中的内嵌类可以访问方法中定义的常量
C、匿名内嵌类没有对应的字节码文件
D、内嵌类可以被定义为静态成员
3、以下程序的编译和运行结果为? abstract class Base{ abstract public void myfunc(); public void another(){ System.out.println("Another method"); } } public class Abs extends Base{ public static void main(String argv[]){ Abs a = new Abs(); a.amethod(); } public void myfunc(){ System.out.println("My Func"); } public void amethod(){ myfunc(); } }
A、输出结果为 My Func
B、编译指示 Base 类中存在抽象方法
C、编译通过,但运行时指示Base 类中存在抽象方法
D、编译指示Base 类中的myfunc方法无方法体,没谁会喜欢该方法。
4、以下代码的调试结果为? abstract class MineBase { abstract void amethod(); static int i; } public class Mine extends MineBase{ public static void main(String argv[]){ int[] ar = new int[5]; for(i = 0;i < ar.length;i++) System.out.println(ar[i]); } }
A、输出5个0
B、编译错误指示"ar 未初始化就使用"
C、编译错误指示"Mine 必须定义为抽象类"
D、运行错误, i超出数组下标范围
5、若在某一个类定义中定义有如下的方法: abstract void performDial( ); 该方法属于?
A、本地方法
B、最终方法
C、多态方法
D、抽象方法
6、设有类定义如下: class InOut{ String s = new String("Between"); public void amethod(final int iArgs){ int iam = 5; iam++; class Bicycle{ public void sayHello(){ //Here } } } public void another(){ int iOther; } } 以下可以安排在//Here 处的语句有( )。
A、System.out.println(s);
B、System.out.println(iOther);
C、System.out.println(iam);
D、System.out.println(iArgs);
7、有关抽象类,以下说法正确的是( )。
A、不能派生子类;
B、不能对该类实例化;
C、所有方法均为抽象方法;
D、类定义包含 abstract 关键字。
8、设有如下代码: interface IFace{} class CFace implements IFace{} class Base{} public class ObRef extends Base{ public static void main(String argv[]){ ObRef obj = new ObRef(); Base b = new Base(); Object obj1 = new Object(); IFace obj2 = new CFace(); //Here } } 则在//Here 处插入( )代码将不出现编译和运行错误。
A、obj1=obj2;
B、b=obj;
C、obj=b;
D、obj1=b;
9、以下叙述哪个为真?
A、如果有import语句,必须是程序中第一个非注释语句.
B、私有成员可被同一包中的所有类访问
C、抽象类不能被定义为final
D、局部变量不能添加 static修饰
10、写出程序运行结果 abstract class P{ public P() { System.out.print("parent"); } abstract void m(); } class S extends P { public S() { System.out.print("child"); } public static void main(String a[ ]) { P x= new S(); x.m(); } void m() {System.out.print("m()"); } }
11、用_____修饰符修饰的方法是抽象方法。
12、用___________修饰符修饰的类不能派生子类
13、用___________修饰符修饰的成员只能在本类中直接访问.
14、以下程序的运行结果为? abstract class Parent{ int x=20; abstract void dosomething(); } class Sub extends Parent { int x=30; public static void main(String a[ ]) { Parent x= new Sub(); x.dosomething(); } void dosomething() {System.out.print("努力"+x); } }
8.常用数据类型处理类
单元测验
1、写出以下程序的运行结果? public class Test{ public static void main(String argv[]){ String s = new String("hello"); myMethod(s); System.out.print("s=" + s); } public static void myMethod(String s){ s = s + "!"; } }
A、s=hello!
B、s=hello
C、hello!
D、hello
2、设有字符串s赋值如下: String s = "hi,你好"; 则s.length()的值为?
A、4
B、5
C、3
D、7
3、以下哪个表达式被编译认为不合法?
A、String x="Hello"; int y=9; x+=y;
B、String x="Hello"; int y=9; if (x==y) { }
C、String x="Hello"; int y=9; x=x+y;
D、String x=null; int y=x.length();
4、有如下程序段: public class ish{ public static void main(String[] args) { String s="call me!"; System.out.print(s.charAt(s.length()-1)); } }
A、e
B、c
C、!
D、s
5、设有下面两个赋值语句: a = Integer.parseInt("1024"); b = Integer.valueOf("1024").intValue(); 不考虑赋值中的自动包装转换,你认为a,b最适合的数据类型是?
A、a是int类型变量,b是Integer类对象。
B、a是Integer类对象,b是int类型变量。
C、a和b都是Integer类对象并且它们的值相等。
D、a和b都是int类型变量并且它们的值相等。
6、以下程序的运行结果为? class test{ public static void main(String args[]) { String s = "Java是面向对象的语言,JavaScript是脚本语言"; int k = -1; k = s.indexOf( '是', k + 1); System.out.print(k); } }
A、-1
B、4
C、23
D、5
7、设有一个字符串s赋值如下: String s="hello"; 要获得字符串中的首个字符构成的子串可以用哪些方法?
A、s.startsWith()
B、s.substring(0,1)
C、""+s.charAt(0)
D、String.valueOf(s.charAt(0))
8、要将整数25转换为二进制形式的数字串,可以用哪些方法?
A、Integer.toBinaryString(25)
B、Integer.toString(25,2)
C、Integer.toString(25)
D、Integer.parseInt("25",2)
9、给出如下定义: String s = " Example "; 选出合法代码
A、s[3] = "x";
B、int i = s.length();
C、String t = "For " + s;
D、String shortS = s.trim();
10、设有如下代码 class StringTest { public static void main (String [] args){ String a="Hello"; StringBuffer c=new StringBuffer ("Hello"); String b="Hello"; StringBuffer d =new StringBuffer ("Hello"); if (<< operator>>>) {} } } 在<< operator>>>位置替换为以下哪个条件为真?
A、b.equals(a)
B、b==a
C、c==d
D、d.equals( c)
11、假设ch为字符类型变量,要判断ch是否为数字字符,用那种方法?
A、ch>='0' && ch<='9'
B、ch-'0'>=0
C、Character.isDigit(ch)
D、0< =ch<=9
12、以下程序的运行结果为? public class Test5{ public static void main(String argv[]){ StringBuffer x = new StringBuffer("你好"); myMethod(x); System.out.print("x=" + x); } public static void myMethod(StringBuffer s){ s.append(",Hi"); } }
13、写出以下程序运行结果 public class test { public static void main(String a[]){ int x=12653; String m=""+x; StringBuffer b=new StringBuffer(); for (int k=0; k < m.length(); k++) { b.insert(0,m.charAt(k)); } System.out.print(b); } }
14、以下程序运行结果为? public class test { public static void main(String args[]) { String s1 = "abc"; String s2 = new String("abc"); if(s1 == s2) System.out.print(1); else System.out.print(2); if(s1.equals(s2)) System.out.print(3); else System.out.print(4); } }
单元作业
1、将一批单词存入一个字符串数组中,例如:{"good","word","work","mean","thank","me","you","or","and"} 进行如下处理: 1) 统计含有子字符串or的单词个数; 2) 统计以字符m开头的单词个数。
2、将一批英文单词存入一个字符串数组中,例如: {"we","who","word","these","do","what","new","the","hello"} 求所有单词的平均长度,输出结果精确到小数点后2位。
9.异常处理
单元测验-异常处理
1、以下程序段执行时输入:java Test 则输出结果为( )。 class Test { public static void main(String args[ ]) { System.out.println(args[0]); } }
A、无任何输出
B、产生数组访问越界异常
C、输出 0
D、输出 Test
2、设有如下代码: try { tryThis(); return; } catch (IOException x1) { System.out.println("exception 1"); return; } catch (Exception x2) { System.out.println("exception 2"); return; } finally { System.out.println("finally"); } 如果 tryThis() 抛出 NumberFormatException,则输出结果包括( )
A、"exception 1"
B、"exception 1", 后跟 "finally"
C、"exception 2", 后跟 "finally"
D、"exception 2"
3、设有如下代码段: #1 String s = null; #2 if ( s != null & s.length() > 0) #3 System.out.println("s != null & s.length() > 0"); #4 if ( s != null && s.length() > 0) #5 System.out.println("s != null & s.length() > 0"); #6 if ( s != null || s.length() > 0) #7 System.out.println("s != null & s.length() > 0"); #8 if ( s != null | s.length() > 0) #9 System.out.println("s != null | s.length() > 0"); 将抛出空指针异常的行是( )。
A、2、4
B、6、8
C、2、4、6、8
D、2、6、8
4、设有一个串s,和一个int型变量i,以下那条语句可能产生异常?
A、if ((s !=null) && ( i ==s.length()))
B、if ((s ==null) && ( i ==s.length()))
C、if ((s !=null) || ( i ==s.length()))
D、if ((s ==null) || ( i ==s.length()))
5、设有如下代码: class Base{ public void amethod(int i) { } } public class Scope extends Base{ public static void main(String argv[]){ } //Method Here } 以下哪个方法可插入//Method 处?
A、public void amethod(int i) throws Exception {}
B、public void amethod(int i) { }
C、public void amethod(long i) { }
D、public void amethod(String i) { }
6、关于try..catch..finally执行机制的描述,以下叙述那个正确?
A、每个try 块必须至少跟一个catch块.
B、一个try 块可跟任意个finally块.
C、一个try块必须至少跟一个finally 或 catch块.
D、如果catch 和 finally块均有,则catch 必须先于finally.
10.泛型、收集API
单元作业-收集API的应用
1、利用Map存储中文的星期一,...与英文的Monday,...之间的关系 设计图形界面,在文本框中输入中文形式的星期,按回车键后,则在标签中显示对应英文
2、随机产生数值在50以下的60个整数加入到数组列表中,求其中最大元素值, 输出整个列表,指出元素值频度出现2次及以上的数据有哪些?
11.文件操作与输入输出流
单元作业-文件的读写访问
1、从一个文本文件中读取若干学生成绩,每个学生成绩占1行,统计所有学生成绩的平均分
12.图形界面编程基础
单元作业-图形界面事件处理编程
1、设有一批英文单词存放在一个数组中,编制一个图形界面程序浏览单词。在界面中安排一个标签显示单词,另有“上一个”、“下一个”两个按钮实现单词的前后翻动。
2、编写数字的英文单词显示程序,窗体中安排一个文本框、一个按钮和一个标签,从文本框输入一个数字(0~9),点击按钮将其对应的英文单词(如:zero、one、two等)显示在标签中。
3、编写窗体应用,窗体中安排2个按钮,按钮上面的标签分别为“改背景”、“关闭”,点击“改背景”按钮,用随机产生的颜色更改窗体的背景,点击“关闭”按钮可关闭窗体。
13.Swing图形界面编程
单元作业-Swing图形界面编程
1、在Swing的窗体中安排一个画布,在画布上绘制一个色子,随机产生色子的值. 每次点击画布,随机投掷更换色子的值.
《Java程序设计》课程期末模拟测试
《Java程序设计》课程期末模拟测试客观题
1、有一段Java程序,其中public类名是A1,那么保存它的源文件名可以是_____。
A、A1.java
B、A1.class
C、A1
D、以上都不对
2、下面赋值语句错误的是_____。
A、float f=11.1;
B、double d=5.3E12;
C、double d=3.14159;
D、double d=3.14D;
3、结构化程序设计所规定的三种基本控制结构是____。
A、输入、处理、输出
B、树形、网形、环形
C、顺序、选择、循环
D、主程序、子程序、方法
4、下面关于数组声明和初始化的语句那个有语法错误________。
A、int a1[]={3,4,5};
B、String a2[]={"string1","string1","string1"};
C、String a3[]=new String(3);
D、int[][] a4=new int[3][3];
5、下列关于构造方法的叙述中,错误的是 __________。
A、Java语言规定构造方法名与类名必须相同
B、Java语言规定构造方法没有返回值,但不用void声明
C、Java语言规定构造方法不可以重载
D、Java语言规定构造方法只能通过new自动调用
6、Java中创建对象时必须________。
A、先声明对象,然后才能使用对象
B、先声明对象,为对象分配内存空间,然后才能使用对象
C、先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象
D、上述说法都对
7、为了区分类中重载的同名的不同的方法,要求________。
A、采用不同的形式参数列表
B、返回值得数据类型不同
C、调用时用类名或者对象名做前缀
D、参数名不同
8、某一个子类要继承一个父类,要使用关键字________。
A、import
B、extends
C、implements
D、java
9、以下关于接口和类的说法正确的是____。
A、接口和类都可以实现多重继承
B、子类可以继承多个父类
C、子类可以实现多个接口
D、一个子类不能同时继承某一个父类和实现某一个接口
10、下列用于实现接口来定义类的关键字是____。
A、extends
B、implements
C、abstract
D、interface
11、一个非抽象子类,如果要实现某个接口,则_______。
A、必须实现该接口中的所有抽象方法
B、可以实现部分抽象方法
C、可以不实现任何抽象方法
D、无所谓
12、Java中,如果父类中的某些方法不包含任何逻辑,并且需要由子类重写,应该使用_______关键字来声明父类的这些方法。
A、public class MyClass{ }
B、class MyClass{ }
C、abstract class MyClass{ }
D、final class MyClass { }
13、要产生[20,999]之间的随机整数使用的表达式是_______。
A、(int)(20+Math.random()*97)
B、20+(int)(Math.random()*980)
C、(int)Math.random()*999
D、20+(int)Math.random()*980
14、String类中能返回指定字符串一部分的方法是_______。
A、extractstring()
B、substring()
C、Substring()
D、Middlestring()
15、下列不是Collection 接口的方法_______。
A、iterator
B、isEmpty
C、toArray
D、setText
16、Java中可以使用键/值的形式保存数据的集合类是_______。
A、ArrayList
B、HashSet
C、HashMap
D、TreeMap
17、关于抽象类的说法,正确的是______。
A、抽象类中可以有非抽象方法
B、如果父类是抽象类,则子类必须重写父类所有的抽象方法
C、不能用抽象类去创建对象
D、接口和抽象类是同一个概念
18、下面属于面向字符的输入输出流是________。
A、BufferedWriter
B、FileInputStream
C、ObjectInputStream
D、InputStreamReader
19、Swing与AWT的区别包括________。
A、Swing是由纯Java实现的轻量级构件
B、Swing没有本地代码
C、Swing不依赖操作系统的支持
D、Swing支持图形用户界面
20、关于内部类,下面说法正确的是____________。
A、成员内部类是外部类的一个成员,可以访问外部类的其它成员
B、外部类可以访问成员内部类的成员
C、方法内部类只能在其定义的当前方法中进行实例化
D、静态内部类中可以定义静态成员,也可以定义非静态成员
21、当一个对象被当成垃圾从内存中释放时,它的______方法会被自动调用。
22、如果子类想使用父类中的成员,可以通过关键字______引用父类的成员。
23、Math类中用于计算所传递参数平方根的方法是_____。
24、创建TreeSet对象时,可以传入自定义的比较器,自定义比较器需要实现 接口。
25、Java中一个字符占用两个字节,所有字符采用的都是____码表。
《Java程序设计》课程期末考试测试1
《Java程序设计》课程期末考试测试1客观题
1、编译Java源程序文件将产生相应的字节码文件,字节码文件的扩展名为_____。
A、java
B、class
C、txt
D、exe
2、变量命名规范说法正确的是_____。
A、变量由字母、下划线、数字、$符号随意组成
B、变量不能以数字作为开头
C、A和a在java中是同一个变量
D、不同类型的变量,可以起相同的名字
3、结构化程序设计所规定的三种基本控制结构是_______。
A、输入、处理、输出
B、树形、网形、环形
C、顺序、选择、循环
D、主程序、子程序、方法
4、下面可以实现访问数组arr的第1个元素的写法是__________。
A、arr[0]
B、arr(0)
C、arr[1]
D、arr(1)
5、下面类声明正确的是__________。
A、public void HH{...}
B、public class Move(){...}
C、public class void number{}
D、public class Car{...}
6、Java语言中要想让一个类继承另一个类,可以使用关键字________。
A、inherits
B、implements
C、extends
D、modifies
7、String s = "abcdedcba";则s.substring(3,4)返回的字符串是________。
A、cd
B、de
C、d
D、e
8、Java语言中,集合类都位于的包是________。
A、java.util
B、java.lang
C、java.array
D、java.collections
9、以下选项中,使用缓冲区技术的流是____。
A、BufferedOutputStream
B、FileInputStream
C、DataOutputStream
D、FileReader
10、Frame的默认布局管理器是____。
A、FlowLayout布局管理器
B、BorderLayout布局管理器
C、CardLayout布局管理器
D、GridLayout布局管理器
11、Java应用程序的main方法头是_______。
A、public static int main(char args[ ])
B、public static void main(String args[ ])
C、public static void MAIN(String args[ ])
D、public static void main(String args)
12、Java语言中,整型常数123占用存储字节数是多少?_______
A、1
B、2
C、4
D、8
13、下列不属于条件语句关键字的是____。
A、if
B、else
C、switch
D、while
14、下列方法头中哪一个不与其他方法形成重载(overload)关系的是_______。
A、void method()
B、void method(int i)
C、void method(String s)
D、int methods()
15、类的定义必须包含在以下哪种符号之间?_______
A、方括号[]
B、花括号{}
C、双引号“”
D、圆括号()
16、类中的一个成员方法被_______修饰符修饰,该方法只能在本类被访问。
A、public
B、protected
C、private
D、default
17、Java中以下是包装数据类型______。
A、int
B、Boolean
C、float
D、char
18、获取单列集合中元素的个数可以使用的方法是________。
A、length()
B、size()
C、get(int index)
D、add(Object obj)
19、File类的public boolea isFile()方法的描述,正确的是________。
A、判断该File对象所对应的是否是文件
B、判断该File对象所对应的是否是目录
C、返回文件的最后修改时间
D、在当前目录下生成指定的目录
20、ActionEvent的对象会被传递给的事件处理器方法是____________。
A、addChangeListener
B、addActionListener
C、stateChanged
D、actionPerformed
21、Java属于以下哪种语言?_____
A、机器语言
B、汇编语言
C、高级语言
D、以上都不对
22、一个int类型的整数和一个double类型的数进行加法运算,则结果类型为什么?_____
A、int
B、double
C、float
D、long
23、JAVA语言中用来终止循环语句的关键字是____。
A、return
B、continue
C、break
D、exit
24、void的含义________。
A、方法体为空
B、定义的方法没有形参
C、定义的方法没有返回值
D、方法的返回值不能参加算术运算
25、Java中,以下关于包的描述正确的是___________。
A、声明包使用package关键字,在声明时要在Java源文件第1行
B、可使用package创建一个包,并将package命令作为一个Java源文件的第一条非注释性语句
C、要使用不在同一个包中的类,不需要将包显式地包括在Java程序中
D、在一个Java源文件可以有多个包的声明语句
26、Java语言的异常处理模型中,无论是否发生异常,其中代码都会被执行的块是________。
A、try
B、catch
C、finally
D、throw
27、Math类的常用方法,其中用于计算绝对值的方法是________。
A、ceil()
B、floor()
C、abs()
D、random()
28、要想保存具有映射关系的数据,可以使用________。
A、ArrayList
B、HashSet
C、HashMap
D、TreeSet
29、字符流与字节流的区别在于____。
A、前者带有缓冲,后者没有
B、前者是块读写,后者是字节读写
C、二者没有区别,可以互换使用
D、每次读写的字节数不同
30、提供Java图形处理能力的包是_______。
A、java.sql
B、java.io
C、java.lang
D、javax.swing
31、面向对象程序设计的特性包括_____。
A、抽象性
B、封装性
C、继承性
D、多态性
32、以下是合法标识符的是_____。
A、STRING
B、x3x
C、void
D、de$f
33、下列语句哪些属于循环语句?____
A、for语句
B、if语句
C、while语句
D、switch语句
34、关于方法重载的描述,下列选项中正确的是________。
A、方法名必须一致
B、返回值类型必须不同
C、参数个数必须一致
D、参数的个数或类型不一致
35、下面对于构造方法的描述,正确有哪些?________
A、方法名必须和类名相同
B、方法名的前面没有返回值类型的声明
C、在方法中不能使用return语句返回一个值
D、当定义带参数构造方法,系统默认不带参数构造方法依然存在
36、关键字super的作用是_______。
A、用来访问父类被隐藏的成员变量
B、用来调用父类中被重载的方法
C、用来调用父类的构造方法
D、以上都不是
37、下列关于字符串的描叙中错误的是________。
A、43②字符串是对象
B、String对象存储字符串的效率比StringBuffer高
C、可以使用StringBuffer sb="这里是字符串"声明并初始化StringBuffer对象
D、String类提供了许多用来操作字符串的方法:连接,提取,查询等
38、LinkedList集合中定义的方法包括________。
A、getLast()
B、getFirst()
C、remove(int index)
D、next()
39、下面选项中,属于标准输入输出流的是____。
A、System.in
B、System.out
C、InputStream
D、OutputStream
40、下面选项中,属于事件处理机制中的角色包括____。
A、事件
B、事件源
C、事件接口
D、事件监听器
41、______环境变量则用来保存保存Java虚拟机要运行的“.class”文件路径。
42、Java中,short类型数据占______个字节。
43、Java中有两种类型的控制语句即if和___________。
44、一维数组通过下标符访问自己的元素,需要注意的是下标从___________开始。
45、用修饰符_____________说明的成员变量是类变量。
46、Java语言中,所有的类都直接或间接继承自______类。
47、Java中的用于产生随机数的类是_______。
48、java.util包中提供了一个专门用来操作集合的工具类,这个类是_______。
49、Java中,____类用于操作磁盘中文件和目录。
50、Java中的____类使用来创建标签的,即它的一个实例就是一个标签。
《Java程序设计》课程期末考试测试2
《Java程序设计》课程期末考试测试2客观题
1、编译和解析执行一个Java应用程序应分别采用的命令是_____。
A、java和javac
B、javac和java
C、javap和java
D、javac和jdb
2、下列选项中不合法的Java标识符名字有哪些?_____。
A、counter1
B、$index
C、name-7
D、_byte
3、关于选择结构下列说法正确的是___。
A、if语句和 else语句必须成对出现
B、if语句可以没有else语句对应
C、switch结构中每个case语句中必须用break语句
D、switch结构中必须有default语句
4、下列可以正确创建一个长度为3二维数组的是__________。
A、new int [2][3];
B、new int[3][];
C、new int[][3];
D、以上答案皆不对
5、关于面向对象的说法正确的是________。
A、类可以让我们用程序模拟现实世界中的实体
B、有多少个实体就要创建多少个类
C、对象的行为和属性被封装在类中,外界通过调用类的方法获得,但要知道类的内部如何实现
D、现实世界中的某些实体不能用类来描述
6、Java语言中,关于继承的说法错误的是________。
A、使用extends关键字可以实现一个类继承另一个类
B、所有的Java类都直接或间接地继承了java.lang.Object类
C、在子类的构造方法中,必须显式调用父类的构造方法
D、在子类的构造方法中,可以通过super关键字调用父类的构造方法
7、下面的程序段执行后,输出的结果是________。 StringBuffer buf=new StringBuffer("Beijing2022"); buf.insert(7,"@"); System.out.println(buf.toString());
A、Beijing@2022
B、@Beijing2022
C、Beijing2022@
D、Beijing#2022
8、要想集合中保存的元素没有重复并且按照一定的顺序排列,可以使用________。
A、LinkedList
B、ArrayList
C、HashSet
D、TreeSet
9、下列不属于InputStream类的方法____ 。
A、int read(byte[])
B、void flush()
C、void close()
D、available()
10、新创建Frame不可见,使其可见可使用的方法是____。
A、setSize(300,200)
B、setVisible(true)
C、dispose()
D、repaint()
11、关于Java的叙述中,正确的是________。
A、一个源程序文件中只能定义一个类
B、源文件名与public类名可以不相同
C、源文件扩展名为.java
D、源文件中public类的数目不限
12、下面各项中定义变量及赋值不正确的有哪些?_______
A、int i=32;
B、float f=45.0;
C、double d=45.0;
D、long x=(long)45.0;
13、关于while和do-while循环,下列说法正确的是_______。
A、两种循环除了格式不同外,功能完全相同
B、与do-while语句不同的是,while语句循环至少执行一次
C、do-while语句首先计算终止条件,当条件满足时,才去执行循环体中的语句
D、以上都不对
14、下面为合法的数组声明和构造语句的是_______。
A、int[] ages = [100];
B、int ages = new int[100];
C、int[] ages = new int[100];
D、int() ages = new int(100);
15、Java中用_______关键字修饰的方法可以直接通过类名来调用。
A、static
B、final
C、private
D、void
16、下列关于protected的说法中,正确的是_______。
A、protected修饰的方法,只能给子类使用
B、protected修饰的类,类中的所有方法只能给子类使用
C、如果一个类成员被protected修饰,则该成员既能被同一包下其它类访问,也能被不同包下该类的子类访问
D、以上都不对
17、设有下面两个赋值语句: a = Integer.parseInt(“12”); b = Integer.valueOf(“12”).intValue(); 下述说法正确的是________。
A、a是整数类型变量,b是整数类对象
B、a是整数类对象,b是整数类型变量
C、a和b都是整数类对象并且值相等
D、a和b都是整数类型变量并且值相等
18、下列说法正确的是________。
A、LinkedList集合在查询元素时效率较高
B、ArrayList集合在增删元素时效率较高
C、HashMap允许出现一对null键null值
D、HashSet集合中元素可重复并且无序
19、File类中以字符串形式返回文件绝对路径的的方法是_______。
A、getParent()
B、getName()
C、getAbsolutePath()
D、getPath()
20、下列说法中,正确的是________。
A、如果一个部件注册多个监听者,事件只会被最后一个监听者处理
B、如果一个部件注册多个监听者,事件将被所有监听者处理
C、一个部件注册多个监听者将导致编译出错
D、可以将一个部件已注册的监听者移去
21、在JDK的bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?_______
A、Java文档制作工具
B、Java解释器
C、Java编译器
D、Java启动器
22、判断表达式4%2+4*3/2+2<4&&(1+3)*2+12/3<8的执行结果是_____。
A、false
B、true
C、1
D、0
23、关于for循环和while循环的说法,正确的是____。
A、while循环先判断后执行,for循环先执行后判断
B、while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果
C、两种循环任何时候都不可以替换
D、两种循环结构中都必须有循环体,循环体不能为空
24、在调用方法时,若要使方法改变实参的值,可以__________。
A、用基本数据类型作为参数
B、用对象作为参数
C、A和B都对
D、A和B都不对
25、在一个Java类文件中的关键字package,import,class出现的可能顺序是________。
A、package,import,class
B、class,import,package
C、import,package,class
D、package,class,import
26、下列哪种异常是检查型异常,需要在编写程序时声明________。
A、NullPointerException
B、ClassCastException
C、FileNotFoundException
D、IndexOutOfBoundsException
27、Random对象能够生成随机数的类型是________。
A、int
B、String
C、double
D、A和C
28、程序开发中,经常会存储程序中所需的配置的类是________。
A、HashMap
B、TreeSet
C、Properties
D、TreeMap
29、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象____ 。
A、FileInputStream
B、FileOutputStream
C、DataOutputStream
D、FileWriter
30、可以接收用户的输入信息的组件是____。
A、JButton
B、JLabel
C、JTextField
D、以上都可以
31、Java语言的特点包括_____。
A、面向对象
B、一次编译,到处运行
C、支持多线程
D、运行性能比C语言快很多
32、下列属于合法的标识符的选项是_____。
A、Hello_World
B、class
C、123username
D、username123
33、switch语句判断条件可以接收的数据类型有哪些?____
A、int
B、byte
C、char
D、short
34、下述说法中,正确的是________。
A、在类中声明一个整数数组作为成员变量,如果没有给它赋值,数值元素值为空
B、数组可以在内存空间连续存储任意一组数据=
C、数组必须先声明,然后才能使用
D、数组本身是一个对象
35、使用this调用类的构造方法,下面的说法正确的是__________。
A、使用this调用构造方法的格式为this([参数1,参数2…])
B、只能在构造方法中使用this调用其它的构造方法
C、使用this调用其它构造方法的语句必须放在第一行
D、不能在一个类的两个构造方法中使用this互相调用
36、关于super关键字,以下说法正确的是________。
A、super关键字可以调用父类的构造方法
B、super关键字可以调用父类的普通方法
C、super与this不能同时存在于同一个构造方法中
D、super与this可以同时存在于同一个构造方法中
37、Java语言中的枚举类型,以下说法正确的是________。
A、枚举类型的取值默认为public static final
B、枚举类型中可以定义属性和方法
C、构造方法必须私有
D、枚举类型不可实现其他接口
38、关于foreach循环的特点,以下说法正确的是________。
A、foreach循环在遍历集合时,无需获得容器的长度
B、foreach循环在遍历集合时,无需循环条件,也无需迭代语句
C、foreach循环在遍历集合时非常繁琐
D、foreach循环的语法格式为:for(容器中元素类型 临时变量 :容器变量)
39、下列创建RandomAccessFile类实例对象的代码,正确的是____ 。
A、RandomAccessFile(new File(“D:\\itcast\\dir1\\test.java”),”rw”)
B、RandomAccessFile( “D:\\itcast\\dir1\\test.java”,”r”)
C、RandomAccessFile( “D:\\itcast\\dir1\\test.java”)
D、RandomAccessFile( “D:\\itcast\\dir1\\test.java”,”wr”)
40、下面属于Component子类的组件包括____。
A、Button
B、Dialog
C、Label
D、MenuBar
41、Java程序的运行环境简称之为______。
42、Java中,byte类型数据占______个字节。
43、在循环体中,如果想结束本次循环可以用___________语句。
44、数组声明后,必须使用____________运算符分配内存空间。
45、为了能使用Java提供的类,可以使用_________语句来引入所需的类。
46、定义一个Java类时,如果前面加使用______关键字修饰,那么该类不可以被继承。
47、Java中专门用于将日期格式化为字符串的类是_____。
48、Java语言中,单列集合的根接口是_______。
49、BufferedWriter的____方法可以写入一个换行符。
50、Java.awt包中的____________类是专门用来建立按钮,即它的已额对象就是一个按钮。