《Java程序设计实用教程(第4版)习题解答与实验指导》第1-8章
Java程序设计实验指导书(答案)

第Ⅰ部分:实验指导实验1:Java开发环境J2SE一、实验目的(1)学习从网络上下载并安装J2SE开发工具。
(2)学习编写简单的Java Application程序.(3)了解Java源代码、字节码文件,掌握Java程序的编辑、编译和运行过程。
二、实验任务从网络上下载或从CD-ROM直接安装J2SE开发工具,编写简单的Java Application程序,编译并运行这个程序。
三、实验内容1.安装J2SE开发工具Sun公司为所有的java程序员提供了一套免费的java开发和运行环境,取名为Java 2 SDK,可以从上进行下载。
安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到C:\j2sdk1.4.1_03目录下。
教师通过大屏幕演示J2SE的安装过程,以及在Windows98/2000/2003下环境变量的设置方法。
2.安装J2SE源代码编辑工具Edit Plus教师通过大屏幕演示Edit Plus的安装过程,以及在Windows98/2000/2003操作系统环境下编辑Java 原程序的常用命令的用法。
3.编写并编译、运行一个Java Application程序。
创建一个名为HelloWorldApp的java Application程序,在屏幕上简单的显示一句话"老师,你好!"。
public class HelloWorldApp{public static void main(String[] args){System.out.println("老师,你好!");}}4.编译并运行下面的Java Application程序,写出运行结果。
1:public class MyClass {2:private int day;3:private int month;4:private int year;5:public MyClass() {6:day = 1;7:month = 1;8:year = 1900;9:}10:public MyClass(int d,int m,int y) {11:day = d;12:month = m;13:year = y;14:}15:public void display(){16:System.out.println(day + "-" + month + "-" + year);17:}18:public static void main(String args[ ]) {19:MyClass m1 = new MyClass();20:MyClass m2 = new MyClass(25,12,2001);21:m1.display();22:m2.display();23:}24:}运行结果:1-1-190025-12-2001实验2:Java基本数据类型一、实验目的(1)掌握javadoc文档化工具的使用方法。
Java程序设计课后练习答案

《J a v a程序设计》课后练习答案第一章Java概述一、选择题1.( A )是在Dos命令提示符下编译Java程序的命令,( B )是运行Java程序的命令。
A.javacB.javaC.javadocD.javaw2.( D )不是Java程序中有效的注释符号。
A.//B.C.D.3.(A.B.C.D.4.JavaA.B.C.D.5.JavaA.1、JavaJava(JVM)Java以下图展示了Java程序从编译到最后运行的完整过程。
2、简述Java语言的特点Java具有以下特点:1)、简单性Java语言的语法规则和C语言非常相似,只有很少一部分不同于C语言,并且Java还舍弃了C语言中复杂的数据类型(如:指针和结构体),因此很容易入门和掌握。
2)、可靠性和安全性Java从源代码到最终运行经历了一次编译和一次解释,每次都有进行检查,比其它只进行一次编译检查的编程语言具有更高的可靠性和安全性。
3)、面向对象Java是一种完全面向的编程语言,因此它具有面向对象编程语言都拥有的封装、继承和多态三大特点。
4)、平台无关和解释执行Java语言的一个非常重要的特点就是平台无关性。
它是指用Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。
Java之所以能平台无关,主要是依靠Java虚拟机(JVM)来实现的。
Java编译器将Java源代码文件编译后生成字节码文件(一种与操作系统无关的二进制文件)5)、6)、Java来。
1、/****/}}第二章Java语法基础一、选择题1.下面哪个单词是Java语言的关键字( B )?A. DoubleB. thisC. stringD. bool2.下面属于Java关键字的是( D )。
A. NULLB. IFC. DoD. goto3.在启动Java应用程序时可以通过main( )方法一次性地传递多个参数。
如果传递的参数有多个,可以用空格将这些参数分割;如果某一个参数本身包含空格,可以使用( B )把整个参数引起来。
Java程序设计实验指导书(答案)

