Java学习 - day001

Java 学习笔记

bool 类型

1
2
3
4
5
6
7
8
9
10
public class Boolean01 {
public static void main(String[] args) {
boolean isPass = true;
if (isPass == true) {
System.out.println("考试通过, 恭喜!");
} else {
System.out.println("考试没有通过, 下次努力");
}
}
}

自动类型转化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package day01;

public class AutoConvertDetail {
public static void main(String[] args) {
// 有多重类型的数据混合运算,
// 系统首先将所有数据转换成存储空间最大的那种数据类型然后再进行计算
int n1 = 10;
// float d1 = n1 + 1.1; => 错误 结果类型是double
// double d1 = n1 + 1.1 => 结果类型是double
float d1 = n1 + 1.1F;
byte b1 = 10;
// byte 的存储空间只有一个字节
int n2 = 1;
// cannot convert from int to byte
// byte b2 = n2; // 错误:高精度不可以复制给低精度
// char c1 = b1; // byte不能自动转换为 char
// 细节4:byte, short, char 三者可以计算,在计算时首先转换成int类型

byte b2 = 1;
byte b3 = 2;
short s1 = 1;
// short s2 = b2 + s1; // 错误 b2 + s1 => int
int s2 = b2 + s1;

// byte b4 = b2 + b3; // 错误 b2 + b3 => int


// boolean 不参与转换
boolean pass = true;
// int num100 = pass; // boolean 不参与类型的自动转换
}
}

强制类型转化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package day01;

public class ForceConvert {
public static void main(String[] args) {
// 格外注意使用强制类型转化,会有精度的损失
int i = (int)1.9;
System.out.println(i);

int j = 100;
byte b1 = (byte)j;
System.out.println(b1);
}
}

image-20250504173043136

基本数据类型和 String 类型的转换

image-20250504173149367

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package day01;

public class StringToBasic {
public static void main(String[] args) {

// 基本数据类型 -> String
int n1 = 100;
float f1 = 1.1F;
double d1 = 4.5;
boolean b1 = true;
String s1 = n1 + "";
String s2 = f1 + "";
String s3 = d1 + "";
String s4 = b1 + "";
System.out.println(s1 + "" + s2 + "" + s3 + "" + s4 + "");

// String -> 对应的数据类型

// 使用基本数据类型对应的包装类的相应方法得到基本数据类型
String s5 = "123";
int num1 = Integer.parseInt(s5);
double num2 = Double.parseDouble(s5);
float num3 = Float.parseFloat(s5);
long num4 = Long.parseLong(s5);
byte num5 = Byte.parseByte(s5);
boolean b = Boolean.parseBoolean("true");
short num6 = Short.parseShort(s5);

System.out.println("===========================");
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
System.out.println(num4);
System.out.println(num5);
System.out.println(num6);
System.out.println(b);
}
}

相关细节

image-20250504174812686

运算符

image-20250504180521614

三元运算符

1
2
3
int a = 10;
int b = 99;
int result = a > b ? a ++ : b --;

image-20250504220009721

运算符优先级

image-20250504220555493

标识符的命名 规则和规范

image-20250504220951944

规范

image-20250504221152382

输入输出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package day02;

import java.util.Scanner;

public class Input {
public static void main(String[] args) {
// Scanner类 表示 简单的文本扫描器,在java.util 包
Scanner scanner = new Scanner(System.in);
// 接受用户的输入
System.out.println("请输入名字");
// 表示接受一个字符串
String userName = scanner.next();
System.out.println("请输入年龄");
int age = scanner.nextInt();
System.out.println("请输入薪水");
double sal = scanner.nextDouble();
System.out.println("人的信息如下");
System.out.println("name=" + userName
+ " 年龄=" + age + " 薪水=" + sal);

}
}

image-20250504223803073

进制

image-20250504223822568

位运算

image-20250504224003609

循环

  • 因为之前学过,所以这里直接就跳过了,写了点练习题来巩固

打印空心金字塔

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package day02;

public class Stars {
public static void main(String[] args) {
// 打印空心金字塔
for (int i = 1;i <= 5;i ++) {
for (int j = 1;j <= 5 - i;j ++) {
System.out.print(" ");
}
for (int j = 1;j <= 2 * i - 1;j ++) {
if (j == 1 || j == 2 * i - 1 || i == 5) {
System.out.print("*");
} else {
System.out.print(" ");
}

}
System.out.println("");
}
}
}