java章节性质习题及答案

第一章Java简介

1.1 Java发展历史

1.java语言是1995年由()公司发布的A

Sun

Microsoft

Borland

Fox Software

 

1.Sun公司针对应用领域不同,提供了三个Java版本,其中对于个人计算机程序开发的是    j2se     ,对于企业开发应用的是    j2ee    ,对于嵌入式设备应用开发的是    j2me    

 

2.1991 年Sun公司的James Gosling等人开始开发名称为(Oak) 的语言。

 

3. java是一个网络编程语言,简单易学,利用了__面向对象__的技术基础,但又独立于硬件结构,具有可移植性、健壮性、安全性、高性能

 

4.JAVA的产品主流操作系统平台是Solaris、__ Windows ___和Macintosh.

1.2 Java虚拟机

1.java语言的执行模式是:C

A 全编译型

B 全解释型

C 半编译和半解释型

D 同脚本语言的解释模式

2下列关于虚拟机说法错误的是:B

A 虚拟机可以用软件实现

B 虚拟机部可以用硬件实现

C 字节码是虚拟机的机器码

D 虚拟机把代码程序与各操作系统和硬件分开

3下列不是虚拟机执行过程特点的是A

A 双线程

B 多线程

C 动态链接

D异常处理

4java程序的执行过程中用到一套JDK工具,其中javac.exe指A

A  java语言编译器

B  java字节码解释器

C  java文档生成器

D  java类分解器

5javaAPI结构中,不属于类库主要包括的核心包的是C

A  java

B  javax

C  javadoc

D  org扩展包

6在当前的java实现中,每个编译单元就是一个以()为后缀的文件A

A  java

B  class

C  doc

D  exe

 

 

1.Java源文件扩展名是     .class   ,Java编译后的字节码文件扩展名是   .java      

2.编译JAVA源文件用什么命令____javac____。

3.运行字JAVA字节码文件用___java___。

4.java可以跨平台的原因是_ java虚拟机___

 

5.  JVM的执行过程有三个特点:多线程,___动态连结__,异常处理

在JAVA语言中,将后缀名为___ java ___的源代码文件编译后形成后缀名为.class的字节码文件。

6.  JAVA语言的执行模式是半编译和___半解释型 ___。

7.  JAVA类库具有__跨平台___的特点,保证了软件的可移植性

8.  在编写执行JAVA程序的过程中需要用到一些工具,SUN公司为我们提供了一套JDK工具,它主要包括:javac.exe、java.exe、___ javadoc.exe(或java文档生成器)__、javap.exe、jkb.exe

