第1章 认识Java语言

单元测验1

1、使用计算机处理数据,输入原始数据必须放在下列哪个步骤之后?

A、申请内存空间

B、数据处理

C、输出处理结果

D、未包含在选项中

2、如果程序中出现单词“class”,则这个程序一定不会是下列哪种语言编写的?

A、C语言

B、C++语言

C、Java语言

D、C#语言

3、下列哪种写法是Java语言主函数main()的写法?

A、int main()

B、public static int main()

C、public static void main(String args[])

D、public static int main(String args[])

4、Java开发包JDK中不包含下列哪项内容?

A、Java编译器

B、Java虚拟机

C、Java归档打包程序

D、头文件stdio.h

5、Java运行环境JRE指的是下列哪一项内容?

A、Java编译器

B、Java虚拟机

C、Java API

D、Java虚拟机 + Java API

6、如果想在命令行界面中检查JDK版本,可以输入下列哪条命令?

A、java -version

B、cmd

C、dir

D、JDK -version

7、Java源程序文件的扩展名是( )。

A、.java

B、.class

C、.obj

D、.exe

8、Java类程序文件的扩展名是( )。

A、.java

B、.class

C、.obj

D、.exe

9、Eclipse是一个非常流行的集成开发环境,它是由下列哪个组织负责维护的?

A、Oracle

B、Java

C、Eclipse Foundation

D、Microsoft

10、在Eclipse中编写Java程序,第1步应当( )。

A、新建Java项目

B、新建Java类

C、编写Java代码

D、运行Java程序

11、下列哪种语言编写的程序可以“一次编译,跨平台运行”?

A、C语言

B、C++语言

C、Java语言

D、C/C++/Java语言都可以

12、Java程序向显示器输出信息“Hello, World”,下列哪种写法是错误的?

A、System.out.print( “Hello, world” );

B、System.out.println( “Hello, world” );

C、System.out.print( “Hello, world\n” );

D、printf( “Hello, world\n” );

13、Java语言与C/C++语言在下列哪个方面存在明显区别?

A、数据类型

B、运算符

C、表达式

D、输入/输出

14、下列哪个是JDK提供的编译器?

A、javac.exe

B、java.exe

C、javap.exe

D、javaw.exe

单元作业1

1、参考课本P10-P16,在自己的计算机上搭建并验证Java开发包JDK,简单描述JDK的安装过程及环境变量设置方法,并给出在Windows命令行界面显示Java版本号的界面(请粘贴屏幕截图,不要上传附件)。 JDK开发包可以从书中P11页所给网址下载,也可从此百度网盘下载: 链接:https://pan.baidu.com/s/1pP3FsJ4Bi2do7u3-yZLZDg 提取码:wky5

2、参考下面附件,编写1个简单的Java应用程序并运行它,简述Java程序的开发步骤,给出源文件编写界面以及运行结果(请粘贴屏幕截图,不要上传附件)。

第2章 Java语言基础

单元测验2

1、每周有7天,为星期一~星期日分别赋予一个整数编码。使用十进制只需1位编码就够了,例如0~6。使用二进制最少需要几位编码?

A、1

B、2

C、3

D、4

2、采用无符号格式,4位二进制数可以存储的数值范围是( )。

A、0~3

B、1~4

C、0~9999

D、0~15

3、Java语言中没有下列哪种数据类型?

A、byte

B、unsigned int

C、short

D、boolean

4、Java语言中下列哪种数据类型的存储位数与char类型一样多?

A、byte

B、short

C、int

D、double

5、Java语言中下列哪种数据类型的存储位数与long类型一样多?

A、byte

B、short

C、int

D、double

6、假设变量x的值域为[0,50000]之间的整数,则其最适合的数据类型是哪种?

A、short

B、int

C、long

D、float

7、Java源程序中,下列哪个整数的数值最小?

A、15

B、15L

C、015

D、0x15

8、Java表达式“5 / 2”,该表达式结果的数据类型和值分别是( )。

A、short,2

B、int,2

C、float,2.5

D、double,2.5

9、执行Java语句“int x = 5, y; y = x++;”之后,变量x和y的值分别为( )。

A、5, 5

B、5, 6

C、6, 5

D、6, 6

10、异或运算表达式“1001 ^ 0110”的结果是( )。

A、1001

B、0110

C、0000

D、1111

11、执行Java语句“int x = 5; double y = 10.5; y -= x / 2.0;”之后,变量y的值为( )。

A、2.25

B、5.0

C、8.0

D、8.5

12、下列哪种结构不属于算法的三种基本结构?

A、顺序结构

B、并列结构

C、选择结构

D、循环结构

13、Java表达式“5 <= 5”,该表达式结果的数据类型和值分别是( )。

A、int,0

B、int,true

C、boolean,true

D、boolean,false

