![](https://img-blog.csdnimg.cn/20210103212226645.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java学习手记
主要以代码块的形式结合注释及讲解分享java的学习过程,希望可以帮助更多和我一样的java小白少走弯路
余晖qwq
使不可能变为可能!
展开
-
【Java 8的新特性】
Java8新特性原创 2023-10-13 09:55:14 · 566 阅读 · 0 评论 -
【在Java中如何判断元素是否在集合中】
在Java编程中,集合是非常常见的数据结构之一。在处理集合数据时,经常需要判断某个元素是否在集合中。本文将介绍在Java中如何判断元素是否在集合中,以及常用的方法和技巧。原创 2023-10-13 09:23:16 · 2366 阅读 · 0 评论 -
在java中实现double的四舍五入保留指定位小数
方式一:double f = 3.1516;BigDecimal b = new BigDecimal(f);double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); 输出结果f1为 3.15;源码解读: public BigDecimal setScale(int newScale, int roundingMode) //int newScale 为小数点后保留的位数, int roundingMode 为变量进原创 2021-11-19 19:21:49 · 822 阅读 · 0 评论 -
java中的Annotation注解一图流(附文字)
注解/注释/Annotation1.是一种引用数据类型,编译后生成xxx.class文件2.怎么自定义注解呢? 语法: [修饰符列表] @interface 注解类型名{ }3.注解怎么使用,用在什么地方? 第一:语法 @注解类型名 第二:注解可以出现在类上、属性上、方法上、变量上、注解上……4.jdk内置了哪些注解? @Deprecated 注释@Deprecated的程序元素是程序员不鼓励使用的程序元素,通常是因为它是危险的,或者因为存在更好的替代方法。 (已过时).原创 2021-04-26 18:42:34 · 178 阅读 · 1 评论 -
java中的反射机制Reflect
java中的反射机制Reflect1.获取一个类的字节码class的方法2.在获取了class之后我们可以做什么3.剖析Class.forName()发生了什么?4.※怎么通过反射机制访问一个java对象的属性?5.※怎么通过反射机制调用方法?6.通过反射机制访问构造方法创建对象7.获取一个类的父类和实现的接口1.反射机制有什么用呢? 通过java语言中的反射机制可以操作字节码文件 让程序更加灵活2.反射机制的相关类在哪一个包下? java.lang.reflect.*3.反射机制相关的类有哪些原创 2021-04-25 18:18:33 · 154 阅读 · 0 评论 -
java中的多线程Thread十九个实例带你轻松学会
Thread实例一:判断程序除垃圾回收外,有几个线程实例二:实现线程的第一种方式继承java.lang.Thread类实例三:实现线程的第二种方式实现java.lang.Runnable接口实例四:采用匿名内部类的方式实现线程实例五:获取当前线程对象及相关操作实例六:关于线程的sleep方法实例七:sleep相关面试题实例八:如何唤醒睡眠(sleep)中的线程实例九:强制终止一个线程实例十:合理的终止一个线程实例十一:关于线程优先级实例十二:线程的让位方法实例十三:线程合并实例十四:守护线程实例十五:实现线原创 2021-04-22 15:10:26 · 1141 阅读 · 0 评论 -
java中的IO流(超全)(超详解)结合实例轻松掌握
FileInputStream实例:package fileInputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;/* FileInputStream常用的方法 int available(); 返回流当中剩余的没有读到的字节数量 long skip(long n); 跳过几个字节不读 */public class.原创 2021-04-07 19:49:16 · 638 阅读 · 7 评论 -
Eclipse与IDEA中如何正确的放置需要读取的文件来成功使用相对路径(java)
相信大家在学习java的IO流的时候,一定会学习到相对路径的使用方法,本文章可以让我们在使用Eclipse和IDEA时,正确的放置需要读取的文件从而实现关于相对路径的代码。当我们使用CMD编译和运行时只需要把java代码和需要读取的文件放到同一目录下即可使用相对路径读取文件。可是当我使用Eclipse和IDEA时,却发现绝对路径可以找到该文件,相对路径却无法找到该文件,在我上网翻阅查询后,却没有人给出一个中肯的答案,于是我开始自己动手操作,在经过多次试验之后,我发现需要把读取的文件放到需要读取文件的该工原创 2021-04-07 14:51:24 · 920 阅读 · 3 评论 -
java中类和类之间的关系
java中类和类之间的关系一、关联关系二、泛化关系:继承与实现三、聚合关系四、组合关系五、依赖关系六、is-a,is-like-a,has-a是什么一、关联关系单向关联:从一个类中可以访问另一个类的成员,有这个类的引用。双向关联:两个类可以互相访问,互相有引用。自身关联:本类中调用自身self or this.多维关联:多个类互相之间有单向关联也有双向关联,还可以有自身关联,多个维度的关联。一对多关联:一个类有多个类的引用。多对多关联:多个类互相之间有单向关联也有双向关联。当一个原创 2021-03-27 16:06:28 · 1143 阅读 · 0 评论 -
java中的集合继承结构图文详解
1.集合继承结构图-CollectionInterface IterableInterface iteratorIterator iterator()返回类型为 T元素的迭代器。结果一个迭代器Class ArrayList可调整大小的数组的实现List接口。 实现所有可选列表操作,并允许所有元素,包括null 。 除了实现List 接口之外,该类还提供了一些方法来操纵内部使用的存储列表的数组的大小。Class LinkedList双链表实现了List和Deque接口。 实现所有可选列表操原创 2021-03-26 18:39:00 · 2204 阅读 · 1 评论 -
java面向对象的三大特征之多态
首先我们定义一个动物类该类只有一个“move”的方法package polymorphism;public class Animal { public void move() { System.out.println("动物在移动!"); }}其次我们定义一个小鸟类该类继承动物类,并且重写“move”方法package polymorphism;public class Bird extends Animal{ public void move() { System.o原创 2021-03-26 18:36:36 · 171 阅读 · 2 评论 -
java面向对象的三大特征之封装
面向对象的三大特征*封装性*继承性*多态性封装性 1.对于事物来说,看不到复杂的一面,只能看到简单的一面。复杂性封装, 对外提供简单的操作入口。例如照相机的实现原理非常复杂,对于使用者来 说却非常的方便简单 2.封装之后才会形成真正的对象,真正的独立体 3.封装就意味着以后的程序可以重复使用,并且这个事物应该适应性强,在 任何场合都可以使用 4.封装之后,对于事物本身,提高了安全性 封装的步骤 1.所有属性私有化,使用private关键字进行修饰,private表示私有的, 修原创 2021-03-26 18:22:07 · 105 阅读 · 0 评论 -
java面向对象的三大特征之继承
面向对象的三大特征*封装性*继承性*多态性1.继承的作用 代码复用【基本】 有了继承才有了方法的覆盖和多态【重要】 2.继承的语法格式 [修饰符列表] class 类名 extends 父类名{ 类体(属性+方法); } 3.java语言的继承只支持单继承,一个类不能同时继承很多类,只能继承一个类4.关于继承中的术语: B类继承A类,其中 A类称为:父类、基类、超类、supperclass B类称为:子类、派生类、subclass 5.在java语言中子类继承原创 2021-03-26 18:16:55 · 97 阅读 · 0 评论 -
java中输出五个不重复的随机数
如何在java中输出5个不重复的随机数呢?我的想法是创建一个数组来存放这些随机数,使用第一个循环来按序存放随机数,一次存放一个;使用第二个循环把这次存放的随机数和之前存放的每一个数字作比较,相同则从新给出一个随机数再重新挨个比较,直到循环结束,得到五个不重复的随机数。package number;import java.util.Random;/* 生成随机数 int nextInt(int n);返回一个伪随机数,它是取自此随机数生成序列的,在0(包括)和指定值(不包括)之间均匀分布的in原创 2021-03-16 19:39:16 · 3073 阅读 · 9 评论 -
java中的包机制详解结合代码简单易懂
1.关于java语言中的包机制package com.day09.text01;/** 关于java语言中的包机制: 1.包又称为package,java中引入package这种语法机制主要是为了方便程序的管理。 不同功能的类被分门别类到不同的软件包当中去查找管理较方便,易维护。 2.怎么定义package呢? -在java源程序的第一行编写package语句。 -package只能编写一个语句。 -语法结构: package 包名; 3.包原创 2021-03-08 20:15:34 · 175 阅读 · 0 评论 -
java中的super结合代码简单易懂
package text;/** 1.super不是引用类型,super中储存的不是内存地址,super指向的不是父类型对象 2.super代表的是当前子类对象中的父类型特征 3.super什么时候使用? 子类和父类中都有某个数据,例如,子类和父类都有name这个属性 如果要在子类中访问父类中的name属性,需要使用super 4.super可以用在什么地方? (1)super可以用在成员方法中 (2)super可以用在构造方法中 语法:super(实参);【只能原创 2021-03-08 20:10:36 · 278 阅读 · 0 评论 -
java中的抽象类结合代码简单易上手
1.抽象类详解package text;/** 1.如何定义抽象类? class关键字前加abstract 2.抽象类无法被实例化 3.虽然抽象类没有办法实例化,但是抽象类也有构造方法,该构造方法是给子类创建对象用的 4.抽象类中可以定义抽象方法 抽象方法的语法:在方法的修饰符列表中添加abstract关键字,并且抽象方法应该以“;”结束,不能带有“{}” 例如:public abstract void m1(); 5.抽象类中不一定有抽象方法,但抽象方法必须出现原创 2021-03-08 20:09:11 · 182 阅读 · 0 评论 -
java中接口的使用简单易懂
java中神奇的接口1.什么是接口2.通过简单的例子来说明接口的作用1.什么是接口package use;/** 接口也是一种引用类型,可以等同看做类 1.如何定义接口,语法: [修饰符] interface 接口名{} 2.接口中只能出现:常量、抽象方法 3.接口其实是一个特殊的抽象类,特殊接口是完全抽象的 4.接口中没有构造方法,接口也无法被实例化 5.接口和接口之间可以多继承 6.一个类可以实现多个接口 7.一个非抽象的类实原创 2021-03-08 20:07:03 · 522 阅读 · 0 评论 -
java中的内部类
java中的内部类1.静态内部类和成员内部类2.局部内部类1.静态内部类和成员内部类package outerClass;/** 关于静态内部类 1.静态内部类可以等同看作静态变量 内部类重要的作用:可以访问外部类中私有的数据 2.静态内部类可以直接访问外部类的静态数据,无法直接访问成员 关于成员内部类 1.成员内部类可以等同看作成员变量 */public class Text { //静态变量 private static String s1 = "A";原创 2021-03-08 20:02:32 · 75 阅读 · 0 评论 -
java中的String超详解结合代码简单易懂
String超详解1.String是什么?2.程序创建字符串对象的区别3.使用String时我们应该注意的问题4.关于字符串常用构造方法5.字符串中常用的方法6.StringBuffer和StringBuilder1.String是什么?package string;/* java.lang.String;是字符串类型。 1.字符串一旦创建不可修改 “abc”字符串对象一旦创建不可能改变为“abcd” 2.提升字符串访问效率:在程序中使用缓存技术。所以在java中所有使用“”括起来的字符串都原创 2021-03-08 19:56:49 · 135 阅读 · 0 评论 -
java中的方法重载与重写(方法覆盖)
1.方法重载(overload):/* 方法重载(overload): 1.功能相似的时候尽可能使用方法重载,不同的时候尽量不使用 2.只有满足【在同一个类当中】【方法名相同】【参数列表(数量)(顺序)(类型)不同】才构成方法重载 3.方法重载和【方法名】【参数列表】有关系,和【修饰符列表】【返回值类型】无关 */public class Overload { public static void main(String[] args) { } //构成方法重载 p原创 2021-03-03 19:26:44 · 207 阅读 · 1 评论 -
java中的方法到底是什么?该怎么使用?方法的内存是怎样使用的?详解
//(1)方法的本质及定义/* 1.方法的本质: 方法就是一段代码片段,并且这段代码可以完成某个特定的功能,并且可以被重复的使用。 2.方法的定义: [修饰符列表] 返回值类型 方法名(形式参数列表){ 方法体; } 2.1、关于修饰符列表 *可选项,非必须 *目前统一为:public static【以后讲】 *方法的修饰符列表中有static关键字的话,怎么调用 -类名.方法名(实际参数列表); -引用.方法名(原创 2021-03-03 19:17:43 · 122 阅读 · 0 评论 -
关于简单排序中的选择排序为什么采用数组下标进行比较而不是数组元素进行比较的详解
**选择排序(Selection sort)**是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。今天在复习简单排序的时候想用数组元素直接进行比较来置换元素,却无法解决问题,反复检查几遍以后发现了问题所在,请大家先过目我写的代码。public class SelectSort {原创 2021-03-03 19:11:10 · 476 阅读 · 1 评论 -
使用迭代和递归分别实现java中的二分查找
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。本篇代码分别采用了两种方法来实现二分查找,方法arr1是迭代,方法arr2是递归。数组内容可以随意更改,但必须由小到大排列。public class BinaryTest { public static int compare(int low,int high,int length) { if (low >= 0 &&原创 2021-03-03 18:35:57 · 183 阅读 · 1 评论 -
java异常结构图解
java异常继承结构图解原创 2020-10-12 14:59:35 · 325 阅读 · 3 评论 -
java中的二维数组
java中的二维数组1.二维数组的特点2.二维数组的动态初始化1.二维数组的特点package array2;/* 二维数组特点: 1.二维数组是一个特殊的一维数组 2.这个特殊的一维数组中每一个元素都是一维数组 */public class Test01 { public static void main(String[] args) { // TODO Auto-generated method stub //静态初始化二维数组 int[][] a = {原创 2021-01-03 21:18:24 · 411 阅读 · 0 评论 -
java中的一维数组
java中的一维数组@目录1. 数组的含义package array1;/* 数组: 1.数组是一种引用类型 2.数组是一种简单的数据结构,线性的结构 3.数组是一个容器,可以用来存储其他元素 4.数组是可以存储任意数据类型的元素 5.数组可以分为:一维数组,二维数组,三维数组,多维数组 6.数组中存储的元素类型是统一的 7.数组长度不可改变,数组一旦创建,长度是固定不变的 8.数组优点:查找效率高;缺点:随意增删元素效率低 */public class Tes原创 2021-01-03 21:15:21 · 232 阅读 · 0 评论