java课后练习题答案
Java基础入门_课后题答案_仅供参考

黑马面试题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课后答案(整理)

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练习题答案第1章java语言概述习题一、填空题1、面向对象程序的主要特征:继承,__封装___,___多态_____。
2、java中的继承机制之所以能够降低程序的复杂性,提高程序的效率,主要是因为它使代码可以__重用或复用___.3、java语言中,为将源代码翻译成__字节码__文件时产生的错误称为编译错误,而将程序在运行中产生的错误称为运行错误。
4、javac是java语言中的编译器,基本语法是:javac[选项]__文件名__,java是java语言中的解释执行器,基本语法是:java[选项]___类名___.5、java语言的主要贡献者是谁Jamegoling二、单选题1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。
A、javaB、.claC、htmlD、.e某e2、main方法是JavaApplication程序执行的入口点,关于main方法的方法首部,以下(B)项是合法的。
A、publictaticvoidmain()B、publictaticvoidmain(Stringarg[])C、publictaticintmain(String[]arg)D、publicvoidmain(Stringarg[])三、判断1、Java语言具有较好的安全性和可移植性及与平台无关等特性。
√2、Java语言的源程序不是编译型的,而是编译解释型的。
√四、问答题1、编写、运行java程序需要经过哪些主要步骤?答:1.编写源文件,扩展名必须是.java2.编写java源程序,使用java编译器编写源文件,得到字节码文件3.运行java程序,使用javaSE平台只不过的java解释器来解释执行字节码文件。
2、阅读下列java源代码文件,并回答问题publicclaSpeak{voidpeakHello(){Sytem.out.println(\);}}cla某iti8{publictaticvoidmain(Stringarg[]){Speakp=newSpeak();p.peakHello();}}(1)上述源文件的名字是什么?Speak.java(2)上述源文件编译后生成几个字节码文件,这些字节码文件的名字分别是什么?Speak.cla某iti8.cla第2章(1)基本数据类型练习题一、填空题1、java基本数据类型中整型,字符型分别占用字节数为___4___,___2____.2、java语言中的浮点数根据数据存储长度和数值精度的不同,进一步分为_float__和__double__两种具体类型。
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基础入门》习题答案第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语言程序设计 课后习题+答案.doc

第一章课后习题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课后习题答案