14、Java表达式“1 >= 0 && 0 <= 1”的结果是( )。

A、0

B、1

C、true

D、false

15、执行Java语句“if (1 < 0 || false) System.out.print(“Hello world!”);”显示器上将显示( )。

A、"Hello world!"

B、Hello, world!

C、Hello world!

D、什么都没显示

16、执行下列Java语句:int x = 1; switch ( x+1 ) { case 1: System.out.print("One" ); case 2: System.out.print("Two" ); case 3: System.out.print("Three" ); default: System.out.print("Error" ); } 显示器上将显示( )。

A、One

B、Two

C、TwoThree

D、TwoThreeError

17、执行下列Java语句:int x = 0, y = 0; for (x = 5; x > 0; x--) y += 2; 执行结束后,x和y的值分别为( )。

A、5, 0

B、0, 5

C、5, 10

D、0, 10

18、执行下列Java语句:int x = 0; while (x < 3) System.out.print("*" ); x++; 显示器将显示( )。

A、一个星号

B、两个星号

C、三个星号

D、持续显示星号

单元作业2

1、下列哪项字符序列可以作为标识符? A. true B. default C. _int D. good-class

2、下列哪三项是正确的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;

3、以下哪两项是正确的char型变量的声明? A. char ch="R"; B. char ch='\\'; C. char ch='ABCD'; D. char ch="ABCD";

