当前位置:文档之家› Java2实用教程习题答案__第三版__清华大学出版社

Java2实用教程习题答案__第三版__清华大学出版社

Java2实用教程习题答案__第三版__清华大学出版社
Java2实用教程习题答案__第三版__清华大学出版社

Java2实用教程(第三版)

课后习题参考答案

第1章 Java入门

1. 开发与运行Java程序需要经过哪些主要步骤和过程?

答:(1)编写Java源文件:使用文本编辑器(Edit或记事本),拓展名为.java (2)编译Java源文件:使用Java编译器(javac.exe)。得到字节码文件*.class (3)运行Java程序:Java应用程序使用Java解释器(java.exe)执行字节码文件;

Java小应用程序使用支持Java标准的浏览器来执行。

2. 怎样区分应用程序和小应用程序?应用程序的主类或小应用程序的主类必

须用public修饰吗?

答:①应用程序必须有main方法,这个方法是程序执行的入口。

小应用程序没有main方法。

②应用程序的主类不一定用public修饰;小应用程序的主类必须用public修饰。

3. Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎样的?

答:①Java程序由类组成。

②应用程序可以没有public类;小应用程序一定有一个类是public类(主类)。

③应用程序:如果只有一个类,源文件名与该类的类名相同,拓展名为.java;有多个类时,如果有public类(最多一个),源文件名与public类的类

名相同,拓展名是.java;没有public类,源文件名与任何一个类的类名

相同即可,拓展名为.java。

小应用程序:源文件名与主类的类名相同,拓展名是.java。

4. 在运行小程序的HTML文件中可以使用codebase属性指定小程序的字节码所

驻留的目录。如果不使用codebase属性,小程序的字节码文件必须和运行它的HTML文件在同一目录中。编写一个小程序并将小程序的字节码存放在某个目录中,比如C:\5000;把运行该小程序的HTML文件(注意其中的codebase属性):

存放在另一个目录中。

答:以书中小应用程序为例进行说明:

①编写Java小应用程序源代码

import java.applet.*;

import java.awt.*;

public class Boy extends Applet

{

public void paint(Graphics g)

{

g.setColor(Color.red);

g.drawString("我一边喝着咖啡,一边学Java呢",5,30);

g.setColor(Color.blue);

g.drawString("我学得很认真",10,50);

}

}

②将上述代码命名为Boy.java并进行编译得到Boy.class字节码文件;将得到的字节码文件存放在

C:\5000文件夹下;

③编写小应用程序的HTML源文件:

④将上述编写好的代码命名为Boy.html;并将此文件存放在C:\5000文件夹以外的任意一个文件夹中(如C:\1000);

⑤运行Boy.html。

第2章标识符、关键字和数据类型

1. 什么叫标识符?标识符的规则是什么?

答:①用来标识类名、变量名、、方法名、类型名、数组名、文件名的有效字符序列。

②由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符,而且关键字不能作为标识符。

2. 什么叫关键字?请说出5个关键字。

答:①Java语言中已经被赋予特定意义的一些单词。

②class break public return static extends等。

3. Java的基本数据类型都是什么?

答:boolean(逻辑型) char(字符型) float、double(浮点型) byte、short、int、long(整型)。

4. 下列哪些语句是错误的:

int x = 8;

byte b = 127;

b = x;

答:b=x语句错误;原因是高级别的变量赋值给低级别的变量时,一定要用显式转换即b=(byte)x; 。

5. 下列程序的输出结果是什么?

public class E

{

public static void main(String args[])

{

long[] a={1,2,3,4};

long[] b={100,200,300,400,500};

b=a;

System.out.println("数组b的长度:"+b.length);

System.out.println("b[0]="+b[0]);

}

}

答: 数组b的长度:4

b[0]=1

6. 上机运行下列程序,注意观察输出结果。

public class E

{

public static void main(String args[])

{

for(int i=20302;i<20322;i++)

{

System.out.println((char)i);

}

}

}

答: 低住佐佑佒体佔何佖佗佘余佚佛作佝佞佟你佡

7. System.out.println(“你好”);可输出字符串,也可以使用

System.out.println( )输出变量或表达式的值,只需使用并置符号“+”将变量、表达式或一个常数值与一个字符串并置即可,如: System.out.println(“”+x);System.out.println(“:”+123+“大于”+122);等。上机调试下列程序,注意观察结果,特别注意System.out.print( )和System.out.println( )的区别。

public class OutputData

{

public static void main(String args[])

{

int x=234,y=432;

System.out.println(x+"<"+(2*x));

System.out.print("我输出结果后不回车");

System.out.println("我输出结果后自动回车到下一行");

System.out.println("x+y= "+(x+y));

System.out.println(" "+x+y+"=234432");

}

}

答: 234<468

我输出结果后不回车我输出结果后自动回车到下一行

x+y= 666

234432=234432

8. 编写一个Java应用程序,输出全部的希腊字母。

答:

public class XLWords

{

public static void main(String args[])

{

for(int i=913;i<930;i++)

{

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

}

for(int j=931;j<938;j++)

{

System.out.print((char)j+" ");

}

for(int k=945;k<962;k++)

{

System.out.print((char)k+" ");

}

for(int t=963;t<=969;t++)

{

System.out.print((char)t+" ");

}

}

}

第3章运算符、表达式和语句

1. 下列程序的输出结果是什么?

public class E

{

public static void main(String args[]) {

char x='你',y='e',z='吃';

if(x>'A')

{

y='爱';

z='情';

}

else

y='我';

z='她';

System.out.println(" "+x+y+z);

}

}

答: 你爱她

2. 下列程序的输出结果是什么?

public class E3

{

public static void main(String args[]) {

char c='\0';

for(int i=1;i<=4;i++)

{

switch(i)

{

case 1:c='b';

System.out.print(c);

case 2:c='e';

System.out.print(c);

break;

case 3:c='p';

System.out.print(c);

default:

System.out.print("!");

}

}

}

}

答:beep!!

3. 编写应用程序,求1!+2!+…+10!。

答:

class Fact

{

public static void main(String args[])

{

int fact,sum=0;

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

{

fact=1;

for(int j=1;j<=i;j++)

fact*=j;

sum+=fact;

}

System.out.println("1到10的阶乘之和是:"+sum); }

}

4. 编写一个应用程序,求100以内的全部素数。答:

class Primes

