1、Java基础入门课后题答案Java基础入门习题答案第1章 Java开发入门一、填空题1、 Java EE、Java SE、Java ME2、 JRE3、 javac4、 bin5、 path、classpath二、选择题1、ABCD 2、C 3、D 4、B 5、B三、简答题1、 面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。2、 JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。JRE是提供给普通用户使用的,如果你只想运行别
2、人开发好的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编程基础一
3、、填空题1、 class2、 true和false3、 单行注释、多行注释、文档注释4、 基本数据类型、引用数据类型5、 1、2、4、86、 & & | | 7、 08、 59、 3410、 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是在最里层的代码块中定义的一个变量,只有在那个代码块中才可使用,在使用
4、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,则
5、不会执行其右边的表达式。例如定义int x = 2,y = 0; boolean b = x 0表达是会发生被0除异常,因为x / y的表达式执行了。而boolean b = x 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
6、; i 0) y = x + 3; else if (x = 0) y = 0; else y = x * x - 1; return y; 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 j = 0; j arrj + 1) / 比较相邻元素 / 下面的三行代码用于交换两个元素 int temp = arrj; arrj =
7、arrj + 1; arrj + 1 = temp; for (int i = 0; i 10) throw new NoThisSongException(您播放的歌曲不存在); System.out.println(正在播放歌曲); public class Test03 public static void main(String args) Player player = new Player(); try player.play(13); catch (NoThisSongException e) System.out.println(异常信息为: +e.getMessage();
8、第5章 多线程一、填空题1、 线程、通信2、 Thread、Runnable3、 就绪4、 synchronized、对象、this5、 进程6、 新建状态(New)、就绪状态(Runnable)、运行状态(Running)、阻塞状态(Blocked)、死亡状态(Terminated)7、 10、18、 开启一个新线程、run()方法9、 wait()、notify()、notifyAll()10、setDaemon(true)、start()二、判断题1、错 2、对 3、对 4、错 5、错三、选择题1、B 2、AC 3、ABC 4、BC 5、ABD 6、ABC 7、C 8、D 9、AB 10
9、、ABCD四、程序分析题1、程序不能编译通过,因为RunHandler类没有实现Runnable接口,因此RunHandler的实例对象不能作为参数传递给Thread的构造方法。2、程序不能编译通过,因为Thread的子类A重写的run()方法的访问级别不能低于父类run()方法的。访问级别3、程序不能编译通过,因为同步方法中调用wait()方法的对象必须为同步锁对象。4、t.start();五、简答题1、一种是继承java.lang包下的Thread类,覆写Thread类的run()方法,在run()方法中实现运行在线程上的代码。new Thread() public void run().
10、start();另一种就是实现java.lang.Runnable接口,同样是在run()方法中实现运行在线程上的代码。new Thread(new Runnable() public void run().start() 2、调用sleep()方法,正在执行的线程主动让出CPU去执行其他线程,在sleep()方法指定的时间过后,CPU才会回到这个线程上继续往下执行,如果当前线程进入了同步锁,sleep()方法并不会释放锁,即使当前线程使用sleep()方法让出了CPU,但其它被同步锁挡住了的线程也无法得到执行。wait()在一个已经进入了同步锁的线程内进行调用,让当前线程暂时让出同步锁,以便
11、其它正在等待此锁的线程可以得到同步锁并运行。当其它线程调用了notify()方法后,调用wait()方法的线程就会解除wait状态,当再次获得同步锁后,程序可以继续向下执行。六、编程题1、参考答案public class MyThread extends Thread public MyThread(String name) super(name); public void run() System.out.println(this.getName(); public static void main(String args) new MyThread(Thread1).start(); ne
12、w MyThread(Thread2).start(); 2、参考答案public class MyRunnable implements Runnable public void run() for (int i = 0; i 50; i+) System.out.println(new); public static void main(String args) new Thread(new MyRunnable().start(); for (int i = 0; i 100; i+) System.out.println(main); 3、参考答案public class Test01
13、 public static void main(String args) Teacher t = new Teacher(); new Thread(t, 陈老师).start(); new Thread(t, 高老师).start(); new Thread(t, 李老师).start(); class Teacher implements Runnable private int notes = 80; public void run() while (true) dispatchNotes(); / 调用售票方法 if (notes 0) try Thread.sleep(10); /
14、 经过的线程休眠10毫秒 catch (InterruptedException e) e.printStackTrace(); System.out.println(Thread.currentThread().getName() + -发出的笔记 + notes-); 4、参考答案public class Accumulator extends Thread private int stratNum; public static int sum; public Accumulator(int startNum) this.stratNum = startNum; public static
15、 synchronized void add(int num) sum += num; public void run() int sum = 0; for (int i = 0; i 10; i+) sum += stratNum + i; add(sum); public static void main(String args) throws Exception Thread threadList = new Thread10; for (int i = 0; i 10; i+) threadListi = new Accumulator(10 * i + 1); threadListi.start(); for (int i = 0; i 10; i+) threadListi.join(); System.out.println(Sum is : + sum); 第6章 JavaAPI一、填空题1、 String、StringBuffer2、 Date、Calendar、DateFormat3、 getRuntime()4、 sqrt()5、 DateFormat6、 、e 7、 Random、java.util8、 length()9、 静态
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1