java课后习题答案

合集下载

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语⾔概述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基‎础入门》习题答案第1章Java开‎发入门一、填空题1、Java EE、Java SE、Java ME2、JRE3、javac‎4、bin5、path、class‎p ath二、选择题1、ABCD2、C3、D4、B5、B三、简答题1、面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。

2、JRE(Java Runti‎m e Envir‎o nmen‎t,Java运‎行时环境),它相当于操‎作系统部分‎,提供了Ja‎v a程序运‎行时所需要‎的基本条件‎和许多Ja‎v a基础类‎,例如,IO类、GUI控件‎类、网络类等。

JRE是提‎供给普通用‎户使用的,如果你只想‎运行别人开‎发好的Ja‎v a程序,那么,你的计算机‎上必须且只‎需安装JR‎E。

JDK(Java Devel‎o pmen‎t Kit,Java开‎发工具包),它包含编译‎工具、解释工具、文档制作工‎具、打包工具多‎种与开发相‎关的工具,是提供给J‎a va开发‎人员使用的‎。

初学者学习‎和使用Ja‎v a语言时‎,首先必须下‎载和安装J‎D K。

JDK中已‎经包含了J‎R E部分,初学者安装‎J DK后不‎必再去下载‎和安装JR‎E了。

四、编程题publi‎c class‎Hello‎W orld‎{publi‎c stati‎c void main(Strin‎g[] args) {Syste‎m.out.print‎ln("这是第一个‎J ava程‎序!");}}第2章Java编‎程基础一、填空题1、class‎2、true和‎false‎3、单行注释、多行注释、文档注释4、基本数据类‎型、引用数据类‎型5、1、2、4、86、& && | ||7、08、59、3410、56二、判断题1、错2、对3、错4、对5、错三、选择题1、AD2、AD3、C4、ABCD5、C 6 、A 7、AC 8、A 9、B 10、A四、程序分析题‎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课后习题及答案

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 程序设计 *********
*************************************
答案:
public class TestDemo {
public static void main(String[] args) {
System.out.println("*************************************");
A、 2、6、6
B、 4、9、9
C、 4、6、12
D、 3、9、9
12、 以下的 B 能正确表示Java语言中的一个整型常量。
A、 35.d
B、 -20
C、 1,234 D、 "123"
13、 下面的数据类型 D 是float型
A、 33.8
B、 129
C、 89L
D、 8.6F
14、 下列关于自动类型转换的说法中,正确的一个是 B 。
是 *.class 。 7、 布尔型数据类型的关键字是 boolean ,有 true 和 false 两种取值。 8、 整型数可以采用 byte 、 short 、 int 和 long 四种类型表示。 9、 根据占用内存长度的不同将浮点型分为 float 和 double 两种。 10、 Java程序结构分为: 顺序结构 、 分支结构 、 循环结构 三种。 11、 逻辑表达式:true&&false&&true的结果是 false 。 12、 逻辑表达式:!true||false的结果是 false 。 13、 在方法中可以使用 return 语句来结束方法的执行。 14、 方法中的 void 关键字用来表示方法不返回任何值。

Java实用教程课后习题章答案最终

习题一第1章一、问答题1.James Gosling2.需3个步骤:1)用文本编辑器编写源文件..2)使用javac编译源文件;得到字节码文件..3)使用解释器运行程序..3.由类所构成;应用程序必须有一个类含有public static void mainString args方法;含有该方法的类称为应用程序的主类..不一定;但最多有一个public类..4.Path设置为:以安装的版本为例..ClassPath设置为:set classpath=D:\jdk\jre\lib\rt.jar;.;5. .java和.class6. java Bird7.独行风格大括号独占行和行尾风格左大扩号在上一行行尾;右大括号独占行二、选择题1.B..2.D..三、阅读程序1.aPerson.java..b两个字节码;分别是Person.class和Xiti.class..c 得到“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..二维数组名.length..二、选择题1.C..2.ADF..3.B..4.BE..5.代码2代码3代码4代码5..6.B..三、阅读或调试程序1.低住佐佑佒体占何佖佗佘余佚佛作佝佞佟你佡佢2.答案是:234<468我输出结果后不回车我输出结果后自动回车到下一行x+y= 6663.属于操作题;解答略..4.代码1:4..代码2:b0=1..5.代码1:40..代码2:7四、编写程序1. public class E {public static void mainString args {你';我';他';}}2. public class E {public static void main String args { char cStart='α';cEnd='ω';forchar c=cStart;c<=cEnd;c++}}习题三第3章一、问答题1.boolean2.不可以3.boolean4. 不是必须的5.结束while语句的执行6.可以二、选择题1.A.. 2.C.. 3.C..三、阅读程序1.你;苹;甜2.Jeep好好3.x=-5;y=-1四、编程序题1.public class jiecheng {public static void mainString args { double sum=0;a=1;int i=1;whilei<=20 {sum=sum+a;i++;a=ai;}}}2.public class sushu {public static void mainString args { int i;j;forj=2;j<=100;j++ {fori=2;i<=j/2;i++ {ifj%i==0break;}ifi>j/2 {}}}}3.class qiuhe {public static void mainString args { double sum=0;a=1;i=1;do { sum=sum+a;i++;a=1.0/ia;}whilei<=20;使用do-while循环计算的sum="+sum;forsum=0;i=1;a=1;i<=20;i++ {a=a1.0/i;sum=sum+a;}使用for循环计算的sum="+sum;}}4.public class wanshu {public static void mainString args {int sum=0;i;j;fori=1;i<=1000;i++ {forj=1;sum=0;j<i;j++ {ifi%j==0sum=sum+j;}ifsum==i完数:"+i;}}}5.public class Xiti5 {public static void mainString args {int m=8;item=m;i=1;long sum=0;fori=1;sum=0;item=m;i<=10;i++ {sum=sum+item;item=item10+m;}}}6.public class Xiti6 {public static void mainString args { int n=1;long sum=0;whiletrue {sum=sum+n;n++;ifsum>=8888break;}满足条件的最大整数:"+n-1;}}习题四第4章一、问答题1. 封装、继承和多态..2.当类名由几个单词复合而成时;每个单词的首字母使用大写..3.名字的首单词的首字母使用小写;如果变量的名字由多个单词组成;从第2个单词开始的其它单词的首字母使用大写..4.属性5.行为6.用类创建对象时..没有类型7.用类创建对象时..8.一个类中可以有多个方法具有相同的名字;但这些方法的参数必须不同;即或者是参数的个数不同;或者是参数的类型不同..可以..9.可以..不可以..10.不可以..11.一个类通过使用new运算符可以创建多个不同的对象;不同的对象的实例变量将被分配不同的内存空间..所有对象的类变量都分配给相同的一处内存;对象共享类变量..12.代表调用当前方法的对象..不可以..二、选择题1.B..2.D..3.D..4.D..5.CD..6.代码1代码4..7.代码4..三、阅读程序1.代码1:1;代码2:121;代码3:121..2.sum=-100..3. 27..4.代码1:100;代码2:20.0..5.上机实习题目;解答略..6.上机实习题目;解答略..四、编程题CPU.javapublic class CPU {int speed;int getSpeed {return speed;}public void setSpeedint speed {this.speed = speed;}}HardDisk.javapublic class HardDisk {int amount;int getAmount {return amount;}public void setAmountint amount { this.amount = amount;}}PC.javapublic class PC {CPU cpu;HardDisk HD;void setCPUCPU cpu {this.cpu = cpu;}void setHardDiskHardDisk HD { this.HD = HD;}void show{速度:"+cpu.getSpeed;硬盘容量:"+HD.getAmount;}}Test.javapublic class Test {public static void mainString args {CPU cpu = new CPU;HardDisk HD=new HardDisk;cpu.setSpeed2200;HD.setAmount200;PC pc =new PC;pc.setCPUcpu;pc.setHardDiskHD;pc.show;}}习题五第5章一、问答题1.不可以..2.是..3.不继承..4.声明与父类同名的成员变量..5.子类重写的方法类型和父类的方法的类型一致或者是父类的方法的类型的子类型;重写的方法的名字、参数个数、参数的类型和父类的方法完全相同..重写方法的目的是隐藏继承的方法;子类通过方法的重写可以把父类的状态和行为改变为自身的状态和行为..6.不可以..7.Abstract类..8.上转型对象不能操作子类新增的成员变量;不能调用子类新增的方法..上转型对象可以访问子类继承或隐藏的成员变量;可以调用子类继承的方法或子类重写的实例方法..9.通过重写方法..10.面向抽象编程目的是为了应对用户需求的变化;核心是让类中每种可能的变化对应地交给抽象类的一个子类类去负责;从而让该类的设计者不去关心具体实现..二、选择题1.C..2.D..3.CD..4.D..5.B..6.B..7.D..8.B..9.A..三、阅读程序1.代码1:15.0..代码2:8.0..2.代码1:11..代码2:110..3.代码1:98.0..代码2:12..代码3:98.0..代码4:9..4.代码1:120..代码2:120..代码3:-100..四、编程题Animal.javapublic abstract class Animal {public abstract void cry;public abstract String getAnimalName;}Simulator.javapublic class Simulator {public void playSoundAnimal animal {现在播放"+animal.getAnimalName+"类的声音:";animal.cry;}}Dog.javapublic class Dog extends Animal {public void cry {汪汪...汪汪";}public String getAnimalName {return "狗";}}Cat.javapublic class Cat extends Animal {public void cry {喵喵...喵喵";}public String getAnimalName {return "猫";}}Application.javapublic class Example5_13 {public static void mainString args {Simulator simulator = new Simulator;simulator.playSoundnew Dog;simulator.playSoundnew Cat;}}习题六第6章一、问答题1.不能..2.不能..3.可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中..那么该接口变量就可以调用被类实现的接口中的方法..4.不可以..5.可以..二、选择题1.D..2.AB..3.A..三、阅读程序1.代码1:15.0..代码2:8..2.代码1:18..代码2:15..四、编程题Animal.javapublic interface Animal {public abstract void cry;public abstract String getAnimalName;}Simulator.javapublic class Simulator {public void playSoundAnimal animal {现在播放"+animal.getAnimalName+"类的声音:";animal.cry;}}Dog.javapublic class Dog implements Animal {public void cry {汪汪...汪汪";}public String getAnimalName {return "狗";}}Cat.javapublic class Cat implements Animal {public void cry {喵喵...喵喵";}public String getAnimalName {return "猫";}}Application.javapublic class Example5_13 {public static void mainString args {Simulator simulator = new Simulator;simulator.playSoundnew Dog;simulator.playSoundnew Cat;}}习题七第7章一、问答题1.有效..2.可以..3.不可以..4.一定是..二、选择题1.C..2.C..三、阅读程序1.大家好;祝工作顺利2.p是接口变量..3.你好 fine thanks..4.属于上机实习程序;解答略..四、编程题import java.util.;public class E {public static void main String args {Scanner reader = new ScannerSystem.in;double sum = 0;int m = 0;whilereader.hasNextDouble{double x = reader.nextDouble;assert x< 100:"数据不合理";m = m+1;sum = sum+x;}个数的和为%f\n";m;sum;个数的平均值是%f\n";m;sum/m;}}习题八第8章一、问答题1.不是.."\\hello"是..2.4不存在空格是4存在空格是5和3..3.false和true..4.负数..5.是true..6.3和-1..7.会发生NumberFormatException异`常..二、选择题1.A..2.B..3.B..4.D..5.C..三、阅读程序1.代码:苹果..2.代码:Love:Game..3.代码1:15..代码2:abc我们..4.代码:13579..5.代码:9javaHello..6.属于上机实习程序;解答略..7.属于上机实习程序;解答略..四、编程题1.public class E {public static void main String args { String s1;s2;t1="ABCDabcd";s1=t1.toUpperCase;s2=t1.toLowerCase;String s3=s1.concats2;}}2. public class E {public static void main String args {String s="ABCDabcd";char cStart=s.charAt0;char cEnd = s.charAts.length-1;}}3. import java.util.;public class E {public static void main String args {int year1;month1;day1;year2;month2;day2;try{ year1=Integer.parseIntargs0;month1=Integer.parseIntargs1;day1=Integer.parseIntargs2;year2=Integer.parseIntargs3;month2=Integer.parseIntargs4;day2=Integer.parseIntargs5;}catchNumberFormatException e{ year1=2012;month1=0;day1=1;year2=2018;month2=0;day2=1;}Calendar calendar=Calendar.getInstance;calendar.setyear1;month1-1;day1;long timeYear1=calendar.getTimeInMillis;calendar.setyear2;month2-1;day2;long timeYear2=calendar.getTimeInMillis;long 相隔天数=Math.abstimeYear1-timeYear2/1000606024;年"+month1+"月"+day1+"日和"+year2+"年"+month2+"月"+day2+"日相隔"+相隔天数+"天";}}4. import java.util.;public class E {public static void main String args {double a=0;b=0;c=0;a=12;b=24;c=Math.asin0.56;c=Math.cos3.14;c=Math.exp1;c=Math.log8;}}5.public class E {public static void main String args {String str = "ab123you你是谁 ";String regex = "\\D+";str = str.replaceAllregex;"";}}6. import java.util.;public class E {public static void mainString args {String cost = "数学87分;物理76分;英语96分";Scanner scanner = new Scannercost;double sum=0;int count =0;whilescanner.hasNext{try{ double score = scanner.nextDouble;count++;sum = sum+score;}catchInputMismatchException exp{String t = scanner.next;}}总分:"+sum+"分";平均分:"+sum/count+"分"; }}。

java程序设计第二版课后答案

java程序设计第二版课后答案Java程序设计第二版课后答案涵盖了多个章节,每个章节都包含了不同的编程概念和练习题。

以下是一些常见章节的课后答案概要,以供参考:第1章:Java简介- 1.1 Java的起源和特点- 1.2 Java平台的组成- 1.3 Java开发环境的搭建第2章:基本语法- 2.1 数据类型- 2.2 变量声明- 2.3 运算符- 2.4 控制语句(if, switch, loop)第3章:控制流程- 3.1 条件语句(if-else, switch-case)- 3.2 循环语句(for, while, do-while)- 3.3 跳转语句(break, continue, return)第4章:数据结构- 4.1 数组的定义和使用- 4.2 字符串的处理- 4.3 集合框架简介第5章:面向对象编程- 5.1 类和对象- 5.2 构造方法- 5.3 继承- 5.4 封装和多态第6章:异常处理- 6.1 异常的概念- 6.2 异常的分类- 6.3 异常的处理方式(try-catch-finally)第7章:输入输出- 7.1 标准输入输出- 7.2 文件输入输出- 7.3 序列化第8章:Java集合框架- 8.1 集合的基本概念- 8.2 List接口及其实现- 8.3 Set接口及其实现- 8.4 Map接口及其实现第9章:泛型- 9.1 泛型的概念- 9.2 泛型的使用- 9.3 泛型的限制第10章:多线程- 10.1 线程的概念- 10.2 创建和启动线程- 10.3 线程的同步第11章:网络编程- 11.1 网络编程基础- 11.2 Socket编程- 11.3 URL和URLConnection第12章:图形用户界面- 12.1 AWT和Swing- 12.2 事件处理- 12.3 布局管理器第13章:Java数据库连接- 13.1 JDBC基础- 13.2 数据库连接和操作- 13.3 SQL语句的使用第14章:Java Web应用- 14.1 Servlet基础- 14.2 JSP技术- 14.3 MVC架构模式每个章节的课后答案通常包括理论问题和编程练习题的解答。

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

《Java基础入门》课后习题答案第1章Java开发入门一、填空题1、Java EE、Java SE、Java ME2、JRE3、javac4、bin5、path、classpath二、选择题1、ABCD2、C3、D4、B5、B三、简答题1、面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。

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

JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。

JDK(Java Development Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java 开发人员使用的。

初学者学习和使用Java语言时,首先必须下载和安装JDK。

JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。

四、编程题public class HelloWorld {public static void main(String[] args) {"这是第一个Java程序!");}}第2章 Java编程基础一、填空题1、 class2、 true和false3、单行注释、多行注释、文档注释4、基本数据类型、引用数据类型5、 1、2、4、86、 & && | ||7、 08、 59、 3410、56二、判断题1、错2、对3、错4、对5、错三、选择题1、AD2、AD3、C4、ABCD5、C 6 、A 7、AC 8、A 9、B 10、A四、程序分析题1、编译不通过。

int值4和b相加时,由于变量b的类型为byte,取值范围没有int类型大,存不下int类型的值,因此编译不通过。

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

java课后习题答案
java课本课后习题答案
第五章继承、接口与泛型
1、子类在什么情况下可以继承父类的友好成员?
答:父子类在同一包中时子类可以继承父类的友好成员。

2、子类通过什么办法,可以隐藏继承的成员变量。

答:子类成员变量与父类成员变量同名。

3、子类重写继承方法的规则是什么?
答:重写隐藏父类的方法需:返回的数据类型相同,参数的个数相同,并且类型相同。

如果重写父类的方法后参数的个数或类型不同会出现子类方法的重载。

4.子类的构造方法的第一条语句是什么?
答:如果需要调用父类构造方法,则应是用super关键词调用父类的构造方法。

5、子类一旦重写了继承的方法,就会隐藏继承的方法。

是这样吗?
答:不一定。

在参数的个数或类型不同时会产生重载。

如果只有返回值的类型不同,将会产生编译错误。

(5)子类隐藏父类的方法,参数必须______相同并且__________相同.
答:个数,类型
6、子类重写继承方法时,可以降低方法的权限吗?
答:重写继承方法时不能降低访问权限。

7、简述关键字super的用法。

答:1)子类调用父类的构造方法。

2)子类对象引用被隐藏了的父类方法,或成员变量。

