java的数据类型
- java数据类型分为:基本数据类型和引用数据类型
- 基本数据类型有8个:[int,long,short,float,double,byte] char,boolean]
- 引用类型[类,接口,数组]
整数型:
细节1:每个数据类型在内存在分配了不同的内存大小[字节]
byte n1 = 10;//1字节
short n2 = 10;//2字节
int n3 = 10;//4 个字节
long n4 = 10; //8 个字节
细节2:整数类型存放的范围
byte -> 负128 ~ 正127
short -> 负32768 ~ 正32767
int -> 负2147483648 ~ 正2147483647
long ->
细节3:
- java整型默认值为int类型
- 声明long(长整型)必须后面加'l'或'L' 如:long n1 = 100L 或 long n2 = 200l
- bit是计算机中最小存储单位,1bytr = 8bit
浮点型:
- 单精度float -- 4个字节 -- 范围 -3.403E38 ~ 3.103E38
- 双精度double -- 8个字节 -- 范围 -1.798E308 ~ 1.798E308
细节1:
- java的浮点型默认值是double型
- 声明float1型,后面要加 ‘f’ 或 ‘F’ 如:float num1 = 1.1F 或 double num2 = 2.2f
- 通常情况下使用double因为精度比float更精确
- 浮点数保留两位小数:
-
System.out.println(String.format("%.2f",(oop/x))); 或 System.out.printf("%.2f",(oop/x));
或
round表示四舍五入System.out.println(Math.round(((excellent*100)/x))+"%");
-
字符型:
- 字符型 - char
- 可以表示单个字符,char是2个字节
- 如:char name = ''帅 或 char num = 97
细节1:
- 字符型常量需要使用单引号(' ')括起来
- 如:char c1 = 'a' -- char c2 = '中' -- char c3 = '9'
- char本质是整数,输出时是unicode码
- 给char赋一个整数,输入会按照unicode码输出
char n1 = 97 输出结果:a char n2 = 'a' 输出结果:a char n3 = n1 + 1 //98 输出结果:b 为什么 n1 = 97 输出 a ??? 存储过程:'a' --> 码值97 --> 二进制(1100001) --> 存储 读取过程:二进制(1100001)--> 码值97 --> ’a‘ --> 显示
布尔型:
- 真 --> true
- 假 --> false
- 多数在条件判断中使用
基本数据类型转换:
数据类型容量大小排序:
自动类型转换:容量小的类型自动转换为容量大的数据类型 --> 总结:小容量转大容量
自动类型转换细节: 1.多个类型数据混合运数时,系统会按最大的类型进行转换 int i = 10 float d1 = n1 + 1.1 //错误 原因:结果类型一个是double float d2 = n1 + 1.1F //正确 原因:结果类型一个是float double d3 = n1 + 1.1 //正确 原因:结果类型一个是double 2.容量大的赋值给容量小的肯定会报错 int i = 1.1 //错误 原因:double -> int 3.(byte,short) 和 char之间不会相互自动转换 byte b1 = 10 //正确 int n1 = 1 byte b2 = n2 //错误 原因:变量赋值,判断该类型 char c1 = b1 //错误 原因:byte不能自动转换为char 4.byte,short,char该三个数据类型计算,计算时首先转换为int类型 byte b1 = 1; short b2 = 2; short b3 = b1 + b2 //错误 原因:计算时首先转换为int类型 int b3 = b1 + b2 //正确
强制类型转换:将容量大的数据类型转换为容量小的数据类型 --> 总结:大容量转小容量
强制类型转换细节: 1.精度降低或溢出 int i = (int)1.9 //结果 1 2.强转符号只针对于最近的操作数有效,往往会使用小括号提升优先级 int x = (int)10*3.5+6*1.5;//编译错误,这里的强转真对的就是10 int x = (int)(10*3.5+6*1.5);//正确 (int)44.0 -> 44 3.char类型可以保留int的常量值,不能保存int的变量值需要强转 char c = 100 //保留int的常量值 int i = 100; char m = i //错误 char m = (char)i //正确
基本数据类型和 String 类型的转换:
将基本数据类型转换为字符串,或字符串转基本数据类
数据类型转换字符串语法:String s1 = j + ""; //加一个空字符串就可以了
字符串转基本数据类语法:int num1 = Integer.parseInt(s5); //使用包装类方法
怎么把字符串转为char? --> 就是获取字符串的的一个字符 --> s5.charAt(0)
基本数据类型转字符串 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 + ""; 字符串转基本数据类型: 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);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!