3《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程序设计(雍俊海)课后部分标准答案

第一章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语言程序设计教程》习题参考答案

参考源代码如下:
import java.io.*;
public class Programming0401
{ public static void main(String []args)
{ int a=5,b=10,c;
x2=Integer.parseInt(rr.readLine());
}
catch(IOException e){ }
fx1=x1*((2*x1-4)*x1+3)-6;
fx2=x2*((2*x2-4)*x2+3)-6;
}while(fx1*fx2>0);
do
{x0=(x1+x2)/2;
fx0=x0*((2*x0-4)*x0+3)-6;
7.关系8.switch9.Break10.多层循环
三、编程题
1.用二分法求方程2x3–4x2+3x–6=0在(–10,10)之间的根。
参考源代码如下:
import java.io.*;
public class Programming0501
{ public static void main(String args[])
a[i][j]=(int)(Math.random()*100+10);
System.out.println("矩阵A的各个元素为:");
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
System.out.print(a[i][j]+" ");
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程序设计案例教程习题答案完整版机工版.docx

一、选择题A C D C A二、填空题1、Java虚拟机Java字节码垃圾回收机制2、javac java3、.java .class三、简答题1、简述Java语言的发展历史。
答:•1996 年1 月,Sun 发布了JDK 1.0;•1997 年2 月,Sun 发布了JDK1.1;•1998 年12 月,Sun 发布了JDK1.2(Java 2 平台);•1999年6月,Sun重新定义Java技术架构,并将Java 2平台分为三版本:标准版(J2SE)、企业版(J2EE)和微缩版(J2ME);. 2000年5月,Sun分别分布了JDK1.3和1.4;•2004.9, JDK1.5发布,成为Java语言发展史上又一里程碑。
为了表示该版本的重要性,JDK 1.5更名为JDK5;此时,Java的各种版本已经更名,取消其中的数字“2”: J2EE 更名为Java EE, J2SE 更名为Java SE, J2ME 更名为Java ME;•2006年12月,Sun公司发布JDK 6.0:•2010年9月,JDK7.0已经发布,增加了简单闭包功能;•2014年3月,发布JDK8.0,增加了Lambda表达式等新特性;•2017年9月,发布JDK9.0,增加了模块化源码等新特性。
2、简述Java语言的特点。
答:Java语言有如下特点:(1)简单的特性;(2)面向对象的特性;(3)分布式处理的特性;(4)健壮特性;(5)结构中立的特性;(6)安全特性;(7)可移植的特性;(8)解释的特性;(9)高性能的特性;(10)多线程的特性;(11)动态的特性。
3、简述Java虚拟机的工作原理。
答:Java虚拟机包含类加载器、字节码校验器和JIT实时编译器。
类加载器用来取得从网络获取的或存于本地机器上的类文件字节码。
下一步由字节码校验器检查这些类文件是否有正确的格式,以确认在运行时不会有破坏内存的行为。
Java解释器将字节码解释翻译成机器码, 而JIT 编译器也可将字节码转为本地机器码,但它可使原本是解释执行方式的虚拟机提高到编译式的运行效率。
(完整)《Java程序设计任务驱动式教程 》程序代码

P239程序代码package com.task23;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.Statement;import java.util.ArrayList;import java.util.List;/*** StudentDAO.java* 数据库操作DAO,查询*/public class StudentDAO {public List getAllStudent() {//详细代码参见23.4.4 数据访问层}}package com.task23;/*** Student.java* 封装实体Bean*/public class Student {private String id ;private String name ;private int age ;private String speci ;public Student() {super();}public Student(String id, String name, int age, String speci) {super();this.id = id; = name;this.age = age;this.speci = speci;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;·2·Java程序设计任务驱动式教程}public void setAge(int age) {this.age = age;}public String getSpeci() {return speci;}public void setSpeci(String speci) {this.speci = speci;}}package com.task23;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/*** StudentDBConnection.java* 辅助类,数据库连接,资源关闭*/public class StudentDBConnection {private static final String DRIVER_CLASS = "com.microsoft.jdbc.sqlserver.SQLServerDriver";private static final String DATABASE_URL ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=welcomestudent";private static final String DATABASE_USER = "sa";private static final String DATABASE_PASSWORD = "sasa";/*** 建立连接** @return Connection*/public static Connection getConnection() {Connection con =null;try {Class.forName(DRIVER_CLASS);} catch (ClassNotFoundException ce) {ce.printStackTrace();}try {con = DriverManager.getConnection(DATABASE_URL, DATABASE_USER,DATABASE_PASSWORD);} catch (SQLException e) {e.printStackTrace();}return con;}/*** 关闭连接*/public static void closeConnection(Connection con){try{if (con!=null && !con.isClosed()){任务二十三访问数据升级·3·con.close();}}catch(Exception e){e.printStackTrace();}}/*** 关闭结果集*/public static void closeResultSet(ResultSet rs) {try {if (rs != null) {rs.close();}} catch (SQLException e) {e.printStackTrace();}}/*** 关闭Statement*/public static void closeStatement(Statement pstmt) {try {if (pstmt != null) {pstmt.close();}} catch (SQLException e) {e.printStackTrace();}}}package com.task23;import java.util.ArrayList;import java.util.List;/*** StudentBiz.java* 业务逻辑*/public class StudentBiz {public static void show(Student student) {if (student != null) {System.out.print(student.getId() + "\t");System.out.print(student.getName() +"\t");System.out.print(student.getAge() + "\t");System.out.println(student.getSpeci());}}/*** @param args*/public static void main(String[] args) {StudentDAO studentDAO = new StudentDAO();Student student = null;·4·Java程序设计任务驱动式教程// 查listList lStudent = new ArrayList();lStudent = studentDAO.getAllStudent();for (int i = 0; i < lStudent.size(); i++) {student = (Student) lStudent.get(i);show(student);}}P243应用扩展package com.task23;import java.util.List;/*** StudentDAOInterface.java* 数据库操作DAO接口,查、增、删、改*/public interface StudentDAOInterface {public Student getStudentById(String id) ;public List getAllStudent();public int addStudent(Student student);public int deleteStudent(Student student);public int updateStudent(Student student) ;}package com.task23;/*** StudentBizInterface.java* 业务逻辑接口*/public interface StudentBizInterface {public void show(Student student);public void business();}public class StudentDAO implements StudentDAOInterface{//实现接口代码参见23.4.4 数据访问层}public class StudentBiz implements StudentBizInterface{public void show(Student student) {……}public void business(){……}}。
Java语言程序设计课后习题答案全集

Java语言程序设计课后习题答案全集Java语言程序设计是一门广泛应用于软件开发领域的编程语言,随着其应用范围的不断扩大,对于掌握Java编程技巧的需求也逐渐增加。
为了帮助读者更好地掌握Java编程,本文将提供Java语言程序设计课后习题的全集答案,供读者参考。
一、基础知识题1. 代码中的注释是什么作用?如何使用注释.答:注释在代码中是用来解释或者说明代码的功能或用途的语句,编译器在编译代码时会自动忽略注释。
在Java中,有三种注释的方式:- 单行注释:使用"// " 可以在代码的一行中加入注释。
- 多行注释:使用"/* */" 可以在多行中添加注释。
- 文档注释:使用"/** */" 可以添加方法或类的文档注释。
2. 什么是Java的数据类型?请列举常见的数据类型。
答:Java的数据类型用来指定变量的类型,常见的数据类型有:- 基本数据类型:包括整型(byte、short、int、long)、浮点型(float、double)、字符型(char)、布尔型(boolean)。
- 引用数据类型:包括类(class)、接口(interface)、数组(array)等。
二、代码编写题1. 编写Java程序,输入两个整数,求和并输出结果。
答:```javaimport java.util.Scanner;public class SumCalculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入第一个整数:");int num1 = scanner.nextInt();System.out.print("请输入第二个整数:");int num2 = scanner.nextInt();int sum = num1 + num2;System.out.println("两个整数的和为:" + sum);}}```三、综合应用题1. 编写Java程序,实现学生信息管理系统,要求包括以下功能:- 添加学生信息(姓名、年龄、性别、学号等);- 修改学生信息;- 删除学生信息;- 查询学生信息。
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语言程序设计课后习题答案全集

J a v a语言程序设计课后习题答案全集Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】指出JAVA语言的主要特点和JAVA程序的执行过程。
答:(1)强类型;(2)编译和解释;(3)自动无用内存回收功能;(4)面向对象;(5)与平台无关;(6)安全性;(7)分布式计算;(8)多线程;程序执行过程如图所示:编写源文件,编译器编译源文件转换成字节码,解释器执行字节码。
说出开发与运行JAVA程序的重要步骤。
答:(1)编写源文件:使用一个文本编译器,如Edit或记事本,不可以使用Word.将编好的源文件保存起来,源文件的扩展名必须是.java;(2)编译Java源文件:使用Java编译器编译源文件得到字节码文件;(3)运行Java程序:Java程序分为两类——Java应用程序必须通过Java解释器来解释执行其字节码文件;Java小应用程序必须通过支持Java标准的浏览器来解释执行。
如何区分应用程序和小应用程序答:应用程序在与源文件名字相同的类中,有main()方法,该方法代表应用程序的入口; 小应用程序必须有一个Applet类的子类,该类称作主类,必须用public修饰。
说出JAVA源文件的命名规则。
答:源文件命名规则和类命名规则一样,所有的单词首字母都用大写字母,且必须和源文件的public类同名。
JAVA语言使用什么字符集共有多少个不同的字符答:Java语言使用Unicode字符集,共有65535个字符。
JAVA语言标识符的命名规则是什么(1)由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字字符组成(2)限定标识符的第一个字符不能是数字字符(3)不能和关键字重名(4)长度不能超过255个字符JAVA有那些基本数据类型,它们的常量又是如何书写的指出下列内容哪些是JAVA语言的整型常量,哪些是浮点数类型常量,哪些两者都不是。
整型常量: 4)0xABCL,8)003,10)077,12)056L浮点数类型常量:3)-1E-31,5).32E31 13)0.,14).0两者都不是: 1),2),6),7),9),11)第二章 运算和语句Java 的字符能参加算术运算吗可以。
《Java程序设计任务驱动式教程 》习题答案

