Java基础知识集群
文章平均质量分 84
主要收录基础知识内容
凝霜月冷残-草木破白衣
这个作者很懒,什么都没留下…
展开
-
23.2、Junit单元测试&反射&注解
@Retention(RetentionPolicy.RUNTIME):当前被描述的注解,会保留到class字节码文件中,并被JVM读取到。同一个字节码文件(*.class)在一次程序运行过程中,只会被加载一次,不论通过哪一种方式获取的Class对象都是同一个。1. 如果定义属性时,使用default关键字给属性默认初始化值,则使用注解时,可以不进行属性的赋值。* 需求:写一个"框架",不能改变该类的任何代码的前提下,可以帮我们创建任意类的对象,并且执行其中任意方法。3. 数组赋值时,值使用{}包裹。原创 2023-01-04 00:15:35 · 291 阅读 · 0 评论 -
23.1、Java中的类加载器&反射&模块化
是指在运行时去获取一个类的变量和方法信息。然后通过获取到的信息来创建对象,调用方法的一种机制。由于这种动态性,可以极大的增强程序的灵活性,程序不用在编译期就完成确定,在运行期仍然可以扩展Java语言随着这些年的发展已经成为了一门影响深远的编程语言,无数平台,系统都采用Java语言编写。但是,伴随着发展,Java也越来越庞大,逐渐发展成为一门“臃肿” 的语言。而且,无论是运行一个大型的软件系统,还是运行一个小的程序,即使程序只需要使用Java的部分核心功能, JVM也要加载整个JRE环境。原创 2023-01-03 13:37:45 · 191 阅读 · 0 评论 -
22.2Java中的函数式接口&Stream流
概念有且仅有一个抽象方法的接口如何检测一个接口是不是函数式接口放在接口定义的上方:如果接口是函数式接口,编译通过;如果不是,编译失败注意事项我们自己定义函数式接口的时候,@FunctionalInterface是可选的,就算我不写这个注解,只要保证满足函数式接口定义的条件,也照样是函数式接口。但是,建议加上该注解。原创 2023-01-02 20:18:31 · 158 阅读 · 0 评论 -
22.1、Java中的Lambda表达式&接口组成更新&方法引用
案例需求启动一个线程,在控制台输出一句话:多线程程序启动了实现方式一实现步骤定义一个类MyRunnable实现Runnable接口,重写run()方法创建MyRunnable类的对象创建Thread类的对象,把MyRunnable的对象作为构造参数传递启动线程实现方式二匿名内部类的方式改进实现方式三Lambda表达式的方式改进函数式编程思想概述函数式思想则尽量忽略面向对象的复杂语法:“强调做什么,而不是以什么形式去做”而我们要学习的Lambda表达式就是函数式思想的体现格式: (形式参数) -> {原创 2023-01-02 11:23:45 · 241 阅读 · 0 评论 -
21、Java中的网络编程&UDP&TCP
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统网络编程在网络通信协议下,实现网络互连的不同计算机上运行的程序间可以进行数据交换。原创 2023-01-01 19:43:34 · 57 阅读 · 0 评论 -
20、Java中的多线程
概述生产者消费者模式是一个十分经典的多线程协作的模式,弄懂生产者消费者问题能够让我们对多线程编程的理解更加深刻。所谓生产者消费者问题,实际上主要是包含了两类线程: 一类是生产者线程用于生产数据 一类是消费者线程用于消费数据为了解耦生产者和消费者的关系,通常会采用共享的数据区域,就像是一个仓库生产者生产数据之后直接放置在共享数据区中,并不需要关心消费者的行为消费者只需要从共享数据区中去获取数据,并不需要关心生产者的行为Object类的等待和唤醒方法方法名说明。原创 2023-01-01 13:34:13 · 131 阅读 · 0 评论 -
19.3Java中IO流.打印流&序列化反序列化&Properties
通常该流对应于显示输出或由主机环境或用户指定的另一个输出目标。通常该流对应于显示输出或由主机环境或用户指定的另一个输出目标。这种机制就是使用一个字节序列表示一个对象,该字节序列包含:对象的类型、对象的数据和对象中存储的属性等信息。用对象序列化流序列化了一个对象后,假如我们修改了对象所属的类文件,读取数据会不会出问题呢?遍历File数组,得到每一个File对象,该File对象,其实就是数据源文件。格式:姓名,语文成绩,数学成绩,英语成绩 举例:林青霞,98,99,100。原创 2022-12-31 19:48:43 · 116 阅读 · 0 评论 -
19.2Java中的IO流.字符流&缓冲流
UTF-8编码:可以用来表示Unicode标准中任意字符,它是电子邮件、网页及其他存储或传送文字的应用 中,优先采用的编码。BufferedWriter:将文本写入字符输出流,缓冲字符,以提供单个字符,数组和字符串的高效写入,可以指定缓冲区大小,或者可以接受默认大小。BufferedReader:从字符输入流读取文本,缓冲字符,以提供字符,数组和行的高效读取,可以指定缓冲区大小,或者可以使用默认大小。通过设置这样的输出流,应用程序可以向底层输出流写入字节,而不必为写入的每个字节导致底层系统的调用。原创 2022-12-30 18:04:52 · 86 阅读 · 0 评论 -
19.1Java中的File类&递归&IO流.子节流
File类介绍它是文件和目录路径名的抽象表示文件和目录是可以通过File封装成对象的对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的File类的构造方法方法名说明通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例从父路径名字符串和子路径名字符串创建新的 File实例从父抽象路径名和子路径名字符串创建新的 File实例。原创 2022-12-29 12:41:06 · 90 阅读 · 0 评论 -
18、java中的Map集合
Map集合概述interface Map K:键的类型;V:值的类型Map集合的特点键值对映射关系一个键对应一个值键不能重复,值可以重复元素存取无序Map集合的基本使用//创建集合对象//V put(K key, V value) 将指定的值与该映射中的指定键相关联map.put("itheima001","林青霞");map.put("itheima002","张曼玉");map.put("itheima003","王祖贤");原创 2022-12-27 18:43:55 · 363 阅读 · 0 评论 -
17、Java中的泛型与可变参数
泛型概述 是JDK5中引入的特性,它提供了编译时类型安全检测机制,该机制允许在编译时检测到非法的类型它的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,然后在使用/调用时传入具体的类型。这种参数类型可以用在类、方法和接口中,分别被称为泛型类、泛型方法、泛型接口泛型定义格式:指定一种类型的格式。这里的类型可以看成是形参:指定多种类原创 2022-12-27 13:31:48 · 211 阅读 · 0 评论 -
16.2Java中的Collection之Set集合
HashSet集合的特点底层数据结构是哈希表对集合的迭代顺序不作任何保证,也就是说不保证存储和取出的元素顺序一致没有带索引的方法,所以不能使用普通for循环遍历由于是Set集合,所以是不包含重复元素的集合HashSet集合的基本使用//创建集合对象//添加元素//遍历}}}LinkedHashSet集合特点哈希表和链表实现的Set接口,具有可预测的迭代次序由链表保证元素有序,也就是说元素的存储和取出顺序是一致的由哈希表保证元素唯一,也就是说没有重复的元素。原创 2022-12-25 13:02:08 · 128 阅读 · 0 评论 -
16.1Java中的Collection之List集合
Collection集合概述是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK 不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现Collection集合基本使用//创建Collection集合的对象//添加元素:boolean add(E e)//输出集合对象}}List集合概述有序集合(也称为序列),用户可以精确控制列表中每个元素的插入位置。用户可以通过整数索引访问元素,并搜索列表中的元素。原创 2022-12-23 16:56:39 · 137 阅读 · 0 评论 -
15、java中的 异常
自定义异常类}}老师类throw new ScoreException("你给的分数有误,分数应该在0-100之间");} else {System.out.println("成绩正常");}}}测试类System.out.println("请输入分数:");try {}}}原创 2022-12-22 14:42:31 · 49 阅读 · 0 评论 -
14、Java中的包装类和时间日期类
定义一个日期工具类(DateUtils),包含两个方法:把日期转换为指定格式的字符串;把字符串解析为指定格式的日期,然后定义一个测试类(DateDemo),测试日期工具类的方法。 Calendar 为特定瞬间与一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法。 Calendar 提供了一个类方法 getInstance 用于获取这种类型的一般有用的对象。 SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。原创 2022-12-22 12:26:05 · 90 阅读 · 0 评论 -
13、java中常用API Math、System、Object、Arrays+冒泡排序原理
所有类都直接或者间接的继承自该类,换句话说,该类所具备的方法,所有类都会有一份。一种排序的方式,对要进行排序的数据中相邻的数据进行两两比较,将较大的数据放在后面,依次对所有的数据进行操作,直至所有数据按要求完成排序。在类的空白区域,右键 -> Generate -> 选择toString。Math类中无构造方法,但内部的方法都是静态的,则可以通过。不希望比较对象的地址值,想要结合对象属性进行比较的时候。用于对象之间的比较,返回true和false的结果。以良好的格式,更方便的展示对象中的属性值。原创 2022-12-21 17:50:18 · 115 阅读 · 0 评论 -
12、Java中的形参、返回值和内部类
将一个类,设计为内部类的目的,大多数都是不想让外界去访问,所以内部类的定义应该私有化,私有化之后,再提供一个可以让外界调用的方法,方法内部创建内部类对象并调用。 请用所学知识分析,这个案例中有哪些具体类,哪些抽象类,哪些接口,并用形参和返回值以及匿名内部类方式的代码实现。当发现某个方法需要,接口或抽象类的子类对象,我们就可以传递一个匿名内部类过去,来简化传统的代码。在一个类中定义一个类。方法的返回值是接口名,其实返回的是该接口的实现类对象。方法的形参是接口名,其实需要的是该接口的实现类对象。原创 2022-12-21 11:42:34 · 429 阅读 · 0 评论 -
11、Java中的多态,抽象与接口
什么是多态 同一个对象,在不同时刻表现出来的不同形态多态的前提要有继承或实现关系要有方法的重写要有父类引用指向子类对象 当我们在做子类共性功能抽取时,有些方法在父类中并没有具体的体现,这个时候就需要抽象类了! 在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类! 接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用。 Java中的接口更多的体现在对行为的抽象!原创 2022-12-20 20:05:22 · 60 阅读 · 0 评论 -
10、Java中的继承和权限修饰符
所以,子类初始化之前,一定要先完成父类数据的初始化,原因在于,每一个子类构造方法的第一条语句默认都是:super()当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类特有的内容。is..a的关系:谁是谁的一种,例如:老师和学生是人的一种,那人就是父类,学生和老师就是子类。继承可以让类与类之间产生关系,子父类关系,产生子父类后,子类则可以使用父类中非私有的成员。static关键字是静态的意思,可以修饰【成员方法】,【成员变量】原创 2022-12-19 22:48:45 · 169 阅读 · 0 评论 -
9、Java中的ArrayList
什么是集合 提供一种存储空间可变的存储模型,存储的数据容量可以发生改变ArrayList集合的特点 底层是数组实现的,长度可以变化泛型的使用 用于约束集合中存储元素的数据类型//学号//姓名//年龄//居住地}}}}}}}}}}}/*1:用输出语句完成主界面的编写2:用Scanner实现键盘录入数据3:用switch语句完成操作的选择4:用循环完成再次回到主界面*///创建集合对象,用于保存学生数据信息。原创 2022-12-19 12:41:53 · 242 阅读 · 0 评论 -
8、JavaAPI中的String和StringBuilder
什么是API API (Application Programming Interface) :应用程序编程接口java中的API 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。原创 2022-12-18 17:36:18 · 281 阅读 · 0 评论 -
7、Java中的类和对象
类的组成是由属性和行为两部分组成属性:在类中通过成员变量来体现(类中方法外的变量)行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)类的定义步骤:①定义类②编写类的成员变量③编写类的成员方法public class 类名 {// 成员变量变量1的数据类型 变量1;变量2的数据类型 变量2;…// 成员方法方法1;方法2;}/*手机类:类名:手机(Phone)成员变量:品牌(brand)价格(price)成员方法:打电话(call)原创 2022-12-18 12:16:52 · 148 阅读 · 0 评论 -
6.1、减肥计划,不死神兔,百钱百鸡案例
用程序实现把数组中的元素值交换, 交换后的数组 arr = {50, 46, 37, 28, 19}; 有这样的一个数组,元素是{68,27,95,88,171,996,51,210}。求出该数组中满足要求的元素和, 要求是:求和的元素个位和十位都不能是7,并且只能是偶数。 在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子, 假如兔子都不死,问第二十个月的兔子对数为多少?原创 2022-12-18 09:33:57 · 149 阅读 · 0 评论 -
6、Java中方法的使用和注意事项
方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集注意:方法必须先创建才可以使用,该过程成为方法定义方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用public static void 方法名 ( ) {// 方法体;}// 方法体;}方法名();method();注意: 方法必须先定义,后调用,否则程序将报错定义格式:参数:由数据类型和变量名组成 - 数据类型 变量名参数范例:int a。原创 2022-12-17 16:57:05 · 386 阅读 · 0 评论 -
4.1、随机数小游戏:Java中的Random随机数
如果猜的数字比真实数字大,提示你猜的数据大了。如果猜的数字比真实数字小,提示你猜的数据小了。之间的数字,使用程序实现猜出这个数字是多少?如果猜的数字与真实数字相等,提示恭喜你猜中了。当猜错的时候根据不同情况给出相应的提示。,内部提供了产生随机数的功能。原创 2022-12-16 19:08:32 · 200 阅读 · 0 评论 -
1、Java中数据类型的输出与类型转换
这里介绍Java数据类型的输出方式Java是一个强类型语言,Java中的数据必须明确数据类型。在Java中的数据类型包括基本数据类型和引用数据类型两种。原创 2022-12-15 21:23:54 · 2380 阅读 · 0 评论 -
2、运算符使用方式
在逻辑与运算中,只要有一个表达式的值为false,那么结果就可以判定为false了,没有必要将所有表达式的值都计算出来,短路与操作就有这样的效果,可以提高效率。同理在逻辑或运算中,一旦发现值为true,右边的表达式将不再参与运算。逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判断的结果是 true 或 false。关系运算符有6种关系,分别为小于、小于等于、大于、等于、大于等于、不等于。表达式1 : 表达式2;原创 2022-12-16 11:52:38 · 79 阅读 · 0 评论 -
3、Scanner数据输入方式使用
Scanner 类可用来获取用户的输入。2、创建Scanner对象。原创 2022-12-16 12:27:42 · 401 阅读 · 0 评论 -
4、Java中if、switch、for、while、do..while语句使用方法
本章介绍Java中的if语句和switch语句的流程控制。原创 2022-12-16 15:20:47 · 262 阅读 · 0 评论 -
5、Java中数组的使用
数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。1.2.1第一种数据类型[] 数组名int[] arr;char[] arr;1.2.2第二种数据类型 数组名[]int arr[];char arr[];原创 2022-12-17 11:58:18 · 62 阅读 · 0 评论