⚡Hello~这里是傾城49⚡

🐏不定期更新知识干货~🐏

🌈点个关注不迷路~🌈


文章目录


前言

基本数据类型分类

包装类型

boolean类型

关于类型提升

字符串和整型之间的转换

总结


前言

Java比C语言多了一类数据类型,即布尔型

Java中,数据类型主要分为两类:基本数据类型引用数据类型


基本数据类型分类

基本数据类型分为四类八种:

四类:整型,字符型,浮点型,布尔型

八种:

Java中char的用法举例 java中char型_包装类

  •  从以上的表格可以看到,与C语言不同,Java种char占两个字节
  • 因为C语言用ASCII表示字符,而Java中用Unicode表示字符
  • Java中char可以输出中文
  • 以上八种数据类型都有对应的包装类型

Java中char的用法举例 java中char型_包装类_02

  •  其中int、char的包装类型比较特殊,其余的都是首字母大写。
  • boolean没有明确规定占几个字节,在Oracle公司的虚拟机中,boolean占1个字节。

包装类型

// int型变量所能表示的范围: System.Out.println(Integer.MIN_VALUE); //-2147483648 System.Out.println(Integer.MAX_VALUE); //2147483647

  • 而在C语言中用INT_MAX表示int型最大值,INT_MIN表示int型最小值。
  • int只为Integer中的一种,可以理解为Integer是一个集合。
  • 如果我们想基本数据类型存储到集合中,就必须使用它们的包装类型。
//创建一个Integer对象
   Integer a = new Integer(1);

//将Integer对象转换成int类型
   int intValue = a.intValue();

   System.out.println(intValue);  //结果为1

boolean类型

  • 在Java中,不存在0表示假,1表示真。
  • boolean类型的变量只有两种取值,true表示真,false表示假。
  • 注:布尔类型boolean由于其本身所代码的特殊含义,boolean类型与其他基本类型不能进行类型的转换(既不能进行自动类型的提升,也不能强制类型转换), 否则,将编译出错。

关于类型提升

在代码运算的时候,以如下代码为例

int a = 10; long b = 20; long c = a+b;

在计算a+b时,a的类型会从int类型提升为long类型进行运算。

也就是说在进行运算时,字节小的会自动转换成字节大的类型进行运算。

但也有特例。

由于计算机的 CPU 通常是按照 4 个字节为单位从内存中读写数据。为了硬件上实现方便,诸如 byteshort这种低于 4 个字节的类型,会先提升成 int, 再参与计算。

byte a = 10; byte b = 10; byte c = a+b;

运行时会出错。要么将c的类型改为int,要么加个强转。

byte a = 10; byte b = 10; byte c = (byte)(a+b);


字符串和整型之间的转换

intString

int a = 10; // 方法1 String str1 = a + ""; // 方法2 String str2 = String.valueOf(a);

Stringint

String str = "100"; int a = Integer.parseInt(str);


总结

以上就是Java数据类型的内容了。