搜档网
当前位置:搜档网 › 传智播客_Java基础入门习题答案

传智播客_Java基础入门习题答案

传智播客_Java基础入门习题答案
传智播客_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) { "这是第一个 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++) { if (i % 2 != 0) sum += i; } } }

2、参考答案

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

} public static int function(int x) { int y; if (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 < - 1; i++) { ew Child(); (); }

}

第4章面向对象(下)

一、填空题 1、继承 2、方法,抽象类 3、import 4、子类、父类、基类 5、Exception 6、final 7、super 8、 Object 9、try、catch

10、jar –cvf,java –jar 二、判断题 1、错 2、对 3、错 4、对 5、对三、选择题 1、B 2、C 3、ABC 4、 ABCD 5、C 6、AC 7、

C 8、

D 9、A 10、B 四、程序分析题 1、程序编译能通过,这是因为 int x = 2 / 0; 这两条语句使用了 try 块,捕获了程序因为除以 0 而产生的异常情况,之后程序会继续向下执行,输出“进入 catch 代码块” ,“进入 finally 代码块” 。 2、程序编译不通过,这是因为在程序中使用了 final 关键字修饰 Animal 类,使得 Animal 类不能被继承。shout()方法中同样使用了 final 关键字,使得该方法不能被重写。

3、程序编译能通过,输出结果为“动物叫!”和“汪汪……” ,因为在程序中调用shout()方法时,首先会通过()调用父类的方法说出“动物叫!”之后再输出“汪汪……”

4、程序编译不通过,因为接口中定义的方法不能有方法体,所以定义的 eat()方法是错误的。接口中的方法必须在子类中全部实现,由于 run()方法在子类中并没有重新实现,所以这也是错误的。五、简答题 1、在继承关系中,子类的方法与父类的某一方法具有相同的方法名、返回类型和参数列表,则称子类的该方法重写(覆盖)父类的方法。 2、多态意味着一个对象有着多种形态,可以在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。简单的说,多态就是使用父类类型的变量引用子类对象,根据被引用子类对象的特性,程序会得到不同的运行效果。 3、在 Java 中,使用 abstract 关键字修饰的类称之为抽象类。抽象类是不能被实例化的,通常需要写一个子类来继承抽象类,同时实例化子类来获得该类的对象。抽象

类通常用于表示一种抽象的概念。接口可以说是一种特殊的抽象类,接口中只能定义常量和抽象方法。由于接口的特殊性,在定义时需要使用 interface 关键字。六、编程题 1、参考答案

class Student { public String name; public int age; public Student(String name,int age){ =name; =age; } public void show(){ "name: "+name+" age: "+age); } } class UnderGraduate extends Student{ public String degree; public UnderGraduate(String name,int age,String degree){ super(name, age); =degree; } public void show(){ "name: "+name+" age: "+age+" degree: "+degree); } } public class Test01{ public static void main(String[] args) { Student student = new Student("zhangsan" 16); (); UnderGraduate underGraduate = new UnderGraduate("lisi" 20, "bechalor"); (); }

}

2、参考答案

interface Shape { double area(double givenValue); } class Square implements Shape{ public double area(double sideLength) { return sideLength*sideLength; } } class Circle implements Shape{ public double area(double r) { return *r*r; } } public class Test02 { public static void main(String[] args) { Shape square = new Square(); Shape circle = new Circle(); } } 3、参考答案

class NoThisSongException extends Exception{ public NoThisSongException(){ super(); } public NoThisSongException(String message){ super(message); } } class Player{ public void play(int index)throws NoThisSongException{ if(index>10){ throw new NoThisSongException("您播放的歌曲不存在"); } "正在播放歌曲"); } } public class Test03 { public static void

main(String[] args) { Player player = new Player(); try {

(13); } catch (NoThisSongException e) { "异常信息为: "+()); } } }

第5章多线程

一、填空题 1、线程、通信 2、 Thread、Runnable 3、就绪 4、 synchronized、对象、this 5、进程 6、新建状态(New)、就绪状态(Runnable)、运行状态(Running)、阻塞状态(Blocked)、死亡状态(Terminated) 7、 10、1 8、开启一个新线程、run()方法

9、 wait()、notify()、notifyAll() 10、setDaemon(true)、start() 二、判断题 1、错 2、对 3、对 4、错 5、错三、选择题 1、

B 2、A

C 3、ABC 4、BC 5、AB

D 6、ABC 7、C 8、D 9、AB 10、ABCD 四、程序分析题 1、程序不能编译通过,因为 RunHandler 类没有实现 Runnable 接口,因此 RunHandler 的实例对象不能作为参数传递给 Thread 的构造方法。 2、程序不能编译通过,因为 Thread 的子类 A 重写的 run()方法的访问级别不能低于父类 run()方法的。访问级别 3、程序不能编译通过,因为同步方法中调用 wait()

方法的对象必须为同步锁对象。 4、(); 五、简答题 1、一种是继承包下的 Thread 类,覆写 Thread 类的 run()方法,在 run()方法中实现运行在线程上的代码。

new Thread() { public void run(){} }.start();

另一种就是实现接口,同样是在 run()方法中实现运行在线程上的代码。

new Thread(new Runnable(){ public void run(){} }).start()

2、调用 sleep()方法,正在执行的线程主动让出 CPU 去执行其他线程,在 sleep()方法指定的时间过后, CPU 才会回到这个线程上继续往下执行,如果当前线程进入了同步锁,sleep()方法并不会释放锁,即使当前线程使用 sleep()方法让出了 CPU,但其它被同步锁挡住了的线程也无法得到执行。wait()

在一个已经进入了同步锁的线程内进行调用,让当前线程暂时让出同步锁,以便其它正在等待此锁的线程可以得到同步锁并运行。当其它线程调用了 notify()方法后,调用 wait()方法的线程就会解除 wait 状态,当再次获得同步锁后,程序可以继续向下执行。六、编程题 1、参考答案

public class MyThread extends Thread{ public MyThread(String name) { super(name); } public void run() { } public static void main(String[] args) { new MyThread("Thread1").start(); new MyThread("Thread2").start(); } }

2、参考答案

public class MyRunnable implements Runnable { public void run() { for (int i = 0; i < 50; i++) { "new"); } } public static void main(String[] args) { new Thread(new MyRunnable()).start(); for (int i = 0; i < 100; i++) { "main"); } } }

