当前位置:文档之家› Java习题

Java习题

Java习题
Java习题

学生:xx

学号:xxxxxxxxxxx

班级:计算机xx级x班老师:xxx

一、简单编程

1.编写程序使用方法重载分别实现了两个和三个整数的相加。public class ADD{

int a;

int b;

int c;

public int Add(int a,int b){

return a+b;

}

public int Add(int a,int b,int c){

return a+b+c;

}

}

public class program_1 {

public static void main(String[] args) {

ADD x=new ADD();

System.out.println(x.Add(13, 15));

System.out.println(x.Add(13, 15,17));

}

}

结果:

2.编写程序使用冒泡法对一组数进行排序

public class Sort {

int a[];

public void px(int b[]){

a=b;

}

public void make(){

int temp=0;

for(int i=0;i

for(int j=i+1;j

if(a[j]>a[i]){

temp=a[j];

a[j]=a[i];

a[i]=temp;

}

}

}

}

public void printout(){

for(int i=0;i

System.out.print(a[i]+"\t");

}

}

}

public class program_2 {

public static void main(String[] args) {

Sort x=new Sort();

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

x.px(b);

x.make();

x.printout();

}

}

结果:

3.定义一个线程PrintThread,该线程打印输出1~1000之间所有3的倍数,每输出一个数休眠1500毫秒,在main方法中创建该线程的一个实例,并启动该线程。

public class PrintThread extends Thread {

public void run(){

for(int i=1;i<=1000;i++){

if(i%3==0){

System.out.print(i+" ");

try{

Thread.sleep(3000);

}

catch(Exception c){}

}

if(i%60==0){

System.out.print("\n ");

}

}

}

}

public class Times_3 {

public static void main(String[] args) {

PrintThread thread=new PrintThread();

thread.start();

}

}

结果:

4. 编写程序通过静态方法调用从包含10个学号的数组中随机抽取一个学号并输出显示。

public class program_4 {

public static void main(String[] args)

{String[] number=new String[10];

number[0]="2009001";

number[1]="2009002";

number[2]="2009003";

number[3]="2009004";

number[4]="2009005";

number[5]="2009006";

number[6]="2009007";

number[7]="2009008";

number[8]="2009009";

number[9]="2009010";

System.out.println(number[(int)(Math.random()*10)]);

}

}

结果:

5. 编写程序判断一个数是不是素数

import java.io.*;

public class Sushu {

public static void main(String args[]) throws IOException

{

int num;

String str;

BufferedReader buf;

buf=new BufferedReader(new InputStreamReader(System.in));

System.out.print("请输入一个正整数:");

str=buf.readLine(); // 将输入的文字指定给字符串变量str存放

num=Integer.parseInt(str); // 将str转成int类型后指定给num存放

if(num<=0){

System.out.print("您所输入的为非正整数!!");

System.exit(-1);

}

if(num==1){

System.out.print("1既不是素数也不是合数!!");

System.exit(-1);

}

if(num==2){

System.out.print("2是素数!");

System.exit(-1);

}

for(int i=2;i<=num/2;i++){

if(num%i==0){

System.out.print(num+"是合数!");

System.exit(-1);

}

}

System.out.print(num+"是素数!");

}

}

结果:

6.“三天打鱼两天晒网”。某人从2010年1月1日起三天打鱼两天晒网,编程计算2010年5月1日,他在打鱼还是在晒网。打鱼则输出1,晒网则输出0。public class program_6 {

public static void main(String[] args) {

int i=(31+28+31+30+1)%5;

if(i==1||i==2||i==3)

System.out.println(1);

else

System.out.println(0);

}

}

结果:

8. 使用BufferedWriter类在D:\Hello.txt文件中写入10万个数并输出所用的时间。编写程序判断一个数是否为同构数据

import java.io.*;

import java.util.Scanner;

public class program_8 {

public static void main(String[] args)throws IOException { String fileName="e:/hello.txt";

BufferedWriter in=new BufferedWriter(new FileWriter(fileName)); System.out.println("开始输入10万个数据");

long starttime=System.currentTimeMillis();

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

in.write(i);in.newLine();

}

System.out.println("数据输入结束");

long endtime=System.currentTimeMillis();

System.out.println("总共用时"+(endtime-starttime));

System.out.println("输入一个整数判断是否同构");

Scanner x=new Scanner(System.in);

int y=x.nextInt();

Tonggou S=new Tonggou(y);

S.Tg();

}

}

class Tonggou{

private int n;

public Tonggou(int m){

n=m;

}

public void Tg(){

if(n==n*n%10)System.out.println(n+"是二阶同构数");

else System.out.println(n+"不是二阶同构数");

}

}

结果:

9. 编写程序练习将字符串转换为int、double类型,将数值类型转换为字符串类型。练习StringBuffer类的使用方法。

import java.util.Scanner;