9.  JAVA程序包括源代码(.java文件)、__由编译器生成的类(.class文件____、由归档工具jar生成的.jar文件、对象状态序列化.ser文件。

10.  在JAVA语言中,为将源代码翻译成__字节码____文件时产生的错误称为编译错误。而将程序在运行中产生的错误称为运行错误。

11.  Java Application应用程序的编写和执行分3步进行:编写源代码、编译源代码、__解释执行___。

每个java应用程序可以包括许多方法,但必须有且只能有一个__ main ___方法。

12.  JAVA源文件中最多只能有一个___ public或公共__类,其它类的个数不限。

13.  JAVA的体系结构中,最下层是移植接口,上面一层是虚拟机,虚拟机的上层是__ java基本类 ___和基本API,它们都是具有可扩展性

 

1.3 Java特点

1.Java的特点 ?

简单 面向对象 健壮性 安全性 分布式 多线程

 

2.下列不属于java语言鲁棒性特点的是:B

A  java能检查程序在变异和运行时的错误

B  java 能运行虚拟机实现跨平台

C  java 自己操纵内存减少了内存出错的可能性

D  java 还实现了真数组,避免了覆盖数据的可能

 

3.JAVA系统运行时,通过__垃圾回收 ____机制周期性的释放无用对象所使用的内存,完成对象的清除。

4.JAVA的体系结构中,最下层是__移植接口___,由适配器和JAVA OS组成,保证JAVA体系结构可以跨平台。

 

5.  JAVA解释器采用生成与体系结构无关的___字节代码  ___指令的技术,只需安装JAVA运行系统,就可保证JAVA程序可以在网络的任何地方运行。

 

 

1.4 Java搭建开发环境

1.建立Java开发环境,安装JDK,一般需要设置环境变量:                  

1.5 编写第一个java程序

1.main()方法的返回类型是什么?(B)
A. int
B. void
C. boolean
D. static

 

2每个java的编译单元可包含多个类或界面,但是每个编译单元最多只能有()类或者界面是公共的A

A一个

B两个

C四个

D任意多个

 

1.作为Java应用程序入口的main方法,其声明可以写成public static void main(String[] s)也可以写成public static void main(String args[])?

 

2.单行注释        ,多行注释以          开头,            结尾,多行文档注释以         开头___________,          结尾。

3.编写一个在屏幕上输出HelloWorld!的Java程序

 

1.6 章节复习与训练

 

 

 

 

第二章变量、数据类型

2.1数据类型

1. 哪些是将一个十六进制值赋值给一个long型变量? (D)

A. long number = 345L;
B. long number = 0345;
C. long number = 0345L;
D. long number = 0x345L

2.下列不属于简单数据类型的是(B)

A整数类型

B类

C符点数类型

D布尔类型

 

3.下列不属于整型变量的类型是C

A byte

B short

C float

D long

4.  int类型整型变量在内存中的位数为C

A 8

B 16

C 32

D 64

 

1.基本数据类型有__byte___、___short__、___int__、__long___、__float___、__double___、__boolean___、___char__.

 

2. 字面量都有默认类型,整型字面量默认类型______,浮点型字面量默认_______。

 

3.long类型字面量末尾字母是_____,float类型字面量末尾字母是_____,double的是_____。

 

4. 在java语言中,boolean型常量只有true和__ false ___两个值。

 

5..String是基本数据类型吗?

2.2变量及赋值

1.下面选项声明正确的是(AC)

A:float f = 1F; B:float f = 1.0; C:float f = '1';

D:float f = "1"; E:float f = 1.0d;

 

2.下面选项声明正确的是(AD)

A:float foo = -1; B:float foo = 1.0; D:float foo = 2.02f; E:float foo = 3.03d;

 

3.下面哪个选项合法的声明了boolean类型(B)

A:boolean b = 0; B:boolean b = true; C:boolean b = "true";D:boolean b = 'true';

 

4.下面哪能个选项是byte类型的取值范围(C)

A: 0 ... 255 B: 0 ... 65535 C: -128 ... 127 D: -32768 ... 32767

 

5.变量FirstName与firstName是否相同?

 

6.哪些是合法的字符类型(    )

A.’ab’ B.’b’

C.”123” D.’\u123f’

 

7.下列声明和赋值语句错误的是C

A double w=3.1415;

B String strl=”bye”;

C float z=6.74567

D boolean truth=true;

 

2.3 标识符

1.下面哪个选项是合法的标识符(C)

A: void B: short C: _object D: a-classC

 

2.下面哪些是合法的标识符? (ABE)

A. $persons
B. TwoUsers
C. *point
D. this
E. _endline

 

3.哪些是合法的标示符(    )

A.Name B.2hello

C.class D.a-public

E.Sex F.MIN_VALUE

G.age# H._id

I.getName J.$main

 

4下列java标识符,错误的是(D)

A_sys_varl

B$change

CUser_name

D1_file

 

2.4 关键字和保留字

1下面哪个是关键字(BE)

A: Static B: null C: Public D: Class E: for

2下面哪个是关键字

A: main B: NULL C: Public D: Class E: transient

 

3下列属于JAVA关键词的是(bC)

A TRUE

B goto

C float

D NULL

 

 

 

 

 

 

 

 

2.5 类型转换

1.下面类型转换是否正确,如果正确请标出正确的,如果不正确请改成正确的写法

int x = 6;

double d = x;

int y = d;

float f = d;

float f1 = x;

2.数据类型转换时,两种数据类型_______并且_____类型大于_____类型,则可以自动类型转换。

 

3自定义类型转换是由按优先关系从低级数据转换为高级数据,优先次序为(A)

A char-int-long-float-double

B int-long-float-double-char

C long-float-int-double-char

D 以上都不对

4下列语句片断中,four得值为:(D)

int three=3;

char one=1

char four=(char)(three+one);

A 3

B 1

C 31

D 4

 

2.6 常量

1.在java程序中,用关键字___ final __修饰的常量对象创建后就不能再修改了。

 

2.公有成员变量MAX_LENGTH是一个int型值,变量的值保持常数值100。使用一个短声明定义这个变量。

A. public int MAX_LENGTH=100;

B. final int MAX_LENGTH=100;

C. final public int MAX_LENGTH=100;

D. public final int MAX_LENGTH=100.

 

2.7 字符串

1.String和 StringBuffer区别?

String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当可以使用StringBuffers来动态构造字符数据。

 

2.下面的哪些程序片断可能导致错误。(BD)
A.  String s = "Gone with the wind";
    String t = " good ";
    String k = s + t;
B.  String s = "Gone with the wind";
    String t;
    t = s[3] + "one";
C.  String s = "Gone with the wind";
    String standard = s.toUpperCase();
D.  String s = "home directory";
    String t = s - "directory";

 

2.8 基本数据类型转字符串

 

 

1.(B)

public class Ctest {

public static void main(String[] args)

{

System.out.println(6 + 6 + "aa" + 6 + 6);

}

}

正确结果为:

A.24aa

B.12aa66

C.66aa66

D.12aa12

 

2.9 局部变量特性

1.声明在类中,方法之内的变量就叫做____局部__变量。

 

2.10 章节复习与训练

 

第三章表达式与运算符

3.1什么是表达式

3.1 算术运算符

1.(B)

 class Test{

public static void main(String[] args){

int i = 1;

int j = i++;

System.out.println("i = " + i);

}

}

下面哪个是正确的结果

A: i = 1   B: i = 2   C: i = 3   D: i = 4 E: i = 5  

 

2. 

class Test2{

public static void main(String[] args){

int i = 10;

int j = i++ + ++i –i-- + --i;

}

}

运行后i=10; j=20

 

3.今天是周1再过12天是周几?

写出计算方法(1+12)%7=6

 

4. class Test{

public static void main(String[] args){

int i = 1,j,k;

int j = i+1;

System.out.println("i = " + i+"j= "+j+"k= "+k);

}

}

该程序是否正确,如果正确请写出正确的结果,如果不正确说出原因,并改正程序

 

5.(B)

public class Ctest {

public static void main(String[] args)

{

System.out.println(6 + 6 + "aa" + 6 + 6);

}

}

正确结果为:

A.24aa

B.12aa66

C.66aa66

D.12aa12

 

6.下面哪个是正确的结果(B)

class Test{

public static void main(String[] args){

int i = 1;

int j =( i++)+(++i)-(i--);

System.out.println("i= " +i);

}

}

A: i = 1   B: i = 2   C: i = 3   D: i = 4 E: i = 5

 

7. 下列程序最后c的值为__16___

int a = 3,b = 5;

int c = (4*--a+(b++)+(++a));

8下列程序最后aa的值为_____

char c = '6';

String s = "zjjlive";

boolean b = true;

String aa = c+s+b;

9. a+b*c+d最后的返回类型是什么类型_____

int a = 0,b = 0;

long c = 3L;

double d = 1.1;

10. ++代表递增运算符,写在变量左边如++a,代表先_____再_____。写在变量右边如a++代表先

_____再_____。

 

下列属于条件运算符的是B

A +

B ?:

C &&

D >>

 

3.2 比较运算符

 

3.3 逻辑运算符

1.&&是短路与运算符,当&&符号左边的条件为假时不会要计算&&右边的条件?

2.||是短路或运算符,当||符号左边的条件为假时不会计算||右边的条件?

3.&可以是逻辑与运算符也可以是按位与运算符,如果&两边的值是布尔型的那么就进行逻辑与运算,如果&号两边是整数就进行按位与运算。

 

4.在java语句中,运算符&&实现B

A.  逻辑或

B.  逻辑与

C.  逻辑非

D.  逻辑相等

 

3.4 赋值运算符

1.

=是赋值运算符,是将=右边的值赋给=左边,= = 是比较运算符是比较= =两边的值是否相等?

 

3.5 三元运算符

1. (x>d)?99.9:9最后的返回类型是什么类型_____最后的结果是_____  

int x = 6;

double d = 7.7;

2.下面程序片断输出的是什么

int a=3;

int b=1;

System.out.println(a= =b ? “a等于b” : “a不等于b”);

A.输出a等于b B.输出a不等于b

C.语法错误,没有输出   D.正常运行,没有输出

 

3.6 表达式数据类型

1.算下面表达式结果和结果类型

1.(int)1.5/2.0 2.(int)(1.5/2.0) 3.1.5/2.0 4.3/2

5.5%3 6.5.2%3 7.5.2%(-3) 8.(-5.2)%(-3)

 

3.7 章节复习与训练

 

 

 

 

 

 

 

 

 

 

 

 

第四章控制流语句

4.1条件分支语句

1.程序最后的结果是:______b___   

int i = 0, j = 1;

if ((i++ == 1) && (j++ == 2)) {

      i = 42;

}

System.out.println("i = " + i + ", j = " + j);

A: i = 1, j = 2      B: i = 1, j = 1    C: i = 42, j = 2   D: i = 42, j = 1

E: Compilation fails.

 

2程序最后的结果是:_____d____

  int i = 1;

int j = i++;

if ((i == ++j) || (i++ == j)) {

    i += j;

}

System.out.println("i = " + i);

A: i = 1   B: i = 2   C: i = 3   D: i = 4 E: i = 5   F: Compilation fails.

3 下列选项哪个是正确的(c)

if(a) {

System.out.println("A");

} else if(a&&b) {

System.out.println("a&&b");

} else if(!b) {

System.out.println("not b");

} else {

System.out.println("ELSE");

}

A:如果a 是 true并且b 是 true,那么输出结果是"A&&B."

B:如果a 是 true并且b 是 false,那么输出结果是"notB."

C: 如果 afalse 并且btrue那么输出结果是"ELSE."

D: 如果a 是 false 并且b是 false 那么输出结果是 "ELSE."

 

4 下面哪个结果是正确的(C)

boolean bool = true;

if (bool = false) {

     System.out.println("a");

} else if (bool) {

     System.out.println("b");

} else if (!bool) {

     System.out.println("c");

} else {

     System.out.println("d");

}

A: a B: b C: c D: d E: Compilation fails.

 

5下列语句序列执行后,m 的值是(C)。

  int  a=10, b=3, m=5;

  if( a==b )  

m+=a;  

else   

m=++a*m;

A) 15     B) 50     C) 55     D) 5

