文档库 最新最全的文档下载
当前位置:文档库 › Java基础入门课后习题及答案

Java基础入门课后习题及答案

Java基础入门课后习题及答案
Java基础入门课后习题及答案

《Java基础入门》课后习题

第1章Java开发入门

一、填空题

1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。

2、Java程序的运行环境简称之为JRE_____。

3、编译Java程序需要使用_javac_____命令。

4、和两个可执行程序存放在JDK安装目录的bin______目录下。

5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量

则用来保存保存Java虚拟机要运行的“.class”文件路径。

二、选择题

1、以下选项中,哪些属于JDK工具?(多选)ABCD

A、Java编译器

B、Java运行工具

C、Java文档生成工具

D、Java打包工具

2、Java属于以下哪种语言?C

A、机器语言

B、汇编语言

C、高级语言

D、以上都不对

3、下面哪种类型的文件可以在Java虚拟机中运行?D

A、.java

B、.jre

C、.exe

D、.class

4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中命令的作用是以下哪一种?B

A、Java文档制作工具

B、Java解释器

C、Java编译器

D、Java启动器

5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和

java命令,需要将环境变量path设置为以下哪个选项?B

A.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d: \jre;

三、问答题

1、简述Java的特点。

面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。

2、简述JRE与JDK的区别。

JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。

JDK(Java Development Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。初学者学习和使用Java语言时,首先必须下载和安装JDK。JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。 JDK(Java Development Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。初学者学习和使用Java语言时,首先必须下载和安装JDK。JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。

四、编程题

使用记事本编写一个HelloWorld程序,在dos命令行窗口编译运行。请按照题目的要求编写程序并给出运行结果。

public class HelloWorld {

public static void main(String[] args) {

"这是第一个Java程序!");

}

}

第2章 Java编程基础

一、填空题

1、Java中的程序代码都必须在一个类中定义,类使用__class____关键字来定义。

2、布尔常量即布尔类型的两个值,分别是_true_____和_flase_____。

1)3、Java中的注释可分为三种类型,分别是_单行注释else 语句针对x的值进行三种情况的

判断。

2)根据判断结果分别执行不同的表达式,并将结果赋予变量y。

3)在方法的最后返回y的值。

4)在main方法中调用设计好的方法,传入一个int型的值,将方法的返回值打印。

3、请编写程序,实现对数组{25,24,12,76,101,96,28} 的排序。

提示:使用冒泡排序算法。

第3章面向对象(上)

一、填空题

1、面向对象的三大特征是封装性_、_继承性_____和__多态性____。

2、在Java中,可以使用关键字__new____来创建类的实例对象。

3、定义在类中的变量被称为__成员变量____,定义在方法中的变量被称为局部变量______

4、面向对象程序设计的重点是_类___的设计,__类____是用来创建对象的模板。

5、在非静态成员方法中,可以使用关键字_this__访问类的其它非静态成员。

6、当一个对象被当成垃圾从内存中释放时,它的__finalize()____方法会被自动调用。

7、被static关键字修饰的成员变量被称为_静态变量_,它可以被该类所有的实例对象共享。

8、在一个类中,除了可以定义属性、方法,还可以定义类,这样的类被称为_内部类_____。

9、在Java中,提供了一个_javadoc_____命令,用于将程序中的文档注释提取出来,生成HTML格式

的帮助文档。

10、所谓类的封装是指在定义一个类时,将类中的属性私有化,即使用_private_____关键字来修饰。

二、判断题

1、在定义一个类的时候,如果类的成员被private所修饰,该成员不能在类的外部被直接访问。对

2、Java中的每个类都至少有一个构造方法,一个类中如果没有定义构造方法,系统会自动为这个类

创建一个默认的构造方法。对

3、声明构造方法时,不能使用private关键字修饰。错

4、类中static修饰的变量或方法,可以使用类名或对象的引用变量访问。对

5、方法内部类中不能访问外部类的成员变量。错

三、选择题

1、类的定义必须包含在以下哪种符号之间?B

A、方括号[]

B、花括号{}

C、双引号“”

D、圆括号()

2、下面哪一个是正确的类的声明? D

A、 public void HH{…}

B、 public class Move(){…}

C、 public class void number{}

D、 public class Car{…}

3、在以下什么情况下,构造方法会被调用?B

A、类定义时

B、创建对象时

C、调用对象方法时

D、使用对象的变量时

4、下面对于构造方法的描述,正确有哪些?(多选)ABC

A、方法名必须和类名相同

B、方法名的前面没有返回值类型的声明

C、在方法中不能使用return语句返回一个值

D、当定义了带参数的构造方法,系统默认的不带参数的构造方法依然存在

5、使用this调用类的构造方法,下面的说法正确的是?(多选)ACD(ABCD)

A、使用this调用构造方法的格式为this([参数1,参数2…])

B、只能在构造方法中使用this调用其它的构造方法

C、使用this调用其它构造方法的语句必须放在第一行

D、不能在一个类的两个构造方法中使用this互相调用

6、下面哪些可以使用static关键字修饰?(多选)AC(ACD)

A、成员变量

B、局部变量

C、成员方法

D、成员内部类

7、关于内部类,下面说法正确的是?(多选)ACD(ABCD)

A、成员内部类是外部类的一个成员,可以访问外部类的其它成员

B、外部类可以访问成员内部类的成员

C、方法内部类只能在其定义的当前方法中进行实例化

D、静态内部类中可以定义静态成员,也可以定义非静态成员

8、下面对于单例设计模式的描述,正确的是?(多选)BCD(ABCD)

A、类中定义一个无参的构造方法,并且声明为私有

B、在内部创建一个该类的实例对象,使用静态变量引用该实例对象

C、使用private修饰静态变量,禁止外界直接访问

D、定义静态方法返回该类实例

9、请先阅读下面的代码D

public class Test {

public Test(){

"构造方法一被调用了");

}

public Test(int x){

this();

"构造方法二被调用了");

}

public Test(boolean b){

this(1);

"构造方法三被调用了");

}

public static void main(String[] args) {

Test test = new Test(true);

}

}

上面程序的运行结果为下列哪一项?

A、构造方法一被调用了

B、构造方法二被调用了

C、构造方法三被调用了

D、以上三个选项之和

10、Outer类中定义了一个成员内部类Inner,需要在main()方法中创建Inner类实例对象,以下四

种方式哪一种是正确的?D

A、 Inner in = new Inner()

B、Inner in = new ();

C、 in = new ();

D、 in = new Outer().new Inner();

四、程序分析题

阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。否则请说明编译失败的原因。

代码一:不能,secret是私有成员,只能类内部访问(程序不能编译通过,因为在类A中的成员变量secret用private修饰,所以在类Test1中无法访问)

