![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java学习笔记
前方请直行
这个作者很懒,什么都没留下…
展开
-
IO流练习--文本文件及图片复制
IO流练习–文本文件及图片复制1.思路使用IO流复制文件可以总结为以下步骤1.创建输入流,与要读取的源文件建立关联,2.创建输出流,与要写入目标文件建立关联3.创建中间变量用于临时存储读取的数据4.从源文件中读取数据存入临时变量5.把临时变量存储的数据存入目标文件6.关闭流按照以上步骤运用字符流与字节流方法即可2.字符流复制文本2.1 字符流一次读取一个字符进行复制代码如下import java.io.*;public class BufferedDemo { pub原创 2020-12-28 19:49:56 · 593 阅读 · 0 评论 -
Java集合练习---扑克牌
Java集合练习—扑克牌使用集合实现创建一副扑克牌,并随机给三位玩家发牌,留三张底牌,最后按从小到大的顺序输出具体代码如下import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.List;import java.util.Map;public class Poker { public static void main(String[] args)原创 2020-12-25 20:43:03 · 1151 阅读 · 0 评论 -
记录——Scanner中的nextInt()与nextLine()方法的区别
Scanner中的nextInt()与nextLine()方法的区别import java.util.Scanner;public class ScannerNext { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入:"); int num1 = sc.nextInt(); System.out.println("num1="原创 2020-12-10 20:07:43 · 316 阅读 · 0 评论 -
Java基础笔记36-JDBC修改数据库
Java基础笔记36-JDBC修改数据库数据库是用于管理数据的,后台是用于根据业务做逻辑处理的,前台显示数据并进行交互驱动包:DriverManager(驱动管理-注册驱动)、Statement(编译及执行SQL语句)、ResultSet(处理结果集)步骤:1、关联数据库驱动包(不同的数据库使用的驱动包是不一样的)2、注册驱动(通过反射进行驱动的注册)3、连接数据库获取数据库连接对象(登录-选择数据库的过程)4、执行SQL语句5、处理结果集6、关闭数据库连接对象关键词:Dri原创 2020-12-03 20:29:03 · 378 阅读 · 0 评论 -
Java基础笔记35-单例模式
Java基础笔记35-单例模式单例模式即一个类只有一个实例并且该类有提供一个全局访问点。我们常常希望某个对象实例只有一个,不想要频繁地创建和销毁对象,浪费系统资源,这时候我们就要使用单例模式来获取类的实例。要保证只有一个实例就不能随意创建对象,所以需要将构造器私有化,将成员变量静态化并私有化,利用方法获取类中的实例单例模式中常用的有饿汉模式与懒汉模式具体代码示例如下:/** * 懒汉式单例模式, * 什么时候用什么时候创建新实例 * 节约资源 * 构造方法是私有的,原创 2020-11-30 20:38:47 · 154 阅读 · 1 评论 -
Java基础笔记34-synchronized(同步锁)关键字与Lock锁
Java基础笔记34-synchronized(同步锁)关键字与Lock锁1. synchronized 关键字使用 synchronized 关键字 线程同步关键词:synchronize 同步锁语法:synchronize(锁){锁的内容}要求:多个线程在操作时所用的锁是同一把锁代码示例:public class ThreadMethod1 { public static void main(String[] args) {// Ticket tic = new Tick原创 2020-11-30 20:37:44 · 336 阅读 · 0 评论 -
Java基础笔记33-线程、垃圾回收机制
Java基础笔记33-线程、垃圾回收机制1.线程简介进程:就是运行的一个程序,比如Eclipse,浏览器等线程:线程是进程中的一个执行单元,比如音乐播放器中的播放和下载音乐就分属两个线程关系:一个进程中可以包含多个线程,当需要一个程序同时运行多个功能时,可以开启多个线程。关键词Thread 是一个类,继承此类之后,可以创建一个线程,通过 start() 方法可以开启线程Runnable 是一个接口,可以结合Thread类创建并开启线程。创建线程的方式1.继原创 2020-11-25 20:22:54 · 504 阅读 · 0 评论 -
Java基础笔记32-反射
Java基础笔记32-反射介绍反射是Java中一个非常重要的高级特性,基本上Spring等一系列框架都是基于反射的思想写成的。Java反射机制是在程序运行过程中对于任何一个类,都能知道它的所有属性和方法,对于任意一个对象,都能喝知道调用它的任意属性和方法,这种动态获取信息以及鼎泰调用对象方法的功能称为Java语言的反射机制。利用反射机制可以在运行时判断任意一个对象所属的类,可以构造任意一个类的对象,可以判断任意一个类的成员属性和方法,可以调用任意一个对象的方法。Java文件编译后生成的clas原创 2020-11-24 19:29:57 · 213 阅读 · 0 评论 -
Java基础笔记31-流转换
Java基础笔记31-流转换流转换指字节流和字符流之间的转换。字节流在读取的过程中效率高,针对某些问题(中文乱码,空间浪费等)不好处理,此时就需要将其转换字符流。字符流在读取的过程中效率低且有局限性(音频、视频等),此时就需要将其转换为字节流。相关类:InputStreamReader 字节流转换为字符流OutputStreamWriter 字符流转换为字节流代码示例:import java.io.BufferedReader;import java.io.IOE原创 2020-11-24 19:29:15 · 164 阅读 · 0 评论 -
Java基础笔记30-流写对象
Java基础笔记30-流写对象通过流的形式将自定义对象写到指定的文件中,该形式称为持久化存储(大白话:就数据本地存储)关键词:ObjectInputStream 对象转转换为流读取ObjectOutputStream 对象转换为流输出Serializable 序列化类对象输出流代码示例:定义一个User对象public class User{ private String name; private int age; User(){} public User原创 2020-11-24 19:26:43 · 182 阅读 · 0 评论 -
Java基础笔记29-字符流
文章目录1.1 字符流介绍1.2 字符流缓冲对象1.3 字符串缓冲对象Java基础笔记29-字符流1.1 字符流介绍字符流包含两大抽象类: 读取流 Reader, 写入流 WriterReader常用实现子类:FileReader常用方法:read()Writer常用实现子类:FileWriter常用方法:writer代码示例:import java.io.FileReader;import java.io.FileWriter;import java.io.I原创 2020-11-24 19:25:57 · 134 阅读 · 0 评论 -
Java基础笔记28-字节流文件
Java基础笔记28-字节流文件IO流中的字节流包含两大抽象类: InputStream 和 OutputStream 。InputStream定义了IO流字节输入模式的抽象类常用子类:FileInputStream常用方法:read()OutputStream定义了IO流字节输出模式的抽象类常用子类:FileOutputStream常用方法:write()代码示例:import java.io.File;import java.io.FileInputStream;原创 2020-11-24 19:23:46 · 144 阅读 · 0 评论 -
Java基础笔记27- File类
Java基础笔记27- File类File类是对文件系统中对文件及文件夹进行操作的类,将常用的功能进行封装,以便于操作。文件操作主要涉及 文件创建,文件删除,获取文件的信息等常用方法:creatNewFile() 创建一个新文件delete() 删除一个文件mkdir() 创建一个新文件夹getName() 获取文件名创建一个文件并写入内容步骤先使用File类创建一个对象,指定文件存放路径及文件名称,文件路径必须是存在的,否则会报IO异常然后使用createNew原创 2020-11-23 20:13:39 · 169 阅读 · 0 评论 -
Java基础笔记26-Map集合
Java基础笔记26-Map集合Map集合是双列集合,是以键值对的形式存储数据的,关于键值对可以简单的理解为数学学的映射关系。Map集合中key值不能重复的,同时,key所对应的值至多为一个。key可以为null,但至多有一个键为null。常见实现子类HashMapTreeMap常用方法增加put(K key,V value) 将指定的值与指定的键进行关联,当键与原来的键相同时,后写的会覆盖之前的键对应的值。putAll(Map<? extends K原创 2020-11-21 16:45:02 · 184 阅读 · 0 评论 -
Java基础笔记25-泛型
Java基础笔记25-泛型泛型关键符号: <数据类型>限制类型<指定数据类型>指定数据类型可以是引用数据类型限制集合中所能存储的数据类型,不用强制类型转换,将错误提前到了编译时期不限制类型<数据类型>不限制数据类型的尖括号内可以写所有数据类型的超类 Object通配符 ? (英文问号),26个英文字母大写,通常是一个字母,也可多个但是,系统本身是无法直接识别英语作为一个类型,因此,就需要在使用原创 2020-11-21 16:43:00 · 148 阅读 · 0 评论 -
Java基础笔记24-Set集合
Java基础笔记24-Set集合Set 集合Set集合是不允许重复,且无序的一种集合。常用实现子类HashSetHashSet 底层是通过HashMap实现的,HashMap的底层是哈希表结构。TreeSetTreeSet 底层是TreeMap来实现的,TreeMap的底层是红黑树数据结构。TreeSet默认是自然排序,不能对自定义类型进行排序的如果想要对自定义类型进行排序,有两种方案:1、内部实现Comparable接口,重写compareTo方法原创 2020-11-21 16:37:14 · 191 阅读 · 0 评论 -
Java基础笔记23-集合练习题
Java基础笔记23-集合练习题定义一个集合,实现去重复的功能定义一个数组,数组中存放的是图片的后缀,给一个文件的名字,判断是否是图片定义一个带有数字和字符串的集合,使用迭代器进行迭代,只输出字符串及其长度代码示例:import java.util.ArrayList;import java.util.Arrays;import java.util.Iterator;import java.util.List;public class Practice { public stati原创 2020-11-19 20:11:46 · 250 阅读 · 0 评论 -
Java基础笔记22- 集合
文章目录Java基础笔记22- 集合1.Collection 单列集合1.1 常用Collection方法1.2 迭代器1.3 List 单列集合Java基础笔记22- 集合简介集合是类似于数组的容器,不同的是数组是固定大小,且存放的是同一数据类型的数据,集合的大小不固定,可存放不同数据类型的数据(只能存放引用数据类型,基本数据类型数据存放的是其包装类),可以进行对内部数据(被称为元素)的增加,删除,判断。一部分集合是有序的,也有一部分集合是无序的,集合根据存储方式的不同也分为单列集合与原创 2020-11-18 20:51:26 · 167 阅读 · 0 评论 -
Java基础笔记21-日期格式
文章目录Java基础笔记21-日期格式1.Date类2.Calendar类3.DateFormat类4.SimpleDateFormat类Java基础笔记21-日期格式1.Date类使用Date类获取当前时间及比较时间的先后导入路径import java.util.Date;示例:import java.util.Date;public class DateDemo { public static void main(String[] args) { //创原创 2020-11-17 20:27:03 · 249 阅读 · 1 评论 -
Java基础笔记20-异常体系-异常处理
Java基础笔记20-异常体系1.异常处理一旦程序出现错误和异常,程序就会直接停止运行,处理异常的目的是为了能让程序正常运行。关键词:Throwable (包含所有的错误与异常)Throwable 包含两大模块(错误和异常),所有的错误和异常都归属到Throwable体系下才能被虚拟机识别到错误(Error):所有错误类的后缀都是Error,错误的出现往往意味着虚拟机本身出现了问题,例如:OutOfMemoryError(内存溢出错误),StackOverflowError(堆原创 2020-11-16 20:37:57 · 419 阅读 · 0 评论 -
Java基础笔记19-自动封箱与自动拆箱
Java基础笔记19-自动封箱与自动拆箱对于基本数据类型是不存在方法的,在java中如果想要让某个类具备有功能(方法),那就必须提供一个类的存在。区分:基本数据类型直接赋值使用,引用数据类型可以定义扩展功能更加灵活。在某些特定的情况下也需要对基本数据类型做相关的功能,因此就需要提供对应的类,例如:字符串转换为数字。基本数据类型包装数据类型byteByteshortShortcharCharacterintIntegerlongLongf原创 2020-11-16 19:01:26 · 355 阅读 · 0 评论 -
Java基础笔记18-内部类
Java基础笔记18-内部类定义内部类就是定义在类中的类作用类的生命周期是程序运行开始到程序运行结束销毁,但是当有些类使用频率很低,就将其定义为内部类,以缩短类的生命周期。内部类的重要作用就是缩短类的生命周期。分类:内部类,局部内部类,匿名内部类1.内部类内部类相当于一个外部类的成员变量当使用它时,遵循成员变量的规则,当使用内部类内部的方法及属性时,在遵循成员变量的规则前提下遵循类的规则。内部类可以调用外部类的属性及方法。/** * 内部类原创 2020-11-16 18:00:37 · 155 阅读 · 0 评论 -
Java基础笔记17-Scanner简介
Java基础笔记17-Scanner简介1.基本使用java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。在类的最上方需要进行导包操作,固定格式为import java.util.Scanner;使用Scanner的语法格式为Scanner sc = new Scanner(System.in);//sc为变量名,可自定义在获取输入运行结束之后要加上 close() 来关闭获取输入,以释放内存,若不关闭,在编原创 2020-11-13 20:35:44 · 191 阅读 · 0 评论 -
Java基础笔记16-多态
Java基础笔记16-多态1.简介多态是同一个行为具有多个不同表现形式或形态的能力。语法格式:父类类型 变量名 = new 子类类型();必要注意点:必须是有继承或实现的关系,(而且有方法重写)。当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。多态的好处:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。多态的基本使用举例:public class DuoTaiDemo { public static void ma原创 2020-11-12 20:15:23 · 134 阅读 · 0 评论 -
Java基础笔记15-String类
Java基础笔记15-String类1.String类概念String是引用数据类型,表示字符串(其实是由多个字符组成的)public static void main(String[] args) { //String()类的定义 //直接定义一个新字符对象 String str1 = new String(); //在创建对象的时候直接初始化赋值 String str2 = new String("cat"); //直接赋值 String st原创 2020-11-12 19:49:02 · 176 阅读 · 0 评论 -
Java基础笔记14-Math对象
Java基础笔记14-Math对象1.简介数学函数类,是最终类,不能被继承,其中的方法都是静态方法,类名直接调用即可。2.常用方法ceil() 求大于或等于给定值的最小整数。floor() 求小于或等于给定值的最大整数。random() 取得大于等于0,小于1.0的double型的小数。PI 圆周率 πround() 对小数进行四舍五入代码示例:class MathDemo2 { public void math() { System.out.println("圆原创 2020-11-11 20:37:06 · 239 阅读 · 2 评论 -
Java基础笔记13-Object类
Java基础笔记13-Object类该类为所有类的超类,默认是省略的Object中常见的类hashCode() 通常用于表示某个对象的地址eqials() 判断对象是否相等toString() 将类的信息以字符串的形式表示出来public class ObjectDemo { public static void main(String[] args) {// 创建对象 String name1 = "bob"; String name2 = "wo原创 2020-11-11 20:02:02 · 151 阅读 · 0 评论 -
Java基础笔记12-接口
Java基础笔记12-接口1.接口定义概念:当抽象类中的方法都是抽象方法时,建议将该类转换为接口。关键字:interface接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。/** * 定义一个Fruits接口,接口名建议以I开头 */interface IFruits{ /** * 颜色 */ public abstract void color(); /** * 类型 */ void t原创 2020-11-11 18:57:53 · 143 阅读 · 0 评论 -
Java基础笔记11-继承体系、方法重写、抽象类
Java基础笔记11-继承体系1.继承简介继承的作用当不同的类中有大量相同的属性和方法时,此时通过继承的形式来梳理逻辑关系及简化代码。关键字:extends子类继承父类,那么子类就可以拥有父类中所有的公共的(public)属性及方法。在继承的过程中,子类不能继承父类中的私有方法或属性,只能继承公共的。代码示例:class Son extends Father {} //Father类由Son类继承2.super关键字super关键字与this关键原创 2020-11-10 20:03:08 · 204 阅读 · 1 评论 -
Java基础笔记10-冒泡排序
Java基础笔记10-冒泡排序1.对整数数组进行冒泡排序以从大到小冒泡排序为例就是将数组元素从前两个元素开始比较,根据比较的结果来决定是否交换位置,如果前一个值比下一个值小,则交换位置,然后将较小值与下一个相邻元素进行比较,重复上述操作,直到最后一个元素比较结束,排在最后的值为最小值,再将最小值之前的元素重复之前的操作,得出第二小的值,重复上述操作,直至最终完成所有元素的比较,并得出一个有序数组。程序实例:public class Sort { public static原创 2020-11-10 13:53:31 · 224 阅读 · 0 评论 -
Java基础笔记08-代码块
Java基础笔记08-代码块代码块:在java中一对{}就被称为代码块。1.构造代码块在类中单独一对{},没有名字及其他任何修饰符,就被称为构造代码块。构造代码块没有名字,因和构造器相关联,所以会在创建对象时自动调用。构造代码块执行顺序是在有名字的构造器之前。2.静态构造代码块在构造代码块之前添加修饰符static,被称为静态构造代码块。因由static修饰的代码块或者变量是随着类的加载而加载,所以静态构造代码块在构造代码块之前执行。举例:public class Cod原创 2020-11-09 20:38:18 · 154 阅读 · 0 评论 -
Java基础笔记09-数组简介
Java基础笔记09-数组简介1.简介数组是一个容器,当需要存储多个数据的时候,就需要有这么一个容器,以方便存储使用。数组的特点:大小固定,数组中的数据必须是同一种类型的数据。数组的优缺点:查询快(下标),增删速度慢数组可以是多维的,在此只简单介绍一维与二维数组2.语法一维数组的定义有几种语法格式,在定义数组时中括号在变量名前后都可以。数据类型[ ] 变量名 = new 数据类型[size];数据类型 变量名[ ] = new 数据类型[size];int[] ar原创 2020-11-09 20:33:51 · 266 阅读 · 0 评论 -
Java基础笔记07-static关键字
Java基础笔记07-static关键字1.简介static称为静态修饰符。被static修饰的属性或方法被称为静态属性或静态方法。没有static修饰的属性或方法被称为非静态属性或非静态方法。使用方式:在方法或属性前添加static即可。修饰的属性被称为静态属性。修饰的方法被称为静态方法。非静态的属性或方法,只能在对象创建的时候才会加载进内存。静态的属性或方法会随着类的加载而加载进内存。也就是说非静态的属性或方法没有对象存在时不能被调用,静态方法或属性可以不原创 2020-11-09 11:48:25 · 164 阅读 · 0 评论 -
Java基础笔记06-堆、栈、方法区之间的关系
堆、栈、方法区之间的关系1.栈(Stack)、堆(Heap)、方法区简介栈:每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象,是对象在堆区的地址),对象都存放在堆区中 。程序的运算也在栈中进行。堆:一个可动态申请的内存空间,通常用于保存new 构造出来的对象。方法区:在方法区中,存储了每个类的信息(包括类的名称、方法信息、字段信息)。创建一个宠物Pets类public class Pets { //属性 private String name; priva原创 2020-11-08 16:22:09 · 894 阅读 · 0 评论 -
Java基础笔记05-final、this关键字,构造方法
### Java基础笔记05-final、this关键字,构造方法1.final关键字final是一个修饰符,代表最终的。概念:1.final修饰的变量称为常量,只能赋一次值,(常量名在写的时候要求全大写字母组成)。2.final修饰的方法被称为最终方法,不能被重写。3.final修饰的类被称为最终类,不能被继承。如果某个变量经常使用,且值不变,可以用final修饰为常量。public static void main(String[] args){ //使用fina原创 2020-11-06 20:33:42 · 190 阅读 · 3 评论 -
Java命名规范
Java命名规范1.项目名全部小写2.包名全部小写,可以以公司域名倒写+项目名+模块名,中间以点连接。例:com.baidu.manage.pets3.类名使用大驼峰命名法即若由一个单词组成则首字母大写其余小写,若由多个单词组成每个单词的首字母都大写,其余小写,单词中间直接连接,没有分隔符。例:PetsManager4.常量名所有字母都大写,若有多个单词组成,则中间以下划线连接。例:PAI_SIMPLE= 3.14;5.方法及变量名使用小驼峰命名法原创 2020-11-06 17:49:31 · 133 阅读 · 0 评论 -
Java基础笔记03-类的定义
Java基础笔记03-类的定义1.类的定义类就是用于描述某一种类型的事物。关键词:class 用于修饰一个类。自己创建的类就是一个自定义类,此类的类名就是一个数据类型,被称为引用数据类型。类的组成属性方法所有的属性和方法都是此类中所有事物都适用的。使用引用数据类型时需创建对象语法格式 :数据类型(类名) 变量名(对象) = new 数据类型();对象可调用引用数据类型的属性和方法。语法格式:调用属性:对象名.属性 = 值;调用方法:对象原创 2020-11-05 16:54:35 · 259 阅读 · 2 评论 -
Java笔记02-自定义方法
Java笔记02-自定义方法1.方法的概念方法指的是一段可以反复调用的代码块。有些独特的功能需要我们自己定义,我们把这些功能写到一个代码块中,变成一个方法,以便于之后使用方法名直接调用,不用再重写此功能的所有代码。语法结构:修饰符 方法返回值类型 方法名(参数类型 参数名,....){ 执行的代码块;}例如:public static void main(String[] args){ // 需要执行的代码块}使用举例 public static v原创 2020-11-04 15:19:04 · 3597 阅读 · 0 评论 -
Java基础笔记02-逻辑判断语句-条件控制语句-循环语句
Java基础笔记021.逻辑判断语句&& 双与符号,&单与符号作用:在逻辑判断中,当&&或&前后的语句的值都为真true的时候,整体的值为真true,只要有一个语句的值为假false,则整体的值为假false。区别:&&符号有“熔断“作用,当&&符号前有语句的值为假false,则直接判断整体的值为假false,假值false后面的语句不再进行运算,本语句结束。 int x = 1; int y原创 2020-11-03 18:32:34 · 1294 阅读 · 0 评论 -
Java基础学习笔记01-运行环境、基础数据类型
Java基础部分学习笔记011. java运行环境安装及配置JDK,JRE 版本使用都使用1.8版本。安装好JDK及JRE之后,需要将JDK添加到系统环境变量PATH中。windows+r在输入框中输入cmd,在窗口中输入javac,如果出现大量javac的提示信息,说明java环境配置成功。2.注释// 单行注释,在需要注释行前添加两个斜杠。/* */ 多行注释,在需要注释的第一行前添加 斜杠与星号,在最后一行末尾添加星号加斜杠。/***/ 文档注释。3.j原创 2020-11-02 20:20:31 · 206 阅读 · 0 评论