自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 Java:双列集合HashMap与LinkedHashMap

与set去重复方法相同,在定义类中重写hashcode()与equals()

2024-09-21 14:21:53 436

原创 Java:泛型

如果我们在定义类,方法,接口时,如果类型不确定,我们可以定义带有泛型的类,方法,接口。

2024-09-14 23:02:15 268

原创 Java:Collections集合工具类

/static void sort(List list) 将集合中元素按默认规则排序->ASCLL码表,适用于字符串。//static void sort(List list,Compartor)将集合中元素按照制定规则排序。//static void shuffle(List list) 将集合中元素打乱。对于sort方法,只穿集合,按照ASCLL码表规则进行排序,适用于集合中元素都是字符串。重写视若为o1-o2升序,o2-o1降序。对于compare()方法。

2024-09-11 21:29:52 213

原创 Java集合接口List

/E set(int index,E e) 将指定索引位置的元素修改为传参中的e元素,返回被修改的元素 //E get(int index) 根据索引获取元素。//E remove(int index) 按索引删除元素,并返回元素值。//bollen add(E e) 添加元素到尾部 ////void addLast(E e) 将指定元素添加到集合的结尾。//void addFirst(E e) 将指定元素插入集合的开头。

2024-09-11 19:57:49 684

原创 Java集合

集合存在一个实际操作次数,而迭代器存在一个预期操作次数,当实际操作次数与预期操作次数不相等时会抛一个并发修改异常ConcurrentModificationException。当迭代器初始化时,实际操作次数会被赋值给预期操作次数,之后对集合中元素增删,是实际操作次数改变,二者不相等。hasNext()与Next()是通过两个索引:当前元素索引 int。hasNext()通过判断cursor与集合长度比较判断是否有下一个元素。遍历集合取元素,利用Iterator接口。,初始值为0,上一个元素索引 int。

2024-09-10 16:44:49 264

原创 Java:System类与Arrays数组工具类使用

static String toString(int[ ] a) 按照格式打印字符串[元素1,元素2,.......]static int[ ] copyof(int[] original,int newLength) 数组扩容。static int binarySearch(int[ ] a,int key) 二分查找索引值。static void sort(int[ ] a) 升序排序。构造私有,方法静态,类名直接调用。

2024-09-08 14:15:46 207

原创 Java:日期类2

TemporalAccessor是Temporal的父接口,而LocalDate,LocalDateTime的都是Temporal的实现类,所以也是TempoaralAccessor的实现类。Temporal是一个接口,LocalDate和LocalDateTime都是Temporal的实现类,但我们传参传LocalDateTime对象,因为计算精确时间偏差。主要计算时分秒,相对精确,不同于Period类的直接相减,Durtion类计算的是实际的差值。int getDayOfMonth() 获取日。

2024-09-07 17:33:56 762

原创 Java:日期相关类

void add(int field,int amount) 根据日立的规则,给指定日历字段添加或减去指定的时间量。public date(long time) 传递毫秒值,获取指定时间,从时间原点算起。DAY_OF_WEEK:一周中的天数(例如,在美国,周日是1,周一是2,依此类推,周六是7)时间原点:格林威治时间1970年1月1日,0时0分0秒,这是UNIX系统的起始时间。MONTH:月份(注意:月份是从0开始的,所以0代表1月,11代表12月)

2024-09-05 22:13:35 382

原创 Java:数学相关类

有时需要处理一些较大的数据,这些数据甚至超出了long的范围,这时我们使用BigInteager类对象处理数据,再转为long或int。上面的除法方式比较过时,可以传第三个参数时传RoundingMode枚举的属性,而不是BigDecimal的属性。(double val) 此方法初始化时可传入double数据,静态方法,类名直接调用。(BigDecimal val) 加法,返回BigDecimal。,用于数学计算,构造方法是私有的,方法都是静态的,因此直接类名调用。

2024-09-05 14:35:17 626

原创 Java:StringBuilder字符串拼接