class A {

private int secret = 5;

}

public class Test1 {

public static void main(String[] args) {

A a = new A();

}

}

代码二:250(程序不能编译通过,因为在静态方法method()中不能访问非静态成员变量x。)

public class Test2 {

int x = 50;

static int y =200 ;

public static void method() {

}

public static void main(String[] args) {

();

}

}

代码三:Inner为私有内部类,不允许外部访问(inner)Inner inner = new Outer().new Inner();可以用外部类访问内部类

public class Outer {

public String name="Outer";

private class Inner {

String name="inner";

void showName(){

}

}

public static void main(String[] args) {

Inner inner = new Outer().new Inner();

}

}

五、简答题

1、构造方法和普通的成员方法有什么区别?

构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。而普通方法只有在使用的时候才会被调用。在定义构造方法时要求方法名与类名相同、在方法名的前面没有返回值类型的声明、在方法中不能使用return语句返回一个值

2、单例设计模式具备哪些特点?

单例模式可以保证在整个程序运行期间针对该类只存在一个实例对象。

六、编程题

1、请按照以下要求设计一个学生类Student,并进行测试。

要求如下:

1)Student类中包含姓名、成绩两个属性

2)分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值.

3)Student类中定义一个无参的构造方法和一个接收两个参数的构造方法,两个参数分别为姓名和成绩属性赋值

4)在测试类中创建两个Student对象,一个使用无参的构造方法,然后调用方法给姓名和成绩赋值,一个使用有参的构造方法,在构造方法中给姓名和成绩赋值

2、定义一个Father和Child类,并进行测试。

要求如下:

1)Father类为外部类,类中定义一个私有的String类型的属性name,name的值为“zhangjun”。

2)Child类为Father类的内部类,其中定义一个introFather()方法,方法中调用Father类的name属性。

3)定义一个测试类Test,在Test类的main()方法中,创建Child对象,并调用introFather ()方法。

第4章面向对象(下)

一、填空题

1、在Java语言中,允许使用已存在的类作为基础创建新的类,这种技术我们称为继承______。

2、一个类如果实现一个接口,那么它就需要实现接口中定义的全部_方法_____,否则该类就必须定

义成_抽象类_____。

3、在程序开发中,要想将一个包中的类导入到当前程序中,可以使用_import_____关键字。

4、一个类可以从其它的类派生出来,派生出来的类称为_子类_____,用于派生的类称为_基类_____

或者__父类____。

5、 JDK中定义了大量的异常类,这些类都是_Exception_____类的子类或者间接子类。

6、定义一个Java类时,如果前面加使用_final_____关键字修饰,那么该类不可以被继承。

7、如果子类想使用父类中的成员,可以通过关键字__super____引用父类的成员。

8、在Java语言中,所有的类都直接或间接继承自_Object_____类。

9、异常的捕获通常由try、catch两部分组成,_try_____代码块用来存放可能发生异常,_catch_____

代码块用

来处理产生的异常。

10、在Java语言中,要想是将一个已编译的类打包成jar文件,可以使用的命令是_jar-cvf_____,

要想在命令行窗口运行jar文件,可以使用的命令是__java-jar___。

二、判断题

1、抽象方法必须定义在抽象类中,所以抽象类中的方法都是抽象方法。错

2、Java中被final关键字修饰的变量,不能被重新赋值。对

3、不存在继承关系的情况下,也可以实现方法重写。错

4、package声明语句应当为Java源文件中的第一条语句。对

5、接口中只能定义常量和抽象方法。错(对)

三、选择题

1、在类的继承关系中,需要遵循以下哪个继承原则?B

A、多重

B、单一

C、双重

D、不能继承

2、在Java语言中,以下哪个关键字用于在方法上声明抛出异常?C

3、关于super关键字以下说法哪些是正确的?(多选)ABD(ABC)

A、super关键字可以调用父类的构造方法

B、super关键字可以调用父类的普通方法

C、super与this不能同时存在于同一个构造方法中

D、super与this可以同时存在于同一个构造方法中

4、以下说法哪些是正确的?(多选)ABCD

A、Java语言中允许一个类实现多个接口

B、Java语言中不允许一个类继承多个类

C、Java语言中允许一个类同时继承一个类并实现一个接口

D、Java语言中允许一个接口继承一个接口

5、类中的一个成员方法被下面哪个修饰符修饰,该方法只能在本类被访问?C

A、public

B、 protected

C、 private

D、default

6、关于抽象类的说法哪些是正确的?(多选)AC

A、抽象类中可以有非抽象方法。

B、如果父类是抽象类,则子类必须重写父类所有的抽象方法。

C、不能用抽象类去创建对象。

D、接口和抽象类是同一个概念。

7、在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字?C

A、inherits

B、implements

C、extends

D、modifies

8、System类位于以下哪个包中?D

A、 B、 C、 D、

9、已知类的继承关系如下: A

class Employee;

class Manager extends Employee;

class Director extends Employee;

则以下语句能通过编译的有哪些?

A、 Employee e=new Manager();

B、 Director d=new Manager();

C、 Director d=new Employee();

D、Manager m=new Director();

10、编译运行下面的程序,结果是什么?B

public class A {

public static void main(String[] args) {

B b = new B();

();

}

void test() {

"A");

}

}

class B extends A {

void test() {

();

"B");

}

}

A、产生编译错误

B、代码可以编译运行,并输出结果AB

C、代码可以编译运行,但没有输出

D、编译没有错误,但会产生运行时异常

四、分析题

阅读下面的程序,分析代码是否能编译通过,如果能编译通过,请列出运行的结果。如果不能编译通过,请说明原因。

代码一:进入catch代码块

进入finally代码块(程序编译能通过,这是因为int x = 2 / 0; 这两条语句使用了try块,捕获了程序因为除以0而产生的异常情况,之后程序会继续向下执行,输出“进入catch代码块”,“进入finally 代码块”。)

public class Test01 {

public static void main(String[] args) {

try {

int x = 2 / 0;

} catch (Exception e) {

"进入catch代码块");

} finally {

"进入finally代码块");

}

}

}

代码二:不能,final修饰shout,不能被重写(程序编译不通过,这是因为在程序中使用了final关键字修饰Animal类,使得Animal类不能被继承。shout()方法中同样使用了final关键字,使得该方法不能被重写。)

final class Animal {

public final void shout() {

码一:不能,RunHandler没有继承Thread,不能用Thread创建对象(程序不能编译通过,因为RunHandler类没有实现Runnable接口,因此RunHandler的实例对象不能作为参数传递给Thread的构造方法。)

class RunHandler {

public void run(){

"run");

}

}

public class Test {

public static void main(String [] args) {

Thread t = new Thread(new RunHandler());

();

}

}

2.代码二:this is run(程序不能编译通过,因为Thread的子类A重写的run()方法的访问级别

不能低于父类run()方法的。访问级别)

public class A extends Thread{

protected void run() {

"this is run()");

}

public static void main(String[] args) {

A a = new A();

();

}

}

