java第一阶段测试题(答案)分析

java第一阶段测试题(答案)分析
java第一阶段测试题(答案)分析

JA V A基础测试题-CORE JA V A部分1.在main(String[] args)方法内是否可以调用一个非静态方法?

答:main方法是静态方法,不能直接去访问非静态成员(成员可以是成员变量或是成员方法)2.请简述java程序运行的过程

答: .java程序----编译---→.class----运行---→显示结果

3.java中的控制台输出内容换行方式有几种?

答:第一种:System.out.println();

第二种:System.out.print(“\n”);

4.java中的注释有哪几种?分别用来注释什么?

答:有三种注释分别为:

单行注释: //常用来注释变量

多行注释:/*

*用来注释变量,方法,类

*/

文档注释:/**

*用来注释变量,方法,类

*/

5.请简述java 中标识符命名规则.

答:必须是字母,数字,下划线,$组成

不能以数字开头;不能是java中的保留字,最好见名知义

6.请举例说明Scanner这个类的常用方法

答:next() nextLine() nextInt() nextFloat() nextDouble() hasNextInt()

7.java中的数据类型分为哪两类?

答:数据类型分八个基础数据类型(byte,short,int ,long ,float,double,char,boolean)

和引用数据类型(包括类,接口和数组)

8.java中全局变量和局部变量的区别?

答:位置的区别:java中全局变量就是类中的属性,而局部变量是方法中或代码块中定义的变量;

初始值不一样:全局变量不赋值,系统会给默认值,也不会报错,而局变部量必须要赋初始值;

作用域不一样:全局变量在整个类所有方法中可以访问,局部变量只能在定义它的那一对括号中才可以访问

9.同一个文件里是否可以有两个public类?

答:不可能,一个java文件中只能有一个类是public的,而必须是public的类才可以作为java文件的类名.

10.方法名是否可以与构造器的名字相同?

答:可以。

11.初始化了一个没有run()方法的线程类,是否会出错?

答:不会出错

第一种方法:直接继承Thread类。

public class Test{

public static void main(String[] args){

ThreadClass t = new ThreadClass();

t.start();

System.out.println("end");//输出“end”

}

}

class ThreadClass extends Thread {//Thread类已经实现了空的run()方法。

}

第二种方法:实现Runnable接口

public class Test

{

public static void main(String[] args)

{

ThreadClass t = new ThreadClass();

Thread thread = new Thread(t);

thread.start();

System.out.println("end");

}

}

class ThreadClass implements Runnable

{

public void run() //必须有此方法否则编译报错。它是Runnable接口中的抽象方法。

{

System.out.println("Threads");

}

}

12.局部内部类是否可以访问非final变量?

答案:不能访问局部的,可以访问成员变量(全局的)。

class Out

{

private String name = "https://www.360docs.net/doc/5e14464978.html,";

void print()

{

final String work = "out.local.work";//若不是final的则不能被Animal 使用.

int age=10;

class Animal

//定义一个局部内部类.只能在print()方法中使用.

//局部类中不能使用外部的非final的局部变量.全局的可以.

{

public void eat()

{

System.out.println(work);//ok

//age=20;error not final

System.out.println(name);//ok.

}

}

Animal local = new Animal();

local.eat();

}

}

13.选择语句case中,允许使用的值有哪些?

答案:int,short,char,byte(都在int范围之内,且是整数),jdk1.7开始支持String 类型

14.Math,String是不可继承的。(final类)

答:Math,String是不可继承的。(final类)

15.instanceof的作用

答:判断某个对象是否属性某个类或某个接口的对象

16.构造方法干什么用?有什么特点

答:构造方法在创建对象的时候用来创建类的对象,可以给创建的对象进行初始化.

构造方法的特点:a1.构造方法的名字必须和类名相同a2.没有返回值也不需要void修鉓.

17.=和==的区别

答:=表示赋值,==表示判断两个对象是否相等

18.一个抽象类与接口的区别

