Java基础部分主要涵盖了数据类型,变量,运算符,分支语句,循环。
📕 基本数据类型
类型 | 位宽 | 容量 | 范围 | 字节 |
---|---|---|---|---|
byte | 8($2^3$) | $2^7$ | -128 到 127 | 1 |
short | 16($2^4$) | $2^{15}$ | -32,768 到 32,767 | 2 |
int | 32($2^5$) | $-2^{31}$到$2^{31}$-1 | -2,147,483,648 到 2,147,483,647 | 4 |
long | 64($2^6$) | -$2^{64}$到$2^{64}$-1 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 | 8 |
类型 | 位宽 | 容量 | 范围 | 字节 |
---|---|---|---|---|
float | 32($2^6$) | 约$10^{47}$ | IEEE 754标准 | 4 |
double | 64($2^6$) | 约$10^{308}$ | IEEE 754标准 | 8 |
类型 | 位宽 | 容量 | 范围 | 字节 |
---|---|---|---|---|
char | 16($2^4$) | $2^{15}$ | -32,768 到 32,767 | 2 |
类型 | 位宽 | 容量 | 范围 | 字节 |
---|---|---|---|---|
boolen | 不固定 | 2 | true 或 false | 通常为1 |
示例
//byte类型 8位整数类型,范围从-128到127
byte a = 100;
//short类型 16位整数类型,范围从-32,768到32,767
short b = 10000;
//int类型 32位整数类型,范围从-2^31到2^31-1
int c = 100000;
//long类型 64位整数类型,范围从-2^63到2^63-1
long d = 1000000000L;
//float类型 32位单精度浮点数
float e = 3.14F;
//double类型 64位双精度浮点数
double f = 3.141592653589793;
//char类型 16位Unicode字符
char g = 'A';
//boolean类型 只有两个值:true和false
boolean h = true;
📕 引用数据类型
基本数据类型外的所有类型都是引用数据类型
例如:类,接口,对象,数组等
示例
String str = "Hello, World!";
int[] arr = {1, 2, 3, 4, 5};
注意
基本数据类型传值得到的是值的副本
引用数据类型传值得到的是地址值
📉 变量
变量类型的声明与作用域
局部变量
在方法体内声明,只能在该方法内使用
实例变量
在类中,方法、构造函数之外声明,实例变量属于该类的对象,必须创建对象才能调用
静态变量
静态变量属于类,该类不生产对象,通过类名就可以调用静态变量变量初始化
声明变量时需要指定类型,初始化可以在声明时进行或稍后进行
📠 运算符
算数运算符
加+, 减-, 乘*, 除/, 取模%
int a = 10, b = 20;
int sum = a + b; // 加法
int diff = b - a; // 减法
int product = a * b; // 乘法
int quotient = b / a; // 除法
int remainder = b % a; // 取模
关系运算符
等于==, 不等于!=, 大于>, 小于<, 大于等于>=, 小于等于<=
boolean isEqual = (a == b);
boolean isNotEqual = (a != b);
boolean isGreater = (a > b);
boolean isLesser = (a < b);
逻辑运算符
与&&, 或||, 非!
boolean and = (a > 5 && b < 30);
boolean or = (a > 15 || b < 30);
boolean not = !(a > 5);
赋值运算符
基本赋值=, 加等+=, 减等-=, 乘等*=, 除等/=, 取模等%=
int a = 10;
a += 5; // 等同于 a = a + 5
a -= 3; // 等同于 a = a - 3
a *= 2; // 等同于 a = a * 2
a /= 2; // 等同于 a = a / 2
a %= 3; // 等同于 a = a % 3
三元运算符
条件表达式? 表达式1 : 表达式2
int a = 10, b = 20;
int max = (a > b) ? a : b; // 如果a大于b,max等于a,否则max等于b
位运算符
与&, 或|, 异或^, 取反~, 左移<<, 右移>>, 无符号右移>>>
int x = 5; // 0101
int y = 3; // 0011
int and = x & y; // 0001
int or = x | y; // 0111
int xor = x ^ y; // 0110
int not = ~x; // 1010
int leftShift = x << 2; // 10100
int rightShift = x >> 2; // 0001
int unsignedRightShift = x >>> 2; // 0001
📝 控制语句
条件语句
if-else语句
int age = 20; if (age >= 18) { System.out.println("成人"); } else if { System.out.println("未成年"); } else { System.out.println("数据错误"); }
switch-case语句
int day = 3; switch (day) { case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; default: System.out.println("其他"); }
新特性
public int getNumberOfWeekday(String day) { return switch (day) { case "Monday", "Tuesday", "Wednesday" -> 1; case "Thursday", "Friday" -> 2; case "Saturday" -> 3; case "Sunday" -> 4; default -> -1; }; }
double feeRate = switch (transactionType) { case "DOMESTIC" -> { double rate = (transactionAmount < 1000) ? 0.01 : 0.005; yield rate; } case "INTERNATIONAL" -> { double rate = (transactionAmount < 1000) ? 0.02 : 0.015; yield rate; } case "TRANSFER" -> { double rate = (transactionAmount < 500) ? 0.005 : 0.002; yield rate; } default -> { yield 0.0; // 为无效的transactionType返回默认费率 } };
循环语句
for循环
for (int i = 0; i < 5; i++) { System.out.println(i); }
while循环
int i = 0; while (i < 5) { System.out.println(i); i++; }
do-while循环
int i = 0; do { System.out.println(i); i++; } while (i < 5);
跳转语句
break语句
用于终止循环或switch语句
for (int i = 0; i < 10; i++) { if (i == 5) { break; // 当i等于5时跳出循环 } System.out.println(i); }
continue语句
用于跳过当前循环中的剩余语句,并开始下一次循环
for (int i = 0; i < 10; i++) { if (i % 2 == 0) { continue; // 跳过当前循环的剩余部分 } System.out.println(i); // 只打印奇数 }
return语句
用于从方法返回值并终止方法的执行
public int add(int a, int b) { return a + b; // 返回两个数的和 }
💻 基础语法综合示例
/**
* 这是一个Java基础语法的示例类
* 包含变量声明、运算符使用、控制语句等
*/
public class BasicSyntaxExample {
public static void main(String[] args) {
// 变量声明与初始化
int number = 10;
double pi = 3.14159;
boolean isJavaFun = true;
char grade = 'A';
String message = "Hello, Java!";
// 运算符使用
int sum = number + 5; // 加法运算
double product = pi * 2; // 乘法运算
boolean isGreater = number > 5; // 关系运算
boolean isTrue = isJavaFun && (grade == 'A'); // 逻辑运算
// 输出结果
System.out.println("Number: " + number);
System.out.println("Sum: " + sum);
System.out.println("Product: " + product);
System.out.println("Is number greater than 5: " + isGreater);
System.out.println("Is Java fun and grade A: " + isTrue);
System.out.println("Message: " + message);
// 控制语句
if (isJavaFun) {
System.out.println("Java is fun!");
} else {
System.out.println("Java is not fun.");
}
switch (grade) {
case 'A':
System.out.println("Excellent!");
break;
case 'B':
System.out.println("Good!");
break;
case 'C':
System.out.println("Fair");
break;
default:
System.out.println("Invalid grade");
}
// 循环语句
for (int i = 0; i < 5; i++) {
System.out.println("For loop iteration: " + i);
}
int count = 0;
while (count < 5) {
System.out.println("While loop iteration: " + count);
count++;
}
int n = 0;
do {
System.out.println("Do-while loop iteration: " + n);
n++;
} while (n < 5);
// 跳转语句
for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // 跳出循环
}
System.out.println("Break example: " + i);
}
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
continue; // 跳过当前循环的剩余部分
}
System.out.println("Continue example: " + i);
}
}
}
评论