3.代码三:Exception(程序不能编译通过,因为同步方法中调用wait()方法的对象必须为同步锁对象)

public class Test{

private Object obj=new Object();

public synchronized void a(){

try {

();改()

"waiting");

} catch (InterruptedException e) {

"Exception");

}

}

public static void main(String[] args) {

new Test().a();

}

}

4.为了使下面的程序能够输出“Thread is running”,请在在空格处填上相应的代码。

public class B implements Runnable {

public static void main(String[] args) {

Thread t = new Thread(new B());

()_____________________ tart();

另一种就是实现接口,同样是在run()方法中实现运行在线程上的代码。

new Thread(new Runnable(){

public void run(){}

}).start()

1、sleep() 和 wait() 有什么区别?

调用sleep()方法,正在执行的线程主动让出CPU去执行其他线程,在sleep()方法指定的时间过后,CPU 才会回到这个线程上继续往下执行,如果当前线程进入了同步锁,sleep()方法并不会释放锁,即使当前线程使用sleep()方法让出了CPU,但其它被同步锁挡住了的线程也无法得到执行。wait()在一个已经进入了同步锁的线程内进行调用,让当前线程暂时让出同步锁,以便其它正在等待此锁的线程可以得到同步

锁并运行。当其它线程调用了notify()方法后,调用wait()方法的线程就会解除wait状态,当再次获得同步锁后,程序可以继续向下执行。

六、编程题

请按照题目的要求编写程序并给出运行结果。

1、通过继承Thread类的方式创建两个线程,在Thread构造方法中指定线程的名字,并将这两个线

程的名字打印出来。

2、通过实现Runnable接口的方式创建一个新线程,要求main线程打印100此次“main”,新线程

打印50次“new”。

3、模拟传智播客的三个老师同时分发80份学习笔记,每个老师相当于一个线程。

4、编写10个线程,第一个线程从1加到10,第二个线程从11加到20...第十个线程从91加到100,

最后再把十个线程结果相加。

第5章 JavaAPI

一、填空题

1、在Java中定义了两个类来封装对字符串的操作,它们分别是String_和_StringBuffer____。

2、Java中的操作日期的类有_Date___、_Calendar___、DateFormat____等。

3、在程序中若想取得一个Runtime实例,则可以调用Runtime类的静态方法getRnutime()_____。

4、Math类中用于计算所传递参数平方根的方法是_sqrt()____。

5、Java中专门用于将日期格式化为字符串的类是_DateFormat____。

6、Math类中有两个静态常量PI和E,分别代表数学常量_π___和_e___。

7、Java中的用于产生随机数的类是_Random___,它位于包中。

8、String类中用于返回字符串字符个数的方法是_length()____。

9、System类中所提供的属性和方法都是_静态___的,想要引用这些属性和方法,直接使用System类

调用即可。

10、已知 sb 为 StringBuffer 的一个实例,且 () 的值为 "abcde ",则执行sb. reverse()后,

()的值为_”edcba_”___。

二、判断题

1、String对象和StringBuffer对象都是字符串变量,创建后都可以修改。错

2、用运算符“==”比较字符串对象时,如果两个字符串的值相同,结果为true。错

3、System类中的currentTimeMillis()方法返回一个long类型的值。对

4、Date、Calendar以及DateFormat类都位于包中。错分别、String类的方法 replace (CharSequence srt1, CharSequence srt2)返回一个新的字符串,它是通过用srt2替换此字符串中出现的所有 srt1得到的。对

三、选择题。

1、先阅读下面的程序片段:C

String str = "abccdefcdh";

String[] arr = ("c");

程序执行后,打印的结果是几?

A、2个

B、 3个

C、4个

D、 5个

2、以下都是Math类的常用方法,其中用于计算绝对值的方法是哪个?C

A、ceil()

B、 floor()

C、 abs()

D、random()

3、Random对象能够生成以下哪种类型的随机数?D

A、int

B、string

C、double

D、A和C

4、String s = "abcdedcba";则(3,4)返回的字符串是以下选项中的哪个?C

A、cd

B、de

C、d

D、e

5、假若indexOf()方法未能找到所指定的子字符串,则返回以下选项中的哪个?C

A、 false

B、 0

C、-1

D、以上答案都不对

6、要产生[20,999]之间的随机整数可以使用以下哪个表达式?B

A.(int)(20+()*97)

B. 20+(int)()*980)

C. (int)()*999

D. 20+(int)()*980

7、以下Math类的方法中,通过哪个方法运算后,结果为?D(C)

A. round()四舍五入

B. min()

C. floor() 小于参数最大整数

D. ceil()大于参数最

小整数

8、下面的程序段执行后,输出的结果是以下哪个选项?A

StringBuffer buf=new StringBuffer("Beijing2008");

(7,"@");

、Beijing@2008 B、@Beijing2008 C、Beijing2008@ D、Beijing#2008

9、阅读下面的程序:A

public class test {

public static void main(String args[]) {

int i;

float f = ;

double d = ;

i = ((int)(f)) * ((int)(d));

}

}

程序执行后,运行结果为以下哪个选项?

A、9

B、 5

C、6

D、

10、先阅读下面的程序片段:B

String str1=new String("java");

String str2=new String("java");

StringBuffer str3=new StringBuffer("java");

对于上述定义的变量,以下表达式的值为true的是哪个?

A、str1==str2;

B、(str2);

C、str1==str3;

D、以上都不对

四、程序分析题。

阅读下面的程序,分析代码是否能编译通过,如果能编译通过,请列出运行的结果。如果不能编译通过,请说明原因。

代码一:5

-5

public class A {

public static void main(String[] args) {

);

);

}

}

代码二:():15

(0):d

lastIndexOf(m):"10

substring(2,4):fe

indexOf(g):5

public class B {

public static void main(String[] args) {

String s = "dfferghuklmbdfd";

"():" + ());

"(0):" + (0));

"lastIndexOf(m):" + ('m'));

"substring(2,4):" + (2, 4));

"indexOf(g):" + ('g'));

}

}

五、简答题

1、String和StringBuffer有什么区别?

String类是不可变类,即字符串值一旦初始化后就不可能改变。StringBuffer是可变字符串类,类似String的缓冲区,可以修改字符串的值。

2、Date和Calender类有什么区别和联系?

Date类用来表示某个特定的瞬间,能够精确到毫秒。而在实际应用中,往往需要把一个日期中的年、月、日等信息单独返回进行显示或处理,这个类中的大部分方法都已被标记过时。Calender 类基本取代了Date类,该类中定义了一系列用于完成日期和时间字段操作的方法。

