JAVA课本课后习题答案

合集下载

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

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

《Java基础入门》课后习题及答案《Java基础入门》课后习题第1章Java开发入门一、填空题1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。

2、Java程序的运行环境简称之为JRE_____。

3、编译Java程序需要使用_javac_____命令。

4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的bin______目录下。

5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量则用来保存保存Java虚拟机要运行的“.class”文件路径。

二、选择题1、以下选项中,哪些属于JDK工具?(多选)ABCDA、Java编译器B、Java运行工具C、Java文档生成工具D、Java打包工具2、Java属于以下哪种语言?CA、机器语言B、汇编语言C、高级语言D、以上都不对3、下面哪种类型的文件可以在Java虚拟机中运行?DA、.javaB、.jreC、.exeD、.class4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?BA、Java文档制作工具B、Java解释器C、Java编译器D、Java启动器5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项?BA.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre;三、问答题1、简述Java的特点。

面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。

2、简述JRE与JDK的区别。

JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。

java课后答案(整理)

java课后答案(整理)

2-2.Java语言的基本数据类型有哪些?引用数据类型有哪些?【答】基本数据类型有:整数类型byte、short、int、long,浮点数类型float、double,字符类型char,布尔类型boolean;引用数据类型包括数组(array)、类(class)和接口(interface)2-14.作为引用数据类型,数组变量与基本数据类型的变量使用时有哪些区别?【答】数组变量与基本数据类型变量不同点在于,存储单元的分配方式不同,两个变量之间的赋值方式也不同。

基本数据类型变量获得存储单元的方式是静态的,声明了变量后系统就为变量分配了存储单元,就可以对变量赋值。

两个变量之间的赋值是值本身。

数组变量的引用赋值,数组变量保存的是数组的引用,即数组占用的一片连续存储空间的首地址及长度特性。

当声明一个数字变量而未申请空间时,变量是未初始化的,没有地址及特性值。

只有申请了存储空间,才能以下标表示数组元素。

3-1 什么是类?什么是对象?他们之间的关系是怎样的?【答】在面向对象的概念中,类是既包括数据又包括作用于数据的一组操作的封装体。

类中的数据称为成员变量,类中的数据操作称为成员方法。

类中的成员变量和成员方法统称为类的成员。

对象是类的实例。

对象与类的关系就像变量与数据类型的关系一样。

是抽象与具体,模板与实例的关系,类是抽象的、是模板,对象是具体的、是实例。

3-2 作为引用数据类型,对象在赋值和方法的参数传递方面与基本数据类型的变量有什么不同?【答】作为引用数据类型,两个对象之间的赋值是引用赋值,对象可被赋值为null。

具体可参见课本第三章图3.1的(d)。

方法声明中形式参数的数据类型,既可以是基本数据类型,也可以是引用数据类型。

如果形式参数的数据类型是基本数据类型,则实际参数向形式参数传递的是值;如果形参的数据类型是引用数据类型,则实参向形参传递的是引用。

同样,方法返回值的数据类型,既可以是基本数据类型,也可以是引用数据类型,两者分别传递值和引用。

java第四版课后习题答案

java第四版课后习题答案

java第四版课后习题答案Java第四版课后习题答案Java是一种广泛应用于软件开发领域的编程语言,具有跨平台、面向对象等特点。

对于学习Java的人来说,课后习题是巩固知识、提高编程能力的重要方式。

本文将为读者提供Java第四版课后习题的答案,帮助读者更好地理解和掌握Java编程。

一、基础知识1. 什么是Java虚拟机(JVM)?它的作用是什么?答:Java虚拟机(JVM)是Java程序运行的环境,它负责将Java源代码编译成字节码,并在不同的操作系统上运行。

JVM的作用是实现Java的跨平台特性,使得Java程序可以在不同的操作系统上运行。

2. Java中的八种基本数据类型是什么?答:Java中的八种基本数据类型分别是byte、short、int、long、float、double、char和boolean。

3. 什么是面向对象编程(OOP)?Java是一种面向对象的编程语言吗?答:面向对象编程(OOP)是一种编程范式,通过将数据和方法封装在对象中,以对象为中心进行程序设计和开发。

Java是一种面向对象的编程语言,它支持封装、继承和多态等面向对象的特性。

二、控制流程1. Java中的条件语句有哪些?答:Java中的条件语句包括if语句、switch语句和三元运算符。