答:抽象类要asbstract修鉓,抽象类中有抽象方法和非抽象方法,抽象方法必须用asbstract修鉓,且没有方法体。接口中是一个“特殊的类”,特殊到里面的属性都是最终静态常量,方法都是抽象方法,没有方法体。

19.Collection与Collections的区别?

答案:Collection是一个接口,但Collections却是一个辅助类,里面有很多静态的工具方法。而且很有用的。如:reverse(List list);sort(List list, Comparator c)等。Collections没有实现任何接口。它直接继承了Object。

20.Java成员变量默认初始化的值。

成员变量类型取值

byte-0 short-0 int-0 long-0L

char-'\u0000' float-0.0F double-0.0D boolean-false 所有引用类型 - null

21.面向对象的三大特性?

答案:最基本特征:封装,继承,多态。

其他特征:抽象关联,聚合,组合,内聚,耦合

22.String是最基本的数据类型吗? String 和StringBuffer的区别?

答案:String不是一最基本的数据类型。

STRING的长度是不可变的,STRINGBUFFER的长度是可变的。如果你对字符串中的内容经常

进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法

23.int 和Integer 有什么区别

答案:int是基本类型。Integer是引用类型。Integer可以把String转换成int。

24.运行时异常与一般异常有何异同?

答案:异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

25.说出ArrayList,Vector, LinkedList的存储性能和特性.

答案:ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList 差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

26.数组转换问题。

Object[] object = new Person[2];

Person [] person = new Person [3];

person = (Person [])object;//可以转换

int[] i = new int[2];

long[] l = new int[3];

i = (long[])l;//不可以转换

27.用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回

显相同的数据

Server.java:源代码

import https://www.360docs.net/doc/5e14464978.html,.*;

import java.io.*;

class Server

{

public Server()

{

BufferedReader br = null;

PrintWriter pw = null;

try

{

ServerSocket server = new ServerSocket(8888);//建立服务器端

Socket socket = server.accept();//监听客户端

//得到该连接的输入流

br = new BufferedReader(new InputStreamReader(socket.getInputStream()));

//得到该连接的输出流

pw = new PrintWriter(socket.getOutputStream(),true);

//先读后写

String data = br.readLine();

System.out.println(data);//输出到控制台

pw.println(data);//转发给客户端

}catch(Exception e)

{

e.printStackTrace();

}

finally

{

try

{

//关闭读写流

br.close();

pw.close();

}catch(Exception e)

{}

}

}

public static void main(String[] args)

{

Server server = new Server();

}

}

Client.java:源代码

import https://www.360docs.net/doc/5e14464978.html,.*;

import java.io.*;

class Client

{

public Client()

{

BufferedReader br = null;

PrintWriter pw = null;

try

{

Socket socket = new Socket("localhost",8888);//与服务器建立连接,服务器要先启

//得到Socket的输入与输出流

br = new BufferedReader(new InputStreamReader(socket.getInputStream()));

pw = new PrintWriter(socket.getOutputStream(),true);

//先写后读

pw.println("Client:你好!");

String data = null;

while(true)

{

data = br.readLine();

if(data!=null) break;

}

System.out.println(data);

}catch(Exception e)

{

e.printStackTrace();

}

finally

{

try

{

br.close();

pw.close();

}catch(Exception e)

{}

}

}

public static void main(String[] args)

{

Client c = new Client();

}

}

28.谈谈final, finally, finalize的区别。

答案:final 用于声明属性,方法和类,分别表示属性不可变,注意:如果是基本类型说明变

量本身不能改变,如果是引用类型,说明它不能指向其他的对象了。但对象还是可以改变

的。方法不可覆盖,类不可继承。

finally是异常处理语句结构的一部分,表示无论是否出现异常总是执行。

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

29.HashMap和Hashtable的区别。

答案:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都实现了Map接口,

主要区别在于HashMap允许空(null)键值(key)与空值(value),由于非线程安全,效率上可能高于Hashtable,Hashtable不允许有空(null)键值(key)与空值(value)。

30.GC是什么? 为什么要有GC?