Java程序设计实验指导书(答案) Java程序设计实验指导书(答案)第一章:概述Java程序设计实验是计算机相关专业学生在学习Java程序设计课程过程中的重要环节。
该实验指导书的编写旨在帮助学生掌握Java编程的基本技能和方法,提升他们的实践能力和创新思维。
本章将介绍实验指导书的目的、使用方法以及注意事项。
第二章:实验环境搭建2.1 JDK安装首先,学生需要在自己的计算机上安装Java开发工具包(JDK)。
具体安装步骤如下:(这里给出详细的步骤说明,包括下载JDK安装包、运行安装程序等)2.2 IDE选择在实验中,我们推荐学生使用Eclipse作为Java开发环境。
下面是Eclipse的安装步骤:(这里也给出详细的步骤说明,包括下载Eclipse安装包、运行安装程序等)2.3 实验文件结构为了方便实验的进行和管理,学生需要按照一定的文件结构组织他们的项目代码和资源文件。
以下是一个示例的实验文件结构:(这里列举一个具体的示例,包括主目录、子目录和文件等)第三章:实验内容第一次实验内容:Hello World程序3.1 实验目的本次实验旨在让学生熟悉Java程序的基本结构和编写过程,以及编译和运行Java程序的方法。
3.2 实验要求学生需要按照以下要求编写一个简单的Hello World程序:(这里给出具体的编码要求,并提醒学生注意细节和常见错误)3.3 实验步骤学生可以按照以下步骤进行实验:(这里给出详细的实验步骤,包括创建项目、编写代码、编译运行等)第二次实验内容:变量和数据类型3.1 实验目的本次实验旨在让学生理解和掌握Java中的变量声明、赋值和数据类型的使用方法,以及常见数据类型的特点。
3.2 实验要求学生需要完成以下任务:(这里列出具体的任务要求,包括变量的声明和初始化、数据类型的使用等)3.3 实验步骤学生可以按照以下步骤进行实验:(这里给出详细的实验步骤,包括创建新的Java类、编写代码、编译运行等)第四章:实验总结本章将对前两次实验进行总结,并提出对学生的建议和指导。
Java程序设计实用教程(课本习题解答)

习题 11.James Gosling2.需3个步骤:1)用文本编辑器编写源文件2)使用Java编译器(javac.exe)编译源文件,得到字节码文件。
3)使用java解释器(java.exe)来解释执行字节码文件。
3.1) 设置path对于Windows 2000/2003/XP,右键单击“我的电脑”,在弹出的快捷菜单中选择“属性”,弹出“系统特性”对话框,再单击该对话框中的“高级选项”,然后单击“环境变量”按钮,添加系统环境变量path。
如果曾经设置过环境变量path,可单击该变量进行编辑操作,将需要的值d:\jdk\bin加入即可(注意:修改系统环境变量path后要重新打开DOS窗口编译)。
或在DOS窗口输入命令行: set path=d:\jdk\bin(注意:用此方法修改环境变量每次打开DOS窗口都需要输入该命令行重新进行设置)。
2) 设置classpath对于Windows 2000/2003/XP,右键单击“我的电脑”,在弹出的快捷菜单中选择“属性”,弹出“系统特性”对话框,再单击该对话框中的“高级选项”,然后单击“环境变量”按钮,添加系统环境变量classpath。
如果曾经设置过环境变量classpath,可单击该变量进行编辑操作,将需要的值d:\jdk\jre\lib\rt.jar;.;加入即可。
或在DOS窗口输入命令行: set classpath= d:\jdk\jre\lib\rt.jar;.;。
4.(B)5.Java源文件的扩展名是”.java”,Java字节码的扩展名是”.class”6.(D)习题 21.(B)、(D)2.【代码1】【代码3】说明:最后一条语句如果为 byte z=127; //【代码4】无错最后一条语句如果为 byte x=127; //【代码4】有错(变量x与”int x=129L”重名) 3.需要特别注意的是float型常量后面必须要有后缀“f”或“F”。
java程序设计题解与上机指导第四版

