Java-基本语法
Java基本语法
一、关键字和保留字
关键字:被Java 语言赋予了特殊含义,用做专门用途的字符串。关键字中所有字母都为小写。
保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。命名标识符时要避免使用。(goto
、const
)


二、标识符
标识符:对各种变量、方法和类等要素命名时使用的字符序列称为标识符(自己起名字的地方)。
命名规则:
-
由字母、数字、下划线(_)、$符号组成
-
不可以使用关键字和保留字
-
数字不可以开头
命名规范:
- 包名:多单词组成时所有字母都小写:xxxyyyzzz
- 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
- 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
- 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
三、变量

3.1 整形
类型 | 占用存储空间 | 表数范围 | 备注 |
---|---|---|---|
byte | 1字节 | -128 ~ 127 | |
short | 2字节 | -2^15 ~ 2^15 - 1 | |
int | 4字节 | -2^31 ~ 2^31 - 1 | 系统默认,最常使用 |
long | 8字节 | -2^63 ~ 2^63 - 1 | 常量定义时后面加L |
3.2 浮点型
类型 | 占用存储空间 | 表数范围 | 备注 |
---|---|---|---|
float | 4字节 | -3.403E38 ~ 3.403E38 | 精确到7位,定义时后面加F |
double | 8字节 | -1.798E308 ~ 1.798E308 | 精确到14位,系统默认,最常使用 |
3.3 字符型
用char类型来表示字符,一个char类型数据占两个字节,字符常量用单引号引起来。表示字符可以使用单个字符,如'a'
;也可以使用转义字符,如'\n'
;也可以直接使用Unicode值来表示,如'\u000a'
。
3.4 布尔型
boolean类型,只有两个值:true
或false
。
3.5 基本数据类型转换
3.5.1 自动类型提升
当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。此时的容量大小指的是,表示数的范围的大和小。比如:float容量要大于long的容量。特别的:当byte、char、short三种类型的变量做运算时,都转化为int型去做运算,结果也为int型。
byte 、char 、short --> int --> long --> float --> double
3.5.2 强制类型转换
强制类型转换是自动类型提升的逆运算,需要使用强转符:()
;强制类型转换可能造成精度损失。
double d1 = 12.9;
//精度损失举例1
int i1 = (int)d1;//截断操作
System.out.println(i1);
//没有精度损失
long l1 = 123;
short s2 = (short)l1;
//精度损失举例2
int i2 = 128;
byte b = (byte)i2;
System.out.println(b);//-128
3.6 String类型(非基本数据类型)
声明String类型变量时,使用一对""
,如"abcde"
。String可以和8种基本数据类型变量做运算,且运算只能是连接运算:+
,运算的结果仍然是String类型。
char c = 'a';//97 A:65
int num = 10;
String str = "hello";
System.out.println(c + num + str); // 107hello
System.out.println('*' + '\t' + '*');// 运算的结果为整形数字
3.7 进制
// 整数的四种表示方式
int num1 = 0b110; // 二进制,用0b或0B开头
int num2 = 110; // 十进制
int num3 = 0127; // 八进制,用0开头
int num4 = 0x110A; // 十六进制,用0x或0X开头
四、运算符
运算符有算数运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元运算符等。不清楚运算符的优先级可以使用()
。
取模运算符%
,运算结果的符号只与被取模的数的符号有关。被取模的数为正,结果为正;被取模的数为负,结果为负。
整数之间做除法时,会只保留整数部分而舍弃小数部分。
// 赋值运算符不会改变变量的数据类型
short s = 10;
s = s + 2; // 编译不通过
s += 2; // 可以
i++++; // 错误写法,自增运算符使用错误
逻辑运算符中,&
和&&
的区别:如果&&
左侧表达式能确定最后的计算结果,则右侧部分不再计算,&
两侧的表达式都会参与运算。|
和||
同理。
位运算符:
运算符 | 运算 | 结果 |
---|---|---|
<< | 左移 | 在一定范围内,原数乘2 |
>> | 右移 | 原数除2,右移时填充符号位 |
>>> | 无符号右移 | 右移时填充0 |
& | 按位与 | 按位运算 |
| | 按位或 | 按位运算 |
^ | 按位异或 | 按位运算 |
~ | 按位取反 | 按位运算 |
五、程序流程控制
从控制台读取数据:
// 从控制台读取数据
import java.util.Scanner;
Scanner scan = new Scanner(System.in);
String str = scan.next();
int i = scan.nextInt();
double d = scan.nextDouble();
boolean b = scan.nextBoolean();
// 取得[a, b]区间的随机数
int value = (int)(Math.random() * (b - a + 1) + a);
5.1 选择结构
switch结构中的表达式,只能是byte
、short
、int
、char
、枚举
、String
类型。
5.2 循环结构
// 标签的使用,在需要一次跳出多个 循环时
label:for(int i = 2;i <= 100000;i++){//遍历100000以内的自然数
for(int j = 2;j <= Math.sqrt(i);j++){//j:被i去除
if(i % j == 0){ //i被j除尽
continue label; // 如果需要打破循环,使用break lable;
}
}
//能执行到此步骤的,都是质数
count++;
}
增强型for循环:
// 增强型for循环
int[] arr = { 1, 2, 3, 4, 5 };
for (int i : arr) {
System.out.println(i);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具