面向对象程序设计(java)中国大学mooc完整答案-买球的app软件下载

当前位置:正规买球app首页 » » 正文

7595 人参与  2023-01-04 06:08:36    点这评论
01 面向对象程序设计(java)概述

01 课前练习题

1、java语言既是面向()编程语言也是面向()的编程语言。

2、最常用的java集成开发环境有()和()。

3、开发java程序必需安装的软件是(),必需配置的环境变量是()。

4、java源文件的扩展名是()编译后的字节码文件扩展名是()。

5、java平台的三大版本分别是()、()和java me。

6、java编译器是指一个名为()的程序,解释器是名为()的程序。

7、java字节码不是本地机代码,不能直接运行,只能在()上运行。

8、jvm是一种运行()的应用程序,jre是包含()和java类库的环境。

9、jdk是包含()及一个java编译器和其它程序的工具集。

10、开发java程序通常分为()、()和执行调试程序三步。

11、java的每条语句都以()结束,java()对编译器都具有特殊含义,不能用于其它目的。

12、java源程序支持三种注释类型分别为()注释、()注释和文档注释。

13、java源程序的多行注释是以()开始,以()结束。

14、java语言与其它语言相比较的优势是它的程序是()的,只要系统安装了()java程序无需修改就可以执行,从而实现“一次编写多出运行”的目标。

15、java程序是一组()的定义集合,关键字()引入类的定义,类体包含在一对大括号中。

01课前练习题

1、最常用的java集成开发环境有()和()。

2、最常用的java集成开发环境有()和()。

3、开发java程序必需安装的软件是(),必需配置的环境变量是()

4、java源文件的扩展名是()编译后的字节码文件扩展名是()

5、java平台的三大版本分别是()、()和java me。

6、java编译器是指一个名为()的程序,解释器是名为()的程序。

7、java字节码不是本地机代码,不能直接运行,只能在()上运行。

8、jvm是一种运行()的应用程序,jre是包含()和java类库的环境。

9、jdk是包含()及一个java编译器和其它程序的工具集。

10、开发java程序通常分为()、()和执行调试程序三步。

11、java源程序支持三种注释类型分别为()注释、()注释和文档注释。

12、java源程序的多行注释是以()开始,以()结束。

13、java语言与其它语言相比较的优势是它的程序是()的,只要系统安装了()java程序无需修改就可以执行 ,从而实现“一次编写多出运行”的目标。

14、java程序是一组()的定义集合,关键字()引入类的定义,类体包含在一对大括号中。

15、java的每条语句都以()结束,java()对编译器都具有特殊含义,不能用于其它目的。

02 java语言基础知识

第一单元测验

1、java 可以从web浏览器运行。
    a、applications
    b、micro edition programs
    c、servlets
    d、applets

2、为了提高java可读性和可维护性,您应该声明 ,而不是使用3.14159这样的文本值。
    a、constants
    b、variables
    c、classes
    d、methods

3、下列表达式的结果是值为1的是 。
    a、37 % 6
    b、25 % 5
    c、15 % 4
    d、2 % 1

4、根据java命名约定,以下是常量的是 。
    a、readint
    b、read
    c、max_value
    d、test

5、一个int变量可以保存的是 。
    a、120.0
    b、'x'
    c、"120"
    d、true

6、假设创建如下的一个scanner对象,读取一个int类型的数值的方法是 。 scanner scanner = new scanner(system.in);
    a、scanner.nextinteger();
    b、scanner.integer();
    c、scanner.int();
    d、scanner.nextint();

7、以下将字符串转换为double类型值的方法是 。
    a、double.parse(s);
    b、double.parsedouble(s);
    c、double.parsedouble(s);
    d、double.parsedouble(s);

8、表达式(int)(76.0252175*100)/100的计算结果为_________。
    a、76.03
    b、76.0252175
    c、76.02
    d、76

9、下面代码运行结果为_________。 public class test { public static void main(string[] args) { int x = 1; int y = x x ; system.out.println("y is " y); } }
    a、y is 2.
    b、y is 1.
    c、y is 4.
    d、y is 3.

10、如果把一个int、byte、long和double类型的数据相加,计算机结果的数据类型是 。
    a、long
    b、byte
    c、double
    d、int

11、表达式x = (2 > 3) ? 2 : 3;执行后x的值是 。
    a、2
    b、3
    c、4
    d、以上都不是

12、下列代码执行后,balance的值为 。 int balance = 10; while (balance >= 1) { if (balance < 9) break; balance = balance - 9; }
    a、–1
    b、0
    c、1
    d、2

13、阅读代码,下列叙述正确的是()。 boolean even = ((231 % 2) == 0); if (even = true) system.out.println("it is even!"); else system.out.println("it is odd!");
    a、这段代码有个语法错误
    b、这段代码有个运行错误
    c、这段代码运行显示 “it is odd!”
    d、这段代码运行显示“it is even!”

14、下面代码运行结果是 。 int y = 0; for (int i = 0; i < 10; i) { y = 1; }
    a、9
    b、10
    c、11
    d、12

