Java程序设计实用教程

Java程序设计实用教程
Java程序设计实用教程

习题1

1.James Gosling

2.需3个步骤:

1)用文本编辑器编写源文件。

2)使用javac编译源文件,得到字节码文件。

3)使用解释器运行程序。

3. set path=D:\jdk\bin;

set classpath=D:\jdk\jre\lib\;.;

4. B)

5.java和class

6.D) public static void main (String args[ ])

习题2

1. B) int_long, D) $Boy26

2.【代码1】, 【代码3】是错误的

3.float常量必须用F或f为后缀。double常量用D或d为后缀,但允许省略后缀。4.

public class E {

public static void main(String args[]) {

'思');

'故');

'乡');

}

}

习题 3

1.110

if-else语句书写的不够规范

2. 不正正歪!!

3.

public class Xiti3 {

void giveMess(int number) {

if(number==9||number==131||number==12) {

"是三等奖");

}

else if(number==209||number==596||number==27) {

"是二等奖");

}

else if(number==875||number==316||number==59) {

"是一等奖");

}

else{

"未中奖");

}

}

}

4.

public class Xiti4 {

public static void main (String args[ ]) { char cStart='а',cEnd='я';

for(char c=cStart;c<=cEnd;c++)

"%2c",c);

for(char c=cStart;c<=cEnd;c++)

"%2c",(c+32));

}

}

5.

public class Xiti5 {

public static void main(String args[]) {

double sum = 0,item = 1;

int i = 1,n = 20;

while(i<=n) {

sum = sum+item;

i = i+1;

item = item*i;

}

"sum="+sum);

}

}

6.

public class Xiti6 {

public static void main(String args[]) {

int sum=0,i,j;

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

for(j=1,sum=0;j

if(i%j==0)

sum=sum+j;

}

if(sum==i)

"完数:"+i);

}

}

}

7.

public class Xiti7 {

public static void main(String args[]) {

int n=1,i=1,jiecheng=1;

long sum=0;

while(true) {

jiecheng=1;

for(i=1;i<=n;i++){

jiecheng=jiecheng*i;

}

sum=sum+jiecheng;

if(sum>9999)

break;

n++;

}

"满足条件的最大整数:"+(n-1));

}

}

习题 4

1.用类创建对象时。

2.一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。可以。

3.可以。不可以。

4.不可以。

5.一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间。所有对象的类变量都分配给相同的一处内存,对象共享类变量。

6.CD。

7.【代码1】【代码4】。

8.sum=-100。

9. 27。

10.100和。

习题5

1.如果子类和父类在同一个包中,那么,子类自然地继承了其父类中不是private的成员变量作为自己的成员变量,并且也自然地继承了父类中不是private的方法作为自己的方法, 继承的成员或方法的访问权限保持不变。当子类和父类不在同一个包中时,父类中的private和友好访问权限的成员变量不会被子类继承,也就是说,子类只继承父类中的protected和public访问权限的成员变量作为子类的成员变量;同样,子类只继承父类中的protected和public访问权限的方法作为子类的方法。如果所声明的成员的变量的名字和从父类继承来的成员变量的名字相同(声明的类型可以不同),在这种情况下,子类就会隐藏掉所继承的成员变量。

2.不可以。

3.abstract类。

4.A类是B类的父类,当用子类创建一个对象b,并把这个对象b的引用放到父类的对象a 中时,称a是b的上转型对象。

5.AD。

6.

7.

12。

习题 6

1.接口中能声明变量吗

2.接口中能定义非抽象方法吗

3.什么叫接口的回调

4.请说出E类中的输出结果。

interface A {

double f(double x,double y);

}

class B implements A {

public double f(double x,double y) {

return x*y;

}

int g(int a,int b) {

return a+b;

}

}

public class E {

public static void main(String args[]) {

A a=new B();

B b=(B)a;

}

}

5.请说出E类中的输出结果。

interface Com {

int add(int a,int b);

}

abstract class A {

abstract int add(int a,int b);

}

class B extends A implements Com{

public int add(int a,int b) {

return a+b;

}

}

public class E {

public static void main(String args[]) {

B b =new B();

Com com = b;

A a =b;

}

}

习题 7

1.一维数组名.length

2.二维数组名.length

3.false,true,false,3,, 。

4.Bird,car

习题 8

1.有效。

2.可以

3.不可以

4.大家好,祝工作顺利!

5.96

乘数超过99

习题 9

1.(A)(B)(D)

2.Love:Game。

3. 15

abc我们。

4.13579。

5.9javaHello。

6.public class E {

public static void main (String args[ ]) { String s1,s2,t1="ABCDabcd";

s1=();

s2=();

String s3=(s2);

}

}

7.public class E {

public static void main (String args[ ]) { String s="ABCDabcd";

char cStart=(0);

char cEnd = ()-1);

}

}

8.

import .*;

public class E {

public static void main(String args[]) {

Scanner read=new Scanner;

CalendarBean cb=new CalendarBean();

int year=2000,month=1;

"输入年:");

year=();

"输入月:");

month=();

(year);

(month);

String [] a= ();oCharArray();

for(char c:str) {

"%3c",c);

}

for(int i=0;i<;i++) { import .*;

public class E {

public static void main (String args[ ]) {

Scanner read=new Scanner;

int year1,month1,day1,year2,month2,day2;

"输入第一个日期的年、月、日(用空格或回车分隔):");

year1=();

month1=();

day1=();

"输入第二个日期的年月日(用空格或回车分隔):");

year2=();

month2=();

day2=();

Calendar calendar=();

(year1,month1-1,day1);

long timeYear1=();

(year2,month2-1,day2);

long timeYear2=();

long 相隔天数=((timeYear1-timeYear2)/(1000*60*60*24));

""+year1+"年"+month1+"月"+day1+"日和"+

year2+"年"+month2+"月"+day2+"日相隔"+相隔天数+"天");

}

}

10. import .*;

public class E {

public static void main (String args[ ]) {

double a=0,b=0,c=0;

a=12;

b=24;

c=;

c=;

c=(1);

c=(8);

}

}

11.public class E {

public static void main (String args[ ]) {

String str = "ab123you你是谁";

String regex = "\\D+";

str = (regex,"");

}

}

12.import .*;

public class E {

public static void main(String args[]) {

String cost = "数学87分,物理76分,英语96分";

Scanner scanner = new Scanner(cost);

("[^09.]+");

double sum=0;

int count =0;

while()){

try{ double score = ();

count++;

sum = sum+score;

}

catch(InputMismatchException exp){

String t = ();

}

}

"总分:"+sum+"分");

"平均分:"+sum/count+"分");

}

}

习题 10

1.使用FileInputStream。

2.FileInputStream按字节读取文件,FileReader按字符读取文件。

