自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 Mac安装homebrew,解决Failed to connect to raw.githubusercontent.com port 443: Connection refused方案

方案一:使用国内镜像源:科大or清华/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"方案二:1. 使用此网站https://websites.ipaddress.com/查询raw.githubusercontent.com的IPV4地址3. 将查到的IPv4地址和Domain Name添加到etc的hosts文件中命令: sudo vi /etc/hosts实例:

2021-11-03 19:18:49 466

原创 java包装类详解

一、包装类存在的意义 1、作为和基本数据类型对应的类型存在,方便涉及到对象的操作,如Object[]、集合(在泛型中,基本类型是不可以做泛型参数的)等的操作。 2、可以使这个类型具有很多可以调用的方法(如:基本数据类型、包装类对象、字符串相互之间的转换) 3、可以使每种基本数据类型具有一些属性可以操作(如最大值、最小值等)二、八种包装类型基本数据类型 包装类型 包装类的父类 byte java....

2021-05-02 21:26:22 430

原创 java字符串常用方法大全一篇足矣

一、字符串的内存图1、String类的位置:java.lang.String2、String表示字符串类型,属于引用数据类型,不属于基本数据类型3、Java中规定,双引号括起来的字符串是不可变的,如字符串"as300"从出生到死亡不会变,不能变成"as3000",字符串一旦创建不可变。4、双引号括起来的字符串是存储在"方法区"的"字符串常量池"当中, 因为字符串在实际的开发中使用很频繁,为了提高执行效率,所以将字符串存储在方法区的字符串常量池当中。package Test;pu...

2021-05-02 00:06:16 727 1

原创 Arrays工具类常用方法

以下是Arrays工具类常用的一些方法:1、Arrays.sort(Object[] array) 对数组元素进行排序2、Arrays.asList(T…data) 将数组转换为集合,接收一个可变参数3、Arrays.toString(Object[] array) 返回数组元素的字符串形式4、Arrays.deepToString(Object[] array) 返回多维数组元素的字符串形式5、Arrays.binarySearch(Object[] array, Object

2021-04-19 23:06:09 816

原创 常见的排序算法和二分法查找算法

【排序算法】一、冒泡排序 每次对相邻的两个元素进行比较,若前者大于后者则进行交换,如此一轮下来最后一轮的就是最大元素,接着进行下一轮的比较, 需要注意的是下一轮的比较要将上一轮确定的最大的那个元素除外,重复以上的步骤,直到没有要比较的元素。 二、选择排序 选择排序(Selection sort)的工作原理是:首先在未排序序列中找...

2021-04-18 23:42:38 1084 4

原创 Java小项目源码

**项目名称:**酒店管理系统**项目需求:**模拟订房、退房、打印所有房间状态等功能1、该系统的用户:酒店前台2、酒店使用一个二维数组来模拟,“Room[][] rooms”3、酒店中的每一个房间应该是一个java对象4、每一个房间Room应该有:房间编号、房间类型、房间是否空闲5、系统应该对外提供的功能:可以预定房间:用户输入房间编号订房可以退房:用户输入房间编号退房可以查看所有房间的状态:用户输入某个指令应该可以查看所有房间状态package Test;import java.

2021-04-16 20:21:38 880

原创 java之数组

一、一维数组1、Java语言当中的数组是一种引用数据类型,数组的父类型是Object2、数组实际上是一个容器,可以同时容纳多个元素(数组是一个数据的集合)3、数组当中可以存储“基本数据类型”的数据 ,也可以存储“引用数据类型”的数据4、因为数组是引用数据类型,所以数组对象存储在堆内存当中。5、数组当中如果存储的是"java对象"的话,实际上存储的是对象的“引用(内存地址)”,数组中不能直接存储java对象6、java中规定,数组一旦创建,其长度不可变(数组长度不可变)7、数组的分类:一维数组、

2021-04-16 20:03:45 159 1

原创 Object类

1、老祖宗Object类中的方法,都是所有子类通用的,任何一个类默认继承Object,就算没有直接继承,最终也会间接继承。2、如何查阅Object类中的常用方法呢?1)在源代码当中查阅2)去查阅java的类库的帮助文档。3、什么是API?API(Application Program Interface):应用程序编程接口整个JDK的类库就是一个javaSE的API每一个API都会配置一套API帮助文档4、需要熟悉的几个方法:protected Object clone() //负责对象