3、参考答案

public class Test01 { 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(); tart(); } for (int i = 0; i < 10; i++) { threadList[i].join(); }

"Sum is : " + sum); } }

第6章 JavaAPI

一、填空题 1、 String、StringBuffer 2、 Date、Calendar、DateFormat 3、 getRuntime() 4、 sqrt() 5、 DateFormat 6、π 、

e 7、 Random、 8、 length() 9、静态 10、edcba 二、判断题 1、错 2、错 3、对

4、错

5、对

6、B

7、C

8、A

9、A 10、B

三、选择题 1、C 2、C 3、D 4、C 5、C 四、程序分析题 1、程序编译能通过,输出结果如下

5 -5

2、程序编译能通过,输出结果如下

():15 (0):d lastIndexOf(m):10 substring(2,4):fe indexOf(g):5

五、简答题 1、String 类是不可变类,即字符串值一旦初始化后就不可能改变。StringBuffer 是可变字符串类,类似 String 的缓冲区,可以修改字符串的值。 2、Date 类用来表示某个特定的瞬间,能够精确到毫秒。而在实际应用中,往往需要把一个日期中的年、月、日等信息单独返回进行显示或处理,这个类中的大部分方法都已被标记过时。 Calender 类基本取代了 Date 类,该类中定义了一系列用于完成日期和时间字段操作的方法。 Calendar 的 getTime()方法,getTime()返回一个表示 Calendar 时间值的 Date 对象,同时 Calendar 有一个 setTime(Date date)方法,setTime()方法接收一个 Date 对象,将 Date 对象表示的时间值设置给Calendar 对象,通过这两个方法就可以完成 Date 和 Calendar 对象之间的转换。六、编程题 1、参考答案

public class Test01 { public static void main(String[] args) { String str = "HelloWorld"; oLowerCase()); } else if (ch[i] >= 'a' && ch[i] <= 'z') { (ch[i]).toUpperCase()); } } } }

2、参考答案

import import import public class Test02 { public static void main(String[] args) { Calendar calendar = (); , 100); Date date = (); DateFormat format = ; String string = (date); } }

3、参考答案

import public class Test03 { public static void main(String[] args) { Random rand = new Random(); int[] num = new int[5]; for (int i = 0; i < ; i++) { num[i] = 20 + (31); } }

}

第7章集合类

一、填空题 1、集合 2、Comparator 3、有序、可重复,无序、不可重复 4、hashNext()、next() 5、Collection、Map 6、键、值 7、ListIterator 8、ArrayList、LinkedList,HashSet、TreeSet,HashMap、TreeMap 9、put()、get() 10、Collections、Arrays 二、判断题 1、错 2、对 3、对 4、错 5、对三、选择题 1、BC 2、A 3、D 4、ABD 5、C 6、AB 7、D 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 的值设置为集合元素的数目,也就是 ListIterator it = (3);,二是将程序先从前向后遍历,然后再从后向前遍历。 4、程序编译不通过,由于 Map 集合在遍历的过程中不能使用集合对象本身删除元素,这会导致并发修改异常,若想删除集合中的元素,可以使用 Iterator 的 remove()方法。五、简答题 1、为了使程序能方便的存储和操作数目不固定的一组数据,JDK 提供了一套类库,这些类都位于包中,统称为集合。集合框架中包含 3 个接口,分别是 List、Set、Map。 2、List 的特点是元素有序、元素可重复。List 接口的主要实现类有 ArrayList 和 LinkedList。Set 的特点是元素无序、元素不可重复。Set 接口的主要实现类有 HashSet 和 TreeSet。Map 的特点是存储的元素是键(Key)、值(Value)映射关系,元素都是成对出现的。Map 接口的主要实现类有 HashMap 和 TreeMap。 3、Collection 是一个单例集合接口。它提供了对集合对象进行基本操作的通用方法。Collections 是一个工具类。它包含各种有关集合操作的方法。六、编程题 1、参考答案

import .*; public class Test01 { public static void main(String[] args) { ArrayList list = new ArrayList();

for(int i = 0; i < 10; i++) { ("A"+i); } Iterator it = (); while()) { Object obj = (); } } }

2、参考答案

import .*; public class Test02 { public static void main(String[] args) { HashSet hashSet = new HashSet(); Person p1 = new Person("Jack"25); Person p2 = new Person("Rose"23); Person p3 = new Person("Jack"27); (p1); (p2); (p3); for(Object obj:hashSet){ Person p=(Person)obj; ":"+; } } } class Person{ String name; int age; public Person(String name, int age) { super(); = name; = age; } public int hashCode() { return (); } public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; Person other = (Person) obj;

return } }

3、参考答案

import .*; public class Test03 { public static void main(String[] args) { TreeMap map = new TreeMap(new MyComparator()); ("1" "Lucy"); ("2" "Lucy"); ("3" "John"); ("4" "Smith"); ("5" "Amanda"); for (Object key : ()) { + ":" + (key)); } } } class MyComparator implements Comparator { public int compare(Object obj1, Object obj2) { String ele1 = (String) obj1; String ele2 = (String) obj2; return (ele1); } }

第8章 IO(输入输出)

一、填空题 1、字节流、字符流 2、 File、 3、 SequenceInputStream 4、 RandomAccessFile 5、管道流 6、 LineNumberReader、BufferedReader、setLineNumber(int)、getLineNumber() 7、字节流、字符流 8、 PrintStream、setOut(PrintStream out) 9、 Unicode

10、newLine() 二、判断题 1、错 2、对 3、对 4、对 5、错三、选择题 1、AB 2、C 3、C 4、ABCD 5、AB 6、ACD 7、A 8、A 9、

D 10、A 四、程序填空题

1、InputStreamReader、()、运行结果为 2

2、FileInputStream(file1)、FileOutputStream、() 五、问答题 1、Java 程序通过流来完成输入和输出,流是输入或输出信息的抽象。流通过 Java 的输入/输出系统与外设连接进行数据通信。流是抽象的对象,具体实现代码在包中。 2、字节流的两个基类是 InputStream 和 OutputStream,字符流的两个基类是 Reader 和 Writer,它们都是Object 类的直接子类,字节流是处理以 8 位字节为基本单位的字节流类;Reader 和 Writer 类是专门处理 16 位字节的字符流类。

