
Java基础
文章平均质量分 81
想要代码写的好,基础绝对不能倒!!!
ABin-阿斌
写一生代码,创一世佳话,筑一览芳华。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
优雅地使用:Java 中的 String.format
是 Java 中的一个静态方法,用于创建格式化的字符串。它类似于 C 语言中的printf函数,允许使用格式说明符来格式化字符串。方法非常灵活,可以处理多种数据类型和格式化需求。方法在 Java 中非常有用,可以通过格式说明符来灵活地创建格式化的字符串。它适用于多种数据类型和格式化需求,能够显著提高代码的可读性和可维护性。在日常编程中,熟练使用方法将使得格式化输出更加简洁和高效。原创 2024-08-04 22:07:25 · 573 阅读 · 0 评论 -
Java基础:笔试题
使用两层循环必定可以解决这个问题,但是因为是两个数据求和,在集合有序的情况下使用一次循环就可以解决这个问题。答案:goodandgbc。原创 2023-03-17 20:55:06 · 3002 阅读 · 2 评论 -
Java基础:Java基础之三大特性
我是 ABin-阿斌:写一生代码,创一世佳话,筑一览芳华。如果小伙伴们觉得不错就一键三连吧~原创 2023-01-29 17:10:15 · 147 阅读 · 0 评论 -
Java基础:使用 Optional 优雅地解决判空问题
相信不少小伙伴已经被 java 的 NPE(Null Pointer Exception) 所谓的空指针异常搞的头昏脑涨,有大佬说过“防止 NPE,是程序员的基本修养。但是修养归修养,也是我们程序员最头疼的问题之一,那么我们今天就要尽可能的利用 Java8 的新特性 Optional 来尽量简化代码同时高效处理 NPE(Null Pointer Exception 空指针异常)原创 2022-12-18 23:24:05 · 646 阅读 · 0 评论 -
Java基础:String 类中 substring() 方法的灵活运用
声明:原作者:CSDN:https://sars2025.blog.csdn.net/?type=blog原文链接:https://blog.csdn.net/m0_47384542/article/details/124486298。转载 2022-10-17 23:15:40 · 296 阅读 · 0 评论 -
CopyOnWriteArrayList 的具体介绍
在很多应用场景中,读操作可能会远远大于写操作。由于读操作根本不会修改原有的数据,因此如果每次读取都进行加锁操作,其实是一种资源浪费。我们应该允许多个线程同时访问 List 的内部数据,毕竟读操作是线程安全的。这和 读写锁的思想非常类似,也就是 读读共享、写写互斥、读写互斥、写读互斥。JDK中提供了 类,相比于在读写锁的思想又更进一步。为了将读取的性能发挥到极致, 读取是完全不用加锁的,并且更厉害的是:写入也不会阻塞读取操作,只有写入和写入之间需要进行同步等待,读操作的性能得到大幅度提升。 类的所有可变操原创 2022-06-13 11:52:37 · 552 阅读 · 0 评论 -
Java基础:详细说说你对序列化的理解
凡事都要问为什么,在讲解序列化概念和原理前,我们先来了解一下为什么需要序列化。原创 2022-03-08 11:12:58 · 197 阅读 · 0 评论 -
Java基础:泛型的具体介绍与使用
我是 ABin-阿斌:写一生代码,创一世佳话,筑一览芳华。 如果小伙伴们觉得我的文章不错,记得一键三连,感谢~文章目录泛型一、为什么要有泛型(Generic)1、泛型:标签2、举例:3、泛型的设计背景:4、泛型的概念5、那么为什么要有泛型呢,直接Object不是也可以存储数据吗?二、在集合中使用泛型三、自定义泛型结构1、自定义泛型类与泛型接口2、代码演示3、泛型的方法四、泛型在继承上的体现通配符一、通配符的使用1、代码演示2、注意事项二、有限制的通配符1、代码演示三、泛型应用举例1、泛型的嵌套(代码.原创 2022-01-26 16:22:33 · 780 阅读 · 0 评论 -
JUC高级多线程_04:高并发下集合类的具体使用
我是 ABin-阿斌:写一生代码,创一世佳话,筑一揽芳华。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。文章目录一、List接口举例说明:使用 AarrayList 在高并发下出现的问题如下:造成问题的原因:如何解决这个问题:方式一:List list = new Vector<>();方式二:使用Collections.synchronizedList方式三:采用JUC提供的并发容器,CopyOnWriteArrayList底层源码分析:二、Set接口举例说明:具体Se.原创 2021-05-24 17:02:29 · 815 阅读 · 0 评论 -
Java基础:多线程的具体介绍与使用
我是 ABin-阿斌:写一生代码,创一世佳话,筑一揽芳华。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。文章目录1、基本概念:线程、进程2、线程的创建与使用3、线程的生命周期4、线程的具体使用5、线程的通信6、JDK5.0新增的线程创建方式一、基本概念:线程、进程二、线程的创建与使用三、线程的生命周期四、线程的具体使用五、线程的通信六、JDK5.0新增的线程创建方式...原创 2021-05-19 22:22:45 · 4150 阅读 · 21 评论 -
Java基础:集合:Map接口的具体介绍与使用
我是 ABin-阿斌:写一生代码,创一世佳话,筑一揽芳华! 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。HashMap JDK8 源码摘录( put() )final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node<K,V>[] tab; Node<K,V> p; int n, i; .原创 2021-02-23 14:48:02 · 504 阅读 · 0 评论 -
Java基础:集合:Set接口的介绍与使用
我是 ABin-阿斌:写一生代码,创一世佳话。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。一、概述:Set 接口是 Collection 的子接口,set 接口没有提供额外的方法Set 集合不允许包含相同的元素,如果试把两个相同的元素加入同一个 Set 集合中,则添加操作失败。Set 判断两个对象是否相同不是使用 == 运算符,而是根据 equals() 方法进行判断Set 存储是无序的、不可存储重复的数据。二、注意细节:以 HashSet 为例说明.原创 2021-02-01 13:34:07 · 1076 阅读 · 0 评论 -
Java基础:集合:List接口的介绍与使用
我是 ABin-阿斌:写一生代码,创一世佳话。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。具体介绍:鉴于Java 中数组用来存储数据的局限性,我们通常使用 List 替代数组List 集合类中元素有序、且可重复,集合中的每个元素都有其对应的顺序索引List 容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素JDK API 中 List 接口的实现类常用的有:ArrayList、LinkedList 和 Vector源码分析:Arra.原创 2021-01-21 16:31:44 · 315 阅读 · 1 评论 -
Java基础:foreach 循环的具体介绍与使用
我是 ABin-阿斌:写一生代码,创一世佳话。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。具体介绍Java 5.0 提供了 foreach 循环迭代访问 Collection 和数组。遍历操作不需获取 Collection 或数组的长度,无需使用索引访问元素。遍历集合的底层调用 Iterator 完成操作。foreach 还可以用来遍历数组。代码演示public class ForTest { @Test public void test01().原创 2021-01-20 09:31:21 · 391 阅读 · 4 评论 -
Java基础:集合:Collection 接口中方法的使用
我是 ABin-阿斌:写一生代码,创一世佳话。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。具体介绍Collection 接口是 List、Set 和 Queue 接口的父接口,该接口里定义的方法既可用于操作 Set 集合,也可用于操作 List 和 Queue 集合。JDK不提供此接口的任何直接实现,而是提供更具体的子接口(如:Set 和 List)实现。在 Java5 之前,Java 集合会丢失容器中所有对象的数据类型,把所有对象都当成 Object 类型处理;从 JDK.原创 2021-01-19 15:27:07 · 191 阅读 · 0 评论 -
Java8的新特性:强大的 Stream API 介绍与使用
我是 ABin-阿斌:写一生代码,创一世佳话。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。StreamAPI 的说明Java8 中有两大最为重要的改变。第一个是 Lambda 表达式;另外一个则是 Stream API。 Stream API ( java.util.stream) 把真正的函数式编程风格引入到 Java 中。这是目前为止对 Java 类库最好的补充,因为 Stream API 可以极大提供我们开发的生产力,让我们在开发中写出高效率、干净、简洁的代码。Str.原创 2020-12-17 14:08:41 · 323 阅读 · 0 评论 -
Java基础:反射的详细介绍与使用
我是 ABin-阿斌:写一生代码,创一世佳话。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。什么是反射有什么作用如何使用原创 2020-12-14 16:23:23 · 167 阅读 · 0 评论 -
Java8的新特性:函数式接口的介绍与使用
我是 ABin-阿斌:写一生代码,创一世佳话。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。 }修饰符 interface.原创 2020-11-30 09:23:29 · 178 阅读 · 0 评论 -
Java8 新特性:方法引用、构造器引用、数组引用
我是 ABin-阿斌:写一生代码,创一世佳话。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。方法引用什么是方法引用我们用 Lambda 表达式来实现匿名方法。但有些情况下,我们用Lambda表达式仅仅是调用一些已经存在的方法,除了调用动作外,没有其他任何多余的动作,在这种情况下,我们倾向于通过方法名来调用它,而Lambda表达式可以帮助我们实现这一要求,它使得 Lambda 在调用那些已经拥有方法名的方法的代码更简洁、更容易理解。方法引用可以理解为 Lambda 表达式的另外一种.原创 2020-11-30 09:18:27 · 167 阅读 · 0 评论 -
Java基础:for 循环结构嵌套的介绍与使用
我是 ABin-阿斌:写一生代码,创一世佳话。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。什么是嵌套循环将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for ,while ,do…while 均可以作为外层循环或内层循环。实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环。设外层循环次数为 m 次,内层为 n 次,则内层循环体实际上需要执行 m * n 次。代.原创 2020-11-13 10:11:28 · 3283 阅读 · 1 评论 -
Java基础:流程控制语句:循环结构:for、while、do-while 的介绍与使用
我是 ABin-阿斌:写一生代码,创一世佳话。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。循环结构组成的四个部分初始化部分(init_statement)循环条件部分(test_exp) 注意:这里必须是 Boolean 类型循环体部分(body_statement) 迭代部分(alter_statement) 注意: 在执行的过程中如果突然结束了,那么通常情况下是因为 循环条件 返回了 falseJAVA 中循环结构总共分为这三种for 循环语法格式介绍.原创 2020-11-13 09:38:36 · 240 阅读 · 0 评论 -
Java基础:流程控制语句:switch-case 的介绍与使用
我是 ABin-阿斌:写一生代码,创一世佳话。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。switch-case 是什么switch-case 也是 Java 流程控制语句中分支结构的一种结构演示//switch-case选择结构switch(表达式){case 常量1: 执行语句1; //break;case 常量2: 执行语句2; //break;...default: 执行语句n; //break;}有什么特点根据 switch 表达式.原创 2020-11-10 23:33:54 · 463 阅读 · 0 评论 -
Java基础:流程控制语句:if-else 的详细介绍与使用
我是 ABin-阿斌:写一生代码,创一世佳话。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。什么是 if-else 语句Java 在分支结构中有两种分支语句:一种是 if-else,另一种是 switch-case。这两种语句在我们的代码执行流程中主要起一个什么作用呢 ?那就是根据我们实际开发当中的不同需求来选择性的执行和暂停我们的代码。今天我们这篇文章主要讲 if-else分支语句的使用,switch-case的文章可以点击这个链接:Switch-case的详细介绍与使用if-.原创 2020-11-10 16:54:52 · 1006 阅读 · 0 评论 -
Java基础:运算符:三元运算符的介绍与使用
我是 ABin-阿斌:写一生代码,创一世佳话。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。三元运算符是什么Java 运算符中的一种运算方式,可以连接三个式子的一种符号,我们来看看它的格式格式:(条件表达式)? 表达式1:表达式2说明:条件表达式的结果为 boolean 类型根据条件表达式真或假来决定执行表达式1 还是表示2如果表示式为 true 的话,那么就执行表达式 1。反之,执行表达式 2有哪些特点如果在我们的实际开发当中既可以使用三元运算符,又可以使用.原创 2020-11-10 09:33:18 · 487 阅读 · 0 评论 -
Java基础:面向对象:代码块与内部类的介绍与使用
代码块什么是代码块代码块是一种常见的代码形式。他用大括号“{}”将多行代码封装在一起,形成一个独立的代码区,这就构成了代码块。有什么特点代码块分为两部分:静态代码块:内部可以输出语句随着类的加载而执行,而且只执行一次作用:初始化类的信息如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行静态代码块的执行要优先于非静态代码块的执行静态代码块内只能调用静态的属性、静态的方法,不能调用非静态的结构非静态代码块:内部可以输出语句随着对象的创建而执行每创建一个对象就执行一次原创 2020-11-05 10:24:57 · 290 阅读 · 0 评论 -
Java8新特性:Lambda表达式的介绍与使用
我是 ABin-阿斌:写一生代码,创一世佳话。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。什么是 Java8简介Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Java 8 是 oracle 公司于 2014 年 3 月发布,可以看成是自 Java 5 以来最具革命性的版本 。Java 8 为 Java 语言、编译器、类库、开发工具与JVM带来了大量新特性。具体加了哪些东西加这些东西优化了什么速度更快代码更少(增加了新的语法:Lam.原创 2020-11-01 00:48:55 · 308 阅读 · 0 评论 -
Java基础:面向对象:Static 关键字的详细介绍与使用
我是 ABin-阿斌:写一生代码,创一世佳话。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。Static关键字的诞生原因当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用。我们有时候希望无论是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份,例如所有的中国人都有个国家名称,每一个中国人都共享这个国家名称,不必在每一个中国人的实例对象中都.原创 2020-10-27 10:03:18 · 345 阅读 · 0 评论 -
Java基础:接口(interface)的详细介绍与使用
什么是接口概述在开发中,有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是,Java不支持多重继承。有了接口,就可以得到多重继承的效果。另一方面,有时必须从几个类中抽取出一些共同的行为特征,而它们之间又没有i继承的关系,仅仅是具有相同的行为特征而已。例如:鼠标、键盘、打印机、扫描仪、摄像头、充电器、MP3机、手机、数码相机、移动硬盘等都支持USB连接。接口就是规范,定义的是一组规则,体现了现实世界中“如果你是/要…则必须能…”的思想。继承是一个"是不是"的关系,而接口实现则是 "能不原创 2020-10-21 23:16:06 · 681 阅读 · 2 评论 -
Java基础:抽象类与抽象方法
我是 ABin-阿斌:写一生代码,创一世佳话。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。抽象类的定义随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一般,更通用。类的设计应该保证父类和子类能够共享特征。有时将一个父类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类。关键字的具体使用!abstract可以用来修饰:类、方法abstract 修饰类的具体介绍abstract 修饰类:抽象类此类不能实例化抽象类中一定有构造器,便于子类实例化.原创 2020-10-19 00:30:00 · 353 阅读 · 0 评论 -
Java实现双色球案例
import java.util.Arrays;import java.util.Random;import java.util.Scanner;/** * 彩票店销售双色球案例:系统生成双色球: 6颗红球(33选1) 1颗蓝球(16选1) ,要求6颗红球不重复客户购买双色球: 要求客户键盘输入,6个红球号码(1-33),1个蓝球号码(1-16)验证客户购买是否中...原创 2019-12-08 11:12:36 · 786 阅读 · 0 评论 -
Java基础:请用户输入一个年份,通过程序判断出是闰年还是平年。
import java.util.Scanner; //导入扫描器的包public class Topic { public static void main(String[] args) { //创建一个输入流扫描器 Scanner sc = new Scanner(System.in); /*人机交互,请用户输入一个年份,通过程序判断出是闰年还是平年。 (判断闰年依据:能...原创 2019-12-06 22:11:24 · 2512 阅读 · 0 评论