public class program_4 {

public static void main(String[] args) {

System.out.println("输入int数字字符串:");

Scanner inta = new Scanner(System.in);

System.out.println("其转换成int型为

"+Integer.valueOf(inta.nextLine()).intValue());

System.out.println("输入一个double型数据字符串:");

System.out.println("其转换成double型为

"+Double.valueOf(inta.nextLine()).doubleValue());

System.out.println("输入一个整数:");

String stringb=String.valueOf(inta.nextInt());

System.out.println("其字符串为"+stringb);

}

}

结果:

10.编写程序读取文本并显示在屏幕上

11.输出n的所有质数因子如n=13860 则输出2 2 3 3 5 7 1 1 import java.util.Scanner;

public class program_11 {

public static boolean judge(int a){

int i;

if(a==2)return true;else{

for(i=2;i<=a/2;i++)

if(a%i==0)break;

if(i>(a/2))return true;

else

return false;

}}

public static void main(String[] args) {

int result,i=2;

Scanner b = new Scanner(System.in);

System.out.println("输入一个整数");

result=b.nextInt();int x=result;

System.out.println("它的质因数为");

while(result!=0&&i

if(result%i==0&&judge(i))

{result=result/i;

System.out.println(i);

i=2;}

else i++;

}

}

}

结果:

12.创建线程,线程休眠,线程启动

13.编程从Hello.txt中读取文本并显示在屏幕上。

import java.io.*;

public class program_13

{

public static void main(String[] args) throws IOException

{

FileInputStream s=new FileInputStream(“c:/Hello.txt”);

Int e;

while((c=s.read())!=-1)System.out.write(c);

s.close();

}

}

二、程序分析

1.写出下面程序的运行结果。

public class A{

private int x=50;

public void setX(int x){

this.x = x+50;

}

public int getX(){

return x;

}

}

public class Tester {

public static void method1(A a){

a.setX(100);

}

public static void method2(int x){

x = 50;

}

public static void main(String[] args){

A a = new A();

method1(a);

System.out.println(a.getX());

int n = 10;

method2(n);

System.out.println(n);

}

}

结果:

150

10

2. 写出下面程序的运行结果。

import java.util.*;

public class Ex2{

public static void main(String[] args){

Vector myList = new Vector();

myList.add("C++");

myList.add("Java");

myList.add("C#");

myList.set(2,"Oracle");

myList.remove(0);

myList.remove(0);

System.out.println(myList.get(0));

Hashtable ht = new Hashtable();

ht.put("key","Java");

ht.put("key","C#");

Iterator its = ht.values().iterator();

while(its.hasNext()){

System.out.println(its.next());

}

}

}

结果:

Oracle

C#

3. 写出下面程序的运行结果。

import java.util.*;

public class ArrayTester{

public static void main(String[] args){

int[] arrays1 = {1,3,5,7};

int[] arrays2 = {2,4,6,8};

int[] arrays3 = new int[4];

arrays2=arrays3;

for(int i=0;i

arrays3[i]=arrays1[i];

for(int i=0;i

System.out.println(arrays2[i]);

}

}

}

结果:

1

3

5

7

//(结果不是0 0 0 0)

4. 写出下面程序的运行结果。

class AAA

{ int add(int x,int y)

{ return x+y;

}

}

class BBB extends AAA

{ int add(int x,int y)

{ return x-y;

}

}

public class Exam8

{ public static void main(String args[])

{ AAA a=new AAA();

System.out.println(a.add(66,44));

a=new BBB ();

System.out.println(a.add(66,44));

}

}

结果:

110

22

5. 写出下面程序的运行结果。

public class Exam9 extends TT

{

public static void main(String args[])

{

Exam9 t=new Exam9 ("Jack.");

}

public Exam9 (String s)

super(s);

System.out.print("How are you?");

}

public Exam9 ()

{

this("I am Tom.");

}

}

class TT

{

public TT()

{

System.out.print("Hi!");

}

public TT(String s)

{

this();

System.out.print("I am "+s);

}

}

结果:

Hi! I am Jack.How are you?

6. 写出下面程序的运行结果。

public class Exam10

{

String str=new String("good");

char[] ch = {'a','b','c'};

public static void main(String args[]){

Exam10 ex = new Exam10();

ex.change(ex.str,ex.ch);

System.out.println(ex.str+" and");

System.out.println(ex.ch);

}

public void change(String str,char ch[]){

str = "test ok";

ch[0] = 'g';

}

}

结果:

good and

gbc

7. 指出下列程序运行的结果。

class Employee{

static void expenseAllowance(){

System.out.println("in class Employee!"); } }

class Manager extends Employee{

static void expenseAllowance(){

System.out.println("in class Manager!"); } }

class ex{

public static void main(String args[]){

Manager man = new Manager();

Employee emp1 = new Employee();

Employee emp2 = (Employee)man;

man.expenseAllowance();

emp1.expenseAllowance();

emp2.expenseAllowance();

}

}

结果:

in class Manager!

in class Employee!

in class Employee!

8.指出下列程序运行的结果。

class Employee{

void depoit(){

System.out.println("in class Employee!"); } }

class Manager extends Employee{

void depoit(){

System.out.println("in class Manager!"); }

}

class ex{

public static void main(String args[]){

Manager man = new Manager();

Employee emp1 = new Employee();

Employee emp2 = (Employee)man;

man. depoit();

emp1. depoit();

emp2. depoit();

}

}

结果:

in class Manager!

in class Employee!

in class Manager!

9.通过命令行输入两个整数2和3,编程输出显示两个整数的积。import java.util.Scanner;

public class Mutil {

public double mutil(double x,double y){

return x*y;

}

public static void main(String[] args){

double x;

double y;

Scanner b = new Scanner(System.in);

Scanner c = new Scanner(System.in);

System.out.println("输入一个数");

x=b.nextDouble();

System.out.println("输入第二个数");

y=c.nextDouble();

Mutil A=new Mutil();

System.out.println(x+"*"+y+"="+A.mutil(x, y));

}

}

结果:

10.子类调用父类构造方法。

class Employee{

static void expenseAllowance(){

System.out.println("in class Employee!"); }

}

class Manager extends Employee{

static void expenseAllowance(){

System.out.println("in class Manager!"); }

}

class ex{

public static void main(String args[]){

Manager man = new Manager();

Employee emp1 = new Employee();

Employee emp2 = (Employee)man;

man.expenseAllowance();

emp1.expenseAllowance();

emp2.expenseAllowance();

}

}

结果:

in class Manager!

in class Employee!

in class Employee!

11.字符串与字符数组。

public class Program_11 {

public static void main(String[] args) {

String A="abcdefg";

char[] B={'a','b','c','e','f','g'} ;

System.out.println("字符串"+A);

System.out.print("字符数组");

System.out.print(B);

}

}

结果:

三、编程题

1. 试编写应用程序从键盘输入一个整数,求出小于等于该整数的所有素数,并将这些数在屏幕上8个一行显示出来。

import java.util.Scanner;

public class LittleSushu {

public void sushu(int a){

int s;

int count=0;

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

s=0;

for(int j=2;j<=i/2;j++){

if(i%j==0)

s=1;

}

if(s==0){

System.out.print(i+" ");

count++;

if(count%8==0)

System.out.print("\n");

}

}

}

public static void main(String[] args) {

LittleSushu AA=new LittleSushu();

Scanner b = new Scanner(System.in);

System.out.println("输入一个正整数:");

int x=b.nextInt();

if(x<=2){

System.out.println("无小于等于该整数的所有素数");

}

AA.sushu(x);

}

}

结果:

2. 利用java..util.Random类的nextInt()方法产生20个整数放在数组里,输出该数组元素,并求出该数组元素中的最大值及其下标值。

import java.util.Random;

public class random {

public static void main(String[] args) {

int[] arry=new int[20];

int max=0;

Random d=new Random();

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

arry[i]=d.nextInt(100);

System.out.print(arry[i]+" ");

}

for(int n=1;n<20;n++)

if(arry[n]>arry[max])max=n;

System.out.println("\n最大值是"+arry[max]+"下标是"+max);

}

}

