![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
【JAVA基础+进阶】
文章平均质量分 85
JAVA基础内容,适合刚入门java的同学。
笔记来自:黑马程序员Java入门基础视频
热爱编程的小白白
新星计划导师,全栈领域优质创作者,阿里云专家博主,CSDN内容合伙人,成长一夏挑战赛-优秀领军人物,创作之秋挑战赛-优秀领军人物。
展开
-
【JAVA进阶】多线程
取钱案例出现问题的原因?多个线程同时执行,发现账户都是够钱的。如何才能保证线程安全呢?让多个线程实现先后依次访问共享资源,这样就解决了安全问题线程同步的核心思想加锁,把共享资源进行上锁,每次只能一个线程进入访问完毕以后解锁,然后其他线程才能进来。原创 2023-09-25 14:49:24 · 2064 阅读 · 1 评论 -
【JAVA进阶】File类、字节流
资源都是实现了Closeable/AutoCloseable接口的类对象。原创 2023-05-27 21:56:14 · 2831 阅读 · 3 评论 -
【JAVA进阶】异常处理
什么是异常?异常是程序在“编译”或者“执行”的过程中可能出现的问题,注意:语法错误不算在异常体系中。比如:数组索引越界、空指针异常、 日期格式化异常,等…为什么要学习异常?异常一旦出现了,如果没有提前处理,程序就会退出JVM虚拟机而终止.研究异常并且避免异常,然后提前处理异常,体现的是程序的安全, 健壮性。异常体系Error: 系统级别问题、JVM退出等,代码无法控制。java.lang包下,称为异常类,它表示程序本身可以处理的问题。原创 2023-05-25 18:59:51 · 1004 阅读 · 1 评论 -
【JAVA进阶】Stream流
什么是Stream流?在Java 8中,得益于Lambda所带来的函数式编程, 引入了一个全新的Stream流概念。目的:用于简化集合和数组操作的API。Stream流思想先得到集合或者数组的Stream流(就是一根传送带)把元素放上去然后就用这个Stream流简化的API来方便的操作元素。体验Stream流的作用假设我们有一个Person类,其中包含属性name和age。我们有一个List对象,现在我们要使用Java Stream流来过滤出其中年龄大于18岁的人的名字。原创 2023-05-20 21:53:37 · 1070 阅读 · 6 评论 -
【JAVA进阶】Set集合、Map集合
一、Set系列集合Set系列集合特点Set集合实现类特点哈希表的组成在了解哈希表之前需要先理解哈希值的概念是JDK根据对象的地址,按照某种规则算出来的int类型的数值。public int hashCode():返回对象的哈希值3.TreeSetTreeSet集合默认的规则自定义排序规则TreeSet集合存储对象的的时候有2种方式可以设计自定义比较规则1. 如果希望元素可以重复,又有索引,索引查询要快?用ArrayList集合,基于数组的。(用的最多)原创 2023-05-14 21:09:51 · 1164 阅读 · 1 评论 -
【JAVA进阶】集合
数组的特点集合的特点1、数组和集合的元素存储的个数问题。数组定义后类型确定,长度固定 集合类型可以不固定,大小是可变的。2、数组和集合存储元素的类型问题。数组可以存储基本类型和引用类型的数据。集合只能存储引用数据类型的数据。3、数组和集合适合的场景 数组适合做数据个数和类型确定的场景。集合适合做数据个数不确定,且要做增删元素的场景,集合种类更多,功能更强大。1.集合的体系特点集合类体系结构Collection集合体系Collection集合特点List系列集合:添加的元素是。原创 2023-01-04 19:50:23 · 660 阅读 · 1 评论 -
【JAVA进阶】包装类,Arrays类,Lambda表达式
public static void sort(类型[] a, Comparator原创 2023-01-01 18:26:20 · 654 阅读 · 1 评论 -
【JAVA进阶】常用API
这些方法返回的是一个新的实例引用,因为LocalDateTime 、LocalDate 、LocalTime 都是不可变的。一个类要么默认继承了Object类,要么间接继承了Object类,Object类是Java中的祖宗类。父类toString()方法存在的意义就是为了被子类重写,以便返回对象的内容信息,而不是地址信息!开发中输出对象变量,更多的时候是希望看到对象的内容数据而不是对象的地址信息。他们 分别表示日期,时间,日期时间对象,他们的类的实例是不可变的对象。原创 2023-01-03 13:24:26 · 1903 阅读 · 2 评论 -
【JAVA进阶】多态,内部类
格式:外部类名.内部类名 对象名 = new 外部类构造器.new 内部类构造器();变量名 instanceof 真实类型 判断关键字左边的变量指向的对象的真实类型,是否是右边的类型或者是其子类类型,是则返回true,反之。可以的,因为必须先有外部类对象,才能有成员内部类对象,所以可以直接访问外部类对象的实例成员。内部类就是定义在一个类里面的类,里面的类可以理解成(寄生),外部类可以理解成(宿主)。格式:外部类名.内部类名 对象名 = new 外部类名.内部类构造器;本质上是一个没有名字的局部内部类。原创 2022-12-18 18:33:38 · 573 阅读 · 2 评论 -
【JAVA进阶】包、权限修饰符、抽象类、接口
答:模板方法是给子类直接使用的,不是让子类重写的, 一旦子类重写了模板方法,则模板方法就失效了,因此,加上final后可以防止子类重写了模板方法,这样更安全、专业。模板方法已经定义了通用结构,模板方法不能确定的部分定义成抽象方法,交给子类实现,因此,使用者只需要关心自己需要实现的功能即可。5、一个类实现了多个接口,多个接口中存在同名的默认方法,可以不冲突,这个类重写该方法即可。4、一个类继承了父类,同时又实现了接口,父类中和接口中有同名方法,默认用父类的。修饰方法,这个方法就是抽象方法。原创 2022-12-15 13:05:42 · 549 阅读 · 5 评论 -
【JAVA进阶】继承
如果子父类中,出现了重名的成员,会优先使用子类的,此时如果一定要在子类中使用父类的怎么办?在继承体系中,子类出现了和父类中一模一样的方法声明,我们就称子类这个方法是重写的方法。@Override是放在重写后的方法上,作为重写是否正确的校验注解。),手动调用父类的有参数构造器。当子类需要父类的功能,但父类的该功能不完全满足自己的需求时。如果父类中没有无参数构造器,只有有参构造器,会出现什么现象呢?因为子类默认是调用父类无参构造器的。旧手机的功能只能是基本的打电话,发信息。1.子类是否可以继承父类的构造器?原创 2022-11-06 22:07:51 · 4557 阅读 · 11 评论 -
【JAVA进阶】static关键字详解
开发中经常遇到一些问题,一个问题通常有n种解法的,但其中肯定有一种解法是最优的,这个最优的解法被人总结出来了,称之为设计模式。由于工具里面都是静态方法,直接用类名即可访问,因此,工具类无需创建对象,建议将工具类的构造器进行私有。特点:每次创建对象,调用构造器执行时,都会执行该代码块中的代码,并且在构造器执行前执行。代码块是类的5大成分之一(成员变量、构造器,方法,代码块,内部类),定义在类中方法外。之前我们定义的方法有的有static修饰,有的是没有的,有什么不同?2.static修饰的成员变量是什么?转载 2022-10-06 17:13:00 · 5622 阅读 · 8 评论 -
【JAVA基础】ArrayList综合案例
② 提供一个方法,可以接收ArrayList集合,和要搜索的学号,返回搜索到的学生对象信息,并展示。① 定义Student类,定义ArrayList集合存储如上学生对象信息,并遍历展示出来。后台程序需要存储如上学生信息并展示,然后要提供按照学号搜索学生信息的功能。② :创建3个电影对象,封装相关数据,把3个对象存入到集合中去。某影院系统需要在后台存储上述三部电影,然后依次展示出来。① :定义一个电影类,定义一个集合存储电影对象。③ :遍历集合中的3个对象,输出相关信息。集合存储多名学员的成绩。原创 2022-10-01 18:18:12 · 2270 阅读 · 15 评论 -
【JAVA基础】ArrayList
ArrayList是集合中的一种,它支持索引。:在个数不能确定,且要进行增删数据操作的时候,数组是不太合适的。集合的大小不固定,启动后可以动态变化,类型也可以选择不固定。集合非常适合做元素个数不确定,且要进行增删操作的业务场景。集合还提供了许多丰富、好用的功能,而数组的功能很单一。删除指定索引处的元素,返回被删除的元素。修改指定索引处的元素,返回被修改的元素。ArrayList集合添加元素的方法。在此集合中的指定位置插入指定的元素。删除指定的元素,返回删除是否成功。将指定的元素追加到此集合的末尾。原创 2022-09-24 00:10:03 · 7612 阅读 · 15 评论 -
【JAVA基础】String类常用API
② 使用循环控制三次,让用户输入正确的登录名和密码,判断是否登录成功,登。③ 将前三位 连接“****”然后继续连接后四位,输出最终结果即可。② 调用字符串对象的截取API,截取字符串前三位、后四位。根据开始和结束索引进行截取,得到新的字符串(包前不包后)次,随机一个范围内的索引,获取对应字符连接起来即可。位的验证码,每位可能是数字、大写字母、小写字母。从传入的索引处截取,截取到末尾,得到新的字符串。使用新值,将字符串中的旧值替换,得到新的字符串。根据传入的规则切割字符串,得到字符串数组返回。原创 2022-09-14 20:11:22 · 3230 阅读 · 16 评论 -
【JAVA基础】String类概述
java.lang.String 类代表字符串,String类定义的变量可以用于指向字符串对象,然后操作该字符串。String类定义的变量可以用于存储字符串,同时String类提供了很多操作字符串的功能,我们可以直接使用。以“”方式给出的字符串对象,在字符串常量池中存储,而且相同内容只会在其中存储一份。将此字符串与指定对象进行比较,忽略大小写比较字符串。Java 程序中的所有字符串文字(例如“abc”)都为此类的对象。将此字符串与指定对象进行比较。以“”方式给出的字符串对象,在字符串常量池中存储。原创 2022-09-10 00:22:47 · 1283 阅读 · 17 评论 -
【JAVA基础—刷题(6)】继承
1.补全构造方法1.补全构造方法。原创 2022-10-30 19:38:26 · 1228 阅读 · 5 评论 -
【JAVA基础—刷题(5)】封装
现有一个Data类,内部定义了属性x和y,在main方法中实例化了Data类,并计算了data对象中x和y的和。但是,Data类的定义存在错误,请你将这些错误修正过来,使得main方法中的求和逻辑可以正常执行。两个整数两个整数的和 采用封装的思想,为Person类定义年龄属性,要求:修改年龄时判断其范围,若年龄小于0则按0输出,若年龄大于200则按200输出。年龄整数值1. 若年龄小于0则输出0;2. 若年龄大于200则输出200;3. 若年龄介于[0,200]之间则直接输出。原创 2022-10-23 21:14:23 · 970 阅读 · 8 评论 -
【JAVA基础】面向对象基础(下)
一般对成员变量使用private(私有)关键字修饰进行隐藏,private修饰后该成员变量就只能在当前类中访问。作用:出现在成员方法、构造器中代表当前对象的地址,用于访问当前对象的成员变量、成员方法。一旦定义了有参数构造器,无参数构造器就没有了,此时就需要自己写一个无参数构造器了。无参数构造器(默认存在的):初始化的对象时,成员变量的数据均采用默认值。有参数构造器:在初始化对象的时候,同时可以为对象进行赋值。随着对象的创建而存在,随着对象的消失而消失。用于初始化一个类的对象,并返回对象的地址。原创 2022-09-04 17:41:24 · 607 阅读 · 9 评论 -
【JAVA基础】面向对象基础(上)
public class 类名 {1、成员变量(代表属性,一般是名词)2、成员方法(代表行为,一般是动词)3、构造器 (后面学习)4、代码块 (后面学习)5、内部类 (后面学习)}原创 2022-08-14 23:16:39 · 1188 阅读 · 46 评论 -
【JAVA基础】专题课(综合案例下)
案例4.数组元素复制。原创 2022-08-08 20:21:19 · 453 阅读 · 7 评论 -
【JAVA基础】专题课(综合案例上)
按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折。判断规则是:从2开始遍历到该数的一半的数据,看是否有数据可以整除它,有则不是素数,没有则是素数。复习前半段课程学习的Java编程知识,能够使用所学的知识解决问题,提升同学们的编程能力。机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。① 定义一个方法,生成验证码返回:方法参数是位数、方法的返回值类型是。位的验证码,每位可能是数字、大写字母、小写字母。....原创 2022-08-07 22:38:08 · 648 阅读 · 6 评论 -
【JAVA基础】方法详解
方法定义的完整格式修饰符 返回值类型 方法名( 形参列表 ){方法体代码(需要执行的功能代码)return 返回值;}原创 2022-08-06 00:01:56 · 1040 阅读 · 46 评论 -
【JAVA基础—刷题(4)】数组
💬👉1.数组遍历。原创 2022-10-16 19:07:33 · 1112 阅读 · 11 评论 -
【JAVA基础】数组详解
② 定义一个死循环,输入数据猜测,遍历数组,判断数据是否在数组中,如果在,进行对应提示并结束死循环;动态初始化:只指定数组长度,后期赋值,适合开始知道数据的数量,但是不确定具体元素值的业务场景。② 依次遍历数组中的每个元素,随机一个索引数据,让当前元素与该索引位置处的元素进行交换。③ 遍历数组的元素,如果该元素大于变量存储的元素,则替换变量存储的值为该元素。定义数组的时候只确定元素的类型和数组的长度,之后再存入具体数据。② 遍历数组中的每个数据,然后在外面定义求和变量把他们累加起来。原创 2022-08-02 16:54:48 · 1213 阅读 · 12 评论 -
【JAVA基础—刷题(3)】循环
1.数列求和。原创 2022-09-17 20:27:20 · 796 阅读 · 13 评论 -
【JAVA基础—刷题(2)】分支结构
1.JAVA 计算商场折扣。原创 2022-09-11 13:23:15 · 591 阅读 · 12 评论 -
【JAVA基础—刷题(1)】基础语法 运算符
1.JAVA 类型转换。原创 2022-08-28 13:28:34 · 465 阅读 · 13 评论 -
【JAVA基础】类型转换 常用运算符 流程控制
目录🍊前言:🍉类型转换1.自动类型转换2.表达式的自动类型转换3.强制类型转换运算符1.基本算数运算符 2.+符号做连接符3.自增自减运算符4.赋值运算符5.关系运算符6.逻辑运算符7.三元运算符8.运算符优先级🍒程序流程控制 分支结构If分支switch分支循环结构for 循环while循环do-while循环死循环循环嵌套跳转关键字:break、continue案例技术:随机数Random类什么是自动类型转换,为什么要学习自动类型转换? 自动类型转换的其他形式2.表达式的自动类型...原创 2022-07-09 23:02:45 · 681 阅读 · 78 评论 -
欢迎来到Java世界,正式开干,Java基础语法
目录前言:Java是什么为什么用JavaJava能做什么Java技术体系平台Java基础语法🍋1.注释🍊2.字面量🍓3.变量🥭4.数据的存储形式:二进制🍍5.数据类型 🥝6.ASCII编码🥗7.关键字、标志符 什么是注释 在程序中对代码进行解释说明的文字,方便自己和其他人理解、查看,不会影响程序的正常执行。 注释有哪些 多行注释 文档注释 快捷键进行注释 功能效果 Ctrl + /.......原创 2022-07-03 23:05:11 · 1670 阅读 · 83 评论