![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java基础
加油
The Great Ant
做一个功成名就的人
展开
-
2021-03-18
第7章 面向对象基础(下)文章目录第7章 面向对象基础(下)学习目标第七章 面向对象基础--下(续)7.1 枚举7.1.1 概述7.1.2 JDK1.5之前7.1.3 JDK1.5之后7.1.4 枚举类型常用方法7.1.5 练习7.2 包装类7.2.1 包装类7.2.2 装箱与拆箱7.2.3 包装类的一些API1、基本数据类型和字符串之间的转换2、数据类型的最大最小值3、字符转大小写4、整数转进制7.2.4 包装类对象的缓存问题7.2.5 面试题1、类型转换问题2、不可变对象7.3 抽象类7.3.1 由原创 2021-03-18 19:49:23 · 467 阅读 · 0 评论 -
2021-03-18
JavaSE_第4章 数组今日内容数组概念数组的声明和初始化数组的索引数组的长度数组的遍历数组内存数组的相关算法学习目标 理解数组作为容器的概念 掌握数组的声明和初始化 使用索引访问数组的元素 了解数组的内存图解 避免空指针和越界异常 掌握数组的遍历 掌握常见的数组算法第四章 数组4.1 容器概述案例分析现在需要统计某公司员工的工资情况,例如计算平均工资、找到最高工资等。假设该公司有50名员工,用前面所学的知识,程序首先需要声明50个变量来分别记住每位员工的工原创 2021-03-18 19:46:18 · 196 阅读 · 0 评论 -
2021-03-18
JavaSE_第三章【流程控制语句】今日内容if else判断语句switch选择语句for循环语句while循环语句do…while循环语句breakcontinue学习目标 掌握键盘输入各种数据类型的值 理解if语句的格式和执行流程 理解if…else语句的格式和执行流程 理解if…else if语句的格式和执行流程 理解switch选择语句的格式和执行流程 掌握switch选择语句接收的数据类型 理解case的穿透性 掌握break原创 2021-03-18 19:45:34 · 175 阅读 · 0 评论 -
2021-03-18
Java最基础的语法–必看!今日内容数据类型运算符学习目标 了解进制 理解基本数据类型的自动类型转换 理解基本数据类型的强制类型转换 了解ASCII编码表和Unicode编码表 理解int类型和char类型的运算原理 理解运算符++ --的运算方式 理解+符号在字符串中的作用 掌握算术运算符 掌握赋值运算符 掌握比较运算符 理解逻辑运算符 掌握三元运算符的格式和计算结果 了解位运算符第二章 Java基础知识(续)2.8 计算机如何存储数据计算机世界中只有二进原创 2021-03-18 19:44:34 · 199 阅读 · 0 评论 -
2021-03-18
什么是Java?今日内容Java语言的发展历史安装JDK配置环境变化编写HelloWorld程序Java注释Java关键字标识符常量变量Java基本数据类型学习目标 能够使用常见的DOS命令 理解Java语言的跨平台实现原理 理解JDK/JRE/JVM的组成和作用 能够配置环境变量JAVA_HOME(会参照笔记配置) 能够编写HelloWorld程序编译并执行 会使用单行注释和多行注释 能够辨识关键字 理解标识符的含义 理解Java中的基本数据类型分类 能够原创 2021-03-18 19:42:40 · 217 阅读 · 0 评论 -
2021-03-18
大厂面试题,谈谈对多态的理解?1.多态性的理解:可以理解为一个事物的多种形态。2.广义上多态性的体现:①方法的重载 和 方法的重写②子类对象的多态性3.狭义上多态性的体现:子类对象的多态性4.何为子类对象多态性:父类的引用指向子类的对象。(子类的对象赋给父类的引用)举例:前提:Student和Man都是Person类的子类Person p = new Student();Person p = new Man();Object obj1 = new String("ABC");Numb原创 2021-03-18 18:45:47 · 46 阅读 · 0 评论 -
2021-03-12
接口comparable和comparator的区别comparable:需求:比较两个对象谁大 在比较对象时需要指定比较的条件 分数 年龄 薪水......java 内部提供了一个比较的接口 Comparable接口 用于对象比较使用方式: 1.让比较对象的类型实现 Comparable接口 2.重写抽象方法 制定 比较规则 3.进行比较获取结果 当结果是 >0: 第一个对象大于第二个对象 ==0: 两个原创 2021-03-12 22:04:41 · 83 阅读 · 0 评论 -
2021-03-11
面向对象基础1.枚举1.1 JDK1.5之前在JDK1.5之前如何声明枚举类呢?构造器加private私有化本类内部创建一组常量对象,并添加public static修饰符,对外暴露这些常量对象1.2 JDK1.5之后语法格式:修饰符】 enum 枚举类名{ 常量对象列表}【修饰符】 enum 枚举类名{ 常量对象列表; 其他成员列表;}示例代码:public class TestEnum { public static void ma原创 2021-03-11 21:20:55 · 116 阅读 · 0 评论 -
2021-03-11
java的实例初始化过程实例初始化:类中非静态成员变量赋值1.实例初始化4个: (1).super() (2). 类中非静态成员变量显示赋值语句 (3). 非静态代码块 (4). 构造器中的内容注意: 1.创建多次对象 实例初始化会执行多次 2.实例初始化执行的方法 init() 3.当有继承关系时 父类和子类会有单独的 <init>进行实例初始化 4.当 子类重写了父类的方法时 查看是否会调用父类的资源原创 2021-03-11 19:41:50 · 40 阅读 · 0 评论 -
2021-03-11
java类的初识化<clinit>:类的初始化 编译器自动调用的方法会将 静态成员变量的显示赋值语句 静态代码块中的 内容进行合并 哪些操作会触发类的初始化: 1.在当前类中调用main() 2.调用本类中的静态资源 3.创建该类对象会触发 4.调用子类中的静态资源 会导致父类初识化 注意: 1.子类使用从父类继续的静态资源时 不会导致子类初始化 2.父子类进行类的初始化 也只是调用一个 <clinit>方原创 2021-03-11 19:39:37 · 42 阅读 · 0 评论 -
2021-03-10
java基础-关键字总结1. continue使用场景:结束本次循环,继续下一次的循环2. break使用场景:终止switch或者当前循环**在选择结构switch语句中在循环语句中离开使用场景的存在是没有意义的staticstatic是一个修饰符,可以修饰:成员变量,我们称为类变量,或静态变量,表示某个类的所有对象共享的数据成员方法,我们称为类方法,或静态方法,表示不需要实例对象就可以调用的方法,使用“类名."进行调用父类的静态方法可以被继承不能被重写原创 2021-03-10 22:19:07 · 71 阅读 · 0 评论 -
2021-03-08
用递归计算1-100之间所有自然数的和递归:方法自己调用自己一个完好的递归:1.有出口2.不断的向出口靠近public class Test { public static void main(String[] args) { int sum = getSum(5); System.out.println("sum = " + sum); } /** * @param num 求到几的和 * @return 和原创 2021-03-08 22:04:49 · 55 阅读 · 0 评论 -
2021-03-08
面向对象基础–继承1. 继承多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类中无需再定义这些属性和行为,只需要和抽取出来的类构成某种关系。其中,多个类可以称为子类,也叫派生类;多个类抽取出来的这个类称为父类、超类(superclass)或者基类。1.1 继承的好处:提高代码的复用性。提高代码的扩展性。类与类之间产生了关系,是学习多态的前提。通过 extends 关键字,可以声明一个子类继承另外一个父类,定义格式如下:【修饰符】 class 父类 { ...原创 2021-03-08 22:47:56 · 1122 阅读 · 0 评论 -
2021-03-07
声明一个方法,可以找出任意个整数的最大公约数代码如下/*1、声明一个方法,可以找出任意个整数的最大公约数public class Test2 { public static void main(String[] args) { // 数据校验 getGongYueShu(); int gongYueShu = getGongYueShu(6, 3, 9); System.out.println("gongYueShu原创 2021-03-07 22:45:45 · 94 阅读 · 0 评论 -
2021-03-06
java语法成员变量 vs 局部变量1.代码位置不同成员变量:类中方法外局部变量: 方法内内存位置:成员变量:堆中局部变量:栈中2.初始化时间不同成员变量: 创建对象分配空间局部变量: 方法调用用时分配空间3.销毁时间不同:成员变量: 等待垃圾回收器回收局部变量: 方法执行后 弹栈后消失4.是否含有默认值成员变量: 有默认值局部变量: 必须完成初始化后才能使用 没有默认值5.作用域问题成员变量: 在整个类的范围内有效局部变量: 仅仅在当前方法内有效6.修饰符问题:原创 2021-03-06 17:56:12 · 35 阅读 · 0 评论 -
2021-02-27
JAVA中的运算符的分类及解析一·赋值运算符注意:所有的赋值运算符的=左边一定是一个变量二·关系运算符/比较运算符比较运算符,是两个数据之间进行比较的运算,运算结果一定是boolean值true或者false 。其中>,<,>=,<=不支持boolean,String类型,==和!=支持boolean和String。三· 逻辑运算符逻辑运算符,是用来连接两个布尔类型结果的运算符(!除外),运算结果一定是boolean值true或者false...原创 2021-02-27 21:11:12 · 113 阅读 · 0 评论 -
2021-02-26
Java基础语法2.1 计算机如何存储数据计算机世界中只有二进制。那么在计算机中存储和运算的所有数据都要转为二进制。包括数字、字符、图片、声音、视频等。2.1.1 进制1. 进制的分类十进制二进制八进制十六进制2. 进制的换算十进制数据转成二进制数据:使用除以2倒取余数的方式二进制数据转成十进制数据:从右边开始依次是2的0次,2的1次,2的2次。。。。3. 在代码中如何表示四种进制的值2.1.2 计算机存储单位字节(Byte):是计算机信息技术用于计量存储容量的一种计量单位原创 2021-02-26 23:05:23 · 50 阅读 · 0 评论 -
2021-03-05
idea最基础的快捷键使用建立在 修改为eclipse的基础上快速生成main() psvm + tab main + tab 运行程序: ctrl + shift+ f10 sout: 快速生成 System.out.println(999); alt + 上/下键 快速移动 ctrl + alt + 下 快速复制 屏幕 会反转 与显卡的快捷键冲突 禁止显卡快捷键 ctrl + D 快速删除原创 2021-03-05 22:06:20 · 45 阅读 · 0 评论 -
2021-03-05
java面向对象中普通变量和静态变量的区别1.声明方式不同普通成员变量: 数据类型 变量名静态成员变量: static 数据类型 变量名2.调用方式不同普通成员变量: 对象名.属性名静态成员变量: 对象名.属性名类名.属性名3.在内存中的分数不同普通成员变量: 每创建一个对象 就会开辟一块内存静态成员变量: 只会开辟一块空间 所有的对象共享4.生命周期生命的开始:普通成员变量:需要创建对象 才会开辟空间静态成员变量: 随着类的加载而加载生命的结束:普通成员变量:没有对象引用时原创 2021-03-05 22:05:07 · 36 阅读 · 0 评论 -
2021-03-04
java面向对象基础1、面向对象思想概述概述Java语言是一种面向对象的程序设计语言,而面向对象思想(OOP)是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。面向对象与面向过程思想C语言是一种典型的面向过程语言,Java是一种典型的面向对象语言。面向对象的基本特征面向对象的原创 2021-03-04 19:27:32 · 67 阅读 · 1 评论 -
2021-03-04
java数组的初始化数组(array): 就是相同数据类型的元素按一定顺序排列的集合在程序中如何初始化数组://书写格式很多,我们只需要选择其中一个使用即可//一维数组的初识化int[] arr = {1,2,3};int arr[] = {1,2,3};int[] arr = new int[3];int arr[] = new int[3];//二维数组的初始化int[][] doubleArr = {{1},{2},{3}};int doubleArr[][] = {{1}原创 2021-03-04 18:38:44 · 31 阅读 · 1 评论 -
2021-03-04
java经典三天打鱼两天晒网案例需求:假设从2000年1月1日开始三天打鱼,两天晒网,从键盘输入今天的日期年、月、日,显示今天是打鱼还是晒网?代码如下:class TestFish{ public static void main(String[] args){ //1、从键盘分别输入年、月、日 java.util.Scanner input = new java.util.Scanner(System.in); System.out.print("年:"); int year原创 2021-03-04 18:37:30 · 154 阅读 · 1 评论 -
2021-03-03
统计每个字符出现的次数,并打印到控制台统计字符字符数组:{‘a’,‘l’,‘f’,‘m’,‘f’,‘o’,‘b’,‘b’,‘s’,‘n’}统计每个字符出现的次数并打印到控制台。这里采用数组的遍历来实现结果:class Test{ public static void main(String[] args){ //给arr数组赋值”a-z”26个字母 char[] arr = new char[26]; for(int i = 0;i<arr.length;i++原创 2021-03-03 23:38:38 · 154 阅读 · 1 评论 -
2021-03-03
数组的遍历方法1. 一维数组的遍历(普通for循环)class Test{ public static void main(String[] args) { //一维数组的遍历 int[] arr = new int[]{1,2,3,4,5,6}; for(int i = 0;i<arr.length;i++) { System.out.println(arr[i]); } }}2. 一维数组的遍历(增强for循环)class Test{ p原创 2021-03-03 22:36:58 · 131 阅读 · 1 评论 -
2021-03-02
实现:使用Scannery类及其方法本文列举Scannery的两种键盘输入方法方法一:1.创建键盘输入对象 java.util.Scanner input = new java.util.Scanner(System.in);2.给出提示语句 System.out.println("输入一个数字");3.对象调用方法 int sum = input.nextInt();代码演示:class ScannerTest{ public static void main原创 2021-03-02 22:47:10 · 76 阅读 · 0 评论 -
2021-02-26
JAVA为什么要配置环境变量、path的概念一、如何在系统里找到path如图所示1.2.3.4.Path:windows系统执行命令时要搜寻的路径用户变量:仅对当前用户有效系统变量:对所有用户都有效二、 配置环境变量的目的想要javac命令和java命令在仍和位置都可以使用三、为什么要配置JAVA_HOME因为java是一个平台,其他软件有可能会使用java,为了给其他软件按提供帮助配置JAVA_HOME...原创 2021-02-26 22:44:51 · 32 阅读 · 0 评论 -
2021-02-26
java标识符的命名规则和规范首先我们要了解什么叫标识符标识符:凡是自己可以命名的地方都是标识符命名规则:1.由26个英文字母大小写、0-9、_或$组成2.开头不能是数字3.不可以使用关键字很和保留字、但是可以包含关键字和保留字4.Java严格区分大小写、长度无限制5.标识符不能包含空格命名规范1.见名之意2.包名:多单词组成所有字母都要小写xxyyzz3.类名、接口名:多单词组成是,所有单词首字母大写XxYyZz4.变量名、方法名:第一个字母小写,第二个开始大写xxYyZz5.原创 2021-02-26 22:27:00 · 96 阅读 · 0 评论 -
2021-03-13
4大内部类的解析首先我们要先了解java类的主要组成部分。类的成员:1.属性普通属性静态属性2.方法普通方法静态方法3.构造器4.代码块普通代码块静态代码块5.内部类: 在一个类的内部在写一个类-内部类 (1).普通成员内部类 普通属性 (2).静态成员内部类 静态属性 查看源码 (3).局部内部类 局部变量 (4).匿名内部类 匿名对象 参照 内部类的作用:1.可以对外部类的功能进行拓展 且 可以不被外界访问2.间接实原创 2021-03-13 21:48:47 · 95 阅读 · 0 评论 -
2021-03-12
内部类1 概述1、什么是内部类?将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。2、为什么要声明内部类呢?当一个事物的内部,还有一个部分需要一个完整的结构进行描述,而这个内部的完整的结构又只为外部事物提供服务,不在其他地方单独使用,那么整个内部的完整结构最好使用内部类。而且内部类因为在外部类的里面,因此可以直接访问外部类的私有成员。3、内部类都有哪些形式?根据内部类声明的位置(如同变量的分类),我们可以分为:(1)成员内部类:静态成员内部类非静态成员内部类原创 2021-03-12 22:26:20 · 41 阅读 · 0 评论 -
2021-03-14
native关键的理解文章目录native关键的理解(1)为什么要用native方法(2)native声明的方法,对于调用者,可以当做和其他Java方法一样使用使用native关键字说明这个方法是原生函数,也就是这个方法是用C/C++等非Java语言实现的,并且被编译成了DLL,由java去调用。(1)为什么要用native方法java使用起来非常方便,然而有些层次的任务用java实现起来不容易,或者我们对程序的效率很在意时,问题就来了。例如:有时java应用需要与java外面的环境交互。这是本地方原创 2021-03-14 21:08:00 · 35 阅读 · 0 评论 -
2021-03-14
异常/**异常 : 程序在运行时出现的非正常状况, 如果不处理会导致程序崩溃.异常分类 :按照程度来分 : 1) Error 严重错误 2) Exception 一般问题按照处理方式来分 : 1) 受检异常(checked) 编译时异常 : 在程序中必须接受检查和处理的异常 Exception及其子类, RuntimeException及其子类除外. 2) 非受检异常(unchecked) 运行时异常 : 在程序中不是必须接受检查和原创 2021-03-14 21:03:45 · 36 阅读 · 0 评论 -
2021-03-14
类与类之间的关系说明文章目录类与类之间的关系说明1、依赖关系(Dependency)2、关联关系(Association)3、聚合(Aggregation)4、组合(Composite)5、继承(Generalization,又称为泛化,is-a 的关系)对象的关联 — 简单地说,是指一个对象中使用了另一个对象。1、依赖关系(Dependency)对象之间最弱的一种关联方式,是临时性的关联。代码中一般指由局部变量、函数参数、返回值建立的对于其他对象的调用关系。class A{ public B原创 2021-03-14 20:58:09 · 39 阅读 · 0 评论 -
2021-03-16
一.同步代码块和同步方法的详解文章目录一.同步代码块和同步方法的详解1 首先我们要明白线程安全问题:2 解决线程安全问题:2.1使用同步代码块解决2.2采用同步方法解决1 首先我们要明白线程安全问题:当我们使用多个线程访问同一资源(可以是同一个变量、同一个文件、同一条记录等)的时候,若多个线程只有读操作,那么不会发生线程安全问题,但是如果多个线程中对资源有读和写的操作,就容易出现线程安全问题。2 解决线程安全问题: 保证在操作共享数据时 只有一条线程 两种方式:1原创 2021-03-16 22:09:08 · 38 阅读 · 0 评论 -
2021-03-15
final、finalize、finally的区别final: 修饰类: 不能被继承 是太监类 final class Person 修饰方法:此方法不能被重写 public final void eat(){} 修饰变量:final修饰的变量 是常量 修饰对象:地址值不能改变finalize(): 当垃圾回收器回收该对象之前 会调用的方法try{}catch(){}fina原创 2021-03-15 22:10:41 · 39 阅读 · 0 评论 -
2021-03-15
第9章 多线程学习目标 说出进程的概念 说出线程的概念 能够理解并发与并行的区别 能够开启新线程 能够描述Java中多线程运行原理 能够使用继承类的方式创建多线程 能够使用实现接口的方式创建多线程 能够说出实现接口方式的好处 能够解释安全问题的出现的原因 能够使用同步代码块解决线程安全问题 能够使用同步方法解决线程安全问题 能够说出线程6个状态的名称 能够理解线程通信概念 能够理解等待唤醒机制 能够说出线程的生命周期第九章 多线程我们在之前,学习的程序在没有跳转语句的原创 2021-03-15 22:01:41 · 255 阅读 · 0 评论