结果:

3. 定义一个包括8个元素一维整型数组,通过从键盘输入的8个整数对数组进行初始化,对数组中的元素按大到小排序后在屏幕上显示,求出该数组中元素的最小值、最大值以及平均值并在屏幕上显示输出。

import java.util.Scanner;

public class Array {

public static void main(String[] args) {

int Add=0;

int temp;

int[] A=new int[8];

for(int i=0;i

Scanner b = new Scanner(System.in);

System.out.println("输入第"+(i+1)+"个正整数:");

A[i]=b.nextInt();

}

for(int i=0;i

for(int j=i;j

if(A[i]

temp=A[i];

A[i]=A[j];

A[j]=temp;

}

}

}

for(int i=0;i

System.out.print(A[i]+" ");

Add=Add+A[i];

}

System.out.println("平均值是:"+((double)Add/8));

System.out.println("最大值是:"+A[0]);

System.out.println("最小值是:"+A[7]);

}

}

结果:

4.编写一个学生类Student:

属性包括:学号(id)、姓名(name)、英语成绩(eng)、数学成绩(math)、计算机成绩(comp)和总成绩(sum)

方法包括:构造方法、各属性的set方法、各属性的get方法、toString方法(输出学生的全部信息)、sum方法(计算总成绩)和compare方法(比较两个学生的总成绩,大于返回1、等于返回0、小于返回-1)。

//完成在实验报告上

5. 按以下要求定义一个类Circle描述一个圆,并完成相应的操作:

(1) 实例属性:圆心x坐标(xpoint)、圆心y坐标(ypoint)和半径(radius)。

(2) 构造方法:给3个属性赋初值。

(3) 实例方法(area):求圆的面积。

(4) 实例方法(circumference):求圆的周长。

(5) 重写toString()方法,返回圆心坐标和半径。

(6) 实例化这个类,调用方法完成信息的输出。

import java.util.Scanner;

