您的当前位置:首页正文

Java语言程序设计作业

2024-10-18 来源:威能网
<>作业

1.Java语言源文件的命名规则是怎样的?

(1)如果源文件有多个类.那么只能有一个类是public类. (2)如果有一个类是public类.那么源文件的名字必须与这个

类的名字完全相同.扩展名是java.

(3)如果源文件没有public类.那么源文件的名字只要和某个

类的名字相同.并且扩展名是java就可以了.

2.Java应用程序的主类必须含有怎样的方法?

Public Static Void main(String args[]) {…}

3. Java为什么与平台无关?

因为Java在计算机操作系统之上.又提供了一个Java运行环境. 即支持Java程序运行的平台.这个平台由Java虚拟机,类库以 及一些核心文件组成. 4.说明Java的四种访问权限。 public private protected default

5.package语句和import语句的作用是什么?

(1)package语句用于定义一个包. 包用于管理类名空间. (2)import语句用于导入指定的包或包中的类. 6.关键字super的三种用法是什么?

(1)用来访问父类被隐藏的成员变量 (2)用来访问父类中被重写的方法 (3)用来调用父类的构造方法

7.声明一个子类,实现一个接口的语法格式是怎样的?

class 类名 implements 接口名 {…}

8.什么是异常(错误, 例外)?如何处理?

所谓异常.就是程序运行时可能出现的一些错误.程序要对错 误给出处理.Java用try...catch语句来处理异常. 将可能出 现的异常放在try部分.当发生异常后.在catch语句捕获并处 理.用throw抛出异常.

9.什么叫进程和多线程?Java如何处理多线程?

进程是指程序的一次执行.线程是指一个程序的不同代码交替 运行.Java使用thread类或者runable接口来处理多线程.

10.什么叫组件和容器?两者之间有什么关系?

组件是一个能够以图形化的方式显示在屏幕上并与用户进行 交互的对象.组件不能独立显示.必须将组件放在容器中才可 以显示.组件由component类的子类或间接子类创建对象.容器 由conatier的子类或间接子类创建对象.容器本身也是一个组 件因此可以把一个容器添加到另一个容器中.实现容器的嵌套. 1.Java语言和C/C++语言的相同点在于( A ) A.使用相似的语法 B.与平台无关 C.源程序中都是类 D.支持多重继承

2.一个包含类A,B,C的Java源程序A.java,编译产生的类文件是(D) A.A.class B.B.class

C.C.class D.A.class B.classc C.class 3.下列哪一个是合法的Java标识符( C )。 A.test## B.2Example C.$change D.static 4.指出正确的表达式语句( CD )。 A.byte b=128; B.boolean b=1; C.long l=-100L; D.double d=0.925; 5.下面的数组定义中错误的是( C )。

A.int array[]={1,2,3,4,5}; B.int[] array={1,2,3,4,5}; C.String s=new String[5]; D.String s[]=new String[5]; 6.关于构造函数,下列叙述错误的是( B )。

A.构造函数是类的一种特殊函数,他的方法名必须与类名相同 B.构造函数的返回类型只能是void型

C.构造函数的主要作用是完成对类的对象的初始化工作 D.一般在创建新对象时,系统会自动调用构造函数。 7.下面关于final的叙述中错误的是( D )。 A.用final修饰的变量不能更改 B.用final修饰的方法不能被重写 C.用final修饰的类不能有子类 D.用final修饰的类可以有子类

8.用哪一个修饰符修饰的方法是属于整个类的类方法( B )。 A.abstract B.static C.final D.native

9.下列哪个方法可用于创建一个可运行的线程类( D )。

A.public class X extends Thread{public int run(){...}} B.public class X extends Runnable{public void run(){..}} C.public class X implements Thread{public void run(){..}} D.public class X implements Runnable{public void run(){..}} 10.在Java 图形用户界面编程中,若显示一些不需要修改的文本 信息,一般是使用哪个类的对象来实现( A )。 A.JLabel B.JButton C.JTextArea D.JTextField

1.使用J2SE开发的程序分为两种,分别是:Java application 和Java applet。

2. Java编译器将源程序编译成被称为 字节码 的中间代码,它在 某计算机上由Java解释器 解释执行。 3.Java使用的字符集是 Unicode字符集 。

4.Java的基本数据类型不是固定长度与平台有关,这个说法是否 正确? 否

5.Java的boolean类型的取值是: true 和 false 。 6.Java的复合数据类型包括 类 , 接口 和 数组 。 7.Java源文件是由_类_和_接口_组成的。 8.在Java程序中,创建对象的一般格式为: _类名 对象名=new 类名{…}_。

9.Java类中有变量和方法两种成员,他们的访问权限可以是 privata,public,_protected_和_default_。 10.给出函数void fun(int a)的一种重载形式: _void fun (double a)_。

11.当类的声明中没有显式指定其父类时,它是从_Object_类 派生而来的。

12.Java中this用来表示_当前对象_,super用来表示_父类_. 13.Java使用_try..catch语句来处理异常,使用_throw抛出异常. 14.不可变字符串是由_string_类定义的,而可变字符串是由 _string buffer_类定义的。

15.线程的四种状态是_新建_,_运行_,_中断_,_死亡_。 16.Java语言中的_java.awt_包和_javax.swing_包中的类实现了 Java的GUI图形用户界面设计。 1.分析下面的程序,给出输出结果。 class A