3.不可以。

4.使用对象流写入或读入对象时,要保证对象是序列化的。

5.使用对象流很容易得获取一个序列化对象的克隆,只需将该对象写入到对象输出流,那么用对象输入流读回的对象一定是原对象的一个克隆。

6.

import .*;

public class E {

public static void main(String args[]) {

File f=new File("");;

try{ RandomAccessFile random=new RandomAccessFile(f,"rw");

(0);

long m=();

while(m>=0) {

m=m-1;

(m);

int c=();

if(c<=255&&c>=0)

else {

m=m-1;

(m);

byte cc[]=new byte[2];

(cc);

String(cc));

}

}

}

catch(Exception exp){}

}

}

7.

import .*;

public class E {

public static void main(String args[ ]) {

File file=new File("");

File tempFile=new File("");

try{ FileReader inOne=new FileReader(file);

BufferedReader inTwo= new BufferedReader(inOne);

FileWriter tofile=new FileWriter(tempFile);

BufferedWriter out= new BufferedWriter(tofile);

String s=null;

int i=0;

s=();

while(s!=null) {

i++;

(i+" "+s);

();

s=();

}

();

();

();

();

();

}

catch(IOException e){}

}

}

8.属于上机操作题,解答略。

9. import .*;

import .*;

public class E {

public static void main(String args[]) {

File file = new File("");

Scanner sc = null;

double sum=0;

int count = 0;

try { sc = new Scanner(file);

("[^09.]+");

while()){

try{ double price = ();

count++;

sum = sum+price;

}

catch(InputMismatchException exp){ String t = ();

}

}

"平均价格:"+sum/count);

}

catch(Exception exp){

}

}

}

习题 11

1.,以及复制到Java运行环境的扩展中。

2. import .*;

import .*;

public class E {

public static void main(String args[]) {

Query query=new Query();

("D:/2000/shop");

("SELECT * FROM goods");

Scanner read=new Scanner;

"输入数据库名或绝对路径:");

String dataSource = ();

"输入表名:");

String tableName = ();

(dataSource);

("SELECT * FROM "+tableName);

();

}

}

class Query {

String databaseName=""; import .*;

import .*;

public class E {

public static void main(String args[]) {

Query query = new Query();

String databaseName = "shop";

String tableName = "goods";

query. setDatabaseName(databaseName);

String name = "";

Scanner read=new Scanner;

"商品名:");

name = ();

String str="'%["+name+"]%'";

String SQL = "SELECT * FROM goods WHERE name LIKE "+str;

(SQL);

"表中商品名是"+name+"的记录");

();

}

}

class Query {

String databaseName=""; ;

class RectKey implements Comparable {

double key=0;

RectKey(double d) {

key=d;

}

public int compareTo(Object b) {

RectKey t=(RectKey)b;

if( return -1;

else

return (int)( }

}

class Rect{

double width,height;

Rect(double width,double height) {

=height;

=width;

}

public double getArea() {

return width*height;

}

public double getLength() {

return 2*(width+height);

}

}

public class E {

public static void main(String args[ ]) {

TreeMap treemap= new TreeMap(); double w[]={1,2,4,8,16,20,120,30,90,};

double h[]={21,92,43,18,,,12,3,90,765};

Rect rect[]=new Rect[10];

for(int k=0;k<;k++) {

rect[k]=new Rect(w[k],h[k]);

}

RectKey key[]=new RectKey[10] ;

for(int k=0;k<;k++) {

key[k]=new RectKey(rect[k].getArea());

}

for(int k=0;k<;k++) {

(key[k],rect[k]);

}

int number=();

Collection collection=();

Iterator iter=();

while()) {

Rect r=();

"面积:"+());

}

();

for(int k=0;k<;k++) {

key[k]=new RectKey(rect[k].getLength());

}

for(int k=0;k<;k++) {

(key[k],rect[k]);

}

number=();

collection=();

iter=();

while()) {

Rect r=();

"周长:"+());

}

}

}

习题 13

1.4种状态:新建、运行、中断和死亡。

2.有4种原因的中断:(1)JVM将CPU资源从当前线程切换给其他线程,使本线程让出CPU 的使用权处于中断状态。(2)线程使用CPU资源期间,执行了sleep(int millsecond)方法,使当前线程进入休眠状态。(3)线程使用CPU资源期间,执行了wait()方法,使得当前线程进入等待状态。(4)线程使用CPU资源期间,执行某个操作进入阻塞状态,比如执行读/写操作引起阻塞。

3.死亡状态,不能再调用start()方法。

4.新建和死亡状态。

5.两种方法:用Thread类或其子类。

6.使用setPrority(int grade)方法。

7.Java使我们可以创建多个线程,在处理多线程问题时,我们必须注意这样一个问题:当两个或多个线程同时访问同一个变量,并且一个线程需要修改这个变量。我们应对这样的问题作出处理,否则可能发生混乱。

8.当一个线程使用的同步方法中用到某个变量,而此变量又需要其它线程修改后才能符合本线程的需要,那么可以在同步方法中使用wait()方法。使用wait方法可以中断方法的执行,使本线程等待,暂时让出CPU的使用权,并允许其它线程使用这个同步方法。其它线程如果在使用这个同步方法时不需要等待,那么它使用完这个同步方法的同时,应当用notifyAll()方法通知所有的由于使用这个同步方法而处于等待的线程结束等待。

9.不合理。

10.“吵醒”休眠的线程。一个占有CPU资源的线程可以让休眠的线程调用interrupt 方法“吵醒”自己,即导致休眠的线程发生InterruptedException异常,从而结束休眠,重新排队等待CPU资源。

11. public class E {

public static void main(String args[]) {

Cinema a=new Cinema();

}

}

class TicketSeller public class E {

public static void main(String args[]) {

ClassRoom room6501 = new ClassRoom();

try{ (1000);

}

catch(Exception exp){}

}

}

class ClassRoom implements Runnable {

Thread student1,student2,teacher;

ClassRoom() {

teacher = new Thread(this);

student1 = new Thread(this);

student2 = new Thread(this);

("王教授");

("张三");

("李四");

}

public void run(){

if()==student1) {

try{ "正在睡觉,不听课");

(1000*60*10);

}

catch(InterruptedException e) {

"被老师叫醒了");

}

"开始听课");

();

public class E {

public static void main(String args[]) {

JoinWork work=new JoinWork();

work.司机.start();

}

}

class JoinWork implements Runnable {

Thread 司机;

Thread 装运工;

Thread 管理员;

JoinWork() {

司机=new Thread(this);

装运工=new Thread(this);

管理员=new Thread(this);

}

public void run() {

if()==司机) {

"司机等待装运工装车");

try{

装运工.start();

装运工.join();

}

catch(InterruptedException e){}

"司机开车走了");

}

