Java语言程序设计(郑莉)第六章课后习题答案

Java语言程序设计(郑莉)第六章课后习题答案
Java语言程序设计(郑莉)第六章课后习题答案

Java语言程序设计

第六章课后习题答案

1.将本章例6-1至6-18中出现的文件的构造方法均改为使用File类对象作为参数实现。

个人理解:File类只能对整文件性质进行处理,而没法通过自己直接使用file.Read()或者是file.write()类似方法对文件内容进行写或者读取。注意:是直接;下面只提供一个例2变化,其他的你自己做,10几道啊,出这题的人真他妈有病。

import java.io.*;

public class test6_2{

public static void main(String[] args) throws IOException { String fileName = "D:\\Hello.txt";

File writer=new File(fileName);

writer.createNewFile();

BufferedWriter input = new BufferedWriter(new

FileWriter(writer));

input.write("Hello !\n");

input.write("this is my first text file,\n");

input.write("你还好吗?\n");

input.close();

}

}

运行结果:(电脑系统问题,没法换行,所以一般使用BuffereWriter中newLine()实现换行)

2.模仿文本文件复制的例题,编写对二进制文件进行复制的程序.

// CopyMaker类

import java.io.*;

class CopyMaker {

String sourceName, destName;

BufferedInputStream source;

BufferedOutputStream dest;

int line;

//打开源文件和目标文件,无异常返回true

private boolean openFiles() {

try {

source = new BufferedInputStream(new

FileInputStream( sourceName ));

}

catch ( IOException iox ) {

System.out.println("Problem opening " + sourceName );

return false;

}

try {

dest = new BufferedOutputStream(new

FileOutputStream( destName ));

}

catch ( IOException iox )

{

System.out.println("Problem opening " + destName );

return false;

}

return true;

}

//复制文件

private boolean copyFiles() {

try {

line = source.read();

while ( line != -1 ) {

dest.write(line);

line = source.read();

}

}

catch ( IOException iox ) {

System.out.println("Problem reading or writing" );

return false;

}

return true;

}

//关闭源文件和目标文件

private boolean closeFiles() {

boolean retVal=true;

try { source.close(); }

catch ( IOException iox ) {

System.out.println("Problem closing " + sourceName );

retVal = false;

}

try { dest.close(); }

catch ( IOException iox ) {

System.out.println("Problem closing " + destName );

retVal = false;

}

return retVal;

}

//执行复制

public boolean copy(String src, String dst ) {

sourceName = src ;

destName = dst ;

return openFiles() && copyFiles() && closeFiles();

}

}

//test6_2

public class test6_2

{

public static void main ( String[] args ) {

String s1="lin.txt",s2="newlin.txt";

if(new CopyMaker().copy(s1, s2))

S ystem.out.print("复制成功");

else

S ystem.out.print("复制失败");

}

}

运行前的两个文本:lin.txt和newlin.txt(为空)

运行后:

3.创建一存储若干随机整数的文本文件,文件名、整数的个数及范围均由键盘输入。// memory存储类

import java.io.*;

import java.util.Random;

public class memory {

private String name;

private int count;

private int Max;

private int Min;

public memory(String n,int c,int min,int max){

https://www.360docs.net/doc/2015221877.html,=n;

this.count=c;

this.Min=min;

this.Max=max;

}

public void startmemory(){

try{

FileWriter out=new FileWriter(name);

int limit=Max-Min;

Random random = new Random();

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

int number=Min+random.nextInt(limit);

System.out.print(number);

System.out.print(" ");

out.write(number+" ");

}

out.close();

}catch(IOException iox){

System.out.println("方法startmemory()有问题");

}

}

}

//test6_3

import java.io.*;

import java.util.Scanner;

public class test6_3 {

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

String fileName;

int count,min,max;

Scanner in = new Scanner(System.in);

System.out.println("输入要存储的文件名");

fileName=in.next();

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

count=in.nextInt();

System.out.println("输入随机数最小值");

min=in.nextInt();

System.out.println("输入随机数最大值");

max=in.nextInt();

memory M=new memory(fileName,count,min,max);

M.startmemory();

}

}

}

运行结果:

naruto文件存储二进制数:

4.分别使用FileWriter和BufferedWriter往文件中写入10万个随机数,比较用时的多少。//FileWriter方法

import java.io.*;

public class fileWriter {

public static void main(String[] args) throws IOException{ long time = System.currentTimeMillis();//当前时间

FileWriter filewriter=new FileWriter("filewriter.txt");

int number;

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

number=(int)(Math.random()*10000);

filewriter.write(number+" ");

}

filewriter.close();

time=System.currentTimeMillis()-time;//时间差

System.out.println("用时为:"+time+"微秒.");

}

}

运行结果:

//BufferedWriter方法

import java.io.*;

public class bufferedWriter {

public static void main(String[] args) throws IOException{ long time = System.currentTimeMillis();//当前时间

BufferedWriter filewriter=new BufferedWriter(new

FileWriter("filewriter.txt"));

int number;

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

number=(int)(Math.random()*10000);

filewriter.write(number+" ");

}

filewriter.close();

time=System.currentTimeMillis()-time;//时间差

System.out.println("用时为:"+time+"微秒.");

}

}

运行结果:

有用时可知:BufferedWriter比FileWriter写入的速度快, 当需要写入大量内容,前者效率高。

的幂次(0~9)的表格如下:

//test6_5类

import java.io.*;