(1)下载并安装SDK软件包,尝试查看其中的JDK文档。
(2)简述Java虚拟机的概念,并说明Java虚拟机同Java的跨平台特性之间的关系。
答:Java虚拟机(Java Virtual Machine,JVM)是在一台计算机上用软件模拟也可以用硬件来实现的假想的计算机。
是软件模拟的计算机,它可以在任何处理器上(无论是在计算机中还是在其他电子设备中)安全兼容地执行保存在.class文件中的字节码。
字节码的运行要经过三个步骤:加载代码、校验代码和执行代码。
Java程序并不是在本机操作系统上直接运行,而是通过Java虚拟机向本机操作系统进行解释来运行。
这就是说,任何安装有Java虚拟机的计算机系统都可以运行Java程序,而不论最初开发应用程序的是何种计算机系统。
首先,JAVA编译器在获取JAVA应用程序的源代码后,把它编译成符合JAVA虚拟机规范的字节码class 文件(class文件是JVM中可执行文件的格式)。
JAVA虚拟规范为不同的硬件平台提供了不同的编译代码规范,该规范使JAVA软件独立于平台。
然后,JAVA解释器负责将JAVA字节码文件解释运行,为了提高运行速度,JAVA提供了另一种解释运行方法JIT,可以一次解释完,再运行特定平台上的机器码,这样就实现了跨平台、可移植的功能。
(3)使用JDK开发Java程序时,一般要设置环境变量,请说明WINDOWS系统环境下如何设置其环境变量,及各变量的作用。
答:在安装完JDK之后不能立刻使用,还需要设置环境变量。
设置环境变量的目的在于让系统自动查找所需的命令。
其具体步骤如下:1)右击“我的电脑”,在弹出的快捷菜单中选择“属性”选项。
2)在“系统属性”对话框中,选择“高级”选项卡,单击“环境变量”按钮,将会弹出如图1-6所示的对话框。
在该对话框中可以设置只有当前用户登录时才有效的用户变量,也可以设置该系统的所有用户登录时都有效的系统变量。
3)单击“系统变量”选项组下的“新建”按钮,打开“新建系统变量”对话框。
精品 课后习题及参考答案-JAVA 程序设计任务驱动教程课后习题答案