15、分析代码,下列描述正确的是 。 int x = 1; while ((0 < x) & (x < 100)) system.out.println(x );
    a、循环一直运行.
    b、代码不能被编译,因为循环体没有在{}里.
    c、由于(0    d、数字 2 到 100 将被打印输出.

16、假设方法xmethod的签名如下。 public static void xmethod(double[]a) 下列调用xmethod方法正确的是()。
    a、xmethod(5);
    b、xmethod({3, 4});
    c、xmethod(new int[2]);
    d、xmethod(new double[2]);

17、关于程序代码段,下列陈述正确的是()。 int[] list = new int[10]; for (int i = 0; i <= list.length; i ) { list[i] = (int)(math.random() * 10); }
    a、数组长度必须用10替换。
    b、循环体将执行10次,用随机数填充数组。
    c、循环体将执行10次,用零填充数组。
    d、代码有一个运行时错误,指示数组超出了绑定。

18、math.pow(3, 2) 的返回值是().
    a、8
    b、8.0
    c、9.0
    d、9

19、下面代码输出结果是()。 for (int i = 0; i < 15; i ) { if (i % 4 == 1) system.out.print(i " "); }
    a、1 5 9 13
    b、1 3 5 7 9 11 13 15
    c、1 4 8 12
    d、1 5 9 13 16

20、-15 % 4 is _____
    a、-3
    b、-1
    c、0
    d、-2

21、下面代码段的运行结果是()。 double temperature = 50; if (temperature >= 100) system.out.println("too hot"); else if (temperature <= 40) system.out.println("too cold"); else system.out.println("just right");
    a、too hot
    b、too cold
    c、too hot too cold just right
    d、just right

22、下列代码打印输出 "welcome to java"的次数是()。 int count = 0; do { system.out.println("welcome to java"); } while (count < 10);
    a、a. 10
    b、8
    c、0
    d、11

23、下面代码执行后i的值是()。 int y = 0; for (int i = 0; i<10; i) { y = i; }
    a、9
    b、10
    c、undefined
    d、11

24、下面代码运行后的结果是()。 class test { public static void main(string[] args) { int[] list1 = {1, 2, 3}; int[] list2 = {1, 2, 3}; list2 = list1; list1[0] = 0; list1[1] = 1; list2[2] = 2; for (int i = 0; i < list2.length; i ) system.out.print(list2[i] " "); } }
    a、1 2 3
    b、1 1 1
    c、0 1 2
    d、0 1 3

25、假设方法 p的定义如下: public static int[][] p() 下列陈述中可以用作方法p的返回语句的是()。
    a、return {1, 2, 3};
    b、return int[]{1, 2, 3};
    c、return new int[]{1, 2, 3};
    d、return new int[][]{{1, 2, 3}, {2, 4, 5}};

26、下列代码执行后打印输出count的值是()。 int count = 0; do { system.out.println("welcome to java"); } while (count < 9); system.out.println(count);
    a、11
    b、0
    c、9
    d、10

27、下面程序的输出结果是 5 4 3 2 1 。 public class test { public static void main(string[] args) { int[] list = {1, 2, 3, 4, 5}; reverse(list); for (int i = 0; i < list.length; i ) system.out.print(list[i] " "); } public static void reverse(int[] list) { int[] newlist = new int[list.length]; for (int i = 0; i < list.length; i ) newlist[i] = list[list.length - 1 - i]; list = newlist; } }

28、下面程序的输出结果是 1 2 1 2 3 1 2 3 4 1 2 3 4 5 public class test { public static void main(string[] args) { for (int i = 1; i <= 5; i ) { for (int j = 1; j <= i; j ) system.out.print(j " "); system.out.print('\n'); } } }

29、假设输入 2 3 4 5 0. 下面代码的输出结果 是: sum is 12 count is 4 。 import java.util.scanner; public class test { public static void main(string[] args) { scanner input = new scanner(system.in); int number, sum = 0, count; for (count = 0; count < 5; count ) { number = input.nextint(); sum = number; } system.out.println("sum is " sum); system.out.println("count is " count); } }

30、编写一个程序,读取未确定个数数量的分数,并确定有多少分数高于或等于平均值,有多少分数低于平均值。输入负数表示输入结束。假设最多10个数。 import java.util.scanner; public class test { public static void main(string[] args) { double[] scores = new double[10]; double sum = 0; int count = 0; scanner input = new scanner(system.in); do { system.out.print("enter a new score: "); scores[count] = input. 【1】 ; if (scores[count] >= 0) sum = scores[count]; } while ( 【2】 >= 0); system.out.println("count is " count); double average = 【3】 ; int numofabove = 0; int numofbelow = 0; for (int i = 0; i < count - 1; i ) if (scores[i] >= average) 【4】 ; else 【5】 ; system.out.println("average is " average); system.out.println("number of scores above or equal to the average " numofabove); system.out.println("number of scores below the average " numofbelow); } }

31、编写一个程序,读取未确定个数数量的分数,并确定有多少分数高于或等于平均值,有多少分数低于平均值。输入负数表示输入结束。假设最多10个数。 import java.util.scanner; public class test { public static void main(string[] args) { double[] scores = new double[10]; double sum = 0; int count = 0; scanner input = new scanner(system.in); do { system.out.print("enter a new score: "); scores[count] = input. 【1】 ; if (scores[count] >= 0) sum = scores[count]; } while ( 【2】 >= 0); system.out.println("count is " count); double average = 【3】 ; int numofabove = 0; int numofbelow = 0; for (int i = 0; i < count - 1; i ) if (scores[i] >= average) 【4】 ; else 【5】 ; system.out.println("average is " average); system.out.println("number of scores above or equal to the average " numofabove); system.out.println("number of scores below the average " numofbelow); } }

32、编写一个程序,读取未确定个数数量的分数,并确定有多少分数高于或等于平均值,有多少分数低于平均值。输入负数表示输入结束。假设最多10个数。 import java.util.scanner; public class test { public static void main(string[] args) { double[] scores = new double[10]; double sum = 0; int count = 0; scanner input = new scanner(system.in); do { system.out.print("enter a new score: "); scores[count] = input. 【1】 ; if (scores[count] >= 0) sum = scores[count]; } while ( 【2】 >= 0); system.out.println("count is " count); double average = 【3】 ; int numofabove = 0; int numofbelow = 0; for (int i = 0; i < count - 1; i ) if (scores[i] >= average) 【4】 ; else 【5】 ; system.out.println("average is " average); system.out.println("number of scores above or equal to the average " numofabove); system.out.println("number of scores below the average " numofbelow); } }

33、编写一个程序,读取未确定个数数量的分数,并确定有多少分数高于或等于平均值,有多少分数低于平均值。输入负数表示输入结束。假设最多10个数。 import java.util.scanner; public class test { public static void main(string[] args) { double[] scores = new double[10]; double sum = 0; int count = 0; scanner input = new scanner(system.in); do { system.out.print("enter a new score: "); scores[count] = input. 【1】 ; if (scores[count] >= 0) sum = scores[count]; } while ( 【2】 >= 0); system.out.println("count is " count); double average = 【3】 ; int numofabove = 0; int numofbelow = 0; for (int i = 0; i < count - 1; i ) if (scores[i] >= average) 【4】 ; else 【5】 ; system.out.println("average is " average); system.out.println("number of scores above or equal to the average " numofabove); system.out.println("number of scores below the average " numofbelow); } }

34、编写一个程序,读取未确定个数数量的分数,并确定有多少分数高于或等于平均值,有多少分数低于平均值。输入负数表示输入结束。假设最多10个数。 import java.util.scanner; public class test { public static void main(string[] args) { double[] scores = new double[10]; double sum = 0; int count = 0; scanner input = new scanner(system.in); do { system.out.print("enter a new score: "); scores[count] = input. 【1】 ; if (scores[count] >= 0) sum = scores[count]; } while ( 【2】 >= 0); system.out.println("count is " count); double average = 【3】 ; int numofabove = 0; int numofbelow = 0; for (int i = 0; i < count - 1; i ) if (scores[i] >= average) 【4】 ; else 【5】 ; system.out.println("average is " average); system.out.println("number of scores above or equal to the average " numofabove); system.out.println("number of scores below the average " numofbelow); } }

35、写一个计算整数中数字总和的方法。使用以下方法标题: public static int sumdights(long n) 例如,sumdights(234)返回9(2 3 4)。提示:使用%运算符提取数字,使用/运算符删除提取的数字。例如,要从234中提取4,请使用234 % 10(=4)。要从234上删除4,请使用234/10(=23)。使用循环重复提取和删除数字,直到提取所有数字。编写一个测试程序,提示用户输入一个整数,并显示其所有数字的总和。补全程序代码空缺部分: public class test { public static void main(string[] args) { 【1】 input = new java.util.scanner(system.in); system.out.print("enter a number: "); int value = input.nextint(); system.out.println("the sum of digits for " value " is " 【 2 】 ); } public static int sumdigits(long n) { int temp = (int)math.abs(n); int sum = 0; while (temp != 0) { int remainder = 【 3 】 ; sum = remainder; temp = temp / 10; } 【4】 ; } }

36、写一个计算整数中数字总和的方法。使用以下方法标题: public static int sumdights(long n) 例如,sumdights(234)返回9(2 3 4)。提示:使用%运算符提取数字,使用/运算符删除提取的数字。例如,要从234中提取4,请使用234 % 10(=4)。要从234上删除4,请使用234/10(=23)。使用循环重复提取和删除数字,直到提取所有数字。编写一个测试程序,提示用户输入一个整数,并显示其所有数字的总和。补全程序代码空缺部分: public class test { public static void main(string[] args) { 【1】 input = new java.util.scanner(system.in); system.out.print("enter a number: "); int value = input.nextint(); system.out.println("the sum of digits for " value " is " 【 2 】 ); } public static int sumdigits(long n) { int temp = (int)math.abs(n); int sum = 0; while (temp != 0) { int remainder = 【 3 】 ; sum = remainder; temp = temp / 10; } 【4】 ; } }

37、写一个计算整数中数字总和的方法。使用以下方法标题: public static int sumdights(long n) 例如,sumdights(234)返回9(2 3 4)。提示:使用%运算符提取数字,使用/运算符删除提取的数字。例如,要从234中提取4,请使用234 % 10(=4)。要从234上删除4,请使用234/10(=23)。使用循环重复提取和删除数字,直到提取所有数字。编写一个测试程序,提示用户输入一个整数,并显示其所有数字的总和。补全程序代码空缺部分: public class test { public static void main(string[] args) { 【1】 input = new java.util.scanner(system.in); system.out.print("enter a number: "); int value = input.nextint(); system.out.println("the sum of digits for " value " is " 【 2 】 ); } public static int sumdigits(long n) { int temp = (int)math.abs(n); int sum = 0; while (temp != 0) { int remainder = 【 3 】 ; sum = remainder; temp = temp / 10; } 【4】 ; } }

38、写一个计算整数中数字总和的方法。使用以下方法标题: public static int sumdights(long n) 例如,sumdights(234)返回9(2 3 4)。提示:使用%运算符提取数字,使用/运算符删除提取的数字。例如,要从234中提取4,请使用234 % 10(=4)。要从234上删除4,请使用234/10(=23)。使用循环重复提取和删除数字,直到提取所有数字。编写一个测试程序,提示用户输入一个整数,并显示其所有数字的总和。补全程序代码空缺部分: public class test { public static void main(string[] args) { 【1】 input = new java.util.scanner(system.in); system.out.print("enter a number: "); int value = input.nextint(); system.out.println("the sum of digits for " value " is " 【 2 】 ); } public static int sumdigits(long n) { int temp = (int)math.abs(n); int sum = 0; while (temp != 0) { int remainder = 【 3 】 ; sum = remainder; temp = temp / 10; } 【4】 ; } }

02课前练习题1

1、java语言中的标识符是来为()、()和类命名。

2、java语言规定,标识符必须以()、下划线和()开头。

3、变量通常由三个要素组成,分别是()、()和变量值。

4、java变量类型可分为基本类型变量和()类型变量。

5、使用()类对象可以从键盘上读取数据,该类存放在()包中。

6、使用scanner类堆区一个整数的方法是(),读取一行文本的方法是()。

7、将字符转化为二进制表示的过程称为(),java语言使用()为字符编码。

8、字符型字面值用()将字符括起来,字符型变量使用()定义。

9、java语言表达式3.0/0的值为(),表达式-3.0/0的值为()。

10、java语言表达式3.0%0的值为(),表达式-3.0%0的值为()。

11、下面不是java关键字的是()。 a. main b. default c. import d. implements

12、下面不是java合法标识符的是()。 a. mygame b. _mygame c.$_mygame d. 2_mygame

13、下面表达式的值相等的是() a. 3/2 b. 3<2 c. 3 * 4 d. 3<<2 e.3*2^2 f. 3>>>2

14、下面代码输出结果是()。 int op1=51; int op2=-16; system.out.println("op1^op2=" (op1^op2)); a. op1^op2=11000011 b. op1^op2=67 c. op1^op2=-61 d. op1^op2=35

15、下面程序输出结果是()。 public class test{ public static void main(string[] args){ int i=0xfffffff1; int j=~i; system.out.println("j= " j); } } a. 0 b. 1 c. 14 d. -15 e. 第3行产生编译错误 f. 第4行产生编译错误

16、设x=1,y=2,z=3,写出下列表达式的结果。 1)y =z--/ x; 2)y>z^x!=z

