java程序设计【基于JDK6和NetBeans实现】宋波主编 课后作业答案 打印版

合集下载

java程序设计(雍俊海)课后部分标准答案

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语言程序设计课后习题答案解析

习题23.使用“= =”对相同内容的字符串进行比较,看会产生什么样的结果。

答:首先创建一个字符串变量有两种方式:String str = new String("abc");String str = "abc";使用“= =”会因为创建的形式不同而产生不同的结果:String str1 = "abc";String str2 = "abc";System.out.println(str1= =str2); //trueString str1 = new String("abc"); String str2 = "abc";System.out.println(str1= =str2); //falseString 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); //trueString str1 = new String("abc"); String str2 = "abc";System.out.println(str1.equals(str2)); //trueString str1 = new String("abc"); String str2 = new String("abc"); System.out.println(str1.equals(str2)); //true5.编写一个程序,把变量n的初始值设置为1678,然后利用除法运算和取余运算把变量的每位数字都提出来并打印,输出结果为:n=1678。

《JAVA程序设计》习题集及参考答案_IT168文库

《JAVA程序设计》习题集及参考答案_IT168文库

《JA V A程序设计》习题集及参考答案一、填空题1.Java是面向对象的解释型的高级编程语言,其程序源代码的扩展名为.java生成的字节码文件名的扩展名为.class,Java解释器把各种平台间的差异隐藏起来,这种由解释器包裹起来的完整的软硬件平台称为Java 虚拟机。

2.Java Application 是独立、完整的程序,在命令行调用独立的解释器软件(java.exe)即可运行,其程序主类必须有一个main()方法,完整的方法头为public static void main(String aegs[]) 。

3.把方法看作是数据的特性,而不把数据和方法分开,JA V A正是体现了这种建立面向对象系统过程中重要步骤的思想.。

4.建立类类型的变量(引用)后,系统只分配引用空间,程序员要调用new来创建对象实例,然后才分配相应的存储空间。

5.如果需要在同一类中书写多个方法,让它们对不同的变量进行同样的操作,就需要重载方法名。

如果子类中定义方法所用的名字、返回类型和参数表和父类中方法使用的完全一样,称子类方法覆盖了父类中的方法。

覆盖的同名方法中,子类方法不能比父类方法的访问权限更严格。

6.容器中组件的位置由容器的布局管理器决定,容器不仅可以容纳组件,还可以容纳其它容器这一点非常重要,由此可以设计出复杂的图形用户界面布局。

7.Java抽象窗口工具中提供了多种容器,其中最重要的两种是框架和面板。

8.JDK1.1引入了委托模型处理机制,组件必须注册一个事件处理程序,事件对象只传递给已经注册的监听程序,每种事件都有一个对应的监听程序类以实现相应的监听程序接口,并定义了事件对象的接收和处理方法。

9.异常处理的重要性在于,程序不但要发现异常,还要捕获异常并编写代码来处理10.类是同种对象集合的抽象,而属于类的某一个对象则被称为是类的一个实例,对象是具有状态、行为、标志三种属性的计算机软件结构。

11.用户自己定义的Applet子类是Java Applet的标志。

java程序设计课后练习答案

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语言程序设计课后习题答案全集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程序设计》课后习题参考答案

《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语言程序设计 课后习题+答案

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程序设计课后习题及答案3

JAVA程序设计课后习题及答案3

第3章1.类是一种复杂的数据类型,它是将数据和对数据的操作封装在一起而形成的集合体,是普通数据类型的扩展。

类不仅包含数据,还包含对数据进行操作的方法,正是这些方法反映了数据的行为。

对象是类的实例,是某个类的变量。

当一个程序运行时,系统为对象分配内存单元,而不是为类分配内存单元。

类和对象是密切相关的,类脱离不了对象,对象必须依赖类。

两者的关系可以简单地描述为抽象和具体的关系。

2.Java中,类成员的访问权限可以分为公共访问、默认访问、私有访问、保护访问和私有保护访问等几种,其中,除了默认访问没有控制符进行修饰,其他几种访问权限分别使用public、private、protected和private protected这样的访问控制修饰符。

3.如果把类设计成一个黑匣子,则使用者只能看见类中定义的公用方法却看不到方法的实现细节,也不能直接操作类中的数据,这样就可以有效地防止外部对类的干扰。

如果改变了类中数据的定义,只要方法名不改,就不会对使用该类的程序产生任何影响,这就是封装的含义。

