![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java课程作业
文章平均质量分 87
学习Java时的作业与笔记
水木的编程那些事儿
这个作者很懒,什么都没留下…
展开
-
Java第10章作业:集合框架
Java集合框架的整体概览图:如下(摘自w3school Java集合框架)上图中,Map、Collection和Iterator是三个接口,List和Set是Collection接口的子接口,ArrayList和LinkedList是实现了List的类,HashSet和TreeSet是实现了Set接口的类,HashMap和TreeMap是实现了Map接口的类。Collection接口的常用方法:方法描述boolean add(Object c)向集合类中添加一个新元素,返回原创 2021-01-09 21:38:25 · 258 阅读 · 0 评论 -
Java第一次实验总结
第一次实验是让我们将一个银行管理系统的C++改写成Java代码,这里说一下自己在改写过程中的体会。C++与Java的区别1. C++中方法声明可以和实现分离在C++中可以将类定义和方法的声明放在一个头文件中(.h文件),然后将方法的实现体放在与头文件同名的源文件中(.cpp文件),但在Java中则必须将方法声明与实现写在一起,2. Java中抽象方法与C++的纯虚函数相对应Java中用abstract修饰的方法称为抽象方法,含有抽象方法的类称为抽象类,抽象方法只能有声明,不能有实现,其具体的实现要原创 2021-01-09 14:38:09 · 407 阅读 · 0 评论 -
Java实验:解决System.in关闭后无法再继续使用流的问题
问题简述当使用BufferedReader从键盘读入数据时,若调用了close方法,再次使用BufferedReader从键盘读入数据的话便会报java.io.IOException: Stream closed异常,产生此异常的代码见文末介绍。问题分析在Java IO体系中,若关闭了最外层包装流,那么内层被包装的流也会被关闭,比如使用BufferedReader从键盘读入,代码为:BufferedReader reader = new BufferedReader(new InputStreamR原创 2020-12-27 12:29:54 · 574 阅读 · 0 评论 -
Java第14章作业:I/0输入输出
本章主要内容流的分类字节流与字符流流的装配与串行化文件操作第一题:Java中流的分类有哪些?Java中流的分类有3种,分别可以按照读取类型、流动方向与流的源头来分类。按读取类型分类,可以分为字节流与字符流字节流:字节流以字节(byte)作为处理单位,一次仅读入或输出一个字节;在Java中,字节流是由InputStream与OutputStream两个抽象类所衍生的一系列子类所组成的;字符流:与字节流不同,字符流以字符作为处理单位;在Java中,字符流是由Reader与Writer两个原创 2020-12-08 11:59:17 · 170 阅读 · 0 评论 -
Java第15章作业:网络通信
第一题:网络通信协议分几层?各层解决的问题是什么?第二题:TCP和UDP协议有什么不同?为什么称TCP是面向连接的可靠的协议?第三题:在Java语言中,网络编程是从协议的什么层次开始的?程序设计时,什么情况下选择Java高层次网络编程,什么情况下选择低层次网络编程?高层次网络编程:基于应用层,如URL编程;低层次网络编程:基于传输层,如Socket编程;第四题:Socket编程时,目的地址和端口号需要在什么地方指出?使用数据报时,又在什么地方指出?第五题:利用URLConnection对象编写程原创 2020-11-17 09:27:08 · 147 阅读 · 0 评论 -
Java第9章作业:线程
第一题:volatile关键字有什么作用?由于CPU为了提高对变量的读写效率会将变量存入自己的缓存中,在多个线程访问相同变量时,如果多个线程位于不同的CPU(多核CPU)里面,那么每个线程访问变量(以k=0为例)时会从不同的CPU缓存里面读取,若一个线程将k的值改为了2,但还未将k的值写入了内存中,此时另一个线程所读取到的k是错误的值,这种问题称为可见性问题,即一个线程对变量的修改无法被其他线程“看到”。volatile关键字的作用就是禁用CPU缓存,即不将变量k存入CPU缓存中,而是直接在内存中进行读原创 2020-11-07 11:50:06 · 146 阅读 · 0 评论 -
Java第8章作业:Java常用类库与工具
第一题:借助JDK, 选取几个String与StringBuffer 、StringBuilder的常用API,并编写实例测试API的功能。public char charAt(int index)该方法返回字符串中指定位置的字符,index的范围是0到length()-1。package string;public class Str { public static void main(String[]str){ String s = new String("Stri原创 2020-11-02 19:36:37 · 213 阅读 · 0 评论 -
Java第7章作业:异常
第一题:简述Java Error类与Exception类的区别。Error类:Error类是程序本身无法处理的错误,一般与虚拟机有关,如系统崩溃,虚拟机错误,内存空间不足等错误,出现这种错误时需要停止程序并修正。Exception类:异常可以靠程序本身进行处理,即使用一定的方法对异常进行捕获或抛出,而不需要终止程序运行。第二题:简述异常处理的两种方式,并举例说明区别。异常处理有两种方式,分别是声明抛出和捕获。声明抛出分为隐式声明抛出和显式声明抛出,捕获则使用try...catch...finally原创 2020-10-29 23:22:14 · 390 阅读 · 0 评论 -
Java第6章作业:面向对象(下)
1. 实验:利用IDE的debug功能给例6.4和例6.6的new语句设置断点,使用单步调试(step into/step over)跟踪子类对象实例化(初始化)的执行顺序,并总结该过程。 2. 如何实现两个对象之间互发消息,请举例说明。 3. 谈谈组合与继承的区别以及两者的使用场景(即什么时候宜用组合?什么时候宜用继承?)。 4. Java中的运行时多态的含义是什么?有什么作用?请举例说明。 5. 使用接口改写例6.8中的程序。 6. 简述运算符instanceof的使用场景。...原创 2020-10-21 09:06:24 · 264 阅读 · 1 评论 -
Java第5章作业:面向对象(中)面向对象的特征
第一题:Java的访问控制修饰符有哪些?各有什么访问权限?请对照第7页ppt的表格分别写程序验证。Java中的访问控制符有public, protected, private以及默认四种。第7页的表格如下:表格中第一列表示类的属性或方法前面的修饰符,ABCD代表不同级别的类,如下图:从表格中可以看出,类前修饰符有两个,分别是public与缺省。若为缺省,则该类无法被包外的类所访问,仅可以被包中的类访问,若为public则可以被包外的类访问。下面用一个例子来展示类前修饰符为public时,不同包原创 2020-10-21 09:02:55 · 154 阅读 · 1 评论 -
Java第4章作业:面向对象(上)
第1题:对象与对象引用的区别是什么? 请举例说明第2题:对象作为参数传递的特点是什么?请举例说明第3题:对象初始化顺序是怎样的?请举例说明第4题:类的static字段与非static字段的区别是什么?什么情况应该使用static修饰符?请举例说明第5题:Java中final修饰符都有什么作用?请举例说明第6题:Java中float[10] arr; 语句正确么?为什么?第7题:Java数组元素类型为基本数据类型和引用类型时,有什么不同?请举例说明...原创 2020-10-17 09:07:50 · 194 阅读 · 0 评论 -
Java作业1-02:Java语言都有哪些特点?
Java语言的特点首先放一下Sun公司对Java的定义:A simple, object-oriented, distributed, interpreted, robust,secure, architecture-neutral, portable, high-performance, multi-threaded, and dynamic language。翻译:Java是一种具有“简单、面向对象、分布式、解释型、健壮、安全、与体系结构无关、可移植、高性能、多线程和动态执行”等特性的语言。原创 2020-09-23 12:59:07 · 292 阅读 · 0 评论 -
运行我的第一个Java程序:HelloWorld!
背景介绍:下面是我的第一个Java程序:public class HelloWorld{ public static void main(String[] args){ System.out.println("Hello World!"); }}在cmd下面运行时输入javac HelloWorld.java,没有报错,并且同目录下面也出现了HelloWorld.class文件,当运行java HelloWorld时,出现了报错:错误: 找不到或无法加载主类 He原创 2020-09-21 16:03:29 · 395 阅读 · 0 评论 -
Java作业1-01:谈谈你过去学习编程语言的方法、经验和教训
学过的编程语言因为我大学专业是生物信息学,学院安排了很多编程语言课,我们大一下学了C++编程语言与Linux操作系统的一些基本操作,大二上学了数据结构与算法(C++版),把大一下学的C++学习的更加深入了一些;大二下有生物统计这门课,所以就选修了R语言编程,在做项目中把R语言熟悉了一遍,大二下还选修了数据库原理这门课,学习了SQL语言;大三上选修了Python这门课,系统地学习了Python的语法与面向对象的思想以及自己实现一个类;大三下选修了“基于Linux的web开发”这门课,学习了HTML、C原创 2020-09-24 19:36:53 · 280 阅读 · 0 评论 -
Java作业1-03:Java跨平台实现的原理是什么?
两个概念Java虚拟机(JVM)。功能是连接Java程序与不同的操作系统,相当于一个接口,有了JVM,相同的Java程序就可以在不同的操作系统上运行了。字节码。是Java虚拟机采用的一种编码方式,类似于机器码,是为了解决不同的操作系统字节位数不一致的问题而产生的。Java程序的运行过程先由编译器编译为中间文件,再由解释器解释运行。编译过程。Java源代码(.java文件)经过编译器编译后,成为中间文件(后缀为.class),这个中间文件里面存储的就是字节码,是为了给虚拟机读取的。这一步是编译原创 2020-09-24 20:46:42 · 232 阅读 · 0 评论 -
Java作业1-04:JDK、JRE、JVM有哪些区别?
JVMJVM是Java虚拟机,用来解释由编译器编译Java源码得到的字节码文件(.class)。JREJRE全称是Java Runtime Environment,即Java运行时环境,顾名思义就是运行Java所需要的环境,由于Java引入了Java虚拟机(JVM)来实现编译一次、到处运行,所以JRE包含JVM。JDKJDK全称是Java Development Kit,翻译为Java开发工具箱,包含了JRE、编译器调试器以及一些基础的API类库。如果仅需要运行Java程序的话,只需要安装JRE原创 2020-09-24 21:02:18 · 95 阅读 · 0 评论 -
Java第2章作业:Java语言基础
这是Java第二次作业的第2题到第6题第2题:Java基本数据类型转换包含哪两类?请举例说明包含自动类型转换与强制类型转换两类。首先需要知道数据类型的优先级:byte, short, char, int, long, float, double低------------------------------------------->高自动类型转换指的是数据类型从低级转换为高级,如short类型的变量a与float类型的变量b进行运算,则需要先将a的数据类型提升为float,得到的结原创 2020-09-28 11:04:57 · 466 阅读 · 0 评论