
JAVA笔记
文章平均质量分 59
java笔记
起名方面没有灵感
芝兰生于空谷 不以无人而不芳
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JAVA:多线程与数据安全
JAVA:多线程一、进程概论二、线程概论三、多线程的实现方式1、Thread(线程类)(1)Thread构造方法(2)Thread常用方法及其使用案例2、通过实现Runnable接口四、线程的生命周期五、线程同步案例:卖票(锁操作与数据安全问题)1、同步方法2、线程安全的类3、Lock锁六、多线程协作案例:生产者与消费者问题一、进程概论 进程就是指正在运行的程序的实例。当我们打开任务管理器的时候,在进程这一栏我们可以看到当前运行的所有进程,这些被我们称为进程。并且进程是系统进行资源分配和调用的独原创 2021-12-31 20:36:08 · 827 阅读 · 0 评论 -
JAVA IO流:字节流、字符流、缓冲流
IO流:字节流、字符流、缓冲流IO流一、IO流概论二、字节流概论(一)FileOutputStream(二)FileInputStream三、字节缓冲流概论(一)BufferedOutputStream(二)BufferedInputStream四、字符流概论(一)编码表(二)OutputStreamWriter(三)InputStreamReader(四)字符流中的编码解码问题(五)FileWrite 与 FileReader五、字符缓冲流概述(一)BufferedWriter(二)BufferedRea原创 2021-11-10 07:38:28 · 1875 阅读 · 8 评论 -
JAVA入门之数据结构(Set集合)笔记(36)
JAVA数据结构之Set集合一、Set集合概论和特点Set集合特点不包含重复元素的集合没有带索引的方法,所以不能使用普通for循环遍历Set集合是一个接口,不能实体化,所以若要实体化,则需要找到它的实现类——HashSet二、HashSet该类实现Set接口,由哈希表(实际为HashMap实例)支持。 对集合的迭代顺序不作任何保证; 特别是,它不能保证订单在一段时间内保持不变。 这个类允许null元素。遍历字符串演示package Set;import java.util.Ha原创 2021-10-15 21:06:32 · 520 阅读 · 14 评论 -
JAVA入门之Collection集合 笔记(35)
Collection集合一、 集合类体系结构二、Collection集合的概述三、Collection集合常用方法1、add——添加元素2、remove——移除指定元素3、clear——清空集合中所有元素4、contains——判断集合是否存在某个元素5、 isEmpty——判断集合是否为空6、size——集合长度四、Collection集合的遍历一、 集合类体系结构在接下来的学习中,会先学接口,在使用的时候会使用具体的实现类在List接口下,之前学习了ArrayList集合,想回顾的请点击Arr原创 2021-09-03 20:30:29 · 714 阅读 · 12 评论 -
JAVA入门之异常 笔记(34)
异常一、异常概念引入二、Throwable类三、异常处理1. try...catch..finally2. throws3.总结四、Throwable的成员方法1、getMessage——用于输出异常的原因2、toString——用于输出异常的类名以及异常原因3、printStackTrace——把异常信息输出五、编译异常与运行异常六、自定义异常七、throws和throw的区别一、异常概念引入package TEXT;public class Demo { public static vo原创 2021-09-01 22:01:59 · 863 阅读 · 9 评论 -
JAVA入门之日期类 笔记(33)
日期类一、Date类概述和构造方法1. Date类常用方法2. SimpleDateFormat类概述3. SimpleDateFormat的构造方法4. SimpleDateFormat格式化和解析日期二、Calendar类概述1.常用方法(1) get方法(2) add方法(3)set方法一、Date类概述和构造方法Date类代表了一个特定的时间,以毫秒的精度。package TEXT;import java.util.Date;public class DateDemo {原创 2021-08-18 09:47:26 · 146 阅读 · 1 评论 -
JAVA入门笔记之自动装箱和拆箱 笔记(32)
自动拆箱和装箱一、概论二、装箱与拆箱总结一、概论装箱:把基本数据类型转化为对应的包装类类型拆箱:把包装类类型转化为对应的基本数据类型二、装箱与拆箱package TEXT;import java.util.Arrays;public class IntegerDemo { public static void main(String[] args) { //手动装箱 Integer i1 = Integer.valueOf(100);原创 2021-08-16 17:31:39 · 128 阅读 · 1 评论 -
JAVA入门之基本类型包装类 笔记(31)
基本类型包装类一、基本类型包装类概论二、Integer概论1.Integer常用的成员常量(1)MIN_VALUE、MAX_VALUE2. Integer常用的方法(1) valueOf(int/String a) 用于静态获取对象(构造一个int对象)三、int和String的相互转化1. int转化为String2. String转化为int(1)intValue()返回 Integer的值作为 int(2) parseInt(String s) 将字符串参数解析为带符号的十进制整数四、字符串中数据排序原创 2021-08-16 17:19:27 · 131 阅读 · 0 评论 -
JAVA入门之常用的API 笔记(30)
常用API一、API概论二、Math1. Math中常用方法(1)、abs:绝对值(2)、 ceil:返回一个最小的(最接近负无穷打)double数值,**该数值大于或者等于该参数,并等于某个整数**(3)、floor:返回小于或者等一参数的最大(最接近正无穷大)double值,等于一个数学整数(4)、min/max:返回两个int/long/float/double类型的最小值或者最大值(5)、round:返回最接近int/long的参数,其中int/long四舍五入为正无穷大(6)、random:返回d原创 2021-08-16 15:55:05 · 621 阅读 · 7 评论 -
JAVA入门之内部类 笔记(29)
内部类一、内部类概论二、内部类的访问特点三、成员内部类四、局部内部类五、匿名内部类六、匿名内部类的应用一、内部类概论内部类:就是在一个类中定义一个类。举例:在一个类A的内部定义一个类B,类B就被称为内部类二、内部类的访问特点内部类可以直接访问外部类的成员,包括私有外部类要访问内部类的成员,必须创建对象下面展示一些 内联代码片。package TEXT;public class Outer { //外部类私有变量 private int num = 20;原创 2021-08-13 15:57:51 · 117 阅读 · 0 评论 -
JAVA入门之接口和类与抽象类的区别、关系 笔记(28)
一、类和接口的关系类和类的关系:继承关系,只能单继承,但是可以多层继承类和接口的关系:实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口(public class 类名 implements 接口1, 接口2, 接口3, …)接口与接口的关系:继承关系,可以单继承,也可以多继承(public interface 接口名 extends 接口1, 接口2, 接口3, …)二、抽象类和接口的区别成员区别类型成员接口常量;抽象方法抽象类变量,原创 2021-08-13 15:02:27 · 130 阅读 · 0 评论 -
JAVA入门之接口 笔记(27)
接口一、接口概述二、接口的特点三、接口的成员特点四、例子一、接口概述说起接口,我们不由自主就会想到笔记本上的USB接口或者墙壁上的接口,而在JAVA中的接口与现实中的接口有相似之处,都是一种公共的规范标准,只要符合规范标准,大家都可以通用但是JAVA中的接口更多体现在对行为的抽象二、接口的特点接口用关键词interface(public interface 接口名{ })修饰类实现接口用implements表示(public class 类名 implements 接口名{ })接口不能原创 2021-08-12 09:48:58 · 119 阅读 · 0 评论 -
JAVA入门之抽象类 笔记(26)
什么是抽象类一、抽象类概论二、抽象类的特点三、抽象类的成员特点四、抽象类猫和狗案例演示一、抽象类概论抽象的中文含义是是不具体的、太笼统的、细节不明确的意思,在JAVA里面也可以理解成这个意思。在前面的Animal类中定义了eat方法,但是笼统的动物应该是不具备eat方法的,只有Cat、Dog这些具体对象才具备具体的eat方法,所以我们之前在多态的设计是有问题的,因此我们应该在Animal对象中声明eat方法,然后在Cat或者Dog具体对象中再重写eat方法,这样就比较合理因此我们引入抽原创 2021-08-11 17:01:32 · 120 阅读 · 0 评论 -
JAVA入门之多态 笔记(25)
面向对象之多态一、多态概述二、案例展示三、多态中成员访问特点四、多态中成员访问特点案例演示五、多态的好处和弊端六、多态的好处和弊端案例演示七、多态中的转型一、多态概述多态,根据名字我们就可以知道这是什么。就是说同一个对象,在不同时刻表现出不同的形态举例:猫我们可以说猫是猫:猫 cat = new 猫();我们也可以说猫是动物:动物 animal = new 猫();这里猫在不同时刻表现出不同的形态,这我们称之为多态多态的前提和体现有继承/实现关系有方法重写有父类引用指向子原创 2021-08-10 16:44:11 · 153 阅读 · 0 评论 -
JAVA入门之修饰符 笔记(24)
修饰符一、包的概述二、包的使用三、导包四、状态修饰符(final关键字)五、final修饰特点六、final修饰局部变量(相当于C语言的define)七、状态修饰符(static关键字)八、static访问特点一、包的概述包其实就是文件夹作用:对类进行分类管理二、包的使用包的定义格式:格式:package 包名;(多级包用.分开)范例:package com.demo;带包的JAVA类编译和执行手动建包:按照以前的格式编译JAVA文件原创 2021-08-08 10:15:45 · 114 阅读 · 0 评论 -
JAVA入门之继承 笔记(23)
继承一、什么是继承二、继承概述三、继承代码演示四、继承的好处和弊端五、什么时候使用继承六、继承中变量的访问特点七、super八、继承中构造方法的访问特点(1)九、继承中构造方法的访问特点(2)十、方法重写十一、方法重写注意事项一、什么是继承继承是是面向对象三大特征之一。可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法。二、继承概述继承的格式1. 格式:public class 子类名 extends 父类名2. 范例:public class Zi extends F原创 2021-08-06 11:01:55 · 136 阅读 · 0 评论 -
JAVA入门之集合 笔记(22)
集合案例引入ArrayList构造方法和添加方法ArrayList集合常用方法ArrayList集合遍历案例引入有一个人在考试中考了满分100分, 要想存储这个分数, 我们定义一个变量就可以了。 但是考试不会只有一个人考试的, 会有很多人考试, 要想存储这些分数数据, 我们不由而又想到数组, 但是数组有个缺点, 就是数组长度是固定的, 不能发生改变的, 假如考试中有一个人生病没去考试, 那么,存储分数的数组将会有一个没存储任何数据, 这就会造成空间的浪费。而这时候,我们可以选择使用集合来存储集合的原创 2021-08-05 09:45:04 · 163 阅读 · 0 评论 -
JAVA入门之StringBuilder 笔记(21)
StringBuilder引言StringBuilder构造方法StringBuilder的添加和反转方法String和StringBuilder的相互转化引言在对字符串的操作,例如字符串的拼接package STRING;public class StringDemo4 { public static void main(String[] args) { String s = "hello"; s += "world"; System.ou原创 2021-08-04 16:07:15 · 124 阅读 · 0 评论 -
JAVA入门之拼接字符串 笔记(20)
拼接字符串需求思路代码演示需求定义一个方法,把int数组中的数据按照指定的格式拼接成一个字符串返回,调用该方法,并在控制台输出结果,例如,数据int[] arr = {1, 2, 3};执行方法后的输出结果为:[1, 2, 3]思路定义一个int类型的数组,用静态初始化完成数组元素的初始化定义一个方法, 用于把int数组中的数据按照指定类型格式拼接成一个字符串返回。返回类型String,参数列表int[] arr在方法中遍历数组,按照要求进行拼接调用方法,用一个变量接收结果输入结果代码原创 2021-08-04 10:33:09 · 119 阅读 · 0 评论 -
JAVA入门之遍历字符串 笔记(19)
遍历字符串知识补充代码演示知识补充遍历字符串,首先要能够获得字符串中的每一个字符public char charAt(int index): 返回指定索引的char值,字符串的索引也是从0开始的代码演示package STRING;import java.util.Scanner;public class StringDemo1 { public static void main(String[] args) { Scanner sc = new Scanner原创 2021-08-03 16:09:26 · 131 阅读 · 0 评论 -
JAVA入门之字符串比较 笔记(18)
字符串比较使用 == 比较使用equals()方法比较案例演示使用 == 比较基本类型:比较的是数据值是否相同引用类型:比较的是地址值是否相同什么是基本类型和引用类型呢?请看JAVA入门之基本数据类型 笔记(3)使用equals()方法比较字符串是对象,他比较内容是否相同,是通过一个方法来实现的,这个方法叫:equals()public boolean equals(Object anObject):将此字符串与指定对象进行比较,由于我们比较的是字符串对象,使用参数直接传递一个字符原创 2021-08-03 14:58:50 · 187 阅读 · 0 评论 -
JAVA入门之构造方法 笔记(17)
构造方法构造方法概述代码演示注意事项演示各种构造方法构造方法概述Student( )说明这个是一个方法,这个方法比较特殊,是以类名命名的,这就是构造方法。因此,构造方法是一个特殊的方法。作用:创建对象构造方法的功能主要是完成对象数据的初始化代码演示package STUDENT;public class Student { String name; private int age; //构造方法 public Student(){原创 2021-08-02 14:37:58 · 115 阅读 · 0 评论 -
JAVA入门之this关键字 笔记(16)
this关键字案例引入分析原因解决方法案例引入在对象类的代码中public class Student { String name; private int age; public void setAge(int age){ age = age; } public int getAge(){ return age; } public void study(){ System.out.println原创 2021-08-02 10:20:54 · 243 阅读 · 0 评论 -
JAVA入门之private关键字 笔记(15)
private关键字private关键字作用实例演示private关键字作用1.是一个权限修饰符2.可以修饰成员(成员变量和成员方法)3.作用是保护成员不被其他类使用,被private修饰的成员只在本类中才能访问针对private修饰的成员变量,若干个需要被其他类使用,提供相应的操作1.提供“ get变量名() ”方法,用于获得成员变量的值, 方法用public修饰2.提供“ set变量名(参数) ”方法, 用于设置成员变量的值, 方法用public修饰实例演示这是没用private原创 2021-08-02 09:33:39 · 257 阅读 · 0 评论 -
JAVA入门之成员变量与局部变量 笔记(14)
成员变量与局部变量定义成员变量和局部变量的区别定义成员变量:类方法外的变量局部变量:方法中的变量红色为成员变量蓝色为局部变量成员变量和局部变量的区别区别成员变量局部变量类中位置不同类中方法外方法内或者方法声明上内存中位置不同堆内存栈内存生命周期不同随着对象的存在而存在,随着对象的消失而消失随着方法的调用而存在,随着方法的调用完毕而消失初始化值不同有默认的初始化值没有默认的初始化值,必须先定义,赋值,才能使用...原创 2021-08-02 08:47:10 · 147 阅读 · 0 评论 -
JAVA入门之类和对象 笔记(13)
面向对象什么是类什么是对象的属性什么是对象的行为类与对象的关系类的定义类的定义步骤类的定义代码演示对象的使用什么是类 类是对显示生活中一类具有共同属性和行为的事物抽象 类的特点 1.类是对象的数据类型 2.类是具有相同属性和行为的一组对象的集合什么是对象的属性 属性:对象具有的各种特征, 每个对象的每个属性都拥有特点的值 比如:一台手机就是一个对象,而手机的价格、品牌等就是该对象的属性 什么是对象的行为 行为:对象能够执行的操作 比如上面说到的原创 2021-07-31 23:00:05 · 156 阅读 · 0 评论 -
JAVA入门之方法重载 笔记(12)
方法重载方法重载的概述方法重载代码例子方法重载的概述方法重载是指同一个类中定义的多种方法的关系,满足以下条件的多个方法相互构成的重载。1.多个方法在同一个类中2.多个方法具有相同的方法名3.多个方法的参数不相同,类型不同或者数量不同下面列举一些例子方法重载代码例子//方法重载例子public class Sum { public static void main(String[] args) { //需求1 int sum1 = getSum(10, 10原创 2021-07-28 15:38:50 · 257 阅读 · 0 评论 -
JAVA入门之数组动、静态初始化以及计算数组长度的方法 笔记(11)
这里写目录标题动态初始化数组元素访问内存分配数组初始化值静态初始化数据的操作动态初始化动态初始化:初始化只指定数组长度,由系统为数组分配初始值格式:数据类型 [ ] = new 数据类型[ 数组长度 ] ;范例: int[ ] arr = new int[ 3 ];左边:1.int:说明数组钟的元素类型是int类型2.[ ]:说明这是一个数组3.arr:这是数组的名称右边:new:数组申请的内存空间int:说明数组钟的元素类型是int类型[ ]:说明这是一个数组3:数组长度,其实就原创 2021-07-26 16:17:04 · 548 阅读 · 0 评论 -
JAVA入门之数组定义格式 笔记(10)
数组的定义格式数组的两种定义格式区别数组的两种定义格式格式一:数据类型[ ] 变量名范例:int[ ] arr格式二:数据类型 变量名[ ]范例: int arr[ ]区别格式一:定义了一个int类型的数组,数组名是arr格式二:定义了一个int类型的变量,变量名是arr数组...原创 2021-07-26 14:10:55 · 90 阅读 · 0 评论 -
JAV入门之IDEA的快捷键与辅助键 笔记(9)
快捷键与辅助键快捷键内容辅助键快捷键快捷键**快速生成语句**快速生成main()方法 : psvm + 回车快速生成输出语句: sout + 回车内容辅助键ctrl + Alt + space(内容提示,补全代码)当输入sout没有及时按回车,而是输入了其他东西这再按回车也没用这时候输入内容辅助键就会再次出现按回车自动生成输出语句快捷键1.注释单行:选中代码 : Ctrl + /,再来一次,就是取消多行:选中代码,Crtl + Shift + /, 再来一次,就是取消2.原创 2021-07-26 11:43:30 · 270 阅读 · 0 评论 -
JAVA入门之IDEA软件使用方法 笔记(8)
HelloWorld案例使用步骤使用步骤1.打开IDEA2.创建新项目3.选择空项目4.输入项目名已经项目存储路径5.选择模块,并选择添加新模块6.选择下一步7.输入模块名以及存储的位置点击完成再点击确定8.新建包对这里右键选择新建包输入包的名字,回车确认就会出现一个新包9.新建class对新建的包右键,新建一个类输入类的名字,回车确定10.输入代码往里面输入代码11.运行代码在代码区域,右键,选择运行运行结果如下...原创 2021-07-26 11:13:01 · 133 阅读 · 0 评论 -
JAVA入门之Random 笔记(7)
Random数据输入的主要步骤演示数据输入的主要步骤JAVA的数据输入与C语言不同,进行数据输入的操作要比C语言多一点步骤。JAVA数据输入有以下步骤:导包import java.util.Random; 导包的动作必须出现在类定义的上边。创建对象Scanner r = new Random();上面这个格式里面,只有r是变量名可以变,其他的都不允许变。接收数据int number = r.nextInt(10);上面这个格式里面,只有x是变量名,可以变,其他的都不允许变原创 2021-07-25 17:25:48 · 117 阅读 · 0 评论 -
JAVA入门之数据输入Scanner 笔记(6)
数据输入数据输入的主要步骤演示数据输入的主要步骤JAVA的数据输入与C语言不同,进行数据输入的操作要比C语言多一点步骤。JAVA数据输入有以下步骤:导包import java.util.Scanner; 导包的动作必须出现在类定义的上边。创建对象Scanner sc = new Scanner(System.in);上面这个格式里面,只有sc是变量名可以变,其他的都不允许变。接收数据int x = sc.nextInt();上面这个格式里面,只有x是变量名,可以变,其他的原创 2021-07-24 15:22:47 · 350 阅读 · 0 评论 -
JAVA入门之逻辑运算符 笔记(5)
逻辑运算符逻辑运算符的种类注意事项逻辑运算符的种类逻辑运算符名称功能&逻辑与a&b,a和b都是true,结果为true,否则为false&&短路逻辑与a&&b,a和b都是true,结果为true,否则为false^逻辑异或a^b,a和b的结果不同为true,相同为false!| 逻辑非 |!a,结果与a的结果相反还有就是 | 逻辑或 a|b,a和b都是false,结果为false,否则为true|原创 2021-07-23 15:36:20 · 119 阅读 · 0 评论 -
JAVA入门之字符串的+操作 笔记(4)
字符串的+操作案例演示总结案例演示下面展示一些 演示代码。public class StringAdd{ public static void main(String[] agrs){ System.out.println("Hello" + "Wrold"); System.out.println("Hello" + 666); System.out.println("Hello" + 66 + 100); System.out.println(66 + 100 +"Hello")原创 2021-07-22 17:18:39 · 160 阅读 · 0 评论 -
JAVA入门之基本数据类型 笔记(3)
JAVA基本数据类型分类注意事项分类数据类型关键字内存占用取值范围字节型byte1个字节-128~127短整型short2个字节-32768~32767整型int(默认)4个字节- 231 ~ 231 -1长整型long8个字节- 263 ~ 263 -1单精度浮点数float4个字节1.4013E-45 ~ 3.4028E+38双精度浮点数float8个字节4.9E-324 ~ 1.7977E+308字原创 2021-07-22 10:54:01 · 120 阅读 · 0 评论 -
JAVA入门之标识符与常量 笔记(2)
标识符与常量标识符的定义标识符的规则(硬性规则)三级目录标识符的定义标识符是指字程序中,自己定义的内容。比如类的名字、方法的名字和变量的名字等等,都是标识符。在前面的HelloWorld案例中,出现的有类的名字HelloWrold,这个类的名字就可以称之为标识符下面展示 HelloWrold案例的代码。public class HelloWorld{ public static void main(String[] args){ System.out.println("Hello wold原创 2021-07-21 16:07:44 · 233 阅读 · 0 评论 -
JAVA入门之HelloWorld案例 笔记(1)
JAVA入门前言新建txt文档编译程序前言在完成JAVA环境的配置之后(如果不会JAVA环境的配置可以执行百度,超简单,如果还是不会可以找我),我们就要尝试用JAVA写一个代码。身为一个程序猿,如无意外,我们的第一个程序肯定是要献身给“Hello world”的,因此,下面我来介绍一下如何用cmd来编译运行java程序,准备好了喔,开始出发了新建txt文档首先,我们新建一个txt文档,在里面输入以下代码public class HelloWorld{ public static void mai原创 2021-07-21 10:16:11 · 336 阅读 · 0 评论