String拼接字符串每拼接一次都会创建新对象,开辟新的空间,占用内存,效率较低StringBuilder底层自带一个缓冲区(没有被final修饰byte数组)拼接字符串后都会在此缓冲区中进行保存,在拼接过程中不会随意产生新对象(不超默认长度),节省内存缓冲区默认数组长度为16个字节超出数组长度会进行扩容,创建一个新长度的新数组,将老数组元素复制到新数组中,人后将新数组地址值赋值给老数组每次扩容老数组的2倍+2,如果穿的长度超出2倍+2,就按照实际数据个数为准。

2024-09-04 20:53:49 221

原创 Java:String类

String是数据类型,s是对象名,"abc"是对象。

2024-09-03 14:20:59 307

原创 经典接口Comparable与Comparator

getAge()为Object子类Student类的特有方法,o这里是多态不能调用,向下强制转型。Comparator接口中有一compare方法,传两个参数进行比较,通过实现Comparable接口,重写compareTo()方法。通过compareTo方法返回值与0的关系判断大小。除此之外,操作方法与Comparable操作相同。如果像上面应用场景,两个参数都要强制类型转换。

2024-09-03 10:11:53 147

原创 Java:object类(常见类)

所有的类都直接或间接继承了object类。

2024-09-02 22:26:32 174

原创 Java异常

创建异常类,继承Exception类或RunTimeException类表明为异常//设置已存在的登录名//输入用户名System.out.println("请输入登录名");//判断用户是否存在System.out.println("登陆成功");}else{//创建自定义异常对象,在自定义异常类中创建有参构造获取输入的异常信息throw new LoginUserException("登陆失败了");创建自定义异常,创建有参构造获取输入的异常信息//创建有参构造,获取错误信息。

2024-09-01 21:18:59 544

原创 java匿名内部类