8.假设父类有一个方法:
Public double f(double x, double y){
return x+y;}
是否允许子类再声明如下的方法:
Public float f(double x, double y){
return 23;}
答:不允许。

9、父类的final方法可以被子类重写吗?
答:不可以
10、什么类中可以有abstract方法?
答:被abstract修饰的类。

接口中也可以有abstract方法11、什么叫做对象的上转型对象?
答:用子类的构造方法构造出来的对象,赋值给父类对象。

12、什么叫接口回调?
答:用实现接口的类创建的对象,赋值给该接口声明的接口变量。

13、与类有关的匿名类一定是该类的子类吗?与接口有关的匿名类一定是实现该接口的一个类吗?
答:一定,因为类创建对象时,除了构造方法还有类体,此类体被认为是该类的一个子类去掉类声明后的类体。

即匿名类,匿名类就是一个子类。

与接口的匿名类相同。

一定是子类。

14、怎样声明一个泛型类?
答:我们可以这样声明一个泛型类:
class A 其中A时泛型的名称,E是其中的泛型,即我们没有指定E是何种类型的数据,它可以是任何对象或接口,但不能是基本数据类型。

15、阅读下列程序,并说明输出结果。

class NegativeIntegerException extends Exception{
String message;
public NegativeIntegerException(){
message="方法的参数值不是正整数";}
public String toString(){
return message;}}
class MaxCommonDivisor{
public int getMaxCommonDivisor(int a, int b)throws NegativeIntegerException{
if(a0||b0)
throw new NegativeIntegerException();
int r=0;
if(ab){
int t=a; a=b; b=t;}
r=a%b;
while(r!=0){
a=b;
b=r;
r=a%b;}
return b;}}
class MinCommonMultiple extends MaxCommonDivisor{
public int getMinCommonMultiple(int a, int b)throws NegativeIntegerException{
if(a0||b0)
throw new NegativeIntegerException();
int y=0;
int x=getMaxCommonDivisor(a,b);
y=(a*b)/x;
return y;}}
public class Example{
public static void main (String arg[]){
int maxCommonDivisor, minCommonMultiple; MaxCommonDivisor max=new MaxCommonDivisor(); MinCommonMultiple min = new MinCommonMultiple();
try{
maxCommonDivisor=max.getMaxCommonDivisor(18,12); System.out.println("最大公约数:"+ maxCommonDivisor); minCommonMultiple=min.getMinCommonMultiple(18,12); System.out.println("最小公倍数:"+minCommonMultiple); maxCommonDivisor=max.getMaxCommonDivisor(-64,48); System.out.println("最大公约数:"+maxCommonDivisor);} catch(NegativeIntegerException e){
System.out.println(e.toString());}}}
3。

编写一个类要求实现一个接口,该接口有3个abstract方法:Public abstract void f( int x);
Public abstract void g(int x, int y);
Public abstract double h(double x);
要求在应用程序主类中使用该类创建对象,并使用接口回调调用方法f(), g() 和h(). 解:
interface A{
public abstract void f(int x);
public abstract void g(int x,int y); public abstract double h(double x); }
class A1 implements A{
public void f(int x){
System.out.println(x); }
public void g(int x,int y){
int z=x+y;
System.out.println(z); }
public double h(double x){ return x*x;}}
class A2 implements A{
public void f(int x){
System.out.println("Hello:"+x); }
public void g(int x,int y){
int z=x-y;
System.out.println(z); }。

相关文档
最新文档