字节码文件可以随平台进行移植,但无论在何种平台上运行都要经过JVM的解释,也就是将中间的字节码文件解释成计算机能够识别的机器语言,从而在各种环境下运行起来。
2. 详见本章1.7.3节
1.使用固定的编码格式对于编程而言有什么意义?
编码是用预先规定的方法将文字、数字或其它对象编成数码,或将信息、数据转换成规定的电脉冲信号。为保证编码的正确性,编码要规范化、标准化,即需有标准的编码格式。
2.如果没有关键字或者在程序中随意命名,可能会引发什么后果? 代码混乱,自定义的变量等名称与已有功能无法分辨。
3. 常量与变量的区别以及各自的引用场合。
常量一旦定义了就不允许被修改。往大的说,定义常量,是不想让某些固定的属性或方法被调用后改变了值,或者被继承后重写。变量相对使用灵活,无论是创建还是销毁等。
4. 列举一些常见的数据,分析使用Java中什么数据类型表示更合适。
byte 年龄、short 年份、int 端口号、long 身份证号、boolean 是否为男性、char 字母表中的每个字母、float 汽车排量、double 圆周率。
5. 思考数组的优点与缺点,提出一些能使其更加方便的使用提议。 优点:使用简单 缺点:长度不可变
建议:可以自己写一个动态数组类,可动态控制其长度和元素顺序。
1. 表达式中的运算符应该尽可能的简练吗? 不应该,过于简练的代码会影响其阅读性。
2. 循环语句与条件语句嵌套使用的弊端是什么,如何在开发中进行取舍? 嵌套使用的弊端在于增加代码层次,影响其阅读性,在开发中应该在不影响功能和性能的前提下尽量的减少嵌套的使用。
3. break、continue、return有何异同点? 相同点:都会改变程序本省的执行流程。 不同点:作用的力度不同。
1. 创建一个包,编写一个学生类并提供适当的属性与行为。
2. 在另一个包里编写一个测试类,在main方法中创建题1中的学生类的对象,并调用它
的方法。
前两题答案见压缩包
TestJava.rar
3. 编写一个类,其中有一个静态变量。创建多个对象实例,分别修改静态变量的值,观察
修改结果是否影响其它对象中的访问结果。
4. 编写一个类,提供public、protected、default、private四种访问权限的方法,分别从同
包与不同包的类中访问这些方法,观察访问结果或编译错误信息。
1. 为什么Java是“单继承”的?这样设计有什么优劣?
只能使用extends关键字继承一个类,这样做的好处是避免了多重继承的二义性问题,使代码更加清晰和健壮。 2. 使用抽象类设计一个图形类Shape作为框架,子类Circle和Rectangle分别遵循此框架
并实例化对象测试功能。
第四题.rar第2题.rar
3. 四种内部类分别的应用场合对比,内部类可以拥有内部类吗?
静态内部类主要用于独立存在的内部类,不需要跟外部类有频繁的数据访问。 成员内部类主要用于需要频繁访问外部类成员数据的从属结构。
局部内部类主要用于临时在代码块中创建的类,使用完成后再也不用。 匿名内部类主要用于精简代码结构,使参数的传递等更加的优雅。
1. 用实际的例子来设计接口和抽象类的使用场景,并实现简单的代码。
抽象类 设备Device 接口 键盘 Keyboard 实现类 电脑 PC
2. 使用接口来验证匿名内部类,并使用多态进行参数的传递
1. 在代码中使用过多的异常会引发什么样的后果?
过多的异常会让代码变得更加脆弱不流畅。
2. 一个方法可以同时抛出多种类型的异常吗?
可以
3. 既然从代码层次可以避免运行时异常,那么什么情况下会捕获运行时异常?
异常的出现通常是连锁反应的,有时候在第一时间无法找到运行时异常出现的根源,可以临时使用捕获先保证代码的正常执行。
1. 通过代码验证String、StringBuffer与StringBuilder的性能差距。
第2题.rar
2. 举例说明在开发中Random类的实际应用场景
在游戏中随机抽取卡牌、装备等。
1. 集合可以嵌套吗?如果能,如何进行赋值和遍历?
集合可以嵌套,赋值和遍历的方式是使用循环的嵌套。
2. List、Map与Set在使用时如何进行选择?
List 集合可以有重复对象,允许按照对象在集合中的索引位置检索对象,例如通过list.get(i)方法来获取集合中的元素;例如存储一个班学生的成绩(成绩可以重复)
Map 中的每一个元素包含一个键和一个值,成对出现,键对象不可以重复,值对象可以重复;例如存储一个账户的用户名和密码。
Set 集合中的对象不按照特定的方式排序,并且没有重复对象,但它的实现类能对集合中的对象按照特定的方式排序。 例如存储一个班的学生(学生不允许重复)。 1. 使用缓冲字符输入流读取一个本地存储的文本文件。
Test.javaTestBuffered.java
2. 输入流和输出流是否是相对的,为什么?
是的,输入流和输出流的判断要站在当前代码的位置。例如服务器和客户端双向通信,站在服务器角度上观察到的流的输入输出与站在客户端角度观察到的结果相反。 1. 线程和线程之间可以嵌套吗?
可以,但是不建议这么做,会增加代码阅读的层次(尽管嵌套的线程在CPU中是并列的)。
2. 线程睡眠和等待的区别是什么?
根本区别在于sleep的时候并不释放cpu的占用,而wait的时候的时候释放cpu的占用 1. TCP和UDP各自的优势和劣势是什么? TCP是可靠的连接,优势在于数据的完整性和可靠性,劣势在于性能较低。 UDP是不可靠的连接,优势在于性能高,劣势在于无法保证数据传输的完整性。
2. 举例说明HTTP具体使用场景 例如浏览某个网站,如果没有HTTP协议,只能使用其IP地址进行访问,这无疑是非常难以记住和表示的。HTTP使网络地址成为了可以使用英文字母表示的人类更易于接受的形式。
1. 试着尝试使用JDBC连接其他数据库。
Day5_JDBC.rar
2. Statement和PreparedStatement的区别是什么?
Statement和PreparedStatement的区别,PreparedStatement在Statement的基础使参数的输入更加简单,同时也有预处理语句,效率和可靠性都更高
为什么项目中所有的代码不写到一个.java文件中?这样做的好处是什么?
都写到一个文件中不利于代码分层,而代码分层可以使代码变得更容易维护,大幅提高开发和执行效率。
因篇幅问题不能全部显示,请点此查看更多更全内容