当前位置:文档之家› 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控件类、网络类等。

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

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

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

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

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

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

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

四、编程题使用记事本编写一个HelloWorld程序,在dos命令行窗口编译运行。

请按照题目的要求编写程序并给出运行结果。

public class HelloWorld {public static void main(String[] args) {"这是第一个Java程序!");}}第2章Java编程基础一、填空题1、Java中的程序代码都必须在一个类中定义,类使用__class____关键字来定义。

2、布尔常量即布尔类型的两个值,分别是_true_____和_flase_____。

3、Java中的注释可分为三种类型,分别是_单行注释//__、__多行注释_/* */__、文档/注释** */______。

4、Java中的变量可分为两种数据类型,分别是_基本数据类型_____和_引用数据类型_____。

5、在Java中,byte类型数据占____1__个字节,short类型数据占__2____个字节,int类型数据占___4___个字节,long类型数据占____8__个字节。

6、在逻辑运算符中,运算符___&___和___&&___用于表示逻辑与,__|____和__||____表示逻辑或。

7、若x = 2,则表达式( x + + )/3 的值是__0___。

8、若int a =2; a+=3;执行后,变量a的值为__5____。

9、若int []a={12,45,34,46,23}; ,则a[2]= __34____。

10、若int a[3][2]={{123,345},{34,56},{34,56}},则a[2][1]= __56____。

二、判断题1、Java语言不区分大小写。

错2、0xC5表示的是一个十六进制整数。

对3、continue 语句只用于循环语句中,它的作用是跳出循环。

错4、“/*…*/”中可以嵌套“//”注释,但不能嵌套“/*…*/”注释。

对5、-5%3的运算结果是2。

错三、选择题1、以下选项中,哪些属于合法的标识符?(多选)ADA、Hello_WorldB、classC、123usernameD、username1232、关于方法重载的描述,以下选项中哪些是正确的?(多选)(AD)ABDA、方法名必须一致B、返回值类型必须不同C、参数个数必须一致D、参数的个数或类型不一致3、以下关于变量的说法错误的是?CA、变量名必须是一个有效的标识符B、变量在定义时可以没有初始值C、变量一旦被定义,在程序中的任何位置都可以被访问D、在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声明4、以下选项中,switch语句判断条件可以接收的数据类型有哪些?(多选)ABCDA、intB、byteC、charD、short5、假设int x = 2,三元表达式x>0?x+1:5 的运行结果是以下哪一个?CA、0B、2C、3D、56、下面的运算符中,用于执行除法运算是哪个?AA、/B、\C、%D、*7、下列语句哪些属于循环语句?(多选)ACA、for语句B、if语句C、while语句D、switch语句8、下面哪种写法可以实现访问数组arr的第1个元素?AA、arr[0]B、arr(0)C、arr[1]D、arr(1)9、以下哪个选项可以正确创建一个长度为3的二维数组?(B)CA、new int [2][3];B、new int[3][];C、new int[][3];D、以上答案皆不对10、请先阅读下面的代码。

int x = 1;int y = 2;if (x % 2 == 0) {y++;} else {y--;}"y=" + y);上面一段程序运行结束时,变量y的值为下列哪一项?AA、1B、2C、3D、switch语句四、程序分析题阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。

否则请说明编译失败的原因。

代码一:b=7(编译不通过。

int值4和b相加时,由于变量b的类型为byte,取值范围没有int类型大,存不下int类型的值,因此编译不通过)public class Test01 {public static void main(String[] args) {byte b = 3;b = b + 4;"b=" + b);}}代码二:不能,y只在{}有效(编译不通过。

这是因为y是在最里层的代码块中定义的一个变量,只有在那个代码)public class Test02 {public static void main(String[] args){int x = 12;{int y = 96;"x is " + x);"y is " + y);}y = x;"x is " + x);}}代码三:3 因为没有break,,所以4以后都执行public class Test03 {public static void main(String args[]) {int x = 4, j = 0;switch (x) {case 1:j++;case 2:j++;case 3:j++;case 4:j++;case 5:j++;default:j++;};}}代码四:987public class Test04 {public static void main(String args[]) {int n = 9;while (n > 6) {;n--;}}}五、简答题1、请列举Java语言中的八种基本数据类型,并说明每种数据类型所占用的空间大小。

Java语言的八种基本数据类型有:byte字节型,占一个字节。

short短整型,占两个字节。

int整型,占4个字节。

long长整型,占8个字节。

float单精度浮点型,占4个字节。

double双精度浮点型,占8个字节。

char字符型,占两个字节。

boolean型,表示逻辑值,有true和false两个值,分别占一个字节。

2、简述&&与&的区别并举例说明。

如果使用“&”在表达式之间进行连接,那么无论任何情况,“&”两边的表达式都会参与计算。

如果使用“&&”进行连接,当“&&”左边的表达式为false,则不会执行其右边的表达式。

例如定义int x = 2,y = 0; boolean b = x < y & x / 2 > 0表达是会发生被0除异常,因为x / y的表达式执行了。

而boolean b = x < y & x / 2 > 0是不会出现这种异常的,因为x < y为false,表达式x / y不会执行3、什么是方法重载?方法重载指的是在一个类中可以声明多个同名的方法,而方法中参数的个数或者数据类型不一致。

调用这些同名的方法时,JVM会根据实际参数的不同绑定到不同的方法。

六、编程题请按照题目的要求编写程序并给出运行结果。

1、请编写程序,实现计算“1+3+5+7+…+99”的值。

提示:1)使用循环语句实现自然数1~99的遍历。

2)在遍历过程中,通过条件判断当前遍历的数是否为奇数,如果是就累加,否则不加。

2、已知函数x + 3 ( x > 0 )y = 0 ( x = 0 )x2–1 ( x < 0 )请设计一个方法实现上面的函数,根据传入的值x的不同,返回对应的y值。

提示:1)定义一个static修饰符修饰的方法,方法接收一个int类型的参数x,返回值为int类型。

2)在方法中使用if…else if..else语句针对x的值进行三种情况的判断。

相关主题