【Java】数据类型,它与C语言中相同吗?

⚡Hello~这里是傾城49⚡

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

🌈点个关注不迷路~🌈

文章目录

前言

基本数据类型分类

包装类型

boolean类型

关于类型提升

字符串和整型之间的转换

总结


前言

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

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


基本数据类型分类

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

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

八种:

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

  •  其中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数据类型的内容了。

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值