4、上机调试下列程序,注意System.out.print()和System.out.println()的区别,将运行结果截图。 public class OutputData{ public static void main(String args[]){ int x=234, y=432; System.out.println(x+"

5、编写一个应用程序,给出汉字“你”“我”“他”在Unicode表中的位置。 提示:可参考第2章补充内容pdf文件中的P20 例子1。

单元作业第3周

1、用下列哪个代码替换程序标注的【代码】会导致编译错误? A.m-->0 B.m++>0 C.m = 0 D.m>100&&true public class E { public static void main (String args[ ]) { int m=10,n=0; while(【代码】) { n++; } } }

2、阅读下列程序,给出程序的输出结果。 public class E { public static void main (String args[ ]) { char c = '\0'; for(int i=1;i<=4;i++) { switch(i) { case 1: c = 'J'; System.out.print(c); case 2: c = 'e'; System.out.print(c); break; case 3: c = 'p'; System.out.print(c); default: System.out.print("好"); } } } }

3、阅读下列程序,给出程序的输出结果。 public class E { public static void main (String []args) { int x = 1,y = 6; while (y-->0) { x--; } System.out.print("x="+x+",y="+y); } }

4、编写应用程序求1!+2!+…+10!。 要求有完整代码和结果截图。

5、分别用do-while和for循环计算1+1/2!+1/3!+1/4!… … 的前20项和。 要求有完整代码和结果截图。

第4章 类与对象

单元测验第4周

1、下列哪个叙述是正确的?

A、Java应用程序由若干个类所构成,这些类必须在一个源文件中。

B、Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,其中必须有一个源文件含有主类。

C、Java源文件必须含有主类。

D、Java源文件如果含有主类,主类必须是public类。

2、下列哪个叙述是正确的?

A、成员变量的名字不可以和局部变量的相同。

B、方法的参数的名字可以和方法中声明的局部变量的名字相同。

C、成员变量没有默认值。

D、局部变量没有默认值。

3、对于下列Hello类,哪个叙述是正确的? class Hello { Hello(int m){ } int Hello() { return 20; } hello() { } }

A、Hello类有2个构造方法。

B、Hello类的int Hello()方法是错误的方法。

C、Hello类没有构造方法。

D、Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)。

4、对于下列Dog类,哪个叙述是错误的? class Dog { Dog(int m){ } Dog(double m){ } int Dog(int m){ return 23; } void Dog(double m){ } }

A、Dog(int m)与Dog(double m)互为重载的构造方法。

B、int Dog(int m)与void Dog(double m)互为重载的非构造方法。

C、Dog类只有两个构造方法,而且没有无参数的构造方法。

D、Dog类有3个构造方法。

5、下列说法正确的是哪个?

A、不需要定义类,就能创建对象。

B、对象中必须有属性和方法。

C、属性可以是基本数据类型的变量,也可以是一个对象。

D、属性必须是基本数据类型的变量。

6、以下关于Java中类的构造方法的说法中,错误的是哪个?

A、构造方法必须与其所属类同名。

B、构造方法可以用new运算符调用(系统自动调用)。

C、一个类只能有一个构造方法。

D、构造方法只能有形参,而没有返回值。

7、下面哪个方法可以作为 public void example(int m ){ //... } 的重载方法?

A、public void example(float m){...}

B、public void example(int x){...}

C、public void example2( ){...}

D、public int example ( ){...}

8、设A是已定义的类名,下列声明类A的对象a1的语句中正确的是哪项?

A、A a1= new B( );

B、A a1=new A( );

C、int A a1;

D、A a1= A( );

9、下列方法定义中,不正确的是哪项?

A、float fun(int a, int b) { return (a-b); }

B、int fun(int a, int b) { return a-b;}

C、int fun(){char ch='a'; return (int)ch;}

D、int fun(int a, int b) {return 1.2*(a+b);}

10、设 i、j、k 为类 x 中定义的 int 型变量,下列类 x 的构造方法中不正确的是哪项?

A、x(int m){ ... }

B、x(int m, int n){ ... }

C、void x( int m){ ... }

D、x(int h,int m,int n){ ... }

11、为AB类的一个无形式参数且无返回值的方法method书写方法头,要使用类名AB作为前缀就可以调用该方法(即可以通过类名调用方法method),该方法头的形式为以下哪种?

A、abstract void method( )

B、final void method( )

C、public void method( )

D、static void method( )

12、class _____{ String name; int age; Student(String s, int i) { name=s; age=i; } }

13、下列程序的输出结果为( )。 class Tom { int x = 8, y; void f() { int x =10; y = x*x; } public static void main(String args[]) { Tom tt = new Tom(); tt.f(); System.out.println(tt.y); } }

14、下列程序执行之后,将会输出( )。 public class Test { public static void main(String[] args) { int salary, nCars, nHouses; salary = 6000; nCars = 0; nHouses = 0; DayDreaming(salary, nCars, nHouses); System.out.println(salary + "," + nCars + "," + nHouses); } static void DayDreaming(int salary, int cars, int houses) { salary = salary * 3; cars += 2; houses++; } }

单元测验第5周

1、下列E类的类体中哪些【代码】是错误的? class E { int x; //【代码1】 long y = x; //【代码2】 public void f(int n) { int m; //【代码3】 int t = n+m; //【代码4】 }

A、【代码1】

B、【代码2】

C、【代码3】

D、【代码4】

2、下面哪个语句正确地声明一个整型的二维数组?

A、int a[][] = new int[][100];

B、int a[100][100] = new int[][];

C、int a[][] = new int[100][100];

D、int a[][] = new int[][];

3、下列哪些类声明是错误的?

A、class A

B、public class A

C、protected class A

D、private class A

4、下列A类中【代码1】~【代码5】哪些是错误的? class Tom { private int x = 120; protected int y = 20; int z = 11; private void f() { x = 200; System.out.println(x); } void g() { x = 200; System.out.println(x); } } public class A { public static void main(String args[]) { Tom tom = new Tom(); tom.x = 22; //【代码1】 tom.y = 33; //【代码2】 tom.z = 55; //【代码3】 tom.f(); //【代码4】 tom.g(); //【代码5】 } }

A、【代码1】

B、【代码2】

C、【代码3】

D、【代码4】

E、【代码5】

5、下列程序的输出结果是()。 class Tom { int x = 10, y; void f() { int x = 5; y = x + this.x; } public static void main(String args[]) { Tom tt = new Tom(); tt.f(); System.out.println(tt.y); } }

6、下列程序的输出结果为( )。 class Point { int x, y; Point() { this(10, 10); } Point(int a, int b) { x = a; y = b; } public static void main(String[] args) { Point pp = new Point(); System.out.println(pp.x + "," + pp.y); } }

7、在当前目录下,创建一个名为 Tools 的包的语句是 。

8、引入java.util包中所有的类的语句是 。

9、数组x定义为:int x[ ][ ]=new int[5][8] ,则 x[2].length 的值为 。

10、下列程序的输出结果为( )。 public class MainClass { public static void main(String args[]) { int i, s = 0; int num[] = { 11, 22, 33, 44, 55, 66, 77, 88, 99 }; for (i = 0; i < num.length; i++) if (num[i] % 3 == 0) s += num[i]; System.out.println(s); } }

单元作业第4-5周

1、下列程序执行之后,将会输出( )。注意:程序中的符号为英文状态下的符号(如逗号和分号)。 public class Counter { int myCount =100; static int ourCount =500; void increment() { myCount++; ourCount++; } public static void main(String[] args) { Counter counter1 = new Counter(); Counter counter2 = new Counter(); counter1.increment(); counter1.increment(); System.out.print(counter1.myCount+","+counter1.ourCount+","); counter2.increment(); System.out.print(counter2.myCount+","+counter2.ourCount); } }

2、请写出下述程序的输出结果( )。 class Counter { int i = 0; } public class Reference { public void plus(int i) { i++; } public void plus(Counter c) { c.i++; } public void create(Counter c) { c = new Counter(); c.i++; } public static void main(String[] args) { int i = 0; Reference r = new Reference(); Counter c1 = new Counter(), c2 = new Counter(); r.plus(i); System.out.print(i); r.plus(c1); System.out.print(c1.i); r.create(c2); System.out.print(c2.i); } }

3、请写出下述程序的输出结果( )。 public class Main { public static void main(String[] args) { int a[] = { 0, 0, 0, 0, 0, 0 }; calculate(a); for (int x : a) System.out.print(x); } static void calculate(int x[]) { for (int i = 1; i < x.length; i++) x[i] = x[i - 1] + 1; } }

4、设计一个point(点)类: (1)该类具有成员变量x,y(表示点的横、纵坐标); (2)定义一个有参构造方法point(int x,int y),将其一对坐标值作为参数,其中x,y为给定坐标值; (3)定义一个无参的构造方法point( )(令两坐标值均为0); (4)设计一个实例方法distance(point p1,point p2),实现求坐标轴上两个点的距离(Java中的开平方根函数为Math.sqrt()),其方法的声明为:double distance(point p1,point p2) 。 编写Test类,在其main方法中创建2个point对象,对应点(10,10)和点(20,25),再调用distance(point p1,point p2)方法计算出两点之间的距离并输出该值。

5、按以下要求编写程序: (1) 创建一个圆形的类,即Circle类,添加radius一个成员变量(数据类型为double ),表示圆形的半径; (2) 定义一个有参的构造方法Circle(double r); (3) 在Circle中定义两种成员方法double getLength()和double getArea(),分别计算圆形的周长和面积; (4) 编写 Test 类测试 Circle 类,在其main方法中创建 1 个 Circle 对象 circle1 ,半径为1,调用相应的实例方法来计算该圆形的周长和面积并输出。 要求贴出完整代码,以及运行结果截图。

6、用类描述计算机中CPU的速度和硬盘的容量。要求Java应用程序有4个类,名字分别是PC,CPU和HardDisk和Test,其中Test是主类。 PC类与CPU和HardDisk类关联的UML图如附件所示。其中,CPU类要求getSpeed()返回speed的值;要求setSpeed(int m)方法将参数m的值赋值给speed。HardDisk类要求getAmount()返回amount的值,要求setAmount(int m)方法将参数m的值赋值给amount。PC类要求setCUP(CPU c) 将参数c的值赋值给cpu,要求setHardDisk (HardDisk h)方法将参数h的值赋值给HD,要求show()方法能显示cpu的速度和硬盘的容量。 主类Test要求有: ① main方法中创建一个CPU对象cpu,cpu将自己的speed设置为2200, ② main方法中创建一个HardDisk对象disk,disk将自己的amount设置为200, ③ main方法中创建一个PC对象pc, ④ pc调用setCUP(CPU c)方法,调用时实参是cpu, ⑤ pc调用setHardDisk (HardDisk h)方法,调用时实参是disk, ⑥ pc调用show()方法。

第5章 子类与继承

单元测验第7周

1、将下列哪个代码(A,B,C,D)放入程序中标注的【代码】处将导致编译错误? class A { public float getNum() { return 3.0f; } } public class B extends A { 【代码】 }

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;}

2、对于下列代码,下列哪个叙述是正确的? class A { public int i=0; A(int m) { i = 1; } } public class B extends A { B(int m) { i = 2; } public static void main(String args[]){ B b = new B(100); System.out.println(b.i); //【代码】 } }

A、程序提示编译错误(原因是A类没有不带参数的构造方法)

B、编译无错误,【代码】输出结果是0

C、编译无错误,【代码】输出结果是1

D、编译无错误,【代码】输出结果是2

3、假设C是B的子类,B是A的子类,cat是C类的一个对象,bird是B类的一个对象,下列哪个叙述是错误的?

A、cat instanceof B的值是true

B、bird instanceof A的值是true

C、cat instanceof A的值是true

D、bird instanceof C的值是true

4、下列程序中注释的哪个代码(A,B,C,D)是错误的(无法通过编译)? class A { static int m; static void f(){ m = 20 ; //A } } class B extends A { void f() //B { m = 222 ; //C } } class E { public static void main(String args[]) { A.f(); // D } }

A、A

B、B

C、C

D、D

5、下列程序中注释的哪两个代码(A,B,C,D)是错误的(无法通过编译)? class Father { private int money =12; float height; int seeMoney(){ return money ; //A } } class Son extends Father { int height; int lookMoney() { int m = seeMoney(); //B return m; } } class E { public static void main(String args[]) { Son erzi = new Son(); erzi.money = 300; //C erzi.height = 1.78F; //D } }

A、A

B、B

C、C

D、D

6、子类可以有多个父类吗?

7、java.lang包中的Object类是所有其他类的祖先类吗?

8、如果子类和父类不在同一个包中,子类是否继承父类的友好成员?

9、子类怎样隐藏继承的成员变量?

10、子类重写方法的规则是怎样的?重写方法的目的是什么?

单元测验第8周

1、下列哪个叙述是正确的?

A、子类继承父类的构造方法。

B、abstract类的子类必须是非abstract类。

C、子类继承的方法只能操作子类继承和隐藏的成员变量。

D、子类重写或新增的方法也能直接操作被子类隐藏的成员变量。

2、下列哪个叙述是正确的?

A、final 类可以有子类。

B、abstract类中只可以有abstract方法。

C、abstract类中可以有非abstract方法,但该方法不可以用final修饰。

D、允许使用static修饰abstract方法。

3、下列叙述正确的是?

A、子类继承父类的构造方法。

B、子类不可以定义和父类同名的方法。

C、若在子类中想使用被子类隐藏的成员变量或方法就需要使用关键字super。

D、子类不可以声明和父类同名的成员变量。

4、下列叙述是错误的是?

A、子类对象的上转型对象不能操作子类新增的成员变量(失去了部分属性),不能调用子类新增的方法。

B、抽象类声明的对象可以成为子类对象的上转型对象。

C、子类对象的上转型对象可以访问子类继承或隐藏的成员变量。

D、若一个抽象类是某个抽象类的子类,那么它必须将父类抽象方法重写为非抽象方法。

5、下列代码中标注的(A,B,C,D)中,哪一个是错误的? abstract class Takecare { protected void speakHello() {} //A public abstract static void cry(); //B static int f(){ return 0 ;} //C abstract float g(); //D

A、A

B、B

C、C

D、D

6、下列程序中注释的哪个代码(A,B,C,D)是错误的(无法通过编译)? abstract class A { abstract float getFloat (); //A void f() //B { } } public class B extends A { private float m = 1.0f; //C private float getFloat () //D { return m; } }

A、A

B、B

C、C

D、D

7、父类的final方法可以被子类重写吗?

8、什么类中可以有abstract方法?

9、对象的上转型对象有怎样的特点?

10、一个类的各个子类是怎样体现多态的?

单元作业第7周

1、请说出E类中【代码1】,【代码2】的输出结果并分析原因。 class A { double f(double x,double y) { return x+y; } } class B extends A { double f(int x,int y) { return x*y; } } public class E { public static void main(String args[]) { B b=new B(); System.out.println(b.f(3,5)); //【代码1】 System.out.println(b.f(3.0,5.0)); //【代码2】 } }

2、请说出下列B类中【代码1】,【代码2】的输出结果并分析原因。 class A { public int getNumber(int a) { return a+1; } } class B extends A { public int getNumber (int a) { return a+100; } public static void main (String args[]) { A a =new A(); System.out.println(a.getNumber(10)); //【代码1】 a = new B(); System.out.println(a.getNumber(10)); //【代码2】 } }

单元作业第8周

1、请说出E类中【代码1】~【代码4】的输出结果并分析原因。 class A { double f(double x,double y) { return x+y; } static int g(int n) { return n*n; } } class B extends A { double f(double x,double y) { double m = super.f(x,y); return m+x*y; } static int g(int n) { int m = A.g(n); return m+n; } } public class E { public static void main(String args[]) { B b = new B(); System.out.println(b.f(10.0,8.0)); //【代码1】 System.out.println(b.g(3)); //【代码2】 A a = new B(); System.out.println(a.f(10.0,8.0)); //【代码3】 System.out.println(a.g(3)); //【代码4】 } }

2、请说出E类中【代码1】~【代码3】的输出结果并分析原因。 class A { int m; int getM() { return m; } int seeM() { return m; } } class B extends A { int m ; int getM() { return m+100; } } public class E { public static void main(String args[]) { B b = new B(); b.m = 20; System.out.println(b.getM()); //【代码1】 A a = b; a.m = -100; // 上转型对象访问的是被隐藏的m System.out.println(a.getM()); //【代码2】上转型对象调用的一定是子类重写的getM()方法 System.out.println(b.seeM()); //【代码3】子类继承的seeM()方法操作的m是被子类隐藏的m } }

3、设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声。要求如下: 1)编写抽象类Animal Animal抽象类有2个抽象方法cry()和getAnimaName(),即要求各种具体的动物给出自己的叫声和种类名称。 2)编写模拟器类Simulator 该类有一个playSound(Animal animal)方法,该方法的参数是Animal类型。即参数animal可以调用Animal的子类重写的cry()方法播放具体动物的声音、调用子类重写的getAnimalName()方法显示动物种类的名称。 3)编写Animal类的子类:Dog,Cat类 Dog中重写的cry()方法实现在控制台输出“bow-wow”,及其getAnimalName()方法实现输出“Dog”; Cat中重写的cry()方法实现在控制台输出“miaow”,及其getAnimalName()方法实现输出“Cat”。 4)编写主类Application(用户程序) 在主类Application的main方法中至少包含如下代码: Simulator simulator = new Simulator(); simulator.playSound(new Dog()); simulator.playSound(new Cat()); 注:此题中每个类的代码量均在3~5行左右,不复杂。

第6章 接口与实现

单元测验第9周

1、下列哪个叙述是正确的?

A、一个类最多可以实现两个接口。

B、如果一个抽象类实现某个接口,那么它必须要重写接口中的全部方法。

C、如果一个非抽象类实现某个接口,那么它可以只重写接口中的部分方法。

D、允许接口中只有一个抽象方法。

2、将下列哪个代码替换下列程序中的【代码】不会导致编译错误? interface Com { int M = 200; int f(); } class ImpCom implements Com { 【代码】 }

A、public int f(){return 100+M;}

B、int f(){return 100;}

C、public double f(){return 2.6;}

D、public abstract int f();

3、下列接口中标注的(A,B,C,D)中,哪两个是错误的? interface Takecare { protected void speakHello(); //A public abstract static void cry(); //B int f(); //C abstract float g(); //D }

A、A

B、B

C、C

D、D

4、接口中能声明变量吗?

5、接口中能定义非抽象方法。

6、接口中的常量可以不指定初值。

7、可以在接口中只声明常量,不声明抽象方法。

8、什么叫接口的回调?

单元作业第9周

1、请说出E类中【代码1】,【代码2】的输出结果并分析原因。 interface A { double f(double x,double y); } class B implements A { public double f(double x,double y) { return x*y; } int g(int a,int b) { return a+b; } } public class E { public static void main(String args[]) { A a = new B(); System.out.println(a.f(3,5)); //【代码1】 B b = (B)a; System.out.println(b.g(3,5)); //【代码2】 } }

2、请说出E类中【代码1】,【代码2】的输出结果并分析原因。 interface Com { int add(int a,int b); } abstract class A { abstract int add(int a,int b); } class B extends A implements Com{ public int add(int a,int b) { return a+b; } } public class E { public static void main(String args[]) { B b = new B(); Com com = b; System.out.println(com.add(12,6)); //【代码1】 A a = b; System.out.println(a.add(10,5)); //【代码2】 } }

3、该题目和第5章习题5的编程题类似,只不过这里要求使用接口而已。 设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声。要求如下: 1)编写接口Animal Animal接口有2个抽象方法cry()和getAnimaName(),即要求实现该接口的各种具体动物类给出自己的叫声和种类名称。 2)编写模拟器类Simulator 该类有一个playSound(Animal animal)方法,该方法的参数是Animal类型。即参数animal可以调用实现Animal接口类重写的cry()方法播放具体动物的声音、调用重写的getAnimalName()方法显示动物种类的名称。 3)编写实现Animal接口的Dog类和Cat类 4)编写主类Application(用户程序) 在主类Application的main方法中至少包含如下代码: Simulator simulator = new Simulator(); simulator.playSound(new Dog()); simulator.playSound(new Cat()); 附件是Simulator、Animal、Dog、Cat的UML图。 提示:参考P156例子6。

第7章 内部类与异常类

单元测验第10周

1、下列代码标注的(A,B,C,D)中哪一个是错误的? class OutClass { int m = 1; static float x; //A class InnerClass { int m =12; //B static float n =20.89f; //C InnerClass(){ } void f() { m = 100; } } void cry() { InnerClass tom = new InnerClass(); //D } }

A、A

B、B

C、C

D、D

2、下列哪一个叙述是正确的?

A、和接口有关的匿名类可以是抽象类。

B、和类有关的匿名类一定是该类的一个非抽象子类。

C、和类有关的匿名类还可以额外地实现某个指定的接口。

D、和接口有关的匿名类的类体中可以有static成员变量。

3、内部类的外嵌类的成员变量在内部类中仍然有效。

4、内部类中的方法也可以调用外嵌类中的方法。

5、内部类的类体中可以声明类变量和类方法。

6、匿名类一定是内部类。

7、请写出下列程序的输出结果并分析原因。 class Cry { public void cry() { System.out.println("我想哭"); } } public class E { public static void main(String args[]) { Cry hello = new Cry() { public void cry() { System.out.println("不要哭,没什么大不了"); } }; hello.cry(); } }

8、interface Com{ public void speak(); } public class EE { public static void main(String args[]) { Com p= new Com() { public void speak() { System.out.println("p是接口变量"); } }; p.speak(); } }

第8章 常用实用类

单元测验第11周

1、以下哪个叙述是正确的?

A、"你好KU".length()的值是6。

B、"\n\t\t".length()的值是3。

C、"Hello".equals("hello")的值是true。

D、"java".equals("java")的值是false。

2、下列哪种叙述是错误的?

A、"RedBird".indexOf("Bird")的值是3。

B、"RedBird".indexOf("Cat")的值是-1。

C、执行Integer.parseInt("12.9");不会发生异常。

D、执行Integer.parseInt("12.9");会发生异常。

3、下列哪个叙述是正确的?

A、String 类是final 类,不可以有子类。

B、String 类在java.util包中。

C、"abc"=="abc"的值是false。

D、"abc".equals("Abc")的值是true。

4、下列哪个表达式是正确的(无编译错误)?

A、int m =Float.parseFloat("567");

B、int m =Short.parseShort("567");

C、byte m =Integer.parseInt("2");

D、float m =Float.parseDouble("2.9");

5、对于如下代码,下列哪个叙述是正确的? public class E{ public static void main(String[] args){ String strOne="bird"; String strTwo=strOne; strOne="fly"; System.out.println(strTwo); } }

A、程序编译出现错误。

B、程序标注的【代码】的输出结果是bird。

C、程序标注的【代码】的输出结果是fly。

D、程序标注的【代码】的输出结果是null。

6、对于如下代码,下列哪个叙述是正确的? public class E { public static void main (String args[]) { String s1 = args[1]; String s2 = args[2]; String s3 = args[3]; System.out.println(s3); } }

A、程序出现编译错误。

B、无编译错误,在命令行执行程序:“java E I love this game”,程序输出this。

C、无编译错误,在命令行执行程序:“java E let us go”,程序无运行异常。

D、无编译错误,在命令行执行程序:“java E 0 1 2 3 4 5 6 7 8 9”程序输出3。

7、下列哪个叙述是错误的?

A、"9dog".matches("\\ddog")的值是true。

B、"12hello567".replaceAll("[123456789]+","@")返回的字符串是@hello@。

C、new Date(1000)对象含有的时间是公元后1000小时的时间。

D、"\\hello\n"是正确的字符串常量。

8、"\hello"是正确的字符串常量。

9、"Bird".compareTo("Bird fly")的值是正数。

10、"I love this game".contains("love")的值是true。

单元作业第11周

1、String类的public char charAt(int index)方法可以得到当前字符串index位置上的一个字符。编写程序使用该方法得到一个字符串中的第一个和最后一个字符。

2、计算某年、某月、某日和某年、某月、某日之间的天数间隔。要求年、月、日使用main方法的参数传递到程序中(见例子4)。

3、编程练习Math类的常用方法。

4、编写程序剔除一个字符串中的全部非数字字符,例如,将形如“ab123you”的非数字字符全部剔除,得到字符串“123”(参看例子10)。

第10章 输入、输出流

单元测验第12周

1、下列哪个叙述是正确的?

A、创建File对象可能发生异常。

B、BufferedReader流可以指向FileInputStream流。

C、BufferedWriter流可以指向FileWriter流。

D、RandomAccessFile流一旦指向文件,就会刷新该文件。

2、为了向文件hello.txt尾加数据,下列哪个是正确创建指向hello.txt的流?

A、try { OutputStream out = new FileOutputStream ("hello.txt"); } catch(IOException e){}

B、try { OutputStream out = new FileOutputStream ("hello.txt",true); } catch(IOException e){}

C、try { OutputStream out = new FileOutputStream ("hello.txt",false); } catch(IOException e){}

D、try { OutputStream out = new OutputStream ("hello.txt",true); } catch(IOException e){}

3、如果准备按字节读取一个文件的内容,应当使用FileReader流。

4、FileInputStream的read方法按字节读取文件,FileReader的read方法按字符读取文件。

5、BufferedReader流能直接指向一个文件。

6、文件E.java的长度是51个字节,请说出E类中标注的【代码1】和【代码2】的输出结果。 import java.io.*; public class E { public static void main(String args[]) { File f = new File("E.java"); try{ RandomAccessFile in = new RandomAccessFile(f,"rw"); System.out.println(f.length()); //【代码1】 FileOutputStream out = new FileOutputStream(f); System.out.println(f.length()); //【代码2】 } catch(IOException e) { System.out.println("File read Error"+e); } } } 注:两输出结果之间用逗号隔开。

第11章 JDBC与MySQL数据库

单元作业第13周

1、参照教材上的例子2和例子3,按出生日期排序mess表的记录。

2、借助例子6中的Query类,编写一个应用程序来查询MySQL数据库,程序运行时用户从命令行输入数据库名和表名,例如: java 主类 数据库 表

第13章 Java网络编程

第14周作业

1、参照教材P404例子4,使用套接字连接编写网络程序,客户输入三角形的三边并发送给服务器,服务器把计算出的三角形的面积返回给客户。

x的平方加y平加xy的java语言_JAVA语言及网络编程-中国大学mooc-题库零氪相关推荐

  1. 两步解决----中国大学mooc网页加载慢

    两步解决----中国大学mooc网页加载慢 文章目录 两步解决----中国大学mooc网页加载慢 ①终端清除本机DNS缓存 ②打开控制面板 ①终端清除本机DNS缓存 1.WIN+R:输入cmd 2.输 ...

  2. C语言口求整除x与y的余数,微机原理与接口-中国大学mooc-题库零氪

    第1章 微型计算机基础 1.2 硬件结构随堂测验 1.1.典型的PC系统结构中,南桥和北桥中间是ISA总线 2.2.微型计算机中CPU.ROM.RAM.I/O通过地址总线.数据总线.控制总线连接起来 ...

  3. antd 表格加y轴滚动时行与行间错位问题

    当表格左侧或右侧列使用fixed 时,加y轴滚动会出现与普通行不对齐. .ant-table-body-outer{margin-top:5px !important; // 根据实际调整matgin ...

  4. 三维GIS场景加载平纵横 公路设计与现状地形更协调

    平纵横设计的主要目的是选择合理的弯曲半径,避开障碍物,选择合理的坡度,选择合理的横断面形式,控制施工量和工程量.在公路工程设计中,平纵横是设计工作的关键与重点,设计时需要考虑平纵横与现状地形的关系及协 ...

  5. 求从1到10 (k的平方)的连加和

    编写程序,求从1到10 (k的平方)的连加和 public class QiuHe {public static void main(String[] args) {int sum=0,j=1;for ...

  6. python计算1的平方减2的平方加3的平方减4的平方怎么算_已知X的平方加4x减一等于零 求2x的四次方加八X的三次方减四X的平方减八X加一的值...

    已知X的平方加4x减一等于零 求2x的四次方加八X的三次方减四X的平方减八X加一的值以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来 ...

  7. python一个图画两条曲线_用python建立两个Y轴的XY曲线图方法

    想把python提取出来的 加载点反力和某个单元的应力画在同一个XY曲线图上,由于两者数量级差太远,故而需要建立有两个Y轴的XY曲线图. 效果为: 代码如下: #创建Quatype,作为标记,用于判断 ...

  8. python画xy轴_用python建立两个Y轴的XY曲线图方法

    想把python提取出来的 加载点反力和某个单元的应力画在同一个XY曲线图上,由于两者数量级差太远,故而需要建立有两个Y轴的XY曲线图. 效果为: 代码如下: #创建Quatype,作为标记,用于判断 ...

  9. 用python建立两个Y轴的XY曲线图

    想把python提取出来的 加载点反力和某个单元的应力画在同一个XY曲线图上,由于两者数量级差太远,故而需要建立有两个Y轴的XY曲线图. 效果为: 代码如下: #创建Quatype,作为标记,用于判断 ...

最新文章

  1. excel 按数据拆分 xlam_Excel按类别名称自定义排序:玩转Excel数据
  2. 工厂模式(Factory)
  3. python路径文件api
  4. 调查问卷 | 中国云原生用户调研,邀您参与!
  5. C++学习笔记:(五)继承 多态
  6. 使用php创建一个注册表单,如何实现一个简单的注册表单
  7. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第2篇]多核处理器和向量处理器的区别
  8. php文本域输出_如何在文本分类任务中Fine-Tune BERT
  9. html表格td点击事件,监听layui中的table中的td点击事件
  10. [Fedora 20] 设置Terminal快捷键 + 设置桌面快捷方式 + Terminal透明解决方案
  11. php求add函数,PHP函数每日一贴之字符串函数-addcslashes()函数
  12. a卡是什么?a卡和n卡的区别
  13. 会计核算的基本前提与确认计量的一般原则
  14. html 垂直底端对齐,CSS vertical-align(垂直对齐)
  15. 【PTA】【C语言(一)】
  16. ckfinder java 源码_Ckeditor与Ckfinder(java)整合实现富媒体内容编辑(支持文件上传)
  17. 旅行:旅行的意义是旅行本身没有意义
  18. 数字化引领LED照明的未来
  19. 【NOWCODE SEVEN】:二分查找/排序
  20. MOOC(幕课)的到来!

热门文章

  1. 为什么 StackOverflow 上的代码片段会摧毁你的项目?
  2. 仅用六个字符来完成Hello World,你能做到吗?
  3. 如何从三流程序员成长为一名年薪50W的架构师(文末附送学习资料)
  4. linux系统获取用户信息失败怎么办,异常详细信息: System.Data.SqlClient.SqlException: 用户 'NT AUTHORITY\IUSR' 登录失败解决办法...
  5. torch distributed 多GPU训练笔记
  6. CUDA error: an illegal memory access was encountered
  7. reduce_sum() got an unexpected keyword argument 'keep_dims'
  8. pythonctypes int数组调用dll
  9. test argument is not supported anymore. Use chainer.using_config
  10. pthread_cond_broadcast相关