单元一Java语言概述1.Java语言的特点?答:简单性、面向对象、分布式处理、健壮性、结构中立、安全性、可移植性、解释性、高性能、多线程、动态2.Java程序的开发步骤答:(1)编写源文件。
扩展名必须是.java。
(2)编译Java源程序。
使用Java编译器(javac.exe)编译源文件,得到字节码文件。
(3)运行Java程序。
使用Java SE平台中的Java解释器(java.exe)来解释执行字节码文件。
3.Java源程序的组成?答1)package语句2)import语句3)类(class)4)方法5)语句4.如果JDK的安装目录为D:\jdk,应当怎么设置path和classpath的值?答:设置环境变量Path的值为D:\jdk\bin;设置环境变量ClassPath的值为D:\jdk\lib\dt.jar; D:\jdk\lib\tools.jar;5.当源文件有多个类时,请说明源文件的命名规则?答:Java允许在一个Java源文件中编写多个类,但其中的多个类至多只能有一个类使用public修饰。
如果源文件中有多个类,但没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是java就可以了;如果有一个类是public类,那么源文件的名字必须与这个类的名字安全相同,扩展名是java。
6.Java代码块的写法有哪两种风格?当代码量较大时应当采用哪种编程风格?答:(1)Allmans风格Allmans风格也称“独行”风格,即左、右大括号各自独占一行。
(2) Kernighan风格Kernighan风格也称“行尾”风格,即左大括号在上一行的行尾,而右大括号独占一行。
当代码量较大时不适合使用“独行”风格,因为该风格将导致代码的左半部分出现大量的左、右大括号,导致代码清晰度下降,这时应当使用“行尾”风格。
单元二数据类型与运算符1.Java的关键字有哪些?答:在Java语言中还定义了一些专有词汇,统称为关键字,例如public、class、int等,它们都具有一种特定的含义,只能用于特定的位置,不能作为标识符使用。
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 )1、.class B. .jar C. .jav D. .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从源代码到最终运行经历了一次编译和一次解释,每次都有进行检查,比其它只进行一次编译检查的编程语言具有更高的可靠性和安全性。
JAVA程序设计课后习题及答案3

