- 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更精确
字符型:
- 字符型 - 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);
来源:https://www.cnblogs.com/Mr-shne/p/16470319.html
本站部分图文来源于网络,如有侵权请联系删除。