Java基本数据类型
时间:2020-09-17 19:32:56
收藏:0
阅读:38
数据类型
? 关于语言的数据类型方面,主要分为以下两大类:
-
强类型语言
- 要求变量的使用要严格符合规定,所有变量必须先定义后使用,而且一旦某一个变量被定义类型,如果不经过强制转换,则它永远就是该数据类型了。比如Java、.NET、C/C++、Python等。
-
弱类型语言
- 某一个变量被定义类型,该变量可以根据环境变化自动进行转换,不需要经过显性强制转换。比如vb 、PHP、javascript等。
? Java数据类型分为两大类:
- 基本类型(primitive type)
- 数值类型
- 整数类型:byte<short<int<long
- 浮点类型:float<double
- 字符类型:char
- boolean类型:占一位,值只有true和false两个
- 数值类型
- 引用类型(reference type)
- 类
- 接口
- 数组
数据类型的一丢丢拓展
整数拓展
关于进制问题:
- 二进制:0b
- 十进制
- 八进制:0
- 十六进制:0x
int i = 10;
int i2 = 010;//八进制
int i3 = 0x10;//十六进制
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
//输出: 10
// 8
// 16
浮点数拓展
首先查看一段代码:
float f = 0.1f;//0.1
double d = 1.0/10;//0.1
System.out.println(f==d);
float d1=32312313123123131f;
float d2=d1 + 1;
System.out.println(f==d);
//输出: false
// true
在这里面可以发现,原本应该相等的两个浮点数不相等;而原本数值不相等的两个浮点数相等了。
这里是因为浮点数是有限的,当数太大的时候它就是一个离散的模型,存在一个舍入误差,也就是相当于近似数,约等于的概念。
所以一般尽量完全避免使用浮点数进行比较。
比如银行业务的话,就不要用浮点数比较,可以使用BigDecimal这个数学工具类来进行比较。
字符拓展
char类型的字符类型可以进行强转,输出就会是以Unicode码的形式输出。
关于ASCII编码:
(ASCII编码,占用0 - 127用来表示大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。)
评论(0)