JAVA基本类型(第1节)
1 JAVA基本数据类型
基本数据类型:
- 数值型:整数类型(byte,short,int,long)、浮点类型(float,double)
- 字符型(char)
- 布尔型(boolean)
1.1 数值类型
1.1.1 整数类型 byte,short,int,long
- 整数类型默认值为int
- byte:占1字节=8个内存位,取值范围-128~127,即2的8次方
- short:占2字节=16个内存位,取值范围约为-32***~32***"(写全我也记不住,所以就记3万2千多就好了),即2的16次方
- int:占4字节=32个内存位,取值范围约为-21亿~21亿,即2的32次方
- long:占8个字节=64个内存位,取值范围为-2的64次幂~2的64次幂,即2的64次方
- 把超过int类型长度的整数赋值给long,需要再数字末尾加上大写的L(推荐)或小写的l,如果整数未超int范围,则可以不加L
byte b = 127; byte b = 128;// 超范围,报错 short s = 32000; short s = 40000; // 超范围,报错 int i = 1234567890; int i = 12345678901; // 超范围,报错 long l1 = 12345678910L; long l2 = 1234567891L; long l3 = 1234567891; System.out.println(l1);// 12345678910 System.out.println(l2);// 1234567891 System.out.println(l3);// 1234567891
拓展:整型不同进制的赋值
int n1 = 10;// 十进制
int n2 = 010;// 八进制,以0开头
int n3 = 0x10;// 十六进制,以0x开头
int n4 = 0b10;// 二进制,以0b开头
int n1 = 10;// 十进制 int n2 = 010;// 八进制 int n3 = 0x10;// 十六进制 int n4 = 0b10;// 二进制 System.out.println("十进制 10 :"); System.out.print(n1);//10 System.out.println("八进制 010 :"); System.out.print(n2);//8 System.out.println("十六进制 0x10 :"); System.out.print(n3);//16 System.out.println("二进制 0b10 :"); System.out.print(n4);//2
1.1.2 浮点类型float,double
- 浮点类型默认值是double
- 浮点类型有float和double两种,float占4字节,double占8字节
- float类型需要在末尾追加F或f,double类型因浮点默认类型是double,可以追加D或d,也可以不加
- float类型有效数字只有6~7位,有效数字超多7位的float会精度丢失
- double类型有效数字只有15~16位
- PS:有效数字是指从左往右第一个不是0的数字开始到末尾的所有数字。例如:0.001023,有效数字为4位
float f1 = 3.1415926F; System.out.println("3.1415926F≈"+f1);// 3.1415926F≈3.1415925 丢失精度 float f2 = 3.14159F; System.out.println("3.14159F="+f2);// 3.14159F=3.14159 double d1 = 3.1415926; System.out.println("3.1415926="+d1);// 3.1415926=3.1415926 double d2 = 3.14159265358979323846264338327950288D; System.out.println("3.14159265358979323846264338327950288D≈"+d2);// 3.14159265358979323846264338327950288D≈3.141592653589793 丢失精度
1.2字符类型char
- 字符类型char,单引号内的单个字符
- char类型只能存储一个字符,不能多也不能少,包括空格字符
- 不能存储空字符
- 不能存储多个空格
- char类型输出的时候只展示字面常量,但是实际存储是存储的该字面常量对应的unicode数字
- char类型可以以其对应的编码数字直接用+号和数字字面常量进行计算,也可以直接和数字类型相互转换
char c1 = 'a'; System.out.println(c1); char c2 = 'A'; System.out.println(c2); char c3 = '1'; System.out.println(c3); char c4 = '?'; System.out.println(c4); char c5 = ''; // 会报错,不能存储空字符 char c6 = ' ';// 会报错,不能存储多个空格 char c7 = '\n';// 转义符 System.out.println("aaa"+c7+"bbb"); System.out.println("换行转义符:换行"); System.out.println("aaa\nbbb"); System.out.println("制表符:自动对齐8个字符的整数倍"); System.out.println("aaa\tbbb"); System.out.println("退格符:回退一格开始打印"); System.out.println("aaa\bbbb"); System.out.println("单引号和双引号:"); System.out.println("aaa\'bbb\""); System.out.println("转义反斜杠\\"); System.out.println("aaa\\bbb"); System.out.println("char类型输出的时候只展示字面常量,但是实际存储是存储的该字面常量对应的unicode数字:"); char c8 = 'a'; System.out.println(c8);// a System.out.println("char类型可以以其对应的编码数字直接用+号和数字字面常量进行计算:"); System.out.println(c8+1);// 98 System.out.println("也可以直接和数字类型相互转换:"); int i1 = (int) c8; System.out.println("int i1 = (int) c8 输出i1为:"+i1);// int i1 = (int) c8 输出i1为:97 char c9 = (char) 65; System.out.println("char c9 = (char) 65 输出c9为:"+c9);// char c9 = (char) 65 输出c9为:A System.out.println("面试题:"); System.out.println("\'2\'+2=?"); int v1 = '2'+2; System.out.println(v1);// 52 char v2 = '2'+2; System.out.println(v2);// 4 //'2'对应的accii值为50,50+2=52,52对应的字符为4
1.3布尔类型boolean
- 布尔类型只有两个值,true和false
- 不支持大写的TRUE和FALSE
boolean b1 = true; //boolean b2 = TRUE; // 报错 boolean b3 = false; System.out.println(b1);// true System.out.println(b3);// false
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具