也就是说,类的封装可以减少程序对类中数据的依赖性。

通过封装,可以达到以下目的。

(1)隐藏类的实现细节。

(2)要求用户只能通过接口访问数据。

(3)提高代码的可维护性。

4.继承是一种由已有的类创建新类的机制,利用继承,可以创建一个具有特殊属性的新类。

新类继承了已有类的状态和行为,并根据需要来增加自己的状态和行为。

对象的多态性主要分为两种类型,即向上转型和向下转型。

向上转型是指用子类对象实例化父类,对象的向上转型是自动完成的;向下转型是指用父类对象实例化子类,向下转型时,必须明确指明要转型的子类类型。

5.方法的重载是指在一个类中,方法的名称相同,但是方法的参数个数或参数类型不同,这称为方法的重载。

在调用具有重载关系的方法时,通过传递参数的个数以及传递参数的类型来区分调用了哪个方法。

如果子类的方法与父类中的方法同名,则子类不能继承父类中的方法,此时称子类方法覆盖了父类中的方法。

Java程序设计实用教程 课后习题答案

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程序设计教程课后习题答案Java程序设计教程课后习题答案在学习Java程序设计的过程中,课后习题是巩固知识、提高编程能力的重要环节。

通过认真完成课后习题并对答案进行学习,可以帮助我们更好地掌握Java 编程语言的知识和技能。

一、基本语法1. 编写一个Java程序,输出"Hello, World!"。

```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```2. 编写一个Java程序,计算并输出1到100的和。

```javapublic class SumOfNumbers {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}System.out.println("1到100的和为:" + sum);}}```二、面向对象1. 编写一个Java程序,定义一个学生类,包括姓名、年龄和学号属性,并实现一个方法用于输出学生信息。

```javapublic class Student {private String name;private int age;private String id;public Student(String name, int age, String id) { = name;this.age = age;this.id = id;}public void printInfo() {System.out.println("姓名:" + name + ",年龄:" + age + ",学号:" + id); }}```2. 编写一个Java程序,定义一个圆类,包括半径属性和计算面积的方法。

java程序设计——基于JDK6和NetBeans实现第4章课后作业答案

java程序设计——基于JDK6和NetBeans实现第4章课后作业答案

第4章Java面向对象高级特性1.指出下面程序中出现编译错误的行数及其原因。

01.public class Outer {02.private class Inner {03.static String name=new String("Inner");04.public void method(){05.System.out.println(name);06.}07.}08.public static void main(String[] args) {09.Inner a=new Outer().new Inner();10. a.method();11.}12.}上述代码中第3行会出现编译错误,内部类Inner中的成员变量不能定义为static。

2.请完成下面程序,使得程序可以输出枚举常量值:RED、GREEN和BLUE。

01.public class Ball {02.public enum T {03.RED, GREEN, BLUE04.}05.public static void main(String[] args) {06.Ball.T[] t=Ball.T.values();07.for(int i=0;i<t.length;i++) {08.System.out.println(t[i]);09.}10.}11.}3.请完成下面程序,使得程序可以输出"hi"。

01.public class Car {02.private class Engine {03.Engine() {04.drive();05.}06.}07.public static void main(String[] args) {08.new Car().go();09.}10.void go() {11.new Engine();12.}13.void drive() {14.System.out.println("hi");15.}16.}4.应用抽象类及继承编写程序,输出本科生及研究生的成绩等级。

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 从源代码到最终运行经历了一次编译和一次解释,每次都有进行检查,比其它只进行一次编译检查的编程语言具有更高的可靠性和安全性。

java程序设计教程答案

java程序设计教程答案

java程序设计教程答案Java程序设计是一门计算机科学领域的核心课程,旨在教授学生如何使用Java编程语言进行软件开发。

本教程将探讨Java程序设计的基本概念和技巧,并提供一些对于编写高质量代码的最佳实践。

首先,Java程序设计的基础是理解面向对象编程(OOP)的概念。

面向对象编程是一种编程范式,其中的代码组织成对象。

对象是根据类定义的实例,类定义了对象的属性和方法。

了解类与对象的关系以及如何使用它们是编写Java程序的关键。

其次,学习Java程序设计需要掌握基本的语法和语义。

Java具有丰富的语法和表达式,包括变量、数据类型、运算符和控制结构等。

掌握这些基本元素可以帮助您编写出正确的代码,并理解其工作原理。

在学习Java程序设计的过程中,我们还需要了解如何使用Java的标准库。