2021-04-13 21:37:02 102

原创 java之内部类

1、什么是内部类?内部类:在类的内部又定义了一个新的类,被称为内部类。2、内部类的分类:静态内部类:类似于静态变量实例内部类:类似于实例变量局部内部类:类似于局部变量3、使用内部类编写的代码,可读性很差,能不用尽量不用。4、匿名内部类是局部内部类的一种。因为这个类没有名字而得名,叫做匿名内部类。5、学习匿名内部类主要是让大家以后在阅读别人代码的时候,能够理解,并不代表以后都要这样写,因为匿名内部类有两个缺点:缺点1:太复杂、太乱、可读性太差缺点2:类没有名字,以后想重复使用,不能用【

2021-04-13 21:36:37 69

原创 java之类和类之间的关系

1、is aCat is a Animal(猫是一个动物)凡是能够满足is a的表示"继承关系"A extends B2、has aI has a pen(我有一支笔)凡是能够满足has a的表示"关联关系"关联关系通常是以"属性"的形式存在A{B b;}3、like aCook like a Foodmenu(厨师像一个菜单一样)凡是能够满足like a关系的表示"实现关系"实现关系通常是:类实现接口。A implements B...

2021-04-13 21:35:59 57

原创 Java抽象类和接口之间的区别

抽象类是半抽象的接口是完全抽象的抽象类中有构造方法接口中没有构造方法接口和接口之间支持多继承 类和类之间只能单继承一个类可以同时实现多个接口一个抽象类只能继承一个类(单继承)接口中只允许出现常量和抽象方法【注】以后接口使用的比抽象类多,接口一般都是对"行为"的抽象。...

2021-04-11 01:15:16 64

原创 java之接口

一、接口语法1、接口也是一种"引用数据类型",编译之后也是一个class字节码文件2、接口是完全抽象的(抽象类是半抽象)或者也可以说接口是特殊的抽象类。3、定义接口的语法:[修饰符列表] interface 接口名{}4、接口支持多继承,一个接口可以继承多个接口。5、接口中只包含两部分内容:1)常量2)抽象方法6、接口中所有的元素都是public修饰的。(都是公开的)7、接口中的抽象方法定义时:public abstract修饰符可以省略。8、接口中的方法都是抽象方法,接口中的方法不能有

2021-04-11 01:14:49 63

原创 java之抽象类

1、什么是抽象类?类和类之间具有共同特征,将这些共同特征提取出来,形成的就是抽象类,类本身是不存在的,所以抽象类无法创建对象《无法实例化》 2、抽象类属于什么类型? 抽象类也属于引用数据类型3、抽象类怎么定义? 语法: [修饰符列表] abstract class 类名{ 类体; }4、抽象类是无法实例化的,无法创建对象的,所以抽象类是用来被子类继承的。5、final和abstract不能联合使用,这两个关键字...

2021-04-11 01:13:40 140

原创 java之super关键字

1、super是一个关键字、全部小写2、super和this: this: 1)this能出现在实例方法和构造方法中 2)this的语法是:"this."、"this()" 3)this不能使用在静态方法中 4)this. 大部分情况下是可以省略的 5)this. 什么时候不能省略呢? 在区分局部变量和实例变量的时候不能省略 public void setName(String name){ ...

2021-04-11 01:13:01 251

原创 IDEA工具的使用

1、字体设置file–>setting -->输入font–>设置字体样式以及字号大小2、快速生成main方法psvm3、快速生成System.out.println();sout4、IDEA是自动保存的,不需要ctrl+s5、删除一行:ctrl+y6、左侧窗口中的列表怎么展开?怎么关闭?左箭头关闭右箭头展开上下箭头移动7、IDEA中退处任何窗口,都可以使用esc键。8、任何新增/新建/添加的快捷键是:alt + insert9、窗口变大、变小:ctrl+s

2021-04-11 01:12:22 433

原创 java之包机制和访问权限修饰符

一、Java语言当中的包机制1、包又称为package,java中引入package这种语法机制主要是为了方便程序的管理,不同功能的类被分门别类放到不同的软件包当中,查找比较方便,管理比较方便,易维护。2、怎么定义package?1)在java源程序的第一行上编写package语句2)package只能编写一个语句3)语法结构:package 包名;3、包名的名命规范:公司域名.项目名.模块名.功能名采用这种方式命名,重名的机率较低,因为公司域名具有全球唯一性。例如:org.apac