else if()==装运工) {

"装运工等待管理员");

try{

管理员.start();

管理员.join();

}

catch(InterruptedException e){}

"装运工把车装载完毕");

}

else if()==管理员) {

"管理员把装车手续办好,打开仓库大门");

}

}

}

14. BA

习题 14

1.URL对象调用InputStream openStream()方法可以返回一个输入流,该输入流指向URL 对象所包含的资源。通过该输入流可以将服务器上的资源信息读入到客户端。

2.客户端的套接字和服务器端的套接字通过输入、输出流互相连接后进行通信。

3.使用方法accept(),accept()会返回一个和客户端Socket对象相连接的Socket对象。accept方法会堵塞线程的继续执行,直到接收到客户的呼叫。。

4.域名/IP。

5.(1)客户端

import .*;

import .*;

import .*;

import .*;

public class Client

{ public static void main(String args[])

{ new ComputerClient();

}

}

class ComputerClient extends Frame implements Runnable,ActionListener

{ Button connection,send;

TextField inputText,showResult;

Socket socket=null;

DataInputStream in=null;

DataOutputStream out=null;

Thread thread;

ComputerClient()

{ socket=new Socket();

setLayout(new FlowLayout());

Box box=();

connection=new Button("连接服务器");

send=new Button("发送");

(false);

inputText=new TextField(12);

showResult=new TextField(12);

(connection);

(new Label("输入三角形三边的长度,用逗号或空格分隔:"));

(inputText);

(send);

(new Label("收到的结果:"));

(showResult);

(this);

(this);

thread=new Thread(this);

add(box);

setBounds(10,30,300,400);

setVisible(true);

validate();

addWindowListener(new WindowAdapter()

{ public void windowClosing(WindowEvent e) { (0);

}

});

}

public void actionPerformed(ActionEvent e)

{ if()==connection)

{ try ;

import .*;

import .*;

public class Server

{ public static void main(String args[])

{ ServerSocket server=null;

Server_thread thread;

Socket you=null;

while(true)

{ try{ server=new ServerSocket(4331);

}

catch(IOException e1)

{ "正在监听"); tart(); oubleValue();i++;

}

catch(NumberFormatException e)

{ ("请输入数字字符");

quesion=true;

}

}

if(quesion==false)

{ double p=(a[0]+a[1]+a[2])/;

(" "+(p*(p-a[0])*(p-a[1])*(p-a[2])));

}

}

catch (IOException e)

{ "客户离开");

return;

}

}

}

}

6.解答略

习题 15

1.Frame容器的默认布局是BorderLayout布局。

2.不可以。

3.

import .*;

import .*;

import class E {

public static void main(String args[]) {

Computer fr=new Computer();

}

}

class Computer extends JFrame implements DocumentListener { JTextArea text1,text2;

int count=1;

double sum=0,aver=0;

Computer() {

setLayout(new FlowLayout());

text1=new JTextArea(6,20);

text2=new JTextArea(6,20);

add(new JScrollPane(text1));

add(new JScrollPane(text2));

(false);

()).addDocumentListener(this);

setSize(300,320);

setVisible(true);

validate();

setDefaultCloseOperation;

}

public void changedUpdate(DocumentEvent e) {

String s=();

String []a =("[^09.]+");

sum=0;

aver=0;

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

try { sum=sum+(a[i]);

}

catch(Exception ee) {}

}

aver=sum/count;

(null);

("\n和:"+sum);

("\n平均值:"+aver);

}

public void removeUpdate(DocumentEvent e){

changedUpdate(e);

}

public void insertUpdate(DocumentEvent e){

changedUpdate(e);

}

}

4.

import .*;

import .*;

import class E {

public static void main(String args[]) {

ComputerFrame fr=new ComputerFrame();

}

}

class ComputerFrame extends JFrame implements ActionListener { JTextField text1,text2,text3;

JButton buttonAdd,buttonSub,buttonMul,buttonDiv;

JLabel label;

public ComputerFrame() {

setLayout(new FlowLayout());

text1=new JTextField(10);

text2=new JTextField(10);

text3=new JTextField(10);

label=new JLabel(" ",;

;

add(text1);

add(label);

add(text2);

add(text3);

buttonAdd=new JButton("加");

buttonSub=new JButton("减");

buttonMul=new JButton("乘");

buttonDiv=new JButton("除");

add(buttonAdd);

add(buttonSub);

add(buttonMul);

add(buttonDiv);

(this);

(this);

(this);

(this);

setSize(300,320);

setVisible(true);

validate();

setDefaultCloseOperation;

}

public void actionPerformed(ActionEvent e) {

double n;

if()==buttonAdd) {

double n1,n2;

try{ n1=());

n2=());

n=n1+n2;

(n));

("+");

}

catch(NumberFormatException ee)

{ ("请输入数字字符");

}

}

else if()==buttonSub) {

double n1,n2;

try{ n1=());

n2=());

n=n1-n2;

(n));

("-");

}

catch(NumberFormatException ee)

{ ("请输入数字字符");

}

}

else if()==buttonMul)

{double n1,n2;

try{ n1=());

n2=());

n=n1*n2;

(n));

("*");

}

catch(NumberFormatException ee)

{ ("请输入数字字符");

}

}

else if()==buttonDiv)

{double n1,n2;

try{ n1=());

n2=());

n=n1/n2;

(n));

("/");

}

catch(NumberFormatException ee)

{ ("请输入数字字符");

}

}

validate();

}

}

5. import .*;

import .*;

public class E {

public static void main(String args[]){ Window win = new Window();

("使用MVC结构");

(100,100,420,260);

}

}

class Window extends JFrame implements ActionListener {

Lader lader; rim());

double bottom = ().trim());

double height = ().trim());

(above) ;

(bottom);

(height);

double area = ();

("面积:"+area+"\n");

}

catch(Exception ex) {

("\n"+ex+"\n");

}

}

}

class Lader {

double above,bottom,height;

public double getArea() {

double area = (above+bottom)*height/;

return area;

}

public void setAbove(double a) {

above = a;

}

public void setBottom(double b) {

bottom = b;

}

public void setHeight(double c) {

height = c;

}

}

习题 16

1. import .*;

import .*;

import

import .*;

public class Xiti1 extends Applet implements ActionListener { TextField text1,text2;

Label label;

public void init()

{ text1=new TextField(10);

text2=new TextField(20);

Box box1=();

Box box2=();

Box boxV=();

(new Label("输入一个数回车确定:"));

(text1);

label=new Label("数的平方:");

(label);

(text2);

(box1);

(box2);

add(boxV);

(false);

(this);

}

public void actionPerformed(ActionEvent e) { String number=();

try{ double n=(number);

double m=n*n;

(n+"的平方:");

(""+m);

("");

validate();

}

catch(NumberFormatException exp)

{ (""+exp);

}

}

}

