数据类型进阶

    xiaoxiao2021-03-25  100

    ----------siwuxie095

      

      

      

      

      

    1、整数类型

      

      

      

      

      

      

      

    如果去掉注释,报错:Type mismatch: cannot convert from into byte

    即 不能把 int 类型转换成 byte 类型

      

      

      

      

    如果选择Add cast to 'byte'

    b1+3 的结果(默认为 int 类型)强制转换成byte 类型

      

      

      

    如果选择Change type of 'b2' to 'int'

    b2 改成 int 类型(语法错误消失,也佐证了 b1+3 的结果是 int 类型)

      

      

      

    如果稍作修改:

    同样没有报错,这是因为Java语言对于明显的能确定结果的计算,在编译期

    就把值计算完毕保存在b2 中,在解释运行时就不在计算 124+3b2 中直接

    存储的就是127(编译时将 .java 文件编译成 .class 文件)

      

      

      

    如果再作修改:

    报错,这是因为125+3 的结果 128 超过了 byte 类型最大值 127

    所以出现了编译错误,选择把b2 改成 int 类型即可

      

      

      

      

      

      

      

    2、浮点类型

      

    1)概述

      

      

      

      

    2)浮点类型的科学计数法

      

      

      

    3)float类型

      

      

      

    4)double类型

      

      

      

    5)浮点运算特点

      

      

      

    测试:

      

      

      

    运行一览:

    最后的 1 就是运算的误差,表明2.6 是以约数的形式保存在内存中,

    有一定的误差

      

      

      

    所以在做数值运算中尽量用整型进行运算,不仅精确度高,运算速度也远远快于浮点运算

      

    注意:浮点运算中比较两个浮点值是否相等,不要用等于比较,而要用范围值比较

      

      

      

      

      

    3、字符类型

      

    1)概述

      

      

      

    2)Unicode编码

      

      

    如:

      

      

    代码:

    package com.siwuxie095.test;

      

    public class Test06 {

      

    /**

    * 显示 0~127 的字符

    */

    public staticvoid main(String[] args) {

    //(char)i 把数字 i 转换成 i 所对应的字符

    for (int i = 0; i <= 127; i++) {

    System.out.println((char)i+":"+i);

    }

    }

      

    }

      

      

    Eclipse中:

      

      

      

    运行一览:有些字符是不可见的

      

      

      

      

      

    【made by siwuxie095】

    转载请注明原文地址: https://ju.6miu.com/read-25058.html

    最新回复(0)