02课前练习题2

1、1、给出以下代码运行结果 double a = 6.5; a = a 2; system.out.println(a); a = 6; a /= 2; system.out.println(a);

2、给出以下代码运行结果 int m = 12; int n = m % 5; system.out.println(m); system.out.println(n); m = 12; n = m % 5; system.out.println(m); system.out.println(n);

3、下面程序段执行后,i、j的值分别是()。 int i=1; j = 10; do{ if(i >--j) continue; }while(i<5); system.out.println(“i = ” i “j = ” j); a、 i = 6 j = 5 b、 i = 5 j = 5 c、 i = 6 j = 4 d、 i = 5 j = 6

4、下面程序执行的结果是()。 public class foobar{ public static void main(string[] args){ int i = 0, j = 5; tp:for(; ; i ){ for(; ; --j) if(i > j) break tp; } system.out.println(“i = ” i “,j = ” j); } } a、 i = 1, j = -1 b、 i = 0, j = -1 c、 i = 1, j =4 d、 i = 0, j = 4 e、 第4行产生编译错误

5、给定下面程序段,输出结果是()。 int i= 1, j = 0; switch(i){ case 1 : j = 6; case 2 : j = 1; default : j = 2; } system.out.println(j); a、 2 b、 6 c、 7 d、 9