6下列语句序列执行后,k 的值是(B)。

  int  i=4,j=5,k=9,m=5;

  if(i>j||m<k){  

k++;

else {

 k--;

}

A) 5     B) 10     C) 8     D) 9

7下列语句序列执行后,i 的值是(D)。

   int s=0,i=1;

   while( i<=4 ) {

s*=i;

i++;

}

A) 6     B) 4     C) 24     D) 5

 

8下列语句序列执行后,j 的值是(C )。

   int  j=8, i=6;

   while( i >4 )   

i-=2;

   - -j;

 A) 5     B) 6     C) 7     D) 8

9下列语句序列执行后,k 的值是(D)。

  int  x=6, y=10, k=5;

  switch( x%y )

  {

case 0:  k=x*y;       

case 6:  k=x/y;       

case 12:  k=x-y;      

default:  k=x*y-x;

  }

A) 60     B) 5     C) 0     D) 54

 

 

 

(一)三个整数,输出其中最大数

方法1:

int a=9 , b=8 ,c=7,max;

if(a>b){

if(a>c){

max=a;

}else{

max=c;

}

}else{

if(b>c){

max=b;

}else{

max=c;

}

}

System.out.println(max);

方法2:

int a=6 , b=5 ,c=4,temp,max;

temp=a>b?a:b;//将a,b中的最大值赋给temp

max=temp>c?temp:c;//a,b和中大者和c比较,去最大者

System.out.println(max);

 

(二)有一函数:    x   (x<1)

   y=  2x-1 (1<=x<10)

           3x-11 (x>=10)

 写一程序给定x值,输出y值。

int x,y;

x=10;

if(x<1){

y=x;

}else if(x>=1&&x<10){

y=2*x-1;

}else{

y=3*x-11;

}

System.out.println(y);    

(三)给定两个整数a,b让a中存放较大的数;

int a=15,b=12,t;

if(a<b){

t=a;

a=b;

a=t;

}

(四)给定三个整数a,b,c,要求从大到小进行排序

int a = 4, b = 5, c = 3,t;

if (a < b) {

t=a;

a=b;

b=t;

}

if(a<c){

t=a;

a=c;

c=t;

}

if(b<c){

t=b;

b=c;

c=t;

}

System.out.println(a);

System.out.println(b);

System.out.println(c);

 

 

 

1.程序最后的结果是:______b___   

int i = 0, j = 1;

if ((i++ == 1) && (j++ == 2)) {

      i = 42;

}

System.out.println("i = " + i + ", j = " + j);

A: i = 1, j = 2      B: i = 1, j = 1    C: i = 42, j = 2   D: i = 42, j = 1

E: Compilation fails.

 

2程序最后的结果是:_____d____

  int i = 1;

int j = i++;

if ((i == ++j) || (i++ == j)) {

    i += j;

}

System.out.println("i = " + i);

A: i = 1   B: i = 2   C: i = 3   D: i = 4 E: i = 5   F: Compilation fails.

3 下列选项哪个是正确的c

if(a) {

System.out.println("A");

} else if(a&&b) {

System.out.println("a&&b");

} else if(!b) {

System.out.println("not b");

} else {

System.out.println("ELSE");

}

A:如果a 是 true并且b 是 true,那么输出结果是"A&&B."

B:如果a 是 true并且b 是 false,那么输出结果是"notB."

C: 如果 a是false 并且b是true那么输出结果是"ELSE."

D: 如果a 是 false 并且b是 false 那么输出结果是 "ELSE."

 

4 下面哪个结果是正确的c

boolean bool = true;

if (bool = false) {

     System.out.println("a");

} else if (bool) {

     System.out.println("b");

} else if (!bool) {

     System.out.println("c");

} else {

     System.out.println("d");

}

A: a B: b C: c D: d E: Compilation fails.

 

5下列语句序列执行后,m 的值是(c)。

  int  a=10, b=3, m=5;

  if( a==b )  

m+=a;  

else   

m=++a*m;

A) 15     B) 50     C) 55     D) 5

6下列语句序列执行后,k 的值是(b)。

  int  i=4,j=5,k=9,m=5;

  if(i>j||m<k){  

k++;

else {

 k--;

}

A) 5     B) 10     C) 8     D) 9

 

7. 下面哪个是正确的结果(A)

int odd = x % 2;

     if (odd) {

         System.out.println("odd");

     } else {

        System.out.println("even");

    }

}

 

A: 程序编译错误

B: "odd" 将总是能被输出

C: "even"将总是能被输出

D: "odd","even"都能被输出

 

 

8.(D)

int i = 1, j = -1;

switch (i+j) {

   case 0:  j = 1;

   case 2:     j = 2;

break;

   default:    j = 0;

}

System.out.println("j = " + j);

A: j = -1 B: j = 0 C: j = 1 D: j = 2

9下列语句序列执行后,k 的值是(D)。

  int  x=6, y=10, k=5;

  switch( x%y )

  {

case 0:  k=x*y;       

case 6:  k=x/y;       

case 12:  k=x-y;      

default:  k=x*y-x;

  }

A) 60     B) 5     C) 0     D) 54

10.程序最后的结果是:______b___   

int i = 0, j = 1;

if ((i++ == 1) && (j++ == 2)) {

      i = 42;

}

System.out.println("i = " + i + ", j = " + j);

A: i = 1, j = 2      B: i = 1, j = 1    C: i = 42, j = 2   D: i = 42, j = 1

E: Compilation fails.

11程序最后的结果是:_____d____

  int i = 1;

int j = i++;

if ((i == ++j) || (i++ == j)) {

    i += j;

}

System.out.println("i = " + i);

A: i = 1   B: i = 2   C: i = 3   D: i = 4 E: i = 5   F: Compilation fails.

 

12下列选项哪个是正确的c

