![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java学习
学习Java过程中的笔记记录
meng_hc
不积跬步无以至千里,不积小流无以成江海。
展开
-
利用TreeSet实现Comparable、Comparator的两种排序方式(自然排序、定制排序)----使用泛型之后的改进
今天看了看 泛型的使用(基于集合),对于之前的题目,进行一下技术更新,实现:在使用泛型的基础上的、利用TreeSet结构、实现Comparable、Comparator的两种排序方式(自然排序、定制排序)的 存储对象到集合中的操作。具体如下:题目:创建5个employee的对象,并把这些对象放入treeset集合中* 分别按照以下两种方式对接中的元素进行排序:1)使employee实现comparable接口,并按照排序(先创建treeset,并且使用add()加入元素,另外再写一个compar原创 2021-04-26 18:51:45 · 483 阅读 · 0 评论 -
利用TreeSet实现Comparable、Comparator的两种排序方式(自然排序、定制排序)
最近在看Javase中集合的相关内容,其中TreeSet作为Set接口的实现类之一,采用的存储结构是:红黑树。要求为:1)向TreeSet中添加的属性,要求是相同类的对象;2)在每次通过add()向树中插入元素时,需要先通过 比较(comparato()或者compare()),确保树种不插入相同的元素;这里与Set接口的其他实现类不同,因为Set存储的数据:无序、不可重复,所以在调用add()进行插入操作时,是一定要进行大小的比较的,只不过Set接口的其他两个实现类HashSet、LinkedHas原创 2021-04-24 10:08:26 · 516 阅读 · 0 评论 -
Long valueOf(String s, int radix)、Long valueOf(String s)区别于用法
Long valueOf(String s,int radix) 与 Long valueOf(String s)这两个重载方法,是包装类Long 中的两个static 静态方法,基本的功能都是将参数String s 转换为对应的long型数(实际上是直接转换为Long 类型的数,然后因为自动拆箱的存在,可以直接当做long型数据来使用)。具体的使用细则如下:(1)valueOf(String s,int radix)中文版的API中是下面这么说明的:即:public static Lon原创 2021-04-17 09:56:17 · 848 阅读 · 0 评论 -
java如何解决线程安全的问题,有几种方式?并对比几种方式的异同
总述:java利用线程的同步,来解决线程安全问题。主要的方式为两种:sychronized方式,和lock方式。其中synchronized方式,包含同步同步代码块 和 同步方法。synchronized方式包含 同步代码块 (包住操作共享数据的代码)和 同步方法(方法体是操作共享数据的代码块),两个方面:(1)不同:同步监视器:<1>同步代码块:需要显式地声明同步监视器,原则上,任何一个类的对象都可以作为同步监视器,只要满足“多个线程必须共用同一把锁”,即可。简单地(不再另外实原创 2021-04-15 16:06:50 · 757 阅读 · 1 评论 -
开发团队调度系统----java基础知识运用
最近这几天都在跟着做 “开发团队调度系统” 的项目,对面向对象的编程思想有了更加深入的理解,收获很多。这个系统的主要任务是:从已经给定的公司员工的列表中,选择一定数目(设定的是5人)的员工,加入到 软件开发团队中。其中,公司的员工股分为不同的种类:employee(普通员工)、programmer(程序员)、designer(设计师)、architect(架构师)。对于要加入 软件开发团队 中的人,除了总人数设置的有限制之外,还要求:最多有3个程序员(programmer),最多有2个设计师(desi原创 2021-04-07 22:47:55 · 407 阅读 · 0 评论 -
多态性以及方法的重写(equals()、toString())
今天主要对多态性的内容进行了复习以及练习,并对object类中常用的equals()、toString()方法的重写进行了学习。具体的总结通过一个练习代码来展现:1、GeometricObject类(父类)public class GeometricObject { protected String color; protected double weight; public GeometricObject() { super(); color = "white";原创 2021-03-25 21:54:45 · 257 阅读 · 0 评论 -
简单的银行账户管理--------继承性、super、方法重写的实际应用
今天主要学习的内容是:继承性以及super关键字的应用,并且根据题目要求写了两个简单的类来运用继承性。主要的功能是:实现银行账户的余额查询、月利率查询、取钱(包括了信用卡的透支功能)、以及存钱操作。具体的代码如下:1、Account类:public class Account { private int id;//账户 private double balance;//余额 private double annuallnterestRate;//年利率 //构造器 public Acco原创 2021-03-24 16:58:21 · 156 阅读 · 0 评论 -
客户信息管理系统----Java实现(以对象数组为主)
这两天除了上课时间之外,一直在看一个“客户信息管理系统”,一套代码敲下来,收获颇丰,下面对这个小的项目(或者说是案例,)进行一个总结吧!具体的解释以及思路,我写在了代码中间,以注释的形式来表现。要实现的功能编写一个客户信息管理系统,实现对于客户基本信息的“增、删、查、改”的操作。虽然看起来功能都不算难,但是编程的过程中,着实不易。主要将功能封装在4个类中:CustomerView:作为主模块,负责菜单的显示和处理用户操作CustomerList作为Customer对象的管理模块,内部用数组原创 2021-03-18 21:32:20 · 1101 阅读 · 0 评论 -
继承性----OOP(面向对象)的三大特性之二
今天学习了面向对象的第二大特征----继承性。下面进行总结:1、一旦子类继承了父类以后,那么子类就获取了父类 所有的 属性和方法。*私有的属性也是继承到了,只是由于封装性的影响,不可以直接调用;方法也是一样的道理;构造器的话,还可以用,但是不可以理解为把父类的构造器粘贴到子类处,因为构造器要与类同名–*特别的,父类中声明为private的属性或方法,子类继承父类后,仍然认为获取了父类中私有的结构;只是由于封装性搞得影响,使得子类不能直接调用父类的结构而已。*封装性解决的是结构的可见性的问题,原创 2021-03-17 19:42:55 · 146 阅读 · 0 评论 -
构造器------以封装性结合,计算三角形面积为例
今天主要学习构造器的相关内容,下面做一下总结:构造器的作用:1、创建对象:例如:Person p = new Person();其中,Person(),就是对构造器的一个调用2、初始化对象的信息(通常是初始化属性)说明:1、如果没有显式地定义类的构造器的话,则系统默认提供一个空参的构造器。2、构造器定义的格式权限修饰符 构造器名(形参列表){}注:构造器名其实,也可以说是类名,因为构造器与类同名3、可以定义多个构造器---->在一个类中定义的多个构造器也构成“重载”。4原创 2021-03-16 23:13:48 · 127 阅读 · 0 评论 -
封装性----面向对象三大特性之一
今天重温封装性,在原来比较较混乱的理解上有了更加深层次的认识。主要是通过一个代码举例来表现的,具体如下:/* * 面向对象一:封装与隐藏 */public class PrivateTest { public static void main(String[] args) { //实例化Animal Animal a = new Animal(); //调用Animal的属性 a.name = "大黄"; a.age = 1; /* * 但实际问题限制:leg原创 2021-03-15 23:39:06 · 178 阅读 · 0 评论 -
java中常用的数组工具类
在java编程中,有一些针对数组的操作需要经常使用,但是系统又不提供现成的让用户可以直接调用。所以,总是需要用户进行手写。在这里,对于java编程中经常用到的一些数组操作,进行了总结,并封装进一个自定义数组工具类中:主要包含的操作有:求数组元素的最大值、最小值、和、平均值反转数组对数组进行排序(冒泡排序)遍历数组在数组中查找指定元素(线性查找)具体的代码实现如下:/* * 自定义数组的工具类 * */public class ArrayUtil { // 求数组的最大值原创 2021-03-14 20:28:36 · 614 阅读 · 0 评论 -
对象数组----面向对象编程
今天学习的过程中遇到了一道数组题,但由于这个数组的元素比较特别,是用户自定义的一个类,就形成了一个比较典型的“对象数组”问题。在这里记录一下!题目大意:StudentMessage类包含3个属性:学号number、年级state、成绩score创建20个学生对象,学号为1到20,年级和成绩都有随机数确定①打印出3年级的学生信息②使用冒泡排序按学生成绩排序,并遍历所有的学生信息注意:生成随机数:Math.rando(),返回类型为double四舍五入取整:Math.round(double原创 2021-03-14 12:52:14 · 176 阅读 · 3 评论 -
一些常用的命令行操作
关于一些常用的命令行操作作为一个计算机专业的学生,掌握一些常用的DOS命令,十分必要,具体如下:换盘符,例如转到D盘----d:罗列出当前目录下的文件以及文件夹----dir创建文件夹----md 文件夹名称进入指定目录----cd 文件夹名称,或者cd 盘符 文件夹名称退回到上一级目录----cd…退回到根目录(盘符)----cd\ 或者 cd/创建一个文件----echo 文件的内容删除文件----del 文件名删除一类文件----del *文件后缀 (例如:del *text-原创 2021-03-05 15:49:06 · 328 阅读 · 0 评论 -
java的注释----JavaSE基础学习
java中的注释Java中的注释(comment)主要包括3种:单行注释: //多行注释: /*内容/文档注释: 举例为/*@author 英文名字@version v1.0所要说的内容*/区分:单行注释、多行注释,不参与编译,即生成的.class字节码文件不包含注释的信息。文档注释的内容可以被JDK提供的工具javadoc所解释,生成一套以网页文件形式体现的该程序的文档说明。文档注释用javadoc解析的方式为:javadoc -d 要生成的文件夹名字 -a原创 2020-09-21 22:30:33 · 120 阅读 · 0 评论 -
关于使用editplus文本编辑器,实现Java程序的编辑、编译和运行
使用editplus文本编辑器同notepad++一样,editplus也是一样使用非常普遍的文本编辑器。对于基本的Java程序,可以选择在editplus中进行编写,并且通过“配置用户工具”,实现在editplus中对Java程序的编译、运行。具体操作如下:先下载editplus软件(很简单,就不再叙述了)。之后打开editplus,点击:工具---->配置用户工具---->见下图然后选择右侧的"添加工具"---->应用程序,然后会成功新建一个工具项。一共完成两个工具项的添加,并原创 2020-09-21 18:38:16 · 343 阅读 · 1 评论 -
利用txt文档编译器实现Java程序的编写运行----JavaSE学习
用文档编译器txt实现Java程序的编写运行1、先创建一个txt文档,先将扩展名改为.java。在里边编写一个简单的Java代码,例如HelloWord,然后将文档命名为HelloWord。(注意:文件名要用英文)这个编写的Java文档是源文件。注意:win10 环境下默认的是将文件扩展名隐藏,在这种情况下,应该将文件的扩展名显示出来,再设置为以.java作为扩展名的文件。显示文件扩展名的方法是:点击该文档所在页面的最上方“查看”项,然后点击“选项”,点击“查看”,选择“高级设置”中的“隐藏已知文件类原创 2020-09-20 22:45:57 · 2605 阅读 · 0 评论 -
JDK的安装及环境变量的配置----JavaSE学习第三天(补写)
实现JDK的安装以及环境变量的准确配置说来遗憾,要一直坚持每天写文章记录JavaSE的学习进度,但奈何昨天的网不太给力,导致JDK安装包一直没有下载完成(因为一起的安装包比较多,网十分不给力,下载了一晚上)。所以,今天终于可以实际操作,实现自己配置环境变量了。以后自力更生,自己可以搞定,不用简单的装个需要配置变量的软件就要麻烦同学了!!!激动JDK的下载安装JDK的下载过程并不复杂,只是在下载安装的过程中,有一些问题需要注意,我罗列在下面:1、安装路径的设置如果有多个盘的话,建议不要安装在C盘。原创 2020-09-20 21:14:45 · 159 阅读 · 1 评论 -
Java语言概述----JavaSE学习第2天
软件开发基础知识1、软件开发介绍软件:一系列按照特定顺序组织的计算机数据和指令集合(1)人机交互方式:图形化界面(GUI)----现在主要使用;命令行方式(CLI)----要有一个控制台,输入特定的指令。(2)常用的“命令行”语句:调出命令行窗口:在“开始键”处,输入cmd换盘符:d:(假如换到D盘)列出当前目录下的文件以及文件夹:dir创建文件夹:md----make dictionary进入文件夹:cd{可以是一层一层进,cd java 换行 cd class1 换行 cd原创 2020-09-18 22:54:32 · 170 阅读 · 0 评论 -
编程入门----简单的计算机硬件知识总结
简单的计算机硬件知识总结原创 2020-09-17 23:52:20 · 503 阅读 · 0 评论