第3章1.类是一种复杂的数据类型,它是将数据和对数据的操作封装在一起而形成的集合体,是普通数据类型的扩展。
类不仅包含数据,还包含对数据进行操作的方法,正是这些方法反映了数据的行为。
对象是类的实例,是某个类的变量。
当一个程序运行时,系统为对象分配内存单元,而不是为类分配内存单元。
类和对象是密切相关的,类脱离不了对象,对象必须依赖类。
两者的关系可以简单地描述为抽象和具体的关系。
2.Java中,类成员的访问权限可以分为公共访问、默认访问、私有访问、保护访问和私有保护访问等几种,其中,除了默认访问没有控制符进行修饰,其他几种访问权限分别使用public、private、protected和private protected这样的访问控制修饰符。
3.如果把类设计成一个黑匣子,则使用者只能看见类中定义的公用方法却看不到方法的实现细节,也不能直接操作类中的数据,这样就可以有效地防止外部对类的干扰。
如果改变了类中数据的定义,只要方法名不改,就不会对使用该类的程序产生任何影响,这就是封装的含义。
也就是说,类的封装可以减少程序对类中数据的依赖性。
通过封装,可以达到以下目的。
(1)隐藏类的实现细节。
(2)要求用户只能通过接口访问数据。
(3)提高代码的可维护性。
4.继承是一种由已有的类创建新类的机制,利用继承,可以创建一个具有特殊属性的新类。
新类继承了已有类的状态和行为,并根据需要来增加自己的状态和行为。
对象的多态性主要分为两种类型,即向上转型和向下转型。
向上转型是指用子类对象实例化父类,对象的向上转型是自动完成的;向下转型是指用父类对象实例化子类,向下转型时,必须明确指明要转型的子类类型。
5.方法的重载是指在一个类中,方法的名称相同,但是方法的参数个数或参数类型不同,这称为方法的重载。
在调用具有重载关系的方法时,通过传递参数的个数以及传递参数的类型来区分调用了哪个方法。
如果子类的方法与父类中的方法同名,则子类不能继承父类中的方法,此时称子类方法覆盖了父类中的方法。
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程序设计任务驱动式教程 》习题答案