if(a) {

System.out.println("A");

} else if(a&&b) {

System.out.println("a&&b");

} else if(!b) {

System.out.println("not b");

} else {

System.out.println("ELSE");

}

A:如果a 是 true并且b 是 true,那么输出结果是"A&&B."

B:如果a 是 true并且b 是 false,那么输出结果是"notB."

C: 如果 afalse 并且btrue那么输出结果是"ELSE."

D: 如果a 是 false 并且b是 false 那么输出结果是 "ELSE."

 

 

4.2循环语句

1下列语句序列执行后,i 的值是(D)。

   int s=0,i=1;

   while( i<=4 ) {

s*=i;

i++;

}

A) 6     B) 4     C) 24     D) 5

 

2下列语句序列执行后,j 的值是( C)。

   int  j=8, i=6;

   while( i >4 )  

i-=2;

   - -j;

 A) 5     B) 6     C) 7     D) 8

 

3.下列语句序列执行后,i 的值是(d)。

   int s=0,i=1;

   while( i<=4 ) {

s*=i;

i++;

}

A) 6     B) 4     C) 24     D) 5

 

4.下列语句序列执行后,j 的值是(c )。

   int  j=8, i=6;

   while( i >4 )   

i-=2;

   - -j;

 A) 5     B) 6     C) 7     D) 8

5.下面哪个结果是正确的__B___

for (int i = 0; i < 3; i++) {

     switch(i) {

         case 0: System.out.print("zero");

         case 1: System.out.print("one ");

         break;

         case 2: System.out.print("two ");

         case 3: System.out.print("three ");

     }

 }

 

A: zero one two three B: zero one one two three C: one two three

D: one two three two three one E: Compilation fails.

 

6.下面结果哪个是正确的__B___

int i = 4, j = 3;    

do {

   if (i > j) {

      continue;

   }

   j--;

} while (++i < 6);

System.out.println("i = " + i + " and j = " + j);

A: i = 6 and j = 5 B: i = 6 and j = 3 C: i = 6 and j = 4

D: i = 5 and j = 6 E: i =3and j = 6

 

 

7.若有循环:A

   int x=5,y=20;

   do {    

y-=x;   

x+=2;

}while(x<y);

则循环体将被执行( )。

A) 2次     B) 1次   3  C) 0次     D) 3次

 

8.以下由do-while语句构成的循环执行的次数是(B)。

   int  m = 8;

   do {

++m;

} while ( m < 8 );

A)一次也不执行    B)执行1次 

C)8次             D)有语法错,不能执行

 

9. 下列语句序列执行后,i的值是(A)。

   int  i=10;

   do {  i/=2; } while( i>1 );

A) 1      B) 5      C) 2     D) 0

 

10.下列语句序列执行后,i的值是(D)。

   int  i=10;

   do {  i/=2; } while( i--> 1 );

A) 1      B) 5      C) 2     D) –1

 

 

4.3 章节复习与训练

 

 

第五章数组

5.1什么是数组

5.2数组定义与创建

1.数组对象的长度在数组对象创建之后,就_______改变,数组元素的下标总是从_______开始。

2.已知数组a的定义是int a[]={1,2,3,4,5};则这时a[2]=____,已知数组b的定义是int b[]=new int[5];则这时b[2]=_______。已知数组c定义是String[] c=new String[5],则这时c[2]=______。

3.int[] a={1,2,3,4,5};

   int[] b=a;

   a[0]=5;

   Sysytem.out.println(b[0]);   程序运行后输出__5_____。

三、选择题

1.下列选项错误的是 (    )

A. float f4[] = new float[] { 1.0f. 2.0f. 3.0f};

B. float f3[] = new float[3];

C. float[] f1 = new float[3];

D. float f2[] = new float[];

E. float f5[] = { 1.0f, 2.0f, 2.0f };

2. 下面程序的运行结果是 (     )
int a[] = { 11, 22, 33, 44, 55, 66, 77, 88, 99 };

for (int i = 0; i <= a.length / 3; i++)

{

System.out.print(a[i+2] + a[a.length - i - 1] + " ");

}

A. 132  132  132  132   B.110  110  110  110  

C. 132  132  132 D.110  110  110

3. 执行下列代码后,哪个结论是正确的 String[] s=new String[10];(    )

A.s[10] 为 "";                  B. s[9] 为 null;


C. s[0] 为 未定义              D.s.length 为10

4. 给出下面代码:
public class test{
static int arr[] = new int[10];
public static void main(String args[]) {
System.out.println(arr[10]);
}

那个选项是正确的?( )

 A 输出10;  B 运行时将产生错误;

 C输出零;  D输出空。

5.下面那些语句含有语法错误?(   )

A.int a={1,2,3,4,5}; B.int b=(1,2,3,4,5);

C.int c[]={1 2 3 4 5}; D.int []d=new int[]{1,2,3,4,5};

 

6.关于下面的程序,哪些结论是正确的?c

int[] a=new int[5];

a.length=10;

System.out.println(a.length);

A.运行结果是10 B.运行结果是5

C.有错误无法编译运行 D.运行结果为0

 

5.3数组内存模型

1. 给出下面的代码:

public class Person{
int arr[] = new int[10];
public static void main(String a[]) {
System.out.println(arr[1]);
}
}
哪些叙述是对的?

A. 编译时出错。

B. 编译时正确而运行时出错。

C. 输出0。

D. 输出null。

 

5.4数组的遍历

1.找数组中最大值以及最大值的下标

int a[]={2,3,26,1,9,19};

int max=a[0];

int f=0;

for (int i = 1; i < a.length; i++) {

if(a[i]>max){

max=a[i];

f=i;

}

}

System.out.println(max);

2.向一组有序的数中插入一个数;

1,3,6,9,14,16,58,99中插入34

int []a = { 1,3,6,9,14,16,58,99,0};

int num=34;

for(int i=a.length-2;i>=0;i--){

if(a[i]>num){

a[i+1]=a[i];

}else{

a[i+1]=num;

break;

}

}

for(int j=0;j<a.length;j++){

System.out.println(a[j]);

}

 

 

 

3.计算一个数组中0~9数字出现的次数

int num[]={1,1,6,3,6,9,2,4};

int a[]={0,1,2,3,4,5,6,7,8,9};

int b[]={0,0,0,0,0,0,0,0,0,0};

for(int i=0;i<num.length;i++){

for(int j=0;j<a.length;j++){

if(num[i]==a[j]){

b[j]++;

}

}

}

for (int k = 0; k < b.length; k++) {

System.out.println(a[k]+"出现:"+b[k]+"次");

}

 

 

 

4.字符出现的次数

char num[]={'a','a','c','c','x','z'};

char a[]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};

