Javase
文章平均质量分 69
TSCCG
这个作者很懒,什么都没留下…
展开
-
POP与OOP
POP与OOP1.POP面向过程面向过程:当遇到一个需求时,首先考虑有哪几步,将实现的步骤按照1234划分好,然后一步步去实现。比如说把大象放进冰箱需要几步这个问题就是一个典型的面向过程例子。第一步:打开冰箱---->第二步:把大象装进去---->第三部:关上冰箱面向过程是线性思维,体现到代码上就是POP。面向过程编程虽然符合常规思维,但是随着业务的复杂度提升后,无法适应业务的扩展需求。比如说我现在想把10000头大象放进冰箱,同时在大象装进冰箱前加入10000种条件判断,那么这原创 2021-09-19 01:05:32 · 435 阅读 · 0 评论 -
JavaseLearn25-注解
JavaseLearn25-注解1.注解概述注解,或者说叫注释类型。(Annotation)注解Annotation是一种引用数据类型:编译后也是生成xxx.class文件自定义注释的语法格式:[修饰符列表] @interface 注解类型名{ }public @interface MyAnnotation {}注解怎么用,用在哪儿?注解使用时的语法格式是:@注解类型名。如:@Overwrite注解可以出现在类上、属性上、方法上、变原创 2021-07-14 22:42:53 · 94 阅读 · 0 评论 -
JavaseLearn24-反射
文章目录JavaseLearn24-反射1.反射机制1.1什么是反射机制,有什么用?1.2反射机制相关的重要的类2.获取Class的三种方式3.通过反射实例化对象4.为什么要通过反射实例化对象5.只加载类中的静态代码块6.通用地获取文件绝对路径6.1为什么要通用地获取文件绝对路径6.2改进IO+Properties联合使用方法6.3资源绑定器JavaseLearn24-反射1.反射机制1.1什么是反射机制,有什么用?反射机制:可以操作字节码文件。(Class)作用:让程序变得更加灵活。1.2反射原创 2021-07-12 22:21:44 · 70 阅读 · 0 评论 -
JavaseLearn23-IO流
JavaseLearn23-IO流1.什么是IO流?I:Input,通过输入流将文件从硬盘输入到内存。O:Output,通过输出流将文件从内存输出到硬盘。通过IO可以完成硬盘文件的读和写。2.IO流的分类有多种分类方式:1.一种方式是按照流的方向进行分类:以内存为参照物往内存中去,叫做输入(Input),或者叫做读(Read)。从内存中出,叫做输出(Output),或者叫做写(Write)。2.另一种是按照读取数据方式不同进行分类:按照字节的方式读取数据的流,一次读取1个字节原创 2021-07-09 22:09:20 · 106 阅读 · 0 评论 -
JavaseLearn22-常用类
JavaseLearn22-常用类1. 日期类Date1.1 将Date类型转换成日期字符串Stringpackage date;import java.text.SimpleDateFormat;import java.util.Date;/** * @Author: TSCCG * @Date: 2021/07/06 15:56 */public class DateDemo01 { public static void main(String[] args) {原创 2021-07-06 23:26:03 · 86 阅读 · 0 评论 -
JavaseLearn21-String和StringBuffer
JavaseLearn21-String和StringBuffer一、String1. String字符串的存储原理创建以下几个对象:String s1 = "abc";String s2 = "abc";String s3 = "abc" + "def";String s4 = new String("fff");String s5 = new String("fff");以上对象在JVM内存图中表示为://s1:在方法区常量池中创建一个"abc"String s1 = "abc原创 2021-07-06 15:41:41 · 97 阅读 · 0 评论 -
JavaseLearn20-this&super
文章目录JavaseLearn20-this&super1. this1.1什么是this?1.2 this在内存上的情况1.3 this的调用1.3.1 this只能用在实例方法上1.3.2 this可以区分局部变量和实例变量1.3.3 this可以通过当前的构造方法去调用本类中的另一个构造方法1.4 this总结2. super2.1 super概述2.2 super()2.2.1 super()表示通过子类构造方法调用父类构造方法2.2.2 子类构造方法默认执行super();2.2.3 必须原创 2021-07-04 00:21:39 · 84 阅读 · 0 评论 -
JavaseLearn19-JVM内存图
JavaseLearn19-JVM内存图执行以下程序时JVM的内存图/** * @Author: TSCCG * @Date: 2021/07/02 17:26 */public class JvmDemo01 { public static void main(String[] args) { Person person1 = new Person(); Person person2 = new Person(); System.out原创 2021-07-02 20:57:30 · 72 阅读 · 0 评论 -
JavaseLearn18-多线程
JavaseLearn18-多线程1.多线程概述1.1 什么是进程?什么是线程?进程是一个应用程序线程是一个进程中的执行场景/执行单元一个进程可以启动多个线程对于一个java程序来说,当开始执行后,会先启动JVM,而JVM就是一个进程。JVM再启动一个主线程调用main方法,同时再启动一个垃圾回收线程负责看护,回收垃圾。故一个java程序起码有两个线程并发。1.2进程与线程的关系举个栗子:美团:进程王兴:线程外卖小哥:线程阿里巴巴:进程马云:线程保安:线程原创 2021-06-27 11:47:21 · 76 阅读 · 0 评论 -
JavaExample09-单向链表的倒置
JavaExample09-单向链表的倒置1.原理将单向链表倒置的难点是单向链表的每个节点只能指向一个节点,如果直接将链表中某一个节点指向其前一个节点,那么就找不到后面的节点了。所以我们需要定义指针来进行操作。定义三个指针curNode、preNode、nextNode,分别代表当前节点,当前节点的前一个节点,当前节点的后一个节点。先将nextNode移动至当前节点的后一个节点位置然后将当前节点指向前一个节点preNode位置然后将preNode移动至当前节点位置然后将curNode移动至原创 2021-06-26 00:49:38 · 140 阅读 · 0 评论 -
JavaExample08-Weapon
JavaExample08-Weapon1.题目要求写一个类Arm,代表一支军队,这个类有一个类型为Weapon的数组weapons(用于存储该军队所拥有的所有武器)。该类提供一个有参构造方法,在该构造方法中通过传入一个int类型的参数来限定该类所能拥有的最大武器数量,并用这一大小来初始化数组weapons。还提供一个无参构造方法用于设置默认最大武器数量。该类还提供一个方法addWeapon(Weapon newWeapon),表示把参数newWeapon代表的武器加入到数组weapons中。在该原创 2021-06-25 22:11:31 · 299 阅读 · 0 评论 -
Javase学习16.1-异常练习_用户注册
Javase学习16.1-异常练习_用户注册1. 需求描述程序开始执行时,提示用户输入用户名、密码信息输入信息后,后台模拟用户注册注册时要求用户名和密码都在[6~14]之间,且不能为null,不然都需要抛出异常完成注册的方法放到一个单独的类里使用自定义异常类class UserService { public void register(String username, String password) { //用户注册 }}编写main方法,在main方法原创 2021-06-16 21:15:26 · 126 阅读 · 0 评论 -
Javase学习16-异常
文章目录学习16-异常1. 异常概述1.1 什么是异常?有什么用?1.2 异常的存在形式2. 异常的分类2.1 编译时异常 (checkedException)2.2 运行时异常 (uncheckedException)3. 异常的处理3.1 try...catch和finally3.2 throws关键字学习16-异常1. 异常概述1.1 什么是异常?有什么用?当程序执行过程中出现了不正常的情况,这种不正常的情况就叫做***异常***如果一门语言在程序出现了异常时,没有提示任何信息,那么这门语言原创 2021-06-13 11:34:29 · 179 阅读 · 0 评论 -
Javase学习15-自动装箱与自动拆箱
Javase学习15-自动装箱与自动拆箱1. 问题引入java中8种基本数据类型又对应了8种包装类,8种包装类属于引用数据类型,父类是Object。那么问题来了,SUN公司为什么要再提供8种包装类呢?我们试想这样一种情况,一个方法需要传入一个数字,但是参数类型是Object类型的,而数字属于基本数据类型,显然该方法无法接收基本数据类型的数字。这说明8种基本数据类型不够用。那么这时该如何处理?public class IntegerDemo01 { //程序入口 public s原创 2021-06-05 08:32:09 · 130 阅读 · 0 评论 -
Javase学习14-增强for循环
Javase学习14-增强for循环1.几种循环的用法通常,遍历数组或集合是通过循环来实现的。1.1定义一个ArrayList集合:List<String> list = new ArrayList<>();list.add("张三");list.add("李四");list.add("王五");list.add("赵六");1.2使用迭代器来遍历集合:Iterator<String> it = list.iterator();while (it.原创 2021-06-05 08:28:57 · 137 阅读 · 0 评论 -
Javase学习13-链表
Javase学习13-链表1. 单向链表1.1 单向链表的结构单向链表中的节点由两部分组成:节点储存的数据 data指向下一个节点的地址 next节点类:public class Node { //为了不让外部类使用Node类,使用private修饰data和next /** * 节点储存的数据 */ private Object data; /** * 节点存储的指向下一个节点的地址,默认为null */原创 2021-06-05 08:27:21 · 101 阅读 · 0 评论 -
Javase学习12-集合
Java学习12-集合1. 集合概述1.1 什么是集合?有什么用?数组就是一个集合。集合就是一个能够容纳其他数据的容器。集合常在开发时使用:集合是一个容器,一个载体,可以容纳多个对象。在实际开发中,假设连接一个数据库,数据库中有十条数据,假设查询十个数据,那么我们的java程序就会把这十个数据封装进十个java对象,放到某个集合中,然后把集合发送到前端,遍历集合,将数据一个一个显示出来。1.2 集合具体能存储什么?集合不能直接存储基本数据类型,也不能直接存储java对象,集合存储的是java对原创 2021-06-04 17:22:05 · 116 阅读 · 0 评论 -
Javase学习11-栈与队列
Javase学习11-栈与队列栈:LIFO(Last in First out)后进先出队列:FIFO(First in First out)先进先出1. 栈栈(stack)是一种后进先出(LIFO)的集合类型, 即后添加的数据会先被删除。类似存取盘子,只从一个口存放可以用数组和链表实现栈1.1 用数组实现栈1.1.1 主类:/** * @Author TSCCG * @Date 2021/5/21 18:40 */public class Stack<T>原创 2021-06-04 17:21:25 · 145 阅读 · 0 评论 -
Javase学习10-位运算符
Javase学习10-位运算符位运算符本质都是针对二进制数0和1进行运算的,在使用位运算符时,会先将操作数转换成二进制进行位运算,再将结果转换成想要的进制数。1表示true,0表示false须知:负数在内存中是以补码的形式存储的负数的二进制数就是该负数对应正数的源码全部取反加1得到的补码原码: 00011110反码: 11100001补码: 11100010负数的源码就是补码除符号位外全部取反加1补码:11110011反码:10001100原码:10001101一、位原创 2021-06-04 17:20:39 · 137 阅读 · 0 评论 -
Javase学习09-匿名内部类
文章目录学习09-匿名内部类1. 什么是匿名内部类?1.1 定义1.2 说明1.3 前提2. 使用方式2.1 使用传统方式调用抽象类方法2.2 使用匿名内部类调用抽象类方法2.3 使用匿名内部类调用接口方法2.4 匿名内部类的作用学习09-匿名内部类1. 什么是匿名内部类?1.1 定义匿名内部类就是没有名称的内部类1.2 说明在某一个类或者接口只有一个抽象方法时,如果我们不想去搞它的子类或者实现类 ,那么我们可以使用匿名内部类来实现它。1.3 前提必须是类或者接口格式://相当于原创 2021-06-04 17:19:52 · 93 阅读 · 0 评论 -
Javase学习08-二维数组
Javase学习08-二维数组1. 二维数组结构二维数组就是存放一维数组的数组2. 创建格式2.1 格式1:动态初始化Object[][] arr = new Object[3][2];2.2 格式2:静态初始化静态初始化可用于不规则二维数组的初始化Object[][] arr = {{"阿珍","18"},{"阿强","20"},{"阿巴","23"}};3. 二维数组的遍历在二维数组中,数据的位置是由行和列来表示的通常由一维数组的个数来表示行,即 arr.length由每原创 2021-06-04 17:19:14 · 65 阅读 · 0 评论 -
Javase学习07-泛型
Javase学习07-泛型1.问题导引:/** * @author: TSCCG * @date: 2021/5/19 */public class OO { public static void main(String[] args) { Object[] oo = new Object[3]; oo[0] = "123"; oo[1] = 123; for (int i = 0;i < oo.length;i++)原创 2021-06-04 17:18:02 · 94 阅读 · 0 评论 -
Java学习05-多态
Java学习05-初学多态简述多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:一、多态的优点消除类型之间的耦合关系可替换性可扩充性接口性灵活性简化性二、多态存在的必要条件继承重写父类引用指向子类对象:Father father = new Son();三、多态的实现方式1.方式一:重写代码:/** * @author: TSCCG * @date: 2021/5/12原创 2021-06-04 17:17:21 · 104 阅读 · 0 评论 -
Javase学习04-类的重写
类的比较运算1. 类方法重写1.1 思考问题:在以后敲代码的过程中,常常会需要比较两个对象的值,那么该如何实现呢?/** * @author: TSCCG * @date: 2021/4/25 */public class Sson { private String age; public Sson(String age) { this.age = age; } public String getAge() { return原创 2021-06-04 17:16:28 · 152 阅读 · 0 评论 -
Javase学习03-类的加载顺序
文章目录Java类的加载顺序1. static2.案例说明父类:子类:3.总结Java类的加载顺序1. static static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。以上是static方法《Java编程思想》P86页描述static方法特殊之处的一段话,简而言之就是: 方便在没有创建对象的情况下进行调用变量或方法原创 2021-06-04 17:14:57 · 113 阅读 · 0 评论 -
基本数据类型转换运算
文章目录Javase学习-基本数据类型之间的运算规则1.基本数据类型2.自动类型提升3.强制类型转换3.1强转原理4.原码、反码、补码Javase学习-基本数据类型之间的运算规则1.基本数据类型四类八种:整数型:byte(1byte = 8bit)short(2byte)int(4)long(8)浮点型:float(4)double(8)字符型:char(2)布尔型:boolean(1bit = 1/8byte)以下讨论的只涉及7种基本数据原创 2021-06-04 16:11:32 · 185 阅读 · 0 评论