答案:GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显式操作方法。

31.String s = new String("xyz");创建了几个String Object?

答案:两个,一个是对象,一个是对象的引用。

32.Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

答案:方法的重写Overriding和重载Overloading是Java多态性的不同表现。

重载Overload是一个类中多态性的一种表现,方法名必需相同,参数列表必需不同.(长度不同或类型不同),与返回值类型没有关系. 构造器也可以重载.方法名和参数列表都相同,只有返回类型不相同则是方法重复定义.编译出错. Overloaded的方法是可以改变返回值的类型。

重写Override是父类与子类之间多态性的一种表现。如果在子类中定义

某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。

33.写一个冒泡排序的程序,实现对一组杂乱无序的数组中数据进行升序排列int[] num = {3,10,1,33,9,6};

int temp =0; //中间变量

//外层循环比较轮数

for(int i=0;i

for(int j=0;j

if(num[j]>num[j+1]){

//换位置

temp = num[j];

num[j] = num[j+1];

num[j+1] = temp;

}

}

}

34.多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?

答:多线程有两种实现方法,一种是继承Thread类,另一种是:实现Runnable 接口. 同步的实现方面有两种,分别是synchronized,wait与notify ,实现方式有同步代码块,同步方法

35.编程题: 写一个Singleton出来。

方式一:醉汉式

public class Singleton

{

private static Singleton test = new Singleton();//静态的。保留自身的引用。

//必须是私有的构造函数

private Singleton(){}

public static Singleton getInstance()//公共的静态的方法。

{

return test;

}

}

方式二:懒汉式

public class Singleton

{

private static Singleton test = null;//静态的。保留自身的引用。

//必须是私有的构造函数

private Singleton(){}

public static Singleton getInstance()//公共的静态的方法。

{

if(test == null)

{

test = new Singleton();

}

return test;

}

}

36.说出一些常用的类,包,接口,请各举5个

答案:常用类-System,ArrayList,FileInputStream,Thread,Socket.

常用的包-java.io,java.util,java.sql,java.javax.naming,https://www.360docs.net/doc/5e14464978.html,

常用接口-Collection,Connection, Cloneable,Comparable, Serializable

37.谈谈你所熟悉的设计模式

答案:单例模式,工厂模式,代理模式,观察者模式等

38.什么是反射?什么地方用反射?常用的反射的类有哪些?

答:java反射:在编译时不确定哪个类被加载,而在程序运行时才加载、探知、使用;动态加载类的对象可以用反射。

常用反射的类有:

A1.Class类—可获取类和类的成员信息

A2.Field类—可访问类的属性

A3.Method类—可调用类的方法

A4.Constructor类—可调用类的构造方法

39.谈谈你熟知的java设计原则

答:开闭原则,里氏替代原则,接口隔离原则,单一职责,依赖倒置原

则等

40.多线程有几种实现方式?举例完成一个线程输出1到10,另一个线程输出

10到1,使两个线程交替执行.

注:因为这4个线程共享J,所以线程类要写到内部类中。

加线程:每次对j加一。

减线程:每次对j减一。

public class TestThreads

{

private int j=1;

//加线程

private class Inc implements Runnable

{

public void run()

{

for(int i = 0;i < 10;i++)

{

inc();

}

}

}

//减线程

private class Dec implements Runnable

{

public void run()

{

for(int i = 0;i < 10;i++)

{

dec();

}

}

}

//加1

private synchronized void inc()

{

j++;

System.out.println(Thread.currentThread().getName()+"-inc:"+j);

}

//减1

private synchronized void dec()

{

j--;

System.out.println(Thread.currentThread().getName()+"-dec:"+j);

}

//测试程序

public static void main(String[] args)

{

TestThreads test = new TestThreads();

//创建两个线程类

Thread thread = null;

Inc inc = test.new Inc();

Dec dec = test.new Dec();

//启动4个线程

for(int i = 0;i < 2;i++)

{

thread = new Thread(inc);

thread.start();

thread = new Thread(dec);

thread.start();

}

}

}

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