3、管道流分为管道输入流(PipedInputStream)和管道输出流(PipedOutputStream),通常由一个 PipedInputStream 实例对象和一个 PipedOutputStream 实例对象相互连接而实现管道通信, PipedOutputStream 向管道写入数据,PipedInputStream 从管道中读取 PipedOutputStream 写入的数据,管道流主要用来完成线程之间的通信。六、编程题 1、参考答案

import .*; public class Test01 { public static void main(String[] args) throws Exception { ; public class Test02 { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader); String password = ""; boolean b = false; for (int i = 0; i < 5; i++) { "请输入密码:"); password = (); if ("123456")) { "恭喜你进入游戏"); b = true; break; } } if (!b) { "密码错误,游戏结束"); (0); } } }

第9章 GUI(图形用户界面)

一、填空题 1、 GUI、、 2、适配器 3、 Graphics 4、事件监听器 5、 JComponent 6、窗体事件、键盘事件、鼠标事件、动作事件 7、 WindowListener、windowClosing(WindowEvent e) 8、模态对话框、非模态对话框 9、 setLayout(null) 10、JMenuBar、JMenu、

JMenuItem 二、判断题 1、对 2、错 3、对 4、错 5、错三、选择题 1、D 2、D 3、ABD 4、A 5、D 6、ABCD 四、程序分析题 1、参考答案

extends Stdno = new JTextField(); Name = new JTexxtField();

7、ABD

8、ABC

9、D

10、C

2、参考答案

(cp); (jbt);

五、简答题

1、参考答案通过实现 XxxListener 接口或者继承 XxxAdapter 类实现一个事件监听器类,并对处理监听动作的方法进行重写

创建事件源对象和事件监听器对象调用事件源的 addXxxLisntener()方法,为事件源注册事件监听器对象 2、参考答案 AWT 是Abstract Window ToolKit (抽象窗口工具包)的缩写,这个工具包提供了一套与本地图形界面进行交互的接口。AWT 中的图形函数与操作系统所提供的图形函数之间有着一一对应的关系,当我们利用 AWT 来构件图形用户界面的时候,我们实际上是在利用操作系统所提供的图形库。由于不同操作系统的图形库所提供的功能是不一样的,在一个平台上存在的功能在另外一个平台上则可能不存在。为了实现 Java 语言所宣称的"一次编译,到处运行"的概念,AWT 不得不通过牺牲功能来实现其平台无关性,也就是说,AWT 所提供的图形功能是各种通用型操作系统所提供的图形功能的交集。由于 AWT 是依靠本地方法来实现其功能的,我们通常把 AWT 控件称为重量级控件。 Swing 是在 AWT 的基础上构建的一套新的图形界面系统,它提供了 AWT 所能够提供的所有功能,并且用纯粹的Java 代码对 AWT 的功能进行了大幅度的扩充。由于在 Swing 中没有使用本地方法来实现图形功能,我们通常把 Swing 控件称为轻量级控件。 AWT 和 Swing 之间的基本区别: AWT 是基于本地方法的 C/C++程序,其运行速度比较快; Swing 是基于 AWT 的 Java 程序,其运行速度比较慢。对于一个嵌入式应用来说,目标平台的硬件资源往往非常有限,而应用程序的运行速度又是项目中至关重要的因素。在这种矛盾的情况下,简单而高效的 AWT 当然成了嵌入式 Java 的第一选择。而在普通的基于 PC 或者是工作站的标准Java 应用中,硬件资源对应用程序所造成的限制往往不是项目中的关键因素,所以在标准版的 Java 中则提倡使用 Swing,也就是通过牺牲速度来实现应用程序的功能。六、编程题 1、参考答案

import .*; import .*; public class MyMouseHandler extends JFrame { public MyMouseHandler() { final JLabel label = new JLabel("此处显示鼠标右键点击的坐标"); (true); ; (label, ; (300, 200); ; (new MouseAdapter() { public void mouseClicked(MouseEvent e) { if () == { int x = (); int y = (); String banner = "鼠标当前点击位置的坐标是" + x + "" + y; (banner); } } });

(true); } public static void main(String[] args) { new MyMouseHandler(); } }

2、参考答案

import .*; import .*; import .*; import public class Information extends JFrame { quals(gender)) ("你的性别为: " + gender); } public Information() { ; import .*; import public class MyMenu extends JFrame implements ActionListener { JLabel label = new JLabel("请选择菜单" ; JMenuItem aaMenuItem, baMenuItem; MyMenu() { JMenuBar menuBar = new JMenuBar(); JMenu aMenu = new JMenu("菜单 A"); JMenu bMenu = new JMenu("菜单 B"); JMenuItem aaMenuItem = new JMenuItem("菜单项 AA"); JMenuItem abMenuItem = new JMenuItem("菜单项 AB"); JMenuItem baMenuItem = new JMenuItem("菜单项 BA"); (aMenu); (bMenu); (aaMenuItem); (); (abMenuItem); (baMenuItem); (this); (this); (this); setJMenuBar(menuBar);

getContentPane().add(label, ; } public void actionPerformed(ActionEvent e) { JMenuItem source = (JMenuItem) ()); ("

选择了菜单:" + ()); ; }

public static void main(String args[]) { JFrame frame = new MyMenu(); ; (300, 200); (true); } }

第10章

网络编程

一、填空题 1、面向连接、客户端、服务器端 2、2、0-65535 3、链路层、网络层、运输层、应用层 4、InetAddress 5、DatagramPacket、DatagramSocket 二、判断题 1、错 2、对 3、对 4、错 5、对三、选择题 1、C 3、ABD 4、B 5.、A 6、D 7、B 8、C 四、简答题 1、在 Internet 中传输数据都需要遵守一定的规则,这种规则通常被称作网络通信协议。网络通信协议对数据传输格式、传输速率、传输步骤等作了统一规定,通信双方必须共同遵守这个规定才能完成数据的交互。到目前为止,网络通信协议已经有很多种,其中 TCP/IP 协议在世界范围内应用最为广泛。 2、UDP 协议是无连接通信协议,所谓的无连接就是指数据的发送端和接收端不建立逻辑连接。由于 UDP 协议消耗资源小,通信效率高,通常都会用于音频、视频和普通数据的传输。UDP 协议在传输数据时不能保证数据的完整性,因此在传输重要数据时不建议使用 UDP 协议。 TCP 协议是面向连接的通信协议,即在传输数据前先在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输。在 TCP 连接中必须要明确客户端与服务器端,由客户端向服务端发出连接请求,每次连接的创建都需要经过“三次握手” 。 3、ServerSocket 类用于创建服务端程序,通过调用 ServerSocket 对

象的 accept()方法,接收来自客户端的请求。 Socket 类用于创建客户端程序,当客户端和服务端的两个 Socket 建立了专线连接后,连接的一端既能向另一端连续写入字节,也能从另一端读取字节。Socket 类中定义了 getInputStream()方法返回 Socket 的输入流对象,定义了 getOutputStream()方法返回 Socket 的输出流对象。只要连接的一端向该输出流对象写入了数据,连接的另一端就能从其输入流对象中读取到。五、编程题 1、参考答案

import public class Test01 { public static void main(String[] args) throws Exception { InetAddress localAddress = (); InetAddress remoteAddress = ("");

"本机的 IP 地址:" + ()); "本地的主机名:" + ()); "甲骨文的 IP 地址:" + ()); } }

2、参考答案接收端:

import .*; public class Test02 { public static void main(String[] args) throws Exception { byte[] buf = new byte[1024]; DatagramSocket ds = new DatagramSocket(8001); DatagramPacket dp = new DatagramPacket(buf, 1024); (dp); String str = new String(),0, ()); (); } }