Java的标准库提供了各种有用的类和方法,可以简化开发过程。

我们可以使用这些类和方法来处理输入输出、数据结构、字符串等操作,以及许多其他常见的编程任务。

另外,编写高质量的Java代码需要遵循一些最佳实践。

首先,编写可读性强的代码是十分重要的。

可读性强的代码可以提高代码的可维护性,并使它更容易被其他人理解。

通过使用有意义的变量名、注释和编码规范等,可以使代码更易读。

其次,良好的代码结构也是值得关注的。

将代码组织为小的、独立的模块可以提高代码的可重用性和可测试性。

使用面向对象编程的原则来设计类和对象的关系,可以使代码更加模块化和可扩展。

此外,编写健壮的代码也是一项重要的技能。

健壮的代码应该能够处理各种异常情况,并具有充分的错误处理机制。

这样可以增加程序的稳定性,使它能够在各种环境下正常工作。

最后,理解和应用软件工程的原则和方法也是Java程序设计的一部分。

软件工程包括项目管理、版本控制、测试和调试等方面,这些都是确保项目成功和代码质量的关键。

在这个Java程序设计教程中,我们提供了一些基本概念和技巧,帮助您入门Java编程。

java课程设计答案

java课程设计答案

java课程设计答案一、教学目标本章节的教学目标是使学生掌握Java编程语言的基本语法、数据类型、控制结构、面向对象编程等基本知识,培养学生编写简单Java程序的能力,提高学生运用Java语言解决实际问题的能力。

具体来说,知识目标包括:1.掌握Java语言的基本语法和编程规范。

2.理解Java的数据类型、变量、常量等基本概念。

3.熟悉Java的控制结构,如条件语句、循环语句等。

4.掌握Java的面向对象编程思想,包括类、对象、封装、继承、多态等概念。

技能目标包括:1.能够使用Java语言编写简单的程序,如计算器、排序算法等。

2.能够运用Java语言解决实际问题,如设计一个小型的管理系统、编写一个简单的游戏等。

情感态度价值观目标包括:1.培养学生的编程兴趣,提高学生对计算机科学的热爱。

2.培养学生团队合作的精神,学会与他人交流和分享。

3.培养学生解决问题的能力,培养学生的创新思维。

二、教学内容本章节的教学内容主要包括Java语言的基本语法、数据类型、控制结构、面向对象编程等基本知识。

具体来说,教学大纲如下:1.Java语言的基本语法和编程规范。

2.Java的数据类型、变量、常量等基本概念。

3.Java的控制结构,如条件语句、循环语句等。

4.Java的面向对象编程思想,包括类、对象、封装、继承、多态等概念。

5.Java常用类库的使用,如String类、ArrayList类等。

教学资源包括教材《Java编程思想》、参考书《Java核心技术》、多媒体资料、实验设备等。

三、教学方法本章节的教学方法采用讲授法、案例分析法、实验法等。

通过讲授法,教师可以系统地讲解Java语言的基本语法、数据类型、控制结构、面向对象编程等基本知识,使学生掌握Java编程的基本概念和方法。

通过案例分析法,教师可以展示实际的Java程序案例,使学生更好地理解Java编程的原理和技巧。

通过实验法,教师可以学生进行编程实践,使学生在实际操作中掌握Java编程的方法和技巧,提高学生的编程能力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

java程序设计——基于JDK6和NetBeans实现课后答案第一章课后作业答案1.试说明Java Application与Java Applet的不同之处。

答案:Java的用户程序分为两类:Java Application和Java Applet,这两类程序在组成结构和执行机制上都有一定的差异,主要体现在以下几方面:(1)运行方式不同。

Java Application是完整的程序,可以独立运行;Java Applet程序不能单独运行,它必须嵌入到用HTML语言编写的Web页面中,通过与Java兼容的浏览器来控制执行。

(2)运行工具不同。

Java Application程序被编译以后,用普通的Java解释器就可以使其边解释边执行;而Java Applet必须通过网络浏览器或者Applet观察器才能执行。

(3)程序结构不同。

每个Java Application程序必定含有一个并且只有一个main()方法,程序执行时,首先寻找main()方法,并以此为入口点开始运行;而Applet程序则没有含main()方法的主类,这也正是Applet程序不能独立运行的原因。

尽管Applet没有含有main()方法的主类,但Applet一定有一个从java.applet.Applet派生的类,它是由Java系统提供的。