Calendar的getTime()方法,getTime()返回一个表示Calendar时间值的Date对象,同时Calendar 有一个setTime(Date date)方法,setTime()方法接收一个Date对象,将Date对象表示的时间值设置给Calendar对象,通过这两个方法就可以完成Date和Calendar对象之间的转换。

六、编程题

请按照题目的要求编写程序并给出运行结果

1、编写一个程序,实现字符串大小写的转换并倒序输出,要求如下

1)使用for循环将字符串“HelloWorld”从最后一个字符开始遍历。

2)遍历的当前字符如果是大写字符,就使用toLowerCase()方法将其转换为小写字符,反之则使用toUpperCase() 方法将其转换为大写字符

3)定义一个StringBuffer对象,调用append()方法依次添加遍历的字符,最后调用StringBuffer 对象的toString()方法,并将得到的结果输出。

2、计算从今天算起,100天以后是几月几号,并格式化成xxxx年x月x日的形式打印出来。

提示:

1)调用Calendar类的add()方法计算100天后的日期

2)调用Calendar的getTime() 方法返回Date类型对象

2)使用FULL格式的DateFormat对象,调用format() 方法格式化Date对象

3、利用Random类来产生5个20~50之间的随机整数。

提示:[n-m](n、m均为整数,n

第6章集合类

一、填空题

1、JDK中提供了一系列可以存储任意对象的类,统称为集合。

2、在创建TreeSet对象时,可以传入自定义的比较器,自定义比较器需要实现 Comparator 接

口。

3、Collection有两个子接口分别是List和Set,List集合的特点是有序、可重复,Set集合

的特点是无序、不可重复。

4、使用Iterator遍历集合时,首先需要调用 hashNext() 方法判断是否存在下一个元素,若存

在下一个元素,则调用 next() 方法取出该元素。

5、集合按照存储结构的不同可分为单列集合和双列集合,单列集合的根接口是 Collection ,

双列集合的根接口是 Map 。

6、Map集合中的元素都是成对出现的,并且都是以键、值的映射关系存在。

7、Iterator有一个子类,不仅可以对集合进行从前向后遍历,还可以从后向前遍历,该类是ListIterator 。

8、List集合的主要实现类有 ArrayList 、 LinkedList ,Set集合的主要实现类有

HashSet 、 TreeSet Map集合的主要实现类有 HashMap 、 TreeMap 。

9、Map集合中存储元素需要调用 put() 方法,要想根据该集合的键获取对应的值需要调用

get() 方法。

10、包中提供了一个专门用来操作集合的工具类,这个类是 Collections ,还提供了一个专门

用于操作数组的工具类,这个类是 Arrays 。

二、判断题

1、Set集合是通过键值对的方式来存储对象的。错

2、集合中不能存放基本数据类型,而只能存放引用数据类型。对

3、如果创建的TreeSet集合中没有传入比较器,则该集合中存入的元素需要实现Comparable接口。对

4、使用Iterator迭代集合元素时,可以调用集合对象的方法增删元素。错

5、LinkedList在内部维护了一个双向循环链表,每一个元素节点都包含前一个元素节点和后一个元

素节点的引用。对

三、选择题

1、要想保存具有映射关系的数据,可以使用以下哪些集合?(多选)BC

A、ArrayList

B、TreeMap

C、HashMap

D、TreeSet

2、Java语言中,集合类都位于哪个包中?A

A、 B、 C、 D、

3、使用Iterator时,判断是否存在下一个元素可以使用以下哪个方法?D

A、next()

B、hash()

C、hasPrevious()

D、hasNext()

4、关于foreach循环的特点,以下说法哪些是正确的?(多选)ABD

A、foreach循环在遍历集合时,无需获得容器的长度

B、foreach循环在遍历集合时,无需循环条件,也无需迭代语句

C、foreach循环在遍历集合时非常繁琐

D、foreach循环的语法格式为:for(容器中元素类型临时变量:容器变量)。

5、在程序开发中,经常会使用以下哪个类来存储程序中所需的配置?C

A、HashMap

B、TreeSet

C、Properties

D、TreeMap

6、使用Enumeration遍历集合时,需要使用以下哪些方法?(多选)AB

A、hasMoreElements()

B、nextElement()

C、next()

D、hashNext()

7、要想集合中保存的元素没有重复并且按照一定的顺序排列,可以使用以下哪个集合?D

A、LinkedList

B、 ArrayList

C、hashSet

D、TreeSet

8、下列哪些说法是正确的?(多选)AB

A、LinkedList集合在增删元素时效率较高

B、ArrayList集合在查询元素时效率较高

C、HashMap不允许出现一对null键null值

D、HashSet集合中元素可重复并且无序

9、以下哪些方法是LinkedList集合中定义的?(多选) ABC

A、getLast()

B、getFirst()

C、remove (int index)

D、next()

java单选题库-博学谷

一、单选题 属于以下哪种语言() A. 机器语言 B. 汇编语言 C. 高级语言 D. 以上都不对 答案:C 解析:Java是一门高级编程语言 考察点:第一章 Java开发入门 题目难度:★☆☆☆容易 2.下列目录中,哪一个是用来存放JDK核心源代码的 A. lib目录 B. src目录 C. jre目录 D. include目录 答案:B 解析:JDK核心源代码存放在src文件夹下 考察点:第一章 Java开发入门 题目难度:★☆☆☆容易 3.下面命令中,可以用来正确执行HelloWorld案例的是() A. java HelloWorld B. java C. javac HelloWorld D. javac

答案:A 解析:java命令负责运行编译后的.class文件,不需要文件后缀名。 考察点:第一章 Java开发入门 题目难度:★☆☆☆容易 4.下面关于配置path环境变量作用的说法中,正确的是() A. 在任意目录可以使用javac和java命令 B. 在任意目录下可以使用class文件 C. 在任意目录可以使用记事本 D. 在任意目录下可以使用扫雷游戏 答案:A 解析:path环境变量的作用是在任意目录下都可以使用javac和java命令。 考察点:第一章 Java开发入门 题目难度:★☆☆☆容易 5.下列选项中,可以正确配置classpath的命令是() A. set classpath =C:\Program Files\Java\ set classpath : C:\Program Files\Java\ classpath set =C:\Program Files\Java\ classpath set : C:\Program Files\Java\ 答案:A 解析:配置classpath的命令是set classpath=xxx,并且等于号两边不要有空格。 考察点:第一章 Java开发入门 题目难度:★☆☆☆容易 6.下面选项中,完全面向对象的编程语言是() A. C B. COBOL C. JAVA D. FORTRAN 答案:C

Java入门基础代码

例1-1 DoubleVariableDemo.java class DoubleVariableDemo{ public static void main(String args[]){ double dRadius=2.0d; double dArea=Math.PI*dRadius*dRadius; System.out.println("半径为2的圆的面积:"+dArea); } } 例1-2 BooleanConstantDemo.java class BooleanConstantDemo{ public static void main(String args[]){ final boolean BFLAG=true; if(BFLAG) System.out.println("Always Print Out Me!"); else System.out.println("Never Print Out Me!"); } } 例1-3 DecisionDemo.java class DecisionDemo{ public static void main(String args[]){ short x=1,y=2,z; // 错误代码 // z = x + y; // 正确代码 z=(short)(x+y); System.out.println(z); } } 例1-4 IntegerConstantDemo . java class IntegerConstantDemo{ public static void main(String args[]){ final byte nMaxValue_1=100; final short nMaxValue_2=200; final int nMaxValue_3=300; final long nMaxValue_4=400; System.out.println("整数常量的nMaxValue_1值"+nMaxValue_1); System.out.println("整数常量的nMaxValue_2值"+nMaxValue_2); System.out.println("整数常量的nMaxValue_3值"+nMaxValue_3); System.out.println("整数常量的nMaxValue_4值"+nMaxValue_4); // nMaxValue_1 = nMaxValue_1 + 1; 不能更改常量的值

java基础笔试测试题与答案

Java 一章至五章考试 一. 填空题(8 分) 1. 面向对象的三大原则是( 封装),( 继承) 和( 多态).2 分 2. 如果想在对象实例化的同时就初始化成员属性,则使用( 构造函数).2 分 3. ( 实体) 方法和( 构造) 方法不能修饰为abstract ?2分 二.选择题(60 分) 1) 在Java 语言中,下列(a,d )是不满足命名规范的变量名。(选择二项) a) 姓名 b) $Name c) _instanceof d) instanceof 2) 下列Java 代码片段的输出结果是( a ) 。 char c='a'; int i=c; float f=i; byte b=(byte)c; System.out.println(c+","+i+","+f+","+b); a) 编译错误 b) a,97,97,97 c) a,97,97.0,97 d) a,97,97.0f,97 3) 下列Java 代码中,空白处的代码是(b,c )。( 选择两项) public interface Fee{ public float calLabFee(float unitPrice, float time); } public class FeeImpl implements Fee { public float calLabFee(float unitPrice, float time){ return unitPrice * time; } } public class FeeInterfaceTest { public static void main(String[] args){ ________________ Float labFee = fee.calLabFee(400.00,5); } }

