《Java程序设计》课后习题参考答案
Java语言程序设计课后习题包括答案
Java语言程序设计 (郑莉 )第二章习题答案1.什么是对象、类,它们之间的联系答:1)对象是包括现实世界物体特点的抽象实体,它反响系统为之保存信息和与它交互的能力。
对象是一些属性及服务的封装体,在程序设计领域,能够用“对象=数据+作用于这些数据上的操作”来表示。
现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和有关方法的会集。
2)类是既有相同操作功能和相同的数据格式的对象的会集与抽象!3)两者的关系:对象是类的详尽实例. 。
2.什么是面向对象的程序设计方法它有那些基本特点答:面向对象程序设计从所办理的数据下手,以数据为中心而不是以服务为中心来描述系统。
它把编程问题视为一个数据会集,数据有对于功能而言,拥有更强的牢固性。
它的特点:抽象,封装,继承,多态。
3(无用)4.请讲解类属性、实例属性及其差异。
答:实例属性,由一个个的实例用来储藏全部实例都需要的属性信息,不相同实例的属性值可能会不相同。
5.请讲解类方法、实例属性及其差异。
答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。
类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示详尽实例中类对象的共有行为。
差异:实例方法能够直接接见实例变量,调用实例方法,实例方法能够直接接见类变量,调用类方法;类方法能够直接调用类变量和类方法,类方法不能够直接调用实例变量和实例方法;6.类的接见控制符有哪几种详尽含义及其差异。
答:类的接见控制符只有public (公共类)及无修饰符(默认类)两种。
差异:当使用 public修饰符时表示全部其他的类都能够使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类能够使用类。
7类成员的接见控制符有哪几种他们对类成员分别有哪些接见限制的作用答 : 类成员的接见控制符有public,private,protecte及无修饰符.public( 公有的 ): 用 public修饰的成分表示公有的, 也就是它可以被其他任何对象接见( 前提是对累成员所在的类接见有接见权限).Private(保护的 ) :类中限制为private的成员只能被这个类本身接见,在类外不能见。
java语言程序设计课后答案
java语言程序设计课后答案作业参考答案习题一4、如何建立和运行Java程序,首先启动文本编辑器,如记事本、UltraEdit等,编辑程序代码,并以.Java作为文件扩展名保存程序源代码;然后进入dos环境利用javac编译源程序,生成扩展名为.class的字节码文件;再利用命令java运行字节码文件,得到程序的运行结果。
在集成开发环境Jbuilder、Eclipse下,可以完成程序的编辑、编译、调试及运行等所有任务。
5、public class LikeJava{public static void main(String [] args){System.out.println(“I Like Java Very much!”);}}习题二5、(1) 45 (2) false (3) 14 (4) 14 (5),6 (6) true(7) 129、public class Volume{public static void main(String [] args) {double r=0,v=0;r=double.parseDouble(args[0]);v=4*3.14159/3*r*r*r;System.out.println(“球体积为:”+v);}}习题三8、public class Factorials {public static void main(String args[]) {int i, j;long s=0, k;i=1;do //外循环开始{k = 1;j=1;do{//内循环开始k = k * j; //内循环体j++;}while(j<=i);//内循环结束System.out.println(i + "!=" + k);s = s + k;i++;}while(i<=20); //外循环结束System.out.println("Total sum=" + s); }}10、public class Num{public static void main(String[]args) {int i,j,k,n;for (n=100;n<1000;n++){i=n/100;j=(n-i*100)/10;k=n%10;if (i*i*i+j*j*j+k*k*k==n)System.out.print(n+" ");}}}习题四5、import java.util.Scanner;class Factor{long fac(int m){if(m==0||m==1)return 1;else return m*fac(m-1);}public static void main(String [] args){int i,n;long sum=0;String s="";Scanner input=new Scanner(System.in);System.out.print("Please input n: ");n=input.nextInt();Factor f=new Factor();for(i=1;i<=n;i++){ System.out.println(f.fac(i));sum=sum+f.fac(i);s=s+i+"!+";}System.out.println(s.substring(0,s.length()-1)+"="+sum); }}习题五2、import java.io.*;public class YangHuiOk{public static void main (String args[]) throws IOException {int max,a[][],i,j;char x;System.out.print("请输入杨辉三角要显示的行数: ");x=(char)System.in.read();max = Integer.parseInt(String.valueOf(x));a=new int[max][];for (i=0;i<max;i++){a[i]=new int[i+1];}a[0][0]=1;for (i=1;i<max;i++){a[i][0]=1;a[i][a[i].length-1]=1;for (j=1;j<a[i].length-1;j++){a[i][j]=a[i-1][j-1]+a[i-1][j];}}for(i=0;i<max;i++){//for(j=0;j<=max-i;j++) System.out.print(" ");for(j=0;j<=a[i].length-1;j++) System.out.print(a[i][j]+" "); System.out.println();}}}5、import java.util.Scanner;public class MatrixTurn {public static void main (String[] args) {int m,n;Scanner input=new Scanner(System.in);System.out.print("请输入矩阵的行数: ");m=input.nextInt();System.out.print("请输入矩阵的列数: ");n=input.nextInt();Matrix t=new Matrix(m,n);for(int i=1;i<=m;i++)//为矩阵各元素赋值for (int j=1;j<=n;j++)t.setElement(Math.random(),i,j);System.out.println("转置前的矩阵如下: ");for(int i=1;i<=m;i++){for (int j=1;j<=n;j++)//System.out.print(t.matrix[i][j]+" ");System.out.print(t.getElement(i,j)+" ");//访问矩阵元素方法1 System.out.println();}Matrix z;//声明转置矩阵z=t.turn(t);System.out.println("转置后的矩阵如下: ");for(int i=0;i<n;i++){for (int j=0;j<m;j++)System.out.print(z.matrix[i][j]+" ");//访问矩阵元素方法2,前提是matrix前无privateSystem.out.println();}}}习题六9、public class Vehicle,String color, kind;int speed;Vehicle(){color=”Red”;kind=”卡车”;speed=0;}public void setColor(String color1) { color=color1;}public void setSpeed(String speed1) { speed=speed1;}public void setKind(String kind1) { kind=kind1;}public String getColor( ) {return color;}public String getKind( ) {return kind;}public int getSpeed( ) {return speed;}public static void main(String [] args){Vehicle che=new Vehicle ();Che.setColor(“Blue”);Che.setSpeed(150);Che.setKind(“跑车”);System.out.p rintln(“有一辆”+che.getColor()+”的”+che.getKind()+”行驶在高速公路上”);System.out.println(“时速”+che.getSpeed()+”km/h”); }}习题七 7、public class Vehicle ,String color, kind;int speed;Vehicle(){color=” ”;kind=” ”;speed=0;}public void setColor(String color1){color=color1;}public void setSpeed(String speed1) {speed=speed1;}public void setKind(String kind1) {kind=kind1;}public String getColor( ) {return color;}public String getKind( ) {return kind;}public int getSpeed( ) {return speed;}}public class Car extends Vehicle {int passenger;public Car(){super();passenger=0;}public void setPassenger(int passenger){this. passenger = passenger; }public int getPassenger( ) {return passenger;}public static void main(String [] args){Car benz=new Car();benz.setColor(“Yellow”);benz.setKind(“roadster”);benz.setSpeed(120);benz.setPassenger(4);System.out.println(“benz: “);System.out.println(“Color “+benz.getColor());System.out.print(“Speed (km/h)“);System.out.println(benz.getSpeed()); System.out.println(“Kind: “+benz.getKind()); System.out.print(“Passenger: “);System.out.println(benz.getPassenger());}}习题九4、import java.io.*;public class UseException{public static void main(String [] args){System.out.println("请输入一个整数字符串");try{BufferedReader in=new BufferedReader(new InputStreamReader(System.in));int a=Integer.parseInt(in.readLine());System.out.println("您输入的整数是:"+a);}catch(IOException e){System.out.println("IO错误");}catch(NumberFormatException e1){System.out.println("您输入的不是一个整数字符串");}}}习题十 7、import java.io.*;public class SaveName {public static void main(String [] args){try{BufferedReader br=new BufferedReader(newInputStreamReader(System.in));BufferedWriter bw=new BufferedWriter(new FileWriter("name.txt"));String s;while(true){System.out.println("请输入姓名:");s=br.readLine();if(s.length()==0)break;bw.write(s);bw.newLine();}br.close();bw.close();}catch(FileNotFoundException e){System.out.println(e.toString());}catch(IOException e1){System.out.println(e1.toString());}}}8、import java.io.*;public class SaveGrade{public static void main(String [] args){try{BufferedReader br=new BufferedReader(newInputStreamReader(System.in));BufferedWriter bw=new BufferedWriter(new FileWriter("grade.txt"));String s,ss;while(true){System.out.println("请输入姓名:");s=br.readLine();if(s.length()==0)break;bw.write(s);bw.newLine();System.out.println("请输入学号:");s=br.readLine();bw.write(s);bw.newLine();System.out.println("请输入成绩:");s=br.readLine();bw.write(s);bw.newLine();}br.close();bw.close();int max=0,min=100,total=0,num=0;BufferedReader bf=new BufferedReader(new FileReader("grade.txt")); while(true){ss=bf.readLine();if(ss==null)break;ss=bf.readLine();ss=bf.readLine();int grade=Integer.parseInt(ss);total+=grade;num+=1;if(grade>max)max=grade;if(grade<min)min=grade;}System.out.println("学生成绩中最高为:"+max+",最低为:"+min+",平均分为:"+total*1.0/num);bf.close();}catch(FileNotFoundException e){System.out.println(e.toString());}catch(IOException e1){System.out.println(e1.toString());}}}习题十一6、import java.awt.*;import java.awt.event.*;public class ChangeColor extends Frame { private Button red=new Button("红");private Button green=new Button("绿"); private Button blue=new Button("蓝"); private TextField text=new TextField(); public ChangeColor(){super("改变颜色");this.setLayout(null);text.setBackground(Color.WHITE);red.setBounds(25,50,50,20);this.add(red);green.setBounds(125,50,50,20);this.add(green);blue.setBounds(225,50,50,20);this.add(blue);text.setBounds(25,100,250,30);this.add(text);red.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) {text.setBackground(Color.RED);}});green.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) {text.setBackground(Color.GREEN);}});blue.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) {text.setBackground(Color.BLUE);}});addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});setSize(300,200);setVisible(true);}public static void main (String[] args){ChangeColor color=new ChangeColor(); }}习题十二5、import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Goods extends JFrame {private JComboBox list;private JTextArea info;private String names[]={"请选择你要查询的商品","A商品","B商品","C商品","D商品","E商品","F商品"};private String goods[][]={ {"","",""},{"A商品","北京",",300"},{"B商品","上海",",400"},{"C商品","广州",",500"},{"D商品","长沙",",600"},{"E商品","武汉",",700"},{"F商品","天津",",800"}};public Goods(){super("商品信息");Container pane=this.getContentPane();pane.setLayout(new BorderLayout());list=new JComboBox(names);info=new JTextArea(5,20);pane.add(list,BorderLayout.NORTH);pane.add(info,BorderLayout.CENTER);list.addItemListener(new ItemListener(){ public void itemStateChanged(ItemEvent e) {int index=list.getSelectedIndex();info.setText("商品名:"+goods[index][0]+"\n"); info.append("产地:"+goods[index][1]+"\n"); info.append("价格:"+goods[index][2]+"\n"); }});this.setSize(250,300);this.setVisible(true);}public static void main (String[] args) {Goods ccc=new Goods();ccc.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e) {System.exit(0);}});}}。
java语言程序设计课后习题答案
java语言程序设计课后习题答案第一章:计算机、程序和JAVA概述1、2、1什么是硬件和软件?答:硬件指计算机中可见的物理部分;而软件提供不可见的指令,这些指令控制硬件并使硬件完成特定的任务。
1、2、2列举计算机的5个主要硬件组件。
答:中央处理器(CPU);内存(主存);存储设备(磁盘、光盘);输入设备(鼠标、键盘);输出设备(显示器、打印机);通信设备(调制解调器、网卡)。
1、2、3编写“CPU”代表什么含义?测量CPU速度的单位是什么?答:CPU(Central Proceing Unit)中央处理单元,包括控制单元和算术、逻辑单元;单位是HZ,现在通常以MHZ,GHZ数量级衡量。
1、2、4什么是比特?什么是字节?答:bit是计算机物理设备中存储的最小单位;8个bit为1个byte。
1、2、5内存是用来做什么的?RAM代表什么?为什么内存成为RAM?答:内存用来存储程序和数据;RAM(Random-Acce Memory)-可随机访问存储介质;因为内存可以按任意顺序存取字节所以被称为RAM(按功能划分)。
1、2、6用于测量内存大小的单位是什么?用于测量磁盘大小的单位是什么?答:GB,TB1、2、7内存和永久存储设备的主要不同是什么?答:内存是易失性存储介质(断电即失),存储容量小,传输速度快;永久存储设备为非易失性存储介质(断电可留),存储容量大,传输速度慢。
1、3、1CPU能理解什么语言。
机器语言。
1、3、2什么是汇编语言?什么是汇编器?汇编语言能用短的描述性单词来表示每一条机器语言指令,是一种低级语言。
汇编器可以将汇编语言转换成机器语言。
1、3、3什么是高级编程语言?什么是源程序?很像英语,易于学习和使用的编程语言称为高级编程语言。
使用高级编程语言编写的程序称为源程序。
1、3、4什么是解释器?什么是编译器?解释器会逐条读取源代码中的语言,并立刻翻译成机器代码或者虚拟机器代码,然后立刻运行。
java程序设计(雍俊海)课后部分标准答案
第一章1 • 1谁是java语言创始人J a mes Gosli n g, J a va语言的创始人之一1.2j ava语言有哪些优缺点?P 2页(1)简单性(2)网络特性(3)面向对象性(4)平台无关性/可移植性(5)鲁棒性也指程序稳定性(6)安全性(7)多线程性,采用多线程机制是提高程序运行效率的方法,但增加了程序的设计难度(8)解释性,缺点,解释执行语言要不编译执行语言需要额外的语句解释不龙及运行时间。
1. 4请简述环境变相path和c 1 asspa t h作用环境变量运行路径(path)和类路径(classpath)1. 5java程序可以分为几种,分别是什么?两种,应用程序和小应用程序applt1. 6 査看j ava 在线帮助文档,列举岀system, o ut. pr i n tl n 和s ys t em. out. print 的不同点。
S y s t em. o u t. printin 自动换行,system, ou t . print 不自动换行。
1.7试着编写一个j ava程序,在控制台窗口中输岀如下信息。
Publ i c clas s TestPubli c sta t i c void m a in(strng args[]){ system, out. print In (M*** **** *次* **** *** ****");s ys t em. o ut・ pr i ntln(v ** p ra c ti c e makes pe r f e c t ,?):system・ ou t ・ p ri n tin ( ” ******* ***** ***** * **次”);}1.8编写一个j ava程序,在网页中显示如下信息。
import ja v a ・ a w t .Graph i cs;import javax. swing・ JAppl e t;p u b 1 i c c 1 ass J_H e lloAp p let extend s JA p plet{pu b lie v o i d p a i nt (Gr a phics g){g. cle a rRect (0, 0F g e t W i d th() > g etH e igh t ());g . draw S trin g ( "** * * **** **** * * * * * * 次 ** *** * * * ********** * * ************", ] 0, 2 0);g. d rawStri n g (" * * 熟能生巧",10, 30);g. dra w Stri ng ( " * **** * **** * 次 ********** * *** * *** * **** * * 次*************", ] 0, 40);}}网页:< h tml><head><t i tie >java 小程序 </ t itle> </h e ad> <body><APP LET CODE「J_Hel 1 oAp p let. class' WIDTH二〃200〃h e i g ht = '40,z> </appl e t > <BR></bo d y></html>1. 9请阐述编写j a va程序的具体步骤:第二章:2.2 U"算下而java表达式的值,并写出表达式结果在j ava中的数据类型(1)1+4/5+ ( i nt) 5. 2/2. 5=3. 0 //数据类型:浮点类型(2)1+4/5+ ( i nt) (5.2/2. 5)=3 / / 数据类型:整型(3)1+4/5 + 5. 2/2. 5=3. 08 //数据类型:浮点类型(4 ) 1. 0+4/5+5. 2/2. 5=3. 08 //数据类型:浮点类型(5)1+4/5. 0 +5.2/2. 5=3. 8 8 //数据类型:浮点类型(6)设已定义了变量i nt a =12,请计算表达式(++a) + (a++)因为a=12则 + +a=13现在护1 3所以a++二1 3所以表达式(++a)+(a++)=2 6 //数据类型:整型(7)10 >>2=2 //数据类型:整型(8)10&1 1 |12结果为t rue //数据类型:布尔型(9)5“7结果为2 即为真(10)(-5)1 (^5)结果为一5 //数据类型:整型J N字节码正确结果。
Java程序设计教程 课后答案
Java程序设计教程第3版课后答案第一章填空题:1、Java源程序文件的扩展名是_java_;Java源程序经编译后生成Java字节码文件,其扩展名是_class_。
2、在Java语言中,将源代码翻译成_java字节码文件_时产生的错误称为编译错误,而将程序在运行中产生的错误称为运行错误。
3、一个Application源程序文件名为MyPro.java,如果使用Sun公司的Java开发工具SDK 编译该源程序文件并使用其虚拟机运行这个程序的字节码文件,应该顺序执行如下两个命令:_javac MyPro.java_、_java MyPro_。
4. 已知:int a =8,b=6; 则:表达式++a-b++的值为_3_。
5. 已知:boolean b1=true,b2; 则:表达式! b1 && b2 ||b2的值为_false_。
6. 表达式(18-4)/7+6的运算结果是_8_。
7、表达式5>2 && 8<8 && 23<36的运算结果是_false_。
思考题:1、源程序是什么?答:源程序文件的三要素:一、以package语句开始的包声明语句为可选,若有,只能有一个且必须是第一句,若没有,此文件将放到默认的当前目录下二、以import语句开始的类引入声明语句,数量可以是任意个三、class定义和interface定义中,由public开始的类定义只能有一个,且要求源程序文件名必须与public类名相同,Java语言对字符的大小写敏感2、编译的作用是什么?答:用Java语言编辑的源程序的执行方法是采用先经过编译器编译、再利用解释器解释的方式来运行的。
3、什么是Java的byte-codes,它的最大好处是什么?答:Java源程序经过编译器编译,会被转换成一种我们将它称之为“字节码(byte_codes)”的目标程序。
“字节码”的最大特点便是可以跨平台运行。
Java程序设计-习题参考答案
参考答案第1章1、结合实际生活实践,简述计算机的用处?(1)科学计算(2)信息管理(3)计算机辅助工程(4)自动控制(5)数据处理2、按照性能指针分类的话,都有哪些类型的计算机。
⏹巨型计算机⏹大/中型计算机⏹小型计算机⏹微型计算机⏹工作站⏹服务器3、计算机系统由哪两部分组成的?计算机硬件结构由哪几部分组成?它们各自有什么作用?一台计算机由硬件和软件组成。
一台典型的计算机由五大部分组成。
这五大部分是:运算器,控制器,存储器,输入设备和输出设备。
运算器是执行算术运算和逻辑运算的部件。
控制器是向计算机其他部分发送命令的部件。
存储器是计算机用来存储数据、信息的部件。
输入设备就是外界向计算机输入信息设备。
输出设备恰好与输入设备的作用相反,它将处理过后的信息输出呈现给用户。
4、简述光栅扫描显示器的组成及工作原理?光栅扫描显示器由主要由显示存储器、图像生成器、彩色表、CRT控制器和CRT监视器5个部分组成。
首先由图形生成器根据主机发送来的画图命令转换成相应点阵存入到显示存储器中,即在显示存储器中生成所显示画面位图。
然后,CRT控制器一方面产生水平和垂直同步信号并将其送到监视器,使CRT电子束不断地自上而下、自左向右进行扫描,形成光栅;另一方面,又根据电子束在屏幕上的行列位置,不断地读出显示存储器中对应位置的像素值。
此时彩色表中对应值控制R、G、B电子束,在屏幕对应点生成需要的像素值。
为了使显示画面不产生闪烁,上述过程要反复进行,一般要求CRT的帧频为60帧/秒以上。
5、什么是计算机软件?列举你所知道的一些常用软件?软件实际上就是指我们计算机上所有可以运行的程序、代码、以及文档和数据的总和。
大到操作系统小到一个文本编辑器,都属于软件的范畴。
常用软件:操作系统,Office办公软件,QQ,游戏等。
6、计算机病毒是什么东西?如何有效防止病毒?计算机病毒是一种人为制造的、在计算机运行中对计算机信息或系统起破坏作用的程序。
java程序设计课后练习答案
1.2.1 什么是硬件和软件?硬件是指计算机中可见的物理部分(比如:处理器,显示器,鼠标,键盘等),而软件提供不可见的指令(常用的软件程序:应用软件,系统软件,病毒等)。
1.2.2 列举计算机的 5个主要硬件组件。
中央处理器(CPU)、内存、存储设备、输入设备和输出设备、通信设备。
1.2.3 缩写“CPU”代表什么含义?Central Processing Unit1.2.4 衡量 CPU速度的单位是什么?Hz(赫兹)、MHz(兆赫兹)、GHz(吉赫兹)1.2.5 什么是比特? 什么是字节?比特就是二进制数字系统中的数,计算机中字节是最小的存储单元1.2.6 内存是用来做什么的?RAM代表什么?为什么内存成为RAM?计算机的内存由一个有序的字节序列组成,用于存储程序及程序需要的数据。
RAM代表随机访问存储器。
每个字节都有唯一的地址,使用这个地址确定字节的位置,以便于存储和获取数据,因为可以按任意顺序存取字节,所以内存也被称为: 随机访问存储器(RAM)。
1.2.7 用于衡量内存大小的单位是什么?字节1.2.8 用于衡量磁盘大小的单位是什么?B、KB、MB、GB1.2.9 内存和永久存储设备的主要不同是什么?内存和永久存储设备的不同是计算机的内存是一种易失的数据保存形式:断电时存储在内存中的信息就会丢失。
程序和数据被永久的存放在存储设备上,当计算机确实要用他们时再移入内存,因为从内存读取比从存储设备读取要快得多。
1.3.1 CPU 能理解什么语言?机器语言1.3.2 什么是汇编语言?什么是汇编器?汇编语言(assembly language)就是使用短的描述性单词(助记符)来表示每一条机器语言指令。
由于计算机不理解汇编语言,所以需要使用一种称为汇编器(assembler)的程序将汇编语言程序转换为机器代码。
1.3.3 什么是高级编程语言?什么是源程序?高级编程语言类似于英语,易于学习和使用,高级语言中的指令称为语句。
《Java程序设计》课后习题参考答案
《Java程序设计》课后习题参考答案Java程序设计课后习题参考答案1. 介绍在 Java 程序设计课程中,课后习题是帮助学生巩固知识、加深理解和提高编程能力的重要环节。
本文将为大家提供《Java程序设计》课后习题的参考答案,以帮助学生更好地学习和掌握 Java 编程。
2. 基本概念Java 程序设计课后习题涵盖了从基础到高级的各种知识点,包括但不限于变量、数据类型、条件语句、循环语句、数组、类、对象、继承、多态等内容。
通过解答这些习题,学生可以加深对这些概念的理解,并且通过实际操作来巩固他们的编程能力。
3. 习题解答策略当解答课后习题时,以下几个策略可以帮助你更好地理解和解决问题:3.1 仔细阅读题目要求。
确保自己充分理解题目所要求的功能和目标。
3.2 分析问题。
在着手解答问题之前,先理清思路,分析问题的要点和关键部分。
3.3 设计算法。
根据问题的要求,设计一个合适的算法来解决问题。
3.4 编写代码。
用 Java 编程语言将你设计的算法转化为代码实现。
3.5 测试和调试。
对编写的代码进行测试和调试,确保程序能够正常运行,并且得到正确的结果。
4. 习题参考答案示例下面我们将列举几个常见的习题参考答案示例,以帮助大家更好地理解和学习 Java 程序设计:4.1 变量与数据类型:习题要求定义一个整型变量并赋值为10,然后输出该变量的值。
```public class VariableExample {public static void main(String[] args) {int num = 10;System.out.println("变量的值为:" + num);}}```4.2 条件语句:习题要求判断一个数是否是偶数,如果是,则输出“偶数”,否则输出“奇数”。
```public class EvenOddExample {public static void main(String[] args) {int num = 5;if (num % 2 == 0) {System.out.println("偶数");} else {System.out.println("奇数");}}}```4.3 循环语句:习题要求输出1到10之间的所有偶数。
JAVA程序设计课后习题及答案6
第6章1.Java的文件输入和输出需要用到流(stream)。
流是计算机的输入与输出之间的数据序列,是输入设备(数据来源)或输出设备(数据目标)的一种抽象表示。
可以把数据写入一个流,也可以从流中读出数据。
2.字节流主要操作byte类型的数据,主要的操作类包括InputStream和OutputStream。
它们定义了数据流读取和写入的基本方法。
而在程序中一个字符通常都是按照两个字节来处理的,所以Java 提供了Reader和Writer两个抽象类来专门操作字符流。
3.(1)int read( )。
该方法从相应的流中读取一个字节,并返回int型的值。
(2)int read(byte[] buffer)。
该方法从流中读取足够的字节到字节数组buffer中,直到流的结尾。
该方法返回int型的值,表示读取的字节个数。
(3)int read(byte[] buffer, int offset, int length)。
该方法从流中读取一定的字节到字节数组buffer从offset开始的数组缓冲区中,读取的字节数为length。
该方法返回int型的值,表示读取的字节个数。
4.流式输入和输出方法在一个操作中一般只允许把少量的数据写入或读出,如一些字节、字符或字符串,与物理设备之间传送数据的效率很低,所以,通常使用一个缓冲区来配合一个流的操作,这样的流称为缓冲流(buffered stream)。
缓冲流使内存与外部设备之间传送的实际数据以足够大的数据块形式传送,从而使输入和输出操作具有更高的效率。
当向一个缓冲流写入数据时,数据会被发送到这个缓冲区,而不是被发送到具体的外部设备。
缓冲区中的数据量由系统自动记录,只有当缓冲区满时,这些数据才会被发送到具体的外部设备。
缓冲输入流的工作方式与缓冲输出流相似,任何一个在缓冲输入流上进行的读操作都从该缓冲区读取数据。
当缓冲区空时,只要还有数据输入,系统就会从相关设备自动读取缓冲区容量大小的数据到缓冲区中。
Java语言程序设计 课后习题+答案
第一章课后习题1.编译Java程序的命令是什么?2.执行Java程序的命令是什么?3.Java应用程序和小程序的区别是什么?4.编写一个application ,实现在屏幕上打印自己名字的功能。
第一章课后习题答案1.编译Java程序的命令是什么?答案:javac 源文件名2.执行Java程序的命令是什么?java 主类名3.Java应用程序和小程序的区别是什么?Java application⏹由Java解释器独立运行字节码⏹由专门的命令行启动程序执行⏹程序中有定义了main()方法的主类Java applet⏹不能独立运行,字节码必须嵌入HTML文档⏹当浏览器调用含applet的Web页面时执行⏹程序中含有java. applet. Applet 类的子类4.编写一个application ,实现在屏幕上打印自己名字的功能。
class Test{public static void main(String[] args){System.out.println(“张三”);}}第二章课后习题(1)一、选择题1.下列变量定义错误的是。
A) int a; B) double b=4.5; C) boolean b=true; D)float f=9.8;2.下列数据类型的精度由高到低的顺序是:a)float,double,int,longb)double,float,int,bytec)byte,long,double,floatd)double,int,float,long3.执行完下列代码后,int a=3;char b='5';char c=(char)(a+b);c的值是?A)’8’ b)53 c)8 d)564.Unicode是一种_____________A) 数据类型 B)java包 C)字符编码 D)java类5.6+5%3+2的值是___________A)2 B)1 C) 9 D)106.下面的逻辑表达式中合法的是__________A)(7+8)&&(9-5) B)(9*5)||(9*7) C)9>6&&8<10 D)(9%4)&&(8*3) 7.java语言中,占用32位存储空间的是__________。
普通高等教育十一五国家级规划教材《JAVA程序设计》课后习题答案大全
}
public void set(int length,int width){
this.length=length;
this.width=width;
}
public void get(){
System.out.println("此长方形的长为"+length+"宽为"+width);
{
Rect A=new Rect();
A.set(20,30);
A.get();
A.area();
A.crea();
}
}
3.运行结果:
五.问答题
1. 答:
Java中使用static修饰的变量和方法称为类变量(或称静态变量)和类方法(或称静态方法),没用static修饰符的变量和方法称为实例变量和实例方法。
BufferedReader n;
year=new InputStreamReader(System.in);
n=new BufferedReader(year);
System.out.print("请输入一年份:");
String s=n.readLine();
int leapyear=Integer.parseInt(s);//把输入的字符串转换成整型
if(leapyear%4==0 && leapyear%100!=0 || leapyear%400==0)
System.out.print(leapyear+"年是闰年!");
else
System.out.print(leapyear+"年不是闰年!");
《JAVA程序设计》习题集及参考答案_IT168文库
标移 出 Applet 的 区 域 范 围 时 触 发 mouseExit() 方 法 (对 ) 36.可以先创建一个空白的 Label 对象,然后再向里面设置具体的文本内容 (错 ) 37.一个容器必须使用 FlowLayout、BorderLayout、GridLayout、CardLayout 和 GridBagLayout 五 种 布 局 策 略 中 的 一 种 (错 ) 38 . 接 口 KeyListener 中 有 两 个 抽 象 方 法 KeyUp() 和 KeyDown() (错 ) 39 . 使 用 GridLayout 布 局 策 略 的 容 器 中 , 所 有 组 件 都 有 相 同 大 小 (对 ) 40 . 一 个 程 序 里 有 且 只 能 有 一 个 公 共 类 , 它 就 是 主 类 。 (对) 41.lass1 类的属性被 private 修饰符修饰为私有变量,所以方法不能访问它。 (错) 42 . 最 终 类 不 能 派 生 子 类 , 最 终 方 法 不 能 被 覆 盖 。 (对) 43 . 子 类 要 调 用 父 类 的 方 法 , 必 须 使 用 super 关 键 字 。 (错) 44 . 一 个 Java 类 可 以 有 一 个 父 类 , 并 实 现 多 个 接 口 。 (对) 45. 接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所 有 常 量 和 抽 象 方 法 。 (对) 46. 调 用 画 矩 形 方 法 需 要 给 出 的 是 矩 形 左 上 和 右 下 角 的 坐 标 。 (错) 47. TextField 和 TextArea 是用来接受用户输入的组件,但是也可以由程 序 控 制 使 用 户 不 能 在 其 中 输 入 信 息 。 (对) 48. 下面 的语 句把组 件 com 加入 到容器的中央: add(Center,com) ; 。 (错) 49. 二 维 数 组 说 明 语 句 : int a[5][5] = new int[][]; 。 (错) 50. 一 个 容 器 可 以 使 用 多 种 布 局 管 理 器 。 (对) 51. 子 类 要 调 用 父 类 的 方 法 必 须 使 用 super 关 键 字 。 (错) 52. 某程序中的主类不是 Thread 的子类,也没有实现 Runnable 接口,则 这 个 主 类 运 行 时 不 能 控 制 主 线 程 睡 眠 。 (错) 53. 一个 Chckbox 对象既可以作为一个复选按钮,也可以作为一个单选 按 钮 组 中 的 一 个 按 钮 。
Java程序设计实用教程 课后习题答案
第1章Java概述1.3 Java对源程序文件的命名规则有什么要求?源程序文件编译后生成什么文件?答:如果源文件中有多个类,那么只能有一个类是public类。
如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是java;如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是java就可以了。
Java源程序文件(*.java)通过编译器javac.exe编译生成字节码文件(*.class)。
1.5 什么是平台无关性?Java怎样实现平台无关性?答:平台无关性,是指一个应用程序能够运行于不同的操作系统平台。
Java采用虚拟机技术支持平台无关性。
Java源程序(*.java)经编译生成的是一种中间代码,称为字节码文件(*.class),它由Java虚拟机解释执行,因而与操作系统平台无关。
Java 语言本身设计也体现出平台无关性。
如,int型整数占用32位,与操作系统是16位、32位或64位无关。
1.6 Java应用程序有哪两种形式?它们的运行方式有什么不同?答:Java应用程序有两种形式:Application和Applet。
Application是能够独立运行的应用程序,有控制台和图形用户界面两种运行方式。
Applet是可以嵌入Web页面的最小应用,它不能独立运行,必须嵌入到超文本(*.html)中,由浏览器中的Java解释器解释执行。
Applet只是Application的特殊形式。
第2章Java语言基础2.2 Java语言的基本类型有哪些?引用数据类型有哪些?答:基本类型包括数值类型和布尔类型(boolean),其中数值类型包括整数类型(byte、short、int、long)、浮点类型(float、double)、字符类型(char)。
引用数据类型包括数组、类(class)、接口(interface)。
2.7 什么是最终变量?如何声明最终变量?答:Java语言提供一种特殊的变量,只能进行一次赋值,称为最终变量,采用关键字final 声明。
Java程序设计教程课后答案
Java程序设计教程课后答案Java程序设计教程第3版课后答案第一章填空题:1、Java源程序文件的扩展名是_java_;Java源程序经编译后生成Java字节码文件,其扩展名是_class_。
2、在Java语言中,将源代码翻译成_java字节码文件_时产生的错误称为编译错误,而将程序在运行中产生的错误称为运行错误。
3、一个Application源程序文件名为MyPro.java,如果使用Sun 公司的Java开发工具SDK 编译该源程序文件并使用其虚拟机运行这个程序的字节码文件,应该顺序执行如下两个命令:_javac MyPro.java_、_java MyPro_。
4. 已知:int a =8,b=6; 则:表达式++a-b++的值为_3_。
5. 已知:boolean b1=true,b2; 则:表达式! b1 && b2 ||b2的值为_false_。
6. 表达式(18-4)/7+6的运算结果是_8_。
7、表达式5>2 && 8<8 && 23<36的运算结果是_false_。
思考题:1、源程序是什么?答:源程序文件的三要素:一、以package语句开始的包声明语句为可选,若有,只能有一个且必须是第一句,若没有,此文件将放到默认的当前目录下二、以import语句开始的类引入声明语句,数量可以是任意个三、class定义和interface定义中,由public开始的类定义只能有一个,且要求源程序文件名必须与public类名相同,Java语言对字符的大小写敏感2、编译的作用是什么?答:用Java语言编辑的源程序的执行方法是采用先经过编译器编译、再利用解释器解释的方式来运行的。
3、什么是Java的byte-codes,它的最大好处是什么?答:Java源程序经过编译器编译,会被转换成一种我们将它称之为“字节码(byte_codes)”的目标程序。
Java程序设计教程课后答案
Java程序设计教程第3 版课后答案第一章填空题:1、 Java 源程序文件的扩展名是_展名是_ class_。
java_; Java 源程序经编译后生成Java 字节码文件,其扩2、在Java 语言中,将源代码翻译成_java字节码文件_时产生的错误称为编译错误,而将程序在运行中产生的错误称为运行错误。
3、一个Application源程序文件名为MyPro.java ,如果使用Sun 公司的Java 开发工具SDK 编译该源程序文件并使用其虚拟机运行这个程序的字节码文件,应该顺序执行如下两个命令:_ javac MyPro.java _、_ java MyPro _。
4.已知: int a =8,b=6; 则:表达式 ++a-b++ 的值为_ 3_。
5.已知: boolean b1=true,b2; 则:表达式 ! b1 && b2 ||b2 的值为_ false_。
6.表达式( 18-4)/7+6 的运算结果是_ 8_。
7、表达式5>2 && 8<8 && 23<36的运算结果是_false_。
思考题:1、源程序是什么?答:源程序文件的三要素:一、以 package 语句开始的包声明语句为可选,若有,只能有一个且必须是第一句,若没有,此文件将放到默认的当前目录下二、以 import 语句开始的类引入声明语句,数量可以是任意个三、 class 定义和 interface 定义中,由 public 开始的类定义只能有一个,且要求源程序文件名必须与 public 类名相同, Java 语言对字符的大小写敏感2、编译的作用是什么?答:用 Java 语言编辑的源程序的执行方法是采用先经过编译器编译、再利用解释器解释的方式来运行的。
3、什么是Java 的byte-codes,它的最大好处是什么?答: Java 源程序经过编译器编译,会被转换成一种我们将它称之为“字节码(的目标程序。
Java程序设计课后练习答案
《Java程序设计》课后练习答案第一章Java概述一、选择题1. (A)是在Dos 命令提示符下编译Java程序的命令,(B )是运行Java程序的命令。
A. javacB. javaC. javadocD. javaw2. (D)不是Java 程序中有效的注释符号。
A. //B. /* */C. /** */D. */ */3. (B )不是Java语言的特点。
A. 面向对象B. 自动检查语法错误C. 跨平台D. 解释执行4. Java编译器会将Java程序转换为( C )A. 可执行代码B. 目标代码C. 字节码D. 机器代码5. Java源文件的扩展名是(D)A. .classB. .jarC. .javD. .java二、简答题1、Java 的跨平台的含义是什么?为什么Java 可以跨平台?Java 语言的一个非常重要的特点就是平台无关性。
它是指用Java 编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。
Java 之所以能平台无关,主要是依靠Java 虚拟机(JVM)来实现的。
JVM 是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。
Java 编程人员在编写完Java 程序后,Java 编译器将Java 源代码文件编译后生成字节码文件(一种与操作系统无关的二进制文件)。
字节码文件通过Java 虚拟机(JVM)里的类加载器加载后,经过字节码校验,由解释器解释成当前电脑的操作系统能够识别的目标代码并最终运行。
以下图展示了Java 程序从编译到最后运行的完整过程。
2、简述Java 语言的特点Java 具有以下特点:1) 、简单性Java 语言的语法规则和C语言非常相似,只有很少一部分不同于C语言,并且Java 还舍弃了C语言中复杂的数据类型(如:指针和结构体),因此很容易入门和掌握。
2) 、可靠性和安全性Java 从源代码到最终运行经历了一次编译和一次解释,每次都有进行检查,比其它只进行一次编译检查的编程语言具有更高的可靠性和安全性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题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,interface, short, try,class, finally, long, static, void,const*, float, native, super, while 3.byte、short、int、long和char整数类型各占了多少字节?答:byte占了1字节,short占了2字节,int占了4字节,long占了8字节,char占了2字节。
4.Java的控制结构有哪几类?答:流程控制语句可以分为选择、循环和跳转3大类。
习题3参考答案1.声明类的格式是什么?答:[类修饰符]class类名称[extends父类名称][implements接口名称]{类主体}2.面向对象程序设计中,什么是构造函数?答:类类型声明方法成员,如果方法名称与类名称一样,这种方法成员称为构造函数。
习题4参考答案1.面向对象程序设计中,什么是封装?答:OOP将处理过程与数据合并在一起处理。
2.面向对象程序设计中,什么是数据抽象化?答:OOP程序设计的重心为对象,因些对象被视为拥有本身数据与处理过程的组件,这些组件都有其独立性。
所以对象内、外程序的处理就有某种程度的限制,换句话说,对象外部并不明了对象内部数据如何传递、改变,如何处理过程。
这种隐藏对象内部的数据及处理过程的方式,使得对象抽象化,有人将这种处理方式称为数据抽象化。
类库就是Java API(Application ProgrammingInterface,应用程序接口),是系统提供的已实现的标准类的集合。
在程序设计中,合理和充分利用类库提供的类和接口,不仅可以完成字符串处理、绘图、网络应用、数学计算等多方面的工作,而且可以大大提高编程效率,使程序简练、易懂。
习题5参考答案1.简述数据类型类的常用方法。
答:对所有数据类型类的对象,形如“对象名.xxxxValue()”的成员方法,用来获得对象中的基本类型数据。
包括:对象名.doubleValue();对象名.intValue();对象名.byteValue();对象名.shortValue();对象名.longValue();对象名.charValue();对象名.floatValue();对象名.booleanValue();2.何为命令行参数?答:所谓命令行参数,是指执行某个Java应用程序时,从命令行中向程序直接传送的参数。
我们可以获得这些参数的值,并运用到程序的执行过程中。
3.如何定义和创建一个数组?答:要创建一个数组,必须首先定义数组变量所需的类型。
通用的一维数组的声明格式是:type arrayName[];其中,type定义了数组的基本类型,arrayName是数组的名称。
基本类型决定了组成数组的每一个基本元素的数据类型。
4.如何声明一个二组数组?答:二维数组的一般声明格式如下:数组元素类型数组名[][];数组元素类型[][]数组名;5.列举一下数据类型类的常用方法。
答:对所有数据类型类的对象,形如“对象名、xxxxvalue()”的成员方法,用来获得对象中的基本数据类型。
包括:对象名、double V alue();对象名、int Value();对象名、byte Value();等。
习题6参考答案1.解释下列方法的意义:(1)toLowerCase() (2)toUpperCase() (3)charAt()(4)equalsIgnoreCase() (5)capacity() (6)setLength()(7)reverse() (8)replace(start,end,str)答:(1)将字符转换成小写字符(2)将字符转换成大写字符(3)从0算起第index字符(4)忽略大小写,比较两字符串是否,相等,若是返回true,否则返回false(5)计算字符串缓冲器的容量(6)设定字符串的长度(7)将字符串反转排列(8)返回字符串缓冲器从stare开始到end结束字符被str字符串取代2.capacity()与length()的用法有什么不同?答:capacity()用来计算字符串缓冲器的容量,length()用于计算字符串长度。
如:String Buffer ko1=new String Buffer(20),则ko1 capacity()=20,但ko1,length()可能是0或20,视ko1字符串长度而定。
习题7参考答案1.什么叫流?流式输入输出有什么特点?答:Java中的流是对数据传递机制的抽象。
流分为两种:输入和输出。
Java中所有输入/输出操作都是使用基本字节类型完成的。
字符是通过值为字节类型的特殊代码处理的。
Java程序的所有读写操作都是通过流实现的。
流是一组字符序列。
输入源可以是键盘、文件或网络,输出自的地可以是屏幕、文件或网络。
数据作为字节序列进行发送和接收。
2.File类有哪些构造函数和常用方法?并举例说明。
答:使用下面的构造函数创建File对象:File(String dirpath)File(Stringdirpath,Stringnlename)File(FnedirObj,Stringfilename)这里,dirpath是文件的路径名,filename是文件名,dirObj是指定目录的Fie对象。
下面的例子创建了3个文件:f1、f2和f3。
第一个File对象只有目录路径一个参数。
第二个有两个参数——目录和文件名。
第三个包括赋给n的文件路径和文件名。
f3和f2指的是同一个文件。
最后一个包括指定文件“autoexec.bat”所在的目录名称。
File f1=newFile("/");File f2=newFile("/","autoexec.bat");File f3=newFile(f1,"autoexec.bat");File f3=newFile("user","autoexec.bat");File类的方法下面是File类中一些重要的方法:getName()该方法用来获取指定文件的名称。
getPath()/getAbsolutePath()这两个方法分别得到指定文件的相对路径和绝对路径。
exists()该方法用来判断命名的文件是否存在于目录当中。
isFile()/isDirectory()这两个方法分别用来判断命名的文件是否是普通文件和目录。
canRead()/canWrite()这两个方法分别用来判断指定文件是否可读写。
lastModified()该方法返回文件最近一次被修改的时间。
length()该方法返回文件的大小,以字节记。
delete()该方法用来删除指定文件。
renameTo()该方法用来对已知文件进行重命名。
它将目的文件或者说重命名后的文件对象作为参数。
isFile()该方法通常返回true,但是一些特殊的文件如设备驱动和命名管道可能与普通文件不同,所以该方法可以确定所访问实体是一个文件。
isAbsolute()如果文件是绝对路径该方法返回true,相对路径则返回false。
3.简单介绍一下Random Access File类。
答:RandomAceessFile类封装了一个随机访问文件。
它不是从输入输出流中获得。
相反,它实现了定义基础FO方法的Datalnput和DataOutput这两个接口。
它也支持定位请求,例如可以在文件中定位文件指针。
它包含下面两个构造函数:RandomAccessFile(File fObj,String acc)RandomAccessFile(String fname,String acc)在第一种形式下,fObj是指作为File对象打开的文件名称。