{

public static void main(String args[])

{

int w=1;

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

{

for(int j=2;j

{

w=i%j;

if(w==0)

break;

}

if(w!=0)

System.out.println(i+"是素数");

}

}

}

5. 分别用do―while和for循环计算1+1/2!+1/3!+1/4!+…的前20项和。答: ①for循环

class Sum

{

public static void main(String args[])

{

int fact;

double sum=0;

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

{

fact=1;

for(int j=1;j<=i;j++)

fact*=j;

sum+=1.0/fact;

}

System.out.println(sum);

}

}

②do―while循环

class Sum

{

public static void main(String args[])

{

int i=1;

int fact;

double sum=0;

do

{

fact=1;

int j=0;

while(++j<=i)

fact*=j;

sum+=1.0/fact;

}

while(++i<=20);

System.out.println(sum);

}

}

6. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。编写应用程序,求1000之内的所有完数。

答:

class Wanshu

{

public static void main(String args[])

{

int x,i,sum;

for(x=1;x<=1000;x++)

{

sum=0;

for(i=1;i

{

if(x%i==0)

sum+=i;

}

if(x==sum)

System.out.println(x+"是完数");

}

}

}

7. 编写应用程序,分别使用while和for循环计算8+88+888+…前10项之和。答: ①for循环

class TheSum

{

public static void main(String args[])

{

long sum=0,data=8;

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

{

sum=sum+data;

data=data*10+8;

}

System.out.println(sum);

}

}

②while循环

class TheSum

{

public static void main(String args[])

{

long sum=0,data=8,i=0;

while(++i<=10)

{

sum=sum+data;

data=data*10+8;

}

System.out.println(sum);

}

}

8. 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数n。

答:

class Maxn

{

public static void main(String args[])

{

int k=1,sum=0;

while((sum+=k)<8888)

k++;

k--;

System.out.println("最大能取到:"+k);

}

}

第4章类、对象和接口

1. 类中的实例变量在什么时候会被分配内存空间?

答: 当该类创建对象之后,实例变量才会被分配相应的内存空间。

2. 什么叫方法的重载?构造方法可以重载吗?

答:①一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同(方法的重载体现了多态性,即功能多态性)。

②构造方法可以重载。

3. 类中的实例方法可以操作类变量(static变量)吗?类方法(static方法)可

以操作实例变量吗?

答:①类中的实例方法可以操作类变量。

②类方法不可以操作实例变量

4. 类中的实例方法可以用类名直接调用吗?

答: 类中的实例方法不可以用类名直接调用。

5. 举例说明protected方法和友好方法的区别。

答: 当子类与父类不在同一个包中时,子类可以继承父类的protected方法;而友好方法此时则不能被子类继承。

6. 举例说明类变量和实例变量的区别。

答:⑴书写: 定义成员变量时,类变量有static修饰;实例变量没有static修饰。例: class A

{

int x; //实例变量

static int y; //类变量

}

⑵内存: 不创建对象,类的实例变量不会被分配内存空间;类变量被分配相应的内存空间。

不同对象的实例变量被分配不同的内存空间;不同对象的类变量被分配相同的内存空间。

任何一个对象改变类变量,其他对象的相应类变量也发生相应变化。

一个对象的实例变量发生改变,不影响其他对象的相应实例变量。

例: 执行语句: A1.x=10; A1.y=20;

这时A2.x的值也是10;而A2.y的值保持原来的初值。

⑶使用: 类变量可以被类方法操作;而实例变量不能被类方法操作。

例: class A

{

int x;

static int y;

static void func()

{

b=10; //合法

a=20; //非法

}

}

类变量可以通过类名访问;实例变量不能通过类名访问。

例: class A

{

int x;

static int y;

}

class B

{

public void func();

{

A.x=10; //非法

A.y=20; //合法

}

}

7. 子类将继承父类的哪些成员变量和方法?子类在什么情况下隐藏父类的成员变量和方法?在子类中是否允许有一个方法和父类的方法名字相同,而类型不同?

答:①子类和父类在同一个包中时,子类可以继承父类的除private属性的所有方法和成员变量,当子类与

父类不在同一个包中时,子类只能继承父类的protected和public属性的成员变量和方法。

②子类中定义的成员变量和父类中的成员变量同名时,子类就隐藏了继承的成员变量;子类中定义一个方法,并且这个方法的名字、返回类型、参数个数和

类型与从父类继承的方法完全相同,子类就隐藏从父类继承来的方法(方法的重写)。

③在子类中允许有一个方法和父类的方法名字相同而类型不同。

8. 父类的final方法可以被子类重写吗?

答: 父类的final方法不能被子类重写。

9. 什么类中可以有abstract方法?

答: abstract类中可以有abstract方法。

10.什么叫对象的上转型对象?

答: B类是A类的子类或间接子类,当用子类B创建一个对象b并把这个对象的引用放到A类的对象a中时,称A类对象a是子类对象b的上转型对象。

11.什么叫接口的回调?

答: 可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。

12.下列程序有什么错误?

public class Takecare

{

int a=90;

static float b=10.98f;

public static void main(String args[])

{

float c=a+b;

System.out.println("c="+c);

}

}

答: 语句float c=a+b;错误。原因是类方法main操作了实例变量a。

13. 请写出下列程序的输出结果。

class A

{

public int f(int x)

{

return x+1;

}

}

class B extends A

{

public int f(int x)

{

return x*x;

}

}

public class E

{

public static void main(String args[])

{

A a=new B();

int m=a.f(10);

System.out.println(m);

}

}

答: 100

14. 请写出下列程序的输出结果。

class A

{

int x;

public void setX(int x)

{

this.x=x;

}

int getX()

{

return x;

}

}

class B

{

public void f(A a)

{

a.setX(100);

}

}

public class E

{

public static void main(String args[])

{

A a=new A();

a.setX(8);

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

B b=new B();

b.f(a);

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

}

}

答: 8

100

15.使用接口有哪些注意事项?模仿例子4.27,编写一个类实现两个接口的程序。

答:①一个类使用接口时,要有implements关键字,当一个类使用多个接口时,接口名要用逗号“,”隔开;使用接口的类除abstract类外,必须实现接口的所有方法,并且实现接口的方法时,方法名字、返回类型、参数个数及类型必须与接口中的完全一致;类在实现接口时,方法体一定要用public修饰,如果接口方法的返回类型不是void型,在类中实现接口时,方法体至少有一个return 语句。

② interface 表面积

{

double allArea(double r);

}

interface 体积

{

double volu(double r);

}

class Sph implements 表面积,体积

{

double PI=3.14159;

public double allArea(double r)

{

return 4*PI*r*r;

}

public double volu(double r)

{

return 4.0/3*PI*r*r*r;

}

}

public class Test

{

public static void main(String args[])

{

double r=5.0;

Sph a=new Sph();

System.out.println("半径为5的球的表面积是:"+a.allArea(r));

System.out.println("半径为5的球的体积是:"+a.volu(r));

}

}

16.编写一个类A,该类创建的对象可以调用方法f输出英文字母表,然后再编写一个该类的子类B,要求子类B必须继承A类的方法f(不允许重写),子类创建的对象不仅可以调用方法f输出英文字母表,而且调用子类新增的方法g输出希腊字母表。

答: class A

{

int m;

void f()

{

for(m=65;m<91;m++)

System.out.print((char)m+" ");

for(m=97;m<123;m++)

System.out.print((char)m+" ");

System.out.println(" ");

}

}

class B extends A

{

int i;

void g()

{

for(i=913;i<930;i++)

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

for(i=931;i<938;i++)

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

for(i=945;i<962;i++)

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

for(i=963;i<970;i++)

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

System.out.println(" ");

}

}

public class Test

{

public static void main(String args[])

{

B b=new B();

System.out.println("我调用方法f输出英文字母表:");

b.f();

System.out.println("我调用方法g输出希腊字母表:");

b.g();

}

}

17.编写一个异常类MyException,再编写一个类Student,该类有一个产生异常的方法public void speak(int m) throws MyException,要求参数m的值大于1000时,方法抛出一个MyException对象。最后编写主类,在主类的main方法中用Student创建一个对象,让该对象调用speak方法。

答: class MyException extends Exception

{

String str1;

MyException(int m)

{

str1=m+"出现错误可能造成的原因是取值大于1000";

}

public void showStr1()

{

System.out.println(str1);

}

}

class Student

{

public void speak(int m) throws MyException

{

if(m>1000)

{

MyException exception=new MyException(m);

throw exception;

}

else

System.out.println(m);

}

}

public class Test

{

public static void main(String agrs[])

{

int m;

Student stu1=new Student();

m=987;

try

{

stu1.speak(m);

m=1234;

stu1.speak(m);

}

catch(MyException e)

{

e.showStr1();

}

}

}

18.编写一个类,该类有一个方法public int f(int a,int b),该方法返回a和b的最大公约数。然后再编写一个该类的子类,要求子类重写方法f,而且重写

的方法将返回a和b的最小公倍数。要求在重写的方法的方法体中首先调用被隐藏的方法返回a和b的最大公约数m,然后将乘积(a*b)/m返回。要求在应用程序的主类中分别使用父类和子类创建对象,并分别调用方法f计算两个正整数的最大公约数和最小公倍数。

答: class A

{

public int f(int a,int b)

{

if(a

{

int temp=0;

temp=a;

a=b;

b=temp;

}

int r=a%b;

while(r!=0)

{

a=b;

b=r;

r=a%b;

}

return b;

}

}

class B extends A

{

public int f(int a,int b)

{

int m;

m=super.f(a,b);

return (a*b)/m;

}

}

public class Test

{

public static void main(String args[])

{

A a=new A();

System.out.println("18和102的最大公约数是:"+a.f(18,102));

B b=new B();

System.out.println("18和102的最小公倍数是:"+b.f(18,102));

}

第5章字符串

1. 使用String类的public String toUpperCase()方法可以将一个字符串中的小写字母变成大写字母,使用public String toLowerCase()方法可以将一个字符串中的大写字母变成小写字母。编写一个程序,使用这两个方法实现大小写的转换。

答: class Test

{

public static void main(String args[])

{

String str="I can use Java";

System.out.println("要转换的字符串是:"+str);

String s=str.toUpperCase();

System.out.println("转换成大写字符串是:"+s);

s=str.toLowerCase();

System.out.println("转换成小写字符串是:"+s);

}

}

2. 使用String类的public String concat(String str)方法可以把调用该方法的字符串与参数指定的字符串连接,把str指定的串连接到当前串的尾部获得一个新的串。编写一个程序通过连接两个串得到一个新串,并输出这个新串。答: class Test

{

public static void main(String args[])

{

String str1="I can u";

String str2="se Java";

String s=str1.concat(str2);

System.out.println("将字符串"+str1+"与字符串"+str2+"连接后得到的新字符串是:");

System.out.println(s);

}

}

3. String类的public char charAt(int index)方法可以得到当前字符串index 位置上的一个字符。说出下列程序的输出结果。

public class E3

{

public static void main(String args[])

{

String s="中国科学技术大学";

char a=s.charAt(2),b=s.charAt(6);

System.out.print(a);

System.out.println(b);

}

答: 科大

4. 使用java.util包中的Arrays类的静态方法public static void sort(double a[])可以把参数a指定的double型数组按升序排序,使用java.util包中的Arrays类的静态方法public static void sort(double a[],int start,int end)可以把参数a指定的double型数组中从位置start到end-1位置的数按升序排序。写出下列程序的输出结果。

import java.util.*;

public class E4

{

public static void main(String args[])

{

int a[]={23,67,89,90,-987};

double b[]={12.89,90.87,34,678.987,-98.78,0.89};

Arrays.sort(a);

Arrays.sort(b,1,4);

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

{

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

}

for(int i=0;i

{

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

}

}

}

答: -987,23,67,89,90,12.89,34.0,90.87,678.987,-98.78,0.89,

5. 使用https://www.doczj.com/doc/1b12987445.html,ng包中System类的静态方法arraycopy可以实现数组的快速复制,上机实习下列程序,并总结出arraycopy方法参数的使用规则。

public class ArrayCopy

{

public static void main(String args[])

{

char a1[]={'a','b','c','d','e','f'},b1[]={'1','2','3','4','5','6'}; System.arraycopy(a1,0,b1,1,a1.length-1);

System.out.println(new String(a1));

System.out.println(new String(b1));

byte a2[]={97,98,99,100,101,102},b2[]={65,67,68,69,70,71};

System.arraycopy(b2,0,a2,3,b2.length-3);

System.out.println(new String(a2));

System.out.println(new String(b2));

}

}

答:①运行结果:abcdef

1abcde

abcACD

ACDEFG

②arraycopy的方法是public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)。其中五个参数分别表示:

src - 被复制的数组

srcPos - 从第几个元素开始复制

dest - 要复制到的数组

destPos - 从第几个元素开始粘贴

length - 一共需要复制的元素个数

第6章时间、日期和数字

1. 用Data类不带参数的构造方法创建日期,要求日期的输出格式是:星期小时分秒。

答: import java.util.*;

import java.text.*;

class Test

{

public static void main(String args[])

{

Date 时间=new Date();

SimpleDateFormat s=new SimpleDateFormat("E HH时 mm分 ss秒"); System.out.println(s.format(时间));

}

}

2. 输出2006年2月的日历页,程序需处理闰年问题。

答: import java.util.*;

class Test

{

public static void main(String args[])

{

int year=2006,month=2;

int allDay;

if((year%4==0&&year%100!=0)||(year%400==0))

allDay=29;

else

allDay=28;

Calendar feb=Calendar.getInstance();

feb.set(2006,1,1);

int dat=feb.get(Calendar.DAY_OF_WEEK)-1;

String a[]=new String[dat+allDay];

for(int i=0;i

{

a[i]=" ";

}

for(int i=dat,n=1;i<(dat+allDay);i++)

{

if(n<=9)

a[i]=String.valueOf(n)+" ";

else

a[i]=String.valueOf(n)+" ";

n++;

}

System.out.println(" "+year+" 年 "+month+"月");

System.out.println("日一二三四五六");

for(int j=0;j

{

if(j%7==0)

{

System.out.println(" ");

}

System.out.print(a[j]);

}

}

}

3. 计算某年、某月、某日和某年、某月、某日之间的天数间隔。要求年、月、日通过main方法的参数传递到程序中。

答: import java.util.*;

class Test

{

public static void main(String args[])

{

Calendar c=Calendar.getInstance();

c.set(2000,0,1);

long time1=c.getTimeInMillis();

c.set(2008,7,8);

long time2=c.getTimeInMillis();

long dayCous=(time2-time1)/(1000*60*60*24);

System.out.println("2008年8月8日和2000年1月1日相隔"+dayCous+"天"); }

}

4. 编程练习 Math类的常用方法。

答: import java.text.*;

public class Test

{

public static void main(String args[])

{

double a=Math.abs(-10);

System.out.println("-10的绝对值是:"+a);

double maxNum=Math.max(123.456,-5.4321);

System.out.println("123.456与-5.4321中的最大值是:"+maxNum); double minNum=Math.min(123.456,-5.4321);

System.out.println("123.456与-5.4321中的最小值是:"+minNum); int randomNum=(int)(Math.random()*10)+1;

System.out.println("输出一个1到10的随机数是:"+randomNum); double powNum=Math.pow(2,10);

System.out.println("2的10次幂是:"+powNum);

double sqrtNum=Math.sqrt(10);

System.out.println("10的平方根是:"+sqrtNum);

double logNum=Math.log(2);

System.out.println("2的对数是:"+logNum);

double sinNum=Math.sin(-10);

System.out.println("-10的正弦值是:"+sinNum);

double asinNum=Math.asin(0.5);

System.out.println("0.5的反正弦值是:"+asinNum);

System.out.println("格式化之前的数是:"+sqrtNum); NumberFormat f=NumberFormat.getInstance();

f.setMaximumFractionDigits(10);

f.setMinimumIntegerDigits(4);

String s=f.format(sqrtNum);

System.out.println("格式化后:"+s);

}

}

5. 使用BigInteger类计算1!+3!+5!+7!+…的前30项的和。

答: import java.math.*;

public class Test

{

public static void main(String args[])

{

BigInteger sum=new BigInteger("0"),

jieCheng=new BigInteger("1"),

ONE=new BigInteger("1"),

i=ONE;

int k=0;

while(++k<=30)

{

sum=sum.add(jieCheng);

i=i.add(ONE);

jieCheng=jieCheng.multiply(i);

Java2实用教程(第5版)习题解答(活动za)

习题解答 习题(第章) 一、问答题 . .需个步骤: 1)用文本编辑器编写源文件。 2)使用编译源文件,得到字节码文件。 3)使用解释器运行程序。 .源文件由若干个类所构成。对于应用程序,必须有一个类含有( [])的方法,含有该方法的类称为应用程序的主类。不一定,但至多有一个类。 .:\\\\;.; .和 . .独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行)二、选择题 .。.。 三、阅读程序 .()。()两个字节码,分别是和。()得到“”,得到“: ”,得到“您好,很高兴认识您”习题(第章) 一、问答题 .用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。不是标识符。.关键字就是语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。和不是关键字。个关键字:。 .,,,,,,,。 .常量必须用或为后缀。常量用或为后缀,但允许省略后缀。 .一维数组名。二维数组名。 二、选择题 .。.。.。.。.【代码】【代码】【代码】【代码】。.。 三、阅读或调试程序 .属于操作题,解答略。

.属于操作题,解答略。.属于操作题,解答略。.【代码】:。【代码】:[]。.【代码】:。【代码】:四、编写程序 . { ( []) { (()'你'); (()'我'); (()'他'); } } . { ( [ ]) { 'α''ω'; ( <) (" "); } } 习题(第章) 一、问答题 . .不可以 . . 不是必须的 .结束语句的执行 .可以 二、选择题 .。.。.。 三、阅读程序 .你,苹,甜 .好好 . 四、编程序题 .{

Java2实用教程试题

课程代码:座位号: 新疆大学期末考试 《Java2实用教程》试卷 姓名:王多强 学号:20102006014专业:机械工程及自动化 第一部分选择题(共12分) 一、单项选择题(本大题共4小题,每题只有一个正确答案,答对一题得3分,共12分) 1、下面的代码段中,执行之后i 和j 的值是什么?【C 】 inti=1; intj; j=i++; A 、1,1 B 、1,2 C 、2,1 D 、2,2 2、已知如下的命令执行javaMyTestabc 【C 】 请问哪个语句是正确的? A 、args[0]="MyTestabc" B 、args[0]="MyTest" C 、args[0]="a"

D、args[2]='b' 3、以下哪个方法用于定义线程的执行体?【B】 A、start() B、init() C、run() D、main() 4、下面哪个函数是publicvoidexample(){...}的重载函数【A】 A、publicvoidexample(intm){...} B、publicintexample1(){...} C、publicvoidexample2(){...} D、以上都不对 第二部分非选择题(共88分) 二、名词解释(本大题3小题,每题4分,共12分。) 1、方法重载 答:方法重载就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法。 2、构造方法 答:在Java中,任何变量在被使用前都必须先设置初值.Java提供了为类的成员变量赋初值的专门方法即构造方法,它是一种特殊的成员方法。 3、多态 答:多态就是一个方法名可以通过不同参数(参数名,参数个数)来重复使用,表示不同的意思,即一个名字多种功能用法,分为通用的多态和特定的多态两种。

Java2实用教程(第5版)最新答案-耿祥义

Java2(第5版)最新答案耿祥义 第1章 一、问答题 1.James Gosling 2.需3个步骤: 1)用文本编辑器编写源文件。 2)使用javac编译源文件,得到字节码文件。 3)使用解释器运行程序。 3.由类所构成,应用程序必须有一个类含有public static void main(String args[])方法,含有该方法的类称为应用程序的主类。不一定,但最多有一个public类。 4.set classpath=D:\jdk\jre\lib\rt.jar;.; 5.java和class 6. java Bird 7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行) 二、选择题 1.B。2.D。 三、阅读程序 1.(a)Person.java。(b)两个字节码,分别是Person.class和Xiti.class。(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError: Xiti/class”,得到“您好,很高兴认识您nice to meet you” 第2章 一、问答题 1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false不是标识符。2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。不是关键字。class implements interface enum extends abstract。 3.boolean,char,byte,short,int,long,float,double。 4.float常量必须用F或f为后缀。double常量用D或d为后缀,但允许省略后缀。5.一维数组名.length。二维数组名.length。 二、选择题 1.C。2.ADF。3.B。4.BE。5.【代码2】【代码3】【代码4】【代码5】。6.B。 三、阅读或调试程序

Java2实用教程(第5版)习题解答

习题解答 习题1(第1 章) 一、问答题 1. James Gosling 2.需 3 个步骤: 1)用文本编辑器编写源文件。 2)使用 javac 编译源文件 ,得到字节码文件。 3)使用解释器运行程序。 3 .源文件由若干个类所构成。对于应用程序,必须有一个类含有 public static void main(String args[]) 的方法,含有该方法的类称为应用程序的主类。不一定,但至多有一个 public 类。 4. set classpath=D:\jdk\jre\lib\rt.jar;.; 5.java 和 class 6.java Bird 7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行) 二、选择题 1.B。 2. D。 三、阅读程序 1. ( a) Person.java。 ( b)两个字节码,分别是 Person.class 和 Xiti.class。 ( c)得到 “ NoSuchMethodError ”,得到“ NoClassDefFoundError: Xiti/class ”,得到“您好,很高兴认识您nice to meet you” 习题2(第2 章) 一、问答题 1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。 false 不是标识符。 2.关键字就是 Java 语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来 用。 true 和 false 不是关键字。 6 个关键字: class implements interface enum extends abstract。 3. boolean, char, byte, short, int, long, float, double。 4. float 常量必须用 F 或 f 为后缀。 double 常量用 D 或 d 为后缀,但允许省略后缀。 5.—维数组名.length。二维数组名.length。 二、选择题 1.C。 2. ADF 。 3. B。 4. BE。 5.【代码2】【代码3】【代码4】【代码5】。 6. B。