*@author饶林
*@
*/
importjava.util.*;
publicclassPraxis2_7
{
public static voidmain(String[]args)
{
ScannerconsoleScanner =newScanner( System.in );
*/
publicclassPraxis2_10{
public static voidmain(String[] args){
intx,y,z;
for(intm=100; m< 999; m++){
x = m/100;
y = (m%100)/10;
z = (m%100)%10;
if(m== x*x*x+ y*y*y + z*z*z)
System.out.print("请输入正实数X:" );
intx = consoleScanner.nextInt();
inty=(int)(Math.sqrt(x));
System.out.println("n = "+y);
}
}
/**
*<p>这是第四个程序</p>
*@author饶林
*@
doublee=1.0;
for(inti=1;i<=n;i++)
{
e=e+1.0/Praxis2_12.factorial(i);
}
System.out.println("e = "+e);
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程序,实现一个简单的计算器,能够进行加、减、乘、除四则运算。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题1、在创建某类的对象时应该(C )A、先声明对象,然后才能使用对象B、先声明对象,为对象分配内存空间,然后才能使用对象C、先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象D、以上述说法都对2、以下说法中对Java中定义的父类与子类的关系描述正确是的(C )A、一个子类可以有多个父类,一个父类也可以有多个子类B、一个子类可以有多个父类,但一个父类只可以有一个子类C、一个子类可以有一个父类,但一个父类可以有多个子类D、上述说法都不对3、给定如下Java 程序片断:class A{ public A(){ System.out.print ("Java"); }}class B extends A{ public B(){ System.out.print (" Welcome"); }public static void main(String[] args){ B b=new B(); }}上述程序将( B)A、不能通过编译B、通过编译,输出为: Java WelcomeC、通过编译,输出为: WelcomeD、通过编译,输出为: Java4、给定以下程序段,如下:int i=0,j=-1;switch(i){ case 0:j=1; case 2:j=2; default:j=5; }System.out.print("j="+j); 编译运行,正确的是(D)A、j=-1B、j=1C、j=2D、j=55、下面关于Java构造函数的描述正确的是(D )A、类必须有显式定义构造函数B、它的返回类型是voidC、它和类有相同的名称,但它不能带任何参数D、以上描述都是错误的6、在Java编程中,用来执行Java类文件的命令是(B )A、javacB、javaC、appletviewerD、以上都不对7、如下程序片段,体现了Java的( B) 概念public void aMethod(String s) {........}public void aMethod(int i) {........}public void aMethod(int I,float f) {........}A、多继承B、重载C、重写D、多态8、如下Java升序片段Integer a = new Integer(3);Integer b = new Integer(3);System.out.println(a==b);运行后,该程序段的输出结果是(B )A、trueB、falseC、0D、19、有如下Java程序声明String s1=new String(“Java”);String s2=new String(“Welcome”);String s3=new String("0");以下选项中能够通过编译的是( A)A、s3=s1+s2B、s3=s1&s2C、s3=s1||s2D、s3=s1&&s210、在子类构造方法内可以对超类的构造方法(super())进行调用的位置是(B)A、子类构造方法的任何地方B、子类构造方法的第一条语句处C、子类构造方法的最后一条语句处D、不能对超类的构造方法进行调用11、传递4,0来运行下列代码中的方法divide(int a, int b)public void divide(int a, int b){ try { int c = a / b; }catch (Exception e){ System.out.print("Exception "); }finally{ System.out.println("Finally"); } }程序的输出结果是(A )A、打印输出: Exception FinallyB、打印输出: FinallyC、打印输出: ExceptionD、没有任何输出12、在单一文件中import、class和package的正确出现顺序是( A)A、package, import, classB、class, import, packageC、import, package, classD、package, class, import13.下列语句中,可以作为无限循环语句的是(A)A) for(;;) {}B) for(int i=0; i<10000;i++) {}C) while(false) {}D) do {} while(false)14.自定义异常类的父类可以是 CA) Error B) VirtuaMachineError C) Exception D) Thread15.String、StingBuffer都是_ C_类,都不能被继承。
A) static B) abstract C) final D) private16.构造方法名必须与__A____相同,它没有返回值,用户不能直接调用它,只能通过new 调用。
A) 类名B) 对象名C) 包名D) 变量名17、若数组a定义为int[][] a = new int[3][4] ,则a是( B)A) 一维数组B) 二维数组C) 三维数组D) 四维数组18、设数组Array由以下语句定义int age=new int[10];则数组的第一个元素的正确引用方法为( D )A) age[1] B) Age[0] C) age[] D) age[0]19、在Java中,负责对字节代码解释执行的是__B__。
A) 垃圾回收器B) 虚拟机C) 编译器D) 多线程机制20、在Java 中,表示换行符的转义字符是_A__。
A) \n B) \f C)'n' D)\dd21、在Java 中,所有类的根类是___A_。
A) ng.Objet B) ng.Class C) java.applet.Applet D) java.awt.Frame22、在Java 中,用package 语句说明一个包时,该包的层次结构必须是__BA) 与文件的结构相同B) 与文件目录的层次相同C) 与文件类型相同D) 与文件大小相同23、在Java 中,能实现多重继承效果的方式是__C__。
A) 内部类B) 适配器C) 接口D) 同步24、下列代码中,将引起一个编译错误的行是_D___。
1) public class Test{2) int m,n;3) public Test(){}4) public Test(int a){m=a;}5) public static void main(String args[]){6) Test t1,t2;7) int j,k;8) j=0;k=0;9) t1=new Test();10) t2=new Test(j,k);11) }12) }A) 第3行B) 第5行C) 第6行D) 第10行25、设有定义语句int a[]={66,88,99}; 则以下对此语句的叙述错误的是( C)。
A) 定义了一个名为a的一维数组B) a数组有3个元素C) a数组的下标为1~3 D) 数组中的每个元素是整型26、为了区分重载多态中同名的不同方法,要求( A)。
A) 采用不同的形式参数列表B) 返回值类型不同C) 调用时用类名或对象名做前缀D) 参数名不同27、下列整型的最终属性i 的定义中,正确的是( A)。
A) static final int i=100; B) final i;C) static int i; D) final float i=1.2f;28、下列程序段执行后t1的结果是(B)。
int x1 = 9, x2 = 6, t1; t1 = x1 > x2 ? x1 : x2;A) 6 B) 9 C) 11 D) 329、下列语句序列执行后,x 的值是( A)。
int a=3, b=4, x=5;if( ++a<b ) x=x+1;A) 5 B) 3 C) 4 D) 630、以下for循环的执行次数是(B ) 。
for(int x=0,y=0;(y!=0)&&(x<4);x++);A) 无限次B) 一次也不执行C) 执行4次D) 执行3次31、下列语句序列执行后,j 的值是(B )。
int j=9, i=6;while( i-- >3 ) --j;A) 5 B) 6 C) 7 D) 832、现有一变量声明为boolean aa;下面赋值语句中正确的是(A )。
A) aa=false; B) aa=False; C) aa="true"; D) aa=0;33、设x=5 则y=x――和y=――x的结果,使y分别为( C )A) 5,5 B) 5,6 C) 5,4 D) 4,434、结构化程序设计所规定的三种基本控制结构是:( C )A) 输入、处理、输出B) 树形、网形、环形C) 顺序、选择、循环D) 主程序、子程序、函数35、System类属于( D) 包。
A) java.util B) java.io C) java.awt D) ng36、Java语言使用的字符码集是( C )A) ASCII B) BCD C) Unicode D) 842137、Java语言的最大优点是:它是一种( C ) 的程序设计语言。
A) 安全性B) 多线性C) 跨平台D) 可移植38、给出下面代码,( A) 选项是正确的。
public class test{static int a[] = new a[10];public static void main(String args[]) {System.out.println(arr[10]);} }A) 编译时将产生错误;B) 输出空C) 输出零;D) 编译时正确,不带参数运行时将产生错误;39、下列选项中,用于定义接口的关键字是( C)。
A) import B) implements C) interface D) protected40、下列类头定义中,错误的是( B)。
A) class x { .... } B) public x extends y{ .... }C) public class x extends y{ .... } D) class x extends y implements y1{ .... }41、下列选项中,用于在定义类头时声明父类名的关键字是( C)。
A) return B) interface C) extends D) class42、下列方法定义中,不正确的是( D)。