Java数据类型

数据类型(初阶)

每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间(字节)。
在这里插入图片描述

初阶只介绍基本数据类型

基本数据类型

整数型(int)

Java的整数类型就是用于存放整数值的,比如12,50,12908等

整数类型的占用空间及表示范围:

类型占用空间范围
byte[字节]1字节-128 ~ 127(具体原因在二进制中详解)
short[短整型]2字节-215 ~ 215-1 即 -32768 ~ 32767
int[整型]4字节-231~231-1 即 -2147483648 ~ 2147483647
long[长整型]8字节-263 ~ 263-1

整型使用细节

  1. Java各整数类型有固定的范围和字节长度,不受具体操作系统影响,以保证java程序的可移植性。
  2. Java的整型常量默认为int型,声明long型常量须加’l’ 或’L’
  3. java程序中变量常声明为int型,除非不足以表示大数,才使用long

浮点类型

Java的浮点类型可以表示一个小数,比如123.4,7.8,0.12等

浮点型的分类

类型占用存储空间范围
单精度浮点型(float)4字节-3.403E38 ~ 3.403E38
双精度浮点型(double)8字节-1.798E308 ~ 1.298E308

浮点数在计算机中存放形式是:浮点数=符号位+指数位+尾数位
尾数部分可能丢失,造成精度损失(因此小数都是近似值)。

浮点数的细节

  1. 与整数类型类似,Java浮点数也有固定的范围和字段长度,不受具体操作系统的影响。

  2. Java的浮点型常量默认为double型,声明float型常量,须后加’f’ 或 ‘F’

  3. 浮点型长量有两种表示形式
    十进制数形式:如:5.12 5.12f .512 (必须有小数点)
    科学计数法形式:如:5.12e2 5.12E-2

  4. 通常情况下,应该使用double型,因为它比float型更精确

  5. 浮点型的使用陷阱

        double a = 2.7;
        double b = 8.1 / 3;
    
        System.out.println(a);
        System.out.println(b);
        
        if ( a == b){
        	System.out.println("相等");
        }
    

    结果是
    在这里插入图片描述

    b的正常结果应该是2.7,然而事实并非如此而是一个很接近2.7的数字
    这是因为计算机在存储小数时是以精度来保留的,这是计算机的问题
    所以我们对运算结果是小数的数进行相等判断时,要小心

    当我们必须这样做时应这样:

    //应用两个数的差的绝对值,在某一个精度范围内判断
        if (abs(a - b) < 0.00001) {
            System.out.println("相等");
        }
    
## 字符类型

### 基本介绍
字符类型可以表示==单个字符==,字符类型是char,char是两个字节(可以存放汉字)

### 演示
```java
        char c1 = 'a';
        char c2 = '\t';
        char c3 = '张';
        char c4 = 97;  //说明:字符类型可以直接存放一个数字

        System.out.println(c1);
        System.out.println(c2);
        System.out.println(c3);
        System.out.println(c4);

在这里插入图片描述

程序在输出c4时,会输出97所表示的字符
各个数字所表示的字符是什么就要涉及到编码的概念(Unicode码表)

字符类型细节

  1. 字符常量是用单引号括起来的单个字符
  2. Java中还允许使用转义字符 ‘’ 来将其后的字符转变为特殊字符常量(其意义可在Unicode码表中查看)
  3. 在Java中,char的本质是一个整数,在输出时,是Unicode码对应的字符
  4. char类型是可以进行运算的,相当于一个整数,因为都有对应的Unicode码

布尔类型

基本介绍

布尔类型也叫Boolean类型,它只能存储true和false
布尔类型只占1个字节
它只适于逻辑运算

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值