▲标识符
由 字母、数字、下划线、美元符号 组成
- 字母不打头
- 区分大小写
- 不能使用关键字
▲常量
- 整数 常量
- 小数 常量
- 布尔型 常量(true/false)
- 字符 常量
- 字符串 常量
- null 常量
整数常量:
-
- 十进制:0-9,满10进1
- 八进制:0-7,满8进1,0开头
- 十六进制:0-9,A-F,满16进1,0x开头
进制转换:
▲变量
数据类型
基本数据类型:byte、short、int、long、float、double、char、boolean
引用数据类型:类、接口、数组
byte:8位,-128~127,默认值0
short:16位,-32768~32767,默认值0
int:32位,默认值0,整型默认类型
long:64位,默认值0L
float:32位,单精度,默认值0.0d
double:64位,双精度,默认值0.0f,浮点数默认类型
boolean:true/false,默认false
char:16位
类型转换
自动类型提升:
低------------------------------------------------------------>高
byte,short,char -->int -->long --> float --> double
强制类型转换:
- 大容量的数据类型转换为小容量的数据类型,必须强制类型转换。
- System.out.println('a'+1);//98-->a在ASCII表中对应97
System.out.println('A'+1);//66-->A在ASCII表中对应65
- byte b = 3;
b = (byte) (3 + 2);
▲运算符
- 算术运算符:+ - * / %(取余) ++ --
- 关系运算符
- 位运算符
- 逻辑运算符:&& || !
- 赋值运算符
- 其他运算符
算术运算符:
++a:先自增,再进行表达式运算
a++:先进行表达式运算,再自增
1 2 3 4 | int a = 5 ; int b = 5 ; int x = 2 *++a; int y = 2 *b++; |
最后结果:a = 6,b = 6,x = 12,y = 10
位置运算符:
A = 0011 1100
B = 0000 1101
-----------------------
A&B = 0000 1100 (与;全1为1,有0为0; 0&0=0,0&1=0,1&0=0,1&1=1)
A | B = 0011 1101 (或;全0位0,有1为1; 0|0=0,0|1=1,1|0=1,1|1=1)
A ^ B = 0011 0001 (异或;相同为0,不同为1; 0^0=0,0^1=1,1^0=1,1^1=0)
~A= 1100 0011 (非;每一位都取反)
逻辑运算符:
短路性
当前后两个结果都为true时,结果才为true。
当第一个结果为false时,结果必然为false。这时候不会再进行第二个操作了。
int a = 5;
boolean b = a < 4 && a++<5;
结果:b为false,a的值还是5。(当进行第一个判断,结果为false后,就不会进行第二个操作了)
条件运算符:
// 如果 a 等于 1 成立,则设置 b 为 20,否则为 30
b = (a == 1) ? 20 : 30;
instanceof运算符:
运算符左侧变量所指的对象,是否是操作符右侧类或接口(class/interface)的一个对象
运算符优先级:
(),[] ---- ++,--,~,! ---- */% ---- +,- ---- 位移 ---- 关系运算符 ---- 相等 ---- 按位与& ---- 按位异或^ ---- 按位或| ---- 逻辑与& ---- 逻辑或| ---- 条件?: ---- 赋值
int a=2;
System.out.println(--a/2+(++a*2)); 结果:4
System.out.println(++a*2+--a/2); 结果:7
▲访问控制符
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!