Java程序设计题解与上机指导第四版引言Java是一种通用、高级、面向对象的编程语言,被广泛应用于各个领域的软件开发中。
掌握Java程序设计技能对于学习计算机科学和软件工程的学生来说非常重要。
《Java程序设计题解与上机指导第四版》是一本帮助读者理解和掌握Java程序设计的重要参考书。
本文将深入探讨《Java程序设计题解与上机指导第四版》这本书的内容,并分析其特点、重点知识点以及学习方法。
特点与重点《Java程序设计题解与上机指导第四版》这本书具有以下特点和重点知识点:1. 系统性本书按照Java程序设计的基本原理和实践进行组织,从基础知识开始逐步深入,力求将Java程序设计的要点和技巧传递给读者。
每个章节都有明确的目标,涵盖了Java程序设计的方方面面。
2. 实践性本书不仅仅是理论解释,更注重实践操作。
每个章节都配有大量的编程实例和上机实验,读者可以通过动手实践来加深对Java程序设计的理解和掌握。
这种实践性教学方法可以帮助读者提高编程能力和解决实际问题的能力。
3. 知识点详细全面本书详细讲解了Java程序设计的所有核心概念和知识点,包括基本语法、面向对象编程、异常处理、文件操作、多线程等。
每个知识点都有详细的解释和示例,帮助读者更好地理解和运用。
4. 题目与题解结合本书提供了大量的编程题目和对应的题解,读者可以通过练习这些题目来巩固所学知识点。
题解中详细解释了思路和解法,并给出了相应的源码。
这种题目与题解结合的方式可以帮助读者理解问题的解决思路和具体实现。
学习方法为了更好地学习和掌握《Java程序设计题解与上机指导第四版》这本书,我们可以采取以下学习方法:1. 依次阅读每一章节按照书本的顺序,从第一章开始逐一阅读每一章节。
在阅读过程中,可以逐渐增加对Java程序设计的理解和掌握。
在阅读之前,可以先浏览一下本章节的目标和重点知识点,对于章节的内容有一个整体的了解。
2. 动手实践编程实例在阅读每个章节之后,一定要动手实践编程实例。
Java2实用教程(第4版)实验指导与习题解答_IT168文库(精)

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

Java程序设计实用教程(第4版)习题解答与实验指导叶核亚编著2013年11月目录“Java程序设计”课程教学要求 (1)第1章Java概述 (3)第2章Java语言基础 (5)第3章类的封装、继承和多态 (22)第4章接口、内部类和Java API基础 (37)第5章异常处理 (42)第6章图形用户界面 (44)第7章多线程 (49)第8章输入/输出流和文件操作 (51)“Java程序设计”课程教学要求1. 课程性质、目的和任务程序设计是高等学校计算机学科及电子信息学科各专业本科的核心专业基础课程,是培养学生软件设计能力的重要课程。
在计算机学科的本科教学中,起着非常重要的作用。
“Java程序设计”是计算机科学与技术专业本科的专业基础限选课,开设本课程的目的是:进行程序设计和面向对象方法的基础训练;使用Java编程技术,设计解决操作系统、网络通信、数据库等多种实际问题的应用程序。
本课程通过全面、系统地介绍Java语言的基础知识、运行机制、多种编程方法和技术,使学生理解和掌握面向对象的程序设计方法,理解和掌握网络程序的特点和设计方法,建立起牢固扎实的理论基础,培养综合应用程序的设计能力。
本课程的先修课程包括:C/C++程序设计I、C/C++程序设计II、数据结构、操作系统、计算机网络、数据库原理等。
2. 教学基本要求本课程的基本要求如下。
①了解Java语言特点,理解Java Application应用程序的运行原理和方法。
掌握在JDK 环境中编译和运行程序的操作,熟悉在MyEclipse集成开发环境中,编辑、编译、运行和调试程序的操作。
②掌握Java语言中语句、数组、引用类型等基本语法成分的使用方法,通过类、接口、内嵌类型、包、异常处理等机制表达和实现面向对象程序设计思想。
③掌握Java的多种实用技术,包括图形用户界面、多线程、文件操作和流、使用URL 和Socket进行网络通信等。
④熟悉Java JDBC数据库应用的设计方法。
(完整版)JAVA编程思想(第四版)课后答案