(4)受到的限制不同。

Java Application程序可以设计成能进行各种操作的程序,包括读/写文件的操作,但是Java Applet对站点的磁盘文件既不能进行读操作,也不能进行写操作。

然后,由于Applet 的引入,使Web页面具有动态多媒体效果和可互交性能,这使由名为超文本、实为纯文本的HTML 语言编写成的Web页面真正具有了超文本功能,不但可以显示文本信息,而且还可以有各种图片效果和动态图形效果,从而使页面显得生动美丽;另外,Applet使Web页面增加了按钮等功能,从而增加了交互性。

2.Java程序的最小程序单位是什么?答案:Java语言以类作为程序的基本单位。

3.下载并安装JDK 1.6以及Java API文档,编译并运行例1-1。

答案:实践题。

4.编写一个Java应用程序,在屏幕上输出“欢迎进入Java奇妙世界!”的字符串。

答案:public class HelloWorld {public static void main(String[ ] args) {System.out.println("欢迎进入Java奇妙世界!");}}5.下面程序的功能是:计算并打印输出两个整数a和b之间的最大值,请填空。

01public class Max{02public static void main (String args[ ] ) {03int max;04int a=3;05int b=5;06if(a>b){07max=a ; 08}09else{10max=b ; 11}12System.out.println(max); 13}14}【运行结果】5第2章Java语言基础1.请完成下面程序,使得程序的输出结果如右图所示。

01.public class LoopControl {02.public static void main(String[] args) {03.outer: for (int i = 0; i < 10; i++) {04.for (int j = 0; j < 10; j++) {05.if (j > i) {06.System.out.println() ;07.continue outer ;08.}09.System.out.print(" * ");10.}11.}12.}13.}2.编写程序,输出英文字母A~Z及其对应的Unicode编码值。

01.public class CharUnicodeTest {02.public static void main(String[] args) {03.for(char c='A';c<='Z';c++){04.System.out.print("Character: "+c);05.System.out.println("\t"+"Unicode: "+(int)c);06.}07.}08.}3.编写程序,计算1!+2!+3!+…+20!的和。

01.public class NestedLoopTest {02.public static void main(String[] args) {03.long sum=0;04.long fac;05.for(int i=1;i<21;i++){06.fac=1;07.for(int j=1;j<=i;j++){08.fac=fac*j; 09.}10.sum=sum+fac;11.}12.System.out.println("1!+2!+...+20!="+sum);13.}14.}** ** * ** * * ** * * * ** * * * * ** * * * * * ** * * * * * * ** * * * * * * * ** * * * * * * * * *4.编写程序,随机产生一个(50,100)之间的整数并判断其是否为素数。

01.public class RandomPrimeTest {02.public static void main(String[] args) {03.int i=(int)(Math.random()*49+51);04.System.out.println("The randomnumber is : "+i);05.int j;06.for(j=2;j<i;j++){07.if(i%j==0) break;08.} 09.if(j==i)10.System.out.println(i+" is a primenumber");11.else12.System.out.println(i+" is not aprime number");13.}14.}5.编写程序,输出从1到9的乘法口诀表。

01.public class MultiTableTest {02.public static void main(String[] args) {03.for(int i=1;i<=9;i++){04.for(int j=1;j<=i;j++){05.System.out.print(i+"*"+j+"="+i*j+"\t");06.}07.System.out.println();08.}09.}10.}第4章Java面向对象高级特性1.指出下面程序中出现编译错误的行数及其原因。

01.public class Outer {02.private class Inner {03.static String name=new String("Inner");04.public void method(){05.System.out.println(name);06.}07.}08.public static void main(String[] args) {09.Inner a=new Outer().new Inner();10. a.method();11.}12.}上述代码中第3行会出现编译错误,内部类Inner中的成员变量不能定义为static。

2.请完成下面程序,使得程序可以输出枚举常量值:RED、GREEN和BLUE。

01.public class Ball {02.public enum T {03.RED, GREEN, BLUE04.}05.public static void main(String[] args) {06.Ball.T[] t=Ball.T.values(); 07.for(int i=0;i<t.length;i++) {08.System.out.println(t[i]);09.}10.}11.}3.请完成下面程序,使得程序可以输出"hi"。

01.public class Car {02.private class Engine {03.Engine() {04.drive();05.}06.}07.public static void main(String[] args) {08.new Car().go(); 09.}10.void go() {11.new Engine();12.}13.void drive() {14.System.out.println("hi");15.}16.}4.应用抽象类及继承编写程序,输出本科生及研究生的成绩等级。

