JAVA-SE

JAVA基础

  1. 计算机中存储数据的单位是字节,由8个二进制位组成
  2. 常用DOS命令:
    DOS
  3. JAVA 三大平台:
    JAVA SE :JAVA语言的标准版,用于桌面应用开发
    JAVA ME :JAVA语言的小型版,用于嵌入式开发
    JAVA EE :JAVA语言的企业版,用于Web方向的网站开发
  4. JAVA 跨平台性:Windows MacOS Linux,需要按照与操作系统对应版本的JVM虚拟机
  5. JDK版本:LTS长期支持版,当前为JDK21
  6. JAVA开发的三个步骤:编写代码,编译代码,运行代码
    使用javac来编译java文件,生成.class编译文件,再使用java运行
  7. JDK的组成:
    JRE:JAVA的运行环境,包含JVM(JAVA虚拟机)和核心类库
    开发工具:java,javac……
  8. IDEA项目结构:Project(项目,工程),module(模块),package(包),class(类)
  9. 字面量:
    字面量
  10. 基本数据类型:
    基本数据类型
    定义long类型时,需要在数值后面加L(大小写都行)
    定义float类型时,需要在数值后面加F(大小写都行)
  11. 引用数据类型:数组,类,接口,其中字符串类型(String)属于一种类
  12. 键盘录入:

import java.util.Scanner;
Scanner sc = new Scanner(System.in);
int age = sc.nextInt();

  1. 原码,反码,补码:计算机中数据的运算,转换都是使用补码完成的,这会导致强制转换中出现精度损失
    补码
  2. JAVA常量优化机制
    byte c = 3 + 4;
    在编译的时候就会将3和4两个字面量进行运算,生成字节码文件: byte c = 7;但运算后超出范围也会报错
  3. 扩展的赋值运算符自带强制转换效果:+=,-=,*=等
  4. 短路逻辑运算符:
    &&:左边为false,右边不执行
    &:两边都要执行
    ||:左边为true,右边不执行
    |:两边都要执行
  5. 三元运算符:判断条件?值1(true):值2(false)
  6. 运算符优先级:
    运算符优先级
  7. 实现两个变量的数据交换,不允许定义第三方变量:
    使用异或操作^

