Java基本数据类型

2021-03-28 06:26

阅读:695

标签:概念   数值   编码表   rip   unicode   工具   比较   浮点   class   

数据类型

? 关于语言的数据类型方面,主要分为以下两大类:

  • 强类型语言

    • 要求变量的使用要严格符合规定,所有变量必须先定义后使用,而且一旦某一个变量被定义类型,如果不经过强制转换,则它永远就是该数据类型了。比如Java、.NET、C/C++、Python等。
  • 弱类型语言

    • 某一个变量被定义类型,该变量可以根据环境变化自动进行转换,不需要经过显性强制转换。比如vb 、PHP、javascript等。

? Java数据类型分为两大类:

  • 基本类型(primitive type)
    • 数值类型
      • 整数类型:byte
      • 浮点类型:float
      • 字符类型: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。)

Java基本数据类型

标签:概念   数值   编码表   rip   unicode   工具   比较   浮点   class   

原文地址:https://www.cnblogs.com/huajicode/p/13638279.html


评论


亲,登录后才可以留言!