Java基础知识笔试题及答案2

1.Java中提供了名为()的包装类来包装原始字符串类型。 A.Integer B.Char C.Double D.String 2.https://www.wendangku.net/doc/1210485934.html,ng包的()方法比较两个对象是否相等,相等返回true。 A.toString()B.equals()C.compare()D.以上所有选项都不正确3.使用()方法可以获得Calendar类的实例。 A.get()B.equals()C.getTime()D.getInstance() 4.下面的集合中,()不可以存储重复元素。 A.Set B.Collection C.Map D.List 5.关于Map和List,下面说法正确的是()。 A.Map继承List B.List中可以保存Map或List C.Map和List只能保存从数据库中取出的数据 D.Map的value可以是List或Map 6.给定如下Java代码,编译运行的结果是()。 Import java.util.*; public class Test { public static void main(String[] args) { LinkedList list=new LinkedList(); list.add(“A”); list.add(2,”B”); String s=(String)list.get(1); System.out.println(s); }

A.编译时发生错误B.运行时引发异常C.正确运行,输出:A D.正确运行,输出:B ###############################################################3 3.所有异常的父类是()。 A.Error B.Throwable C.RuntimeException D.Exception 4.下列()操作不会抛出异常。 A.除数为零B.用负数索引访问数组 C.打开不存在的文件D.以上都会抛出异常 5.能单独和finally语句一起使用的块是()。 A.try B.throws C.throw D.catch 6.在多重catch块中同时使用下列类时,()异常类应该最后列出。 A.Exception B.ArrayIndexOutOfBoundsException C.NumberFormatException D.ArithmeticException 7.执行下面的代码会引发()异常。 String str=null; String strTest=new String(str); A.InvalidArgumentException B.IllegalArgumentException C.NullPointerException D.ArithmeticException 8.这段代码的输出结果是()。 try{ System.out.print(“try,“); return; } catch(Exception e){ System.out.print(“catch,“); } finally { System.out.print(“finally”);

《Java基础入门》-课后习题答案--1-6

第1章Java开发入门 一、填空题 1、Java EE、Java SE、Java ME 2、JRE 3、javac 4、bin 5、path、classpath 二、选择题 1、ABCD 2、C 3、D 4、B 5、B 三、简答题 1、面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。 2、JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程序运 行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。 JDK(Java Development Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。初学者学习和使用Java语言时,首先必须下载和安装JDK。JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。 四、编程题 public class HelloWorld { public static void main(String[] args) { System.out.println("这是第一个Java程序!"); } } 第2章Java编程基础 一、填空题 1、class 2、true和false 3、单行注释、多行注释、文档注释 4、基本数据类型、引用数据类型 5、1、2、4、8 6、& && | || 7、0 8、5 9、34 10、56 二、判断题 1、错 2、对 3、错 4、对 5、错

java基础测试题

一、选择题48分每题2分 1.面向对象的三大特性不包括() A 封装 B 继承 C 多态 D 消息通信 2.下列声明哪个是错误的() A int i = 10; B float f = 1.1; C double d = 34.4; D long m = 4990; 3.程序的执行结果是() public class Test { public static void main(String [] args){ System.out.println(“”+'a'+1); } } A 98 B a 1 C 971 D 197 4.程序的执行结果是() public class Test { int x; public static void main(String [] args){ Test t = new Test(); t.x=5; change(t); System.out.println(t.x); } public static void change(Test t){ t.x=3; } } A 5 B 3 C 编译出错 D 以上答案都不对 5.关于类与对象说法错误的是() A 类是模板,对象是产品 B 人是类,男人是对象 C 类是对某一事物的描述是抽象的,对象是实际存在的该类事物的个体 D 汽车设计图是类,制造的若干汽车是对象 6.关于构造函数说法错误的是() A 构造函数名与类相同 B 构造函数无返回值,可以使用void 修饰 C 构造函数在创建对象时被调用 D 在一个类中如果没有明确的给出构造函数,编译器会自动提供一个构造函数7.程序的执行结果是() public class Test { public static void main(String [] args){ String str1= new String("abc"); String str2 = new String("abc"); String str3=str1; if(str1.equals(str2)){ System.out.println("true"); }else{ System.out.println("false"); } if(str1==str3){

Java基础笔试机试测试题(带答案)

Java基础考试题 班级:__________ 姓名:___________ 日期:_____________ 一、笔试(45题,每题2分) 1) 分析下面的Java程序段,编译运行后的输出结果是()。 public class Test { public static void changeString(StringBuffer sb) { sb.append("stringbuffer2"); } public static void main(String[] args) { StringBuffer sb = new StringBuffer("stringbuffer1"); changeString(sb); System.out.println("sb = " + sb.toString()); } } A. sb = stringbuffer2stringbuffer1 B. sb = stringbuffer1 C. sb = stringbuffer2 D. sb = stringbuffer1stringbuffer2 2) 在Java中,包有多种用途,但不包含()。 A. 将类组合成较小的单元,便于使用 B. 有助于避免命名冲突 C. 有助于提高运行效率 D. 允许在更广的范围内保护类、数据和方法 3) 在Java中,如果要在字符串类型s="java"中,得到字母'v' 出现的位置,选()语句。 A)s.matches('v'); B)s.charAt('v'); C)s.indexOf('v'); D)s.substring('v'); 4)下列代码运行后,变量c的值是()。 int a=15,b=10; double c=a/b; a) 1.5 b) 1.0 c) 1 d) 0 5)main方法如下所示,该程序的运行结果是()。 public static void main(String [] args){ int i=0; System.out.print(i++); } a) 输出0 b) 输出1 c) 编译错误d) 运行时出现异常

