java课后题答案
- 格式:doc
- 大小:53.00 KB
- 文档页数:10
黑马面试题1:定义map集合,并自定义对象,对map集合遍历,打出key和value值【已完成】2:定义一个类A,类中定义一个show方法,打印一句话,在定义一个TestA类,利用反射在TestA中创建A的对象,并调用show方法3:使用高效字符缓冲流复制文件4:把C盘中的一个多层文件夹拷贝到D盘中。
用高效的方法(要求写思路,注释,代码)5:Integer泛型Map中存储字符串6:开启两个线程每隔一段时间分别向一个共享数组中添加元素,每个线程添加3个即可。
7:Map的两种遍历方式【已完成】8:如何用反射去创建一个对象,有2种方式,尽量用代码去体现9:编写一个程序,把这个目录里边的所有的带.java文件都拷贝到另一个目录里边,拷贝成功以后,把后缀名是.java改成.txt10:创建多线程的方式有几种?尽量用代码去体现11:编写一个类,在main方法中定义一个Map对象(采用泛型),加入若干个对象,然后遍历并打印出各元素的key和value。
【已完成】12:编写程序,生成5个1至10之间的随机整数,存入一个List集合,编写方法对List 集合进行排序(自定义排序算法,禁用Collections.sort方法和TreeSet),然后遍历集合输出【已完成】14:Collection集合下班有哪些类,哪些类又有哪些特点ListSet15: 求1000!的结果中包含多少个0?注:1000! = 1×2×3×4×5×...×999×100016:编写一个类,增加一个实例方法用于打印一条字符串。
并使用反射手段创建该类的对象,并调用该对象中的方法。
17:编写一个类A,增加一个实力方法showString,用于打印一条字符串,在编写一个类TestA ,作为客户端,用键盘输入一个字符串,改字符串就是类A的全名,使用反射机制创建该类的对象,并调用该对象中的方法showString18:复制多级文件夹19:写一个线程类MyThread,该线程实现了Runnable接口,写一个main方法,用for循环创建5个线程对象。
JAVA实用教程(第三版)课后习题参考答案第1章 Java入门1. 开发与运行Java程序需要经过哪些主要步骤和过程?答:(1)编写Java源文件:使用文本编辑器(Edit或记事本),拓展名为.java(2)编译Java源文件:使用Java编译器(javac.exe)。
得到字节码文件*.class(3)运行Java程序:Java应用程序使用Java解释器(java.exe)执行字节码文件;Java小应用程序使用支持Java标准的浏览器来执行。
2. 怎样区分应用程序和小应用程序?应用程序的主类或小应用程序的主类必须用public修饰吗?答:①应用程序必须有main方法,这个方法是程序执行的入口。
小应用程序没有main方法。
②应用程序的主类不一定用public修饰;小应用程序的主类必须用public修饰。
3. Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎样的?答:①Java程序由类组成。
②应用程序可以没有public类;小应用程序一定有一个类是public类(主类)。
③应用程序:如果只有一个类,源文件名与该类的类名相同,拓展名为.java;有多个类时,如果有public类(最多一个),源文件名与public类的类名相同,拓展名是.java;没有public类,源文件名与任何一个类的类名相同即可,拓展名为.java。
小应用程序:源文件名与主类的类名相同,拓展名是.java。
4. 在运行小程序的HTML文件中可以使用codebase属性指定小程序的字节码所驻留的目录。
如果不使用codebase属性,小程序的字节码文件必须和运行它的HTML文件在同一目录中。
编写一个小程序并将小程序的字节码存放在某个目录中,比如C:\5000;把运行该小程序的HTML文件(注意其中的codebase属性): <applet code=你的小程序的字节码 width=200 height=300 codebase=C:\5000></applet>存放在另一个目录中。
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语⾔概述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基础入门》习题答案第1章Java开发入门一、填空题1、Java EE、Java SE、Java ME2、JRE3、javac4、bin5、path、classp ath二、选择题1、ABCD2、C3、D4、B5、B三、简答题1、面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。
2、JRE(Java Runtim e Enviro nment,Java运行时环境),它相当于操作系统部分,提供了Jav a程序运行时所需要的基本条件和许多Jav a基础类,例如,IO类、GUI控件类、网络类等。
JRE是提供给普通用户使用的,如果你只想运行别人开发好的Jav a程序,那么,你的计算机上必须且只需安装JRE。
JDK(Java Develo pment Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Ja va开发人员使用的。
初学者学习和使用Jav a语言时,首先必须下载和安装JD K。
JDK中已经包含了JR E部分,初学者安装J DK后不必再去下载和安装JRE了。
四、编程题public classHelloW orld{public static void main(String[] args) {System.out.println("这是第一个J ava程序!");}}第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、编译不通过。
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大学实用教程课后答案第一章1.发明java的原因是什么,发明java的主要贡献者是谁?答:开发java语言的动力源于对独立平台的需要,即用这种语言编写的程序不会因为芯片的变化而发生无法运行或出现运行错误的情况。
当时,c语言已无法满足人们的这一愿望,因为c语言总是针对特定的芯片将源程序编译成机器码,该机器码的运行就与特定的芯片指令有关,在其他类型的芯片上可能无法运行或者运行出错。
主要贡献者是James Gosling。
2.“java编译器将源文件编译生成的字节码是机器码”,这句话正确吗?答:不正确,字节码是很接近机器码的二进制文件,不能被机器直接识别。
3. java应用程序的主类必须含有怎么样的方法?4. "java应用程序必须有一个类是public类".这句话正确吗?答:一个java应用程序必须有一个类含有public static void main(String args[] )方法,称为该应用程序的主类。
5. "java applet程序的主类必须是public类",这句话正确吗?不正确"java applet源文件的主类必须是public类",这句话正确吗?正确6. 叙述java源文件的命名法则。
答:(1)如果源文件中有多个类,那么只能有一个类是public类。
(2)如果有一个类是public类,那么源文件的名字必须和这个类的名字完全相同,扩展名为.java(3)如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名为.java就可以了。
(4)java 语言区分大小写。
7. 源文件生成的的字节码运行时加载到内存中吗?8. 怎样编写加载运行java applet的简单网页?9. JDK1.6编译器使用"-source"参数的作用是什么,其默认的参数取值是什么?答:在编译源文件时使用"-source"参数来约定字节码适合的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、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设置为以下哪个选项?B A.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控件类、网络类等。
第一章JAV A语言概论一、选择题1.下列不属于java语言特点的是:BA.java能检查程序在变异和运行时的错误B.java能运行虚拟机实现跨平台C.java自己操纵内存减少了内存出错的可能性D.java还实现了真数组,避免了覆盖数据的可能2.java语言的执行模式是:CA.全编译型B.全解释型C.半编译和半解释型D.同脚本语言的解释模式3.下列关于虚拟机说法错误的是:BA.虚拟机可以用软件实现B.虚拟机部可以用硬件实现C.字节码是虚拟机的机器码D.虚拟机把代码程序与各操作系统和硬件分开4.java语言是1995年由()公司发布的AA.SunB.MicrosoftC.BorlandD.Fox Software5.下列不是虚拟机执行过程特点的是AA.双线程B.多线程C.动态链接D.异常处理6.java以JVM为基础,最下层是移植接口,由适配器和()组成BA.网卡B.Java osC.Java基本类D.Java应用程序和applet小程序7.java程序的执行过程中用到一套JDK工具,其中javac.exe指AA.java语言编译器B.java字节码解释器C.java文档生成器D.java类分解器8.java的API结构中,不属于类库主要包括的核心包的是CA.java包B.javaxC.javadoc包扩展包9.每个java的编译单元可包含多个类或界面,但是每个编译单元最多只能有()类或者界面是公共的AA.一个B.两个C.四个D.任意多个10.在当前的java实现中,每个编译单元就是一个以()为后缀的文件AA.javaB.classC.docD.exe二、填空题1.1991年,SUN公司的Jame Gosling和Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个__oak__软件,它是java的前身。
2.java是一个网络编程语言,简单易学,利用了面向对象___的技术基础,但又独立于硬件结构,具有可移植性、健壮性、安全性、高性能。
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、与类有关的匿名类一定是该类的子类吗?与接口有关的匿名类一定是实现该接口的一个类吗?答:一定,因为类创建对象时,除了构造方法还有类体,此类体被认为是该类的一个子类去掉类声明后的类体。
第一章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编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。
《Java基础入门》课后习题答案第5章Java中的常用类一、填空题1.在Java中定义了两个类来封装对字符串的操作,它们分别是String和StringBuffer2.java的操作日期的类有Date、Calendar、DateFormat3.java中专门用于将日期格式化为字符串的类是DateFormat4.System类中所提供的属性和方法都是静态的,想要引用这些属性和方法,直接使用System类调用即可5.已知sb为StringBuffer的一个实例,且sb. toString()的值为"abede,则执行sb.reverse()后,sb toString()的值为edcba二、判断题1. String对象和StringBuffer对象都是字符串变量,创建后都可以修改。
(×)2.用运算符==比较字符串对象时,如果两个字符串的值相同,结果为true。
(×)3. System类中currentTimeMillis方法返回一个long类型的值。
(√)4.Date、Calendar以及DateFormat类都位于java.util包中。
(×)5. String类的方法replace(CharSequence srtl, CharSequence srt22)返回一个新的字符串,它是通过用srt2替换此字符串中出现的所有srtl得到的。
(对)三、选择题1、C2、C3、B4、A5、B1.以下都是Math类的常用方法,其中用于计算绝对值的方法是哪个?(C)A. ceil()B. floor()C. abs()D. random()2.String s=abededcba";则s. substring(3,4)返回的字符串是以下选项中的哪个?(C)A. cdB. deC. dD. e3.要产生[20,999]之间的随机整数可以使用以下哪个表达式?(B)A.(int)(20+math. random()97)B. 20+(int)(Math. random( )*980)C.(int)Math.random() * 999D.20 + (int)Math.random() * 9804.下面的程序段执行后,输出的结果是以下哪个选项?(A)A. Beijing@2008B.@ Beijing2008C. Beijing2008@D. Beijing#20085.先阅读下面的程序片段:对于上述定义的变量,以下表达式的值为true的是哪个?(B)A. strl=str2:B. strl. equals(str2):C.str= = str3;D.以上都不对四、简答题1.简述String 和StringBuffer 有什么区别。
《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基础入门》课后习题答案第1章Jav a开发入门一、填空题1、Java EE、Java SE、Ja va ME2、JRE3、javac4、bin5、path、class path二、选择题1、ABCD 2、C 3、D 4、B5、B三、简答题1、面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。
2、JRE(Ja va Runtime Environme nt,Java运行时环境),它相当于操作系统部分,提供了Ja va程序运行时所需要的基本条件和许多Ja va基础类,例如,I O类、GUI控件类、网络类等。
JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。
JDK(JavaDevelopmen t Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。
初学者学习和使用Java语言时,首先必须下载和安装JDK。
JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。
四、编程题publicclass Hell oWorld {public sta tic void m ain(String[] args) {System.out.printl n("这是第一个Ja va程序!");}}第2章Java编程基础一、填空题1、class2、tr ue和false3、单行注释、多行注释、文档注释4、基本数据类型、引用数据类型5、1、2、4、86、& && | ||7、08、510、56 二、判断题1、错2、对3、错4、对5、错三、选择题1、AD2、AD 3、C4、ABCD5、C 6 、A 7、AC 8、A 9、B 10、A四、程序分析题1、编译不通过。
第1章Java概述1.编译java application源程序文件将产生相应的字节码文件,这些字节码文件别的扩展名为、java2.执行一个java程序fristapp的方法就是运行java fristapp3.main()方法的返回类型就是void4.在java代码中,public static void main方法的参数描述正确的就是string args【】,string【】args5.内存的回收程序负责释放无用内存√6.java体系主要分为java ME,Java SE,JavaEE三大块第2章Java基础1.Java语言中,下列标识符错误的就是40name2.java变量中,以下不属于引用类型的数据类型就是字符型3.double d=5、3E12 ×4.C5.A6.for循环的一般形式为;for(初值;终值;增量),以下对for循环的叙述,正确的就是初值与增量都就是赋值语句,终值就是条件判断语句7.当输入下面选项中3值时,将会输出default8.下面哪种方法能够支持javadoc命令/**…*/9.下面声明一个string类型的数组正确的就是string str[]10.下面定义一个整型数组,不合法的就是int[][]array=new int[][4];11.给定代码;。
下面叙述正确的就是输出的结果为:012.java语言规定,标示符只能由字母,数字美元符$与下划线租成,并且第一个字符不能就是数字;java就是区分大小写的。
13.表达式1/2*3的计算结果就是0;设x=2,则表达式(x++)/3的值就是014.数组的长度可以用其属性lengt h获得;创建一个数组对象可以使用new关键字创建第3章面向对象基础1.在java中引用对象变量与对象间有什么关系?引用变量就是指向对象的一个指针2.对象就是面向对象技术的核心所在,在面向对象程序设计中,对象就是累的抽象×3.构造方法何时被调用?创建对象时4.A,B,D5.在java语言中在包p1中包含包p2,类A直接隶属于p1,类B直接隶属于包p2、在类c中要使用类a的方法与类b的方法b,需要选择import p1、*; import p1、p2,*;6.java中,访问修饰符限制最高的就是private第4章类之间的关系1.在java中,下面关于类的描述正确的就是一个父类可以有多个子类2.在java语言中,类worker就是类person的子类,worker的构造方法中有一句“super()”,该语句就是调用person的构造法法。
3.下列final修饰符不允许父类被继承。
4.在java中,在类中定义两个或多个方法,方法名相同而参数不同,这称为方法重载5.Derived derived=new Base():×6.public void method_1(int e,int f)√第5章抽象类、接口与内部类1.下列abstract修饰符用来定义抽象类2.final类不但可以用来派生子类,也可以用来创建final类的对象3.有错误,Mine必须声明成abstract的第6章异常1.Throwable类就是下面那两个类的直接父类Error,Exception2.Object类就是Throwable类的父类3.NullPointerException属于非检查型异常的类4.用于方法声明抛出异常类型的关键字就是throws5.throws关键字用来表明一个方法可能抛出的各种异常6.能单独与finally语句一起使用的快就是try7.可以使用return关键词跳出来一个try快而进入finally块8.B,C,D9.下列类在多重catch中同时使用时,Exception异常类应该最后列出第7章泛型与集合1. D2.下面不就是继承自Collection接口的就是HashMap3.下面用于创建动态数组的集合类就是ArraryList4.向ArraryList对象中添加一个元素的方法就是add(Object o)5.List myList=new ArrayList()√第8章类与文件1.改变当前目录,返回父目录的名称,删除文件属于File类的功能2.当编译上述代码的的时候出现一个编译错误3.下列类中由InputStream类直接派生出的就是ObjectInputStream4.void flush()方法不就是InputStream的方法5.下列InputStream类可以作为FilterInputStream的构造方法的参数第9章JDBC1.以下代码行的功能就是为MS-SQL服务器数据库加载驱动程序2.为维护不同数据库所创建的驱动器列表,使用JDBC-ODBC桥接3. C第10章Swing1.Swin g组件位于javax、swing包中2.下面流布局布局管理就是居中放置组件,当同一行超出容器宽度后才会从新行开始放置组件。
3.使用边界布局管理器时,中间区域会自动垂直调整大小,而不在水平方向上调整4.利用边界布局,向容器中添加一个组件,其中容器用cont表示,组件用comp表示,书写代码的方式就是cont、add(comp,BorderLayout、CENTER);5.窗体与面板容器默认布局分别就是边界布局,流布局6.下面不就是容器组件的就是JList7.下面代码中,设置容器的布局为空的正确语句就是setLayout(null)8.JButton的父类就是AbstractButton9.事件监听接口中的方法的返回值就是void10.在java中,要处理Button类对象的事件,以下ActionListener就是可以处理这个事件的借口。
11.要判断关闭窗口的事件,应该添加窗口监听器12.“按钮被单击”13.下面getSource()用于获取事件源第11章Swing(2)1.用于创建菜单项的类就是JMenuItem2.下面选项中,用于显示确认对话框的方法就是showConfirmDialog3.下面JTree组件用于以层次结构显示数据4.A5.A6.用于文件打开或保存时显示的对话框类就是J,该类中的showOpenDialog方法用于显示一个文件打开对话框,showSaveDialog方法用于显示一个文件保存对话框7.JColorChooser类就是颜色选择器第12章线程1.下面Thread就是线程类2.要建立一个线程,可以从下面Runnable接口继承3.下面让线程休眠1分钟正确的方法就是sleep(60000)4.列举让线程处于不运行的状态的方法sleep(),wait(),yield()5.线程同步的关键字synchronized问答部分第一章1、简单列举Java语言的特点?答:(1)简单性(2)面向对象性(3)分布式(4)健壮性(5)跨平台性(6)高性能(7)多线程(8)动态性2、Java应用程序分为几类?各有什么特点?答:两类:Applications(Java应用程序)与Applet(Java小程序)特点:Applications就是指在计算机操作系统中运行的程序。
使用Java创建应用程序与使用其她任何计算机语言相似,这些应用程序可以基于GUI或命令行界面。
Applet就是为在Internet上工作才创建的Java小程序,通过支持Java的浏览器运行,Applet可以使用任何Java开发工具创建,但必须被包含或嵌入到网页中,当网页显示浏览器上后,Applet就被加载并执行。
3、面向对象的特征有哪些方面,并分别简要解释。
答:(1)封装:抽象就就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。
抽象并不打算了解全部问题,而只就是选择其中的一部分,暂时不用部分细节。
(2)继承:继承就是一种联结类的层次模型,并且允许与鼓励类的重用,它提供了一种明确表述共性的方法。
对象的一个新类可以从现有的类中派生,这个过程称为类继承。
新类继承了原始类的特性。
派生类可以从它的基类那里继承方法与实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
(3)抽象:封装就是把过程与数据包围起来,对数据的访问只能通过已定义的界面。
面向对象计算始于这个基本概念。
(4)多态:多态性就是指允许不同类的对象对同一消息作出响应。
多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
4、简述JVM、JRE与JDK的概念及三者关系。
答:(1)JVM(Java虚拟机)就是可运行Java字节码(、class文件)的虚拟计算机系统;JRE(Java运行环境)就是运行Java程序所必须的环境的集合,JRE包括Java虚拟机、Java平台核心类与支持文件;JDK(Java开发工具包)就是针对Java开发人员的开发工具集合。
(2)JVM、JRE与JDK从范围上讲就是从小到大的关系。
第二章1、swtich就是否能作用在byte上,就是否能作用在long上,就是否能作用在String?答: switch ( expr1 )中, expr1 就是一个整数表达式。
因此switch 能作用于byte 上。
long,string 都不能作用于swtich 。
第三章1、构造方法与一般方法有何区别?答:构造方法区别于其她方法的地方就是它的名字必须与其所在的类的名字相同,且没有返回类型。
第四章类之间的关系1,什么叫多态,?如何理解多态?2,overload与override的区别?overloaded的方法就是否可以改变返回值的类型?3、构造器constructor就是否可被override ?第五章抽象类接口简述抽象类,接口的异同?抽象类与接口相同点: (1) 都可以被继承(2) 都不能被实例化(3) 都可以包含方法声明(4) 派生类必须实现未实现的方法区别:1 接口可以被多重实现,抽象类只能被单一继承2抽象类就是从一系列相关对象中抽象出来的概念, 因此反映的就是事物的内部共性;接口就是为了满足外部调用而定义的一个功能约定, 因此反映的就是事物的外部特性3抽象类有非抽象的方法与构造方法,并且修饰符可以就是私有的,接口只能就是抽象的方法,并且修饰符就是public 4 如果抽象类实现接口,则可以把接口中方法映射到抽象类中作为抽象方法而不必实现,而在抽象类的子类中实现接口中方法5 抽象类就是一个不完整的类,需要进一步细化,而接口就是一个行为规范。
6抽象类可以有普通成员变量,接口不行;第六章异常1 什么就是检查型异常,非检查型异常检查型异常:指编译器要求必须处置的异常,就是程序运行时由于外界因素造成的一般性异常非检查型异常:指编译器不要求强制处理的异常,该异常就是因设计或实现方式不当导致的,可以避免这种异常的发生、2 简述java异常处理机制java提供了两种处理异常的机制,一就是捕获异常,二就是声明抛出异常、在java运行过程中系统得到一个异常对象时,它会沿着方法的调用栈逐层回溯,寻找处理这个异常的代码,,找到后,系统把当前异常对象教给这个方法处理,这就就是捕获异常、如果方法中不知道如何处理所出现的异常,则可在定义方法时,声明抛出异常、第七章1简述一下使用泛型有什么优点?答:泛型的本质就是参数化类型,也就就是说所操作的数据类型被指定为一个参数。