[Java基础] Java八种基本变量类型

目录

1.整型

2.字符型

3.浮点型

4.布尔型

5.(不是基本类型)String类型


Java中有八种基本类型,都是Java语言预先定义好的,并且是关键字。

这八种基本类型分别是:
整型 (4种)
字符型 (1种)
浮点型 (2种)
布尔型(1种)

1.整型

整型变量用于存放整数
byte
short
int
long
区别在于不同类型的整型,最大值,最小值不一样。如果试图给byte类型的变量赋予超出其范围的值,就会产生编译错误,这个时候就需要进行类型转换

整型

2.字符型

char类型用于存放一个字符,值用单引号'表示 (双引号表示字符串)。其长度和short一样,也是16位的。只能存放一个字符,超过一个字符就会产生编译错误

3.浮点型

浮点数类型有两种
float 长度为32位
double 长度为64位      注意: 默认的小数值是double类型的
所以 float f = 54.321会出现编译错误,因为54.321的默认类型是 double,其类型 长度为64,超过了float的长度32
在数字后面加一个字母f,直接把该数字声明成float类型,float f2 = 54.321f,这样就不会出错了

Java中float与double的区别

如果不声明,默认小数为double类型,所以如果要用float的话,必须进行强转

例如:float  a=1.3; 会编译报错,正确的写法 float a = (float)1.3;或者float a = 1.3f;(f或F都可以不区分大小写)

Java中 float、double使用注意问题

        在java中运行一下代码

        System.out.println(2.00-1.10);
        输出的结果是:0.8999999999999999
        很奇怪,并不是我们想要的值0.9

        再运行如下代码:
        System.out.println(2.00f-1.10f);
        输出结果:0.9

        又正确了,为什么会导致这种问题?程序中为什么要尽量避免浮点数比较?

        在java中浮点型默认是double的,及2.00和1.10都要在计算机里转换进行二进制存储,这就涉及到数据精度,出现这个现象的原因正是浮点型数据的精度问题。

。。。。

注意:

  • 程序中应尽量避免浮点数的比较
  • float、double类型的运算往往都不准确

解决方法:

使用BigDecimal提供的方法进行比较或运算

4.布尔型

布尔型用于表示真假
其长度为1

boolean b1 = true;    boolean b2 = false;
分别代表真假,虽然布尔型真正存放的数据是0(false) 1(true),但是,不能直接使用0 1 进行赋值

5.(不是基本类型)String类型

        String类型其实并不是基本类型,但是它是如此广泛的被使用,常常被误以为是一种基本类型。String类型是Immutable的,一旦创建就不能够被改变。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值