J a v a编程基础知识点汇总及习题集答案 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (14) 第四章循环语句 (20) 第五章方法 (26) 第六章数组 (33) 第七章面向对象 (42) 第八章异常 (63) 第一章 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、重点掌握两个程序 :Java编译器工具,可以将编写好的Java文件(.java)编译成Java字节码文件(.class); :Java运行工具,启动Java虚拟机进程,运行编译器生成的字节码文件(.class) 5、一切程序运行的入口public static void main (String args []){ World!”); } 课堂笔记

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考试试卷及答案 选择题 3、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画 图操作。 A. start() B. stop() C. init() D. paint() 3、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B A)安全性B)多线程C)跨平台D)可移植 4、下列哪个类声明是正确的?D A)abstract final class HI{···}B)abstract private move(){···} C)protected private number; D)public abstract class Car{···} 6、在Java语言中,下列哪些语句关于内存回收的说明是正确的? B A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象 10、下列Object类中的方法,哪一项不是完全跟线程有关:A A.String toString() B.void notify() C.void notifyAll() D.void wait() 11、给出下面代码:C public class Person{ static int arr[] = new int[10]; public static void main(String a[]) { System.out.println(arr[1]); } } 下列说法中正确的是? A.编译时将产生错误; B.编译时正确,运行时将产生错误; C.输出零; D.输出空。 12、字符串是Java已定义的类型,关于它的构造函数,下面说法不正确的是:B A.String(char[] value, int offset, int count) B.String(int[] codePoints,int offset, int count) C.String(String original) D.String(StringBuffer buffer) 13、下列说法中正确的是:C A.导入包会影响程序的性能

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中,在包下定义一个类,要让包下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。 (选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; “”+new Person() toString() c) int a= 3+5 d) float f=5+; double float 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; (“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 已到文件尾,再读取抛出 7) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList List 有序可重复 b) HashSet Set 无序不可重复同一对象是重复 的 c) HashMap Map(key/value)重复定义:hashCode、 equals(业务) d) LinkedList List 8)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public static void main(String args[]){ int a=5;

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) 以下关于Java语言说法错误的是()。(选择两项) a) Java语言是一种OO语言,Java API是Java语言的帮助文档 b) Java语言具有平台无关性-Write Once,Run Anywhere c) Java语言的核心是Java Virtual Machine d) 使用Java语言,程序员要使用原始方法分配和释放内存空间 e) Java语言是一种编译执行语言 知识点: 第一章Java语言基础Java语言基本概念 2) 以下哪一项不是Java的关键字(b)。(选择一项) a) if b) then c) goto d) case e) while 知识点: 第二章Java编程基础Java中的关键字 3) 下列(a,e)不是合法的Java语言标识符。(选择两项) a) 2variable b) variable2 c) _whatavariable d) $anothervar e) #myvar f) _3_ 知识点: 第二章Java编程基础Java中的标识符 4) 执行下列代码段后,变量x的值是(c)。(选择一项) x=9; y=9; x=(y<=x++)?1:0; a) 1 b) 2 c) 0 d) 10 知识点: 第二章Java编程基础三元运算符 5) System.out.println(4 | 7);上面语句的输出结果是(d)。(选择一项) a) 4 b) 5 c) 6 d) 7 e) 0 知识点: 第二章Java编程基础位运算符 6) 以下会产生编译错误的Java语句是(b)。(选择一项) a) if (2 == 3) System.out.println("Hi"); b) if (2 = 3) System.out.println("Hi");

JAVA期末试题及答案

