- 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