3.6.2 单项选择题1、D2、C3、C4、B5、B6、C7、B8、A9、D 10、B 3.6.3 编程题1.参考代码如下:/** Sum.java* 求两个数的和*/package com.task03;public class Sum{public static void main(String[] args){double a,b,sum;a=Double.parseDouble(args[0]);b=Double.parseDouble(args[1]);sum=a+b;System.out.println(a+“+”+b+“=”+sum);}}2.参考代码如下:/*** Variable.java*8种基本类型变量的练习*/package com.task03;import java.io.IOException;public class Variable{public static void main(String[] args) throws IOException{System.out.println(“请输入一个字符类型的常量”);char c=(char)System.in.read();System.out.println(“字符变量c中存放的值为”+c);int i; //获取args[0]的值i=Integer.parseInt(args[0]);System.out.println(“整型变量i中存放的值为”+i);byte b;//获取args[1]的值b=Byte.parseByte(args[1]);System.out.prin tln(“字节类型变量b中存放的值为”+b);short s;// 获取args[2]的值s=Short.parseShort(args[2]);System.out.println(“短整型变量s中存放的值为”+s);·2·Java程序设计任务驱动式教程long l; //获取args[3]的值l=Long.parseLong(args[3]);System.out.println(“长整型变量l中存放的值为”+l);boolean bb; //获取args[4]的值bb=Boolean.parseBoolean(args[4]);System.out.println(“布尔变量bb中存放的值为”+bb);float f; //获取args[5]的值f=Float.parseFloat(args[5]);System.out.println(“单精度变量f中存放的值为”+f);double d; //获取args[6]的值d=Double.parseDouble(args[6]);System.out.println(“双精度变量d中存放的值为”+d);}}若运行该程序时输入如下命令行参数:256 127 200 32767 true 3.141 6.2826则运行结果如下:。
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程序设计实用教程_(第3版)_课后习题答案

第1章1.Java具有那些适合在Internet环境中的特点?【答】简单性和完全面向对象,平台无关性,安全性和可靠性,多线程,高效的网络编程。
2.Java保留、放弃了C/C++语言中哪些语法和面向对象机制?为什么需要这样做?【答】在语法规则方面,Java语言放弃了全程变量、goto语句、宏定义、全局函数以及结构、联合和指针数据类型,使Java语言更简单、更精练。
在面向对象概念方面,Java语言放弃了多元继承、友元类和运算符重载,采用“单重继承+接口”的方式代替多重继承,提供语言级的内存自动管理和异常处理方式,使Java语言更健壮、更安全、更高效。
3.Java对原程序文件的命名规则有什么要求?源程序文件编译后生成什么文件?【答】要求:源程序文件与类同名,文件扩展名为.java;编译后生成字节码文件(*.class)。
4.Java程序的运行机制是怎样的?与C++或其他语言有什么不同?【答】Java的每一个类都有一个class文件和它对应,Java在程序的启动的时候将程序运行需要用到的类加载到虚拟机中,根据Java的虚拟机规范进行连接(动态连接),程序的组装是在运行的时候完成的C++和其他的编译型的语言一样,它的程序的组装方式是一种传统的组装方式。
C++在编译的时候生成适用于某一平台的二进制代码,在连接的时候找到需要调用的库,然后将这些库中的代码连接进可执行程序之中,生成的可执行程序运行速度非常的快,但是可执行代码已经变成了一个整体,不可能再分开5.什么是平台无关性?Java是怎样实现平台无关性的?【答】平台无关性即Java程序的运行不依赖于操作系统。
Java采用虚拟机技术实现平台无关性。
程序由虚拟机解释执行,不同的操作系统上运行不同版本的Java虚拟机。
6.Java应用程序由哪两种形式?他们的运行方式有什么不同?【答】Application和applet两种形式,其中application是能够独立运行的应用程序,既可以以DOS的命令方式运行,也可以以图形用户界面方式运行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
float f; //获取 args[5]的值 f=Float.parseFloat(args[5]); System.out.println(“单精度变量 f 中存放的值为”+f);
2. 参考代码如下:
/** * Variable.java *8 种基本类型变量的练习
*/ package com.task03; import java.io.IOException; public class Variable{ public static void main(String[] args) throws IOException{ System.out.println(“请输入一个字符类型的常量”); char c=(char)System.in.read(); System.out.println(“字符变量 c 中存放的值为”+c);
int i; //获取 args[0]的值 i=Integer.parseInt(args[0]); System.out.println(“整型变量 i 中存放的值为”+i);
byte b;//获取 args[1]的值 b=Byte.parseByte(args[1]); System.out.println(“字节类型变量 b 中存放的值为”+b);
double d; //获取 args[6]的值 d=Double.parseDouble(args[6]); System.out.println(“双精度变量 d 中存放的值为”+d); } }
若运行该程序时输入如下命令行参数: 256 127 200 32767 true 3.141 6.2826 则运行结果如下:
short s;// 获取 args[2]的值 s=Short.parseShort(args[2]); System.out.println(“短整型变量 s 中存放的值为”+s);
·2·
Java 程序设计任务驱动式教程
long l; //获取 args[3]的值 l=Long.parseLong(args[3]); System.out.println(“长整型变量 l 中存放的值为”+l);
3.6.2 单项选择题
1、D 2、C 3、C 4、B 5、B 6、C பைடு நூலகம்、B 8、A 9、D 10、B
3.6.3 编程题
1. 参考代码如下:
/* * Sum.java * 求两个数的和
*/ package com.task03; public class Sum{ public static void main(String[] args){ double a,b,sum; a=Double.parseDouble(args[0]); b=Double.parseDouble(args[1]); sum=a+b; System.out.println(a+“+”+b+“=”+sum); } }