2024.02.27 学习记录

- 2024.02.27

2024.02.27 牛客

  • 字符串在Java中存储在字符串常量区,判断字符串相等要用equals()方法
  • ==既可判断基本类型也可以判断引用类型,判断基本类型比较值是否相同,判断引用类型是判断地址是否相同,即是不是同一个对象
  • 类方法:即用static修饰的方法,非static为实例方法,在类方法中不能使用this关键字
  • 构造函数的作用是完成对象的初始化。当程序执行到new操作符时, 首先去看new操作符后面的类型,因为知道了类型,才能知道要分配多大的内存空间。分配完内存之后,再调用构造函数,填充对象的各个域,这一步叫做对象的初始化。
    而调用Java.io.ObjectInputStream的readObject方法或者调用对象的clone()方法,对象的初始化并不是通过构造函数完成的,而是读取别的内存区域中的对象的各个域来完成。

Java概述

  • Java具有跨平台性,当一个java程序Test.java通过编译器编译生成JVM机可以识别的字节码文件Test.class(可以执行的java的程序),.class文件可以在多个系统(不同的系统安装不同的JVM机就可以运行.class文件)下运行,这种特性表现为跨平台性

  • Java源文件以.java为扩展名,源文件的基本组成部分是类(class)
    一个源文件中最多只能有一个public类,且文件名必须按照该类名命名,其他不限
    main方法可以写在非public类中,这样程序入口就是就是非pubic的main方法

  • 编译:对源文件hello.java通过javac编译工具将其编译成JVM机可以识别的字节码文件hello.class,也是可以执行的java的程序

  • 运行:通过运行工具java.exe对字节码文件进行执行,本质就是将.class文件装载到JVM执行

  • 对修改后的hello.java源文件,需要重新编译生成新的hello.class文件,再执行

  • JDK(java开发工具包) = JRE(Java运行环境) + Java开发工具(java,javac,javap等),JDK是提供给Java开发人员使用的

  • JRE(Java运行环境) = JVM + Java的核心类库(类)

  • 如果只需要运行开发好的.class文件,只需要JRE即可

变量

  • +号的使用:当左右两边是数值型时,做加法运算;当左右两边有一方是字符串,做拼接运算

  • Java的8大基本数据类型:数值型(byte,short,int,long,float(4),double(8)),char(2),boolean

  • Java数据类型 = 基本数据类型+引用类型(类,接口,数组),其中String是类,属于引用类型

  • char的本质是一个整数,是可以进行运算的,相当于一个整数,因为它有对应的Unicode码

  • ASCII 编码表:一个字节长度表示,一共规定了有128个字符的编码,只占用了一个字节的后面7位,实际上一个字节8位,可以表示256个字符,只用了128个;缺点是不能表示所有的字符

  • Unicode 编码表:将世界所有的符号都纳入其中,每一个符号都给予独一无二的编码,使用Unicode编码不存在乱码情况;
    字母和汉字统一均占用2个字节,对存储空间是有浪费的,固定大小的编码,使用两个字节来表示字符,

    ​ 编码0-127的字符与ASCII的编码一样,比如’a’在ASCII码是0x61,在Unicode码中是0x0061,都对应9;
    ​ 因此Unicode码兼容ASCII码

  • boolean类型占1个字节,只允许取值true和false,无null;不可以用0或非0的整数替代false或true,这点和C语言不同

  • 自动类型转换:当java程序进行赋值或者运算,精度小的类型自动转换为精度大的类型

  • 自动提升原则:表达式结果的类型自动提升为操作数中最大的类型

  • 精度大小:double > float > long > int(char) > short > byte

  • 有多种数据类型进行运算时,系统首先自动将所有数据转换为精度最大的类型,然后计算

  • 当精度大的数据类型转为精度小的数据类型时,会报错,反之会进行自行类型转换

  • (byte,short)和char之间不会相互转换

  • byte,short,char三者可以计算,在计算时,首先转为int类型j

  • char类型可以保存int的常量值,但不能保存int的变量值,此时需要强转int为char

  • 基本类型转String类型:将基本类型的值+“” 即可

  • String类型转基本类型:通过基本类型的包装类调用parseXX方法,如:Integer.parseInt(“123”)

  • 命名规范:包名:所有字母小写,如:com.hsp.aaa
    类名、接口名:所有单词的首字母大写,如:XxxYyyZzz(大驼峰)
    变量名、方法名:第一个单词首字母小写,第二个单词开始首字母大写,如:xxxYyyZzz(小驼峰)
    常量名:所有字母均大写,每个单词用下划线隔开,如:XXX_YYY_ZZZ

  • 39
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值