public class Circle {

double xpoint;

double ypoint;

double radius;

public Circle(double x,double y,double r){

xpoint=x;

ypoint=y;

radius=r;

}

public double area(){

return 3.141592653*radius*radius;

}

public double circumference(){

return 3.141592653*radius*2;

}

public String toString(){

return ("圆心坐标:("+xpoint+","+ypoint+")"+" radius="+radius);

}

public static void main(String[] args) {

Scanner b = new Scanner(System.in);

System.out.println("输X坐标:");

double x=b.nextDouble();

Scanner c = new Scanner(System.in);

System.out.println("输Y坐标:");

double y=c.nextDouble();

Scanner d= new Scanner(System.in);

System.out.println("输入半径:");

double r=d.nextDouble();

Circle A=new Circle(x,y,r);

System.out.println("该圆的面积:"+A.area());

System.out.println("该圆的周长:"+A.circumference());

System.out.println("该圆的坐标与半径:"+A.toString());

}

}

结果:

6. 利用java.util.Random类的nextInt(i)方法产生10个100以内的整数放在数组里,输出该数组元素;输出该数组中最大值及最大值所在的数组下标。

//上有相似题目。

7.编程求出2~n之间的所有素数。n由键盘输入。

//上有相似题目。

8. 编写程序创建两个线程,一个线程打印输出1~1000之间所有3的倍数,另外一个线程打印输出1~1000之间所有2的倍数,要求这两个线程每打印输出一个数后随机休眠一段时间,并在主程序中启动这两个线程。

/上有相似题目。

9.定义一个接口,及两个相应的实现类

public interface Fruit {

void eat();

}

class Apple implements Fruit {

public void eat(){

System.out.println("苹果好吃!");

}

}

public class Orange implements Fruit {

public void eat() {

System.out.println("橘子不好吃!");

}

}

10. 按以下要求编程

(1)编写Animal类,定义leg属性、有参构造函数对leg赋初值,定义空的sound()方法;

(2)编写Flyable接口,定义speed( )方法;

(3)编写bird类继承Animal类并实现Flyable接口,定义speed属性,有参构造方法对leg和speed赋初值,speed( )方法返回speed属性,sound( )方法输出“嘎……”。

(4)编写测试程序,定义包含2个元素的Glede对象数组,分别调用speed( )方法和sound( )方法。

public class Animal {

int leg;

public Animal(int leg) {

this.leg = leg;

}

public void sound(){}

}

public interface Flyable {

public abstract double speed();

}

java入门到精通课后练习和答案(1-6章)

