- 博客(25)
- 收藏
- 关注
原创 反射
反射反射可以在程序运行时获取一个类的各个组成部分(成员变量、构造方法、成员方法),然后执行相关的操作。每个类的字节码本身就是一个对象用Class表示,而类的各个组成部分也都是对象,分别用Field表示成员变量,Constructor表示构造方法,Method表示成员方法。学习反射就是学习这些对象的使用。- 1.获取字节码对象(Class)- 2.获取构造方法对象并使用(Constructor)- 3.获取成员变量对象并使用(Field)- 4.获取成员方法对象并使用(Method)获取字节码
2020-07-06 19:10:29
293
原创 函数式接口&Stream流
函数式接口函数式接口表示接口中有且仅有一个抽象方法的接口,可以允许有其他方法可以调用@FuctionalInterface进行标记函数式接口的使用1.作为方法的形式参数使用 调用方法,实际传递的可以是匿名内部类,也可以是Lambda表达式2.作为方法的返回值使用 实际返回的可以是匿名内部类,也可以是Lambda表达式 Supplier接口Supplier 是一个生产型接口,内部有一个get()方法用来获取一个T类型的数据。public class Demo { public
2020-07-06 12:46:41
266
原创 Lambda表达式
JDK8之后新特性函数式接口当接口中的抽象方法仅有一个时,但是可以允许有其他的方法。这样的接口叫做函数式接口一般使用:@FunctaInterface进行标记@FunctionalInterfacepublic interface Runnable{ public void run();}Lambda表达式标准格式(数据类型1 参数1,数据类型2 参数2) -> { 语句体; return 结果; }简化格式//可以省略数据类型(参数1,参数2) -> { 语
2020-07-04 16:20:09
386
原创 网络编程(Socket)
网络编程三要素IP地址:网络中某一台设备的唯一标识ip地址分为:ipv4和ivp6 ivp4:用4组8个二进制数表示 如 192.168.0.1 ivp6:用8组16个二进制数表示 如: 2001.0db8.3c4d.0015.0000.0000.12af.1a2b端口号:设备中应用程序的标识端口号的范围: 0~65535常用端口号: 8080(tomcat服务器的端口号)、80(网络通信的默认端口号)、3306(Mysql数据库的端口号)注意:操作系统中已经使用了一些端口号(0
2020-07-03 22:01:55
186
原创 多线程的实现(Thread)&线程安全
1. 进程和线程进程:正在运行的程序线程:程序中的一个执行路径.如果一个进程中包含多个线程那么这个程序就是多线程程序1.1Thread类的方法void setName(String name) 给线程设置名称String getName() 获取线程的名称void setPriority(int newPriority) 设置线程的优先级(范围是1~10)int getPriority(int newPriority) 获取线程的优先级(范围是1~10)static void s
2020-06-25 23:15:56
158
原创 字符缓冲流&Properties
1.字符缓冲流特有功能BufferedReader可以一次读取文件中的一行数据BufferedWriter可以写入一行数据public class BR_BW { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new FileReader("C:\\Users\\Desktop\\文件\\a.txt"))
2020-06-24 22:11:35
229
原创 IO流代码总结
1.字节流复制文件1.1基本的流复制文件FileInputStreamFileOutputStream注意:读取的时候用byte[] 数字存取1.2高效流复制文件BufferedInputStream- BufferedInputStream用来对InputStream进行包装,提高读取效率BufferedOutputStream- BufferedOutputStream用来对OutputStram进行包装,提高写入效率//源文件BufferedInputStre
2020-06-22 14:23:30
147
原创 字节缓存流&字符流
1. 转换流字符编码在计算机中所有的字符都有与之对应的编码,然而各个国家都有自己的文字,所以就有不同的编码表。下面列举一下常用的编码表1.ASCII编码表:美国信息交换表 包含字母、数字、标点符号 2.GBK:中国的码表 完全兼容ASCII编码表、还包含汉字 字母:1个字节 中文:两个字节 3.UTF-8: 万国表 兼容ASCII编码表,同时包含各个国家的文字 字母:1个字节 中文:3个字节注意:用什么格式的编码表进行编码,就用什么格式编码表解码: 编码:字
2020-06-19 22:58:29
205
原创 File类&递归&IO流
1.File类File表示文件或者文件夹(目录)的路径,路径可以存在也可以不存在//使用File类的构造方法创建对象File f1=new File("C:\\itheima\\a.txt");//使用父路径和子路径创建对象(父路径是一个String)File f2=new File("C:\\itheima","a.txt");//使用父路径和子路径创建对象(父路径是一个File对象)File dir=new File("C:\\itheima");File f3=new File(d
2020-06-19 00:04:17
105
原创 集合(Map)&Collections工具类
1.Map集合Map集合是双列集合的根接口,用来存储键值对的,键不能重复,值可以重复一个键对应一个值,值可重复键不能重复,存取无序Map集合是一个接口,不能直接使用,要使用就是它的实现类HashMap LinkedHashMap TreeMappublic class Demo1 { public static void main(String[] args) { HashMap<Integer, String> map = new HashMap<>
2020-06-17 22:09:40
137
原创 Set集合&泛型
1.Set集合1.1Set集合概述和特点Set集合的特点1.元素存取无序2.没有索引,只能通过迭代器或增强for循环遍历3.不能存储重复元素(有条件)Set集合的基本使用public class SetDemo { public static void main(String[] args) { //创建集合对象 Set<String> set = new HashSet<String>(); //添加
2020-06-16 21:57:24
914
原创 List集合&数据结构
1.Collection集合1.1集合的体系结构集合类的特点提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变集合类的体系1.2Collection集合概述和基本使用Collection集合概述是单例集合的顶层接口,他表示一组对象,这些对象也称为Collection的元素JDK不提供此接口的任何实现,它提供更具体的子接口(Set和List)实现Collection集合基本使用public class CollectionDemo1{public stat
2020-06-16 14:09:21
9081
3
原创 常用API(时间日期)&异常
包装类基本类型包装类的作用每一种基本类型,都有对应的引用类型(包装类)将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据常用的操作之一:用于基本数据类型与字符串之间的转换基本类型对应的包装类基本类型 包装类byte Byteshort Shortint Integerlong Longfloat
2020-06-15 23:53:53
714
原创 传参&内部类&常用API
参数传递类、接口作为形式参数和返回值 - 类作为形式参数和返回值 类作为形式参数:调用方法实际传递的是该类对象 类作为返回值类型:实际返回的也是该类的对象class Cat { public void eat() { System.out.println("猫吃鱼"); }}class CatOperator { public void useCat(Cat c) { //Cat c = new Cat(); c.eat();
2020-06-15 00:34:54
218
原创 多态和抽象类&接口
多态多态是指,同一对象有多种表现形态-必须要有继承关系-要有方法重写-使用父类接受子类对象 Animal a=new Dog();//动物类(父类)public class Animal{ public void eat(){ System.out.println("动物吃东西"); }}//狗类(子类)public class Dog extends Animal { //复写eat方法 @Override public void eat() {
2020-06-13 23:49:49
120
原创 继承关系&修饰符
继承继承描述的类与类之间的关系,一般把多个子类的共性抽取到一个父类中,子类和父类就是继承关系。举例 学生和老师以及人类的关系人类public class Person { private String name; private String age; public String getName() { return name; } public void setName(String name) { this.nam
2020-06-12 22:35:05
232
原创 ArrayList集合&学生管理系统
StringBuilder类StringBuilder是一个字符串缓冲区,可以往缓冲区中添加任何类型的数据,最终都会变成字符串public StringBuilder append(任意类型数据)可以添加任意类型的数据到缓冲区注意:返回缓冲区本身(一般不用接受返回值,利用这个特性可以实现链式编程)public StringBuiler reverse()把缓冲区的内容反转public String toString()把缓冲区的内容转化为一个字符串写一个方法,判断一个字符串是否为对称字符串
2020-06-11 23:03:48
729
原创 常用API及字符串类
API的使用1.什么是API?API是指<<Java程序的开发手册>>,手册中记录的在各种应用常见下使用的类和方法。Java程序员可以在这些已有类和方法的基础上去做开发。2.API怎么用?搜索想要查询的类,选项–>标签–>索引(输入框中搜索)看类的文字说明看构造方法构造方法就是给你创建对象用的,有几个构造方法就有几种创建对象的方式new 构造方法()就是在创建对象按照固定的格式调用方法对象名.方法名(参数)String类String类表示字符串所有
2020-06-10 16:27:07
205
原创 面向对象(Object-oriented)
类与对象类:具有相同属性和行为的事物统称电脑类属性:品牌、价格、颜色行为:看电影、玩游戏对象:某一个类事物中的一个具体实例联想品牌电脑对象- 价格为7777元- 可以看电影类的定义和对象的使用电脑类public class Computer{//成员变量–属性//属性:品牌、价格、颜色String brand;int price;String color;//成员方法–行为public void coding(){System.out.pr
2020-06-10 00:34:36
863
原创 Debug模式在IDEA
Debug模式什么是Debug模式Debug是用来调试程序的工具,可以很方便的查看程序的执行流程(可以看到程序中变量的变化情况,以及参数的传递情况)Debug模式操作流程如何加断点选择要设置断点的代码行,在行号区域后 面单机鼠标左键即可如何运行加了断点的程序在代码区域右键Debug执行不死神兔问题...
2020-06-09 15:19:41
130
原创 方法的定义及应用
方法概述方法的概述方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集注意:1.方法必须先创建才可以使用,该过程成为方法定义2.方法创建后并不是直接可以运行,需要手动使用后,才执行,该过程称为方法调用方法的定义和调用无参数方法定义和调用定义格式:public static void 方法名(){//方法体}范例:public static void method(){System.out.println(“aaa”);}调用格式:方法名()
2020-06-09 12:08:42
773
原创 IDEA工具&数组
IDEA安装详情自行search快捷键Idea的快捷键常用:psvm:主方法sout:输出语句ctrl+/:单行注释(取消)ctrl+shift+/:多行注释(取消)ctrl+alt+L:格式化代码shift+f6:重命名10.fori:循环十次ctrl+d:复制一行ctrl+y:删除一行ctrl+z:撤销ctrl+箭头:移动行alt+enter(回车):导包(自动修正)数组什么是数组数组其实就是一个存储古长度固定容器,可以存储多个数据(元素),一个数组中元素的类型是统一
2020-06-08 23:26:42
253
原创 swith&循环语句
swith语句格式swith(表达式){case 1:语句体1;break;case 2:语句体2;break;…default:语句体n+1;break;}执行流程:首先计算出表达式的值其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序就会结束掉注意:如果switch语句中的case没有对应的break,则会出现case穿透现象
2020-06-06 22:31:23
407
原创 java基本运算
算数运算符加减乘除余 + - * / %/ : 除法,整数相除只能得到整数 5/2=2% :取余(模),两个数相除得到余数 5%3=2;+符号的其他操作1.+符号和字符运算字符会自动转化为int再参与运算2.符号和字符串运算当作字符串连接符自增自减运算++(自增) 和–(自减)1.单独使用不管放在操作数前面还是后面,在操作数的基础上自增或是自减12.混合使用放操作数前面先自增(自减),然后做其他运算;放后面先做其他运算,操作数后自增(自减);...
2020-06-05 22:33:28
158
原创 Java概述及入门程序
Java语言的发展史创始人:James Gosling市面上用的最多的版本:Java8.0 (2014年)长期支持版本:Java12Java语言的跨平台性JDK(Java Developer’s Kit)=JRE(java Runtime Environment)+开发工具JRE=JVM(java Virtual Machine)+核心类库java程序在不同平台(操作系统)上运行需要依赖JVM,我们作为开发者只需要安装JDK即可常用的DOS命令首先需要打开命令提示符窗口(控制台):Win+
2020-06-04 23:44:41
106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人