2021-04-11 01:11:31 127

原创 java之final关键字

一、java语言当中final关键字:1、final是一个关键字,表示最终的、不可变的2、final修饰的类无法被继承3、final修饰的方法无法被覆盖,被重写4、final修饰的变量一旦被赋值之后,不可重新赋值【final修饰的变量只能赋一次值】5、final修饰的实例变量,必须手动赋值,不能采用系统默认值6、final修饰的引用一旦指向某个对象之后,不能再指向其他对象,那么被指向的对象无法被垃圾回收器回收final修饰的引用虽然指向某个对象之后不能指向其他对象,但是所指向的对象内部的内存是

2021-04-11 01:10:43 118

原创 Java之多态机制

一、多态基础语法1、关于多态中涉及的概念:1)向上转型(upcasting)子类型—>父类型又称为:自动类型转换2)向下转型(downcasting)父类型—>子类型又称为:强制类型转换【需要加强制类型转换符】【注】无论是向上转型还是向下转型,两种类型之间必须要有继承关系没有继承关系,程序是无法编译通过的。2、父类型引用指向子类型对象这种机制导致程序存在编译阶段绑定和运行阶段绑定两种不同的形态/状态,这种机制可以成为一种多态语法机制。3、在强制类型转换的时候会发生jav

2021-04-11 01:10:22 97

原创 Java之继承和方法覆盖

一、继承1、继承是面向对象三大特征之一,三大特征分别是:封装、继承、多态2、继承"基本"的作用是:代码复用,但是继承最重要的作用是:有了继承才有了"方法的覆盖"和"多态机制"3、继承语法格式:[修饰符列表] class 类名 extends 父类名{类体 = 属性 + 方法}4、java语言当中的继承只支持单继承,一个类不能同时继承很多类,只能继承一个类5、关于继承中的一些术语:B类继承A类,其中:A类称为:父类、基类、superclassB类称为:子类、派生类、subclass6、

2021-04-11 01:09:08 322

原创 static关键字

一、静态变量1、static修饰的方法是静态方法2、static修饰的变量是静态变量3、所有static修饰的元素都称为静态的,都可以使用"类名."的方式访问,当然也可以采用"引用."的方式访问【但不建议】4、static修饰的所有元素都是类级别的特征,和具体的对象无关5、静态变量在类加载的时候初始化,不需要创建对象,内存就开辟了6、静态变量存储在方法区内存当中7、何时将成员变量声明为实例变量? 所有对象都有这个属性,但是这个属性的值会随着对象的变化而变化【不同对象的这个属性具体的值...

2021-04-11 01:07:17 78

原创 java之this关键字

1、this是一个引用,this是一个变量,this变量中保存了内存地址指向了自身,this存储在JVM堆内存Java对象内部。2、创建N个java对象,每一个对象都有this,也就是说有N个不同的this3、this可以出现在“实例方法”当中,this指向当前正在执行这个动作的对象。(this代表当前对象)4、this在多数情况下都可以省略不写5、"this."什么时候不能省略? 当实例变量和局部变量同名的时候,用来区分实例变量和局部变量的时候,“this.”不能省略。6、this不能...

2021-04-10 16:27:25 95

原创 Java之参数传递