100道Java基础测试题

Java基础测试题 不定项选择题 1、面向对象的三大特征是() A) 封装B) 继承C) 多态D) 线性 2、变量命名规范说法正确的是() A) 变量由英文字母、下划线、数字、$符号组成 B) 变量不能以数字作为开头 C) A和a在Java中代表同一个变量 D) 不同类型的变量,可以起相同的名字 3、i的值为10,表达式(i++)+(i--)的值为() A) 21B) 20 C) 19 D) 18 4、下面哪些定义变量的语句是正确的?() A) int i = 'A'; B) float f = 1.23; C) byte b = (byte)128; D) int c[5][5] = new int[ ][ ]; 5、以下代码的执行结果是() int a = 1; bool ean m = a%2 = = 1; if(m = false){ System.out.println("false"); }else{ System.out.println("true"); } A) false B) true C) 编译不通过 6、以下程序段中,哪个选项不能插入到第二行?() A)class Demo2 { } B) import java.util.*; C) public static void main(String args[ ]) { } D) package com; E) public class Demo2 { } 7、下面有关Java循环结构的描述正确的是() A) for循环体语句中,可以包含多条语句,但要用大括号括起来 B) for循环和do...while循环都是先执行循环体语句,后进行条件判断 C) continue和break只能用于循环结构中 D) 增强for循环遍历数组时不需要知道数组的长度,但不能实现与下标相关的操作 8、switch选择语句是多分支选择语句,只能处理等值条件判断的情况。在jdk1.7中,switch中的表达式可以是以下哪种类型() A)int B)char C)double D) float E)String F) short

JAVA基础面试题经典

JAVA基础面试题经典

第一阶段题库 基础知识部分: 1.JDK是什么?JRE是什么? a)答:JDK:java开发工具包。JRE:java运行时 环境。 2.什么是java的平台无关性? a)答:Java源文件被编译成字节码的形式,无论 在什么系统环境下,只要有java虚拟机就能运行这个字节码文件。也就是一处编写,处处运行。这就是java的跨平台性。 3.在一台电脑上配置java环境,path起什么作 用?如何配置? a)答:path的作用是在DOS环境下,能在任意 位置使用JDK目录中bin文件夹中的可执行程序,来编译执行java程序。 b)在环境变量中找到path变量,把bin文件夹 的绝对路径加上即可。 4.什么样的标识符是合法的? a)由字母、数字、_和$组成,长度不限。其中字 母能够是大写或小写的英文字母,数字为0到9。

b)标识符的第一个字符不能是数字。 c)标识符区分大小写。 d)标识符不能包含空格。 5.Java有几种基本数据类型? a)byte,short,int,long,char,boolean,float,double 6.什么是隐式类型转换?什么是显示类型转换? a)当将占位数少的类型赋值给占位数多的类型 时,Java自动使用隐式类型转换。 b)当把在级别高的变量的值赋给级别底变量时, 必须使用显示类型转换运算。 7.&&和&区别,||和|区别? a)&&和||是短路与,短路或,当左边的表示式能 判断当前结果,则不判断右边的表示式。 b)而& 和|则将两边的表示式都运算完毕后,再 算结果。 8.break,continue区别? a)break结束最近的一个循环,continue结束当 次循环,进入下次循环。 9.类的命名规则是什么? a)如果类名使用拉丁字母,那么名字的首写字母 使用大写字母。

Java基础入门教程(适合所有初学者)

第1章 Java语言概述与面向对象思想 1 1.1 Java语言的发展 1 1.1.1 Java语言的产生 1 1.1.2 Java语言的发展 1 1.2 Java语言的特点 2 1.3 面向对象与面向过程的差异 3 1.3.1 面向过程思想回顾 4 1.3.2 面向对象思想介绍 4 1.4 面向对象程序设计中的主要概念和特征 4 1.4.1 主要概念 5 1.4.2 主要特征 5 *1.5 Java与C++的差异 5 1.6本章小结5 习题 5 第2章 Java语言开发环境 6 2.1 JDK 6 2.1.1 JDK的简介6 2.1.2 JDK的构成6 2.1.3 JDK的使用6 2.2 IDE 8 2.2.1 IDE简介8 2.2.2 JBuilder 9 2.2.3 Eclipse 9 2.2.4 相关资源9 2.3 Project管理9 2.3.1 Project的含义9 2.3.2 可行的Project组织模式9 2.3.3 主要开发工具的Project目录10 2.4 本章小结10 习题10 第1章 Java语言概述与面向对象思想 1.1 Java语言的发展 1.1.1 Java语言的产生以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java 技术有一个总体了解,通过本课程学习,使学生掌握Java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作 上世纪90年代初期,Sun公司在研究一种适用于未来的智能设备的编程语言,该语言要具有一些新的特性,以避免C++的一些不足。 该语言起初命名为Oak,来源于语言作者Gosling办公室窗外的一棵橡树(Oak)。后来在注册时候遇到了冲突,于是就从手中的热咖啡联想到了印度尼西亚一个盛产咖啡的岛屿,中文名叫爪哇,Java语言得名于此。 随着Internet的迅速发展,Web应用日益广泛,Java语言也得到了迅速发展。1994年,Gosling

Java程序员认证考试题库