6、4、给出下面程序的输出结果()。 public class labeldemo{ public static void main(string[] args){ outer: for( int i = 0; i < 3; i ){ inner: for(int j = 0 ; j < 100; j ){ if(j == 20){ break outer; } if( j % 3 == 0){ continue inner; } system.out.print(j “ “); } } } } a、 1 3 5 7 8 10 11 12 13 14 16 17 19 b、 2 4 6 8 10 12 14 16 18 20 22 24 26 c、 1 3 5 7 9 11 13 15 17 19 21 23 25 d、 1 2 4 5 7 8 10 11 13 14 16 17 19

7、1、 下面程序输出2-100的所有素数,补全空缺代码。 public class primedemo { public static void main(string[] args) { int i=0,j=0; for(i=2;i<=100;i ) { boolean flag= true; for(j=2;j
02课前练习3

1、程序天空题 从键盘接收数据,计算圆的面积。 【1】 public 【2】 cydemo{ public 【3】 void main(string[] args){ scanner sc= 【4】 scanner(system.in); system.out.println("请输入圆的半径"); double radius= 【5】 .nextdouble(); system.out.println("圆的面积=" math.pi*radius*radius); } }

2、程序填空题 从键盘接收10个整数,比较并输出最大值和最小值。 【1】 java.util.scanner; public class tennum{ public static 【2】 main(string[] args){ scanner sc=new scanner(system.in); system.out.println("请输入第1个整数:"); int max=sc.nextint(); int min=max; for(int i=;i<=10;i ){ system.out.println("请输入第" i "个整数:"); 【3】 ; if(num>max) max=num; 【4】 ; system.out.println("max=" max); system.out.println("min=" min); } }

3、程序填空题 从键盘接收一个十进制数,把其转化为二进制数并输出。 inmport java.util.scanner; public class tobinary{ public static void main( 【1】 ){ string s=""; int n=0; scanner input=new scanner( 【2】 ); system.out.println("请输入1个整数:"); 【3】 =input.nextint(); while(n>0){ s=( 【4】 ) s 【5】 =n/2; } system.out.println("s=" s); }

03 类与对象

03作业1

1、定义类使用的关键字是()

2、创建一个类的对象使用的关键字(),调用的是()。

3、如果一个方法的返回值不是void,则方法体中必需包含()语句

4、假设有个student类,其无参构造方法的代码是()

5、要使一个变量是静态变量,应该使用关键字()

6、实例变量能否使用类名调用()

7、1、下面的类定义,与amethod()方法不属于重载的是() public class myclass{ public float amethod(float a,float b){ return 0; } } a、 public int amethod(int x,int y){} b、 public float amethod(float x,int y){} c、 public float amethod(float x,float y){} d、 public void amethod(float x,float y,float z){}

8、2、下面的类定义,与myclass()方法不属于重载的是() public class myclass{ public myclass(int x,int y,int z){ } } a、 myclass(){} b、 protected int myclass(){} c、 private myclass( int a,in b,double c){} d、 public myclass( byte x,byte y){}

9、关于实例变量、静态变量、实例方法和静态方法,下面叙述不正确的是()。 a.实例方法可以访问实例变量和静态变量 b.静态方法不能访问实例变量 c .实例变量和静态变量都可以通过类名访问 d.静态方法只能访问静态变量

03作业2

1、关于实例变量、静态变量、实例方法和静态方法,下面叙述不正确的是()。 a、 实例方法可以访问实例变量和静态变量 b、 静态方法不能访问实例变量 c、 实例变量和静态变量都可以通过类名访问 d、 静态方法只能访问静态变量

2、设有circle类,执行下面语句后,可被垃圾回收器回收的对象是()。 circle a = new circle(); circle b= new circle(); circle c = new circle(); a = b; a = c; c= null; a、 原来a所指的对象 b、 原来b所指的对象 c、 原来b和c所指的对象 d、 原来c所指的对象

3、下列代码输出的结果是 。 public class staticdemo { static int x =100; static { x = 48; } public staticdemo(){ x =88; } public static void main(string[] args) { system.out.println("x=" x); } } a、 100 b、 48 c、 88 d、 以上都不对

4、下面程序运行结果为 。 public class vartest{ private int x=1; private int y=1; private int z=1; void changevar(int a,int b,int c){ x=a; int y = b; int z = 9; system.out.println("in changvar : " "x = " x " y =" y " z =" z); this.z=c; } string getxyz(){ return "x = " x " y =" y " z =" z; } public static void main( string args[] ){ vartest v=new vartest(); system.out.println("before changvar : " v.getxyz()); v.changevar(10,10,10); system.out.println("after changevar: " v.getxyz()); } } a、 before changvar : x = 1 y =1 z =1 in changvar : x = 10 y =10 z =10 after changevar: x = 10 y =1 z =10 b、 before changvar : x = 1 y =1 z =1 in changvar : x = 10 y =10 z =9 after changevar: x = 10 y =10 z =10 c、 before changvar : x = 1 y =1 z =1 in changvar : x = 10 y =1 z =9 after changevar: x = 10 y =1 z =10 d、 before changvar : x = 1 y =1 z =1 in changvar : x = 10 y =10 z =9 after changevar: x = 10 y =1 z =10

5、下列程序的输出结果是 : public class test { static void leftshift(int i, int j) { i<<=j; system.out.println("i=" i " j=" j); } public static void main(string[] args) { int i =4; int j=2; leftshift(i,j); system.out.println("i=" i); } }

6、下列程序输出的结果是: public class myclass { private static int a=100; public static void main(string[] args) { modify(a); system.out.println("a_out=" a); } public static void modify(int a) { a ; system.out.println("a_in=" a); } }

7、1、下面数组声明并初始化正确的是() a、 int arr[]; b、 int arr[5]; c、 int arr[]={1,2,3,4,5}; d、 int arr[5]={1,2,3,4,5};

8、下面数组声明初始化错误的是() a、 int[] j=new int[2]{5,10}; b、 int[] j =new int[]{5,10}; c、 int[] j ={1,2,3,4,5}; d、 int[][] j=new int[10][];

9、下面程序段的运行结果为() int index=1; int[] foo=new int[3]; int bar=foo[index]; int baz= bar index; a、 baz的值为0 b、 baz的值为1 c、 baz的值为2 d、 baz的值为3

10、下面程序段执行后的输出是 ()。 float f1[],f2[]; f1 =new float[10]; f2=f1; system.out.println("f2[0]=" f2[0]);

11、下面程序段执行后的输出是 () 。 public class array_ex { public static void main(string[] args) { int[] a=new int[1]; modify(a); system.out.println("a[0]=" a[0]); } public static void modify(int[] a) { a[0] ; } }

12、下面程序执行后输出结果为 。 public class array_ex { public static void main(string[] args) { int[] array= {1,2,3,4,5}; printarray(array); modify(array); printarray(array); } static void modify(int[] a) { for(int i=0;i
13、下面程序执行后输出结果为 。 public class array_ex { public static void main(string[] args) { int[] array= {1,2,3,4,5}; printarray(array); for(int i=0;i
14、(1)数组中的每个元素都有相同的类型(). (2)一旦数组被声明,大小就不能改变() (3)数组中的元素必须是基本数据类型() (4)一旦数组被创建,大小就不能改变() (5)语句int[] i = new int(30);是正确的() (6)语句double d[] = new double[30];是正确的() (7)语句char[] r =new char(1…30);是错误的() (8)语句int i[] = (5,4,3,2,1);是错误的() (9)语句float f[] ={2.3,4.5,6.6};是正确的() (10)语句char[] c = new char();是正确的()

03作业3_字符串

1、1、执行下面语句后,输出结果是() string s="\"hello,world!\""; system.out.println(s.length()); a、 12 b、 14 c、 16 d、 18

2、2、执行下面语句后,输出结果是() string str ="abcde"; str.substring(3); str.concat("xyz"); system.out.println(str); a、 abcde b、 dexyz c、 xyz d、 de

3、3、执行下面语句后,输出结果是() int index=1; string[] str1=new string[3]; string str2=str1[index]; system.out.println(str2); a、 " " b、 null c、 抛出一个异常 d、 代码不能编译

4、1、已知s1、s2、s3由如下语句定义: string s1="welcome to java"; string s2="programming is fun"; string s3="welcome to java"; 下面表达式的结果是 (1)s1==s3; ① (2)s2.length(); ② (3)s1.equals(s2); ③ (4)s1.compareto(s2); ④ (5) s3.charat(12); ⑤ (6)s3.substring(11); ⑥ (7)s1.concat(s2); ⑦ (8)s3.contains("java"); ⑧ (9)s1.indexof("to"); ⑨ (10) "\thello\t".trim().length(); ⑩

5、已知s1、s2由如下语句定义: stringbuilder s1=new stringbuild("welcome to java"); stringbuilder s2=new stringbuild("html"); 下面表达式独立执行后的相应的s1、s2的结果是 (1)s1.append(s2); ① (2)s1.delete(8,10); ② (3)s1.deletecharat(8); ③ (4)s1.replace(11,15,"html"); ④ (5) s1.setcharat(0,'h'); ⑤ (6)s2.reverse(); ⑥ (7)s1.substring(3,7); ⑦ (8)s1.append(s2).length(); ⑧

6、1、阅读下面程序填空: ① ; public calsss stringdemo{ public static void main(string[] args){ string s; scanner input = new scanner( ② ); system.out.println("请输入一个字符串:"); s = input.nextline(); system.out.println("字符串的长度是:" s. ③ ); system.out.println("字符串第一个字符是是:" s. ④ ); system.out.println("字符串最后一个字符是:" s. ⑤ );

7、编写一个方法,统计一个字符串中包含字母的个数: public static int countletters(string s){ int n=0; for(int i=0;i< ① ;i ){ char c= ② ; if(c>='a'&&c<='z' || ③ ) n=n 1 } ④ ; }

8、编写一个方法,将十进制数转换为二进制数的字符串 public static string tobinary(int value){ string=""; while(value!=0){ int r = value ① ; s = r s; value = ② ; } ③ ; }

9、编写一个方法,返回排好序的字符串。例如。调用sort("morning"),返回"gninrom" public static string sort(string s){ char[] ch = s. ① ; for(int i=0;i< ② ;i ){ for(int j=i 1;j< ③ ;j ){ if(ch[i]>ch[j]){ char t= ch[j]; ch[j] = ④ ; ch[i]=t; } } } string str=new string( ⑤ ); ⑥ ;

10、编写一个加密程序,要求从键盘输入一个字符串,然后输出加密后的字符串。加密规则是对每个字母转换为下一个字母表示,原来是a转换为b,原来是b转换为c。小写的z转换为小写的a,大写的z转为大写的a。 ① ; public class encrupt{ public static void main(string[] args){ scanner sc = new scanner( ② ); system.out.println("请输入一个字符串:"); string str =sc.nextline(); system.out.println("原字符串是:" str); stringbuilder ss = new stringbuilder(str); for(int i=0;i< ③ ;i ){ char c = ss.charat(i); if(c=='z' || c=='z'){ c = ④ ; }else{ c = ⑤ ; } ss.setcharat( ⑥ ); } system.out.println("加密后的字符串是:" ss); } }

03作业_封装继承与多态

1、1、下面的类定义,与amethod()方法不属于重载的是() public class myclass{ public float amethod(float a,float b){ return 0; } } a、 public int amethod(int x,int y){} b、 public float amethod(float x,int y){} c、 public float amethod(float x,float y){} d、 public void amethod(float x,float y,float z){}

2、下面的类定义,与myclass()方法不属于重载的是() public class myclass{ public myclass(int x,int y,int z){ } } a、 myclass(){} b、 protected int myclass(){} c、 private myclass( int a,in b,double c){} d、 public myclass( byte x,byte y){}

3、有下面类的定义: class super{ public float getnum(){ return 3.0f; } } public class sub extends super{ ; } 下面方法放在画线处会发生编译错误的是() a、 public float getnum(){return 4.0f;} b、 public void getnum(){} c、 public void getnum(double d){} d、 public double getnum(float x){return 4.0d;}

4、下面方法声明正确但不能被子类重写的是()。 a. final void methoda(){} b. void final methoda(){} c.static void methoda(){} d.static final void methoda(){} e.final abstract void methoda(){} a、 a和b b、 a和c c、 a、c、d d、 a、b、d e、 a、b、c、d、e

5、class super{ public int i =0; public super(string text){ i =1; } } public class sub extends super{ public sub(string text){ i = 2; } public static void main(string[] args){ sub sub = new sub("hello"); system.out.println(sub.i); } } a、 该程序不能编译成功 b、 编译成功,输出0 c、 编译成功输出1 d、 编译成功输出2

6、给定下面两个方法的定义: ①public static double method(double x,double y) ②public static double method(int x,double y) 对于下面的给出的语句,(在横线上填写序号) (1)double z = method(4,5)调用上述方法中的 ; (2)double z = method(4,5.5)调用上述方法中的 ; (3)double z = method(4.5,5.5)调用上述方法中的 ;

7、下列程序代码运行结果是 。 class parent{ void printme(){ system.out.println("i am parent"); } } class child extends parent{ void printme(){ system.out.println("i am child"); } void printall(){ super.printme(); this.printme(); printme(); } } public class test{ public static void main(string[] args){ child myc=new child(); myc.printall(); } }

8、class animal{ public animal(){ system.out.println("i'm a bird."); } } public class bird extends animal{ public bird(){ system.out.println("i'm a bird."); } public static void main(string[] args){ bird b = new bird(); } }

9、class employee{} class manager extends employee{ public string tostring(){ return "i'm a manager."; } } a、 manager boss = new manager(); employee stuff = boss; manager myboss = (manager)stuff; b、 employee stuff = new employee(); manager boss = (manager)stuff; c、 employee stuff = new manager(); manager boss = stuff; d、 manger stuff = new employee(); manager myboss = (manager)stuff;

10、下面程序运行结果为()。 class alpha{ string gettype(){return "alpha";} } class beta extends alpha{ string gettype(){return "beta";} } class gamma extends beta{ string gettype(){return "gamma";} public static void main(string[] args){ alpha g1=new beta(); alpha g2=new gama(); system.out.println(g1.gettype() "" g2.gettype()); } } a、 alpha alpha b、 gamma gamma c、 alpha beta d、 beta gamma

11、下面程序代码的输出结果是 。 class employee{} class manager extends employee{} class secretary extends employee{} class programmer extends employee{} public class test{ public static void show(employee e){ if(e instanceof manager) system.out.println("he is a manager."); else if(e instanceof secretary) system.out.println("he is a secretary."); else if(e instanceof programmer) system.out.println("he is a programmer."); } public static void main(string[] args){ manager m = new manager(); secretary s = new secretary(); programmer p = new programmer(); show(m); show(s); show(p); } }

12、下面程序代码的输出结果是 。 abstract class aa{ abstract void callme(); void metoo(){ system.out.println("inside aa's metoo()."); } } class bb extends aa{ void callme(){ system.out.println("inside bb's callme()."); } void metoo(){ system.out.println("inside bb's metoo()."); } } public class abstracttest{ public static void main(string[] args){ aa aa = new bb(); aa.callme(); aa.metoo(); } }

13、已知4个类之间的关系如图所示,本别对每个类的有关方法进行编号。如,shape的perimeter()为1号,表示为:“1:perimeter()”;rectangle的perimeter()为2号,表示为:“2:perimeter()”;以此类推。 其中,每个类的perimeter方法签名相同且为实例方法。有下面的代码: triangle tr = new triangle(); square sq = new square(); shape sh = tr; (1)关于上述java代码中sh和tr的以下叙述中,正确的是 ① 。 a.sh和tr分别引用同一个对象。 b.sh和tr分别引用同一类型的不同对象。 c.sh和tr分别引用不同类型的不同对象。 d.sh和tr分别引用同一对象的不同副本。 e.sh和tr所引用的内存空间是相同的。 (2)下列赋值语句中合法的是 ② 。 a.sq = sh; b.sh = tr; c.tr = sq; d.sq = tr; e.sh = sq; (3)写出下面消息对应的方法编号(如果该消息错误或没有对应的方法调用,请填写“无”) tr.height() ③ 。 sh.perimeter() ④ 。 sq.height() ⑤ 。 sq.perimeter() ⑥ 。 sh.height() ⑦ 。 tr.perimeter() ⑧ 。

03作业_抽象类接口lambda

1、下面是一个接口的定义,在第2行前面可以插入的合法修饰符是() public interface status{ /*此处插入代码*/int my_value = 10; } a.final b. static c. public d. private e. abstract f. protected a、 a b c b、 a c e c、 b c e d、 c d f

2、子接口不能继承父接口的是()。 a、 常量 b、 抽象方法 c、 静态方法 d、 默认方法

3、下面接口的定义正确的是()。 (1)interface printable{ void print(){};} (2)abstract interface printable extends interface1,interface2{ void print(){};} (3)abstract interface printable{ void print(); } (4) interface printable{ void print(); } a、 (1) b、 (2) c、 (3) d、 (4)

4、阅读下面程序,补全代码并给出程序的输出结果。 import java.util.function.function; public class functiondemo { public static void main(string[] args) { function milestokms = ① -> 1.6 * input; int miles = 3; double kms = milestokms.apply( ② ); system.out.printf("%d miles = %3.2f kilometers\n",miles, kms); } } 程序输出结果: ③

5、阅读下面程序,补全代码并给出程序的输出结果。 import java.util.comparator; public class lambdademo { public static void main(string[] args) { string [] names = {"shanghai", "guangzhou", "beijing", "london"}; arrays.sort(names, ① ->b.compareto(a) ); for(string n : ② ) { system.out.println(n); } 输出结果: ③

6、阅读下面程序,补全代码并给出程序的输出结果。 import java.util.function.predicate; public class predicatedemo { public static void main(string[] args) { predicate numbersonly = ① -> { for (int i = 0; i < ② ; i ) { char c = input.charat(i ); if ("0123456789".indexof(c) == -1) { return false; } } return true; }; system.out.println(numbersonly.test("12345")); system.out.println(numbersonly.test("100a")); } } 输出结果: ③

7、阅读下面程序,补全代码并给出程序的输出结果。 import java.util.function.consumer; import java.util.function.function; public class consumerdemo { public static void main(string[] args) { function spacer = ① -> { stringbuilder sb = new stringbuilder(count); for (int i = 0; i < ② ; i ) { sb.append(" "); } return sb. ③ ; }; int linelength = 60; // 每行最大字符串 consumer printcentered = (input) -> { int length = input.length(); string spaces = spacer.apply((linelength - length) / 2); system.out.println(spaces input); }; printcentered.accept("a lambda expression a day"); printcentered.accept("makes you"); printcentered.accept("look smarter"); } } 输出结果: ④

8、阅读程序给出程序的运行结果。 interface aa{ int status = 100; public abstract void display(); } interface bb{ public abstract void show(); public default void print() { system.out.println("这是接口bb的默认方法"); } } interface cc extends aa,bb{ int num = 3; } public class dd implements cc { public void display() { system.out.println("接口aa的display方法"); } public void show() { system.out.println("接口bb的show方法"); } public static void main(string[] args) { dd dd = new dd(); system.out.println(dd.status); dd.show(); dd.print(); aa aa = new dd(); aa.display(); } } 输出结果:

04 泛型与集合

4作业_泛型与集合1

1、如果要求其中不能包含重复的元素,下面结构最适合存储的是() a、 collection b、 list c、 set d、 map e、 vector

2、下面程序输出结果为() import java.util.arraylist; import java.util.collections; public class sortof { public static void main(string[] args) { arraylist a = new arraylist(); a.add(1); a.add(5); a.add(3); collections.sort(a); a.add(2); collections.reverse(a); system.out.println(a); } } a、 [1, 2, 3, 5] b、 [2, 1, 3, 5] c、 [1, 5, 3, 2] d、 [2, 5, 3, 1]

3、阅读程序补全程序代码,并给出程序的输出结果。 import java.util.arrays; import java.util.list; public class lambda_demo { public static void main(string[] args) { string[] names = { "jiangsu", "changzhou", "changzhoudaxue", "java", "lambda" }; list arrnames = arrays.aslist(names); // 传统的循环方式 system.out.println("传统的循环方式输出:"); for (string name : arrnames) { system.out.println(name); } system.out.println("--------------------------"); // 在 java 8 中使用 lambda表达式输出 system.out.println("使用 lambda表达式输出:"); arrnames.foreach( ① ); system.out.println("--------------------------"); // 在 java 8 中使用双冒号操作符:: arrnames.foreach( ② ); } } 输出结果为: ③

4、阅读下面程序补全程序代码,并给出输出结果。(备注⑤⑥空格不能填相同代码) import java.util.*; class cage extends linkedlist{}; class animal{ public void feedme(){ }; } class lion extends animal{ public void feedme(){ system.out.println("feeding lions"); } } class butterfly extends animal{ public void feedme(){ system.out.println("feeding butterflies"); } } public class wildcardtest{ public static void main(string args[]){ wildcardtest t = new wildcardtest(); cage lioncage = ① ; cage butterflycage = ② ; lioncage.add(new ③ ); butterflycage.add(new ④ ); t.feedanimals( ⑤ ); t.feedanimals( ⑥ ); } void feedanimals(cage somecage) { for (animal a:somecage) a.feedme(); } } 输出结果为: ⑦ 。

5、阅读程序给出下面程序的输出结果 。 class mybox { private t t; public void add(t t) { this.t = t; } public t get() { return t; } public void inspect(u u){ system.out.println(" t: " t.getclass().getname()); system.out.println(" u: " u.getclass().getname()); system.out.println(); } } public class myboxofgenerictype_demo{ public static void main(string args[]){ mybox abox; abox = new mybox(); abox.add(new integer(1000)); integer i = abox.get(); system.out.println("the integer is : " i); system.out.println("the first inspection is : "); abox.inspect("some text"); system.out.println("the second inspection is : "); abox.inspect(new double(100.0)); } }

6、假设 arraylist list1=new arraylist(); arraylist list2=new arraylist(); 则 system.out.println(list1 instanceof arraylist);输出结果为 ① 。 system.out.println(list2 instanceof arraylist);输出结果为 ② 。 system.out.println(list1 instanceof arraylist);输出结果为 ③ 。 system.out.println(list2 instanceof arraylist);输出结果为 ④ 。 system.out.println(list1 instanceof arraylist);输出结果为 ⑤ 。 system.out.println(list2 instanceof arraylist);输出结果为 ⑥ 。

7、判断题(共8题,31分) 1、泛型是在jdk1.5中引入的重要语言特征。 2、泛型技术可以通过一种类型或方法操纵各种类型的的对象,从而保证了编译时的类型安全。 3、java中的实例方法、静态方法可以定义泛化方法,构造方法不可以定义为泛化方法。 4、java中的类、接口、方法都可以定义为泛化类型。 5、判断下面语句是否合法。() array list intlist= new arraylist(); intlist.add(5); intlist.add(6); 6、假设list是list