java语言当中方法调用的时候涉及到参数传递的问题参数传递实际上传递的是变量中保存的具体值【代码一:传递基本数据类型】/*int i = 10;add(i);等同于:add(10);*/public class Test1 { public static void main(String[] args) { int i = 10; add(i);//add方法调用的时候,是add方法传递了一个变量i,传的是变量i中保存的值 ...

2021-04-10 16:08:34 84

原创 Java构造方法

1、构造方法又被称为构造函数/构造器/Constructor2、构造方法的语法结构:[修饰符列表] 构造方法名(形式参数列表){构造方法体;}3、普通方法的语法结构:[修饰列表符] 返回值类型 方法名(形式参数列表){方法体;}4、对于构造方法来说,“返回值类型不需要指定”,并且也不能写成void,只要写上void,那么这个方法就是普通方法了5、对于构造方法来说,构造方法的方法名必须和类名保持一致。6、构造方法的作用?构造方法存在的意义是,通过构造方法的调用,可以创建对象。7、构

2021-04-10 15:56:35 112

原创 面向对象封装性

面向对象包括三大特征:①封装②继承③多态【代码一:没有进行封装】 /** * 用户类 */ public class User { //年龄 int age; } /** * 用户测试类 * 对于当前程序来说: * User类中的age属于在外部程序中可以随意访问,导致age属性的不安全 * 一个User对象表示一个用户,用户的年龄不可能为负数,以下程序当中年龄值为负数, * 程序运行的时候并没有报错,这是当前程序存在的

2021-04-10 15:32:37 63

原创 对象的创建和使用

1、声明并实例化对象的语法 类名称 对象名称 = new 类名称();2、分步定义 1)声明对象: 类名称 对象名称 = null; 2)实例化对象:对象名称 = new 类名称();3、news是java语言当中的一个运算符 new运算符的作用是创建对象,在JVM堆内存当中开辟新的内存空间4、方法区内存:在类加载的时候,class字节码代码片段被加载到该内存当中 栈内存(局部变量):方法代码片段执行的时候,会给该方法分配内存空间,在栈内存中压栈 ...

2021-04-10 15:12:17 390

原创 面向对象基础知识

(一)、面向过程和面向对象的区别1、面向过程:主要的关注点是 实现的具体过程,因果关系【如同集成显卡的开发思路】优点:对于业务逻辑比较简单的程序,可以达到快速开发,前期投入成本较低缺点:采用面向过程的方式开发很难解决非常复杂的业务逻辑,另外面向过程的方式导致软件元素之间的"耦合度"非常高,只要其中一环出问题,整个系统会受到影响,导致最终的软件扩展力差。另外,由于没有独立体的概念,所以无法达到组件复用。2、面向对象:主要的关注点是 对象【独立体】能完成哪些功能【如同独立显卡的开发思路】优点:耦合度低

2021-04-10 10:55:47 534

原创 方法递归问题

1、递归调用是一种特殊的调用形式,指的是方法自己调用自己的形式2、在进行递归调用的时候必须满足以下几个条件:1)递归调用必须有结束条件2)每次调用的时候都需要根据需求改变传递的参数内容3、递归分类1)直接递归:方法自身调用自己2)间接递归:A方法调用B方法,B方法调用C方法,C方法调用A方法public class Recursion{ public static void main(String[] args){ System.out.println(sum(10));

2021-04-10 10:48:38 45

原创 方法基础、方法重载及return关键字

(一)方法的相关概念1.方法优点:提高代码复用性2.方法本质:方法就是一段代码片段,并且这段代码片段可以完成某个特定的功能,并且可以被重复的使用。3.方法定义在类体当中,在一个类当中可以定义多个方法,方法的定义位置没有先后顺序,方法体当中不能再定义方法;方法体当中的java语句是自上而下的顺序执行。(二)方法定义1、方法怎么定义,语法结构 [修饰符列表] 返回值类型 方法名(形式参数列表){ 方法体; }1.1 关于修饰符列表 1)可选项,不是必须的 2)方法的修饰符列表当中有st

2021-04-10 10:32:25 188

原创 控制循环的语句

1. break 1.1 break语句使用在switch语句当中,用来终止switch的语句执行 1.2 break语句同样可以使用在循环语句当中,用来终止循坏的执行。 1.3 break终止哪个循环呢? 1)在默认情况下break语句终止的是离它最近的循环语句。 2)break语句也可以中断指定的循环 public class Test{ public static void main(String[] args){ //在默认...

2021-04-09 22:15:05 115

原创 控制语句之循环结构

(二)循坏结构 ①for ②while ③do..while() 1、for循环 1.1 for循环的语法结构; for( 初始化表达式; 布尔表达式; 更新表达式 ){ //此处书写需要重复执行的代码片段【循环体:由java语句构成】 } 1.2 初始化表达式、布尔表达式、更新表达式都不是必须的!【但是两个分号是必须的】 1.3 初始化表达式最先执行,并且在整个for循环当中只执行一次 1.4 布尔表达式必须...

2021-04-09 22:10:00 138

原创 控制语句之选择结构(分支结构)

(一)选择结构 ①if,if..else ②switch 1.if语句 1.1 if语句四种结构: 结构一: if(布尔表达式){ java语句 java语句 ... } 结构二: if(布尔表达式){ java语句 java语句 ... }else{ ...

2021-04-09 21:56:17 598

原创 运算符

(一)算术运算符 + 求和 - 相减 * 乘积 / 商 % 求余数(取模) ++ 自加1 -- 自减1 注意: 一个表达式当中有多个运算符,运算符有优先级,不确定的加小括号,优先级得到提升 public class OperatorTest{ public ...

2021-04-09 21:43:42 61

原创 数据类型

1、数据类型的作用是什么? 程序当中有很多数据,每一个数据都是有相关类型的,不同数据类型的数据占用空间大小不同。 数据类型的作用是指导JVM在运行程序的时候给该数据分配多大的内存空间。 2、Java中的数据类型包括两种 1)基本数据类型 2)引用数据类型 *类 *接口 *数组 ...... 3、基本数据类型: 1)...

2021-04-09 21:30:30 1151

原创 变量

一、字面值 1、字面值: 1)10、100 2)3.14 3)"abc" 4)'a' 5)true、false 2、字面值就是数据 3、数据类型 1)整数型字面值 2)浮点型字面值 3)字符串型字面值【半角双引号括起来】 4)字符型字面值【半角单引号括起来】 5)Boolean型字面值 二、变量: ...

