Java基础
OneTenTwo76
这个作者很懒,什么都没留下…
展开
-
java基础【Reflection反射】
1、基本概念java的动态处理技术,在运行时进行。2、反射的例子public class Student { public String name; public int age; public String gender; public Student() { } public Student(String name, int age, String gender) { this.name = name; t原创 2022-01-23 11:13:42 · 289 阅读 · 0 评论 -
java基础【多线程】
1、什么是程序、进程、线程程序:为完成特定任务、用某种语言编写的一组指令的集合,即一段可以执行的静止的代码,保存在硬盘上的一个文件。进程:正在运行的程序。同一个程序可以启动多个进程。在内存中处于激活状态,有生命周期。线程:进程可进一步细化分为线程,是一个程序内部的一条执行路径。也称为进程中的子任务。多线程又称作高并发。2、何时需要多线程程序需要同时执行两个及两个以上的任务。程序需要实现一些需要等待的任务(用户输入、文件读写,网络操作、搜索)。需要一些后台运行的程序。多线程原创 2022-01-21 19:16:02 · 650 阅读 · 0 评论 -
java基础【IO流】
1、四个基本的抽象基类InputStream 字节输入流OutputStream 字节输出流Reader 字符输入流Writer 字符输出流读写文件的步骤:(1)打开流,如果是读文本文件,用FileReader,写文本文件,用FileWriter,读二进制文件,用F...原创 2022-01-19 18:48:13 · 474 阅读 · 0 评论 -
Java基础【泛型generic】
1、解决的问题类型安全问题。当不使用泛型时,会造成任意类型的数据都可以存储到集合中,当取出元素时,会涉及到造型的问题,比较繁琐。原创 2022-01-15 19:46:48 · 158 阅读 · 0 评论 -
java基础【HashSet,ArrayList,TreeSet集合,泛型,iterator迭代器,HashMap,properteries,Collections工具类】
1、解决的问题实现批量对象的存储,集合比数组更加灵活。数组长度、类型都固定。可将集合看做一个可变长度的Object数组。 2、Java集合框架框架一般意味着类,接口,抽象类等各种东西都很多。当学习一个框架时,要清楚有接口,接口下面有抽象类,抽象类下面有具体类。当面对一个框架时,首要任务是去学习这个框架的接口。3、Collection接口APICollection集合:保存一个一个的对象,特点是 无序可重复...原创 2022-01-14 13:34:28 · 345 阅读 · 0 评论 -
java基础【Math、BigInteger、BigDecimal类】
1、Math类Math类中的所有方法都为静态方法(工具方法),Math类叫做工具类,使用时查找API即可 @Test public void test(){ System.out.println(Math.random()); System.out.println(Math.round(4.5)); System.out.println(Math.round(-4.5)); }2、BigInteger类大整数类型,比整数原创 2022-01-07 13:39:22 · 699 阅读 · 0 评论 -
java基础【date类】
1、自1970-01-01 00:00:00.000到方法执行一瞬间经过的毫秒数此方法多用于计算时间差 @Test public void test1(){ long currentTimeMillis = System.currentTimeMillis(); System.out.println(currentTimeMillis); }2、Date类 Date date = new Date();原创 2022-01-07 13:17:25 · 167 阅读 · 0 评论 -
java基础【StringBuffer类】
1、与String类的区别String中的字符内容不能够改变,效率很低,为了提高效率,所以有了StringBuffer。StringBuffer和StringBuilder一模一样,也是字符串,不过是内容可以改变的Unicode字符序列,任何内容的修改都不会产生新对象,内部数据可以变化。StringBuffer是一个保存字符的容器,底层实现仍然是char数组。2、StringBuffer构造器、常用方法 StringBuilder stringBuilder = ne..原创 2022-01-06 15:23:02 · 198 阅读 · 0 评论 -
java基础【String类】
1、字符串相关类:字符串:内容不可以改变的Unicode字符的序列,任何对字符串的修改都会生成一个新的字符串对象。String类:构造字符串对象,一个字符占用两个字节。...原创 2022-01-05 17:16:31 · 169 阅读 · 0 评论 -
java基础【8种包装类 及其 实例测试】
1、为什么是八种: 包装类对应基本数据类型,因为基本数据类型有八种,所以包装类也有八种。2、包装类的作用: 把基本数据类型包装一下,让它变成对象。基本数据类型不是对象,不能调用方法,不能多态,例如,想要创建一个包含布尔,整数,浮点数的数组,基本数据类型是无法做到的,所以有了包装类,也符合java中一切皆对象的原则。 从基本数据类型到包装类除了int的包装类是Integer、char的包装类是Character之外,其他包装类都是将基本数据类型首字母大写,如boole...原创 2022-01-05 14:32:29 · 392 阅读 · 0 评论 -
java基础项目【团队调度系统开发(需求分析、软件包结构、全部完整代码)】
需求分析:模拟实现一个基于文本界面的《团队人员调度软件》 软件启动时,根据给定的数据创建公司部分成员列表 根据菜单提示,基于现有的公司成员,组建一个开发团队以开发一个新的项目 组建过程包括成员的添加,删除,查找,在实现功能同时要保证程序的健壮性。 开发团队最多包括一名架构师,两名设计师,三名程序员涉及到的知识点: 类的继承和多态 对象关联:目的是想让一个类的对象方便地使用另外一...原创 2021-11-18 14:02:37 · 1407 阅读 · 0 评论 -
java基础【异常的分类和三种处理异常的实例】
1、异常:程序在运行时有可能出现的非正常状况,一旦出现,会导致程序崩溃。2、分类: (1)按照程度分: Error:虚拟机也无法处理的错误状况 Exception:一般性问题 (2)按照处理方式分: 受检异常:在程序中必须对其进行处理的异常,如果不处理,编译就会出错Exception及其子类,RuntimeExcep...原创 2021-11-14 19:36:57 · 654 阅读 · 0 评论 -
java基础【枚举、注解】
枚举:一个一个把类中所有元素列举出来,比如性别类,只有两个元素,可以使用枚举。原创 2021-11-12 14:48:41 · 193 阅读 · 0 评论 -
java基础【面向对象总结】
面向对象: 1、类和类的成员 1)类:对事物的描述 2)成员: a)属性:描述事物的数据部分对象属性:依赖对象的存在而存在,存储在GC区。类属性(被static修饰的):依赖类的存在而存在,存储在方法区。 ...原创 2021-11-10 14:43:53 · 364 阅读 · 0 评论 -
java基础【内部类(普通内部类,嵌套类,普通局部内部类,匿名内部类)】
package com.hike.javase.innerclass;/** * 内部类:把一个类定义在另一个类的内部,后面的类称为外部类 * * 内部又分为: * 成员内部类:声明在类中方法外 * 没有被static修饰的称为普通内部类 * 适用于内部类与外部类频繁交互,比对相关联更方便,但对象关联更安全,所以用的多一些 * 被static修饰的内部类称为嵌套类 * 局部内部内:声明在方法中 * .原创 2021-11-10 14:18:32 · 326 阅读 · 0 评论 -
java基础【使用接口实现通用的排序算法】
package com.hike.javase.interfacetest;//创建学生类,并实现Comparable接口public class Student implements Comparable{ private int id; private String name; private int grade; private double score; public Student() { } public Student(int.原创 2021-11-09 21:26:37 · 257 阅读 · 0 评论 -
java基础【接口练习】
要求:定义一个接口用来实现两个对象的比较。1、定义一个Circle类。2、定义一个ComparableCircle类,继承Circle类并且实现CompareObject接口。在ComparableCircle类中给出接口中方法compareTo的实现体,用来比较两个圆的半径大小。3、定义一个测试类TestInterface,创建两个ComparableCircle对象,调用compareTo方法比较两个类的半径大小。4、思考:参照上述做法定义矩形类Rectangle和ComparableRec.原创 2021-11-09 13:23:05 · 1079 阅读 · 0 评论 -
java基础【工厂方法】
对象的创建不仅可以通过new,还可以通过方法获取,另外反序列化和反射也可以。工厂模式解决主要问题是,用一种简单的办法获取对象。package com.hike.javase.interfacetest;/** * 工厂模式: * 对象的创建复杂,甚至无法完成,通过工厂方法获取对象。 * * 特点: * 不需要知道它所在的类,见工厂的应用。 * 进一步老师学生类中都包含work方法,可定义一个Worker接口, * 这样在获取对象时,不用指定..原创 2021-11-08 16:01:17 · 65 阅读 · 0 评论 -
java基础【代理】
一、Hadoop组成原创 2021-11-08 15:31:18 · 50 阅读 · 0 评论 -
java基础【修改idea中注释的字体格式】
File--settings--Editor--Color Scheme--Language Defaults--Comments--右上角Blod(取消斜体)其中Comments中的几个选项:Doc Comment--修改文档注释的字体;Block Comment--修改多行注释的字体颜色;Line Comment--修改当前注释的字体颜色...原创 2021-11-08 15:11:54 · 2660 阅读 · 0 评论 -
java基础[接口]
接口作用:将两个不同的东西连接起来,让他们共同去工作! 具体类:定义某一具体的事物; 抽象类:定义某一类不同种的事物; 接口:定义不同类型的不同种事物,但是却有共同的行为,注重事物的行为,而不是事物的种类。接口不是类,是一个特殊的存在。接口和类是并列的关系。在接口中的方法,需要定义为抽象公共方法,属性需要定义为全局常量(public static final)【基本不用】,接口是抽象的极致。在抽象类中可以直接定义方法:返回值+ 方法名即...原创 2021-11-08 14:44:21 · 105 阅读 · 0 评论 -
java基础[java高级特性]
1. 关键字static: 有一些属性和方法与对象无关,而与类有关,这些属性和方法就可以定义为static,存储在永久区内。 可以理解为这个类中所有的对象都包含的属性和方法,如中国人的类中都包含“国家=中国”这个属性。 被static的属性称为类属性,方法称为类方法。特点:随着类的加载而加载,优先于对象存在,被所有对象所共享。package com.hike.javase.statictest;public class Em...原创 2021-09-03 15:02:55 · 77 阅读 · 0 评论 -
java基础[Object类中包含的方法]
package com.hike.javase.object;/* * boolean equals(Objecr obj): * 判断当前对象中的内容是否和参数中的对象内容相同 * * public int hashCode():计算出对象的哈希码(散列码或特征码):// 根据对象的内容创建出来的特征码值(根据某种规则),对象内容相同则哈希码必须相同,反之亦同 * * public String toString():把对象变成字符串,字符串内容是对象的详细信息 * 打印.原创 2021-08-09 15:14:56 · 146 阅读 · 0 评论 -
java基础[多态基础,多态数组,多态参数方法]
多态:子类对象的多种父类形态;也就是把子类对象当做父类来使用,会丧失一些功能。多态引用:子类对象赋值于父类类型的引用变量。例如Person P = new Chinese();多态引用中子类的特有成员/方法不可以访问编译时类型(等号左边) 与 运行时类型(等号右边) 不一致,就出现了多态。*****虚拟方法调用:当使用多态时,Person P = new Chinese();,多态引用P调用覆盖方法时,编译时会调用父类方法,而在运行时,会调用子类的重写方法。编译时编译器检查父类中是否有这个方法.原创 2021-08-09 14:24:55 · 241 阅读 · 0 评论 -
java基础[继承需要注意的地方]
从现有类创建子类,子类会继承父类所有成员(构造器除外)包括私有的属性。 子类继承父类私有成员时,必须通过父类提供的set\get方法进行间接访问,不可以直接访问。 方法的重写(override):在子类中重写在父类中继承的方法,因为父类的方法不能够满足需要。其中父类与子类中的方法签名必须完全一致;子类方法的修饰权限要发育等于父类,因为子类是对父类进行的扩展。 this表示一个对象,是一个整体、super只是一个标识,用于标记从父类继承的成员。 在测试类中再想去调用被覆盖的方法时不允许的。覆盖代表摒弃原创 2021-08-06 15:14:54 · 285 阅读 · 0 评论 -
java基础[杨辉三角]
package com.hike.javase.work;public class HelloWork { public static void main(String[] args) {// 使用二维数组打印10行杨辉三角 int[][] yangHui = new int[10][]; for(int i = 0; i < yangHui.length; i++) { yangHui[i] = new int[i + 1]; yangHui[i][0] = 1; .原创 2021-08-05 15:35:40 · 48 阅读 · 0 评论 -
java基础[可变参数]
package com.hzy.javase.array;public class VarargsTest { //可变参数,参数个数可变,个数任意且可以接收数组对象 //可以为空,可以为null //可变参数只允许有一个 public static int avg(int... values) { int sum = 0; for(int i = 0; i < values.length; i++) { sum += values[i]; } return s.原创 2021-08-04 16:04:24 · 55 阅读 · 0 评论 -
java基础[二维数组的遍历,求和,找最大值]
package com.hzy.javase.array;/* * 二维数组:就是数组的子数组,元素都是子数组 */public class ArrayArrayTest { public static void main(String[] args) { //创建拥有10个子数组的二维数组,找出最大值,子数组长度为2-5 int[][] arrarr = new int[10][]; for(int i = 0; i < arrarr.length; i++) {.原创 2021-08-04 15:43:27 · 1568 阅读 · 0 评论 -
java基础[数组及对象数组排序(冒泡排序、选择排序、快速排序)]
1、问题描述 使用冒泡排序、选择排序、快速排序,完成数组及对象数组的排序。2、代码2.1 数组排序package com.hzy.javase.array;import java.util.Arrays;public class ArrayTest { public static void quickSort(int[] arr, int begin, int end) { if(end - begin <= 1) { r...原创 2021-07-25 16:29:34 · 655 阅读 · 1 评论 -
java基础[项目:客户信息管理系统]
1.问题描述: 实现客户信息管理系统,包括对用户信息的增删改查功能。2.包结构com.hike.cms.view -- UI模块,和用户进行交互,连接用户和服务组件 CustomerView 视图层,实现与用户的交互 CMUtility 工具类,实现接收用户在键盘输入的数据 com.hike.cms.service -- 核心服务组件包,管理器 Cu...原创 2021-07-19 20:25:11 · 391 阅读 · 0 评论 -
java基础[数组及对象数组取子数组]
//在数组中取子数组 public static void main(String[] args) { int[] arr = new int[8]; for(int i = 0; i <arr.length; i++) { arr[i] = (int) (Math.random() * 20); } //遍历 for(int temp : arr) { System.out.print(temp + " "); } System..原创 2021-07-16 15:54:32 · 711 阅读 · 0 评论 -
java基础[数组及对象数组的扩容]
//数组的扩容 public static void main(String[] args) { int[] arr = new int[8]; for(int i = 0; i <arr.length; i++) { arr[i] = (int) (Math.random() * 20); } //遍历 for(int temp : arr) { System.out.print(temp + " "); } System.out.printl.原创 2021-07-16 15:02:20 · 381 阅读 · 0 评论 -
java基础[数组的缩减、对象数组的缩减]
//数组的缩减 public static void main(String[] args) { int[] arr = new int[8]; for(int i = 0; i <arr.length; i++) { arr[i] = (int) (Math.random() * 20); } //遍历 for(int temp : arr) { System.out.print(temp + " "); } System.out.pri.原创 2021-07-16 14:44:13 · 600 阅读 · 0 评论 -
java基础[反转对象数组]
public static void main(String[] args) { Student[] stuArr = new Student[20]; String[] name1 = {"赵","钱","孙","李","周","吴","郑","王"}; String[] name2 = {"明","阳","微","男","楠","博","三","歌"};// 遍历才可以用增强for for(int i = 0; i < stuArr.length; i++) {.原创 2021-07-16 14:17:32 · 179 阅读 · 0 评论 -
java基础[对象数组的创建、增强for遍历、最大值]
public static void main1(String[] args) { Student[] stuArr = new Student[20]; String[] name1 = {"赵","钱","孙","李","周","吴","郑","王"}; String[] name2 = {"明","阳","微","男","楠","博","三","歌"};// 遍历才可以用增强for for(int i = 0; i < stuArr.length; i++) ..原创 2021-07-16 14:13:58 · 185 阅读 · 0 评论 -
java基础[数组的反转]
public static void main(String[] args) { int[] arr = new int[8]; for(int i = 0; i <arr.length; i++) { arr[i] = (int) (Math.random() * 20); } //遍历 for(int temp : arr) { System.out.print(temp + " "); } System.out.println(); ..原创 2021-07-16 14:11:11 · 57 阅读 · 0 评论 -
java基础[寻找数组中的最大值]
public static void main(String[] args) { int[] arr = new int[8]; for(int i = 0; i <arr.length; i++) { arr[i] = (int) (Math.random() * 20); } //遍历 for(int temp : arr) { System.out.print(temp + " "); } System.out.println();// .原创 2021-07-16 14:10:18 · 83 阅读 · 0 评论 -
java基础[数组的增强for遍历]
public static void main(String[] args) { int[] arr = new int[8]; for(int i = 0; i <arr.length; i++) { arr[i] = (int) (Math.random() * 20); } for(int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } System.ou.原创 2021-07-16 14:08:35 · 83 阅读 · 0 评论 -
Java基础[数组]
/** 数组是一组相同数据类型的集合,数组是对象 一个数组可以拥有多个元素 任意数据类型都可以创建数组 数组声明: 元素数据类型[] 数组名; 数组的创建: new 元素数据类型 [数组长度]; 数组的访问: 首地址 + 偏移量 == 数组名[下标] 数组的元素相当于数组对象的属性 数组对象一旦创建,长度不允许修改,数据类型也不允许修改 将数组看成循环,它天生要和for循环搭配使用 对象数组:将一个对象存储为一个数组(见ArrayTest)*/cl.原创 2021-07-12 16:07:42 · 62 阅读 · 0 评论 -
Java面向对象[this关键字]
/*this表示当前对象 如果在构造器中,this表示正在创建的对象 如果在其他方法中,this表示的方法的调动者*/public class Student{ private String name; private int grade; private double score; public void setName(String name){ this.name = name; } public void setGrade(int grade){ this.原创 2021-07-12 15:17:32 · 76 阅读 · 0 评论