java基础入门第九章课后答案,《Java基础入门》-课后习题答案

《《Java基础入门》-课后习题答案》由会员分享,可在线阅读,更多相关《《Java基础入门》-课后习题答案(15页珍藏版)》请在人人文库网上搜索。

1、Java基础入门课后习题答案第1章 Java开发入门一、填空题1、 Java EE、Java SE、Java ME2、 JRE3、 javac4、 bin5、 path、classpath二、选择题1、ABCD2、C3、D4、B5、B三、简答题1、 面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。2、 JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,。

2、你的计算机上必须且只需安装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、 class2、 t。

3、rue和false3、 单行注释、多行注释、文档注释4、 基本数据类型、引用数据类型5、 1、2、4、86、 & & | | 7、 08、 59、 3410、 56 二、判断题1、 错2、对3、错4、对5、错三、选择题1、 AD2、AD3、C4、ABCD5、C6 、A7、AC8、A9、B10、A 四、程序分析题1、 编译不通过。int值4和b相加时,由于变量b的类型为byte,取值范围没有int类型大,存不下int类型的值,因此编译不通过。2、 编译不通过。这是因为y是在最里层的代码块中定义的一个变量,只有在那个代码块中才可使用,在使用y = x;语句时已经超过了y变量的作用域,所以编译无法通。

4、过。3、 打印结果为:3。4、 打印结果为:987五、简答题1、Java语言的八种基本数据类型有:byte字节型,占一个字节。short短整型,占两个字节。int整型,占4个字节。long长整型,占8个字节。float单精度浮点型,占4个字节。double双精度浮点型,占8个字节。char字符型,占两个字节。boolean型,表示逻辑值,有true和false两个值,分别占一个字节。2、如果使用“&”在表达式之间进行连接,那么无论任何情况,“&”两边的表达式都会参与计算。如果使用“&”进行连接,当“&”左边的表达式为false,则不会执行其右边的表达式。例如定义int x = 2,y = 0;。

5、 boolean b = x 0表达是会发生被0除异常,因为x / y的表达式执行了。而boolean b = x 0是不会出现这种异常的,因为x 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 arrj + 1) / 比较相邻元素/ 下面的三行代码用于交换两个元素int te。

6、mp = arrj;arrj = 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.get。

7、Message();第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。

8、、D 9、AB 10、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 v。