1.9练一练 一.填空题 1.运行编译后的class文件,需要输入命令java 2.JVM是指java虚拟器 3.Java程序源文件扩展名为java 二,简答题 1.简述java语言的特点 (1)简洁有效(2)可移植性(3)面向对象(4)解释型(5)适合分布式计算 2.java虚拟器的作用是什么? 答:保证编译后的java代码能够在安装java虚拟器的系统上运行。 2.5练一练 一.填空题 1.java程序是从main()处开始运行的。 2.在java中,多行注释的开始和结束标记分别为/*和*\。 3.声明1个名称“count”的整形变量的语句为int count; 4.Java程序中的标识符可由字母、数字、下划线和美元符号组成,但不能以数字开头,不能保留java保留的关键字。 二、简答题 1.简述设置变量的3种方法。 (1)在声明前设置 (2)在声明后设置 (3)在任何位置声明设置 2.简述提高程序可读性的两种方法。 *添加注释*使用缩进方法编写 3.4练一练 1.Eclipse是IBM花巨资开发的IDE集成开发环境(Intergrated Development Environment)。 2.【源代码】菜单中所包含的命令都是和代码编写相关的,主要用于源代码工作。 3.选择【文件】>【新建】>【项目...】命令,打开【新建项目】对话框。 二.简答题 1.Eclipse提供了哪两种程序调试方式? *java应用程序*调试 2.取消Eclipse启动时出现的设置工作空间的对话框的具体方法是什么? Eclipse启动时在【设置工作空间】的对话框中选中【将此值用作缺省值并且不再询问】复选框。 4.3练一练 1.变量是利用声明的方式,将内存中的某个块保留下来以供程序使用 2.常量就是固定不变的量,一旦被定义,它的值就不能再被改变。 3.当常量用于一个类的成员变量时,必须给常量赋值,否则会出现编译错误。 二.简答题 1.简述变量的命名规则 Java程序中的标识符可由字母、数字、下划线和美元符号组成,但不能以数字开头,不能保留java保留的关键字。 2.按作用范围划分,变量是如何划分的?

Java语言练习题库(含答案)

单选题 1. 为了保证方法的线程安全,声明方法的时候必须用哪个修饰符? (A) new (B) transient (C) void (D) synchronized 2. 编译Java源文件使用哪个? (A) javac (B) jdb (C) javadoc (D) junit 3. 哪一种类的对象中包含有Internet地址。 (A) Applet (B) Datagramsocket (C) InetAddress (D) AppletContext 4. 有关GUI容器叙述,不正确的是? (A) 容器是一种特殊的组件,它可用来放置其它组件 (B) 容器是组成GUI所必需的元素 (C) 容器是一种特殊的组件,它可被放置在其它容器中

(D) 容器是一种特殊的组件,它可被放置在任何组件中 5. 使用javadoc生成的文档的文件格式是? (A) XML格式 (B) 自定义格式 (C) 二进制格式 (D) HTML格式 6. 下列有关类、对象和实例的叙述,正确的是哪一项? (A) 类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别 (B) 对象是类的抽象,类是对象的具体化,实例是对象的另一个名称 (C) 类是对象的抽象,对象是类的具体化,实例是类的另一个名称 (D) 类是对象的抽象,对象是类的具体化,实例是对象的另一个名称 7. 在事件委托类的继承体系中,最高层次的类是哪项? (A) java.util.EventListener (B) java.util.EventObject (C) java.awt.AWTEvent (D) java.awt.event.AWTEvent 8. Java语言中异常的分类是哪项? (A) 运行时异常和异常 (B) 受检异常和非受检异常

java期末考试试题及答案

1.谈谈final, finally, finalize的区别。 final关键字: a) 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。 b) 将变量或方法声明为final,可以保证它们在使用中不被改变。 c) 被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。 d) 被声明为final的方法也同样只能使用,不能重载。 finally关键字:在异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块。 finalize:方法名,不是关键字。Java技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 2.GC是什么? 为什么要有GC? GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc() 3.Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 写程序Math.round(11.5) = 12 Math.round(-11.5) = -11 4.给我一个你最常见到的runtime exception ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

JavaWeb 程序设计 习题参考答案(第1-6章)

《JavaWeb程序设计》练习题参考答案 第一章:Servlet基础 1、下列选项中属于动态网站技术的是_________(多选)答:PHP/ASP/JSP A、PHP B、ASP C、JavaScript D、JSP 参考答案: PHP(Hypertext Preprocessor):超文本预处理器,其语法大量借鉴C、Java、Perl等语言,只需要很少的编程知识就能使用PHP建立一个真正交互的Web站点,由于PHP开放源代码,并且是免费的,所以非常流行,是当今Internet上最为火热的脚本语言之一。 ASP(Active Server Pages):是一种类似HTML、Script与CGI结合体的技术,他没有提供自己专门的编程语言,允许用户使用许多已有的脚本语言编写ASP应用程序局限于微软的IIS,般只适用于中小型站点,但目前ASP升级演变而来的https://www.doczj.com/doc/f27988977.html,支持大型网站的开发。 JSP(Java ServerPages):是基于Java Servlet以及Java体系的Web开发技术。能在大部分服务器上运行,而且易于维护和管理,安全性能方面也被认为是三种基本动态网站技术中最好的。 2、下列关于Servlet的说法正确的是_______(多选) A、Servlet是一种动态网站技术 B、Servlet运行在服务端 C、Servlet针对每个请求使用一个进程来处理 D、Servlet与普通的Java类一样,可以直接运行,不需要环境支持 参考答案: Servlet是一种动态网站技术,是运行在服务器端,Servlet针对每个请求使用一个线程来处理,而不是启动一个进程,传统的CGI为每次请求启动一个进程来处理。所以Servlet 的效率更高 3、下列关于Servlet的编写方式正确的是______(多选) A、必须是HttpServlet的子类 B、通常需要覆盖doGet() 和doPost()方法或其一 C、通常需要覆盖service()方法 D、通常要在web.xml文件中声明两个元素 参考答案:A、B、D 必须继承Httpservlet类,不需要覆盖servlce()方法,service()方法是Servlet接口中的方法,Servlet是HttpServlet的父类,该方法会根据请求类型选择执行doGet()或doPost()方法。所以通常需要覆盖doGet() 和doPost()方法或其一。 4、下列关于Servlet生命周期的说法正确的是____(多选) A、构造方法只会调用一次 B、init()方法只会调用一次 C、service()方法在每次请求此Servlet时都会被调用 D、destroy()方法在每次请求完毕时会被调用。

JAVA复习题库及答案

第一题单项选择题 1、在下列说法中,选出最正确的一项是(A )。 A、Java 语言是以类为程序的基本单位的 B、Java 语言是不区分大小写的 C、多行注释语句必须以//开始 D、在Java 语言中,类的源文件名和该类名可以不相同 2、下列选项中不属于Java 虚拟机的执行特点的一项是(D )。 A、异常处理 B、多线程 C、动态链接 D、简单易学 3、下列选项中,属丁JVM 执行过程中的特点的一项是( C )。 A、编译执行 B、多进程 C、异常处理 D、静态链接 4、在Java 语言中,那一个是最基本的元素?( C ) A、方法 B、包 C、对象 D、接口 5、如果有2 个类A 和B,A 类基于B 类,则下列描述中正确的一个是( B )。 A、这2 个类都是子类或者超类 B、A 是B 超类的子类 C、B 是A 超类的子类 D、这2 个类郡是对方的子类 6、使用如下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?(D ) A、abstract B、private (本类) C、protected(本包及其他包的子类) D、不使用保留字 7、编译一个定义了3 个类的Java 源文件后,会产生多少个字符码文件,扩展名是什么?(D ) A、13 个字节码文件,扩展名是.class B、1 个字节码文件,扩展名是.class C、3 个字节码文件,扩展名是.java D、3 个字节码文件,扩展名是.class 8、下列关于Java 程序结构的描述中,不正确的一项是( C )。 A、一个Java 源文件中可以包括一个package 语句 B、一个Java 源文件中可以包括多个类定义,但是只能有一个public 类 C、一个Java 源文件中可以有多个public 类 D、源文件名与程序类名必须一致 9、下列说法正确的一项是( C )。 A、java.1ang.Integer 是接口 B、java.1ang.Runnable 是类 C、Doulble 对象在iava.1ang 包中 D、Double 对象在java.1ang.Object 包中 10、以下关于面向对象概念的描述中,不正确的一项是( B )。 A、在现实生活中,对象是指客观世界的实体

JAVA期末考试复习试题

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)对象是类的抽象(C)对象 是类的子类(D)类是对象的具体实例8.下面哪一个是Java中不合法的标识符()。(A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形

式参数无返回值的方法method书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为( )。(A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接 口,下列哪个方法是正确的()。(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 (B).java和 .class (C).class和 .class (D) .java和 .java 12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类 的( )方法来完成一些画图操作。(A) start( ) (B) stop( ) (C) init( ) (D) paint( ) 13.对于一个Java源文件,import, class定义以及package正确的顺序是: (A) package,import,class (B) class,import,package (C) import,package,class (D) package,class,import 14.下面哪个是非法的:(A) int I = 32; (B) float f = 45.0; (C) double d = 45.0; (D) char c = ‘u’; //符号错15.Java语言使用的字符码集是(A) ASCII (B) BCD (C) DCB (D) Unicode 16. 如果一个类的成员变量只能在

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[]; (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( ) 源文件和编译后的文件扩展名分别为( B ) (A) .class和.java (B).java和.class (C).class和.class (D) .java和.java 12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。> (A) start( ) (B) stop( ) (C) init( ) (D) paint( ) 13.对于一个Java源文件,import, class定义以及package正确的顺序是:( A ) (A) package,import,class (B) class,import,package (C) import,package,class (D) package,class,import 14.下面哪个是非法的:( D ) (A) int I = 32; (B) float f = ; (C) double d = ; (D) char c = ‘u’;如果一个类的成员变量只能在所在类中使用,则该成员变量必须使用的修饰是( C ) (A) public (B) protected (C) private(D) static 17.下面关于main方法说明正确的是( B ) (A) public main(String args[ ]) (B) public static void main(String args[ ]) (C) private static void main(String args[ ]) (D) void main() | 18.哪个关键字可以对对象加互斥锁( B ) (A) transient (B) synchronized (C) serialize (D) static 19.关于抽象方法的说法正确的是( D ) (A)可以有方法体(B) 可以出现在非抽象类中 (C) 是没有方法体的方法(D) 抽象类中的方法都是抽象方法 包的File类是( B ) (A)字符流类(B) 字节流类(C) 对象流类(D) 非流类 21.Java application中的主类需包含main方法,以下哪项是main方法的正确形参( B ) A、String args B、String args[] C、Char arg D、StringBuffer args[] < 22.以下代码段执行后的输出结果为( A ) int x=-3;int y=-10; 、-1B、2 C、1 D、3

Java习题三1剖析

1.有关类Demo,哪句描述是正确的? public class Demo extends Base { private int count; public Demo() { System.out.println("A Demo object has been created"); } protected void addOne() { count++; } } ①当创建一个Demo类的实例对象时,count的值为0。 ②当创建一个Demo类的实例对象时,count的值是不确定的。 ③超类对象中可以包含改变count 值的方法。 ④Demo的子类对象可以访问count。 2.当编译和运行下列程序段时,会发生什么? class Base {} class Sub extends Base {} class Sub2 extends Base {} public class Cex { public static void main(String argv[]) { Base b = new Base(); Sub s = (Sub) b; } } ①通过编译和并正常运行。 ②编译时出现例外。 ③编译通过,运行时出现例外。ClassCaseException 3.如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词? ①public ②private ③protected ④transient 4.下面的哪个选项是正确的? class ExSuper { String name; String nick_name; public ExSuper(String s,String t) {

JAVA题

第一部分模拟试题 第一题单项选择题 1、在下列说法中,选出最正确的一项是( a )。 A、Java语言是以类为程序的基本单位的 B、Java语言是不区分大小写的 C、多行注释语句必须以//开始 D、在Java语言中,类的源文件名和该类名可以不相同 2、下列选项中不属于Java虚拟机的执行特点的一项是( d )。 A、异常处理 B、多线程 C、动态链接 D、简单易学 3、下列选项中属于Java语言的垃圾回收机制的一项是( )。 A、语法检查 B、堆栈溢出检查 C、跨平台 D、内存跟踪 4、下列选项中属于Java语言的安全性的一项是( c )。 A、动态链接 B、高性能 C、访问权限 D、内存跟踪 5、下列选项中,属丁JVM执行过程中的特点的一项是( )。 A、编译执行 B、多进程 C、异常处理 D、静态链接 6、在Java语言中,那一个是最基本的元素?( c ) A、方法 B、包 C、对象 D、接口 7、如果有2个类A和B,A类基于B类,则下列描述中正确的一个是(b )。 A、这2个类都是子类或者超类 B、A是B超类的子类 C、B是A超类的子类 D、这2个类均是对方的子类 8、使用如下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?(d ) A、abstract B、private C、protected D、不使用保留字 9、编译一个定义了3个类和10个方法的Java源文件后,会产生多少个字节码文件,扩展名是什么?( d ) A、13个字节码文件,扩展名是.class B、1个字节码文件,扩展名是.class C、3个字节码文件,扩展名是.java D、3个字节码文件,扩展名是.class 10、下列属于Java语言的特点的一项是( d )。 A、运算符重载 B、类间多重继承 C、指针操作 D、垃圾回收 11、在创建Applet应用程序时,需要用户考虑的问题是( )。 A、窗口如何创建 B、绘制的图形在窗口中的位置 C、程序的框架 D、事件处理 12、于Java语言的内存回收机制,下列选项中最正确的一项是( c )。 A、Java程序要求用户必须手工创建一个线程来释放内存 B、Java程序允许用户使用指针来释放内存 C、内存回收线程负责释放无用内存 D、内存回收线程不能释放内存对象 13、下列关于Java程序结构的描述中,不正确的一项是( )。 A、一个Java源文件中可以包括一个package语句 B、一个Java源文件中可以包括多个类定义,但是只能有一个public类 C、一个Java源文件中可以有多个public类 D、源文件名与程序类名必须一致 14、下列说法正确的一项是( )。 A、java.1ang.Integer是接口类 B、java.1ang.Runnable是类接口 C、Doulble对象在java.1ang包中 D、Double对象在java.1ang.Object包中

JAVA考试复习题(附答案)

《现代程序设计》(JAVA)考试复习题 一、选择题 1、关于Java语言叙述错误的是:(C) A.Java语言具有跨平台性B.Java是一种面向对象的语言 C.Java语言中的类可以多继承D.Java的垃圾收集机制自动回收程序已不再使用的对象 2、以下叙述正确的是:(B) A.构造方法必须是public方法B.main方法必须是public方法 C.Java应用程序的文件名可以是任意的D.构造方法应该声明为void类型 3、关于Java中数据类型叙述正确的是:(B) A、整型数据在不同平台下长度不同B.boolean类型数据只有2个值,true和false C.数组属于简单数据类型D.Java中的指针类型和C语言的一样 4、设int x=1,float y=2,则表达式x / y的值是:(D) A.0 B.1 C.2 D.以上都不是 5、以下语句有语法错的是:(A) A.int x=1;y=2;z=3 B.for (int x=10,y=0;x>0;x++); C.while (x>5); D.for(; ;); 6、关于类和对象的叙述正确的是:(A) A.Java的类分为两大部分:系统定义的类和用户自定义的类 B.类的静态属性和全局变量的概念完全一样,只是表达形式不同 C.类的成员至少有一个属性和一个方法D.类是对象的实例化 7、以下有关构造方法的说法,正确的是:(A) A.一个类的构造方法可以有多个B.构造方法在类定义时被调用 C.构造方法只能由对象中的其它方法调用 D.构造方法可以和类同名,也可以和类名不同 8、以下有关类的继承的叙述中,正确的是:(D) A.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性 B.子类只能继承父类的方法,不能继承父类的属性 C.子类只能继承父类的非私有属性,不能继承父类的方法 D.子类不能继承父类的私有属性 9、void 的含义:(C ) A.方法体为空B.定义的方法没有形参 C.定义的方法没有返回值D.方法的返回值不能参加算术运算 10、关于Java中异常的叙述正确的是:(D ) A.异常是程序编写过程中代码的语法错误B.异常是程序编写过程中代码的逻辑错误 C.异常出现后程序的运行马上中止D.异常是可以捕获和处理的

java练习题1

第一章Java应用程序 一、判断题 1.“//”即可以表示单行注释,也可以表示多行注释。(F ) 2.方法System.out.println只在命令窗口中显示(或打印)一行文字。( F) 3. 类System不是由程序开头的import语句装载。( T) 4.声明变量时必须指定一个类型。(T ) 5.注释的作用是使程序在执行时在屏幕上显示//之后的内容。(F) 6.Java认为变量number与NuMbEr是相同的。(F ) 7.求模运算符(%)只可用于整型操作数。(F ) 8.算术运算符*,/,%,+和-有相同的优先级。(F ) 9.方法Integer.parseInt将一整数转变成String。(F ) 10. Java应用程序从main方法开始执行。(T) 二、选择题 1.对象之间的基本关系是:( B ) A.包含继承 B.包含继承关联 C.包含关联 D.没有 2.下列说法正确的是:( B ) A.“清华大学”是一个类 B.“大学”是一个类 C.“大学“和”清华大学“之间是继承的关系 D.“大学“和”清华大学“之间没有关系 3.面向对象程序设计方法的优点:( D ) A.可重用性、可扩展性、可操作性 B.可重用性、可维护性、可操作性 C.可管理性、可扩展性、可操作性 D.可重用性、可扩展性、可管理性 4.下面选项中,Java对类Welcome进行定义正确的是:( D ) A.public class 1Welcome B.public class We lcome C.public class welcome D.public class Welcome 5.有如下的程序:( D ) public class Welcome3 { public static void main( String args[] ) { System.out.println( "Welcome\nto\nJava\nProgramming!" ); } } 则它的输出结果是:

java选择题库

11111111111111 单选题第一套 表1 考核知识点一览表 知识点内容题型题数(实际)题目名称 1 JA V A应用程序单选 1 1-1-1-1 2 类单选 1 3 JA V A关键字单选 1 4 JA V A变量和数据类型单选 2 1-1-2-1,1-1-3-1 5 环境单选0 6 运算符与表达式单选 2 7 流程控制单选 1 8 数组单选 1 9 重载单选 1 10 构造函数单选 1 11 抽象类单选 1 12 继承单选 1 13 对象单选 1 14 覆盖与重载单选 1 1-1-1-1下面的main()方法的定义哪些是正确的?() (A)public static void main(String args){} (B)public static void main(String[]){} (C)public static void main(String[] args){} (D)public static void MAIN(String[] xyz){} 答案:C 1-1-2-1用于定义简单数据类型的一组关键字是() (A)Student,float,main,public (B)byte,boolean,int,float (C)long,extends,float,double (D)class,float,short,import 答案:B 1-1-3-1以下变量定义中正确的是() (A)int I=123a (B)float f=7.8f (C)char c=’abc’ (D)String str=’d’ 答案:B 1-1-4-1 for(;;)是( ) (A)循环结构 (B)分支结构 (C)顺序结构 答案:A

java试题练习题(第9套)

—— 学年第 学期 《 Java 程序设计 》课程试题 课程号: √ 考试 □ A 卷 √ 闭卷 □ 考查 □ B 卷 □ 开卷 一、单项选择题(20题;每题2分,共40分) 1、下面选项中,___不可以用作变量名的首字符。 A )字母 B )下划线(_) C )数字 D )美元符号(¥) 答案:C (难度系数C )知识点:变量 2、下面语句中,____不会出现编译警告或错误。 A )float f=1.3; B )char c=”a”; C )byte b=25; D )boolean b=null; 答案:C (难度系数B )知识点:赋值相容 3、下列叙述正确的是___。 A )final 类可以有子类 B )abstract 类中只可以有 abstract 方法 C )abstract 类上可以有非abstract 方法,但该方法不可以用final 修饰 D )不可以同时用final 和abstract 修饰一个方法 答案:D (难度系数B ) 知识点:抽象类,抽象方法 4、创建一个标识有“关闭”按钮的语句是___。 A ) TextField b = new TextField(“关闭”); B ) Label b = new Label(“关闭”); C ) Checkbox b = new Checkbox(“关闭”); D ) Button b = new Button(“关闭”); 答案:D (难度系数C ) 知识点:GUI 编程 5、在编写异常处理的Java 程序中,每个catch 语句块都应该与___语句块对应,使得用该语句块来启动Java 的异常处理机制。 班 级 : 姓名: 学号: 试题共 页 加白纸 张 密 封 线

大学JAVA期末考试试题带答案

《JA V A程序设计》期末考试试题(三 一、单项选择题 1、如下哪个是Java中的标识符(D A、public B、super C、3number D、width 2、如下哪个是Java中的标识符(A A、fieldname B、super C、3number D、#number 3、已知如下定义:String s = "story"; 下面哪个语句不是合法的( C A、s += "books"; B、s = s + 100; C、int len = s.length; D、String t = s + “abc”; 4、如下哪个是Java中有效的关键字( C A、name

B、hello C、false D、good 5、下面的代码段执行之后count的值是什么( D int count = 1; for (int i = 1; i <= 5; i++ { count += i; } System.out.println(count; A、5 B、1 C、15 D、16 6、定义一个类,必须使用的关键字是( B A、public B、class C、interface D、static 7、定义一个接口必须使用的关键字是(C

A、public B、class C、interface D、static 8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是(C A、p.add(b; B、p.add(b,"North"; C、p.add(b,"South"; D、b.add(p,"North"; 9、声明并创建一个按钮对象b,应该使用的语句是(A A、Button b=new Button(; B、button b=new button(; C、Button b=new b(; D、b.setLabel(“确定”; 10、Frame对象默认的布局管理器是(B A、FlowLayout B、BorderLayout C、CardLayout

Javaweb练习题1(含答案)模板

Javaweb ?选择题 o 1. 页面中需要增加链接,正确的HTML代码是_A_____。 A. 百度 B. 百度 C. https://www.doczj.com/doc/f27988977.html, D. 百度 o 2. 以下选项中,哪个全部都是表格标签___ B___。 A.

B.
C.
D.