Java编程思想(第四版)习题答案第二章练习1:public class PrimitiveTest {static int i;static char c;public static void main(String[] args) {System.out.println("int = " + i);System.out.println("char = " + c);}}练习2:public class HelloWorld {public static void main(String[] args) {System.out.println("Hello World!");}}练习3:public class ATNTest {public static void main(String[] args) {class ATypeName {int i;double d;boolean b;void show() {System.out.println(i);System.out.println(d);System.out.println(b);}}A TypeName a = new ATypeName();a.i = 3;a.d = 2.71828;a.b = false;a.show();}}练习4:public class DataOnlyTest {public static void main(String[] args) {class DataOnly {int i;double d;boolean b;void show() {System.out.println(i);System.out.println(d);System.out.println(b);}}DataOnly data = new DataOnly();data.i = 3;data.d = 2.71828;data.b = false;data.show();}}练习5:public class DOTest2 {public static void main(String[] args) {class DataOnly {int i;double d;boolean b;void show() {System.out.println(i);System.out.println(d);System.out.println(b);}}DataOnly data = new DataOnly();data.i = 234;data.d = 2.1234545;data.b = true;data.show();}}练习6:public class StorageTest {public static void main(String[] args) {class StoreStuff {int storage(String s) {return s.length() * 2;}}StoreStuff x = new StoreStuff();System.out.println(x.storage("hi"));}}练习7:class StaticTest {static int i = 47;}class Incrementable {static void increment() { StaticTest.i++; }}public class ITest {public static void main(String[] args) {System.out.println("StaticTest.i= " + StaticTest.i);StaticTest st1 = new StaticTest();StaticTest st2 = new StaticTest();System.out.println("st1.i= " + st1.i);System.out.println("st2.i= " + st2.i);Incrementable sf = new Incrementable();sf.increment();System.out.println("After sf.increment() called: ");System.out.println("st1.i = " + st1.i);System.out.println("st2.i = " + st2.i);Incrementable.increment();System.out.println("After Incrementable.increment called: ");System.out.println("st1.i = " + st1.i);System.out.println("st2.i = " + st2.i);}}练习8:class StaticTest {static int i = 47;}class Incrementable {static void increment() { StaticTest.i++; }}public class OneStaticTest {public static void main(String[] args) {System.out.println("StaticTest.i= " + StaticTest.i);StaticTest st1 = new StaticTest();StaticTest st2 = new StaticTest();System.out.println("st1.i= " + st1.i);System.out.println("st2.i= " + st2.i);Incrementable.increment();System.out.println("After Incrementable.increment() called: ");System.out.println("st1.i = " + st1.i);System.out.println("st2.i = " + st2.i);Incrementable.increment();System.out.println("After Incrementable.increment called: ");System.out.println("st1.i = " + st1.i);System.out.println("st2.i = " + st2.i);st1.i = 3;System.out.println("After st1.i = 3, ");System.out.println("st1.i = " + st1.i);System.out.println("st2.i = " + st2.i);System.out.println("Create another StaticTest, st3.");StaticTest st3 = new StaticTest();System.out.println("st3.i = " + st3.i);}}练习9:public class AutoboxTest {public static void main(String[] args) {boolean b = false;char c = 'x';byte t = 8;short s = 16;int i = 32;long l = 64;float f = 0.32f;double d = 0.64;Boolean B = b;System.out.println("boolean b = " + b);System.out.println("Boolean B = " + B);Character C = c;System.out.println("char c = " + c);System.out.println("Character C = " + C);Byte T = t;System.out.println("byte t = " + t);System.out.println("Byte T = " + T);Short S = s;System.out.println("short s = " + s);System.out.println("Short S = " + S);Integer I = i;System.out.println("int i = " + i);System.out.println("Integer I = " + I);Long L = l;System.out.println("long l = " + l);System.out.println("Long L = " + L);Float F = f;System.out.println("float f = " + f);System.out.println("Float F = " + F);Double D = d;System.out.println("double d = " + d);System.out.println("Double D = " + D);}}练习10:public class CommandArgTest {public static void main(String[] args) {int[]args1={1,2,3};System.out.println("args[0] = " + args1[0]);System.out.println("args[1] = " + args1[1]);System.out.println("args[2] = " + args1[2]);}}练习11:public class Rainbow {public static void main(String[] args) {AllTheColorsOfTheRainbow atc = new AllTheColorsOfTheRainbow();System.out.println("atc.anIntegerRepresentingColors = " + atc.anIntegerRepresentingColors);atc.changeColor(7);atc.changeTheHueOfTheColor(77);System.out.println("After color change, atc.anIntegerRepresentingColors = " + atc.anIntegerRepresentingColors);System.out.println("atc.hue = " + atc.hue);}}class AllTheColorsOfTheRainbow {int anIntegerRepresentingColors = 0;int hue = 0;void changeTheHueOfTheColor(int newHue) {hue = newHue;}int changeColor(int newColor) {return anIntegerRepresentingColors = newColor;}}练习12:public class DocTest {/** Entry poing to class & application.* @param args array of string arguments* @throws exceptions No exceptions thrown*/public static void main(String[] args) {System.out.println("Hello, it's: ");System.out.println(new Date());}}练习13-1:public class Documentation1 {/** A field comment */public int i;/** A method comment */public void f() {}}2:public class Documentation2 {Date d = new Date();void showDate() {System.out.println("Date = " + d);}}3:public class Documentation3 {public static void main(String[] args) {Date d = new Date();System.out.println("d = " + d);}}练习14:public class Documentation4 {public int i = 2;private int j = 3;public static void main(String[] args) {Date d = new Date();System.out.println("d = " + d);}}练习15:public class HelloDocTest {public static void main(String[] args) {System.out.println("Hello World!");}}练习16:class Tree {int height;Tree() {System.out.println("Planting a seedling");height = 0;}Tree(int initialHeight) {height = initialHeight;System.out.println("Creating new tree that is " + height + " feet tall");}void info() {System.out.println("Tree is " + height + " feet tall");}void info(String s) {System.out.println(s + ": Tree is " + height + " feet tall"); }}public class Overloading {public static void main(String[] args) {for(int i = 0; i < 5; i++) {Tree t = new Tree(i);();("overloading method");}// Overloaded constructor:new Tree();}}第三章练习1:public class PrintTest {public static void main(String[] args) {print("Hello, from short form.");P.rintln("Hello from greggordon form.");System.out.println("Hello from long form.");}}练习2:class Tube {float level;}public class Assign {public static void main(String[] args) {Tube t1 = new Tube();Tube t2 = new Tube();t1.level = 0.9f;t2.level = 0.47f;P.rintln("1: t1.level: " + t1.level + ", t2.level: " + t2.level);t1 = t2;P.rintln("2: t1.level: " + t1.level + ", t2.level: " + t2.level);t1.level = 0.27f;P.rintln("3: t1.level: " + t1.level + ", t2.level: " + t2.level);}}练习3:class Box {float a;}public class PassObject2 {static void f(Box y) {y.a = 2.71828f;}public static void main(String[] args) {Box x = new Box();x.a = 3.1416f;print("1: x.a = " + x.a);f(x);print("2: x.a = " + x.a);}}练习4:class VelocityCalculator {static float velocity (float d, float t) {if(t == 0) return 0f;else return d/t;}}public class VelocityTester {public static void main(String[] args) {float d = 565.3f;float t = 3.6f;System.out.println("Distance: " + d);System.out.println("Time: " + t);float v = VelocityCalculator.velocity(d, t);System.out.println("Velocity: " + v);}}练习5:class Dog {String name;String says;void setName(String n) {name = n;}void setSays(String s) {says = s;}void showName() {P.rintln(name);}void speak() {P.rintln(says);}}public class DogTest {public static void main(String[] args) {Dog spot = new Dog();spot.setName("Spot");spot.setSays("Ruff!");Dog scruffy = new Dog();scruffy.setName("Scruffy");scruffy.setSays("Wurf!");spot.showName();spot.speak();scruffy.showName();scruffy.speak();}}练习6:class Dog {String name;String says;void setName(String n) {name = n;}void setSays(String s) {says = s;}void showName() {P.rintln(name);}void speak() {P.rintln(says);}}public class DogCompare {public static void main(String[] args) {Dog spot = new Dog();spot.setName("Spot");spot.setSays("Ruff!");Dog scruffy = new Dog();scruffy.setName("Scruffy");scruffy.setSays("Wurf!");spot.showName();spot.speak();scruffy.showName();scruffy.speak();Dog butch = new Dog();butch.setName("Butch");butch.setSays("Hello!");butch.showName();butch.speak();P.rintln("Comparison: ");P.rintln("spot == butch: " + (spot == butch));P.rintln("spot.equals(butch): " + spot.equals(butch));P.rintln("butch.equals(spot): " + butch.equals(spot));P.rintln("Now assign: spot = butch");spot = butch;P.rintln("Compare again: ");P.rintln("spot == butch: " + (spot == butch));P.rintln("spot.equals(butch): " + spot.equals(butch));P.rintln("butch.equals(spot): " + butch.equals(spot));P.rintln("Spot: ");spot.showName();spot.speak();P.rintln("Butch: ");butch.showName();butch.speak();}}练习7:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java程序设计实用教程(第4版)习题解答与实验指导叶核亚编着2013年11月目录“Java程序设计”课程教学要求 (1)第1章 Java概述 (3)第2章 Java语言基础 (5)第3章类的封装、继承和多态 (22)第4章接口、内部类和 Java API基础 (38)第5章异常处理 (43)第6章图形用户界面 (45)第7章多线程 (50)第8章输入/输出流和文件操作 (52)“Java程序设计”课程教学要求1. 课程性质、目的和任务程序设计是高等学校计算机学科及电子信息学科各专业本科的核心专业基础课程,是培养学生软件设计能力的重要课程。
在计算机学科的本科教学中,起着非常重要的作用。
“Java程序设计”是计算机科学与技术专业本科的专业基础限选课,开设本课程的目的是:进行程序设计和面向对象方法的基础训练;使用Java编程技术,设计解决操作系统、网络通信、数据库等多种实际问题的应用程序。
本课程通过全面、系统地介绍Java语言的基础知识、运行机制、多种编程方法和技术,使学生理解和掌握面向对象的程序设计方法,理解和掌握网络程序的特点和设计方法,建立起牢固扎实的理论基础,培养综合应用程序的设计能力。
本课程的先修课程包括:C/C++程序设计I、C/C++程序设计II、数据结构、操作系统、计算机网络、数据库原理等。
2. 教学基本要求本课程的基本要求如下。
①了解Java语言特点,理解Java Application应用程序的运行原理和方法。
掌握在JDK环境中编译和运行程序的操作,熟悉在MyEclipse集成开发环境中,编辑、编译、运行和调试程序的操作。
②掌握Java语言中语句、数组、引用类型等基本语法成分的使用方法,通过类、接口、内嵌类型、包、异常处理等机制表达和实现面向对象程序设计思想。
③掌握Java的多种实用技术,包括图形用户界面、多线程、文件操作和流、使用URL 和Socket进行网络通信等。
④熟悉Java JDBC数据库应用的设计方法。
⑤熟悉基于JSP的Web应用设计方法。
重点:面向对象概念,图形用户界面,线程,流与文件操作,Socket通信。
难点:继承和多态,线程同步,流与文件操作,Socket通信,JDBC,JSP。
3. 学时分配本课程学时为64学时,其中讲课48学时,实验16学时。
学时分配见下表。
4. 实验教学目标与基本要求“Java程序设计”是理论与实践相结合的课程,不仅要求学生掌握基础知识,理解基本原理,更要在实践环节中培养软件设计的基本技能。
实践性环节是巩固所学理论知识、积累程序设计经验的必不可少的重要环节,是提高程序设计能力和计算机操作技能的有力保障。
实验和课程设计等都是加强程序设计训练所必需的实践环节。
课程实验要求是,熟练使用一种Java开发环境(如MyEclipse),掌握编译、运行和调试Java程序的操作,针对不同情况进行软件测试,完善程序并提高程序性能。
实验类型有验证和设计两种。
验证型实验的要求是,仿制已有例题,验证面向对象程序设计的理论和方法,理解基本原理;设计型实验的要求是,应用图形用户界面、线程、Applet、文件操作和流、网络通信、数据库应用等章的知识点,掌握解决这些实际应用问题的软件设计方法,设计具有一定规模、较复杂、较综合并解决实际问题的应用程序,具备独立分析问题、解决问题的能力和综合应用程序的设计能力。
本课程安排的上机实验学时为16时,课内开设的8个实验说明如下。
一个程序的编写和运行,写出实验报告。
实验报告内容包括:题目、题意解释、题意分析、设计方案、流程描述、源程序清单、程序运行结果、程序存在问题和改进意见等。
1章 Java概述本章教学内容及要求如下:①了解Java语言特点,理解Java Application应用程序的运行原理和方法,理解由Java虚拟机支持的程序运行机制。
②掌握在JDK环境中编译和运行程序的操作,熟悉在MyEclipse集成开发环境中编辑、编译、运行和调试程序的操作。
重点:掌握在JDK和MyEclipse环境中编译和运行Java Application应用程序的操作。
1.1 了解Java1-1 Java具有哪些适合在Internet环境中运行的特点【答】跨平台特性、完全面向对象和简单性、可靠性、安全性、多线程、支持分布式网络应用等。
1-2 什么是跨平台特性Java怎样实现跨平台特性【答】跨平台特性是指一个应用程序能够运行于不同的操作系统平台。
Java采用虚拟机技术支持跨平台特性,不同的操作系统上运行不同版本的Java虚拟机。
1-3 Java源程序文件编译后生成什么文件程序的运行机制是怎样的【答】Java将源程序文件(*.java)中的每个类编译生成一个字节码文件(.class),由Java虚拟机解释执行字节码文件。
1-4 Java应用程序有哪两种形式它们的运行方式有什么不同【答】Java应用程序有两种:Application和Applet。
Application是能够独立运行的应用程序,有控制台和图形用户界面两种运行方式。
Applet是可以嵌入Web页面的最小应用,它不能独立运行,必须嵌入超文本(*.html)中,由浏览器中的Java解释器解释执行。
1.2 JDK1-5 环境变量path和classpath的作用分别是什么【答】path提供可执行文件(.exe)的路径;classpath提供类文件(.class)的路径。
1-6 什么是包为什么需要包机制【答】包(package)是类的集合。
包是Java区别类名字空间的机制。
一个包中的多个类之间不能重名,不同包中的类名则可以相同。
【习1.1】为例的Line类增加以下方法:public double length() ava)中,可以使用package 语句声明包,使用import语句导入包,之后使用class或interface声明多个类或接口。
其中,声明为public权限的类或接口只能有一个,且文件名必须与该类名相同。
1-7 程序中的错误有哪几种分别在什么时刻被发现【答】语法错、语义错、逻辑错。
编译时能够发现语法错,运行时能够发现语义错,运行时不能发现逻辑错。
2章 Java语言基础本章教学内容及要求如下:①掌握Java语言的基本语法成分,包括标识符与关键字、数据类型、运算符、表达式、变量声明等语言成分,掌握分支、循环等流程控制语句的语法和使用。
特别注意与C/C++的不同之处。
②掌握数组类型的声明和动态内存申请,掌握以基本数据类型和类的两种方式声明和使用字符串。
③掌握Java语言的方法声明和调用规则,掌握基本类型和引用类型作为方法参数和返回值的传递规则。
④掌握MyEclipse程序调试技术。
重点:数组的引用模型;使用静态方法,引用类型作为方法的参数和返回值。
难点:位运算,二进制;递归算法。
MyEclipse程序调试技术。
2.1 语言成分1. 数据类型、变量及运算2-1 Java语言的基本数据类型有哪些引用数据类型有哪些【答】基本数据类型有:整数类型byte、short、int、long,浮点数类型float、double,字符类型char,布尔类型boolean;引用数据类型包括数组(array)、类(class)和接口(interface)。
2-2 与C++语言相比,Java语言的变量和常量声明有什么差别【答】Java语言没有全局变量,(成员)局部变量含义及变量声明格式与C++相同。
Java语言没有宏替换,使用最终变量概念代替C++中的常量和宏替换。
使用final关键字声明最终变量,只能赋值一次,这样既增加了常量功能,又避免全局变量和宏替换的副作用。
2-3 Java 语言的运算分哪些类型与C++语言相比,运算符及运算含义有哪些变化 【答】Java 语言有算术运算、关系运算、位运算、逻辑运算、赋值运算、强制类型转换、条件运算、括号运算、点运算、new 、+字符串连接运算和instanceof 运算等,其中+字符串连接和instanceof 运算符是Java 新增的,此外,放弃了C++的sizeof 运算符。
与C++语言相比,Java 语言的语法更为严谨,将C++中某些容易引起混淆的语法做了修订,编译时也将严格进行检查。
在Java 语言中,运算符及运算含义有变化的说明如下。
① 没有赋值功能的表达式不能作为语句。
例如:int i=0;i+1;0111 11111111 1111Integer.MAX_VALUE 7 0十进制1111 11111111 1111f … 817 … 101f … 18十六进制21474836470x7fffffff0000 00000000 000110000 00000000 000011+1000 00000000 00000000 00000000 0000-21474836480x80000000Integer.MIN_VALUE(a )125&10(b )125 | 10/ 01 2 3 4 5 6 7 8 9 : ; < = > @A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~② 修改上述程序段的for 语句表达式如下,输出Unicode 汉字字符表。
for(charch='\u4e00';ch<='\u9fa5';ch++)(a )int a[]=new int[5];(b )int b[];b=a; //引用赋值(c )b[0]=99;aa ba b数组第一维mat[0]mat[mat.length -1]……mat[i]…matj ...mat[0][mat.length -1] (1)123右下三角下标和为n ~2*n -2左上三角下标和为0~n -下标和为4下标和为5下标和为6. args) 度]变换类型〈变换类型〉取值有:b (boolean )、c (字符)、C (字母大写)、d (十进制整数)、o (八进制整数)、x (十六进制整数)、e (浮点数指数形式)、f (浮点数小数形式)、s (字符串字母小写)、S (字符串字母大写)。
参数索引指定第几个参数,省略时为默认次序。
当指定宽度不足时,以实际宽度显示;可用变量指定宽度。
例如:("%4d",1) .+%2$d=%1$d",55,10) .+10=55”("%x",0177), k=('E');. args)方法返回format 指定格式的字符串,"%o"、"%x"分别指定八进制、十六进制整数格式。