发送端

import .*; public class Test03 { public static void main(String[] args) throws Exception { DatagramSocket ds = new DatagramSocket(3000); String str = "hello world"; DatagramPacket dp = new DatagramPacket(), (), ("localhost"), 8001); (dp); (); } }

3、参考答案服务端

import .*; import .*; public class Test04 { public static void main(String[] args) throws Exception { new

TCPServer().listen(); } } class TCPServer { public void listen() throws Exception { ServerSocket serverSocket = new ServerSocket(8002);

Socket client = (); OutputStream os = (); ("hello world").getBytes()); (5000); (); (); } }

客户端

import .*; import .*; public class Test05 { public static void main(String[] args) throws Exception { new

TCPClient().connect(); } } class TCPClient { public void connect() throws Exception { Socket client = new Socket(), 8002); InputStream is = (); byte[] buf = new byte[1024]; int len = (buf); String(buf, 0, len)); (); } }

java单选题库-博学谷

一、单选题 属于以下哪种语言() A. 机器语言 B. 汇编语言 C. 高级语言 D. 以上都不对 答案:C 解析:Java是一门高级编程语言 考察点:第一章 Java开发入门 题目难度:★☆☆☆容易 2.下列目录中,哪一个是用来存放JDK核心源代码的 A. lib目录 B. src目录 C. jre目录 D. include目录 答案:B 解析:JDK核心源代码存放在src文件夹下 考察点:第一章 Java开发入门 题目难度:★☆☆☆容易 3.下面命令中,可以用来正确执行HelloWorld案例的是() A. java HelloWorld B. java C. javac HelloWorld D. javac

答案:A 解析:java命令负责运行编译后的.class文件,不需要文件后缀名。 考察点:第一章 Java开发入门 题目难度:★☆☆☆容易 4.下面关于配置path环境变量作用的说法中,正确的是() A. 在任意目录可以使用javac和java命令 B. 在任意目录下可以使用class文件 C. 在任意目录可以使用记事本 D. 在任意目录下可以使用扫雷游戏 答案:A 解析:path环境变量的作用是在任意目录下都可以使用javac和java命令。 考察点:第一章 Java开发入门 题目难度:★☆☆☆容易 5.下列选项中,可以正确配置classpath的命令是() A. set classpath =C:\Program Files\Java\ set classpath : C:\Program Files\Java\ classpath set =C:\Program Files\Java\ classpath set : C:\Program Files\Java\ 答案:A 解析:配置classpath的命令是set classpath=xxx,并且等于号两边不要有空格。 考察点:第一章 Java开发入门 题目难度:★☆☆☆容易 6.下面选项中,完全面向对象的编程语言是() A. C B. COBOL C. JAVA D. FORTRAN 答案:C

Java入门基础代码