9、oid run().start();另一种就是实现java.lang.Runnable接口,同样是在run()方法中实现运行在线程上的代码。new Thread(new Runnable()public void run().start()2、调用sleep()方法,正在执行的线程主动让出CPU去执行其他线程,在sleep()方法指定的时间过后,CPU才会回到这个线程上继续往下执行,如果当前线程进入了同步锁,sleep()方法并不会释放锁,即使当前线程使用sleep()方法让出了CPU,但其它被同步锁挡住了的线程也无法得到执行。wait()在一个已经进入了同步锁的线程内进行调用,让当前线程暂时。

10、让出同步锁,以便其它正在等待此锁的线程可以得到同步锁并运行。当其它线程调用了notify()方法后,调用wait()方法的线程就会解除wait状态,当再次获得同步锁后,程序可以继续向下执行。六、编程题1、参考答案public class MyThread extends Threadpublic MyThread(String name) super(name); public void run() System.out.println(this.getName();public static void main(String args) new MyThread(Thread1).start。

11、();new MyThread(Thread2).start(); 2、参考答案public class MyRunnable implements Runnable public void run() for (int i = 0; i 0) try Thread.sleep(10); / 经过的线程休眠10毫秒 catch (InterruptedException e) e.printStackTrace();System.out.println(Thread.currentThread().getName() + -发出的笔记+ notes-);4、参考答案public class A。

12、ccumulator extends Thread private int stratNum;public static int sum;public Accumulator(int startNum) this.stratNum = startNum;public static synchronized void add(int num) sum += num;public void run() int sum = 0;for (int i = 0; i = 0; i-) if (chi = A & chi = a & chi = z) buffer.append(String.valueO。

13、f(chi).toUpperCase();System.out.println(buffer.toString();2、 参考答案import java.text.DateFormat;import java.util.Calendar;import java.util.Date;public class Test02 public static void main(String args) Calendar calendar = Calendar.getInstance();calendar.add(Calendar.DATE, 100);Date date = calendar.getTi。

14、me();DateFormat format = DateFormat.getDateInstance(DateFormat.FULL);String string = format.format(date);System.out.println(string);3、 参考答案import java.util.Random;public class Test03 public static void main(String args) Random rand = new Random();int num = new int5;for (int i = 0; i num.length; i+) 。

15、numi = 20 + rand.nextInt(31);System.out.println(numi);第7章 集合类一、填空题1、集合2、Comparator3、有序、可重复,无序、不可重复4、hashNext()、next()5、Collection、Map6、键、值7、ListIterator8、ArrayList、LinkedList,HashSet、TreeSet,HashMap、TreeMap9、put()、get()10、Collections、Arrays二、判断题1、错 2、对 3、对 4、错 5、对三、选择题1、BC 2、A 3、D 4、ABD 5、C 6、AB 7、D。

16、 8、AB 9、ABC 10、B四、程序分析题1、程序可以编译通过,输出结果是“a、b、c”,因为TreeSet集合不允许存放重复元素,第2次增加的元素c会覆盖之前存入的元素c,所以输出结果是“a、b、c”,而不是“a、b、c、c”。2、程序不可以编译通过,这是由于向ArrayList集合中存入元素时,集合并不能记住元素的类型,因此在取出元素时,只能使用Object类型,而不能使用String类型。3、程序可以编译通过,但是什么也没有打印。使用ListIterator进行从后向前的遍历集合,可以使用以下两种方法,一是使用listIterator(int index)方法将索引index的值设置。

17、为集合元素的数目,也就是ListIterator it = list.listIterator(3);,二是将程序先从前向后遍历,然后再从后向前遍历。4、程序编译不通过,由于Map集合在遍历的过程中不能使用集合对象本身删除元素,这会导致并发修改异常,若想删除集合中的元素,可以使用Iterator的remove()方法。五、简答题1、为了使程序能方便的存储和操作数目不固定的一组数据,JDK提供了一套类库,这些类都位于java.util包中,统称为集合。集合框架中包含3个接口,分别是List、Set、Map。2、List的特点是元素有序、元素可重复。List接口的主要实现类有ArrayList和L。

18、inkedList。Set的特点是元素无序、元素不可重复。Set接口的主要实现类有HashSet和TreeSet。Map的特点是存储的元素是键(Key)、值(Value)映射关系,元素都是成对出现的。Map接口的主要实现类有HashMap和TreeMap。3、Collection是一个单例集合接口。它提供了对集合对象进行基本操作的通用方法。Collections是一个工具类。它包含各种有关集合操作的方法。六、编程题1、参考答案import java.util.*;public class Test01 public static void main(String args) ArrayList。

19、 list = new ArrayList(); for(int i = 0; i 10; i+) list.add(A+i);Iterator it = list.iterator(); while(it.hasNext() Object obj = it.next(); System.out.println(obj);2、参考答案import java.util.*;public class Test02 public static void main(String args) HashSet hashSet = new HashSet();Person p1 = new Person(J。

20、ack,25);Person p2 = new Person(Rose,23);Person p3 = new Person(Jack,27);hashSet.add(p1);hashSet.add(p2);hashSet.add(p3);for(Object obj:hashSet)Person p=(Person)obj;System.out.println(p.name+:+p.age);class PersonString name;int age;public Person(String name, int age) super();this.name = name;this.age。

21、 = age;public int hashCode() return name.hashCode();public boolean equals(Object obj) if (this = obj)return true;if (obj = null)return false;Person other = (Person) obj;return other.name.equals(this.name);3、参考答案import java.util.*;public class Test03 public static void main(String args) TreeMap map =。

22、 new TreeMap(new MyComparator();map.put(1, Lucy);map.put(2, Lucy);map.put(3, John);map.put(4, Smith);map.put(5, Amanda);for (Object key : map.keySet() System.out.println(key + : + map.get(key);class MyComparator implements Comparator public int compare(Object obj1, Object obj2) String ele1 = (String) obj1;String ele2 = (String) obj2;return ele2.compareTo(ele1。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值