2.参照例子16-2即可

Java程序设计实例教程考试题

Java程序设计练习题 一、选择题 1、为使Java程序独立于平台,Java虚拟机把字节码与各个操作系统及硬件( A ) A)分开B)结合 C)联系D)融合 2、Java语言与C++语言相比,最突出的特点是( C ) A)面向对象B)高性能 C)跨平台D)有类库 3、下列Java源程序结构中前三种语句的次序,正确的是(D) A)import,package,public class B)import必为首,其他不限 C)public class,package,import D),import,public class 4、在JDK目录中,Java程序运行环境的根目录是( A ) A)bin B)demo C)lib D)jre 5、下列运算符中属于关系运算符的是(A ) A)== B).= C)+= D)-= 6、下列布尔变量定义中,正确并且规范的是( B ) A)BOOLEAN canceled=false; B)boolean canceled=false; C)boolean CANCELED=false; D)boolean canceled=FALSE; 7、下列关键字中可以表示常量的是( A ) A)final B)default C)private D)transient 8、下列运算符中,优先级最高的是( A ) A)++ B)+ C)* D)> 9、Java中的基本数据类型int在不同的操作系统平台的字长是( B ) A)不同的B)32位 C)64位D)16位

10、给一个short类型变量赋值的范围是( C ) A)-128 至 +127 B)-2147483648至 +2147483647 C)-32768至 +32767 D)-1000至 +1000 11、下列运算中属于跳转语句的是( D ) A)try B)catch C)finally D)break 12、switch语句中表达式(expression)的值不允许用的类型是( C ) A)byte B)int C)boolean D)char 13、下列语句中,可以作为无限循环语句的是( A ) A)for(;;) {} B)for(int i=0; i<10000;i++) {} C)while(false) {} D)do {} while(false) 14、下列语句中执行跳转功能的语句是( C ) A)for语句B)while语句 C)continue语句D)switch语句 15、下列表达式中,类型可以作为int型的是( C ) A)“abc”+”efg”B)“abc”+’efg’ C)‘a’+’b’D)3+”4” 17、数组中各个元素的数据类型是( A ) A)相同的B)不同的 C)部分相同的D)任意的 18、在Java语言中,被成为内存分配的运算符是( A ) A)new B)instance of C)[] D)() 19、接口中,除了抽象方法之外,还可以含有( B ) A)变量B)常量 C)成员方法D)构造方法 20、下列能表示字符串s1长度的是( A ) A)s1.length()B)s1.length C)s1.size D)s1.size() 21、StringBuffer类字符串对象的长度是( C ) A)固定B)必须小于16个字符 C)可变D)必须大于16个字符 22、构造方法名必须与______相同,它没有返回值,用户不能直接调用它,只能通过new调用。( A ) A)类名B)对象名 C)包名D)变量名 23、子类继承了父类的方法和状态,在子类中可以进行的操作是( D ) A)更换父类方法B)减少父类方法 C)减少父类变量D)添加方法 24、String、StingBuffer都是______类,都不能被继承。( C )

文件加密与解密—Java课程设计报告

JAVA课程设计题目:文件的加密与解密 姓名: 学号: 班级: 日期:

目录 一、设计思路 (3) 二、具体实现 (3) 三、运行调试与分析讨论 (8) 四、设计体会与小结 (11) 五、参考文献 (12) 六、附录 (12)

一、设计思路 自从Java技术出现以业,有关Java平台的安全性用由Java技术发展所引发的安全性问题,引起了越来越多的关注。目前,Java已经大量应用于各个领域,研究Java的安全性对于更好地利用Java具有深远的意义。使用Java的安全机制设计和实现安全系统更具有重要的应用价值。 本课程设计,主要实践Java安全中的JCE模块,包括密钥生成,Cipher对象初始化、加密模式、填充模式、底层算法参数传递,也涉及文件读写与对象输入输出流。 二、具体实现 本系统通过用户界面接收三个参数:明文文件、密文文件、口令。采用DES加密算法,密码分组链(Cipher Block Chaining,CBC)加密模式,PKCS#5-Padding的分组填充算法。因为CBC涉及到底层算法参数的解密密钥的传递,所以将明文文件中的字节块以密封对象(Sealed Object)的方式加密后,用对象流输出到密文文件,这样就将密文、算法参数、解密密钥三都密封到一个对象中了。口令的hash值作为产生密钥的参数。设计流程图如下所示: 文件加密与解密设计流程图

本系统中,包含Default,Shares,SecretKey,EncAndDec四个包共6个类组成。定义的几个参数:MAX_BUF_SIZE为每次从文件中读取的字节数,也是内存缓冲区的大小;加密算法为DES;加密模式是密码分组链(CBC)模式;分组填充方式是PKCS#5Padding。包和类结构图如下所示: 本课程设计,包和类结构图: 以下为包中的类的方法实现说明 Package Shares类结构图

Java语言程序设计基础教程习题解答

《Java语言程序设计基础教程》练习思考题参考答案

第1章 Java程序设计概述 练习思考题 1、 Java运行平台包括三个版本,请选择正确的三项:() A. J2EE B. J2ME C. J2SE D. J2E 解答:A,B,C 2、 Java JDK中反编译工具是:() A. javac B. java C. jdb D. javap 解答:D 3、 public static void main方法的参数描述是:() A. String args[] B. String[] args C. Strings args[] D. String args 解答:A,B 4、在Java中,关于CLASSPATH环境变量的说法不正确的是:() A. CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B. 编译器用它来搜索各自的类文件。 C. CLASSPATH是一个目录列表。 D. 解释器用它来搜索各自的类文件。 解答:A 5、编译Java Application源文件将产生相应的字节码文件,扩展名为() A. .java B. .class C. .html D. .exe 解答:B 6、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。 7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。 8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生______个文件名与类名相同而扩展名为______的字节码文件。 9、开发与运行Java程序需要经过哪些主要步骤和过程? 10、Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎么样的? 11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。

Java程序设计与实践教程 王薇主编 答案

第1章JAVA简介 一、判断题 1.√ 2.√ 3.? 4.? 5.? 6.√ 7.√ 8.√ 9.? 10.? 二、填空题 1.Application Applet 2. 类(字节码文件、目标文件) .class 3.对象 4. 主 5. J2SE J2EE J2ME 三、选择题 1.B 2. D 3.B 4.B 5. A 四、简答题 1.参考答案 Java语言是简单的、面向对象的、分布式的、健壮的、安全的、体系结构中立的、可 移植的、编译解释型的、高性能的、多线程的、动态的等等。 2.参考答案 Java程序执行的具体过程如图1所示。 图1 Java程序的运行机制 3.参考答案 Java程序在计算机在执行要经历以下几个阶段: (1)使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境 (JCreater、Eclipse、MyEclipse等)编辑Java源文件,其文件扩展名为.java。 (2)通过编译使.java的文件生成一个同名的.class文件。 (3)通过解释方式将.class的字节码文件转变为由0和1组成的二进制指令执行。 在以上阶段中可以看出Java程序的执行包括了编译和解释两种方式。 第2章Java 语法基础 一、判断题

