Java基础入门课后习题答案

《Java基础入门》习题答案 第1章 Java开发入门 一、填空题

1、 Java EE、Java SE、Java ME 2、 JRE 3、 javac 4、 bin

5、 path、classpath 二、选择题

1、ABCD 2、C 3、D 4、B 5、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) {

System.out.println(\这是第一个Java程序!\}

第2章 Java编程基础 一、填空题 1、 class 2、 true和false

3、单行注释、多行注释、文档注释 4、基本数据类型、引用数据类型 5、 1、2、4、8 6、&&& | || 7、 0 8、 5 9、 34 10、 56 二、判断题

1、错 2、对 3、错 4、对 5、错 三、选择题

1、 AD 2、AD 3、C 4、ABCD 5、C 6 、A 7、AC 8、A 9、B 10、A 四、程序分析题 1、编译不通过。

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

2、编译不通过。

这是因为y是在最里层的代码块中定义的一个变量,只有在那个代码块中才可使用, 在使用y = x;语句时已经超过了y变量的作用域,所以编译无法通过。 3、打印结果为:3。 4、打印结果为: 9 8 7

五、问答题

1、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、参考答案 public class Test01 {

public static void main(String[] args) { int sum = 0;

for (int i = 1; i < 100; i++) { System.out.println(sum); } if (i % 2 != 0) sum += i; } }

2、参考答案 public class Test02 {

public static void main(String args[]) { int y = function(0); }

} System.out.println(y); public static int function(int x) { } int y;

if (x > 0) { return y;}

y = x + 3; y = 0; y = x * x - 1; } else if (x == 0) { } else { 3、参考答案 public class Test03 {

} public static void main(String[] args) { } int[] arr = { 25, 24, 12, 76, 101, 96, 28 }; for (int i = 0; i < arr.length - 1; i++) { } for (int i = 0; i < arr.length; i++) { } System.out.print(arr[i] + \打

印元素和空格 // 定义内层循环 for (int j = 0; j < arr.length - i - 1; j++) { } if (arr[j] > arr[j + 1]) { // 比较相邻元素 } // 下面的三行代码用于交换两个元素 int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp;

第3章面向对象(上) 一、填空题

1、封装、继承、多态 2、new

3、成员变量、局部变量 4、类、类 5、this 6、finalize() 7、静态变量 8、内部类 9、javadoc 10、private 二、判断题

1、对 2、对 3、错 4、对 5、错 三、选择题

1、B 2、D 3、B 4、ABC 5、ABCD 6、ACD 7、ABCD 8、ABCD 9、D 10、D 四、程序分析题

1、程序不能编译通过,因为在类A中的成员变量secret用private修饰,所以在类Test1中无法访问。

2、程序不能编译通过,因为在静态方法method()中不能访问非静态成员变量x。 3、程序能够编译通过,运行的结果为“inner”。 五、简答题

1、构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。而普通方法只有在使用的时候才会被调用。在定义构造方法时要求方法名与类名相同、在方法名的前面没有返回值类型的声明、在方法中不能使用return语句返回一个值

2、单例模式可以保证在整个程序运行期间针对该类只存在一个实例对象。 六、编程题 1、参考答案 class Student { }

public class Test01 {

public static void main(String[] args) { Student stu1 = new Student(); private String name; private double grade; public Student() { } public Student(String name, double grade) { } public String getName() { } public void setName(String name) { } public double getGrade() { } public void setGrade(double grade) { } this.grade = grade; return grade; this.name = name; return name; this.name = name; this.grade = grade;

} } stu1.setName(\2、参考答案 class Father { }

public class Test02 {

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4