2021-04-09 21:09:30 215

原创 标识符

1、什么是标识符?1)在Java原程序当中凡是程序员有权利自己命名的单词都是标识符2)标识符可以标识什么元素呢?①类名②方法名③变量名④接口名⑤常量名…2、标识符的名命规则?【不按照这个规则书写,编译器会报错,这是语法】1)只能由"数字、字母、数字、下划线_、美元符号$"组成,不能含有其他符号2)不能由数字开头3)严格区分大小写4)关键字不能做标识符3、标识符的名名规范?【只是一种规范,不属于语法,不遵守规范编译器不会报错】1)最好 “见名知意”2)遵守驼峰命名方式3)类名

2021-04-09 21:03:41 124 1

原创 public class和class的区别

1)一个Java源文件当中可以定义多个class2)一个Java源文件当中public的class不是必须的3)一个class会定义生成一个xxx.class字节码文件4)一个Java源文件当中定义公开的类的话,只能有一个,并且该类名称必须和java源文件名称一致5)每一个class当中都可以编写main方法,都可以设定程序入口,想执行B.class中的main方法:java B,想执行X.class中的main方法:java X6)注意:当在命令窗口中执行java Hello,那么要求Hello

2021-04-09 21:01:13 113

原创 java语言的注释

1、单行注释 //单行注释,只注释当前行2、多行注释 /* 多行注释 多行注释 多行注释 ..... */3、javadoc注释 /** *javadoc注释 *javadoc注释 *javadoc注释 *javadoc注释 *javadoc注释 */注意:这种注释是比较专业的注释,该注释信息会被javadoc.exe工具解析提取并生成帮助文档...

2021-04-09 20:57:58 88

原创 windows系统的环境变量和JDK环境变量的配置

1、环境变量的定义环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。变量:可以随意给其赋值的一个存储单元;变量在任何程序中的作用都是“被赋值/被取值”。2、Windows系统中常见的变量1)Windows系统中如何表示变量: %变量名%2)Windows系统中常见的变量: ①%DATE% 系统变量 返回当前日期...

2021-04-09 00:37:20 463

原创 Java的加载和执行

Java的加载和执行Java程序的运行包括两个重要的阶段1、编译阶段:将源文件生成.clasa文件1)java程序员需要使用JDK当中自带的javac.exe命令进行Java程序的编译【javac是一个java编译器工具/命令】2)javac怎么用呢?在哪用呢?①javac的使用规则: javac java源文件的路径②在DOS命令窗口中使用3)一个Java言文件可以编译生成多个.class文件 4)字节码文件/class文件是最终要执行的文件,所以说class文件生成之后,java源文件删

2021-04-06 23:14:21 129

原创 Java语言发展史及其特性

Java语言发展史及其特性Java语言发展史1、计算机语言发展史1)第一代语言:机器语言主要编写二进制,直接编写01010101这样的二进制,以打孔机为代表2)第二代语言:低级语言主要以汇编语言为代表3)第三代语言:高级语言几乎和人类的语言完全相同,例如:Java、C、C++2、Java语言发展史1)1995年诞生,由SUN公司创建2)Java包括三大块:JavaSE:Java标准版JavaEE:Java企业版javaME:Java微型版javaSE是基础Java语言特性【开

2021-04-06 23:01:06 206

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除