1. ? 2.√ 3. ? 4.? 5.? 二、填空题 1.10 2. 单精度双精度 3. n%13 !=0?false:true 4.接口 5. false 三、选择题 1.D 2. C 3.D 4.A 5. C 第3章程序流程控制 一、判断题 1.错误 2.? 3.? 4.? 5.√ 二、填空题 1.循环 2. if 3.case switch 4. while do-while 5. continue 三、选择题 1.D 2. C 3.C 4.B 5. C 第4章数组 一、判断题 1. ? 2. √ 3. √ 4. √ 5.? 二、填空题 1.类型 2. new 3.长度 4. 分配空间 5. 3 6 9 三、选择题 1.D 2. A 3.C 4.B 5. B 第5章类和对象 一、判断题 1.√ 2.√ 3.? 4.? 5.√ 6.? 7.√ 8.? 9.? 10.√ 11.√ 12.√ 13.? 14.? 15. ? 二、填空题 1.public default 2. class 属性方法 3.public static void main(String args[]){} 4. new

Java程序设计实用教程_习题解答

习题 1 1.James Gosling 2.需3个步骤: 1)用文本编辑器编写源文件 2)使用Java编译器(javac.exe)编译源文件,得到字节码文件。 3)使用java解释器(java.exe)来解释执行字节码文件。 3.D:\JDK 1) 设置path 对于Windows 2000/2003/XP,右键单击“我的电脑”,在弹出的快捷菜单中选择“属性”,弹出“系统特性”对话框,再单击该对话框中的“高级选项”,然后单击“环境变量”按钮,添加系统环境变量path。如果曾经设置过环境变量path,可单击该变量进行编辑操作,将需要的值d:\jdk\bin加入即可(注意:修改系统环境变量path后要重新打开DOS窗口编译)。或在DOS窗口输入命令行: set path=d:\jdk\bin(注意:用此方法修改环境变量每次打开DOS窗口都需要输入该命令行重新进行设置)。 2) 设置classpath 对于Windows 2000/2003/XP,右键单击“我的电脑”,在弹出的快捷菜单中选择“属性”,弹出“系统特性”对话框,再单击该对话框中的“高级选项”,然后单击“环境变量”按钮,添加系统环境变量classpath。如果曾经设置过环境变量classpath,可单击该变量进行编辑操作,将需要的值d:\jdk\jre\lib\rt.jar;.;加入即可。或在DOS窗口输入命令行: set classpath= d:\jdk\jre\lib\rt.jar;.;。 4.(B)javac 5.Java源文件的扩展名是”.java”,Java字节码的扩展名是”.class” 6.Java应用程序主类的main申明(D)public static void main(String args[])

JSP程序设计与项目实训教程_第2版_课后习题和参考答案

第1章Web技术简介 1.7 习题 1.7.1 选择题 1. Web技术的设想于哪一年提出()。 A.1954年 B.1969年 C.1989年 D.1990年 2. JSP页面在第一次运行时被JSP引擎转化为()。 A.HTML文件 B.CGI文件 C.CSS文件 D.Servlet文件 3. JavaEE体系中Web层技术是()。 A.HTML B.JavaBean C.EJB D.JSP 参考答案:1.C 2.D 3.D 1.7.2 填空题 1.当前主流的三大动态Web开发技术是:PHP、ASP/https://www.360docs.net/doc/e616786458.html,和______________。 2. JSP的两种体系结构是:______________和______________。 3. JSP开发Web站点的主要方式有:直接JSP、JSP+JavaBean、______________、______________和SSH。 参考答案: 1.JSP 2.JSP Model1和JSP Model2 3.JSP+JavaBean+Servlet、J2EE/JavaEE 1.7.3 简答题 1. 简述JSP的工作原理。 答:所有的JSP应用程序在首次载入时都被翻译成Servlet文件,然后再运行,这个工作主要是由JSP引擎来完成。当第一次运行一个JSP页面时,JSP引擎要完成以下操作: ●将JSP文件翻译成Servlet文件,Servlet文件是Java应用程序。 ●JSP引擎调用Java编译器,编译Servlet文件得到可执行的代码文件(.class文件)。 ●JSP引擎调用Java虚拟机解释执行.class文件,并将运行结果返回给服务器。 ●服务器将运行结果以HTML形式作为响应返回给客户端的浏览器。 由于一个JSP页面在第一次被访问时要经过翻译、编译和执行这几个步骤,所以客户端得到响应所需要的时间比较长。当该页面再次被访问时,它对应的.class文件已经生成,不需要再次翻译和编译,JSP引擎可以直接执行.class文件,因此JSP页面的访问速度会大为提高。 2. 简述JSP两种体系结构。

Java课程设计报告

湖北大学 本科课程设计 题目 ATM 自助机模拟程序姓名 学号 专业年级 指导教师 职称

目录 第一章系统描述 (2) 1 前言 (2) 2 系统功能需求 (2) 第二章系统分析与设计 (3) 1 功能模块划分 (3) 2 功能模块的描述 (3) 3 系统设计流程图 (4) 4 测试数据及期望结果 (6) 第三章系统详细设计 (7) 1 主界面开发设计 (7) 2 功能选择界面开发设计 (7) 3 取款界面开发设计 (7) 4 存款界面开发设计 (8) 5 转账界面开发设计 (8) 6 查询界面开发设计 (9) 7 修改密码界面开发设计 (9) 8 界面开发设计使用函数 (9) 第四章系统测试 (11) 第五章源程序部分清单 (21) 第六章实验心得 (30) 参考文献 (31)

第一章系统描述 1 前言 Java技术是一门简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言,它也是一个平台,它基于Java虚拟机技术,借助这个东西建立了跨平台的优势。Java编程语言与众不同之处在于:Java程序既是编译型的,又是解释型的。 Java平台是一种纯软件平台,它有三个版本Java SE、Java EE、Java ME。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 本课程设计采用Eclipse作为开发工具,并采用Window Builder下的SWT Designer来实现相应的功能。着重通过模拟实现当前非常快捷又使用的ATM机来加深对java开发设计的了解,从而进一步提高自己对java图像界面的设计及相关知识的认识。 2 系统功能需求 当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM 柜员机系统,用户可以按照以下规则进行: (1)查询余额:初始余额为10000元。 (2)ATM取款:每次取款金额为100的倍数,一次取款不能超过1000,总额不 超过5000元,支取金额不允许透支,有快捷取款和用户自定义取款。 (3)ATM存款:每次存款金额为100的倍数,一次存款不能超过1000,不能出 现负存款。 (4)ATM转账:只有在两次输入账号相同且输入转账金额正确的情况下才允许 转账,不允许透支。 (5)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只 有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