java2实用教程第4版_习题解答

习题解答 习题一(第1章) 一、问答题 1.James Gosling 2.需3个步骤: 1)用文本编辑器编写源文件。 2)使用javac编译源文件,得到字节码文件。 3)使用解释器运行程序。 3.由类所构成,应用程序必须有一个类含有public static void main(String args[])方法,含有该方法的类称为应用程序的主类。不一定,但最多有一个public类。 4.set classpath=D:\jdk\jre\lib\rt.jar;.; 5.java和class 6. java Bird 7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行) 二、选择题 1.B。2.D。 三、阅读程序 1.(a)Person.java。(b)两个字节码,分别是Person.class和Xiti.class。(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError: Xiti/class”,得到“您好,很高兴认识您nice to meet you” 习题二(第2章) 一、问答题 1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false不是标识符。2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。不是关键字。class implements interface enum extends abstract。 3.boolean,char,byte,short,int,long,float,double。 4.float常量必须用F或f为后缀。double常量用D或d为后缀,但允许省略后缀。5.一维数组名.length。二维数组名.length。 二、选择题 1.C。2.ADF。3.B。4.BE。5.【代码2】【代码3】【代码4】【代码5】。6.B。

java2实用教程试题

第1章Java 语言入门 1-1开发与运行Java程序需要经过哪些主要步骤和过程? 1-2怎样区分应用程序和小应用程序?应用程序的主类或小应用程序的主类必须用public修饰吗? 1-3Java程序是有什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎样的? 1-4在运行小应用程序的html文件中可以使用codebase属性制定小应用程序的字节码所驻留的目录。如果不使用codebase属性,小应用程序的字节码文件必须和运行它的html在同一目录中,编写一个小应用程序并将它的字节码存放在某个目录中,比如c:\Boy. 把运行该小应用程序的html文件(注意其中的codebase属性): < applet code=你的小程序的字节码wdith=20 height=30 codebase=c:\boy> 存放在另一个目录中(查阅有关编写网页方面的书籍,会有更 详细的关于怎样在一个网页中嵌入一个小应用程序的讲解)。 第2章标识符、关键字和数据类型 2-1上机运行下列程序,注意观察输出的结果。

public class E { public static void main ( string args [ ] ) { for (int i=20302; i<=20302; i++) { System.out. println (( char ) i ); } } 2-2System.out. println (“你好”);可输出字符串值,也可以使用System.out. println()输出变量或表达式的值,只需使用并置 符号:“+”将变量、表达式或一个常数值与一个字符串并置即 可,如System.out. println(“”+x);System.out. println(“:” +123+“大于”+122)等。上机调试下列程序,注意观察结果,特别注意System.out. print()和System.out. println()的区 别。 public class OutputData { public static void main ( string args [ ] ) { int x=234, y=432 ; System.out. println (“:” +x+“<”+2*x); System.out. print (“我输出结果后不回车“); System.out. println (“我输出结果后自动回车到下一行”); } }

java2实用教程(第3版例子代码)

Java 2实用教程(第三版) 清华大学出版社 (编著耿祥义张跃平) 例子源代码 建议使用文档结构图 (选择Word菜单→视图→文档结构图)

第一章Java 语言入门例子1 public class Hello { public static void main (String args[ ]) { System.out.println("你好,很高兴学习Java"); } } 例子2 public class People { int height; String ear; void speak(String s) { System.out.println(s); } } class A { public static void main(String args[]) { People zhubajie; zhubajie=new People(); zhubajie.height=170; zhubajie.ear="两只大耳朵"; System.out.println("身高:"+zhubajie.height); System.out.println(zhubajie.ear); zhubajie.speak("师傅,咱们别去西天了,改去月宫吧"); } } 例子3 import java.applet.*; import java.awt.*; public class Boy extends Applet { public void paint(Graphics g) { g.setColor(Color.red); g.drawString("我一边喝着咖啡,一边学Java呢",5,30); g.setColor(Color.blue);

Java2实用教程试题综合

可选试题 判断题 ×1.Java是低级语言 √2.Java是面向对象的程序设计语言 ×3.Java是编译型的计算机语言 √5.Java源程序文件的后缀是.java ×10.一个Java源程序文件中可以有多个public类 √11.一个Java源程序中可以有多个类 ×12.一个Java Applet源程序的主类可以有多个父类 √13.Java应用程序的入口方法是main √14.Java应用程序(Application)的主类中一定要有主方法(main) √16.Java小程序(Applet)的主类的父类必须是类Applet ×17.Java语言中的逻辑变量可以和整型变量相互强制转换 ×18.在程序中可对用final修饰的变量的值进行更改 ×27.双精度数强制转换成单精度数后,其数值精度提高 ×11.方法可以有多个返回值 ×5.重载的方法可以通过它们的返回值类型的不同来区分 √16.定义在方法体中的变量能与定义在方法体外的变量同名 √6.一个对象一定要属于某个类 ×7.构造函数的方法名可由编程人员任意命名 √8.类的构造函数名必须和类名相同 √10.构造函数可以重载 ×11.如果一个类定义中没有定义构造函数,该类就没有构造函数 √12.如果一个类定义中已经定义了构造函数,java不会再给它提供默认的构造函数 ×11.静态属性和静态方法属于类的一个具体对象 √12.static 变量能是private 变量 ×14.static方法能处理非static成员 √15.非static方法能处理static成员 ×16.static方法中能有this引用 ×18.类的私有属性和私有方法能被其子类直接访问 √12.子类的成员变量能与其父类的成员变量同名 ×14.子类可以重新定义从父类继承来的同名方法,并且允许它们有不同类型的返回值 √15.接口支持多继承(extends) √15.一个接口能够继承(extends)多个接口 ×7.抽象类只能做为父类 ×8.可以定义抽象类的对象 √9.抽象方法能被继承 √10.抽象方法只能存在于抽象类或接口中

Java2实用教程(第三版)课后习题参考答案

第4章类、对象和接口 1. 类中的实例变量在什么时候会被分配内存空间? 答: 当该类创建对象之后,实例变量才会被分配相应的内存空间。 2. 什么叫方法的重载?构造方法可以重载吗? 答:①一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同(方法的重载体现了多态性,即功能多态性)。 ②构造方法可以重载。 3. 类中的实例方法可以操作类变量(static变量)吗?类方法(static方法)可 以操作实例变量吗? 答:①类中的实例方法可以操作类变量。 ②类方法不可以操作实例变量 4. 类中的实例方法可以用类名直接调用吗? 答: 类中的实例方法不可以用类名直接调用。 5. 举例说明protected方法和友好方法的区别。 答: 当子类与父类不在同一个包中时,子类可以继承父类的protected方法;而友好方法此时则不能被子类继承。 6. 举例说明类变量和实例变量的区别。 答:⑴书写: 定义成员变量时,类变量有static修饰;实例变量没有static修饰。例: class A { int x; //实例变量 static int y; //类变量 } ⑵内存: 不创建对象,类的实例变量不会被分配内存空间;类变量被分配相应的内存空间。 不同对象的实例变量被分配不同的内存空间;不同对象的类变量被分配相同的内存空间。 任何一个对象改变类变量,其他对象的相应类变量也发生相应变化。 一个对象的实例变量发生改变,不影响其他对象的相应实例变量。 例: 执行语句: A1.x=10; A1.y=20; 这时A2.x的值也是10;而A2.y的值保持原来的初值。 ⑶使用: 类变量可以被类方法操作;而实例变量不能被类方法操作。 例: class A { int x; static int y; static void func() {

《java2实用教程》(第四版)课后答案 第七章-第八章

Java程序设计第三次作业 第7章习题 4.1程序代码 import java.util.*; public class SUMANDAVERAGE { public static void main(String[] args) { Scanner reader=new Scanner(System.in); double sum=0; int m=0; while(reader.hasNextDouble()){ double x=reader.nextDouble(); assert x>=0&&x<=100:"该数是非法的成绩数据!"; m=m+1; sum=sum+x; } System.out.printf("%d个数的和为%f\n", m,sum); System.out.printf("%d个数的平均值为%f\n",m,sum/m); } } 4.2运行结果 第8章习题 4.1程序代码 package kehou; import java.util.Calendar; import java.util.InputMismatchException; import java.util.Scanner; public class BC8_4 { public static void main(String[] args) { System.out.print("请选择你要完成的功能:\n1,转换字母大小写及连接两个字符串。\n2,得到字符串第一个和最后一个字符。\n3,计算两个时间之间的间隔天数。\n" + "4,使用简单的Math类用法。\n5,剔除字符串中的非数字字符。\n6,解析字符串。\n."); System.out.print("输入数字i(i=1...6;输入0结束!):"); Scanner reader=new Scanner(System.in);

《java2实用教程》(第四版)课后答案 第四章-第六章

《JA V A实用教程》作业2 第四章习题 4.1程序代码 (1)CPU.java public class CPU { int speed; void setSpeed(int m){this.speed=m;} int getSpeed(){return this.speed;} } (2)HardDisk.java public class HardDisk { int amount; void setAmount(int a){this.amount=a;} int getAmount(){return this.amount;} } (3)pc.java public class PC { CPU cpu; HardDisk HD; void setCPU(CPU x){cpu=x;} void setHardDisk(HardDisk h){HD=h;} void show(){ System.out.print("CPU的速度是:"); System.out.println(" "+this.cpu.getSpeed()); System.out.print("硬盘的大小是:"); System.out.println(" "+this.HD.getAmount()); } } (4)TEST.java public class TEST { public static void main(String[] args) { CPU c=new CPU(); c.setSpeed(2200); HardDisk disk=new HardDisk(); disk.setAmount(200); PC pc=new PC(); pc.setCPU(c); pc.setHardDisk(disk); pc.show(); } }

Java2实用教程课后复习题参考答案

Java2 实用教程(第三版) 课后习题参考答案 第1 章Java 入门 1. 开发与运行Jav a 程序需要经过哪些主要步骤和过程? 答:( 1)编写Java 源文件:使用文本编辑器(Edit 或记事本),拓展名为.java (2)编译Java 源文件:使用Java 编译器(javac.exe)。得到字节码文件*.class (3)运行Java 程序:Java 应用程序使用Java 解释器(java.exe)执行字节码文件; Java 小应用程序使用支持Java 标准的浏览器来执行。 2. 怎样区分应用程序和小应用程序?应用程序的主类或小应用程序的主类必须用public 修饰吗? 答:①应用程序必须有main 方法,这个方法是程序执行的入口。 小应用程序没有main 方法。 ②应用程序的主类不一定用public 修饰;小应用程序的主类必须用public 修饰。 3. Jav a 程序是由什么组成的?一个程序中必须要有public 类吗?Jav a 源文件的命名规则是怎样的?答:①Java 程序由类组成。 ②应用程序可以没有public 类;小应用程序一定有一个类是public 类(主类)。 ③应用程序:如果只有一个类,源文件名与该类的类名相同,拓展名为.java; 有多个类时,如果有public 类(最多一个),源文件名与public 类的类 名相同,拓展名是.java;没有public 类,源文件名与任何一个类的类名 相同即可,拓展名为.java。 小应用程序:源文件名与主类的类名相同,拓展名是.java。 4. 在运行小程序的HTM L 文件中可以使用codebas e 属性指定小程序的字节码所驻留的目录。如果不使用 codebas e 属性,小程序的字节码文件必须和运行它的HTM L 文件在同一目录中。编写一个小程序并将小程 序的字节码存放在某个目录中,比如C:\5000;把运行该小程序的HTM L 文件(注意其中的codebas e 属性): 存放在另一个目录中。 答:以书中小应用程序为例进行说明: ①编写Java 小应用程序源代码 import java.applet.*; import java.awt.*; public class Boy extends Applet {

java2实用教程第4版-习题解答

习题解答 习题一(第 1 章) 一、问答题 1.James Gosling 2.需3 个步骤: 1) 用文本编辑器编写源文件。 2) 使用javac 编译源文件,得到字节码文件。 3) 使用解释器运行程序。 3.由类所构成,应用程序必须有一个类含有public static void main(String args[]) 方法,含 有该方法的类称为应用程序的主类。不一定,但最多有一个public 类。 4.set classpath=D:\jdk\jre\lib\rt.jar;.; 5. java 和class 6. java Bird 7. 独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行) 二、选择题 1. B。 2. D。 三、阅读程序 1 . ( a) Person.java。 ( b)两个字节码,分别是Person.class 和Xiti.class。 ( c)得到 “ NoSuchMethodError ”,得到“ NoClassDefFoundError: Xiti/class ”,得到“您好,很高兴认识您nice to meet you” 习题二(第 2 章) 一、问答题 1. 用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false 不是标识符。 2. 关键字就是Java 语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。不是关键字。class implements interface enum extends abstract。 3. boolean,char,byte,short,int,long,float,double。 4. float 常量必须用F 或f 为后缀。double 常量用D 或d 为后缀,但允许省略后缀。 5. —维数组名.length。二维数组名.length。 二、选择题 1. C。 2. ADF。 3. B。 4. BE。 5.【代码2】【代码3】【代码4】【代码5】。 6. B。

java2实用教程习题

习题8 1.问答题 (1)”\hello”是正确的字符串常量吗 (2)“你好KU”.length()和“\n\t\t”.length()的值分别是多少“Hello”.equals(“hello”)和”java”.equals(“java”)的值分别是是多少 “Bird”pareTo(“Bird fly”)的值是正数还是负数 “I love this game”.contains(“love”)的值是true吗 “RedBird”.indexOf(“Bird”)的值是多少“RedBird”.indexOf(“Cat”)的值是多少 执行(“”);会发生异常吗 2 选择题 1.下列哪个叙述是正确的( ) A.String类是final类,不可以有子类 B.String类在包中 C.“abc”==”abc”的值是false D.“abc”.equals(”Abc”)的值是true 2.下列哪个表达式是正确的(无编译错误) A.int m=(“567”); B.int m=(“567”); C.byte m=(“2”); D.float m=(“”); 3.对于如下代码,下列哪个叙述是正确的 public class E { public static void main(String[] args) { String strOne="bird"; String strTwo=strOne; strOne="fly"; 【代码】 } } A.程序编译出现错误 B.程序标注的【代码】的输出结果是bird C.程序标注的【代码】的输出结果是fly D.程序标注的【代码】的输出结果是null 4.对于如下代码,下列哪个叙述是正确的 public class E { public static void main(String[] args) { String s1=args[1]; String s2=args[2]; String s3=args[3]; } } A.程序出现编译错误

Java2实用教程(第四版)课后习题1-8章答案最终

习题一(第1章) 一、问答题 1.James Gosling 2.需3个步骤: 1)用文本编辑器编写源文件。 2)使用javac编译源文件,得到字节码文件。 3)使用解释器运行程序。 3.由类所构成,应用程序必须有一个类含有public static void main(String args[])方法,含有该方法的类称为应用程序的主类。不一定,但最多有一个public类。 4.Path设置为:D:\jdk\jdk1.7.0_40\bin;(以安装的1.7.0_40版本为例。) ClassPath设置为:set classpath=D:\jdk\jre\lib\rt.jar;.; 5..java和.class 6. java Bird 7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行) 二、选择题 1.B。2.D。 三、阅读程序 1.(a)Person.java。(b)两个字节码,分别是Person.class和Xiti.class。(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError: Xiti/class”,得到“您好,很高兴认识您nice to meet you” 习题二(第2章) 一、问答题 1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false不是标识符。2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。不是关键字。class implements interface enum extends abstract。 3.boolean,char,byte,short,int,long,float,double。 4.float常量必须用F或f为后缀。double常量用D或d为后缀,但允许省略后缀。5.一维数组名.length。二维数组名.length。 二、选择题 1.C。2.ADF。3.B。4.BE。5.【代码2】【代码3】【代码4】【代码5】。6.B。 三、阅读或调试程序

Java2实用教程(第4版)实验指导与习题解答_IT168文库(精)

上机实践1初识Java 实验1一个简单的应用程序 1.相关知识点 Java语言的出现是源于对独立于平台语言的需要,即这种语言编写的程序不会因为芯片的变化而发生无法运行或出现运行错误的情况。目前,随着网络的迅速发展,Java语言的优势越发明显,Java已经成为网络时代最重要的语言之一。 Sun公司要实现“编写一次,到处运行”(Write once,run anywhere的目标,就必须提供相应的Java运行平台,目前Java运行平台主要分为下列3个版本。 (1Java SE:称为Java标准版或Java 标准平台。Java SE 提供了标准的JDK开发平台。利用该平台可以开发Java桌面应用程序和低端的服务器应用程序,也可以开发Java Applet 程序。当前成熟的新的JDK版本为JDK 1.6。 (2Java EE:称为Java企业版或Java企业平台。使用J2EE可以构建企业级的服务应用,Java EE平台包含了Java SE平台,并增加了附加类库,以便支持目录管理、交易管理和企业级消息处理等功能。 (3Java ME:称为Java微型版或Java小型平台。Java ME是一种很小的Java运行环境,用于嵌入式的消费产品中,如移动电话、掌上电脑或其他无线设备等。 无论上述哪种Java运行平台都包括了相应的Java虚拟机(Java Virtual Machine,虚拟机负责将字节码文件(包括程序使用的类库中的字节码加载到内存,然后采用解释方式来执行字节码文件,即根据相应硬件的机器指令翻译一句执行一句。J2SE平台是学习掌握Java语言的最佳平台,而掌握J2SE又是进一步学习J2EE和J2ME所必需的。 2.实验目的

Java 2实用教程(第5版)习题解答

习题解答 习题1(第1章) 一、问答题 1.James Gosling 2.需3个步骤: 1)用文本编辑器编写源文件。 2)使用javac编译源文件,得到字节码文件。 3)使用解释器运行程序。 3.源文件由若干个类所构成。对于应用程序,必须有一个类含有public static void main(String args[])的方法,含有该方法的类称为应用程序的主类。不一定,但至多有一个public类。 4.set classpath=D:\jdk\jre\lib\rt.jar;.; 5.java和class 6. java Bird 7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行) 二、选择题 1.B。2.D。 三、阅读程序 1.(a)Person.java。(b)两个字节码,分别是Person.class和Xiti.class。(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError: Xiti/class”,得到“您好,很高兴认识您nice to meet you” 习题2(第2章) 一、问答题

1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false不是标识符。2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。true和false不是关键字。6个关键字:class implements interface enum extends abstract。3.boolean,char,byte,short,int,long,float,double。 4.float常量必须用F或f为后缀。double常量用D或d为后缀,但允许省略后缀。5.一维数组名.length。二维数组名.length。 二、选择题 1.C。2.ADF。3.B。4.BE。5.【代码2】【代码3】【代码4】【代码5】。6.B。 三、阅读或调试程序 1.属于操作题,解答略。 2.属于操作题,解答略。 3.属于操作题,解答略。 4.【代码1】:4。【代码2】:b[0]=1。 5.【代码1】:40。【代码2】:7 四、编写程序 1. public class E { public static void main(String args[]) { System.out.println((int)'你'); System.out.println((int)'我'); System.out.println((int)'他'); } } 2. public class E { public static void main (String args[ ]) { char cStart='α',cEnd='ω'; for(char c=cStart;c<=cEnd;c++) System.out.print(" "+c); } } 习题3(第3章) 一、问答题 1.boolean 2.不可以 3.boolean 4. 不是必须的 5.结束while语句的执行

《JAVA大学实用教程》(第四版)课后习题答案

第一章Java 语言概述 2.“java编译器将源文件编译为的字节码文件是机器码”这句话正确吗?答:不正确 3.j ava 应用程序的主类必须含有怎样的方法? 答:含有main 方法 4。“java 应用程序必须有一个类是public 类”这句话正确吗? 答;不正确,只能有一个public 类 5。“java Applet 程序的主类必须是public 类”这句话正确吗? 答:正确,因为java Applet 主类必须是Applet 类的子类并且是public 的类6。请叙述java 源程序的命名规则。 答:与public 的类同名。 7。源文件生成的字节码文件在运行时都加载到内存中吗? 答:非也,动态随需要运行才加载。 8.面向对象的程序设计语言有那些基本特征? 答:封装;继承;多态性。 9.在Java 程序中有多个类文件时,用Java 命令应该运行那个类? 答:具有main 方法的类 第二章基本数据类型和数组 4。下列哪些语句是错的? Int x=120; Byte b=120; b=x; 答:B=x;错应为b=(byte)x 5。下列哪些语句是错的? 答:y=d;错,应y=(float)d 6。下列两个语句是等价的吗? Char x=97; Char x=‘a’; 答:是等价的。 7。下列system.out.printf 语句输出结果是什么? Int a=97; Byte b1=(byte)128; Byte b2=(byte)(-129); System.out.printf(“%c,%d,%d”,a,b1,b2); 如果输出语句改为: System.out.printf(“%d,%d,%d”,a,b1,b2); 输出什么? 答:输出a ,-128,127 修改后输出97,-128,127 8.数组是基本数据类型吗?怎样获取数组的长度?

java2实用教程(例子代码)第4版第九章

java2实用教程(例子代码)第4版第九章例9_3 Lt4_3.java public clss Lt4_3 { public static void main(String args[]) { ComponentInWindor win = new ComponentInWindor(); win.setBounds(100,100,310,260); win.setTitle("常用组件"); } } ComponentInWindow.java import?java.awt.*; import javax.swing.*; public class ComponentInWindow extends JFrame { JTextField text; JButton button; JCheckBox checkBox1,checkBox2,checkBox3; JRadiobutton radio1,radio2; ButtonGroup group; JComboBox comBox; JTextArea area; public ComponentInWindow() { init(); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } void init() { setLayout(new FlowLayout()); add(new JLable("文本框:")); text = new JTextField(10); add(text); add(new JLable("按钮:")); button = new JButton("确定"); add(button); add(new JLable("选择框:")); checkBox1 = new JCheckBox("喜欢音乐"); checkBox2 = new JCheckBox("喜欢旅游");

Java2实用教程习题8-16

习题8 1问答题 (1)”hello ”是正确的字符串常量吗? RedBird” ndexθf( Bird ” 的值是多少?RedBird ”.i ndexθf( Cat” 的值是多少? 执行Integer.parseInt( 12.9”;会发生异常吗? 2选择题 1. 下列哪个叙述是正确的?() A. String类是final类,不可以有子类 B. String 类在java.util 包中 C. abc”== ”abc” 的值是false D. abc".equals('Abc”的值是true 2. 下列哪个表达式是正确的(无编译错误)? A. int m=Float.parseFloat( 567”; B. int m=Short.parseShort( 567”; C. byte m=Integer.parselnt( 2”; D. float m=Float.parseDouble( 2.9”; 3. 对于如下代码,下列哪个叙述是正确的? PUbliC class E { PUbliC StatiCVOid main(String[] args) { String StrOne="bird"; Stri ng StrTWb =StrQ ne; StrQne="fly"; SyStem.out,println( StrTWb);//【代码】 } } A. 程序编译出现错误 B. 程序标注的【代码】的输出结果是bird C. 程序标注的【代码】的输出结果是fly D. 程序标注的【代码】的输出结果是null 4. 对于如下代码,下列哪个叙述是正确的? PUbIiC CIaSS E { PUbIiCStatiCVOid main( Stri ng[] argS∣ { Stri ng s1=args[1]; Stri ng s2=args[2]; Stri ng s3=args[3]; SyStem out,pri ntln (s3); }

Java2实用教程(第5版)答案_耿祥义

Java2实用教程(第5版)最新答案耿祥义 第1章 一、问答题 1.James Gosling 2.需3个步骤: 用文本编辑器编写源文件。 使用javac编译源文件,得到字节码文件。 使用解释器运行程序。 3.由类所构成,应用程序必须有一个类含有public static void main(String args[])方法,含有该方法的类称为应用程序的主类。不一定,但最多有一个public类。 4.set classpath=D:\jdk\jre\lib\rt.jar;.; 5.java和class 6.java Bird 7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行) 二、选择题 1.B。2.D。 三、阅读程序 1.(a)Person.java。(b)两个字节码,分别是Person.class和Xiti.class。(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError: Xiti/class”,得到“您好,很高兴认识您nice to meet you” 第2章 一、问答题 1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false不是标识符。 2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。不是关键字。class implements interface enum extends abstract。 3.boolean,char,byte,short,int,long,float,double。 4.float常量必须用F或f为后缀。double常量用D或d为后缀,但允许省略后缀。 5.一维数组名.length。二维数组名.length。 二、选择题 1.C。2.ADF。3.B。4.BE。5.【代码2】【代码3】【代码4】【代码5】。6.B。 三、阅读或调试程序

相关主题
相关文档 最新文档