int b[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

for(int i=0;i<num.length;i++){

for(int j=0;j<a.length;j++){

if(num[i]==a[j]){

b[j]++;

}

}

}

for (int k = 0; k < b.length; k++) {

System.out.println(a[k]+"出现:"+b[k]+"次");

}

 

 

5.5常见异常

5.6数组复制

倒置数组 1, 2, 3, 4, 5, 6, 7, 8, 9

int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

int len = a.length;

int[] b = new int[len];

for (int i = 0; i < len; i++) {

b[i] = a[len - i - 1];

}

for (int j = 0; j < len; j++) {

System.out.println(b[j]);

}

求两个正整数集合的交集;

集合1:{ 1, 2, 3, 4, 5 };集合2:{ 3, 4, 6 };

int[] a = { 1, 2, 3, 4, 5 };

int[] b = { 3, 4, 6 };

int clen;

if (a.length < b.length) {

clen = a.length;

} else {

clen = b.length;

}

int[] c = new int[clen];

for (int i = 0; i < clen; i++) {

c[i] = -1;

}

int j = 0;

for (int m = 0; m < b.length; m++) {

for (int n = 0; n < a.length; n++) {

if (b[m] == a[n]) {

c[j] = b[m];

j++;

}

}

}

for (int p = 0; p < clen; p++) {

if (c[p] != -1) {

System.out.println(c[p]);

}

}

 

5.7数组排序

1.冒泡排序法(从小到大):

int[] values = { 3, 1, 6, 2, 9 };

int temp;

for (int i = 0; i < values.length-1; i++) {

for (int j = values.length - 1; j > i; j--) {

if (values[j] < values[j - 1]) {

temp = values[j];

values[j] = values[j - 1];

values[j - 1] = temp;

}

}

}

for (int m = 0; m< values.length; m++) {

System.out.println(values[m]);

}

 

5.8多维数组

5.9数组工具类

数组有没有length()这个方法? String有没有length()这个方法?

数组没有length()这个方法,有length的属性。String有有length()这个方法。

 

48、Given the following class:
public class Sample{
long length;
public Sample(long l){ length = l; }
public static void main(String arg[]){
Sample s1, s2, s3;
s1 = new Sample(21L);
s2 = new Sample(21L);
s3 = s2;
long m = 21L;
}
}

Which expression returns true?
A. s1 == s2;
B. s2 == s3;
C. m == s1;
D. s1.equals(m).
  题目:给出下面的类:

  哪个表达式返回true。

 

String s= "hello";
String t = "hello";
char c[] = {'h','e','l','l','o'} ;
Which return true?
A. s.equals(t);
B. t.equals(c);
C. s==t;
D. t.equals(new String("hello"));
E. t==c.

  题目:哪些返回true。
    答案: (acd)

5.10 String类

1.下面选项哪个是正确的B

int index = 1;

 String[] foo = new String[]{"hh","world","123"};

 String bar = foo[index];

 String baz = bar + index;

 System.out.println(" baz = " + baz);

A: baz = hh1 B: baz = world 1 C: baz = 1231  D: Compilation fails.

 

 

 

2. 下面数组声明哪个是正确的___AD___

A:char[] scores = {‘e’, ‘v’, ‘f’};

B:String ss[] =new String[3] {"Fluffy", "Spot", "Zeus"};

C:boolean b[] = new boolean [3] {true, false, true};

D:String[] dogs = new String[]{"w3","spe","name"};

 

3.String和 StringBuffer区别?

String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当可以使用StringBuffers来动态构造字符数据。

 

4.下面的哪些程序片断可能导致错误。(BD)
A. String s = "Gone with the wind";
String t = " good ";
String k = s + t;
B. String s = "Gone with the wind";
String t;
t = s[3] + "one";

C. String s = "Gone with the wind";
String standard = s.toUpperCase();

D. String s = "home directory";
String t = s - "directory";
 

 

5.11 章节复习与训练

 

 

 

第六章面向对象

6.1面向对象编程简介

下列不属于面向对象编程的三个特征的是

封装

指针操作

多态性

继承

 

 

1.面向对象的三大特性是什么?

 

6.2类的定义

1.类和对象的区别?

 

6.3抽象

1.什么是抽象?

6.4类定义

1.(D)

public class Bootchy {

 int bootch;

 String snootch;

 

 public Bootchy() {

 this(”one”);

 System.out.print(”first “);

 }

 

 public Bootchy(String snootch) {

 this(27, “two”);

 System.out.print(”second “);

 }

 

 public Bootchy(int bootch, String snootch) {

 this.bootch = bootch;

 this.snootch = snootch;

 System.out.print(”third “);

 }

 

 public static void main(String[] args) {

 Bootchy b = new Bootchy();

 System.out.print(b.snootch +“ “ + b.bootch);

 }

 }

哪一个是正确结果

A. one 27 third second first

B. two 27 first second third

C. first second third one 27

D. third second first two 27

E. third first second two 27

F. first second first third one 27

 

6.5实例变量

1.在// point x处的哪些申明是句法上合法的。答案D,E

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

A. i = m;
B. i = b;
C. i = p.a;
D. i = p.change(30);
E. i = t.b.

 

6.6方法定义

1)

下面结果正确的是:(C)

public class Alpha {

 static int i = 0;

public int aMethod() {

i++;

return i;

}

    public static void main(String [] args) {

     Alpha a = new Alpha();

     a.aMethod();

     int j = a.aMethod();

     System.out.println(j);

    }   

 }

A: 0 B: 1 C: 2 D: Compilation fails.

 

 

在// point x处的哪些申明是句法上合法的

public class Person

 {

private int a;

public int change(int m){ return m; }

}

public class Teacher extends Person

{

public int b;

 }

public class Test

     {

int b;

public static void main(String arg[])

{

Person p = new Person();

Teacher t = new Teacher();

int i;

       // point x

}

}

A. i = m;

B. i = b;

C. i = p.a;

 D. i = p.change(30);

 E. i = t.b;

6.7对象的创建和使用

1

下面构造器的声明哪个是正确的(ABC)

A:

class A {

}

B:

class A {

public A() { }

}

C:

class A {

public A(int x) { }

}

D:

class A{ 

void A() { }

}

 

2.E

1. public class A {

2.   void A() {

3.     System.out.println("Class A");

4.   }

5.   public static void main(String[] args) {

6.     A a = new A();

7.   }

8. }

What is the result?

A: Class A

B: 编译错误

C: 第二行有一个错误

D: 第六行有一个错误

E: 代码执行的时候什么也不输出

 

 

3.B

public class Test { }

下面选项哪一个是默认的构造器()

A: Test(void)     B: public Test()

C: public Test(void) D: public void Test()

 

  1. 下面哪些类的定义,可以通过“new Person()”生成类Person的实例。

A.

public class Person

{

}

B.

public class Person

{

public Person(void){}

}

C.

public class Person

{

public Person(String name){}

}

D.

public class Person

{

public void Person(){}

public Person(String name){};

 

}

 

 

代码如下

public class Hello {

String title;

int value;

public Hello() {

title += " World";

}

public Hello(int value) {

this.value = value;

title = "Hello";

Hello();

}

}