JAVA-课程设计报告

《JA V A程序设计》 课程设计报告 设计题目:学生信息管理系统学院名称:信息工程学院 专业班级:13计本1 姓名: 学号:

目录 一需求分析。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 二概要设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 三详细设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 3.1 数据库设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 3.2 模块及窗体设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 3.2.1 数据库模块设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 3.2.2 用户登录识别模块。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。5 3.2.3用户信息管理模块。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。6 (1)密码修改。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。6 (2)用户信息添加和删除。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。8 3.2.4 学生息管理模块。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。10 (1)添加信息。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。10 (2)信息查看。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。11 (3)信息修改。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。12 (4)删除信息。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。14 3.2.5 系统管理模块。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。15 3.2.6 主窗体菜单设计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。15 四软件测试。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。15 五总结。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。15 参考资料:.......................................................17

JAVA程序设计教程(第七版)第四章

Copyright ?2012 Pearson Education, Inc. Chapter 4Writing Classes Java Software Solutions Foundations of Program Design Seventh Edition John Lewis William Loftus Writing Classes ?We've been using predefined classes from the Java API. Now we will learn to write our own classes.?Chapter 4 focuses on: –class definitions –instance data –encapsulation and Java modifiers –method declaration and parameter passing –constructors –graphical objects –events and listeners – buttons and text fields Copyright ?2012 Pearson Education, Inc. Outline Anatomy of a Class Encapsulation Anatomy of a Method Graphical Objects Graphical User Interfaces Buttons and Text Fields Copyright ?2012 Pearson Education, Inc. Writing Classes ?The programs we’ve written in previous examples have used classes defined in the Java standard class library ?Now we will begin to design programs that rely on classes that we write ourselves ?The class that contains the main method is just the starting point of a program ?True object-oriented programming is based on defining classes that represent objects with well-defined characteristics and functionality Copyright ?2012 Pearson Education, Inc. Examples of Classes Copyright ?2012 Pearson Education, Inc. Classes and Objects ?Recall from our overview of objects in Chapter 1 that an object has state and behavior ?Consider a six-sided die (singular of dice) –It’s state can be defined as which face is showing –It’s primary behavior is that it can be rolled ?We represent a die by designing a class called Die that models this state and behavior –The class serves as the blueprint for a die object ?We can then instantiate as many die objects as we need for any particular program Copyright ?2012 Pearson Education, Inc.

JAVA课程设计报告

计算机科学技术与工程系 《Java课程设计》 课 程 设 计 报 告 题目:简易媒体播放器 班级:0633081 姓名:063308123郭伟 063308164张志朋 063308125靳浩兵063308168周小晨指导教师:陈红军、赵军民 设计日期:2010.01.11-15 专业:计算机网络技术

目录 1 、引言................................ 错误!未定义书签。 2 、设计依据 ........................... 3错误!未定义书签。 2.1设计平台 ..............................................................错误!未定义书签。 2.2设计思想 ..............................................................错误!未定义书签。 3、主要框架图、......................... 错误!未定义书签。 4、详细设计 (4) 5 、软件调试分析......................... 错误!未定义书签。 6 、源程序代码.......................... 6错误!未定义书签。 7、执行结果 (15) 8、学习心得 ........................... 15错误!未定义书签。 9、参考文献 ........................... 16错误!未定义书签。

1、引言: 旨在考察在经过一个学期的学习,对JA V A知识的理解与应用。同时把所学的理论知识用于实战编程,进而培养同学们的动手能力和团结协作的团队意识。综合应用java语言的相关知识,独立设计中型的Java应用程序。通过本课程设计,使学生巩固《JA V A课程设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手能力,闯过编程关。 2、设计依据: 1、设计平台 Eclipse是开发源码项目,由于其开放源码,任何人都可以免费使用,并可以在此基础上开发各自的插件,eclipse不只作为一个JA V A IDE的开发平台,而且是作为一个平台框架,各种各样的插件都可以安装在它上面,从而形成各种各样的工具,它有开源软件,使用插件功能,可以完成比较复杂的开发等优点。此Java程序设计就是在Eclipse环境平台下开发的。 Java API文档: Java API文档包含了Java的大部分类,方面查询不熟悉的类,所以它是一款不错的帮助文档! 2、设计思想 根据一学期对JA V A知识的学习,在Eclipse平台下,导入JMF包通过不断查询API 文档,编写媒体播放器在现有类的基础上组织一个新类。有时,我们也将组织称作“包含”关系。播放器主要针对面向对象,并且实现序列化接口,多线程等知识。 对象的组织具有极大的灵活性。新类的“成员对象”通常设为“私有”(Private),使用这个类的客户程序员不能访问它们。这样一来,我们可在不干扰客户代码的前提下,从容地修改那些成员。也可以在“运行期”更改成员,这进一步增大了灵活性。后面要讲到的“继承”并不具备这种灵活性,因为编译器必须对通过继承创建的类加以限制。 由于继承的重要性,所以在面向对象的程序设计中,它经常被重点强调。作为新加入这一领域的程序员,或许早已先入为主地认为“继承应当随处可见”。沿这种思路产生的设计将是非常笨拙的,会大大增加程序的复杂程度。相反,新建类的时候,首先应考虑“组织”对象;这样做显得更加简单和灵活。利用对象的组织,我们的设计可保持清爽。一旦需要用到继承,就会明显意识到这一点。 3、程序主要框架图

3《JAVA程序设计任务驱动式教程 》习题答案1

