JAVA SE
文章平均质量分 71
JAVA基础一看就会
无名小飛猿
这个作者很懒,什么都没留下…
展开
-
String类
字符串String定义的字符串叫字符串常量存储在常量池(常量池在堆中)中,仅有一份,如果之后还有相同的字符串存放的时候 ,首相会先去常量池当中是否有该字符串常量,有责不会再创建,没有则创建jdk及jdk1.8以后字符串放在堆中的常量池,jdk1.8之前放在了方法区创建字符串方式一String str = "Hello Bit";方式二Strinf str2=new String("Hello Bit");方式三char[] array={'a','b','c'};..原创 2021-05-08 15:26:30 · 154 阅读 · 3 评论 -
Compareable和Comparator
引言-为什么用Compareable和Comparator对象是什么?对象是现实世界中事务的抽象或者建模现实事务可能被抽象为多个对象,多个对象可以代表同一个现实事务,但是一个对象不能代表多个现实事务这里说对象和事务就是站在不同世界的角度去说,把对象迁移到现实世界就用事务来表示,了解更多查看类和对象:https://blog.csdn.net/qq_45630711/article/details/112067483equals()public class TestE原创 2021-05-07 15:49:38 · 265 阅读 · 0 评论 -
==和equals方法
==和equals()==如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;如果作用于引用类型的变量,则比较的是所指向的对象的地址。equals方法equals方法是Object的,所有继承了Object类的类都有该方法,注意:equals方法不能作用于基本数据类型的变量祖宗类Object中的equals方法比较的是两个对象地址是否相等,即是否为同一个对象此方法对String底层实现了内容比较以下代码可查看jdk的dik的底层源码equals方法原创 2021-05-04 15:01:19 · 52 阅读 · 0 评论 -
包装类
包装类定义Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的。基本类型的数据不具备"对象"的特性(没有成员变量和成员方法可以调用),因此,java为每种数据类型分别设计了对应的类,即包装类。引入基本数据类型引入包装装箱和拆箱装箱:将基本数据类型变为包装类对象。拆箱:将包装类中包装的基本数据类型取出。自动装箱和自动拆箱java编译器提供自动机制,减少开发者的工作量 int a=10; Integer I原创 2021-01-24 23:30:59 · 76 阅读 · 0 评论 -
内部类
成员内部类(实例内部类)成员内部类是最普通的内部类,它的定义为位于另一个类的内部总成员内部类可以无条件访问外部类的所有成员属性和成员方法(包括private成员和静态成员)。当成员内部类拥有和外部类同名的成员变量或者方法时,会发生隐藏现象,即默认情况下访问的是成员内部类的成员。如果要访问外部类的同名成员,需要以下面的形式进行访问:外部类.this.成员变量外部类.this.成员方法class Circle { private double radius =..原创 2021-01-16 23:39:47 · 166 阅读 · 1 评论 -
浅谈String StringBuilder StringBuffer
字符串StringStringBufferStringBuilderString StringBuilder StringBuffer区别String 和StringBuilder,StringBuffer的区别StringBuilder和StringBuffer区别==字符串“+”操作的本质==String不可变的对象(jdk底层源码String类是final修饰的,final修饰的类是不能被继承的)创建一个字符串对象是存储在字符串常量池(jdk1.8及jdk1.8之后常量池在堆中,jd原创 2021-01-14 21:52:44 · 87 阅读 · 2 评论 -
面向对象编程之接口
接口接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。[访问权限] interface 接口名称 [extends 其他的接口名] { // 声明变量 // 抽象方法}总结接口中必须是抽象方法的集合不能是可是可实现方法所有的方法默认是public abstract,不写都是默认所有的成员变量一定是public ..原创 2021-01-09 21:34:05 · 166 阅读 · 0 评论 -
面向对象之抽象类
抽象类如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。abstract class Shape { abstract public void draw(); }抽象方法:被abstract修饰的,只有方法声明没有方法体的方法有抽象方法的类必定是抽象类在 draw 方法前加上 abstract 关键字, 表示这是一个抽象方法. 同时抽象方法没有方法体(没有 { }, 不能执行具体代码).对于包含抽象方法的类, 必须加上 abstract 关键字表示这..原创 2021-01-09 20:40:30 · 142 阅读 · 1 评论 -
面向对象编程之包
包包 (package) 是组织类的一种方式.使用包的主要目的是保证类的唯一性.例如, 团队开发项目,不同的人可能会写相同的类这样就会冲突,导致代码不能编译通过import关键字导入包导入包中的类出现同名类是就会出现歧义要使用全名静态导入import static 包名;包的基本规则在文件的最上方加上一个 package 语句指定该代码在哪个包中.包名需要尽量指定成唯一的名字, 通常会用公司的域名的颠倒形式(例如 com.bit.demo1 )包名要和代码..原创 2021-01-09 20:01:22 · 188 阅读 · 3 评论 -
面向对象编程之多态
多态多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作转型父子对象之间的转换分为了向上转型和向下转型,它们区别如下:向上转型 : 通过子类对象(小范围)实例化父类对象(大范围),这种属于自动转换向下转型 : 通过父类对象(大范围)实例化子类对象(小范围),这种属于强制转换向上转型父类的引用 引用子类对象// Animal.javaclass Animal { }// Bird.javaclass B..原创 2021-01-09 20:00:04 · 583 阅读 · 0 评论 -
面向对象编程之继承
继承继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。语法class 子类 extends 父类{}使用extends指定父类java中一个子类只能继承一个父类(c++/python支持多继承)子类继承父类父类的所有的public字段和方法 (除了构造方法)子类的实例中也包含着父类的实例,可以使用super关键字得到父类的引用子类也叫派生类,父类也叫基类或超类继承的特性子类拥有父类..原创 2021-01-09 19:56:11 · 400 阅读 · 0 评论 -
面向对象编程
包包 (package) 是组织类的一种方式.使用包的主要目的是保证类的唯一性.例如, 团队开发项目,不同的人可能会写相同的类这样就会冲突,导致代码不能编译通过import关键字导入包导入包中的类出现同名类是就会出现歧义要使用全名静态导入import static 包名;包的基本规则在文件的最上方加上一个 package 语句指定该代码在哪个包中.包名需要尽量指定成唯一的名字, 通常会用公司的域名的颠倒形式(例如 com.bit.demo1 )包名要和代码..原创 2021-01-09 10:28:40 · 72 阅读 · 3 评论 -
线性表之顺序表
import java.util.Arrays;public class MyArraylist { int[] element;//数组 int size;//线性表实际大小 public MyArraylist() { this.size=0; this.element=new int[4]; } public MyArraylist(int capacity) { this.size=0; thi原创 2020-12-28 23:50:59 · 2396 阅读 · 8 评论 -
类和对象
面向对象和面向过程面向对象面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。面向过程面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;区别面向过程注重的是过程,在整个过程所涉及的行为就是功能面向对象注重的对象,也就是参与过程中个所涉及的实主体,通过逻辑将一个一个的功能连接起来例如五子棋:面向过程的设计思路就是首先分析问题的步骤:1、..原创 2021-01-02 22:12:58 · 263 阅读 · 2 评论 -
数组
创建数组基本语法// 动态初始化数据类型[] 数组名称 = new 数据类型 [] { 初始化数据 };// 静态初始化数据类型[] 数组名称 = { 初始化数据 };代码示例int[] arr = new int[]{1, 2, 3}; int[] arr = {1, 2, 3};遍历数组for循环int[] arr = {1, 2, 3}; for (int i = 0; i < arr.length; i++) { System.out.println(..原创 2021-01-01 18:53:13 · 3181 阅读 · 5 评论 -
浅谈public static void main(String[] args)
public static void main(String[] args){ //代码}mian函数是程序的执行入口public:表示main方法可以由任何类访问。(java虚拟机调用main方法所以必须为public)public缘由:main方法是公共的,JVM就可以轻松的访问执行它。static:表示这是一个类方法,区别于实例方法,与具体的对象无关。static缘由:正因为main方法是静态的,JVM调用这个方法就不需要创建任何包含这个main方法的实例。如果main原创 2020-12-30 17:20:32 · 5926 阅读 · 0 评论 -
方法
方法定义语法基本语法如// 方法定义public static 方法返回值 方法名称([参数类型 形参 ...]){ 方法体代码; [return 返回值];}// 方法调用返回值变量 = 方法名称(实参...);注意public为公共访问权限符,static为静态方法方法定义时, 参数可以没有. 每个参数要指定类型方法定义时, 返回值也可以没有, 如果没有返回值, 则返回值类型应写成 void方法定义时的参数称为 “形参”, 方法调用时的参数称为 “实参”.方法..原创 2020-12-30 16:38:12 · 284 阅读 · 0 评论 -
程序逻辑控制
顺序结构分支结构循环结构顺序结构顺序编写,顺序执行支结构if结构if(布尔表达式){ //满足条件的执行代码}if(布尔表达式){ //条件满足的执行代码}else{ //条件不满足的执行代码}if(布尔表达式){ //条件满足的执行代码}ielse if(布尔表达式){ //条件满足的执行代码}else{ //条件不满足的执行代码}注意if / else 语句中可以不加 大括号 . 但是也可以写语句(只能写一条语句). 此时 .原创 2020-12-29 23:36:16 · 635 阅读 · 2 评论 -
数据类型与运算符
变量和类型变量:程序运行时可变的量,相当于开辟一块内内存空间保存一些数据。类型:对变量的种类进行划分,不同类型的变量具有不同的特性。整型变量基本语法:int 变量名=初始值;java中一个int变量占4个字节,和操作系统没有关系也就是说没有64位和32位的概念。数值范围:-2^31~ 2^31-1代码示例:int mum=10;注意int 表示变量的类型是一个整型变量名是变量的标识. 后续都是通过这个名字来使用变量Java 中 = 表示赋值(和数..原创 2020-12-29 17:55:11 · 678 阅读 · 2 评论 -
java程序的执行过程
程序的执行过程编译执行图解编译java源程序会首先被java的编译器编译成.class文件。java编译器编译一个类时,首先会查看这个类依赖的类有没有编译过 ,如果依赖的类还没有被编译,编译器会首先编译这个类所依赖的类,然后再引用。如果已经是编译好的.class文件就直接引用。如果 java编译器在指定的目录找不到该类依赖的类的.java源文件或者.class文件,编译器话报“cant find symbol”的错误执行java类的运行大致分为两个过程1、类的加原创 2020-12-28 17:46:38 · 450 阅读 · 3 评论 -
jdk,jre,jvm详解
JDK(Java development kit)java开发包整个java的核心,包括java运行环境jre,java工具(java/javac/jdb),java类库(java的API)在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。API:java的应用程序接口,包含很多写好的java class,直接调用即可。JRE(Java Runtime ..原创 2020-12-28 17:06:02 · 304 阅读 · 0 评论 -
一篇让你陷入JAVA世界
喝咖啡的人来瞅瞅你知道JAVA?定义Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。特性Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程原创 2020-12-04 12:42:31 · 1602 阅读 · 3 评论