Java 程序设计》课程试卷 1.使用 Java 语言编写的源程序保存时的文件扩展名是( )。 (A ) .class ( B ) .java C ) .cpp ( D ) .txt 2.设 int a=-2 ,则表达式 a>>>3 的值为( )。 (A ) 0 (B )3 (C ) 8 (D )-1 3.设有数组的定义 int[] a = new int[3] ,则下面对数组元素的引用错误的是( ) ( A )a[0]; ( B ) a[a.length-1]; (C )a[3]; (D )int i=1 ; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( )。 (A )封装 (B )继承 (C )覆盖 (D )重载 5.在类的定义中构造函数的作用是( )。 (A )保护成员变量 (B )读取类的成员变量 (C )描述类的特征 (D )初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( )。 ( A ) try ( B ) break ( C ) catch ( D ) finally 7.类与对象的关系是( )。 (A )类是对象的抽象 (B )对象是类的抽象 15. Java 语言使用的字符码集是 (A) ASCII (B) BCD (C) DCB 16. 如果一个类的成员变量 (A) public (B) (C 对象是类的子类 (D )类是对象的具体实例 )。 8.下面哪一个是 Java 中不合法的标识符( ( A )$persons ( B ) twoNum ( C )_myVar ( D )*point 9.为 AB 类的一个无形式参数无返回值的方法 ( ) 。 ( A ) static void method( ) ( B ) public void method( ) ( C ) final void method( ) ( D ) abstract void method( ) 10.欲构造 ArrayList 类的一个实例,此类继承了 ( A ) ArrayList myList=new Object( ) ( B ) List myList=new ArrayList( ) ( C ) ArrayList myList=new List( ) ( D ) List myList=new List( ) 11. Java 源文件和编译后的文件扩展名分别为( (A) .class 和 .java (C).class 和 .class 12. 在 Java Applet 程序用户自定义的 (A) start( ) (B) stop( ) (C) init( ) 13. 对于一个 Java 源文件, (A) package,import,class (C) import,package,class 14. 下面哪个是非法的: (A) int I = 32; (C) double d = 45.0; method 书写方法头,使得使用类名 List 接口,下列哪个方法是正确的( ) ( B).java 和 .class (D) .java 和 .java Applet 子类中,一般需要重载父类的 (D) paint( ) import, class (B) class,import,package (D) package,class,import ( ) 定义以及 package 正确的顺序是: (B) float f = 45.0; (D) char c = // 符号错 AB 作为前缀就可以调用它,该方法头的形式为 方法来完成一些画图操作。 (D) Unicode 只能 在所在类中使用 则该成员变量必须使用的修饰是

JAVA试题及答案

JA V A语言基础内部测试题 选择题(针对以下题目,请选择最符合题目要求的答案,针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。)(每题2分) 没有注明选择几项的,只选择一项 1、JAVA所定义的版本中不包括:() A、JAVA2 EE B、JAVA2 Card C、JAVA2 ME D、JAVA2 HE E、JAVA2 SE 2、下列说法正确的是() A、JAVA程序的main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来 3、Java中,在如下所示的Test类中,共有()个构造方法。 public class Test{ private int x; public Test(){ x=35; } public void Test(double f){ =(int)f; } public Test(String s){} } A、0 B、 1 C、 2 D、3 4、变量命名规范说法正确的是() A、变量由字母、下划线、数字、$符号随意组成; B、变量不能以数字作为开头; C、A和a在java中是同一个变量; D、不同类型的变量,可以起相同的名字; 5、下列javaDoc注释正确的是() A、/*我爱北京天安门*/

B、quals("john") C、"john" = "john" D、"john".equals(new String("john")) 6、下列输出结果是() int a = 0 ; while ( a < 5 ) { switch(a){ case 0: case 3 : a = a + 2; case 1 : case 2 : a = a + 3; default : a = a + 5; } } ( a ) ; A、0 B、5 C、10 D、其他 7、下列代码输出结果是( ) int i = 10; while ( i > 0 ){ i = i + 1; if ( i = =10 ){ break; } } A.while循环执行10次 B.死循环 C.循环一次都不执行 D.循环执行一次 8、下面有关for循环的描述正确的是() A、for循环体语句中,可以包含多条语句,但要用大括号括起来 B、for循环只能用于循环次数已经确定的情况 C、在for循环中,不能使用break语句跳出循环 D、for循环是先执行循环体语句,后进行条件判断 9、下列()属于引用数据类型(选择两项) A、String B、char C、用户自定义的Student类类型

JAVA语言程序设计期末考试试题及答案

《JA V A语言程序设计》期末考试试题及答案1(应考必备题库) 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A. java B. .class C. html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A )。 A. 3 B. 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( C )。 A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 二、填空题 1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、 编译生成字节码和解释运行字节码。 2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用2字节内存空间,这样,无论是中文字符还是英文字符,都是占 用2字节内存空间。 3、设x = 2 ,则表达式( x + + )/3 的值是0 。 4、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为true和false。 5、抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。 6、创建一个名为MyPackage 的包的语句是package MyPackage ; , 该语句应该放在程序的位置为:应该在程序第一句。 7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120。

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) 运行时出现异常