public class Test{

public static void main(String[] args)

{

Hello h=new Hello(5);

System.out.println(h.title);

}

}

哪个选项正确?

A. Hello

B. Hello World

C.编译失败

D. Hello World 5

E. 这些代码运行没有输出

 

 

 

1.把对象实例化可以生成多个对象,使用(new)运算符为对象分配内存空间。

 

 

6.8方法重载

1.AB

public class MethodOver {

   public void setVar(int a, int b, float c) {

   }

 }

下面哪些方法是重载方法

A:private void setVar(int a, float c, int b) { }

B:public int setVar(int a, float c, int b) {return a;}

C:public int setVar(int a, int b, float c) {return a;}

D: private float setVar(int a, int b, float c) {return c;}

 

 

class One{

void foo(){}

}

class Two extends One{

//insert method here

}

哪三个方法插入在//insert method here,将会使Two类正常编译

A. int foo(){}

B. void foo(){}

C. public void foo(){}

D. private void foo(){}

E. protected void foo(){}

 

6.9 静态变量

1.A

public class X {

  private static int a;

   public static void main(String [] args) {

     modify(a);

     System.out.println(a);

   }

   public static void modify(int a) {

     a++;

   }

 }

下面哪一个是结果:

A: 0 B: 1 C: Compilation fails.

D: An exception is thrown at runtime.A

 

 

2.C

下面结果正确的是:

public class Alpha {

 static int i = 0;

public int aMethod() {

i++;

return i;

}

    public static void main(String [] args) {

     Alpha a = new Alpha();

     a.aMethod();

     int j = a.aMethod();

     System.out.println(j);

    }   

 }

A: 0 B: 1 C: 2 D: Compilation fails

 

 

 

 

6.10 静态方法

1.静态属性和静态方法仅属于类的一个具体对象吗?它属于谁?

不属于某个对象,内存中多个对象共用

 

6.11局部.实例.静态变量区别

1.下面关于变量及其范围的陈述哪些是对的?ACD

A. 实例变量是类的成员变量。

B. 实例变量用关键字static声明。

C. 在方法中定义的局部变量在该方法被执行时创建

D. 局部变量在使用前必须被初始化。

 

2.给出下面的代码片断。。。下面的哪些陈述为true?ADE

1) public void create() {
2)  Vector myVect;

3) myVect = new Vector();

4) }

A. 第二行的声明变量myVect不会为该变量分配内存空间。
B. 第二行的声明变量myVect,并为其分配内存空间,该空间将用于保存Vector对象的引用
C. 第二行语句创建一个Vector类对象。
D. 第三行语句创建一个Vector类对象。
E. 第三行语句为一个Vector类对象分配内存空间。

 

 

6.12 章节复习与训练

 

 

 

 

第7章面向对象高级特性

7.1 继承

1.下面关于继承的哪些叙述是正确的? ( AD   )

 A.在java中类只允许单一继承。   

B.在java中一个类只能实现一个接口。 

 C.在java中一个类不能同时继承一个类和实现一个接口。 

 D.在java中一个接口可以继承多个接口。

 

2.D

class One {

 public One() { System.out.print(3); }

}

 class Two extends One {

 public Two() { System.out.print(2); }

 }

 class Three extends Two {

 public Three() { System.out.print(1); }

 }

 public class Numbers{

 public static void main( String[] argv) { Three three= new Three(); }

 }

哪一个是执行结果

A. 1

B. 3

C. 123

D. 321

E. The code rims with no output.

 

3.C

 public class Foo {

 public int a;

 public Foo() { a = 3; }

 public void addFive() { a += 5;}

 }

 

 public class Bar extends Foo {

 public int a;

 public Bar() { a = 8; }

 public void addFive() { this.a +=5; }

 }

 

 Foo f = new Bar();

 f.addFive();

  Foo foo = new Foo();

 System.out.println(”Value: “+ f. a);

运行结果是:

A. Value: 13

B. Value: 8

C. Value: 3

D. Compilation fails.

E. The code runs with no output.

F. An exception is thrown at runtime.

 

4)(AD)

下面关于继承的哪些叙述是正确的。

 A.在java中只允许单一继承。

B.在java中一个类只能实现一个接口。

C.在java中一个类不能同时继承一个类和实现一个接口。

D.java的单一继承使代码更可靠 

 

5.下面关于继承的哪些叙述是正确的? 
A.在java中类只允许单一继承。

B.在java中一个类只能实现一个接口。

C.在java中一个类不能同时继承一个类和实现一个接口。

D.在java中一个接口可以继承多个接口。

 

代码如下:

class Animal {

public String noise(){

return "peep";

}

}

class Dog extends Animal{

public String noise(){

return "back";

}

}

class Cat extends Animal{

public String noise(){

return "move";

}

}

public static void main(String[] args) {

Animal animal =new Dog();

Cat cat=(Cat)animal;

System.out.println(cat.noise());

}

哪个是正确的结果?E

  1. peep
  2. back
  3. move
  4. Compilation fails
  5. An Exception is thrown at the runtime.

 

7.2 方法覆盖

1)(E)

class Parent

{

String one, two;

public Parent(String a, String b){

one = a;

two = b;

}

public void print(){

System.out.println(one);

}

}

public class Child extends Parent{

public Child(String a, String b){

super(a,b);

}

public void print(){

System.out.println(one + " to " + two);

}

public static void main(String arg[]){

Parent p = new Parent("南", "北");

Parent t = new Child("东", "西");

p.print();

t.print();

}

}

A. 编译错误 B. 南 西  C. 南 to 北  东to 西 D. 南 to 北  东  

E. to 西

 

 

 

12.
第十行的声明将调用哪些方法。

public class Parent {
public int addValue( int a, int b) {
int s;
s = a+b;
return s;
}
}
class Child extends Parent {

}
  哪些方法可以加入类Child中?