a=a^b;
b=a^b;
a=a^b;

  1. 方法调用内存图解:
    方法没有被调用的时候,在方法区中的字节码文件中存放
    方法被调用的时候,需要进入到栈内存中运行
    方法调用
  2. 形参与实参:
    形参:全称形式参数,是指在定义方法时,所声明的参数
    实参:全称实际参数,调用方法时,所传入的参数
  3. 方法重载
    在同一个类中,定义了多个同名的方法,但每个方法具有不同的参数类型或参数个数,这些同名方法,就构成了重载关系
    识别方法之间是否是重载关系,只看方法名和参数,跟返回值无关
  4. JDK14版本开始,switch case后允许写多个数据,使用逗号分割
  5. JAVC内存分配:new会分配堆内存
    new
  6. 方法的参数传递基本数据类型传递的是数据值,引用数据类型传递的是地址值
  7. 对象内存图:多个对象共用成员方法在字节码文件中的地址
    单个
    多个
  8. 成员变量和局部变量的关系:
    变量关系
  9. this关键字:代表当前类对象的引用(地址)
    (1)当局部变量和成员变量重名的时候,Java使用就近原则
    (2)this关键字的作用:调用本类成员
    this.本类成员变量,如果不涉及变量重复,this.可以省略
    this.本类成员方法(),没有前提条件this.可以直接省略
  10. 构造方法:创建对象时,进行初始化
    构造器
    (1)初始化一个新建的对象
    (2)构建、创造对象的时候,所调用的方法
    格式
    (1)方法名与类名相同,大小写也要一致
    (2)没有返回值类型,连void都没有
    (3)没有具体的返回值(不能由return带回结果数据)
    注意事项
    (1)构造方法的创建
    a.如果没有定义构造方法,系统将给出一个默认的无参数构造方法
    b.如果定义了构造方法,系统将不再提供默认的构造方法
    (2)构造方法的重载:构造方法也是方法,允许重载关系出现
    (3)推荐的使用方式:无参数构造方法,和带参数构造方法,都自己手动给出
  11. 权限修饰符:
    private:同一个类中
    (default):同一个类中,同一个包中
    protected:同一个类中,同一个包中,不同包的子类
    public:任意位置访问
  12. String:
    Java 程序中所有双引号字符串,都是String 类的对象;字符串在创建之后,其内容不可更改,但是可以被共享
    string1
    string2
    案例分析:true(左上,字符串常量池),false(右上),false(左下,内部调用toString创建在堆上),true(常量优化机制)
    string3
    String类的切割方法public String[] split(string regex),根据传入的字符串作为规则(支持正则表达式匹配),切割当前字符串,返回一个字符串数组
    建议:先正常指定切割规则,后来发现没有得到自己要的效果,就可以尝试在规则前面,加入\
    String类的比较方法public boolean equals(要比较的字符串)
    String类的忽略大小写比较方法public boolean equalsIgnoreCase(要比较的字符串)
    String类的字符串转换为字符数组方法public char[] toCharArray()
    String类的根据索引找字符方法public char chatAt(int index)
    String类的计算字符串长度方法public int length()
    String类的截取到末尾方法public String substring(int beginIndex)
    String类的根据开始和结束索引截取方法(包含头不包含尾)public String substring(int beginIndex, int endIndex)
    String类的替换方法public String replace(l日值,新值)
    String类的按照正则表达式匹配的内容进行替换方法public String replaceAll(String regex,String newStr)
  13. StringBuiler:
    StringBuilder是字符串的缓冲区,可以将其理解为是一种容器,是一种可变的字符序列
    public StringBuilder append (任意类型):添加数据,并返回对象本身
    public StringBuilder reverse():反转容器中的内容
    public int length():返回长度(字符出现的个数)
    public String toString():通过toString()就可以实现把StringBuilder转换为String
    链式编程:调用的方法,返回的结果是对象,就可以继续向下调用方法
  14. ArrayList:
    细节:创建String,StringBuilder,ArrayList类的对象,打印对象名,都没有看到地址值,而是元素内容
    (1)构造方法:public ArrayList(),创建一个空的集合容器
    (2)集合容器的创建细节:ArrayList<> list = new ArrayList<>(),可以添加任意类型数据,但数据不够严谨
    (3)泛型<>:使用泛型,可以对集合中存储的数据,进行类型限制,但泛型中,不允许编写基本数据类型,如果想使用基本数据类型,需要用所对应的包装类
    byte ------ Byte
    short ------ Short
    int ------ Integer
    long ------ Long
    float ------ Float
    double ------ Double
    boolean ------ Boolean
    char ------ Character

    在这里插入图片描述

JAVA进阶

static静态修饰符

static关键字:修饰符,可修饰成员变量 - 共享数据,成员方法 - 用于工具类(不是描述事物,而是完成功能)
特点:

  1. 被类的所有对象共享
  2. 可以通过类名进行调用
  3. 随着类的加载而加载,优先于对象存在

私有工具类的构造方法,不让其他类再创建对象,PS:System类
在静态方法中只能访问静态成员(直接访问)
在这里插入图片描述

extends继承

JAVA只支持单继承,不支持多继承,但可以多层继承
类与类之间存在共性内容,子类可以使用父类中非私有的成员,子类采用就近原则,this调用本类成员变量,super调用父类成员变量,方法
方法重写:子父类中出现方法声明一模一样的方法(方法名,参数,返回值)子类重写父类方法时,访问权限必须大于等于父类,但父类中的私有方法不能被重写,,且构造方法无法继承,需要重新写
方法重载是同一个类中同名不同参数的方法,与方法重写重点区分
除了Object类,在所有构造方法的第一行代码,都默认隐藏了一句 super(),通过这句代码可以访问父类的空参数构造方法
细节:Java当中所有的类,都直接或者间接的维承到了 Object 类
在这里插入图片描述

this和super

final

package

抽象类

接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值