第一部分 基础知识练习 目标 本章对应于《学生指南》各章的内容分别提供了练习题集,包括: ●第一章Java入门 ●第二章数据类型和运算符 ●第三章流程控制与数组 ●第四章封装 ●第五章继承 ●第六章抽象类与接口 ●第七章多态 ●第八章异常 ●第九章多线程机制 ●第十章输入输出流 ●第十一章使用泛型和集合框架 ●第十二章基于Swing的图形用户界面(GUI)设计 ●第十三章Java事件驱动编程

第一章练习题(Java入门) (C)1.下列哪项不是JDK所包含的内容?(选一项)A.Java编程语言 B.工具及工具的API C.Java EE扩展API D.Java平台虚拟机 2.下列关于JDK、JRE和JVM的描述。哪项正确?A.JDK中包含了JRE,JVM中包含了JRE B.JRE中包含了JDK,JDK中包含了JVM C.JRE中包含了JDK,JVM中包含了JRE D.JDK中包含了JRE,JRE中包含了JVM 3.下列哪个工具可以编译java源文件? A.javac B.jdb C.javadoc D.junit 4.JDK工具javadoc的作用是哪项? A.生成Java文档 B.编译Java源文件 C.执行Java类文件 D.测试Java代码 5.以下哪些包是Java标准库中常用的包?(选三项)A.java.lang B.javax.servlet .http C.j ava. io D.java.sql

6.使用JDK工具生成的Java文档的文件格式是? A.XML格式 B.自定义格式 c.二进制格式 D.HTML格式 (AC)7.以下关于JVM的叙述,哪项正确?(选两项) A.JVM运行于操作系统之上,它依赖于操作系统 B.JVM运行于操作系统之上,它与操作系统无关 C.JVM支持Java程序运行,它能够直接运行Java字节码文件D.JVM支持Java程序运行,它能够直接运行Java源代码文件 8.以下关于支持Java运行平台的叙述,哪项错误? A.Java可在Solaris平台上运行 B.Java可在Windows平台上运行 C.Java语言与平台无关。Java程序的运行结果依赖于操作系统D.Java语言与平台无关。Java程序的运行结果与操作系统无关 (B)9.以下关于Applet和Java程序之间关系的叙述,哪项错误? A.-个Applet就是一段Java程序 B.Applet是一种特殊的Java程序,它需要运行在Web服务器上C.Applet是一种特殊的Java程序,它需要运行在Web浏览器上D.Applet是一种Java SE平台的应用程序 (AD)10.以下关于Java HotSpot的描述,哪两项错误?(选两项)A.Java HotSpot是一种热编译技术,在编译Java源程序时会被使用B.Java HotSpot是一种热编译技术,在运行Java代码时会被使用C.Java HotSpot是一种热编译技术,它只对程序的部分字节码进行优化D.Java HotSpot是一种热编译技术,它会对程序的全部字节码进行优化

适合java入门学习的书籍推荐

适合java入门学习的书籍推荐 作为Java初级学习者而已,最痛苦的事情莫过于想要学好java,但是面对市场上纷繁的java学习书籍,往往容易感到无所适从。牛耳教育就java学习体系流程方面为大家挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java爱好者们。 一、Java编程入门类 1、《Java编程思想》 2、《Agile Java》中文版 二、Java编程进阶类 1、《重构改善既有代码的设计》 这本书名气很大,不用多介绍,可以在闲暇的时候多翻翻,多和自己的实践相互印证。这本书对产生影响是潜移默化的。 2、《测试驱动开发 by Example》 本书最大特点是很薄,看起来没有什么负担。可以找一个周末的下午,一边看,一边照做,一个下午就把书看完,这本书的所有例子跑完了。这本书的作用是通过实战让你培养TDD的思路。 三、Java架构师之路 到这个阶段,应该已经非常娴熟的运用Java编程,而且有了一个良好的编程思路和习惯了,但是可能还缺乏对应用软件整体架构的把握,现在就是迈向架构师的第一步。 1、《Expert One-on-One J2EE Design and Development》 这本书是Rod Johnson的成名著作,非常经典,从这本书中的代码诞生了springframework。但是好像这本书没有中译本。 2、《Expert One-on-One J2EE Development without EJB》 这本书由gigix组织翻译,多位业界专家参与,虽然署名译者是JavaEye,其实JavaEye出力不多,实在是忝居译者之名。

java基础考试题及答案

新员工考试 一、选择题(共30题,每题 2 分) 1. 下面哪些是合法的标识符?(多选题) A. $persons B. TwoUsers C. *point D. this E. _endline 答案A,B,E 分析Java 的标识符可以以一个Unicode 字符,下滑线(_),美元符($)开始,后续字符可以是前面的符号和数字,没有长度限制,大小写敏感,不能是保留字(this 保留字)。 2. 哪些是将一个十六进制值赋值给一个long 型变量?(单选题) A. long number = 345L; B. long number = 0345; C. long number = 0345L; D. long number = 0x345L 答案D 分析十六进制数以Ox开头,Io ng型数以L (大小写均可,一般使用大写,因为小写的 l 和数字1 不易区分)。 3. 下面的哪些程序片断可能导致错误? (多选题) 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"; 答案B,D 分析 A:String 类型可以直接使用+进行连接运算。 B:String 是一种Object ,而不是简单的字符数组,不能使用下标运算符取其值的某个元 素,错误。 C:toUpperCase()方法是String 对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果(String 类型)。 D:String 类型不能进行减(- )运算,错误。 4. point x 处的哪些声明是句法上合法的? (多选题) cIass Person { private int a; pubIic int change(int m){ return m; } } pubIic cIass Teacher extends Person { public int b;

JAVA入门练习50题(含答案)

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } }

JAva基础期末考试试卷

一、填空题 1、面向对象的三大特征是______、______和______。 2、在程序开发中,要想将一个包中的类导入到当前程序中,可以使用______关键字。 3、编译Java程序需要使用______命令。 4、如果子类想使用父类中的成员,可以通过关键字______引用父类的成员。 5、在Java语言中,所有的类都直接或间接继承自______类。 6、定义一个Java类时,如果前面加使用______关键字修饰,那么该类不可以被继承。 7、String类中用于返回字符串字符个数的方法是_____。 8、若x = 2,则表达式( x + + )/3 的值是______。 9、定义在类中的变量被称为______,定义在方法中的变量被称为______ 10、若int a[3][2]={{123,345},{34,56},{34,56}},则a[2][1]= ______。 二、选择题 1、先阅读下面的程序片段: String str = "abccdefcdch"; String[] arr = str.split("c"); System.out.println(arr.length); 程序执行后,打印的结果是几? A、2个 B、3个 C、4个 D、5个 2、以下关于变量的说法错误的是? A、变量名必须是一个有效的标识符 B、变量在定义时可以没有初始值 C、变量一旦被定义,在程序中的任何位置都可以被访问 D、在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声 明 3、在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字? A、inherits B、implements C、extends D、modifies 4、类中的一个成员方法被下面哪个修饰符修饰,该方法只能在本类被访问? A、public B、protected C、private D、defaul 5、关于super关键字以下说法哪些是正确的?(多选) A、super关键字可以调用父类的构造方法 B、super关键字可以调用父类的普通方法 C、super与this不能同时存在于同一个构造方法中 D、super与this可以同时存在于同一个构造方法中 6、已知类的继承关系如下: class Employee; class Manager extends Employeer; class Director extends Employee; 则以下语句能通过编译的有哪些? A、Employee e=new Manager(); B、Director d=new Manager(); C、Director d=new Employee(); D、Manager m=new Director(); 7、String s = "abcdedcba";则s.substring(4,5)返回的字符串是以下选项中的哪个? A、cd B、de C、d D、e 8、关于抽象类的说法哪些是正确的?(多选) A、抽象类中可以有非抽象方法。