(1)下载并安装SDK软件包,尝试查看其中的JDK文档。 (2)简述Java虚拟机的概念,并说明Java虚拟机同Java的跨平台特性之间的关系。 答:Java虚拟机(Java Virtual Machine,JVM)是在一台计算机上用软件模拟也可以用硬件来实现的假想的计算机。是软件模拟的计算机,它可以在任何处理器上(无论是在计算机中还是在其他电子设备中)安全兼容地执行保存在.class文件中的字节码。字节码的运行要经过三个步骤:加载代码、校验代码和执行代码。Java程序并不是在本机操作系统上直接运行,而是通过Java虚拟机向本机操作系统进行解释来运行。这就是说,任何安装有Java虚拟机的计算机系统都可以运行Java程序,而不论最初开发应用程序的是何种计算机系统。 首先,JAVA编译器在获取JAVA应用程序的源代码后,把它编译成符合JAVA虚拟机规范的字节码class文件(class文件是JVM中可执行文件的格式)。JAVA虚拟规范为不同的硬件平台提供了不同的编译代码规范,该规范使JAVA软件独立于平台。然后,JAVA解释器负责将JAVA字节码文件解释运行,为了提高运行速度,JAVA提供了另一种解释运行方法JIT,可以一次解释完,再运行特定平台上的机器码,这样就实现了跨平台、可移植的功能。 (3)使用JDK开发Java程序时,一般要设置环境变量,请说明WINDOWS系统环境下如何设置其环境变量,及各变量的作用。 答:在安装完JDK之后不能立刻使用,还需要设置环境变量。设置环境变量的目的在于让系统自动查找所需的命令。其具体步骤如下: 1)右击“我的电脑”,在弹出的快捷菜单中选择“属性”选项。 2)在“系统属性”对话框中,选择“高级”选项卡,单击“环境变量”按钮,将会弹出如图1-6所示的对话框。在该对话框中可以设置只有当前用户登录时才有效的用户变量,也可以设置该系统的所有用户登录时都有效的系统变量。 3)单击“系统变量”选项组下的“新建”按钮,打开“新建系统变量”对话框。 4)在“变量名”文本框中输入JAVA_HOME,在“变量值”文本框中输入JDK的安装位置,例如:C:\Program Files\Java\jdk1.6。 5)再次单击“系统变量”选项组下的“新建”按钮,打开“新建系统变量”对话框。在“变量名”文本框中输入PATH,在“变量值”文本框中输入C:\Program Files\Java\jdk1.6.0_19\bin,如图1-7所示。注意和前面的值用“;”隔开。单击确定按钮即可完成JDK相关环境变量的设置。 6)最后一个是CLASSPATH。Java虚拟机会根据CLASSPATH的设定来搜索class文件所在目录,但这不是必需的,设置它是为了在控制台环境中能够方便地运行Java程序。方法同上,在“变量名”文本框中输入CLASSPATH,在“变量值”文本框中输入C:\Program Files\Java\ jdk1.6.0_19\lib\tools.jar。 7)安装好JDK之后,选择“开始”→“运行”命令,在文本框中输入cmd命令后打开DOS窗口。分别输入Javac和Java命令,如果能看到如图1-8和图1-9所示的提示信息,则说明安装正确,否则需要重新设置环境变量。 各变量的作用: 1)配置JAVA_HOME变量的作用:JAVA_HOME路径下包括lib,bin,jre等文件夹,以后配置tomcat,eclipse等java开发软件可能需要依赖此变量。 2)配置Path的作用:Path使系统可以在任何路径下识别java命令。 3)配置CLASSPATH变量的作用:为系统指明java加载类(class or lib)的路径。 (4)简述Java的体系结构。 答:完整的Java体系结构实际上是由4个相关技术组合而成:

JavaWeb程序设计教程课后练习答案

第1章 Web应用开发简介 习题答案 1.Web在组成上包括______和______两部分。 答案: 服务器 客户端 2.谈谈对面向对象的认识。 答案: 面向对象将将要解决的问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙解决问题中的各个步骤中的行为。面向对象编程方式是建立在面向过程编程方式基础上,其最重要的改变在于面向对象编程中,程序将围绕被操作的对象来设计,而不是操作本身。面向对象编程方式以类作为构造程序的基本单位,具有封装、抽象、继承、多态性等特点。 3.介绍几种常用的框架技术。 答案: Java中常用的框架。 1.Struts Struts是Apache 基金会Jakarta 项目组的一个开源项目,是一个基于Sun J2EE平台的MVC框架,它将Servlet和JSP标签作为实现自身功能的一部分。 2.WebWork WebWork是由OpenSymphony组织开发的,是一个基于Web的MVC框架。它在运行时通过Interceptor(拦截器)自动应用,因此脱离了Action类。 3.Struts 2 Struts 2是Apache基金会的一个开源项目,它建立在Struts框架与WebWork框架基础之上,继承了二者的优点,是目前非常流行的一个Web框架。 4.Spring Spring是一个以IoC和AOP为核心的轻量级容器框架。它提供了一系列的Java EE开发解决方案,包括表示层的Spring MVC、持久层的Spring JDBC以及业务层事务管理等众

多的企业级应用技术。 5.Hibernate Hibernate是一个ORM(对象关系映射)框架,它对JDBC进行了轻量级的封装。通过使用Hibernate框架,开发人员能够以面向对象的思维方式来操作数据库。 6.Ibatis 相对于Hibernate而言,Ibatis是一个“半自动化”的ORM实现框架,它主要致力于POJO与SQL之间的映射关系,是对“全自动化”ORM框架的一种有益补充。 7.EasyJWeb EasyJWeb是一个核心基于模板技术实现的MVC框架,主要致力于Java Web应用程序的快速开发。 4.IDE的用途是什么? 答案: IDE是一种用于辅助开发人员开发应用程序的应用软件,它一般包括代码编辑器、编译器、调试器和图形用户界面工具,有的还包括版本控制系统、性能分析器等更多工具,因此IDE也就具有了编写、编译、调试等多种功能。正是基于这些功能,使用IDE能够减少项目的开发周期,减轻程序员的工作量,提高应用程序的开发效率等。 5.Web应用服务器的用途是什么? Web应用服务器是为创建、部署、运行以及管理Web应用提供多种运行时服务(如事务、安全等等)的分布式系统,它是应用程序运行的一个基本环境。

《Java程序设计实用教程(第4版)习题解答与实验指导》第1~8章

Java程序设计实用教程 (第4版) 习题解答与实验指导 叶核亚编著 2013年11月

目录 “Java程序设计”课程教学要求 (1) 第1章Java概述 (3) 第2章Java语言基础···········································································错误!未定义书签。第3章类的封装、继承和多态······························································错误!未定义书签。第4章接口、内部类和Java API基础·················································错误!未定义书签。第5章异常处理····················································································错误!未定义书签。第6章图形用户界面·············································································错误!未定义书签。第7章多线程························································································错误!未定义书签。第8章输入/输出流和文件操作·····························································错误!未定义书签。

JAVA程序设计实用教程课后习题简答(第3版)

