标签:Java 字节 int double float 数据类型 long 类型 系列
1 数据类型
1.1 强类型语言
要求变量的使用合乎规定,所有的变量都必须先定义才能使用。Java是强类型语言。
1.2 Java数据类型
分为两大类:
-
基本类型(primitive type)
-
数值类型
-
整数类型
1.)byte:占一个字节,范围:-128~127
2.)short:占两个字节,2的15次,范围:-32768~32767
3.)int:占四个字节,2的31次,范围:-2147483648~2147483647
4)long:占八个字节,2的63次,范围:-9223372036854775808~9223372036854775807
-
浮点类型
1.)float:占四个字节,单精度,尾数可以精确到7位有效数字,范围:-3.403E38~3.403E38
2.)double:占八个字节,双精度,精度是float的两倍,范围:-1.798E308~1.798E308
-
字符类型
1.)char:占两个字节,用'',声明一个字符,或者转义字符
-
-
boolean类型:占1位,其值只有true和false
-
-
引用类型(reference type)
- 类
- 接口
- 数组
// 整数 int num1 = 10; //最常用 byte num2 = 20; short num3 = 30; long num4 = 30L; // long类型需要在数字的后面加一个L或l,以做声明。如果不做声明,会以int类型取存数据,在把数据自动装换为long。 long l1 = 2147483649; //不加L,编译会报错 long l2 = 2147483649L; // 正常编译 // 浮点数(小数) float num5 = 50.1F; // float类型需要在数字的后面加一个F,因为java的浮点型常量默认是double,所以声明float时要加F或f falot f1 = 32.2; //报错,因为不加f,会被认为时double,而double转float需要强制转换,所以报错。 double num6 = 3.12321312321321321321321321321312312; // 字符,只能是一个字符 char name = 'A'; // 不能是AA 字符用'' char myByte = '\n'; // 转义字符也用'' // 字符串,String不是关键字,是类,字符串用"" String namea = "ssm";
Q:为什么float和int都是4个字节,但是float表示的范围更大,而且还可以表示小数点?
https://zhuanlan.zhihu.com/p/84453627
位和字节
Q:什么是位?
位(bit):是计算机 内部数据 存储的最小单位,11001100是一个八位二进制数。
Q:什么是字节?
字节(byte):是计算机 数据处理 的基本单位,习惯上用大写的B来表示。
1024B = 1KB
1024KB = 1M
1024M = 1G
1024G = 1TB
Q:位和字节的联 系
1B(byte,字节)= 8bit(位)
Q:什么是字符?
是指计算机中使用的字母、数字、字、和符号。
整数拓展
// 二进制0b 十进制 八进制0 十六进制0x
int i = 10;
int i2 = 010; // 八进制
int i3 = 0x10; // 十六进制0x
浮点数
最好完全避免使用浮点数进行比较,银行业务避免使用浮点数,可以使用BigDecimal(数学工具类)
// float 存在误差 // 最好完全避免使用浮点数进行比较 float f1 = 0.1F; double d1 = 0.1/10; System.out.println(f1 == d1); // false float f2 = 2132132132132232F; float f3 = f2 + 1; System.out.println(f2 == f3); // true
字符
// 强制转换 (int) char c1 = 'a'; char c2 = '沈'; System.out.println((int)c1); System.out.println((int)c2); // 转义字符 // \t \n....
标签:Java,字节,int,double,float,数据类型,long,类型,系列 来源: https://www.cnblogs.com/gltou/p/15220531.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。