Java基础语法考试题

学士后Java阶段测试-U1单元-笔试试卷1 考试时间 60分钟 选择题(共50题,每题2分,满分100分) 1) 在Java类中,使用以下()声明语句来定义公有的int型常量MAX。 A. public int MAX = 100; B. final int MAX = 100; C. public static int MAX = 100; D. public static final int MAX = 100; 2) 在Java中,下列关于方法重载的说法中错误的是()(多选)。 A. 方法重载要求方法名称必须相同 B. 重载方法的参数列表必须不一致 C. 重载方法的返回类型必须一致 D. 一个方法在所属的类中只能被重载一次 3) 给定Java代码如下所示,在横线处新增下列()方法,是对cal方法的重 载。(多选) public class Test{ public void cal(int x, int y, int z) {} ________________ } A. public int cal(int x, int y, float z){ return 0; } B. public int cal(int x, int y, int z){ return 0; } C. public void cal(int x, int z){ } D. public void cal(int z, int y, int x){ } 4) 在Java中,下面对于构造函数的描述正确的是()。 A. 类必须显式定义构造函数 B. 构造函数的返回类型是void C. 构造函数和类有相同的名称,并且不能带任何参数 D. 一个类可以定义多个构造函数 5) 下面Java代码的运行结果是()。 class Penguin { private String name=null; // 名字 private int health=0; // 健康值 private String sex=null; // 性别 public void Penguin() { health = 10; sex = "雄"; System.out.println("执行构造方法。");

Java基础笔试题(一)

Java阶段测试笔试题 一、选择题(每题5分) 1.Java程序的源文件扩展名为() A..doc B..txt C..java D..html 2.java程序中,main方法的格式正确是() A.static void main(String[] args) B.public void main(String[] args) C.public static main(String[] args) D.public static void main(String[] args) 3.在java中,下面()命令能够将java源文件编译为类文件 A.java B.javaw C.javac D.jar 4.给定java代码,进行编译运行,结果是() String s; System.out.print(“s=” + s); A.编译错误

B.编译通过,但是运行时出现错误 C.正常输出,输出s = null D.正常输出,输出s = 5.在java中,下列()是合法的变量名【选两项】 A._myString B.$a+b C.myString D.9myString 6.在java中,下列代码运行后的输出结果是() int x = 5 * 3; int y = x + 5 / x + 3; System.out.print(y); A.18 B.21 C.19 D. 4 7.从键盘输入值,第一步所做的是导入包,以下导入包的语句正确 的是()【选两项】 A.import java.util.*; B.import java.until.*; C.import java.util.Scanner; D.import java.until.Scanner;

《Java编程基础知识点汇总及习题集》--答案

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (16) 第四章循环语句 (22) 第五章方法 (28) 第六章数组 (35) 第七章面向对象 (44) 第八章异常 (65)

第一章Java入门 知识点汇总 1、JAVA 三大体系 ?Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心 的部分,包含Java最核心的类库。 ?JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装 配、部署企业级应用,包含Servlet、JSP、 JavaBean、JDBC、EJB、Web Service等。 ?Java ME:(J2ME,Java 2 Platform Micro Edition,微型版),用于小型电子设备 上的软件开发。 2、JDK,JRE,JVM的作用及关系 作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 ?path环境变量:存放可执行文件的存 放路径,路径之间用逗号隔开 ?classpath环境变量:类的运行路径, JVM在运行时通过classpath加载需要 的类 4、重点掌握两个程序 ?javac.exe:Java编译器工具,可以将编 写好的Java文件(.java)编译成Java 字节码文件(.class); ?java.exe:Java运行工具,启动Java虚 拟机进程,运行编译器生成的字节码 文件(.class) 5、一切程序运行的入口 public static void main(String args []){ System.out.println(“Hello World!”); } 课堂笔记

Java基础试题和答案解析

Java试题 1) java程序中,main方法的格式正确的是()。(选择一项) a)static void main(String[] args) b)public void main(String[] args) c)public static void main(String[]s) d)public static void main(String[] args) 2)给定java代码,如下: public byte count(byte b1,byte b2){ return______; } 要使用这段代码能够编译成功,横线处可以填入()。(选择一项) a)(byte) (b1-b2) b)(byte) b1-b2 c) b1-b2 d) (byte) b1/b2 3)在Java中,在包com.db下定义一个类,要让包com.util下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。(选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; c) int a= 3+5 d) float f=5+5.5; 5) 在Java中下列()方法可以把JFrame的布局管理器设为FlowLayout类型(选择一项) a)jFrame.setLayout(new FlowLayout() ); b) jFrame.addLayout(new FlowLayout() ) c)jFrame.setFlowLayout() d)jFrame.addFlowLayout() 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; s.concat(“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 7) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList b) HashSet c) HashMap d) LinkedList

JAVA技术--Java基础知识常见考试题JAVA技术.doc

一、单选题 1.对类:(B) public class Test( //...do something } 下面那个正确地定义了类Test的构造函数。 A)public void Test() () B)publicTest()(} C ) public static Test() (} D) publicTest(); 2.下面哪个函数是public void example()(...)的重载函数。(A) A)public void example( float f)(...) B)public int example() (...) C)public void example2()(...} D)public int example_overLoad ()(...) 3.下面的代码段中,执行之后i和j的值是_C_。 int i = 1; intj; j = i++; A)1, 1 B) 1,2 C) 2, 1 D) 2,2 4.以下for循环的执行次数是_B o for(int x=0,y=0;(y !=0)&&(x<4) ;x++); A)无限次B) 一次也不执行 C)执行4次D)执行3次 5.下面程序的输出结果是—C o public class People( String name; int id; public People( String str, int n )( name = str; id = n; } public String toString(){ return id + " :” + name; } public String print()(

相关文档