- 博客(55)
- 收藏
- 关注
原创 Debug追踪
一、Debug调试程序: 可以让代码逐行执行,查看代码执行的过程,调试程序中出现的bug二、使用方式: 在行号的右边,鼠标左键单击,添加断点,右键:选择Debug执行程序,程序停留在第一个断点处三、执行程序 F8:逐行执行程序 F7:进入方法中 shift+F8:跳出方法 F9:跳到下一个断点,如果没有下一个断点,那么就结束程序 ...
2021-11-07 11:22:54
329
原创 JDK9对集合添加的优化
一 、在JDK9之前,单列集合添加使用.add,双列集合添加使用put,局限:每次只能添加一个二、JDK9出现的新特性:List接口、Map接口、Set接口里面增加了一个静态的方法of,可以给集合一次性添加多个元素三、使用前提:当集合中存储的元素个数已经确定了,不再改变时使用四、注意: 1.of方法只适用于List接口、Set接口、Map接口,不适用于接口的实现类 2.of方法的返回值是一个不能改变的集合,集合不能使用add,put方法添加元素...
2021-11-07 11:05:54
117
原创 Map..
一、Map<K,V> (Map接口) (1)类型参数: K—此映射所维护的键的类型 V—映射值的类型 (2)Collection与Map的对比 (3)Map集合的特点: 1.Map集合是一个双列集合,一个元素包含两个值(一个key,一个value) 2.Map集合中的元素,key和value的数据类型可...
2021-11-07 10:30:36
318
原创 Collections集合工具类的方法
一、常用功能 (1)Collections.addAll(集合名称,添加的多个元素)ArrayList<String> list=new ArrayList<>(); Collections.addAll(list,"b","c","d","e"); (2)Collections.shuffle(集合名称):打乱集合顺序Collections.shuffle(list); (3)Collections....
2021-10-18 20:43:24
2519
原创 可变参数.
一、格式:定义方法时使用 修饰符 返回值类型 方法名(参数类型...形参名){ }二、使用前提:当方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用可变参数三、可变参数的原理:可变参数的底层就是一个数组,根据传递参数个数不同,会创建不同长度的数组,来存储这些参数,传递参数的个数可以是0个(不传递),1,2...多个p31...
2021-10-16 11:09:07
73
原创 Set接口
一、特点:(1)不允许包含重复元素 (2)没有索引,没有带索引的方法,也不能使用普通的for循环遍历二、实现类 1.HashSet特点:(1)不允许包含重复元素 (2)没有索引,没有带索引的方法,也不能使用普通的for循环遍历 (3)是一个无序的集合,存储元素与取出元素的顺序有可能不一致 (4)底层是一个哈希表结构(查询的速度非常的快)...
2021-10-12 20:47:07
138
原创 List接口
一、特点: (1)List集合是一个有序的集合(存储和取出元素的顺序是一致的) (2)有索引,包含了一些带索引的方法(add、get、remove、set) (3)允许存储重复元素二、注意:操作索引的时候一定要防止索引的越界异常三、List集合的实现类: 注意:实现不是同步的,是多线程,速度较快 (1)ArrayList集合数据存储的结构是数组结构,元素增删慢,查找快 (2)LinkerList...
2021-10-09 20:27:14
248
原创 数据结构.
一、常见的数据结构 1.数据存储的常用结构有:栈、队列、数组、链表和红黑树 2.栈:先进后出 入口和出口在同一侧:入/压栈:123; 出/弹栈:321 3.队列:先进先出 入口和出口在集合的量测:存储:123;取出:123 4.数组:特点:查询快,增删慢 查询快:数组的数据是连续的,我们通过数组的首地址可以找到数组,通过数组的索引可以...
2021-10-09 18:50:04
73
原创 Collection集合
Collection集合一、概述 1.集合是Java中提供的一种容器可以用来存储多个数据 2.集合和数组的区别: 数组的长度是固定的,集合的长度是可变的 数组中存储的是同一类型的元素,可以存储基本数据类型值,集合存储的都是对象,而且对象的类型可以不一致,在开发中一般当对象多的时候,使用集合进行存储二、集合框架 Collection接口的子接口包括List接口和Set接口,List接口又有Vector集合,ArrayList集合,LinkedList集合;Set...
2021-10-09 16:24:54
62
原创 基本类型包装类
一、包装类的概念: 1.基本数据类型使用起来非常方便,但是没有对用的方法来操作这些基本数据类型,可以使用一个类,把基本类型的数据装起来,在类中定义一些方法,这个类叫做包装类,我们可以使用类中的方法来操作这些基本类型的数据 2.基本数据类型一共有八类对应的包装类也有八类对应的包装类位于java.lang包中,int-->Integer,char-->Character其余的基本类型对应的包装类都是首字母大写二、装箱与拆箱 1.装箱:从基本类型数据转换为对应的包装类对象 ...
2021-10-08 19:36:10
429
原创 StringBuilder类
一、String类:字符串是常量:他们的值在创建之后不能更改(字符串的底层是一个被final修饰的数组,不能改变,是一个常量) 进行字符串的相加,内存中就会有多个字符串,占用空间多的效率底下:(String s="a"+"b"+"c" [其中就有五个字符串 "a" "b" "c" "ab" "abc"])二、StringBuilder类:字符串缓冲区,可以提高字符串的操作效率(看成是一个长度可以变化的字符串,底层也是一个数组,但是没有final修饰,可以改变长度) StringB...
2021-10-08 19:34:54
92
原创 System类
一、java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作二、常用的方法: (1)public static long currentTimeMillis():返回以毫秒为单位的当前时间 【用来测试程序的效率】 (2)public static void arraycopy(Object src,int src,int srcPos,Object dest,int destPos,int lenth):将数组中指定的数据拷贝到另一个数组中 ...
2021-10-08 19:33:15
78
原创 Calendar类
一、Calendar类概述 1.java.util.Calendar是日历类,在Date后出现,替换掉了许多Date方法,该类将所有了能用到的时间信息封装成为静态成员变量,方便获取,日历类就是方便获取各个时间属性的 2.Calendar类是一个抽象类,里面提供可很多操作日历字段的方法(YEAR/MONTH/DAY-OF-MONTH/HOUR) 3.Calendar类无法直接创建对象使用,里面有一个静态的方法叫getInstance()方法【Calendar rightNow=Cal...
2021-10-08 19:31:42
605
原创 毫秒值的概念和作用
一、概述: 1.Date类表示特定的瞬间,精确到毫秒 2.java.util.Date:表示日期和时间的类 3.毫秒:千分之一秒,1000毫秒=1秒 4.特定的瞬间:一个时间点,一刹那时间 5.毫秒值的作用:可以对时间和日期进行计算 【可以把日期转换成毫秒。计算完毕后再把毫秒转换为日期】 6. 时间原点是英国格林威治,中国属于东八区,会把按时间增加八小时二、Date类的构造方法和成员方法 1.Date类的空参数构造方法;Date()获取当前系统的...
2021-10-08 19:30:11
973
原创 Object类
一、Object类里面的ToString方法 1.包:java.lang.Object 2.Object类是一切子类都可以使用的 3.public String toString( ) 默认返回的是堆内存中的地址信息;默认地址信息格式:类的全限名(包名+类名)@内存地址 4.直接调用toString方法(对象名.toString)返回的是对象在内存中的地址 5.直接输出对象名称,默认会自动调用toString()方法,所以toString()可以省略...
2021-10-08 19:27:56
58
原创 内部类..
一、如果一个事物的内部包含另一个事物,那么这就是一个类包含另一个类二、分类: 1.成员内部类 2.局部内部类(包含匿名内部类)三、 1.成员内部类的定义格式: 修饰符 class 外部类名称{ 修饰符 class 内部类名称{ //... } //... } 2.注意:内用外随意访问,外用内,需要内部类对象 3.若Body是外部类、Heart是内部类的时候编译生成的class文...
2021-10-08 19:22:50
141
原创 四种权限修饰符
一、Java中有四种权限修饰符: public > protected > (default)什么都不写 > private同一个类 YES YES YES YES同一个包 YES YES YES NO...
2021-10-08 19:16:00
61
原创 final关键字
一、final关键字代表最终、不可改变的二、常见的四种方法: 1.可以用来修饰一个类 2.可以用来修饰一个方法 3.还可以用来修饰一个局部变 量 4.还可以用来修饰一个成员变量三、当final关键字用来修饰一个类 1.格式: public final class 类名称{ //... 2.含义:当前这个类不能有任何子类(太监类),但是可以有父类 3.注意:如果一个类是final类,那么其中所有的成员方法都不能进行覆盖重写...
2021-10-08 19:09:11
85
原创 多态...
一、面向对象的三大特征:封装性、继承性、多态性 extends继承或者implements实现是多态性的前提二、一个对象拥有多种形态,这就是对象的多态性三、多态的格式与使用 1.代码当中体现多态性,其实就是一句话,父类引用指向子类对象 2.格式: 父类名称 对象名=new 子类名称(); 或者 接口名称 对象名=new 实现类名称(); 3.在方法中,new的谁就运行谁,没有则向上找 【 Fu obj=new Z...
2021-10-06 19:41:06
84
原创 接口...
一、接口就是一种公共的规范标准(只要符合规范标准,就可以大家公用)二、接口的概念:接口就是多个类的公共规范;接口是一种引用数据类型,最重要的内容就是其中的抽象方法三、定义一个接口的格式: public interface 接口名称:{ //接口内容 } 备注:换成了关键字interface之后,编译生成的字节码文件仍然是: .Java-->.class四、如果是Java7那么接口中包含的内容有: 1.常量 2.抽象方法 ...
2021-10-06 19:36:49
92
原创 抽象类..
一、抽象方法:就是加上abstract关键字,然后去掉大括号,直接分号结束。二、抽象类:抽象方法所在的类,必须是抽象类才行,,在class前面加上abstract即可三、如何使用抽象类和抽象方法: 1.不能直接创建new抽象类对象 2.必须用一个子类来继承父类 3.子类必须覆盖重写父类当中所有的抽象方法 覆盖重写(实现):子类去掉抽象方法中的abstract关键字,然后补上方法大括号 4.创建子类对象进行使用四、注意事项: 1.抽象类不能创建对象,如...
2021-10-06 19:32:35
57
原创 继承...
一、面向对象的三大特征:封装性、继承性、多态性二、继承是多态的前提,如果没有继承,就没有多态三、继承主要解决的问题是共性抽取 父类(基类,超类)——>子类(派生类)四、1继承关系中的特点 1.子类可以拥有父类的”内容“ 2.子类还可以拥有自己专有的内容五、继承的格式 1.在继承的关系中,“子类就是一个父类”,也就是说子类可以被当作父类看待(例如:父类是员工,子类是讲师,那么“讲师就是一个员工” 关系:is-a) 2.定义父类格式(一个普通的类定义)...
2021-10-06 19:24:29
54
原创 static静态
一、如果一个成员变量使用了static关键字,那么这个变量不再属于自己,而是属于所在的类,多个对象共享同一份数据二、一旦使用static修饰成员方法,那么这就成为了静态方法,静态方法不属于对象,而是属于类的三、如果没有static关键字,那么必须首先创建对象,然后通过对象才能使用他 如果有了static关键字不需要创建对象,直接就能通过类名称进行使用 对于静态方法来说,可以通过对象名进行调用,也可以直接通过类名称来调用 比如说已经构造了MyClass类,obj是对象...
2021-10-06 19:15:13
86
原创 String类
一、API中说Java程序中的所有字符串字面值(如”abc“)都作为此类的实例实现 其实就是说:程序当中所有的双引号字符串,都是String类的对象,(就算没有new也照样是)二、字符串的特点: 1.字符串的内容永不可变。 【重点】 2.正是因为字符串不可改变,所以字符串时可以共享使用的 3.字符串效果上是char[ ]字符数组,但是底层原理是Byte[ ]字节数组一、API中说Java程序中的所有字符串字面值(如”abc“)都作为此类的实例实现 其...
2021-10-06 18:58:18
40
原创 random的基本使用
一、random类用于生成随机数字二、使用的三个步骤 1.导包【import java.util.Random;】 2.创建【Random r=new Random();//小括号中留空即可】 3.使用:获取一个随机的int数字(范围是int所有范围,有正负两种):int num=r.nextInt() ...
2021-10-06 18:52:53
7977
原创 匿名对象.
一、格式 new 类名称();【new Person( ).name="Karry"】二、匿名对象只能使用唯一一次,下次再用不得不再次创建一个新的对象三、使用建议、如果确定某一个对象只需要使用唯一的一次,就可以使用匿名对象四、使用匿名对象来传参:methodparam(new Scanner(System.in)) 【在方法中写sc.nextInt();然后点击alt回车选择第一个introduce 会自动生成一个变量】...
2021-10-06 18:50:11
51
原创 Scanner
一、Scanner类的功能:可以实现键盘输入到程序当中 二、引用类型的一般使用步骤 1.导包:import 包路径.类名称;【import java.util.Scanner】如果需要使用目标类,和当前类位于一个包下,则可以省略导包语句不写;java.lang下的类不需要导包,其他都需要import语句 导包语句的位置要在package 之后写但要在public class之前写 2.创建:类名称 对象名=new 类名称();【Sc...
2021-10-06 18:46:09
54
原创 API...
一、概述 API:应用程序编程链接窗口;可以通过查询API的方式来学习java提供的类,并得知如何使用他们二、API使用步骤 1.打开帮助文档 2.点击显示,找到索引,看到输入框 3.你要找谁?在输入框里输入然后回车 4.看包,java.lang下的类不需要导包,其他都需要 5.看类的解释和说明 6.学习构造方法 7.使用成员方法三、看什么 1.看包路径(看是lang、util还是......)2.看构造方法3看普通的成员方法...
2021-10-06 18:43:36
52
原创 定义一个标准的类
一、一个标准的类通常要有下面四个组成部分 (1)所有的成员都要使用private关键字修饰 (2)为每一个成员变量编写一对儿getter/setter方法 (3)编写一个无参数构造方法 (4)编写一个全参数构造方法二、自动生成代码 (1)成员变量自己写剩下的都可以自动生成;鼠标点击上方的code点击generate(或者快捷键alt+insert)...
2021-08-26 17:47:24
72
原创 构造方法笔记
一、构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法二、构造方法的格式:public 类名称(参数类型 参数名称){ 方法体}三、注意事项 (1)构造方法的名称必须和所在的类的名称完全一样,就连大小写也要一样 (2)构造方法不要写返回值类型,连void都不要写 (3)构造方法不能return一个具体的返回值 (4)如果没有编写任何构造方法那么编译器将会默认赠送...
2021-08-26 17:40:22
64
原创 this关键字
一、当方法的局部变量和类的成员变量重名的时候,根据就近原则,优先使用局部变量,如果需要访问本类中的成员变量需要使用格式:this.成员变量名,成员变量前要写this.而局部变量前什么都不用写二、this变量解决重名分不开的问题三、通过谁调用的方法谁就是this.(写在方法内部)...
2021-08-26 17:23:01
40
原创 private关键字的作用及使用
一、使用private关键字可以将需要保护的成员变量进行修饰二、一旦使用了private进行修饰,那么本类当中仍然可以随意访问,但是超出本类范围外的就不能再直接访问了 (private int age超出int范围就不能访问了)三、间接访问private成员变量,就是定义一对儿getter/setter方法,命名规则getXxx/setXxx对于基本类型中的Boolean值,getter方法一定要写成isXxx的形式而setterXxx规则不变举例:...
2021-08-26 17:11:25
5444
原创 面向对象的三大特征之封装性
一、面向对象的三大特征:封装、继承、多态二、封装性在Java中的体现: (1)方法就是一种封装 (2)关键字private也是一种封装三、封装就是将一些细节信息隐藏起来,对于外界不可见...
2021-08-26 16:37:23
160
原创 成员变量和局部变量的区别
一、定义的位置不同 (1)局部变量:在方法的内部 (2)成员变量:在方法的外部,直接写在类当中二、作用的范围不一样 (1)局部变量:只有方法当中才可以使用,出了方法就不能用 (2)成员变量:整个类全都可以使用三、默认值不一样 (1)局部变量:没有默认值 (2)成员:变量:如果没有赋值,会有默认值,规则和数组一样 (3)注意:方法在方法调用的时候必然会被负值的...
2021-08-26 16:26:57
453
原创 类和对象的关系
一、(1)类的概念:类是一组相关属性和行为的集合,可以看成是一类事物的模板,使用事务特征和行为特征来描述该类事物 属性(是什么):名字,体重,年龄,颜色 行为(做什么):走,跑,叫(2)对象的概念:对象是一类事物的具体体现,对象是类的一个实例,必然具备该事物的属性和行为二、类与对象的关系 (1)类是对一类事物的描述,是抽象的 (2)对象是一类事物的实例,是具体的 ...
2021-08-26 14:58:09
8320
原创 面向对象思想
一、面向对象思想的概述 1.面向过程:当需要实现一个功能的时候,每一个具体的步骤都需要亲力亲为,详细处理每一个细节 2.面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人来帮我做事。 (找一个JDK给我们提供好的Arrays类,其中有一个toString的方法直接就能把数组变成想要格式的字符串)二、面向对象思想的特点 面向对象是一种更符合我们思考的习惯的思想,它可以将复杂的事情简单化,并将我们从执行者变成了指挥者,...
2021-08-24 16:28:21
47
原创 数组Array
一、数组概念:是一种容器,可以同时存放多个数据值;二、数组的特点 (1)数组是一种引用类型数据 (2)数组当中的多个数据,类型必须统一 (3)数组的长度在程序运行期间不可改变三、数组的定义格式 (1)数组的初始化:在内存当中创建一个数组,并且向其中赋予一些默认值。 (2)两种常见的初始化方式:A:动态初始化(指定长度) ...
2021-08-24 11:38:11
282
原创 方法重载(overload)
一、方法的重载:多个方法的名称一样,但是参数列表不一样 好处:只需记住唯一一个方法名称,就可以实现类似的多个功能二、方法重载与下列因素有关 1.参数的个数不同 2.参数类型不同 3.参数的多类型数据顺序不同三、方法重载与下列因素无关 1.与参数的名称无关 2.与方法的返回值类型无关四、、判断...
2021-08-22 16:13:02
63
原创 方法复习笔记
一、1.输出语句中的println中的ln是换行的意思 2.循环五次直接写5for回车会自动补全二、 1.方法就是若干语句的功能集合 2.参数:进入方法的数据 3.返回值:从方法中出来的数据 4.(1)定义方法的完整格式 修饰符 返回值类型 方法名称(参数类型 参数名称,...){ 方法体 return返回值;...
2021-08-22 10:53:49
333
原创 开发工具—IDEA
一、开发工具IntelliJ IDEA1.用途:专门针对Java的集成开发工具(IDE),有Java语言编写2.集成开发环境(IDE):是一种专门用来提高Java开发效率的软件3.免费的IDE当中:Eclipse 收费的IDE当中:IntelliJ IDEA(免费收费中全世界用的最多的)4.5.可以自动生成代码 非常方便且随时自动保存 public static void main(string[] args){}可缩写成 psvm+回车 输出语句可以缩...
2021-08-21 10:55:33
3815
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人