JAVA
努力学Java
YuanbaoQiang
非科班自学,正在搭建自己的计算机体系~
展开
-
Map接口
目录HashMapHashMap.java(@since 1.2)JAVA7中的HashMap结构JAVA8中的HashMap结构LinkedHashMapLinkedHashMap.java(@since 1.4)TreeMapHashtable遍历操作forEach方法(lambda表达式)Set entrySet():返回所有key-value对构成的Set集合Set keySet():返回所有key构成的Set集合常见方法添加、删除、修改操作元素查询的操作元视图操作的方法Collect原创 2020-08-26 14:04:18 · 209 阅读 · 0 评论 -
Java基础-IO流
目录File类实例创建常见方法获取File类文件信息判断File类文件信息对File类实现硬盘文件创建遍历所有文件(递归)IO流基本分类流的体系数据读入写出基本操作控制台输出乱码改进处理流使用缓冲流转换流对象流RandomAccessFile类File类实例创建此时并不能在硬盘中创建文件ps: Windows: \\; Unix: /创建一个具体文件File类实例:File(String filePath)File file1 = new File("hello.txt"); // 相对原创 2020-08-23 20:31:57 · 197 阅读 · 0 评论 -
Collection接口(List和Set)
目录Collection接口抽象方法List接口List.javaArrayList.java(@since 1.2)LinkedList.java(@since 1.2)Vector.java(@since 1.0)List遍历Iteratorfor循环foreach(增强for)循环Set接口Set.javaHashSet.java(@since 1.2)LinkedHashSet.javaTreeSet.java(@since 1.2)自然排序定制排序List和Set接口的常用方法原创 2020-08-20 18:08:22 · 333 阅读 · 0 评论 -
多线程创建及同步
目录线程与进程Thread的常见方法线程的生命周期多线程的创建继承Thread类代码实施实现Runnable类代码实施实现Callable类代码实施使用线程池代码实施线程安全与同步synchronized同步代码块实现Runnable接口继承Thread类同步方法继承Thread类实现Runnable接口Lock单例设计模式之懒汉式(线程安全)线程与进程**进程:**在计算中,进程是由一个或多个线程执行的计算机程序的实例。它包含程序代码及其活动。取决于操作系统(OS),一个进程可能由多个并行执行指令原创 2020-08-14 12:44:00 · 275 阅读 · 0 评论 -
Java基础14(异常捕获、抛出)
目录异常分类检查异常和非检查异常检查异常(checked)非检查异常(unchecked)运行时异常和编译时异常运行时异常编译时异常异常处理异常捕获异常抛出自定义异常类异常分类Java中,所有的异常对象都是派生于throwable类的一个类实例,以下分为Error和Exception。其中Error为Java运行时的内部错误和资源耗尽错误,用户无需在程序中捕捉或者抛出Error。另外一种则为Exception,用户需要对异常妥善处理。检查异常和非检查异常检查异常(checked)一般是指程序原创 2020-08-06 21:15:48 · 215 阅读 · 0 评论 -
Java基础13(抽象类、接口、内部类)
目录关键词: `abstract`抽象类抽象方法接口(interface)JDK7之前全局常量抽象方法JDK8及以后静态方法静态方法只能通过接口来调用默认方法默认方法只能通过实现类的对象来调用接口冲突类优先原则接口的属性接口扩展内部类(inner class)(用到后继续补充)关键词: abstract如果自下而上在类的继承结构中上移,那么位于上层的类就更具有一般性,可能更抽象。超类或者祖先类一般更具有普遍性,不会定义更为详细的方法或功能。例如学生–>人类–>生物,此时生物作为祖先类,不原创 2020-08-04 07:32:05 · 177 阅读 · 0 评论 -
Java基础12(包装类、static、代码块)
目录Object方法重写equals()toString()包装类基本数据类型与包装类的相互转换基本数据类型-->包装类调用包的构造器包装类-->基本数据类型调用包装类的的xxxValue()方法自动拆箱和自动装箱自动装箱自动拆箱包装类与String的相互转换连接运算String重载的valueOf()方法关键字instanceofstaticstatic修饰属性:静态变量(或类变量)static修饰方法类变量 VS 实例变量 内存解析其他说明final显示初始化代码块初始化构造器初始化设计模式原创 2020-08-04 07:31:38 · 209 阅读 · 0 评论 -
Java基础11(继承、多态)
目录继承(inheritance)定义子类重写或者覆盖(override)方法super子类构造器多态(polymorphism)继承(inheritance)继承的基本思想是,可以基于已知的类创建新的类。继承已经存在的类就是复用(继承)这些类的方法,同时也可以增加一些新的方法和字段,使得新类能够适应新类的情况。被继承方:超类(superclass),基类(baseclass),父类(parent class)继承方:子类(subclass),派生类(derived class),孩子类(ch原创 2020-08-04 07:31:12 · 119 阅读 · 0 评论 -
Java基础10(封装、构造器)
目录封装性和隐藏性权限修饰符构造器关键字thisthis 修饰属性和方法this修饰构造器packageimprot封装性和隐藏性当我们创建一个类的对象以后,我们可以通过“对象.属性”的方式,对对象的属性进行赋值。但是赋值参数操作要受到属性的数据类型和存储范围的制约(例如年龄要大于0,取款金额要小于存款)。但是在实际情况中,我们往往需要给属性赋值加上额外的限制条件。这个条件就不能在属性声明时体现,我们只能通过方法进行限制条件的添加。(比如setlegs()),同时我们需要避免用户再使用“对象.属性”原创 2020-08-03 20:33:41 · 225 阅读 · 0 评论 -
Java基础09(值传递、递归)
目录匿名对象的使用自定数组的工具类可变个数形参的方法值传递机制递归方法匿名对象的使用匿名对象就是没有明确的给出名字的对象,是对象的一种简写形式。一般匿名对象只能调用一次,而且匿名对象只在堆内存中开辟空间,而不存在栈内存的引用。package com.yuanbaoqiang.java;public class InstanceTest { public static void main(String[] args){ Phone p = new Phone();原创 2020-08-03 20:33:03 · 310 阅读 · 0 评论 -
Java基础08(类、对象)
目录面向对象(OOP)思想类简单的Person类对象对象的内存解析对象数组的内存解析练习面向对象(OOP)思想面向对象编程:OOP (Object-Oriented Programmming)面向对象分析:OOA (Object-Oriented Analysis)面向对象设计:OOD (Object-Oriented Design)面向对象是一种思想,是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节;这种思想是将数据作为第一位,而原创 2020-08-03 20:32:29 · 109 阅读 · 0 评论 -
Java基础06(数组-二维数组)
目录基本格式动态初始化方式一方式二静态初始化方式一方式二基本用法元素调用数组长度获取二维数组的遍历内存解析家庭收支小项目见JavaLearning仓库。基本格式动态初始化方式一public class ArrayTwoDynamicDefine01{ public static void main(String() args){ int[][] array1 = new int[4][3] }}方式二public class ArrayTwoDynami原创 2020-08-03 20:31:06 · 172 阅读 · 0 评论 -
Java基础05(数组-单维)
目录基本格式动态初始化静态初始化注意事项内存划分Java的内存需要划分为5个部分一个数组的内存图两个数组的内存图两个引用指向同一个数组的内存图数组在方法中的运用作为输入作为输出一些练习求最值数组元素反转基本格式动态初始化格式:数据类型[] 数组名称 = new 数据类型 [数组长度]public class Demon01Array { public static void main(String[] args){ int [] arrayA = new int[3原创 2020-08-03 20:29:28 · 182 阅读 · 0 评论 -
Java基础04(方法、重载)
目录方法的基本格式无参数有参数有无return注意事项三种调用格式方法重载方法重载与下列因素有关方法重载与下列因素无关打字练习中...一些练习方法的基本格式无参数public class DemonWithParamter{ public static void main(String[] args){ // 使用方法需要在main函数中调用 } public static void method01(){ Sys原创 2020-08-03 20:29:05 · 118 阅读 · 0 评论 -
Java基础03(流程控制语句)
目录顺序结构判断语句选择语句注意事项循环语句注意事项死循环嵌套循环顺序结构public static void main(String[] args){ //顺序执行,根据编写的顺序,从上到下运行 System.out.println(1); System.out.println(2); System.out.println(3);}判断语句格式对就行指定考试成绩,判断学生等级90-100 优秀80-89 好70-79 良60-69 及格60以原创 2020-08-03 20:28:42 · 102 阅读 · 0 评论 -
Java基础02(数据类型转换、运算符、方法)
目录数据类型转换自动类型转换强制类型转换注意事项练习打字中...运算符加减乘除自增自减赋值比较逻辑三元注意事项方法注意事项数据类型转换自动类型转换特点:代码不需要进行特殊处理规则:数据范围从小到到大,特指数据类型范围,和数据类型的占用内存范围无关。强制类型转换一般不建议使用注意事项会造成精度损失>,例如2.5(float)–>2(int),或者数据溢出>;byte/short/char都可以进行数据运算,例如“+”byte/short/char会提升至int类型进原创 2020-08-03 20:28:18 · 231 阅读 · 0 评论 -
Java基础01(常量、变量)
目录HelloWorld类打印输出注意事项基本数据类型注意事项byte和short超出数据类型练习打字中...HelloWorld类打印输出// 第一行的第三个单词必须和所在文件名称完全一样,大小写也必须一样// public class后面代表定义一个类的名称,类是Java中所有源代码的基本组织单位public class Hello { // 第二行的内容是万年不变的固定写法,代表main方法 // 这一行代表程序执行的起点 public static void ma原创 2020-08-03 20:27:38 · 268 阅读 · 1 评论