java期末考试复习题及答案

《Java程序设计》课程试卷 1.使用Java语言编写的源程序保存时的文件扩展名是( B )。 (A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为( C )。 (A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( C )。 (A)a[0]; (B)a[a.length-1]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( D )。 (A)封装(B)继承(C)覆盖(D)重载 5.在类的定义中构造函数的作用是( D )。 (A)保护成员变量(B)读取类的成员变量(C)描述类的特征(D)初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( B )。 (A)try (B)break (C)catch (D)finally 7.类与对象的关系是( A )。 (A)类是对象的抽象(B)对象是类的抽象(C)对象是类的子类(D)类是对象的具体实例 8.下面哪一个是Java中不合法的标识符( D )。 (A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 (A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的( C )。 (A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 11.Java源文件和编译后的文件扩展名分别为( B ) (A) .class和 .java (B).java和 .class (C).class和 .class (D) .java和 .java

最新Java基础试题及其答案

Java试题 一单项选择 1)在Java中,在包com.db下定义一个类,要让包com.util下的所有类都可以访问这个类,这个类必须定义为()。() a)protected b)private c)public d)friendly 2)在Java中,下列()语句不能通过编译。(选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; c) int a= 3+5 d) float f=5+5.5; 3)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; s.concat(“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 4) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList b) HashSet c) HashMap d) LinkedList 5)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public staticvoid main(String args[]){ int a=5; System.out.println(a%2==1) ?(a+1) /2:a/2) ; } } (选择一项) a)1 b)2 c)2.5 d)3 6)以下Java语句中,String str = “123456789”;str =str.subString(1,3);执行后str中的值为。(选择一项) a) “23” b)“123”

java基础测试题及答案

、选择题(每题 2 分,共40 分) 1、下面哪个是Java 语言中正确的标识符( C ) A、3com B 、import C、that D、this 2、下面哪个语句(初始化数组)是不正确的: ( B ) A.int x[] = {1,2,3}; B .int x[3] = {1,2,3}; C.int[] x = {1,2,3}; D .int x[] = new int[]{1,2,3}; 3、下述概念中不属于面向对象方法的是( D ) 。 A. 对象、消息??B?继承、多态? ?? C.类、封装? ??? D .过程调用 4、下面的代码段中,执行之后i 和j 的值是什么? ( B ) int i = 1; int j; j = i++*2+3*--i; A . 1, 2 B . 1, 5 C . 2, 1 D . 2, 2 5、下面哪条语句把方法声明为抽象的公共方法?( B ) A. public abstract method(); B. public abstract void method(); C. public abstract void method(){} D. public void method() extends abstract;

6、下面关于java 中类的说法哪个是不正确的?( C ) A. 类体中只能有变量定义和成员方法的定义,不能有其他语句。 B. 构造函数是类中的特殊方法。 C?类一定要声明为public的,才可以执行。 D. —个java文件中可以有多个class定义。 7、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的? ( C ) class A { int i; static String s; void method1() { } static void method2() { } } A、; B 、(); C. (); D 、() 8、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改 变?( B ) A、CardLayout B 、FlowLayout C 、BorderLayout D 、GridLayout 9、下列哪个用户图形界面组件在软件安装程序中是常见的? ( C ) A.滑块 B. 进度条 C.按钮 D. 标签