2. Java中的循环语句有哪些?答:Java中的循环语句包括for循环、while循环和do-while循环。

3. 如何在循环中使用break和continue语句?答:break语句用于立即终止循环,跳出循环体。

continue语句用于跳过当前循环的剩余代码,继续下一次循环。

三、数组和集合1. 如何声明和初始化一个一维数组?答:可以使用以下方式声明和初始化一个一维数组:```int[] array = new int[5]; //声明一个长度为5的整型数组int[] array = {1, 2, 3, 4, 5}; //声明并初始化一个整型数组```2. 如何声明和初始化一个二维数组?答:可以使用以下方式声明和初始化一个二维数组:```int[][] array = new int[3][2]; //声明一个3行2列的整型二维数组int[][] array = {{1, 2}, {3, 4}, {5, 6}}; //声明并初始化一个整型二维数组```3. Java中常用的集合类有哪些?答:Java中常用的集合类有ArrayList、LinkedList、HashSet、TreeSet、HashMap和TreeMap等。

JAVA课后习题答案

JAVA课后习题答案

JAVA课后习题答案第⼀章Java语⾔概述2.“java编译器将源⽂件编译为的字节码⽂件是机器码”这句话正确吗?答:不正确3.java应⽤程序的主类必须含有怎样的⽅法?答:含有main⽅法4。

“java应⽤程序必须有⼀个类是public类”这句话正确吗?答;不正确,只能有⼀个public类5。

“java Applet程序的主类必须是public类”这句话正确吗?答:正确,因为java Applet主类必须是Applet类的⼦类并且是public的类6。

请叙述java源程序的命名规则。

答:与public的类同名。

7。

源⽂件⽣成的字节码⽂件在运⾏时都加载到内存中吗?答:⾮也,动态随需要运⾏才加载。

8.⾯向对象的程序设计语⾔有那些基本特征?答:封装;继承;多态性。

9.在Java程序中有多个类⽂件时,⽤Java命令应该运⾏那个类?答:具有main⽅法的类第⼆章基本数据类型和数组4。

下列哪些语句是错的?Int x=120;Byte b=120;b=x;答:B=x;错应为b=(byte)x5。

下列哪些语句是错的?答:y=d;错,应y=(float)d6。

下列两个语句是等价的吗?Char x=97;Char x=…a?;答:是等价的。

7。

下列system.out.printf语句输出结果是什么?Int a=97;Byte b1=(byte)128;Byte b2=(byte)(-129);System.out.printf(“%c,%d,%d”,a,b1,b2);如果输出语句改为:System.out.printf(“%d,%d,%d”,a,b1,b2);输出什么?答:输出a ,-128,127修改后输出97,-128,1278.数组是基本数据类型吗?怎样获取数组的长度?答:不是基本数据类型,是复合数据类型。

可以通过:数组名.length的⽅法获得数组长度9。