如果要单纯使用一次接口或抽象类中的方法,我们就要使用到匿名内部类。return new 接口或抽象类(){抽象类/接口 对象名 = new 抽象类/接口(){public 接口名或抽象类 方法名(){方法(new 接口/抽象类(){new 接口名/抽象类{

2024-08-22 17:47:00 170

原创 Java内部类

所以我们在他所在的方法中new,并且调用,在其他类中只需new外部类,调用外部类的成员方法进行使用。外部类.内部类 对象名 = new 外部类().new 内部类();接口作为参数传递,传递的是实现类对象;接口作为返回值,返回的是实现类对象。抽象类作为参数传递,传递的是子类对象;A.B 对象名 = new A.B();new 内部类.内容;class 内部类{对于局部内部类而言,我们在其他类中不能直接new对象。class 内部类{public class 外部类{class 外部类{

2024-08-22 15:11:21 215

原创 Java权限修饰符与final关键字

对象的地址值不再改变(不能被二次赋值),但是对象中的属性值可以改变。final 数据类型 对象名 = new 数据类型();不同包子父类仅public,protected可访问。因此final与abstract不能一起使用修饰方法。final修饰成员变量,必须初始化并且不能二次赋值。修饰符 final 返回值类型 方法名();final修饰局部变量,不能被二次赋值。final修饰方法,方法不可被重写。成员方法用public,方便调用。final修饰类,该类不可被继承。构造用public,方便new。

2024-08-17 15:06:56 177

原创 Java接口

publicinterface(){} 创建接口implements接口名 实现类。

2024-08-16 22:08:04 241

原创 git学习

Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改!Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件。

2024-08-14 18:07:01 502

原创 Java面向对象:instanceof, 类的强制类型转换,static关键字

在我们使用多态时,创建的对象引用类型为父类,无法调用子类特有的方法,此时,我们通过强制类型转换将引用类型转换为子类,而instanceof关键字可用于判断能否强制类型转换。如果一个类中的方法全都是使用 static 声明的静态方法,我们就可以通过import static的方式进行导入,这种导包方式就叫做静态导入。静态代码块不能直接访问非静态成员(实例变量、实例方法),但可以访问静态成员(静态变量、静态方法)。静态代码块是 Java 类在加载过程中执行的一段代码,静态代码块在类第一次被加载时执行,并且。

2024-08-10 09:43:27 685

原创 Java面向对象2

如果父类仅有有参构造,那么子类的构造器将会报错,因为父类仅写有参构造,隐藏的无参构造不存在,那么子类构造器对父类无参构造super()的默认调用出错。s1可以执行的方法是自己的方法或继承父类的方法;s2可以执行的方法是父类Person的方法,以及子类重写的方法,不能调用子类独有的方法。一个对象的实际类型是确定的,可以指向的引用类型为父类(因此所有对象的引用类型都可以为object)对于类的属性,在类属性前加private关键字,定义该属性为私有属性。父类的功能,子类不需要,或不能满足子类的需要。

2024-08-07 15:49:07 680

原创 Java面向对象编程1

面向对象的本质就是以类的方式组织代码,以对象的方式封装数据。

2024-08-02 21:21:14 246

原创 Java方法加深:static与引用传递

非静态方法调用时需要创建一个对象,语法为 类名 对象名 = new 类名()对于非静态方法的调用,需要在创建实例对象后使用。对于方法的传参方法,除值传递外,还有引用传递。有static关键字,如main方法。因此两个非静态方法可以互相直接调用。调用语法 对象名.方法名()而静态方法不能直接调用非静态方法。对于静态方法的调用,可直接调用。引用传递本质上仍是值传递。以Scanner类为例。无static关键字。引用传递的形参为对象。

2024-08-01 20:49:26 138

原创 Java数组做参数与返回值

Java中数组可作方法返回值与传入参数。

2024-07-24 15:51:14 77

原创 java数组

就像上面代码只对a[0],a[1]赋值,则此时a[2],a[3],a[4],a[5],a[6],a[7],a[7],a[8],a[9]的值均为0。数组是引用类型,他的元素相当于类的实例变量,因此一经已经分配空间,其中的每个元素也按照实例变量同样的方式被隐式初始化。数组长度是确定的不可变的,如果越界,则报错:ArrayIndexOutofBoundsException。是指在创建数组是就对该数组中元素进行赋值,写几个元素就会在堆中开辟多少的空间。大括号中有0到9十个数,就开辟了十个int类型的空间。

2024-07-24 15:08:22 298

原创 Java中如何接受输入的单个字符

在java.util.Scanner类中有next(),nextLine(),nextInt( ),nextLong( )等获取各种类型输入的方法。next()方法读取输入的下一个完整标记,然后你可以通过charAt(0)获取这个字符串的第一个字符。我们可以使用 next( ).charAt(0)方法 来获取输入的单个字符。但并没有nextChar( )方法来获取输入的单个字符。

2024-07-22 23:18:39 482

原创 Java方法中的可变参数

以下面这段代码为例。

2024-07-21 00:16:08 292

原创 Java中方法的重载

Java中允许存在名字相同的方法,但这些相同名字的方法的参数表不同。参数表不同有形参数目不同,形参类型不同等等,而在调用方法时会根据传参来确定调用的方法。方法的重载使得代码在阅读使用方面更加方便。而如果只有参数名不同,则不构成方法的重载。

2024-07-20 23:20:09 171

原创 增强for循环

它的基本语法为 for(元素数据类型 元素名:数组名) { 循环体 }。注意循环元素的数据类型与数储存的元素数据类型相同。增强for循环是一种较为方便的遍历数组的方法。

2024-07-20 22:58:43 253

原创 Scanner工具类简单学习

java提供的工具类java.util.Scanner,与C语言中的头文件stdio.h类似不同的是,Scanner只用于接受用户的输入信息。

2024-07-18 13:26:37 453 1

原创 JAVA基础语法

/定义一个类变量//定义一// 定义两个实例变量int age;//定义一个局部变量int i=10;//局部变量//实例变量//类变量。

2024-07-16 16:55:30 906

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除