{ protected double x=10,y=12.56; public void speak()

{ System.out.println(\"我喜欢NBA\"); }

public void cry() { y=x+y;

System.out.printf(\"y=%f\\n\ }

}class B extends A { int y=100,z; public void speak() { z=2*y;

System.out.println(\"I love This Game\"); System.out.printf(\"y=%d,z=%d\ } } class Example

{ public static void main(String args[ ]) { B b=new B(); b.cry() ; b.speak(); } }

y=22.560000 I love This Game y=100,z=200 2.分析下面的程序,给出输出结果。 interface Computable { final int MAX=100; int f(int x);

public abstract int g(int x,int y); }

class A implements Computable { public int f(int x) { return x*x; }

public int g(int x,int y)

{ return x+y; } }

class B implements Computable { public int f(int x) { return x*x*x; }

public int g(int x,int y) { return x*y; } }

public class Example

{ public static void main(String args[]) { A a=new A(); B b=new B();

System.out.println(a.MAX);

System.out.println(\"\"+a.f(10)+\" \"+a.g(12,2)); System.out.println(b.MAX);

System.out.println(\"\"+b.f(10)+\" \"+b.g(12,2)); } } 100 100 14 100 1000 24 3.分析下面的程序,给出输出结果。 public class Example

{ public static void main(String args[ ]) { int n=0,m=0,t=0; try { t=9999;

m=Integer.parseInt(\"8888\"); n=Integer.parseInt(\"12s3a\");

//发生异常,转向catch。

System.out.println(\"我没有机会输出\"); }

catch(Exception e)

{ System.out.println(\"发生异常\"); n=123; }

System.out.println(\"n=\"+n+\ } }

发生异常

n=123,m=8888,t=9999 1.编写程序计算输出Fibonacci数列(即数列1 1 2 3 5 8 13 21 34 55......)的前10项。 public class Fibonacci

{ public static void main (String args[]) { int f[]=new int [10]; f[0]=f[1]=1; for (int i=2;i<10;i++) f[i]=f[i-1]+f[i-2]; for (int i=0;i<10;i++) System.out.println(f[i]); } }

2.编写程序使用对象数组保存以下信息并输出之。 学号 20080001 20080002 20080003 class Student { int num; String name; int score; int telephone;

public Student(int p1,String p2,int p3,int p4) { num=p1; name=p2; score=p3; telephone=p4;

姓名 姓名01 姓名02 姓名03 成绩 90 92 95 电话 6666 7777 8888 } }

public class Test

{ public static void main (String args[]) { Student stu[]=new Student[3];

stu[0]=new Student(20080001,\"姓名01\ stu[1]=new Student(20080002,\"姓名02\ stu[2]=new Student(20080003,\"姓名03\ for(int i=0;i<3;i++)

System.out.printf(\"%d %s %d分 %d%n\"

,stu[i].num,stu[i].name,

stu[i].score,stu[i].telephone); } }

3.描述一个人的类具有属性值:姓名,年龄,性别.

描述一个员工的类具有属性:姓名,年龄,性别,部门,工资. 描述一个学生的类具有属性:姓名,年龄,性别,专业,成绩. 请抽取共性定义一个父类,其它类由这个类继承以实现代码重用, 给出其类定义和构造方法。 class person { String name; int age; char sex; public person(){ }

public person(String p1,int p2,char p3) { name=p1; age=p2; sex=p3;} //…… }

class employee extends person { String department; float salary; public employee(){ }

public employee(String p1,int p2,char p3,String p4,float p5) { super(p1,p2,p3); department=p4; salary=p5;} //…… }

class student extends person { String major; int score; public student(){ }

public student(String p1,int p2,char p3,String p4,int p5) { super(p1,p2,p3); major=p4; score=p5;} //…… }

public class Testclass

{ public static void main (String args[]) { //…… } }

2.编写程序使用Thread或Runnable设计两个线程A,线程B 使得主线程和两个线程切换输出: 我是主线程main

我是线程A,我的名字是...... 我是线程B,我的名字是...... class WriteWordThread extends Thread { WriteWordThread(String s)

{setName(s);//调用Thread类的方法setName为线程起个名字。 }

public void run()

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

{System.out.println(\"我是一个线程,我的名字是\"+getName()); } } }

public class Example

{ public static void main(String args[ ]) {WriteWordThread zhang,wang;

zhang=new WriteWordThread(\"张小红\"); //新建线程。 wang=new WriteWordThread(\"JamsKeven\"); //新建线程。 zhang.start(); //启动线程。 for(int i=1;i<=10;i++)

{ System.out.println(\"我是主线程中的语句\");

}

wang.start(); //启动线程 } }

3.编写程序使用Thread或Runnable创建三个线程分别显示其各 自的运行时间。 import java.util.*;

class Runner implements Runnable { String name;

public Runner(String name) { this.name=name; }

public void run() { for(int i=1;i<=10;i++) { Date now=new Date(); try

{ Thread.sleep(1000);

}catch(InterruptedException e){ }

System.out.println(name+\"的时间是\"+now.getHours()+\":\" now.getMinutes()+\":\"+now.getSeconds()); } } }

public class Example

{ public static void main(String args[ ]) { Runner r1=new Runner(\"线程A\"); Thread t1=new Thread(r1); t1.start();

Runner r2=new Runner(\"线程B\"); Thread t2=new Thread(r2); t2.start();

Runner r3=new Runner(\"线程C\"); Thread t3=new Thread(r3); t3.start();

System.out.println(\"结束运行\"); }

}

因篇幅问题不能全部显示,请点此查看更多更全内容