A. int addValue( int a, int b ){// do something...}

B. public void addValue (){// do something...}

C. public int addValue( int a ){// do something...}

D. public abstract int addValue( int a, int b );

 

1.class SuperClass{

2. public A getA(){

3. return new A();

4. }

5.}

6.class SubClass extends SuperClass{

7. public B getA(){

8. return new B();

9. }

10.}

下面陈述哪个正确?B

  1. 如果A extends B.编译将成功
  2. 如果B extends A.编译将成功
  3. 编译总是失败的在第7
  4. 编译总是失败的在第8

 

代码如下:

11.class Person{

12. String name="No name";

13. public Person(String nm){name=nm;}

14.}

15.

16.class Employee extends Person{

17. String empId="0000";

18. public Employee(String id){

 

this.empId=id;

}

19.}

20.

21.public class EmployeeTest {

22. public static void main(String[] args) {

23. Employee e=new Employee("4321");

24. System.out.println(e.empId);

25. }

26.}

What is the result?

  1. 4321
  2. 0000
  3. 在运行时会抛出异常
  4. 编译失败,因为有错误在18行

 

7.3 final

1.final修饰符可应用(类),(方法),(变量)。

 

2.final修饰的类,方法,变量有什么要求?

 

3.抽象类可以有final方法吗?

 

4.Final类可以有抽象方法吗?

7.5 包

下列说法正确的是   A

java中包的主要作用是实现跨平台功能

package语句只能放在import语句后面

包(package)由一组类(class)和界面(interface)组成

可以用#include关键词来标明来自其它包中的类;

 

 

39、下面的那个java源文件代码片断是对的。
A. package testpackage;
public class Test{//do something...}
B. import java.io.*;
package testpackage;
public class Test{// do something...}

C. import java.io.*;
class Person{// do something...}
public class Test{// do something...}

D. import java.io.*;
import java.awt.*;
public class Test{// do something...}


 
  答案:(acd)

 

7.6 封装

下列不属于面向对象编程的三个特征的是

封装

指针操作

多态性

继承

类所实现的接口以及修饰不可以是  D

public

abstract

final

void

下列类的定义,错误的是

public class test extends Object{

……

 }

final class operators{

……

}

class Point{

……

  }

void class Point{

……

  }

关键字supper的作用是 BC

用来访问父类被隐藏的成员变量

用来调用父类中被重载的方法

用来调用父类的构造函数

以上都是

 

7.7 多态

1. 下面的哪些正确?

class Parent

{

String one, two;

public Parent(String a, String b){

one = a;

two = b;

}

public void print(){

System.out.println(one);

}

}

public class Child extends Parent{

public Child(String a, String b){

super(a,b);

}

public void print(){

System.out.println(one + " to " + two);

}

public static void main(String arg[]){

Parent p = new Parent("南", "北");

Parent t = new Child("东", "西");

p.print();

t.print();

}

}

A. 编译错误 B. 南 西  C. 南 to 北  东to 西 D. 南 to 北  东  

E. 南 东to 西

 

2.题目:给出下面的不完整的类代码:

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) {

// doing the same as two arguments version of constructor

// including assignment name=n,age=a

department = d;

}

}

 

下面的哪些表达式可以加到构造方法中的"doing the same as..."处?

A. Person(n,a);

B. this(Person(n,a));

C. this(n,a);

D. this(name,age).

 

下列代码运行结果是什么

class SimpleCalc{

public int value;

public void calculate(){//1

value+=7;

}

}

public class MultiCalc extends SimpleCalc{

public void calculate(){//2

value-=3;

}

public void calculate(int multiplier){//3

calculate();

super.calculate();

value*=multiplier;

}

public static void main(String[] args) {

MultiCalc cal=new MultiCalc();

cal.calculate(2);

System.out.println("value is "+cal.value);

}

}

  1. Value is : 8
  2. Complilation fails
  3. Value is 12
  4. Value is -12
  5. 这些代码运行没有输出
  6. 在运行的时候会出现一个异常

 

 

1.什么是重载?

 

2.什么是重写?

 

3.重载和重写的区别。重载的方法是否可以改变返回值的类型?

 

7.8 抽象类

请将程序补充完整

1._______ class C

2.{

abstract void callme()

void metoo

  {

    System.out.println(“类C的metoo()方法”);

  }

}

class D_______C

 {

    void callme()

     {

        System.out.println(“重载C类的callme()方法”);

      }

 }

public class Abstract

 {

      public static void main(String args[])

 }

C c=__________D();

c.callme();

c.metoo();

 }

}

 

 

 

 

 

 

下面程序定义了一个类,关于该类说法正确的是

abstract class abstractClass{

……

}

该类能调用new abstractClass(),方法实例化为一个对象

该类不能被继承

该类的方法都不能被重载

以上说法都不对

 

java语言以(类)为程序的基本单位,它是具有某些共同特性实体的集合,是一种抽象的概念。

抽象方法只能存在于抽象类中。抽象方法用关键字(abstract)来修饰。

17. 一个Java数据Bean有下列变量

private Boolean enabled;

那两对方法声明符合JavaBean访问标准?

 

  1. public void setEnabled(Boolean enabled)

public Boolean getEnabled()

  1. public void setEnabled(Boolean enabled)

public void isEnabled()

  1. public void setEnabled(Boolean enabled)

public Boolean isEnabled()

  1. public void setEnabled(Boolean enabled)

public boolean getEnabled()

public abstract class Shape {

private int x;

private int y;

public abstract void draw();

public void setAnchor(int x,int y){

this.x=x;

this.y=y;

}

}

 

哪两个类使用 Shape类正确

A.public abstract class Circle implements Shape{

private int radius;

}

B. public abstract class Circle extends Shape{

private int radius;

}

C. public class Circle extends Shape{

private int radius;

public void draw();

}

D. public abstract class Circle implements Shape{

private int radius;

public void draw();

}

E. public class Circle extends Shape{

private int radius;

public void draw(){}

}

F. public abstract class Circle implements Shape{

private int radius;

public void draw(){}

}

 

7.9 接口

1.在声明一个接口方法的时候下面哪个选项是合法的声明ABDE

A:abstract void method1(); B:public void method2();

C:private void method3(); D: public abstract void method4();

E: int method5();

 A, B

 

 2.ABC

 public interface Foo {

   int k = 23;

 }

下面哪个选项等价于第2行代码

A:final int k = 23; B:public int k = 23; C:static int k = 23;

D:abstract int k = 23;

 

3.E

 public interface Test {

     int frood = 42;

 }

class TestImpl implements Test {

   public static void main(String[] args) {

         System.out.println(++frood);

    }

}

What is the result?

A: 0 B: 1 C: 42 D: 43 E: Compilation fails.

F: An exception is thrown at runtime.

 

4.在声明一个接口方法的时候下面哪个选项是合法的声明(AB)

A:void method1(); B:public void method2();

C:private void method3(); D:final public void method4();

E:static public void method5();

 

 

5下面程序定义了一个类,关于该类说法正确的是D

abstract class abstractClass{

……

}

A该类能调用new abstractClass(),方法实例化为一个对象

B该类不能被继承

C该类的方法都不能被重载

D以上说法都不对

 

1.什么是接口?

 

2.接口和抽象类的区别?

 

7.10 内部类

1.内部类可以声明为private类吗?

 

2.外部类的数据成员可以被内部类直接访问吗?

 

3.内部类的数据成员可以被外部类直接访问吗?

 

4.要在内部类中访问外部类的数据成员需要创建外部类的对象吗?

7.9 章节复习与训练

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第八章异常处理

8.1异常简介

8.2 异常分类

8.3 try catch异常捕获和处理

8.4 finally

8.5 throws

8.6 thow

8.7 章节复习与训练

1.代码如下: C

public static void main(String[] args) {

try {

String[] arr=new String[2];

args[2] = “test”;

System.out.println(arr[2]);

} catch (Exception ex) {

System.out.println(”Exception”);

} catch (NullPointerException npe) {

System.out.println(”NullPointerException”);

}

}

哪个是正确答案?

A. test

B. Exception

C. 编译失败

D. NullPointerException

 

2.哪个关键字可以抛出异常( C   )

A. transient   

B. finally

C. throw   

D. static  

 

 

第九章lang包

9.1包装类

1.8种基本数据类型对应的包装类分别是什么?

 

2.int 和 Integer 有什么区别

Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。

原始类型封装类booleanBoolean  charCharacter  byteByte  shortShort  intInteger  longLong  floatFloat  doubleDouble

引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。

 

3.Integer类的构造方法是什么?

 

4.Integer类有那些常用方法?

 

5.int类型怎样转换为Integer类型?

 

6.int类型怎样转换为String类型?

 

9.2 StringBuffer类

String有那些构造方法?

 

是否可以继承String类?

String类是final类故不可以继承。

 

String 和StringBuffer的区别?

JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。

 

编写一个类验证一个字符串是否为合法的邮箱

 

9.3 Math类

Math类有那些常用方法?

 

Math类是一个静态类吗?

9.4 Class类

1.Class类有公共构造方法?

 

2.Class 对象是怎样加载的?

 

3.Class类有那些常用方法?

9.5 Object类

1.equals()方法和==的区别是什么?

 

2.默认情况下,用户定义的类扩展自 ________类

 

3.所有类的父类是______

 

 

9.6 章节复习与训练

 

 

第十章util包

 

10.1 Date类

1.Date类构造方法有那些?

 

2.怎样获取当前时间?

 

3. Date类有那些常用方法?

10.2 Random类

1.Random类构造方法有那些?

 

2. Random类有那些常用方法?

 

3.编写一个程序,模拟35选7摇奖。

 

4.编写一个班级分座工程的程序。把学生和座位随机分配。

 

10.3 单列集合Collection接口、List接口、Set接口、集合工具类Collections

1.Collection 和 Collections的区别?

Collection是集合类的上级接口,继承与他的接口主要有Set 和List.

Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

 

  1. 集合与数组的区别?

 

  1. 集合框架的优点?

 

  1. List接口有那些实现类,他们的区别是什么?

 

5.Set接口有那些实现类,他们的区别是什么?

 

6.List list = new ArrayList() 与 ArrayList list = ArrayList()的区别?

 

7..编写一个程序给List中int类型数据排序

 

8.将一个班级的所有学生对象装如List中,并且迭代输出同学的信息.

 

 

10.4 键值双列集合Map

1 .Map接口有那些实现类,他们的区别是什么?

 

2.List, Set, Map是否继承自Collection接口?

 

3.Map中的key可以重复吗?value可以重复吗?

 

4.将一个班级的学生的学好和学生对象对应装入一个Map中,并且迭代输出学生的相关信息.

10.5 章节复习与训练

 

第十一章io包

11.1File类

1.流类分为两个体系结构______和_______。

 

1.File类提供那些功能?

 

2.列出用于创建File类的构造方法?

 

3.垃圾收集File对象的实例会影响本地文件系统吗?

11.2字节流InputStream抽象类、OutputStream抽象类

1.Which is not a method of the class InputStream?
A. int read(byte[])
B. void flush()
C. void close()
D. int available()
  题目:下面哪个不是InputStream类中的方法

答案: (b)

 

2..哪些类可以作为FilterInputStream类的构造方法的参数。答案:(c)

A. FilterOutputStream
B. File
C. InputStream
D. RandomAccessFile

 

1.InputStream接受____类型的数据

 

2.Java.io包的_______类用于定位本地文件系统。
 

11.3字符流Reader、Writer

1.列出用于创建File类的构造方法

 

2.编写一个程序,接受用户输入,直到用户输入”end”,存储内容的文件名输入在命令行中。如果没有提供任何命令行参数则程序应输出错误信息并退出。

 

3.BufferReader 对Reader类有何优点?

 

4.为何使用流链

11.4 章节复习与训练

 

 

 

第十二章net包

12.1 网络通信概述

1.协议用语影射IP地址和DNS?

A  是

B  不是

 

2.InetAddress是一个封装____和_____的类

A  IP地址

B  DNS

C  Net地址

D  地址

 

3.URL使用文件的地址来帮助查找Internet上的文件

A 对

B  错

 

1.URL的四个组件是_______   _________  _________  _________

12.2 ServerS ocket、 Socket类

1.___对象在客户端和服务器之间建立连接

A   Socket

B   DatagranPacket

C   IP 地址

D   InterAddress

 

1.编写一个程序,查找给定某台机器名的IP地址。

 

2.编写一个程序,验证URL属性。

 

3.编写一个程序,连接至 HTTP服务器以获取内容。

12.3 章节复习与训练

 

第十三章线程

13.1 进程与线程概述

1.有关线程的哪些叙述是对的。  答案:(bd)

A. 一旦一个线程被创建,它就立即开始运行。

B. 使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。  

C. 当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。

D. 一个线程可能因为不同的原因停止(cease)并进入就绪状态。

 

2.下列哪些属于Thread类的方法?

A  yield()

B  sleep(long msec)

C  go()

D  stop()

E  suspend()

 

1.实现接口 Runnable的类必须实现哪个方法?

 

2.Thread 类有三个静态常量,分别是什么?分别取值是多少

13.2 创建线程的两种方式

1.创建线程有几种方式?分别是什么?

 

2.两种创建线程方式有什么区别?

13.3 线程状态及生命周期

1.方法resume()负责恢复哪些线程的执行。D
A. 通过调用stop()方法而停止的线程。
B. 通过调用sleep()方法而停止运行的线程。
C. 通过调用wait()方法而停止运行的线程。
D. 通过调用suspend()方法而停止运行的线程。

 

 

 

2.基于线程的多任务处理环境中_____是执行特定任务的可执行代码的最小单位(B)

A  进程

B  线程

C  程序

 

1.线程有那些状态?

 

2.run()方法在__star()__方法被调用后执行

13.4 线程同步

1.编写一个线程,用于继承Thread并创建2个线程,每个线程输出从1到5的数。

 

2.修改以上程序,使类实现Runnable接口,而不继承Thread类。

 

3.创建一个名称为Myapplet的Applet,并为其提供多线程功能,在Applet中输出从1到20的数字,并且每个数字延时500毫秒。

 

4.那些情况下线程会被阻塞?

 

 

13.5 章节复习与训练

 

 

第十四章GUI编程

14.1AWT概述

14.2AWT 容器

14.3AWT组件

14.4布局管理器

当Frame的大小被改变时Frame中的按钮的位置可能被改变时使用的哪一个布局管理器。(B) 
A. BorderLayout
B. FlowLayout
C. CardLayout
D. GridLayout

14.5事件处理

14.6Swing概述

14.7Swing组件

14.8 章节复习与训练

 

  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值