• 数据类型进阶


    ----------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 static void main(String[] args) {

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

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

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

    }

    }

       

    }

       

       

    Eclipse中:

       

       

       

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

       

       

       

       

       

    【made by siwuxie095】

  • 相关阅读:
    nodejs + typescirpt + vs code
    NodeJs使用nodejs-websocket + protobuf
    Windows10环境下使用VisualSVN server搭建SVN服务器
    微信小游戏下socket.io的使用
    JS中实现种子随机数
    帧同步和状态同步
    EgretPaper学习笔记一 (安装环境,新建项目)
    反编译微信小游戏
    微信小游戏 小程序跳转修改 不支持动态更新,只能在发布时修改
    HTML5实现本地JSON文件的读写
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/6533209.html
Copyright © 2020-2023  润新知