java期末考试试题(含答案)

模拟B卷 考试说明: 1.使用Eclipse编写程序。项目名称为:班级_姓名_学号_卷号。注意:卷号为A或B 2.在项目文件夹下新建一个文本文件,文件名为:答案.txt 3.将编程题外的所有题目写在文本文件中,答案要标明题号。 注意:考试期间遇到死机等问题,需要请示老师,切勿自行解决。否则后果自负。 一、单项选择题:共20题,每小题1分,满分20分 1、下列选项中,不属于Java语言特点的一项是。( D ) A、安全性 B、分布式 C、面向对象 D、编译执行 2、Java语言和c++语言相比,哪一项是Java有的,而c++没有?( C ) A、面向对象 B、有类库 C、跨平台 D、动态链接 3、如下哪个不是Java中有效的变量名。( A ) A、 if B、hello C、name D、good 4、下列不属于Java保留字的一个是( B )。 A、else B、Unicode C、if D、static 5、现有2个char,类型的变量al=’a’、a2=2,当执行al=(char)(al+a2);语句之后,al的值应 该是( C )。 A、’a’ B、12 C、’c’ D、语句在编译时出错 6、下列关于int类型和long类型的说法中,正确的一个是( A )。 A、int类型可以自动转换为long类型 B、long类型可以自动转换为int类型 C、long类型占的存储空间比int类型的小 D、long类型和int类型数据能表示整数的范围一样 7、下列类的定义中,错误的是( B )。 A、class y{ .... } B、public x extends y{ .... } C、public class x extends y{ .... } D、class x extends y implements y1{ .... } 8、执行语句int i = 1, j = ++i; 后i与j的值分别为( D )。 A、1与1 B、2与1 C、1与2 D、2与2 9、为了区分重载多态中同名的不同方法,要求( C )。 A、调用时用类名或对象名做前缀 B、返回值类型不同 C、形式参数个数或者类型不同 D、形式参数名称不同 10、定义类头时能使用的修饰符是( C )。 A、private B、static C、protected D、abstract 11、如果在编译Java程序时,编译结果报告说找不到要编译的代码,错误是( D )

JAVA基础考题和答案

1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package 子孙类其他package public √√√√ protected √√√× friendly √√×× private √××× 不写时默认为friendly 2、ArrayList和Vector的区别,HashMap和Hashtable的区别 答:就ArrayList与Vector主要从二方面来说. 一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的 二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半 就HashMap与HashTable主要从三方面来说。 一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现 二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的 三.值:只有HashMap可以让你将空值作为一个表的条目的key或value 3、char型变量中能不能存贮一个中文汉字?为什么? 答:是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字

节,所以放一个中文是没问题的 4、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口同步的实现方面有两种,分别是synchronized,wait与notify 5、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么? 答:父类: package test; public class FatherClass { public FatherClass() { System.out.println("FatherClass Create"); } } 子类: package test; import test.FatherClass; public class ChildClass extends FatherClass { public ChildClass()

Java基础试题及其答案

J a v a基础试题及其答案 The latest revision on November 22, 2020

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中,在包下定义一个类,要让包下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。 (选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; “”+new Person() toString() c) int a= 3+5 d) float f=5+; double float 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; (“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 已到文件尾,再读取抛出 7) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList List 有序可重复 b) HashSet Set 无序不可重复同一对象是重复的 c) HashMap Map(key/value)重复定义:hashCode、equals(业务) d) LinkedList List 8)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public static void main(String args[]){ int a=5; Sys((a%2==1) (a+1) /2:a/2) ;三目表达式 } } (选择一项) a)1 b)2

JAVA语言程序设计期末考试试题及答案