第1章Java 概述 1.Java具有那些适合在Internet环境中的特点? 【答】简单性和完全面向对象,平台无关性,安全性和可靠性,多线程,高效的网络编程。 2.Java保留、放弃了C/C++语言中哪些语法和面向对象机制?为什么需要这样做?【答】在语法规则方面,Java语言放弃了全程变量、goto语句、宏定义、全局函数以及结构、联合和指针数据类型,使Java语言更简单、更精练。 在面向对象概念方面,Java语言放弃了多元继承、友元类和运算符重载,采用“单重继承+接口”的方式代替多重继承,提供语言级的内存自动管理和异常处理方式,使Java语言更健壮、更安全、更高效。 3.Java对原程序文件的命名规则有什么要求?源程序文件编译后生成什么文件? 【答】要求:源程序文件与类同名,文件扩展名为.java;编译后生成字节码文件(*.class)。 4.Java程序的运行机制是怎样的?与C++或其他语言有什么不同? 【答】Java的每一个类都有一个class文件和它对应,Java在程序的启动的时候将程序运行需要用到的类加载到虚拟机中,根据Java的虚拟机规范进行连接(动态连接),程序的组装是在运行的时候完成的 C++和其他的编译型的语言一样,它的程序的组装方式是一种传统的组装方式。C++在编译的时候生成适用于某一平台的二进制代码,在连接的时候找到需要调用的库,然后将这些库中的代码连接进可执行程序之中,生成的可执行程序运行速度非常的快,但是可执行代码已经变成了一个整体,不可能再分开 5.什么是平台无关性?Java是怎样实现平台无关性的? 【答】平台无关性即Java程序的运行不依赖于操作系统。Java采用虚拟机技术实现平台无关性。程序由虚拟机解释执行,不同的操作系统上运行不同版本的Java虚拟机。 6.Java应用程序由哪两种形式?他们的运行方式有什么不同? 【答】Application和applet两种形式,其中application是能够独立运行的应用程序,既可以以DOS的命令方式运行,也可以以图形用户界面方式运行。Applet是可以嵌入页面的最小应用程序,不能独立运行,必须嵌入超文本中,由浏览器显示运行。 7.什么是解释执行?Java怎样解释执行两种应用程序? 【答】解释执行即将字节码解释成本地机器码并执行。 Java源程序文件经编译后生成字节码文件,若是application应用程序,则将字节码文件交由Java解释器解释执行,最后在windows操作系统上运行。若是applet应用程序,则将字节码文件嵌入超文本文件并下载到web浏览器上,最后由windows操作系统中的Java虚拟机运行。 8.作为一个软件开发人员,应该具备那些基础知识用以开发windows应用程序? 【答】略

JAVA语言程序设计课程设计报告模板及范文

设计题目:仿Windows画笔系统设计专业:计算机科学与技术 班级: 学号: 姓名: 2015 年7月

中文摘要 摘要:随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 JAVA是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,是目前软件设计中极为健壮的编程语言。JAVA不仅可以用来开发大型的应用程序。而且特别适合Internet的应用开发。JAVA确实具备“一次写成,处处运行”的特点,JAVA以成为网络时代最重要的编程语言之一。本报告中介绍了用JAVA语言实现画笔系统的全部过程。 本次课程设计是配合JAVA程序设计课程,帮助我们深入学习掌握JAVA语言,熟练运用这个工具来编写的。通过课程设计各个项目的综合训练,培养学生实际分析问题、编程和动手能力、提高学生的综合素质。本课程设计尝试使用一些较生动的示例和设计项目,激发学生学习兴趣,引导学生主动学习,正确理解、接受需要重点掌握的知识点,为参加项目开发及更深入学习做好准备。 本次课程设计主要是用JAVA实现画笔系统,其系统主要完成以下功能:设计一个画图程序,能够实现画笔、画直线、画圆形、画矩形的功能,并且在绘图。过程中能够修改该画笔的大小以及颜色。该画图程序还需具有橡皮擦功能以及清空整个画面的功能 关键词:画笔系统,JA V A

目录 中文摘要 (2) 目录 (3) 1.绪论 (4) 2. 开发环境介绍 (4) 3.需求分析 (5) 3.1总体目标 (5) 3.2要实现的功能 (6) 4.概要设计 (6) 4.1设计准备 (6) 4.2需用到的类 (7) 5.详细设计 (7) 5.1类的设计 (7) 5.2类的方法介绍 (8) 6.测试数据及运行结果 (10) 7.总结 (11) 8.参考文献 (11) 9.源程序 (12)

java程序设计实用教程第版课后答案

第一章 1.Java具有那些适合在Internet环境中的特点 【答】简单性和完全面向对象,平台无关性,安全性和可靠性,多线程,高效的网络编程。 2.Java保留、放弃了C/C++语言中哪些语法和面向对象机制为什么需要这样做【答】在语法规则方面,Java语言放弃了全程变量、goto语句、宏定义、全局函数以及结构、联合和指针数据类型,使Java语言更简单、更精练。 在面向对象概念方面,Java语言放弃了多元继承、友元类和运算符重载,采用“单重继承+接口”的方式代替多重继承,提供语言级的内存自动管理和异常处理方式,使Java语言更健壮、更安全、更高效。 3.Java对原程序文件的命名规则有什么要求源程序文件编译后生成什么文件【答】要求:源程序文件与类同名,文件扩展名为.java;编译后生成字节码文件(*.class)。 4.Java程序的运行机制是怎样的与C++或其他语言有什么不同 【答】Java的每一个类都有一个class文件和它对应,Java在程序的启动的时候将程序运行需要用到的类加载到虚拟机中,根据Java的虚拟机规范进行连接(动态连接),程序的组装是在运行的时候完成的 C++和其他的编译型的语言一样,它的程序的组装方式是一种传统的组装方式。C++在编译的时候生成适用于某一平台的二进制代码,在连接的时候找到需要调用的库,然后将这些库中的代码连接进可执行程序之中,生成的可执行程序运行速度非常的快,但是可执行代码已经变成了一个整体,不可能再分开 5.什么是平台无关性Java是怎样实现平台无关性的 【答】平台无关性即Java程序的运行不依赖于操作系统。Java采用虚拟机技术实现平台无关性。程序由虚拟机解释执行,不同的操作系统上运行不同版本的Java 虚拟机。 6.Java应用程序由哪两种形式他们的运行方式有什么不同 【答】Application和applet两种形式,其中application是能够独立运行的应用程序,既可以以DOS的命令方式运行,也可以以图形用户界面方式运行。Applet 是可以嵌入页面的最小应用程序,不能独立运行,必须嵌入超文本中,由浏览器显示运行。 7.什么是解释执行Java怎样解释执行两种应用程序 【答】解释执行即将字节码解释成本地机器码并执行。 Java源程序文件经编译后生成字节码文件,若是application应用程序,则将字节码文件交由Java解释器解释执行,最后在windows操作系统上运行。若是applet应用程序,则将字节码文件嵌入超文本文件并下载到web浏览器上,最后由windows操作系统中的Java虚拟机运行。 8.作为一个软件开发人员,应该具备那些基础知识用以开发windows应用程序【答】略

相关文档
最新文档