假设有两个int类型数组:Int[] a=new int[10];Int[] b=new int[8];b=a;A[0]=100;B[0]的值⼀定是100吗?答;⼀定,因为a数组与b数组引⽤相同。

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 SumOfEvenNumbers {public static void main(String[] args) {int sum = 0;for (int i = 2; i <= 100; i += 2) {sum += i;System.out.println("1到100之间的所有偶数的和为:" + sum); }}```3. 编写一个Java程序,判断一个整数是否是素数。

```javapublic class PrimeNumber {public static void main(String[] args) {int num = 17;boolean isPrime = true;for (int i = 2; i <= Math.sqrt(num); i++) {if (num % i == 0) {isPrime = false;break;}}if (isPrime) {System.out.println(num + "是素数");} else {System.out.println(num + "不是素数");}}```二、进阶习题1. 编写一个Java程序,实现一个简单的计算器,能够进行加、减、乘、除四则运算。

java课后习题答案

java课后习题答案

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程序,计算两个整数的和。

```javapublic class SumCalculator {public static void main(String[] args) {int a = 10;int b = 20;int sum = a + b;System.out.println("The sum is: " + sum);}}```3. 编写一个Java程序,判断一个数是否为偶数。

```javapublic class EvenNumberChecker {public static void main(String[] args) {int number = 10;if (number % 2 == 0) {System.out.println(number + " is an even number.");} else {System.out.println(number + " is not an even number.");}}}```二、面向对象编程题1. 编写一个Java类,表示一个学生,包含学生的姓名、年龄和成绩,并提供获取和设置这些属性的方法。

java课后习题答案及部分作业答案

java课后习题答案及部分作业答案

java课后习题答案及部分作业答案第⼀章Java概述⼀、选择题1、下⾯哪个是在Dos命令提⽰符下编译Java程序的命令?(A )A. javacB. javaC. javadocD. javaw2、以下哪些是Java程序中有效的注释符号?(ABC )A. //B. /* */C. /** */D. */ */3、以下哪个不是Java语⾔的特点?(B )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源代码⽂件编译后⽣成字节码⽂件2、简述Java语⾔的特点Java具有以下特点:1)、简单性Java语⾔的语法规则和C语⾔⾮常相似,只有很少⼀部分不同于C语⾔,并且Java还舍弃了C语⾔中复杂的数据类型(如:指针和结构体),因此很容易⼊门和掌握。

2)、可靠性和安全性Java从源代码到最终运⾏经历了⼀次编译和⼀次解释,每次都有进⾏检查,⽐其它只进⾏⼀次编译检查的编程语⾔具有更⾼的可靠性和安全性。

3)、⾯向对象Java是⼀种完全⾯向的编程语⾔,因此它具有⾯向对象编程语⾔都拥有的封装、继承和多态三⼤特点。

4)、平台⽆关和解释执⾏Java语⾔的⼀个⾮常重要的特点就是平台⽆关性。

它是指⽤Java编写的应⽤程序编译后不⽤修改就可在不同的操作系统平台上运⾏。

Java2实用教程(第四版)课后习题1-8章答案最终

Java2实用教程(第四版)课后习题1-8章答案最终

习题一(第 1 章)一、问答题1.James Gosling2.需 3 个步骤:1) 用文本编辑器编写源文件。

2) 使用javac 编译源文件,得到字节码文件。

3) 使用解释器运行程序。

3.由类所构成,应用程序必须有一个类含有public static void main(String args[]) 方法,含有该方法的类称为应用程序的主类。

不一定,但最多有一个public 类。

4.Path 设置为:以安装的版本为例。

)ClassPath 设置为:set classpath=D:\jdk\jre\lib\;.;5. .java 和.class6. java Bird7. 独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行)二、选择题1. B。

2. D o三、阅读程序1 . ( a) o ( b)两个字节码,分别是和。

(c)得至U “ NoSuchMethodError ” ,得到“NoClassDefFoundError: Xiti/class ”,得到“您好,很高兴认识您nice to meet you”习题二(第 2 章)一、问答题1. 用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。

标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。

false不是标识符。

2.关键字就是Java 语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。

不是关键字。

class implements interface enum extends abstract 。

3.boolean,char,byte,short,int ,long ,float ,double。

4. float常量必须用F或f为后缀。

double常量用D或d为后缀,但允许省略后缀。

5. —维数组名.length。

二维数组名」ength。

二、选择题1. C。

2. ADF 。

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

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

public class TimeTest{public static void main(String args[]){int time;time = Integer.parseInt(args[0]);if(time<0||time>24)System.out.println("输入的不是一个合法时间!");else if(time>12)System.out.println("12小时制为"+(time-12)+"点");elseSystem.out.println("12小时制为"+time+"点");}}2.用户输入x的数值,根据如下规则输出计算后的结果y值。

x (x<1)Y = 2x -1 (1<=x<10)3x -11 (x>=10)public class CalculateTest{public static void main(String args[]){float x,y;x = Float.parseFloat(args[0]);if(x<1)y = x;else if(1<=x&&x<10)y = 2*x-1;elsey = 3*x-11;System.out.println(y);}}3.编写一个Java应用程序,由命令行参数输入一个百分制成绩,要求打印出成绩等级“A”、“B”、“C”、“D”、“E”。

90分以上为“A”;80~89分为“B”;70~79分为“C”;60~69分为“D”;60分以下为“E”。

要求使用switch语句实现。

运行效果如图2所示:图1public class PrintGrade {public static void main(String[] args) {double score = Double.parseDouble(args[0]);if(score<0 || score>100)System.out.println("错误,不是一个合法的百分制成绩!");else{int s = ((int)score)/10;char grade;switch(s){case 10:case 9: grade = 'A'; break;case 8: grade = 'B'; break;case 7: grade = 'C'; break;case 6: grade = 'D'; break;default:grade = 'E';}System.out.println("成绩是:"+score+",相应的等级是"+grade);}}}4.假设今天是星期日,编写一个程序,求n天后是星期几。

要求:n的数值由命令行输入;使用switch语句实现。

public class DateTest {public static void main(String[] args) {int n = Integer.parseInt(args[0]);switch (n%7){case 0: System.out.println(n+"天后是星期天"); break;case 1: System.out.println(n+"天后是星期一"); break;case 2: System.out.println(n+"天后是星期二"); break;case 3: System.out.println(n+"天后是星期三"); break;case 4: System.out.println(n+"天后是星期四"); break;case 5: System.out.println(n+"天后是星期五"); break;case 6: System.out.println(n+"天后是星期六"); break;}}}5.用户在命令行输入一个数字,按照数字输出相应个数的星号。

public class PrintStar {public static void main(String[] args) {int n = Integer.parseInt(args[0]);int i;for( i=1; i<=n; i++)System.out.print("*");System.out.println();}}6.编写程序,求0到100之间的偶数和。

要求:分别用while语句、do while语句和for循环语句实现。

while实现:public class SumDemo1 {public static void main(String[] args) {int sum = 0, i = 0;while(i<=100){if(i%2==0)sum = sum+i;i++;}System.out.println("0--100之间所有偶数的和是"+sum);}}do while实现:public class SumDemo2 {public static void main(String[] args) {int sum = 0, i = 0;do{if(i%2==0)sum = sum+i;i++;}while(i<=100);System.out.println("0--100之间所有偶数的和是"+sum);}}for循环实现:public class SumDemo3 {public static void main(String[] args) {int sum = 0, i = 0;for( ; i<=100; i=i+2)sum = sum+i;System.out.println("0--100之间所有偶数的和是"+sum);}}7.输入一个大于1的整数,求1到这个数的阶乘。

用三种循环语句实现。

提示:5的阶乘表示为5!,计算公式:5!=1*2*3*4*5while实现:public class Factorial1 {public static void main(String[] args) {int num = Integer.parseInt(args[0]);int result = 1;if(num<1)System.out.println("应输入大于1的整数!");else{int i = 1;while(i<=num){result = result*i;i++;}System.out.println(num+"的阶乘是"+result);}}}do while实现:public class Factorial2 {public static void main(String[] args) {int num = Integer.parseInt(args[0]);int result = 1;if(num<1)System.out.println("应输入大于1的整数!");else{int i = 1;do{result = result*i;i++;}while(i<=num);System.out.println(num+"的阶乘是"+result);}}}for循环实现:public class Factorial3 {public static void main(String[] args) {int num = Integer.parseInt(args[0]);int result = 1;if(num<1)System.out.println("应输入大于1的整数!");else{int i;for( i=1; i<=num; i++)result = result*i;System.out.println(num+"的阶乘是"+result);}}}8.用for循环语句打印九九乘法表。

public class Multiplication {public static void main(String[] args) {int i,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)System.out.print(i*j+"\t");System.out.println();}}}第2章面向对象的“对象”1. 定义一个描述长方体的类Box,类中有三个整型的成员变量:length、width 和height,分别表示长方体的长、宽和高。

定义setInfo(int ,int ,int)方法设置这三个变量的值;定义volumn()方法求长方体的体积并返回整型结果;定义area()方法求长方体的表面积并返回整型结果;定义toString()方法把长方体的长、宽、高,以及长方体的体积和表面积转化为字符串并返回字符串。

编写Java应用程序,测试类Box,使用类中定义的各个方法,并将其结果输出。

class Box{int length,width,height;public setInfo(int l,int w,int h){length = l;width = w;height = h;}public int volumn(){return length*width*height;}public int area(){return (length*width + length*height + width*height) * 2;}public String toString(){return "Length:" + length + " width:" + width + " height:" + height + " volumn: " + volumn() + " area:" + area();}}public class BoxTest {public static void main(String[] args) {Box b = new Box();b.setInfo(5,2,4);System.out.println(b.toString());}}2. 定义一个圆形类Circle,类中有一个用来描述半径的double型成员变量r,定义setR(double)方法初始化半径;定义getArea()方法求圆形的面积并返回double类型结果;定义getPerimeter()方法求圆形的周长并返回double类型结果。

相关文档
最新文档