1234124JAVA语言程序设计考试试题及部分答案 一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。 1.下列语句序列执行后,k 的值是( B )。 int m=3, n=6, k=0; while( (m++) < ( -- n) ) ++k; A) 0 B) 1 C) 2 D) 3 2.设 i、j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是( B )。 A) i = i + 2 B) a[0] = 7; C) i++ - --j; D) a(0) = 66; 3.Java语言的类间的继承关系是( B )。 A) 多重的 B) 单重的 C) 线程的 D) 不能继承 4.设有定义 int i = 6 ;,则执行以下语句后,i 的值为( C )。 i += i - 1; A) 10 B) 121 C) 11 D) 100 5.下列选项中,用于在定义子类时声明父类名的关键字是( C )。 A)interface B) package C) extends D) class 6.若已定义 byte[ ] x= {11,22,33,-66} ; 其中0≤k≤3,则对x数组元素错误的引用是( C )。 A) x[5-3] B) x[k] C) x[k+5] D) x[0] 7.下列语句序列执行后,ch1 的值是( B )。 char ch1='A',ch2='W'; if(ch1 + 2 < ch2 ) ++ch1; A) 'A' B) 'B' C) 'C' D) B 8.下列语句序列执行后,i 的值是( D )。 int i=8, j=16; if( i-1 > j ) i--; else j--; A) 15 B) 16 C) 7 D) 8 9.下列语句序列执行后,k 的值是( C )。 int i=10, j=18, k=30; switch( j - i ) { case 8 : k++; case 9 : k+=2; case 10: k+=3; default : k/=j; } A) 31 B) 32 C) 2 D) 33 10.下面语句执行后,i 的值是( B )。 for( int i=0, j=1; j < 5; j+=3 ) i=i+j; A) 4 B) 5 C) 6 D) 7 11.设有定义 float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是( B )。 A) x > y || x > z B) x != y C) z > ( y + x ) D) x < y & ! ( x < z ) 12.下列语句序列执行后,i的值是( D )。 int i=16; do { i/=2; } while( i > 3 ); A) 16 B) 8 C) 4 D) 2 13.以下由 for 语句构成的循环执行的次数是( B )。 for ( int i = 0; true ; i++) ; A) 有语法错,不能执行 B) 无限次 C) 执行1次 D) 一次也不执行 14.定义类头时能使用的修饰符是(C )。 A) private B) static C) abstract D) protected 15.设int 型变量 a、b,float 型变量 x、y,char 型变量 ch 均已正确定义并赋值, 正确的switch语句是D )。 A) switch (x + y) B) switch ( ch + 1 ) { ...... } { ...... } C) switch ch D) switch ( a + b );

JAVA期末试题集含答案

JAVA期末试题集(含答案) 试题一 一、单项选择题 1、下面哪些是非法的常量() A. 4 B. 5.6E03 C. 013 D. ch2 2、已知I为整型变量,s为字符串,下面哪个语句是正确的() A.I=Integer.parse(s) B.I=parseI nt(s) C.I=Integer.parseInt(s) D.I=String.va lueOf(s) 3、下列哪个不是JAVA的注释() A.// B./* */ C./** */ D.&& 4、已知book是一个自定义的类,下列创建类的对象中,哪个语句是正确的 ( ) A.book b=new book() B.book b=new book C.book b=new book[] D.book b=book()

5、已知n为整型,现要求n的取值为0到100之间,包含0和100,则java 的表达式为( ) A.0 B.0<= n<=100 C.n>=0&&n<=100 D.n> =0||n<=100 6、关于break语句,下列哪个说法是错误的( ) A.可以结束while循环 B.可以结束if语句的执行 C.可以跳出switch结构 D.可以结束 for循环 7、已知s1与s2均为字符串,要判断是否相等,可以使用下列哪个语句( ) A.s1==s2 B.s1=s2 C.Value(s1)==Value(s2) D.s1.equals( s2) 8、已知源程序中有public class aaa与class bbb两个自定义类,程序文件名应该定义为( ) A.aaabbb.java B.b bb.java C.aaa.java D.任意名称 9、在二维数组定义中,下列哪个语句是错误的() A.int a[][]=new int[5][3] B.int a[][]=new int[5][]

相关文档
最新文档