要求:首先设计抽象类Student,它包含学生的一些基本信息:姓名、学生类型、三门课程的成绩和成绩等级等。

其次设计Student 类的两个子类:本科生类Undergraduate和研究生类Postgraduate,二者在计算成绩等级时有所区别,具体计算标准如表所示。

最后创建测试类进行测试。

学生成绩等级本科生标准研究生标准平均分85-100:优秀平均分90-100:优秀平均分75-85:良好平均分80-90:良好平均分65-75:中等平均分70-80:中等平均分60-65:及格平均分60-70:及格平均分60以下:不及格平均分60以下:不及格//抽象类Student01.abstract class Student {02.final static int COURSE_COUNT=3;03.private String name;04.private String type;05.private int[] scores;06.private String grade;07.public Student(String name){=name;09.} 10.public void setName(String name){=name;12.}13.public String getName(){14.return name;15.}16.public void setType(String type){17.this.type=type;18.}19.public String getType(){20.return type;21.}22.public void setScores(int[] scores){23.this.scores=scores;24.}25.public int[] getScores(){26.return scores;27.} 28.public void setGrade(String grade){29.this.grade=grade;30.}31.public String getGrade(){32.return grade;33.}34.public abstract StringcalculateGrade();35.}//本科生类01.public class Undergraduate extendsStudent{02.public Undergraduate(Stringname,int[] scores){03.super(name);04.this.setType("本科生");05.this.setScores(scores);06.}07.public String calculateGrade(){08.int average;09.int sum=0;10.int[] scores;11.scores=this.getScores();12.for(inti=0;i<Student.COURSE_COUNT;i++){13.sum+=scores[i];14.} 15.average=sum/Student.COURSE_CO UNT;16.if(average>=85)17.return "优秀";18.else if(average>=75)19.return "良好";20.else if(average>=65)21.return "中等";22.else if(average>=60)23.return "及格";24.else25.return "不及格";26.}27.}//研究生类01.public class Postgraduate extendsStudent{02.public Postgraduate(String name,int[]scores){03.super(name);04.this.setType("研究生");05.this.setScores(scores);06.}07.public String calculateGrade(){08.int average; 09.int sum=0;10.int[] scores;11.scores=this.getScores();12.for(inti=0;i<Student.COURSE_COUNT;i++){13.sum+=scores[i];14.}15.average=sum/Student.COURSE_CO UNT;16.if(average>=90)17.return "优秀";18.else if(average>=80)19.return "良好";20.else if(average>=70)21.return "中等"; 22.else if(average>=60)23.return "及格";24.else25.return "不及格";26.}27.}//测试类01.public class StudentTest {02.public static void main(String[]args){03.Student[] s=new Student[10];04.int[][] scores=newint[10][Student.COURSE_COUNT];05.for(int i=0;i<5;i++){06.for(intj=0;j<Student.COURSE_COUNT;j++){ 07.scores[i][j]=(int)(Math.random()*61 +40);08.}09.s[i]=new Undergraduate("本科生"+(i+1),scores[i]);10.s[i].setGrade(s[i].calculateGrade());11.}12.for(int i=5;i<10;i++){13.for(intj=0;j<Student.COURSE_COUNT;j++){ 14.scores[i][j]=(int)(Math.random()*61 +40);15.} 16.s[i]=new Postgraduate("研究生"+(i-4),scores[i]);17.s[i].setGrade(s[i].calculateGrade());18.}19.int[] c;20.for(int i=0;i<10;i++){21.System.out.print(s[i].getName()+"\t"); 22.System.out.print(s[i].getType()+"\t");23.c=s[i].getScores();24.for(intj=0;j<Student.COURSE_COUNT;j++){ 25.System.out.print(c[j]+"\t");26.}27.System.out.println(s[i].getGrade());28.}29.}30.}运行结果:本科生1 本科生93 90 68 良好本科生2 本科生76 89 58 中等本科生3 本科生79 66 90 良好本科生4 本科生95 85 98 优秀本科生5 本科生54 78 53 及格研究生1 研究生83 61 86 中等研究生2 研究生91 57 85 中等研究生3 研究生70 96 55 中等研究生4 研究生43 75 62 及格研究生5 研究生43 80 61 及格5.应用枚举类编写程序,根据第4题的要求输出本科生及研究生的成绩等级。

相关文档
最新文档