1.1-数据类型
Create by fall on 10 Apr 2023 Recently revised in 11 Apr 2023
Java
JVM(java visual machine):Java 虚拟机,通过虚拟机将 java 集成到各个系统上,并保证运行结果的一致。
JDK(java development kit):Java 开发包,集成开发所需内容,数据格式之类
JRE(java runtime environment):Java 运行环境,
三者之间的关系:
JRE = JVM + Java 的核心类库 [类]
JDK = JRE + java 的开发工具 [java,javac,javadoc,javap]
运行
javac 编译 java 文件后,生成 .class
文件,java 虚拟机可以执行该文件
一个源文件中最多只能有一个 public 类,也就是说,只能暴露一次。其它类的个数不限。另外该文件必须以 public 类进行命名。
public class Hello {
//编写一个 main 方法
public static void main(String[] args) {
System.out.println("fall");
}
}
后端工作流程:
- 需求,工作要求
- 能否解决问题(已有和未知技术)
- 学习技术(粗略)
- 快速完成项目内容
- 研究技术细节
数据类型
分为两类,基本数据类型和引用数据类型
基本数据类型
二进制类型:byte(8)
整数类型:short(16),int(32),long(64)
浮点类型:float(32),double(64)
字符类型:char
后面的数字表示占多少位(Bit),除以 8 可以换算成字节(Byte)
public class FallStudy{
public static void main(String[] args){
int age = 30;
long human = 7000000000l; // 整型常量默认为 int 型,声明 long 型常量须后加 "l" 或 "L"
float score = 62.5f; // 浮点类型默认为 double 型,声明 float 型常量须后加 "f" 或 "F"
double PI = 3.141592653589793;
char gender = '男';
String slogan = "long live the king";
System.out.println("我是地球"+human+"人中的一个"+age+"岁的中年"+gender+"性");
System.out.println("月底绩效给了我"+score+"分");
System.out.println("我的脑袋像"+PI+"一样,陷入无止境的思考,然后喊出:"+slogan);
}
}
字符类型
public class FallStudy{
public static void main(String[] args){
char char1 = 97;
System.out.println(char1);// 输出 a,以 ASCII 码的形式指定字符串,也可以指定中文字符
char char2 = 'a';
System.out.println((int)char2); // 以 int 类型输出 char2
System.out.println(char1+10);
// 由此可见,char 类型在计算的时候是按照数字类型进行计算的,输出是按照单个字符串输出的
}
}
ASCII 码表示 128 个字符,在此基础上,UniCode 兼容使用 ASCII 码,但所有英文和中文都占用两个字节。
UTF-8:可以使用 1-6 个字节表示一个符号,不同的符号可以改变字节长度,字母占一个字节,汉字占三个字节。
布尔类型
只用来表示 true
和 false
public class FallStudy{
public static void main(String[] args){
boolean isPass = true;
if(isPass == true) {
System.out.println("通过图灵测试,恭喜");
}
}
}
自动类型转换
精度小的类型计算时,如果值不够,java 会自动转换为精度大的类型。
char->int->long->float->double
byte->short->int->float->double
右侧类型可以赋值左侧数据,反之不行。
public class FallStudy{
public static void main(String[] args){
char char1 = 'p';
double dudu = char1;
// byte、short、char 三者可以计算,但是不可以互相赋值,最终都会转换为 int
byte b1 = 2;
short s1 = 1;
char ch1 = 'abb';
ch1.charAt(0); // a
int i1 = b1 + s1 +ch1;//对, b2 + s1 => int
System.out.println(new String(pp));
}
}
强制类型转换
使用括号的形式可以对类型进行强制转换,可能导致精度降低
public class FallStudy{
public static void main(String[] args){
//int x = (int)10*3.5+6*1.5; // 只能应用于后面的单个操作符
int x = (int)(10*3.5+6*1.5);
short shuai = 66;
// shuai = (short)shuai - (short)(6); // 抛错,哪怕两个 short 类型进行加减
shuai = (short)(shuai - 6); // 计算后更改类型
}
}
进制
public class BinaryTest(){
public static void main(String[] args){
int n1 = 0b10111; // 八进制
int n2 = 0604; // 八进制
int n3 = 0x6acd1; // 十六进制
}
}
数据对象
Integer、Double、Float、Long、Byte、Boolean、Short
对象上都有对应的解析方法,用于解析为当前类型:Integer.parseInt()
、Double.parseDouble
引用类型
参考文章
作者 | 文章名称 |
---|---|
韩顺平 | Java零基础学Java【完整笔记】 |