public class test6_5{

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

BufferedWriter fuck =new BufferedWriter( new

FileWriter("6_5.html"));

fuck.write("

height=250>");

fuck.newLine();

fuck.write("

");

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

fuck.write("

");

}

fuck.write("

Power of 2

align=center>Value

"+i+"

align=center>"+Math.pow(i, 2)+"

");

fuck.newLine();

fuck.close();

}

}

运行结果:

6.用记事本程序创建一篇包含几十个英语单词的小文章,要求从屏幕输出每一个单词。//test6_6

import java.io.*;

public class test6_6 {

public static void main(String[] args)throws IOException { FileReader fr=new FileReader("naruto.txt");

int s;

while((s=fr.read())!=-1){

if(s>='a'&& s<='z'|| s>='A' && s<='Z')

System.out.print((char)s);

else

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

}

fr.close();

}

}

运行结果:

7.从键盘敲入一系列字母,将其存储到文件中,对其进行升序排序后,存储到另一个文件,并显示在屏幕上。

//test6_7

import java.io.*;

import java.util.Scanner;

public class test6_7 {

//将字符串存入文件

public static void WriteToFile(String s,String fileName){

t ry{

FileWriter writer = new FileWriter(fileName);

writer.write(s);

writer.close();

}catch (IOException iox){

System.out.println("写入字符串s到文件时出错!");

}

}

//将字符串从文件中读取出来

public static String ReadFromFile(String fileName){

S tring s=new String();

t ry{

BufferedReader in = new BufferedReader(new FileReader(fileName));

s=in.readLine();

}catch(IOException io){

System.out.println("从文件中读出字符串时出错!");

}

return s;

}

//将字符串排序,然后返回字符串

public static String sort(String s){

c har[] c=s.toCharArray(); //将字符串转换成字符数组

char temp;

for(int i=0;i

for(int j=i+1;j

if(c[i]>c[j])

{

temp=c[i];

c[i]=c[j];

c[j]=temp;

}

s=new String(c); //注意不能用c.toString

return s;

}

public static void main(String args[]){

S canner in=new Scanner(System.in);

S tring s=in.next();//从键盘输入一组字符

W riteToFile(s,"D:\\naruto.txt"); //将字符串保存到D:\naruto.txt

s=null;//将s清空,下面好读取,不然无法辨别s是读取到数据还是原来的数据

s=ReadFromFile("D:\\naruto.txt"); //从文件D:\naruto.txt读出字符串 s=sort(s); //将s进行排序

WriteToFile(s,"D:\\newnaruto.txt"); //将排序后的内容保存到另一文件D:\newnaruto.txt

System.out.println(s);

}

}

运行结果:

文件D:\\naruto.txt和D:\\newnaruto.txt中内容:

8.创建一个学生类(包括姓名、年龄、班级、密码),创建若干该类的对象并保存在文件中(密码不保存),从文件读取对象后显示在屏幕上。

//Student类

import java.io.Serializable;

class Student implements Serializable{

String name;

int age;

int grade;

transient String secret;

public Student(String name,int age,int grade,String secret){ https://www.360docs.net/doc/2015221877.html,=name;

this.age=age;

this.grade=grade;

this.secret=secret;

}

}

//test6_8

import java.io.*;

public class tset6_8 {

public static void main(String[] args) throws

IOException,ClassNotFoundException{

Student student[]={

new Student("苍井空",19,101,"changjingkong"),

new Student("吉沢明",19,103,"jizeming"),

new Student("武藤兰",20,104,"wutenglan"),

new Student("我爱女优",21,105,"woainvyou")};

//创建输出

ObjectOutputStream oos=new ObjectOutputStream(

new FileOutputStream("naruto.dat"));

for(int i=0;i

o os.writeObject(student[i]);

oos.close();

//将对象数组student全部清空,后边你会明白的。

for(int i=0;i

s tudent[i]=null;

//创建输入

ObjectInputStream ois=new ObjectInputStream(

new FileInputStream("naruto.dat"));

for(int i=0;i

s tudent[i]=(Student)ois.readObject(); //重新从文件中读入,之前的清空就因为此读入。注意,读入要强制转化为学生类

ois.close();

//显示信息

for(int i=0;i

i f(i==student.length-1){

System.out.println("我的名字:"+student[i].name);

System.out.println("我的年龄:"+student[i].age);

System.out.println("我的班级:"+student[i].grade);

System.out.println("我的密码:"+student[i].secret);

System.out.println();

}

e lse{

System.out.println("第"+(i+1)+"个女学生名字:

"+student[i].name);

System.out.println("第"+(i+1)+"个女学生年龄:

"+student[i].age);

System.out.println("第"+(i+1)+"个女学生班级:

"+student[i].grade);

System.out.println("第"+(i+1)+"个女学生密码:

"+student[i].secret);

System.out.println();

}

}

}

}

9.对例6—14中的压缩程序段进行修改,是压缩流经过缓冲类。比较两种方法在对大的文件进行压缩时的效率。

//没经过缓冲类,使用FileInputStream类

import java.io.*;

import java.util.zip.*;

public class test6_9f{

public static void main(String[] args) throws IOException { long time = System.currentTimeMillis();

FileInputStream in = new FileInputStream("naruto.txt");

GZIPOutputStream out = new GZIPOutputStream(

new FileOutputStream("test.gz"));

System.out.println("Writing compressing file from naruto.txt to test.gz");

int c;

while((c = in.read()) != -1) out.write(c); //写压缩文件

in.close();

out.close();

System.out.println("Reading file form test.gz to monitor");

BufferedReader in2 = new BufferedReader(

new InputStreamReader(

new GZIPInputStream(

new

FileInputStream("test.gz"))));

String s;

while((s = in2.readLine()) != null) System.out.println(s);

in2.close();

System.out.println("Writing decompression to newnaruto.txt");

GZIPInputStream in3=new GZIPInputStream(

new FileInputStream("test.gz")); FileOutputStream out2=new FileOutputStream("newnaruto.txt");

while((c=in3.read())!=-1) out2.write(c);

in3.close();

out2.close();

time=System.currentTimeMillis()-time;//时间差

System.out.println("用时为:"+time+"微秒.");

}

}

运行结果:

//压缩流经过缓冲类,使用BufferedInputStream类

import java.io.*;

import java.util.zip.*;

public class test6_9b{

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

BufferedInputStream in = new BufferedInputStream(new FileInputStream("naruto.txt"));

GZIPOutputStream out = new GZIPOutputStream(

new BufferedOutputStream(

new FileOutputStream("test.gz"))); System.out.println("Writing compressing file from naruto.txt to test.gz");

int c;

long time = System.currentTimeMillis();

//写压缩文件

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

in.close();

out.close();

//重新读出来

System.out.println("Reading file form test.gz to monitor");

BufferedReader in2 = new BufferedReader(

new InputStreamReader(

new GZIPInputStream(

new

FileInputStream("test.gz"))));

String s;

while((s = in2.readLine()) != null) System.out.println(s);

in2.close();

//将压缩恢复

System.out.println("Writing decompression to newnaruto.txt");

GZIPInputStream in3=new GZIPInputStream(

new FileInputStream("test.gz")); BufferedOutputStream out2=new BufferedOutputStream(

new FileOutputStream("newnaruto.txt"));

while((c=in3.read())!=-1) out2.write(c);

in3.close();

out2.close();

time=System.currentTimeMillis()-time;//时间差

System.out.println("用时为:"+time+"微秒.");

}

}

运行结果:

以上2个类的运行用时比较,可见对大文件进行压缩,经过缓冲流的效率要高得多。

10.一家杂货店的店主,需要查询、输入、修改任何一件商品的品名、价格、库存量信息。请用随机存取文件满足其要求,可以更新、查询信息。每件商品的标志为其记录号。

//商品Thing类

public class Thing{

char Name[]=new char[8];//16个字节

int Number; //4个字节

double Price;//8个字节

int Count;//4个字节所以保存一个商品要32个字节

public Thing(String name,int number,double price,int count){

if(name.toCharArray().length>8)

System.arraycopy(name.toCharArray(),0, https://www.360docs.net/doc/2015221877.html,, 0,8);//如果字符长度大于8,只取前8个

else

System.arraycopy(name.toCharArray(),0,https://www.360docs.net/doc/2015221877.html,,0,name.toCharArra y().length);//如果字符长度小于8,有几个填几个

this.Number=number;

this.Price=price;

this.Count=count;

}

public String getName() {

return new String(https://www.360docs.net/doc/2015221877.html,);

}

public void setName(String name) {

if(name.toCharArray().length>8)

System.arraycopy(name.toCharArray(),0, https://www.360docs.net/doc/2015221877.html,, 0,8);

else

System.arraycopy(name.toCharArray(),0,https://www.360docs.net/doc/2015221877.html,,0,name.toCharArra y().length);

}

public double getPrice() {

return Price;

}

public void setPrice(double price) {

this.Price = price;

}

public int getNumber() {

return Number;

}

public void setNumber(int number) {

this.Number = number;

}

public int getCount() {

return Count;

}

public void setCount(int count) {

this.Count = count;

}

}

//操作Work类(包含输入、查询、更改操作)

import java.io.*;

public class Work{

String FileName;

public Work(String FileName){

this.FileName=FileName;

}

//写第n条商品记录

public void writeThing(Thing th,int n) throws Exception { RandomAccessFile rafw=new RandomAccessFile(FileName,"rw");

rafw.seek(n*32); //将位置指示器移到指定位置上,每个商品占32个字节

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

rafw.writeChar (https://www.360docs.net/doc/2015221877.html,[i]);//写入商品名

rafw.writeInt(th.Number);//写入商品号码

rafw.writeDouble(th.Price); //写入价格

rafw.writeInt(th.Count);//写入商品库存量

rafw.close();

}

//输入商品信息

public void readThing(int n) throws Exception {

char thingname[]=new char[8];

RandomAccessFile rafr=new RandomAccessFile(FileName,"r");

rafr.seek(n*32);//将位置指示器移到指定位置上,每个商品占32个字节

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

thingname[i]=rafr.readChar();//读到char商品名

System.out.print("商品名:");

System.out.println(thingname);

System.out.println("编号:"+rafr.readInt());

System.out.println("价格:"+rafr.readDouble());

System.out.println("商品库存量:"+rafr.readInt());

rafr.close();

System.out.println();

}

//修改存入n号商品名字

public void setThingName(int n,String name) throws Exception { RandomAccessFile rafw=new RandomAccessFile(FileName,"rw");

rafw.seek(n*32);

char[] borrow=new char[8];

if(name.toCharArray().length>8)

System.arraycopy(name.toCharArray(),0,borrow,0,8);

else

System.arraycopy(name.toCharArray(),0,borrow,0,name.toCharArray() .length);

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

rafw.writeChar (borrow[i]);

rafw.close();

}

//修改存入n号商品价格

public void setThingPrice(int n,double price) throws Exception { RandomAccessFile rafw=new RandomAccessFile(FileName,"rw");

rafw.seek(n*32+8+4); //将位置指示器移到指定位置上,每个商品占24个字节,名字占8字节

rafw.writeDouble(price);

rafw.close();

}

//修改存入n号商品库存量

public void setThingCount(int n,int count) throws Exception { RandomAccessFile rafw=new RandomAccessFile(FileName,"rw");

rafw.seek(n*32+8+4+8); //将位置指示器移到指定位置上,每个商品占24个字节,名字占8字节

rafw.writeFloat(count);

rafw.close();

}

}

//test6_10

import java.util.Scanner;

public class test6_10{

public static void main(String[] args)throws Exception { Scanner scanner=new Scanner(System.in);

int number;

String name;

Work work=new Work("d:/naruto.txt");

Thing[] thing={

new Thing("立白洗衣粉",1,3.5,55),

new Thing("编辑者林楚金",2,0,0),

new Thing("舒肤佳",4,8.9,89),

new Thing("杜蕾丝超薄系列",5,1.2,444444),};

for(int i=0;i

work.writeThing(thing[i],i);

for(int i=0;i

work.readThing(i);

System.out.println("请输入要查询商品编号");

number=scanner.nextInt();

work.readThing(number-1);

System.out.println("请输入要修改某一商品名字:编号和名字");

number=scanner.nextInt();

name=scanner.next();

work.setThingName(number-1,name);

work.readThing(number-1);

}

}

运行结果:

java课后题答案

第1章Java概述 1.编译java application源程序文件将产生相应的字节码文件,这些字节码文件别 的扩展名为、java 2.执行一个java程序fristapp的方法就是运行java fristapp 3.main()方法的返回类型就是void 4.在java代码中,public static void main方法的参数描述正确的就是string args 【】,string【】args 5.内存的回收程序负责释放无用内存√ 6.java体系主要分为java ME,Java SE,JavaEE三大块 第2章Java基础 1.Java语言中,下列标识符错误的就是40name 2.java变量中,以下不属于引用类型的数据类型就是字符型 3.double d=5、3E12 × 4.C 5.A 6.for循环的一般形式为;for(初值;终值;增量),以下对for循环的叙述,正确 的就是初值与增量都就是赋值语句,终值就是条件判断语句 7.当输入下面选项中3值时,将会输出default 8.下面哪种方法能够支持javadoc命令/**…*/ 9.下面声明一个string类型的数组正确的就是string str[] 10.下面定义一个整型数组,不合法的就是int[][]array=new int[][4]; 11.给定代码;。。。。。下面叙述正确的就是输出的结果为:0 12.java语言规定,标示符只能由字母,数字美元符$与下划线租成,并且第一个 字符不能就是数字;java就是区分大小写的。 13.表达式1/2*3的计算结果就是0;设x=2,则表达式(x++)/3的值就是0 14.数组的长度可以用其属性lengt h获得;创建一个数组对象可以使用new关键 字创建 第3章面向对象基础 1.在java中引用对象变量与对象间有什么关系?引用变量就是指向对象的一个指针 2.对象就是面向对象技术的核心所在,在面向对象程序设计中,对象就是累的抽象× 3.构造方法何时被调用?创建对象时 4.A,B,D 5.在java语言中在包p1中包含包p2,类A直接隶属于p1,类B直接隶属于包p2、在类c中 要使用类a的方法与类b的方法b,需要选择import p1、*; import p1、p2,*;

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课后答案

java课后答案 第一章 ,.发明java的原因是什么,发明java的主要贡献者是谁, 答:开发java语言的动力源于对独立平台的需要,即用这种语言编写的程序不会因为芯片的变化而发生无法运行或出现运行错误的情况。当时,c语言已无法满足人们的这一愿望,因为c语言总是针对特定的芯片将源程序编译成机器码,该机器码的运行就与特定的芯片指令有关,在其他类型的芯片上可能无法运行或者运行出错。主要贡献者是James Gosling。 2.“java编译器将源文件编译生成的字节码是机器码”,这句话正确吗, 答:不正确,字节码是很接近机器码谢谢了的二进制文件,不能被机器直接识别。 3. java应用程序的主类必须含有怎么样的方法, 4. "java应用程序必须有一个类是public类".这句话正确吗, 答:一个java应用程序必须有一个类含有public static void main(String args[] )方法,称为该应用程序的主类。 5. "java applet程序的主类必须是public类",这句话正确吗, 不正确 "java applet源文件的主类必须是public类",这句话正确吗, 正确 6. 叙述java源文件的命名法则。 答:(1)如果源文件中有多个类,那么只能有一个类是public类。(2)如果有一个类是public类,那么源文件的名字必须和这个类的名字完全相同,扩展名 为.java(3)如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名为.java就可以了。(4)java语言区分大小写。 7. 源文件生成的的字节码运行时加载到内存中吗, 8. 怎样编写加载运行java applet的简单网页,

Java基础入门课后习题及答案

《Java基础入门》课后习题 第1章Java开发入门 一、填空题 1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。 2、Java程序的运行环境简称之为JRE_____。 3、编译Java程序需要使用_javac_____命令。 4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的bin______目录下。 5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量则用 来保存保存Java虚拟机要运行的“.class”文件路径。 二、选择题 1、以下选项中,哪些属于JDK工具?(多选)ABCD A、Java编译器 B、Java运行工具 C、Java文档生成工具 D、Java打包工具 2、Java属于以下哪种语言?C A、机器语言 B、汇编语言 C、高级语言 D、以上都不对 3、下面哪种类型的文件可以在Java虚拟机中运行?D A、.java B、.jre C、.exe D、.class 4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?B A、Java文档制作工具 B、Java解释器 C、Java编译器 D、Java启动器 5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java 命令,需要将环境变量path设置为以下哪个选项?B A.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre;

JAVA实用教程(第三版)课后习题答案

第一章Java语言概述 2.“java编译器将源文件编译为的字节码文件是机器码”这句话正确吗? 答:不正确 3.java应用程序的主类必须含有怎样的方法? 答:含有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.数组是基本数据类型吗?怎样获取数组的长度? 答:不是基本数据类型,是复合数据类型。可以通过:数组名.length

java课后习题及答案

第一章JA V A语言概论 一、选择题 1. 下列不属于java语言特点的是:B A. java能检查程序在变异和运行时的错误 B. java 能运行虚拟机实现跨平台 C. java 自己操纵内存减少了内存出错的可能性 D. java 还实现了真数组,避免了覆盖数据的可能 2. java语言的执行模式是:C A. 全编译型 B. 全解释型 C. 半编译和半解释型 D. 同脚本语言的解释模式 3. 下列关于虚拟机说法错误的是:B A. 虚拟机可以用软件实现 B. 虚拟机部可以用硬件实现 C. 字节码是虚拟机的机器码 D. 虚拟机把代码程序与各操作系统和硬件分开 4. java语言是1995年由()公司发布的A A. Sun B. Microsoft C. Borland D. Fox Software 5. 下列不是虚拟机执行过程特点的是A A. 双线程 B. 多线程 C. 动态链接 D. 异常处理 6. java以JVM为基础,最下层是移植接口,由适配器和()组成B A. 网卡 B. Java os C. Java基本类 D. Java 应用程序和applet小程序 7. java程序的执行过程中用到一套JDK工具,其中javac.exe指A A. java语言编译器 B. java字节码解释器 C. java文档生成器 D. java类分解器 8. java的API结构中,不属于类库主要包括的核心包的是C A. java包 B. javax C. javadoc包 D. org扩展包 9. 每个java的编译单元可包含多个类或界面,但是每个编译单元最多只能有()类或者界面是公共的A

《Java语言程序设计(一)》课后习题答案全集

1.1 指出JAVA语言的主要特点和JAVA程序的执行过程。 答:(1)强类型; (2)编译和解释; (3)自动无用内存回收功能; (4)面向对象; (5)与平台无关; (6)安全性; (7)分布式计算; (8)多线程; 程序执行过程如图所示: 编写源文件,编译器编译源文件转换成字节码,解释器执行字节码。 1.2 说出开发与运行JAVA程序的重要步骤。 答:(1)编写源文件:使用一个文本编译器,如Edit或记事本,不可以使用Word.将编好的源文件保存起来,源文件的扩展名必须是.java; (2)编译Java源文件:使用Java编译器(javac.exe)编译源文件得到字节码文件; (3)运行Java程序:Java程序分为两类——Java应用程序必须通过Java解释器(java.exe)来解释执行其字节码文件;Java小应用程序必须通过支持Java标准的浏览器来解释执行。 1.3 如何区分应用程序和小应用程序? 答:应用程序在与源文件名字相同的类中,有main()方法,该方法代表应用程序的入口; 小应用程序必须有一个Applet类的子类,该类称作主类,必须用public修饰。 1.4 说出JAVA源文件的命名规则。 答:源文件命名规则和类命名规则一样,所有的单词首字母都用大写字母,且必须和源文件的public类同名。 1.6 JAVA语言使用什么字符集?共有多少个不同的字符? 答:Java语言使用Unicode字符集,共有65535个字符。 1.7 JAVA语言标识符的命名规则是什么? (1)由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字字符组成 (2)限定标识符的第一个字符不能是数字字符 (3)不能和关键字重名 (4)长度不能超过255个字符 1.8 JAVA有那些基本数据类型,它们的常量又是如何书写的?

《Java程序设计》课后习题参考答案

习题1参考答案 1.Java语言的特点有哪些? 答:参考1.1.2 防止直接访问数据变量看起来有些奇怪,但它实际上却对使用类的程序质量有极大的好处。既然数据的单个项是不可访问的,那么惟一的办法就是通过方法来读或写。因此,如果要求类成员内部的一致性,就应该通过类本身的方法来处理。 这种数据隐藏技术就是面向对象的重要特性——封装。它将类的外部界面与类功能的实现区分开来,隐藏实现细节,(通过公共方法)保留有限的对外接口,迫使用户使用外部界面,通过访问接口实现对数据的操作。即使实现细节发生了改变,还可通过界面承担其功能而保留原样,确保调用它的代码还继续工作,这使代码维护更简单。 2.简述封装的优点。 答:封装是一个简单而有效的思想,优点有:(1)模块化,对内成为一个结构完整、可进行自我管理、自我平衡、高度集中的整体。(2)信息隐蔽,对外则是一个功能明确、接口单一、可在各种适合的环境下都能独立工作的有机单元。 面向对象的程序设计实现了对象的封装,使得用户不必关心诸如对象的行为是如何实现的这样一些细节。通过对对象的封装,实现了模块化和信息隐藏,有利于程序的可移植性和安全性,同时也有利于对复杂对象的管理。类的封装性使得代码的可重用性大为提高,这样的有机单元特别适合构建大型标准化的软件系统,具有很高的开发效率。 3.Java的基本工具有哪些? (1)javac 编译器 (2)java 解释器 (3)jdb Java 语言调试器 (4)javadoc API文档管理器 (5)javah 头文件生成器 (6)appletviewer 小应用程序浏览器 (7)javap 类文件反汇编器 4.Java开发环境是如何配置的? 答:对于Windows 2000以上版本的操作系统,可以打开[控制面板]窗口,双击其中的[系统]图标,在[系统特性]窗口中单击[高级]选项卡,进而单击[环境变量]按钮。在出现的[环境变量]窗口中,在[系统变量]框中选择[Path]项,单击[编辑]按钮,在弹出的[编辑系统变量]窗口的[变量值]框后加上上面两条语句。 习题2参考答案 1.Java语言包含哪些数据类型? 答:包含基本数据类型和复合数据类型。基本类型包括整数类型、浮点数类型、布尔类型。复合类型包括类类型(Class Type)、接口类型(Interface Type)与数组类型(Array Type)。 2.Java有多少关键字? 答:abstract, continue, for, new, switch,boolean, default, goto*, null, synchronized,break, do, if, package, this,byte, double, implements, private, threadsafe,byvalve*, else, import, protected, throw,case, extends, instanceof, public, transient,catch, false, int, return, true,char, final,

java练习题答案

第1章java语言概述习题 一、填空题 1、面向对象程序的主要特征:继承,__封装___,___多态 _____。 2、java中的继承机制之所以能够降低程序的复杂性,提高程序的效率,主要是 因为它使代码可以__重用或复用___. 3、java语言中,为将源代码翻译成 __字节码__文件时产生的错误称为编译错误, 而将程序在运行中产生的错误称为运行错误。 4、javac是java语言中的编译器,基本语法是:javac[选项] __文件名__,java 是java语言中的解释执行器,基本语法是:java[选项]___类名___. 5、java语言的主要贡献者是谁James gosling 二、[ 三、单选题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文 件的扩展名为( B)。 A、java B、.class C、html D、.exe 2、main方法是Java Application程序执行的入口点,关于main方法的方法首 部, 以下(B)项是合法的。 A、public static void main() B、public static void main(String args[]) C、public static int main(String[] arg) ) D、public void main(String arg[]) 三、判断 1、Java语言具有较好的安全性和可移植性及与平台无关等特性。√ 2、Java语言的源程序不是编译型的,而是编译解释型的。√ 四、问答题 1、编写、运行java程序需要经过哪些主要步骤 答:1.编写源文件,扩展名必须是.java 2.编写java源程序,使用java编译器编写源文件,得到字节码文件 ~ 3.运行java程序,使用javaSE平台只不过的java解释器来解释执行字 节码文件。 2、阅读下列java源代码文件,并回答问题 public class Speak{ void speakHello(){ "I'm glad to meet you"); } } … class Xiti8{

《Java基础入门》课后章节习题及答案(完整版)

《Java基础入门》课后章节习题及答案(完整版)《Java基础入门》课后习题 第1章Java开发入门 一、填空题 1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。 2、Java程序的运行环境简称之为JRE_____。 3、编译Java程序需要使用_javac_____命令。 4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的bin______目录下。 5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量则用 来保存保存Java虚拟机要运行的“.class”文件路径。 二、选择题 1、以下选项中,哪些属于JDK工具?(多选)ABCD A、Java编译器 B、Java运行工具 C、Java文档生成工具 D、Java打包工具 2、Java属于以下哪种语言?C A、机器语言 B、汇编语言

C、高级语言 D、以上都不对 3、下面哪种类型的文件可以在Java虚拟机中运行?D A、.java B、.jre C、.exe D、.class 4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?B A、Java文档制作工具 B、Java解释器 C、Java编译器 D、Java启动器 5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java 命令,需要将环境变量path设置为以下哪个选项?B A.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre; 三、问答题 1、简述Java的特点。 面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。 2、简述JRE与JDK的区别。

java语言程序设计课后习题答案解析

习题2 3.使用“= =”对相同内容的字符串进行比较,看会产生什么样的结果。 答:首先创建一个字符串变量有两种方式:String str = new String("abc"); String str = "abc"; 使用“= =”会因为创建的形式不同而产生不同的结果: String str1 = "abc"; String str2 = "abc"; System.out.println(str1= =str2); //true String str1 = new String("abc"); String str2 = "abc"; System.out.println(str1= =str2); //false String str1 = new String("abc"); String str2 = new String("abc"); System.out.println(str1= =str2); //false 因此自符串如果是对内容进行比较,使用equals方法比较可靠。 String str1 = "abc"; String str2 = "abc"; System.out.println(str1= =str2); //true String str1 = new String("abc"); String str2 = "abc"; System.out.println(str1.equals(str2)); //true String str1 = new String("abc"); String str2 = new String("abc"); System.out.println(str1.equals(str2)); //true 5.编写一个程序,把变量n的初始值设置为1678,然后利用除法运算和取余运算把变量的每位数字都提出来并打印,输出结果为:n=1678。n的每位数字是1,6,7,8。若n为任意值呢? 法一: public class Exercise5{ public static void main(String[] args){ int n=1678; int unit; int decimal; int hundred; int thousand; int count; thousand=n/1000; count=n%1000; hundred=count/100; count=count%100; decimal=count/10; count=count%10; unit=count; System.out.println("1678包含的数 字分别是: "+thousand+','+hundred+','+decimal+', '+unit); } } //如果n为任意值 import java.io.*; public class Exercise51{ public static void main(String[] args) throws IOException{ System.out.print("请输入一个整数:"); InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfReader=new BufferedReader(isStream); String input=bfReader.readLine(); int length=input.length()-1; int n=new

《Java基础入门》_课后习题答案解析__1~

第1章 Java开发入门 一、填空题 1、Java EE、Java SE、Java ME 2、JRE 3、javac 4、bin 5、path、classpath 二、选择题 1、ABCD 2、C 3、D 4、B 5、B 三、简答题 1、面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。 2、JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程 序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。 JDK(Java Development Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。初学者学习和使用Java语言时,首先必须下载和安装JDK。JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。 四、编程题 public class HelloWorld { public static void main(String[] args) { System.out.println("这是第一个Java程序!"); } } 第2章 Java编程基础 一、填空题 1、 class 2、 true和false 3、单行注释、多行注释、文档注释 4、基本数据类型、引用数据类型 5、 1、2、4、8 6、 & && | || 7、 0 8、 5 9、 34 10、56 二、判断题 1、错 2、对 3、错 4、对 5、错

Java程序的设计课后复习题参考答案

高等院校计算机基础教育规划教材《Java 程序设计》课后习题参考答案 ――大学 习题1参考答案 1.Java语言的特点有哪些? 答:参考1.1.2 防止直接访问数据变量看起来有些奇怪,但它实际上却对使用类的程序质量有极大的好处。既然数据的单个项是不可访问的,那么惟一的办法就是通过方法来读或写。因此,如果要求类成员部的一致性,就应该通过类本身的方法来处理。 这种数据隐藏技术就是面向对象的重要特性——封装。它将类的外部界面与类功能的实现区分开来,隐藏实现细节,(通过公共方法)保留有限的对外接口,迫使用户使用外部界面,通过访问接口实现对数据的操作。即使实现细节发生了改变,还可通过界面承担其功能而保留原样,确保调用它的代码还继续工作,这使代码维护更简单。 2.简述封装的优点。 答:封装是一个简单而有效的思想,优点有:(1)模块化,对成为一个结构完整、可进行自我管理、自我平衡、高度集中的整体。(2)信息隐蔽,对外则是一个功能明确、接口单一、可在各种适合的环境下都能独立工作的有机单元。 面向对象的程序设计实现了对象的封装,使得用户不必关心诸如对象的行为是如何实现的这样一些细节。通过对对象的封装,实现了模块化和信息隐藏,有利于程序的可移植性和安全性,同时也有利于对复杂对象的管理。类的封装性使得代码的可重用性大为提高,这样的有机单元特别适合构建大型标准化的软件系统,具有很高的开发效率。 3.Java的基本工具有哪些? (1)javac 编译器 (2)java 解释器 (3)jdb Java 语言调试器 (4)javadoc API文档管理器 (5)javah 头文件生成器 (6)appletviewer 小应用程序浏览器 (7)javap 类文件反汇编器 4.Java开发环境是如何配置的? 答:对于Windows 2000以上版本的操作系统,可以打开[控制面板]窗口,双击其中的[系统]图标,在[系统特性]窗口中单击[高级]选项卡,进而单击[环境变量]按钮。在出现的[环境变量]窗口中,在[系统变量]框中选择[Path]项,单击[编辑]按钮,在弹出的[编辑系统变量]窗口的[变量值]框后加上上面两条语句。

清华大学出版社 Java课后答案

第1章: 参考答案: 习题集: 一、填空题 1.多态 2.java.exe 3.jdb.exe 4.标准字节码 5.java 6.独立于平台 二、选择题 1.B 2.A 3.B 4.A 5.A 6.C 7.C 8.D 9.C 第2章: 参考答案: 实验指导: 2.5.1.第一处需要的代码:yourGuess>realNumber 第二处需要的代码:yourGuess=input.nextInt(); 第三处需要的代码:yourGuess

java课后练习题答案

一、选择题 1、在创建某类的对象时应该(C ) A、先声明对象,然后才能使用对象 B、先声明对象,为对象分配内存空间,然后才能使用对象 C、先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D、以上述说法都对 2、以下说法中对Java中定义的父类与子类的关系描述正确是的(C ) A、一个子类可以有多个父类,一个父类也可以有多个子类 B、一个子类可以有多个父类,但一个父类只可以有一个子类 C、一个子类可以有一个父类,但一个父类可以有多个子类 D、上述说法都不对 3、给定如下Java 程序片断: class A { public A() { System.out.print ("Java"); }} class B extends A { public B() { System.out.print (" Welcome"); } public static void main(String[] args) { B b=new B(); } }上述程序将( B) A、不能通过编译 B、通过编译,输出为: Java Welcome C、通过编译,输出为: Welcome D、通过编译,输出为: Java 4、给定以下程序段,如下: int i=0,j=-1; switch(i) { case 0:j=1; case 2:j=2; default:j=5; } System.out.print("j="+j); 编译运行,正确的是(D) A、j=-1 B、j=1 C、j=2 D、j=5 5、下面关于Java构造函数的描述正确的是(D ) A、类必须有显式定义构造函数 B、它的返回类型是void C、它和类有相同的名称,但它不能带任何参数 D、以上描述都是错误的 6、在Java编程中,用来执行Java类文件的命令是(B ) A、javac B、java C、appletviewer D、以上都不对 7、如下程序片段,体现了Java的( B) 概念 public void aMethod(String s) {........} public void aMethod(int i) {........}

Java程序设计基础习题答案

Java程序设计基础课后习题参考答案 第2章 1、关于Java Application 的入口方法main()的检验: main()方法的参数名就是否可以改变? main()方法的参数个数就是否可以改变? 该方法名就是否可以改变? 参考答案:(1)main()方法的参数名可以改变。(2)main()方法的参数个数不可以改变。(3)该方法名不可以改变。 2、当一个程序没有main()方法时,能编译不?如果能编译,能运行不? 参考答案:当一个程序没有main()方法就是,就是可以编译通过的,但就是不能给运行,因为找不到一个主函数入口。 3、下列语句能否编译通过? byte i = 127; byte j = 128; long l1 = 999999; long l2 = 9999999999; 参考答案:byte i 与long l1可以编译通过。而byte j 与long l2 超出自身数据类型范围,所以编译失败。 4、下列语句能否编译通过? float f1 = 3、5; float f2 = 3、5f; 参考答案:java中浮点型的数据在不声明的情况下都就是double型的,如果要表示一个数据就是float型的,必须在数据后面加上“F”或“f”;因此,float f1 无法编译通过。 5、验证int 与char,int与double等类型就是否可以相互转换。 参考答案:(1)char类型可以转换为int 类型的,但就是int类型无法转换为char类型的;(2)int 可以转换为double类型的,但就是double类型无法转换为int 类型的。 6、计算下列表达式,注意观察运算符优先级规则。若有表达式就是非法表达式,则指出不合法之处且进行解释。 (1) 4+5 == 6*2 (2) (4=5)/6 (3) 9%2*7/3>17 (4) (4+5)<=6/3 (5) 4+5%3!=7-2 (6) 4+5/6>=10%2 参考答案:表达式(2)为不合法表达式,只能将值赋值给一个变量,因此其中(4=5)将5赋值给4就是不合法的。 7、下列()就是合法的Java标识符。 (1) Counter1 (2) $index, (3) name-7 (4) _byte (5) larray (6) 2i

JAVA课本课后习题答案

实验与训练参考代码 目录 第1章了解Java (2) 第2章面向对象的“对象” (8) 第3章对象的属性---变量详述 (11) 第4章对象的行为---成员方法详述 (15) 第5章生命周期及作用域 (21) 第6章Java常用类与函数库 (23) 第7章对象的进一步探讨--面向对象中的继承 (26) 第8章深入多态 (31) 第9章使用异常处理 (34) 第10章基于Swing的图形界面编程 (36) 第11章可视化程序的事件处理 (46) 第12章Java多线程机制 (60)

第1章了解Java 1.编写一个程序,将用户在命令行输入的24小时制时间转换为12小时制。public class TimeTest{ public static void main(String args[]){ int time; time = Integer.parseInt(args[0]); if(time<0||time>24) System.out.println("输入的不是一个合法时间!"); else if(time>12) System.out.println("12小时制为"+(time-12)+"点"); else System.out.println("12小时制为"+time+"点"); } } 2.用户输入x的数值,根据如下规则输出计算后的结果y值。 x (x<1) Y = 2x -1 (1<=x<10) 3x -11 (x>=10) public class CalculateTest{ public static void main(String args[]){ float x,y; x = Float.parseFloat(args[0]); if(x<1) y = x; else if(1<=x&&x<10) y = 2*x-1; else y = 3*x-11; System.out.println(y); } }

java语言程序设计课后习题+答案

第一章课后习题 1.编译Java程序的命令是什么 2.执行Java程序的命令是什么 应用程序和小程序的区别是什么 4.编写一个application ,实现在屏幕上打印自己名字的功能。 第一章课后习题答案 1.编译Java程序的命令是什么 答案:javac 源文件名 2.执行Java程序的命令是什么 java 主类名 应用程序和小程序的区别是什么 Java application 由Java解释器独立运行字节码 由专门的命令行启动程序执行 程序中有定义了main()方法的主类 Java applet 不能独立运行,字节码必须嵌入HTML文档 当浏览器调用含applet的Web页面时执行 程序中含有java. applet. Applet 类的子类 4.编写一个application ,实现在屏幕上打印自己名字的功能。

class Test { public static void main(String[] args) { 张三”); } } 第二章课后习题(1) 一、选择题 1.下列变量定义错误的是。 A) int a; B) double b=; C) boolean b=true; D)float f=; 2.下列数据类型的精度由高到低的顺序是: a)float,double,int,long b)double,float,int,byte c)byte,long,double,float d)double,int,float,long 3.执行完下列代码后, int a=3; char b='5'; char c=(char)(a+b); c的值是 A)’8’ b)53 c)8 d)56 是一种_____________

河南理工大学JAVA课后习题答案解析

第1章 (一)填空题 (1)C++是由C语言发展起来的,而Java是由Oak 软件发展起来的。 (2)随着Java语言的不断发展,Sun公司将Java细分为三个版本,三个版本的简称为J2SE 、J2EE 、J2ME 。 (3)Java本身的编译器是由语言编写的,运行系统的JVM(Java虚拟机)则是用语言实现的。 (4)多线程是Java程序的,它能同步共享数据,处理不同的事件。 (5)Java虚拟机执行过程的三个特点是:、、。 (6)Java的机制使得程序员从手工管理内存中解脱出来。 (二)选择题 (1)线程是Java程序的( C )机制。 A.检查 B.解释执行 C.并行 C.并发 (2)下面对于Java和C++的区别,描述不正确的是(C )。 A.Java没有指针而C++有 B.Java具有跨平台性而C++没有 C.Java支持多继承而C++只支持单继承 D.Java提供内存自动管理而C++不能 (3)Java作为编程语言,(D )特点是Java不具有的。 A.利用了面向对象的技术基础 B.可移植性 C.独立于硬件结构 D.多重继承 (4)Java和C++都是面向对象的语言,他们所具有的相同的特点是(下面都不对)。A.运算符重载 B.多重继承性 C.与硬件无关 D.指针操作 (5)Java语言具有许多优势和特点,以下(D )特点能保证软件的可移植性。 A.健壮性 B.安全性 C.跨平台 D.动态性 (6)在下列说法中错误的是( A )。 A.多行注释语句是以//开始 B.Java语言是区分大小写的 C.Java语言是以类为程序的基本单位的 D.Java程序有执行速度快的特点 (7)下面( B )不是Java虚拟机(JVM)执行过程的特点。 A.多线程 B.及时执行 C.动态连接 D.异常处理 (8)下面(D )不是Java语言的特点。 A.分布式计算 B.健壮性 C.跨平台 D.静态性 (9)下面不属于Java语言特点的是(C )。 A.动态性 B.解释执行 C.面向过程 D.多线程 (10)与Java语言安全性有关的一项是(B )。 A.并发执行 B.访问权限检查 C.封装性 D.异常处理 (11)下面不属于Java语言实现机制的是(D )。 A.并行机制 B.Java虚拟机 C.垃圾回收机制 D.代码安全检测 (12)下列属于Java语言垃圾回收机制的一项是( A )。 A.内存跟踪 B.异常处理 C.代码安全检测 D.健壮性 第2章 (一)填空题 (1)Java编译器将用Java语言编写的源程序编写成。 (2)Java程序基本上可以分成两类,即和。 (3)Java程序能在WWW浏览器上运行的是程序。 (4)Java源程序文件和字节码文件的扩展名分别为和。

JAVA课后习题答案

前言 学习网址https://www.360docs.net/doc/2015221877.html, 第一章Java语言基础 1.指出Java语言的主要特点和ava程序的执行过程。 答:强类型。 编译和解释。 自动无用内存回收功能。 面向对象。 与平台无关。 安全性。 分布式计算。 多线程。 2.说出开发与运行Java程序的主要步骤。 答:安装SUN的JDK,配置class path 编写源文件。 编译。 运行。 3.如何区分应用程序和小应用程序。 答:应用程序必须在一类中定义一个main()方法,该方法代表应用程序的入口。 小应用程序不必定义main()方法,但是必须继承applet类。 4.说出Java源文件的命名规则。 答:和类命名规则一样,首字母大写。 5.选择一种上机环境,参照实例,编写一个输出“hello world!”字样的Java程序。 答:选择SUN的IDE,用UltraEdit-32编写如下: //HelloWorld.java /**

*这是第一个程序 *@author 饶林 *@see https://www.360docs.net/doc/2015221877.html, */ class HelloWorld{ public static void main(String[] args) { System.out.println("Hello World!"); } } 6.Java用什么字符集?共有多少个不同的字符? 答:Java语言使用Unicode字符集,共有65535个字符。 7.Java语言标识符的命名规则是什么? 答:由字母(包括英文字母、下划线、美元字符、文字字符)和数字字符组成。 限定标识符的第一个字符不能是数字。 8.Java有哪些基本的数据类型,它们的常量又是如何书写的? 答:基本的数据类型也称为原始数据类型,是系统预先规定的一些常用类型。它们是:整数类型、浮点数(实数)类型、字符(文字)类型、逻辑类型(布尔型)。 9.指出下列内容那些事Java语言的整形常量,哪些是浮点数类型常量,那些两者都 不是? 1)E-4 2)A423 3)-1E-31 4)0xABCL 5).32E31 6)087 7)0x L 8)003 9)0x12.5 10)077 11)11E 12)056L 13)0. 14).0 答:整形常量:4,5,6,8,10,12 浮点型:1,3,9,13,14 两者都不是:2,7,11 第二章运算和语句 1.Java字符能参加算术运算吗? 答:能,例如char类型a自加后变b

相关文档
最新文档