例1-1 DoubleVariableDemo.java class DoubleVariableDemo{ public static void main(String args[]){ double dRadius=2.0d; double dArea=Math.PI*dRadius*dRadius; System.out.println("半径为2的圆的面积:"+dArea); } } 例1-2 BooleanConstantDemo.java class BooleanConstantDemo{ public static void main(String args[]){ final boolean BFLAG=true; if(BFLAG) System.out.println("Always Print Out Me!"); else System.out.println("Never Print Out Me!"); } } 例1-3 DecisionDemo.java class DecisionDemo{ public static void main(String args[]){ short x=1,y=2,z; // 错误代码 // z = x + y; // 正确代码 z=(short)(x+y); System.out.println(z); } } 例1-4 IntegerConstantDemo . java class IntegerConstantDemo{ public static void main(String args[]){ final byte nMaxValue_1=100; final short nMaxValue_2=200; final int nMaxValue_3=300; final long nMaxValue_4=400; System.out.println("整数常量的nMaxValue_1值"+nMaxValue_1); System.out.println("整数常量的nMaxValue_2值"+nMaxValue_2); System.out.println("整数常量的nMaxValue_3值"+nMaxValue_3); System.out.println("整数常量的nMaxValue_4值"+nMaxValue_4); // nMaxValue_1 = nMaxValue_1 + 1; 不能更改常量的值

Java编程基础知识点汇总及习题集答案

J a v a编程基础知识点汇总及习题集答案 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (14) 第四章循环语句 (20) 第五章方法 (26) 第六章数组 (33) 第七章面向对象 (42) 第八章异常 (63) 第一章 Java入门 知识点汇总 1、JAVA 三大体系 Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心的部分,包含Java 最核心的类库。 JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装配、部署企业级应用,包含Servlet、JSP、JavaBean、JDBC、EJB、Web Service等。 Java ME:(J2ME,Java 2

Platform Micro Edition,微型版),用于小型电子设备上的软件开发。 2、JDK,JRE,JVM的作用及关系作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 path环境变量:存放可执行文件的存放路径,路径之间 用逗号隔开 classpath环境变量:类的运行路径,JVM在运行时通过classpath加载需要的类 4、重点掌握两个程序 :Java编译器工具,可以将编写好的Java文件(.java)编译成Java字节码文件(.class); :Java运行工具,启动Java虚拟机进程,运行编译器生成的字节码文件(.class) 5、一切程序运行的入口public static void main (String args []){ World!”); } 课堂笔记

【黑马程序员】Java基础总结

【黑马程序员】Java基础总结黑马程序员的javaEE课程主要分为2个部分:java基础+java就业。今天就简单的给大家总结一下咱们java基础的知识。 注:Java采用Unicode符号集,每个字符占2个字节,无论英文还是中文还是其他字符。标识符 为变量、类或方法起的名称 以字母,下划线、或者$符号开头 由字母、数字、下划线或者$符号开头 区分大小写,没有长度限制,不能使用关键字 尽量取得容易辨识,见名知意 如:identifier、userName、user_Name、_sys_varl、$change 基本数据类型 Java定义了8中基本数据类型 [AppleScript] 纯文本查看复制代码 ? 1 2 3 4 5 6 7/** * @author 传智播客 */ 布尔值----boolean(只有true和false两种类型) 字符-------char ( 16 位的Unicode字符用单引号( '' )标注;'a'表示字母a '\t' 表示制表符 '\u????'中?用确切的代替申明并且初始化: char c = 'A' 申明变量 char ch1,ch2) 整数--------byte (8位) short(16) int(32) long(64)【以0开头表示八进制;以0x开始表示16进制】 浮点型-----float double 变量 必须在类的内部【可以在方法外也可以在方法类】 在方法类定义的变量叫做局部变量,需要显示的初始化

成员变量和类变量【对象】自动初始化【数字初始化为0,对象初始化为null】常量 在程序运行中,其值保持不变的量 不同数据类型间的相互转换【封装Wrapper类】 Java中类的定义: [AppleScript] 纯文本查看复制代码 ? 1 2 3 4 5 6 7 8/** * @author 传智播客*/ <修饰符> Class <类名>{ <属性申明>; <构造器申明>; <方法申明>; } 成员变量申明:[AppleScript] 纯文本查看复制代码 ? 1<修饰符> <类型> <名称>;修饰符: [AppleScript] 纯文本查看复制代码 ? 1 2 3 4 5/** * @author 传智播客 */ final:修饰常量,常量的值不能被修改【例如 final int CONSTANT = 50;】static:申明静态变量[类变量] static int nCount; 方法的申明:[AppleScript] 纯文本查看复制代码? 1 2/** * @author 传智播客

Java基础知识笔试题及答案2

1.Java中提供了名为()的包装类来包装原始字符串类型。 A.Integer B.Char C.Double D.String 2.https://www.sodocs.net/doc/675524580.html,ng包的()方法比较两个对象是否相等,相等返回true。 A.toString()B.equals()C.compare()D.以上所有选项都不正确3.使用()方法可以获得Calendar类的实例。 A.get()B.equals()C.getTime()D.getInstance() 4.下面的集合中,()不可以存储重复元素。 A.Set B.Collection C.Map D.List 5.关于Map和List,下面说法正确的是()。 A.Map继承List B.List中可以保存Map或List C.Map和List只能保存从数据库中取出的数据 D.Map的value可以是List或Map 6.给定如下Java代码,编译运行的结果是()。 Import java.util.*; public class Test { public static void main(String[] args) { LinkedList list=new LinkedList(); list.add(“A”); list.add(2,”B”); String s=(String)list.get(1); System.out.println(s); }

A.编译时发生错误B.运行时引发异常C.正确运行,输出:A D.正确运行,输出:B ###############################################################3 3.所有异常的父类是()。 A.Error B.Throwable C.RuntimeException D.Exception 4.下列()操作不会抛出异常。 A.除数为零B.用负数索引访问数组 C.打开不存在的文件D.以上都会抛出异常 5.能单独和finally语句一起使用的块是()。 A.try B.throws C.throw D.catch 6.在多重catch块中同时使用下列类时,()异常类应该最后列出。 A.Exception B.ArrayIndexOutOfBoundsException C.NumberFormatException D.ArithmeticException 7.执行下面的代码会引发()异常。 String str=null; String strTest=new String(str); A.InvalidArgumentException B.IllegalArgumentException C.NullPointerException D.ArithmeticException 8.这段代码的输出结果是()。 try{ System.out.print(“try,“); return; } catch(Exception e){ System.out.print(“catch,“); } finally { System.out.print(“finally”);

《Java基础入门》-课后习题答案--1-6

第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、错

Java基础试题及其答案

Java试题 1) java程序中,main方法的格式正确的是()。(选择一项) a)static void main(String[] args) b)public void main(String[] args) c)public static void main(String[]s) d)public static void main(String[] args) 2)给定java代码,如下: public byte count(byte b1,byte b2){ return______; } 要使用这段代码能够编译成功,横线处可以填入()。(选择一项)a)(byte) (b1-b2) b)(byte) b1-b2 c) b1-b2 d) (byte) b1/b2 3)在Java中,在包下定义一个类,要让包下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。 (选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; “”+new Person() toString() c) int a= 3+5 d) float f=5+; double float 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; (“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 已到文件尾,再读取抛出 7) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList List 有序可重复 b) HashSet Set 无序不可重复同一对象是重复 的 c) HashMap Map(key/value)重复定义:hashCode、 equals(业务) d) LinkedList List 8)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public static void main(String args[]){ int a=5;

Java基础笔试机试测试题(带答案)

Java基础考试题 班级:__________ 姓名:___________ 日期:_____________ 一、笔试(45题,每题2分) 1) 分析下面的Java程序段,编译运行后的输出结果是()。 public class Test { public static void changeString(StringBuffer sb) { sb.append("stringbuffer2"); } public static void main(String[] args) { StringBuffer sb = new StringBuffer("stringbuffer1"); changeString(sb); System.out.println("sb = " + sb.toString()); } } A. sb = stringbuffer2stringbuffer1 B. sb = stringbuffer1 C. sb = stringbuffer2 D. sb = stringbuffer1stringbuffer2 2) 在Java中,包有多种用途,但不包含()。 A. 将类组合成较小的单元,便于使用 B. 有助于避免命名冲突 C. 有助于提高运行效率 D. 允许在更广的范围内保护类、数据和方法 3) 在Java中,如果要在字符串类型s="java"中,得到字母'v' 出现的位置,选()语句。 A)s.matches('v'); B)s.charAt('v'); C)s.indexOf('v'); D)s.substring('v'); 4)下列代码运行后,变量c的值是()。 int a=15,b=10; double c=a/b; a) 1.5 b) 1.0 c) 1 d) 0 5)main方法如下所示,该程序的运行结果是()。 public static void main(String [] args){ int i=0; System.out.print(i++); } a) 输出0 b) 输出1 c) 编译错误d) 运行时出现异常

JAVA入门练习50题(含答案)

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } }

传智播客-Java基础知识测试-初测(带答案)

传智播客-Java基础知识测试-初测(带答案)

答题格式: 1 - 30题为单选题, 31 - 40为多选题. 新建一个txt文件, 答案写在这个文件中. 答案必须保存为txt格式的文件。 答题的时候,可以在EditPlus上答题,会自动显示题目序号 文件名改为自己的名字, 每题一行. 多选题按abcd的顺序填答案, 比如某一题的答案acd, 就必须是acd, 不能是adc等等. 不能有空行, 不能有空格,不能有题目序号,一定不要某一题不会就空在那, 会导致后面的答案全都识别错了! 填完答案数一下, 不要填挪了!!! 共40道选择题,每题2.5分。多选题有错则全错,全对才满分.

单选题: 1. 下列哪个声明是错误的?() A. int i=10; B. byte b=127; C. float f=1.1; //1.1f D. double d=34.4; 2. 下面哪个不是java中的关键字?() A. public B. true C. class D. main 3. 下面哪个语句不会产生编译错误?() A. float a =2.0; //2.0f B. byte b =25; C. char c =”a”; D. boolean d=0; 4. 下面程序哪个语句是正确的()

A. byte a=0,b=3; byte c =a+b; B. short s =23; s=s+12; C. float f = 23+23.23; D. short s=23; s+=12; 5. byte类型的大小是() A. -228 ~128 B. -255 ~ 256 C. -128 ~ 127 D. -255 ~ 255 6. 下面程序执行的结果是?() int i = 100; while(true) { If ( i++ > 100 ) break; System.out.println(i); } A. 100 B. 101

JAVA基础面试题经典

JAVA基础面试题经典

第一阶段题库 基础知识部分: 1.JDK是什么?JRE是什么? a)答:JDK:java开发工具包。JRE:java运行时 环境。 2.什么是java的平台无关性? a)答:Java源文件被编译成字节码的形式,无论 在什么系统环境下,只要有java虚拟机就能运行这个字节码文件。也就是一处编写,处处运行。这就是java的跨平台性。 3.在一台电脑上配置java环境,path起什么作 用?如何配置? a)答:path的作用是在DOS环境下,能在任意 位置使用JDK目录中bin文件夹中的可执行程序,来编译执行java程序。 b)在环境变量中找到path变量,把bin文件夹 的绝对路径加上即可。 4.什么样的标识符是合法的? a)由字母、数字、_和$组成,长度不限。其中字 母能够是大写或小写的英文字母,数字为0到9。

b)标识符的第一个字符不能是数字。 c)标识符区分大小写。 d)标识符不能包含空格。 5.Java有几种基本数据类型? a)byte,short,int,long,char,boolean,float,double 6.什么是隐式类型转换?什么是显示类型转换? a)当将占位数少的类型赋值给占位数多的类型 时,Java自动使用隐式类型转换。 b)当把在级别高的变量的值赋给级别底变量时, 必须使用显示类型转换运算。 7.&&和&区别,||和|区别? a)&&和||是短路与,短路或,当左边的表示式能 判断当前结果,则不判断右边的表示式。 b)而& 和|则将两边的表示式都运算完毕后,再 算结果。 8.break,continue区别? a)break结束最近的一个循环,continue结束当 次循环,进入下次循环。 9.类的命名规则是什么? a)如果类名使用拉丁字母,那么名字的首写字母 使用大写字母。

Java基础入门教程(适合所有初学者)

第1章 Java语言概述与面向对象思想 1 1.1 Java语言的发展 1 1.1.1 Java语言的产生 1 1.1.2 Java语言的发展 1 1.2 Java语言的特点 2 1.3 面向对象与面向过程的差异 3 1.3.1 面向过程思想回顾 4 1.3.2 面向对象思想介绍 4 1.4 面向对象程序设计中的主要概念和特征 4 1.4.1 主要概念 5 1.4.2 主要特征 5 *1.5 Java与C++的差异 5 1.6本章小结5 习题 5 第2章 Java语言开发环境 6 2.1 JDK 6 2.1.1 JDK的简介6 2.1.2 JDK的构成6 2.1.3 JDK的使用6 2.2 IDE 8 2.2.1 IDE简介8 2.2.2 JBuilder 9 2.2.3 Eclipse 9 2.2.4 相关资源9 2.3 Project管理9 2.3.1 Project的含义9 2.3.2 可行的Project组织模式9 2.3.3 主要开发工具的Project目录10 2.4 本章小结10 习题10 第1章 Java语言概述与面向对象思想 1.1 Java语言的发展 1.1.1 Java语言的产生以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java 技术有一个总体了解,通过本课程学习,使学生掌握Java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作 上世纪90年代初期,Sun公司在研究一种适用于未来的智能设备的编程语言,该语言要具有一些新的特性,以避免C++的一些不足。 该语言起初命名为Oak,来源于语言作者Gosling办公室窗外的一棵橡树(Oak)。后来在注册时候遇到了冲突,于是就从手中的热咖啡联想到了印度尼西亚一个盛产咖啡的岛屿,中文名叫爪哇,Java语言得名于此。 随着Internet的迅速发展,Web应用日益广泛,Java语言也得到了迅速发展。1994年,Gosling

JAVA试题及答案

JA V A语言基础内部测试题 选择题(针对以下题目,请选择最符合题目要求的答案,针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。)(每题2分) 没有注明选择几项的,只选择一项 1、JAVA所定义的版本中不包括:() A、JAVA2 EE B、JAVA2 Card C、JAVA2 ME D、JAVA2 HE E、JAVA2 SE 2、下列说法正确的是() A、JAVA程序的main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来 3、Java中,在如下所示的Test类中,共有()个构造方法。 public class Test{ private int x; public Test(){ x=35; } public void Test(double f){ =(int)f; } public Test(String s){} } A、0 B、 1 C、 2 D、3 4、变量命名规范说法正确的是() A、变量由字母、下划线、数字、$符号随意组成; B、变量不能以数字作为开头; C、A和a在java中是同一个变量; D、不同类型的变量,可以起相同的名字; 5、下列javaDoc注释正确的是() A、/*我爱北京天安门*/

B、quals("john") C、"john" = "john" D、"john".equals(new String("john")) 6、下列输出结果是() int a = 0 ; while ( a < 5 ) { switch(a){ case 0: case 3 : a = a + 2; case 1 : case 2 : a = a + 3; default : a = a + 5; } } ( a ) ; A、0 B、5 C、10 D、其他 7、下列代码输出结果是( ) int i = 10; while ( i > 0 ){ i = i + 1; if ( i = =10 ){ break; } } A.while循环执行10次 B.死循环 C.循环一次都不执行 D.循环执行一次 8、下面有关for循环的描述正确的是() A、for循环体语句中,可以包含多条语句,但要用大括号括起来 B、for循环只能用于循环次数已经确定的情况 C、在for循环中,不能使用break语句跳出循环 D、for循环是先执行循环体语句,后进行条件判断 9、下列()属于引用数据类型(选择两项) A、String B、char C、用户自定义的Student类类型

Java程序员认证考试题库

第一部分 基础知识练习 目标 本章对应于《学生指南》各章的内容分别提供了练习题集,包括: ●第一章Java入门 ●第二章数据类型和运算符 ●第三章流程控制与数组 ●第四章封装 ●第五章继承 ●第六章抽象类与接口 ●第七章多态 ●第八章异常 ●第九章多线程机制 ●第十章输入输出流 ●第十一章使用泛型和集合框架 ●第十二章基于Swing的图形用户界面(GUI)设计 ●第十三章Java事件驱动编程

第一章练习题(Java入门) (C)1.下列哪项不是JDK所包含的内容?(选一项)A.Java编程语言 B.工具及工具的API C.Java EE扩展API D.Java平台虚拟机 2.下列关于JDK、JRE和JVM的描述。哪项正确?A.JDK中包含了JRE,JVM中包含了JRE B.JRE中包含了JDK,JDK中包含了JVM C.JRE中包含了JDK,JVM中包含了JRE D.JDK中包含了JRE,JRE中包含了JVM 3.下列哪个工具可以编译java源文件? A.javac B.jdb C.javadoc D.junit 4.JDK工具javadoc的作用是哪项? A.生成Java文档 B.编译Java源文件 C.执行Java类文件 D.测试Java代码 5.以下哪些包是Java标准库中常用的包?(选三项)A.java.lang B.javax.servlet .http C.j ava. io D.java.sql

6.使用JDK工具生成的Java文档的文件格式是? A.XML格式 B.自定义格式 c.二进制格式 D.HTML格式 (AC)7.以下关于JVM的叙述,哪项正确?(选两项) A.JVM运行于操作系统之上,它依赖于操作系统 B.JVM运行于操作系统之上,它与操作系统无关 C.JVM支持Java程序运行,它能够直接运行Java字节码文件D.JVM支持Java程序运行,它能够直接运行Java源代码文件 8.以下关于支持Java运行平台的叙述,哪项错误? A.Java可在Solaris平台上运行 B.Java可在Windows平台上运行 C.Java语言与平台无关。Java程序的运行结果依赖于操作系统D.Java语言与平台无关。Java程序的运行结果与操作系统无关 (B)9.以下关于Applet和Java程序之间关系的叙述,哪项错误? A.-个Applet就是一段Java程序 B.Applet是一种特殊的Java程序,它需要运行在Web服务器上C.Applet是一种特殊的Java程序,它需要运行在Web浏览器上D.Applet是一种Java SE平台的应用程序 (AD)10.以下关于Java HotSpot的描述,哪两项错误?(选两项)A.Java HotSpot是一种热编译技术,在编译Java源程序时会被使用B.Java HotSpot是一种热编译技术,在运行Java代码时会被使用C.Java HotSpot是一种热编译技术,它只对程序的部分字节码进行优化D.Java HotSpot是一种热编译技术,它会对程序的全部字节码进行优化

适合java入门学习的书籍推荐

适合java入门学习的书籍推荐 作为Java初级学习者而已,最痛苦的事情莫过于想要学好java,但是面对市场上纷繁的java学习书籍,往往容易感到无所适从。牛耳教育就java学习体系流程方面为大家挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java爱好者们。 一、Java编程入门类 1、《Java编程思想》 2、《Agile Java》中文版 二、Java编程进阶类 1、《重构改善既有代码的设计》 这本书名气很大,不用多介绍,可以在闲暇的时候多翻翻,多和自己的实践相互印证。这本书对产生影响是潜移默化的。 2、《测试驱动开发 by Example》 本书最大特点是很薄,看起来没有什么负担。可以找一个周末的下午,一边看,一边照做,一个下午就把书看完,这本书的所有例子跑完了。这本书的作用是通过实战让你培养TDD的思路。 三、Java架构师之路 到这个阶段,应该已经非常娴熟的运用Java编程,而且有了一个良好的编程思路和习惯了,但是可能还缺乏对应用软件整体架构的把握,现在就是迈向架构师的第一步。 1、《Expert One-on-One J2EE Design and Development》 这本书是Rod Johnson的成名著作,非常经典,从这本书中的代码诞生了springframework。但是好像这本书没有中译本。 2、《Expert One-on-One J2EE Development without EJB》 这本书由gigix组织翻译,多位业界专家参与,虽然署名译者是JavaEye,其实JavaEye出力不多,实在是忝居译者之名。

传智播客Java基础入门习题答案

第章开发入门 一、填空题、、、、、、、、二、选择题、、、、、三、简答题、面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等. 、(,运行时环境),它相当于操作系统部分,提供了程序运行时所需要地基本条件和许多基础类,例如,类、控件类、网络类等. 是提供给普通用户使用地,如果你只想运行别人开发好地程序,那么,你地计算机上必须且只需安装. (,开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关地工具,是提供给开发人员使用地.初学者学习和使用语言时,首先必须下载和安装. 中已经包含了部分,初学者安装后不必再去下载和安装了. 四、编程题文档收集自网络,仅用于个人学习 { ([] ) { ("这是第一个程序!"); } }文档收集自网络,仅用于个人学习 第章编程基础 一、填空题、、和、单行注释、多行注释、文档注释、基本数据类型、引用数据类型、、、、、、、文档收集自网络,仅用于个人学习 、、二、判断题、错、对、错、对、错三、选择题、、、、、、、、、、四、程序分析题、编译不通过. 值和相加时,由于变量地类型为,取值范围没有类型大,存不下类型地值,因此编译不通过. 、编译不通过.这是因为是在最里层地代码块中定义地一个变量,只有在那个代码块中才可使用,在使用;语句时已经超过了变量地作用域,所以编译无法通过. 、打印结果为:. 、打印结果为:五、问答题、语言地八种基本数据类型有:字节型,占一个字节. 短整型,占两个字节. 整型,占个字节. 长整型,占个字节. 单精度浮点型,占个字节. 双精度浮点型,占个字节. 字符型,占两个字节. 型,表示逻辑值,有和两个值,分别占一个字节. 、如果使用“”在表达式之间进行连接,那么无论任何情况,“”两边地表达式都会参与计算. 如果使用“”进行连接,当“”左边地表达式为,则不会执行其右边地表达式.例如定义; < > 表达是会发生被除异常,因为地表达式执行了.而< > 是不会出现这种异常地,因为< 为,表达式不会执行. 、方法重载指地是在一个类中可以声明多个同名地方法,而方法中参数地个数或者数据类型不一致. 调用这些同名地方法时,会根据实际参数地不同绑定到不同地方法. 六、编程题、参考答案文档收集自网络,仅用于个人学习 { ([] ) { ; ( ; < ; ) { ( ) ; } (); } }文档收集自网络,仅用于个人学习 、参考答案 { ( []) { ();文档收集自网络,仅用于个人学习 (); } ( ) { ; ( > ) { ; } ( ) { ; } { * ; } ; } }文档收集自网络,仅用于个人学习 、参考答案 { ([] ) { [] { , , , , , , }; ( ; < ; ) { 定义内层循环( ; < ; ) { ([] > [ ]) { 比较相邻元素下面地三行代码用于交换两个元素[]; [] [ ]; [ ] ; } } } ( ; < ; ) { ([] " "); 打印元素和空格} } }文档收集自网络,仅用于个人学习 第章面向对象(上) 一、填空题、封装、继承、多态、、成员变量、局部变量、类、类、、()文档收集自网络,仅用于个人学习、静态变量、内部类、、二、判断题、对、对、错、对、错三、选择题、、、、、、、、、、四、程序分析题、程序不能编译通过,因为在类中地成员变量用修饰,所以在类中无法访问. 、程序不能编译通过,因为在静态方法()中不能访问非静态成员变量. 、程序能够编译通过,运行地结果为“” . 五、简答题、构造方法是类地一个特殊成员,它会在类实例化对象时被自动调用.而普通方法只有在使用地时候才会被调用.在定义构造方法时要求方法名与类名相同、在方法名地前面没有返回值类型地声明、在方法中不能使用语句返回一个值、单例模式可以保证在整个程序运行期间针对该类只存在一个实例对象. 六、编程题、参考答案文档收集自网络,仅用于个人学习 { ; ; () { } ( , ) { ; ; } () { ; } ( ) { ; } () { ; } ( ) { ; } } { ([] ) { ();文档收集自网络,仅用于个人学习 (""); (); ("" ); } }文档收集自网络,仅用于个人学习 、参考答案 {

JAva基础期末考试试卷

一、填空题 1、面向对象的三大特征是______、______和______。 2、在程序开发中,要想将一个包中的类导入到当前程序中,可以使用______关键字。 3、编译Java程序需要使用______命令。 4、如果子类想使用父类中的成员,可以通过关键字______引用父类的成员。 5、在Java语言中,所有的类都直接或间接继承自______类。 6、定义一个Java类时,如果前面加使用______关键字修饰,那么该类不可以被继承。 7、String类中用于返回字符串字符个数的方法是_____。 8、若x = 2,则表达式( x + + )/3 的值是______。 9、定义在类中的变量被称为______,定义在方法中的变量被称为______ 10、若int a[3][2]={{123,345},{34,56},{34,56}},则a[2][1]= ______。 二、选择题 1、先阅读下面的程序片段: String str = "abccdefcdch"; String[] arr = str.split("c"); System.out.println(arr.length); 程序执行后,打印的结果是几? A、2个 B、3个 C、4个 D、5个 2、以下关于变量的说法错误的是? A、变量名必须是一个有效的标识符 B、变量在定义时可以没有初始值 C、变量一旦被定义,在程序中的任何位置都可以被访问 D、在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声 明 3、在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字? A、inherits B、implements C、extends D、modifies 4、类中的一个成员方法被下面哪个修饰符修饰,该方法只能在本类被访问? A、public B、protected C、private D、defaul 5、关于super关键字以下说法哪些是正确的?(多选) A、super关键字可以调用父类的构造方法 B、super关键字可以调用父类的普通方法 C、super与this不能同时存在于同一个构造方法中 D、super与this可以同时存在于同一个构造方法中 6、已知类的继承关系如下: class Employee; class Manager extends Employeer; class Director extends Employee; 则以下语句能通过编译的有哪些? A、Employee e=new Manager(); B、Director d=new Manager(); C、Director d=new Employee(); D、Manager m=new Director(); 7、String s = "abcdedcba";则s.substring(4,5)返回的字符串是以下选项中的哪个? A、cd B、de C、d D、e 8、关于抽象类的说法哪些是正确的?(多选) A、抽象类中可以有非抽象方法。

最新Java基础试题及其答案

Java试题 一单项选择 1)在Java中,在包com.db下定义一个类,要让包com.util下的所有类都可以访问这个类,这个类必须定义为()。() a)protected b)private c)public d)friendly 2)在Java中,下列()语句不能通过编译。(选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; c) int a= 3+5 d) float f=5+5.5; 3)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; s.concat(“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 4) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList b) HashSet c) HashMap d) LinkedList 5)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public staticvoid main(String args[]){ int a=5; System.out.println(a%2==1) ?(a+1) /2:a/2) ; } } (选择一项) a)1 b)2 c)2.5 d)3 6)以下Java语句中,String str = “123456789”;str =str.subString(1,3);执行后str中的值为。(选择一项) a) “23” b)“123”

相关主题