栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

Java中的数据类型

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中的数据类型

分类

占字节数
类型占字节数
byte1
short2
int4
long8
float4
double8
char2
boolean1
class4
interface4
数组4
整数类型 byte
  1. 占用存储空间:1 字节
  2. 表数范围:-128 ~ 127
short
  1. 占用存储空间:2 字节
  2. 表数范围:-32768 ~ 32767
int
  1. 占用存储空间:4 字节
  2. 表数范围:-2147483648 ~ 2147483647
long
  1. 占用存储空间:8 字节
  2. 表数范围:-263 ~ 263-1
表现形式
  1. 十进制:默认

  2. 八进制:以 0 开头,例:051

  3. 十六进制:以 0x 开头,例:0x2A

  4. 二进制:以 0b 开头,例 0b0100

  5. 代码

    public class Index {
        public static void main(String[] args) {
            int a = 10;
            int b = 051;
            int c = 0x2A;
            int d = 0b0100;
            System.out.println("十进制数:" + a);
            System.out.println("八进制数转十进制数:" + b);
            System.out.println("十六进制数转十进制数:" + c);
            System.out.println("二进制数转十进制数:" + d);
        }
    }
    
  6. 运行结果

注意
  1. 在声明长整型 long 数据时,默认类型为 int,若数据过大编辑器可能报语法错误,如下图:

  2. 为解决这样的问题,建议声明长整形数时,在末尾加一个L,来表示长整型数。

浮点类型 float
  1. 占用存储空间:4 字节
  2. 表数范围:-3.403E38 ~ 3.403E38
double
  1. 占用存储空间:8 字节
  2. 表数范围:-1.798E308 ~ 1.798E308
表现形式
  1. 十进制:3.14、0.314

  2. 科学计数法:3.14E2、0.314E-2

  3. 代码

    public class Index {
        public static void main(String[] args) {
            double a = 3.14;
            double b = 0.314E2;
            double c = 3.14E-2;
            System.out.println(a);
            System.out.println(b);
            System.out.println(c);
        }
    }
    
  4. 运行结果

数据不精确
  1. 浮点数不精确,尽量不要用于比较。具体看下面的例子

  2. 例 1

    public class Index {
        public static void main(String[] args) {
            float a = 0.1F;
            double b = 1.0 / 10;
            System.out.println(b);
            System.out.println(a == b);
        }
    }
    

  3. 例 2

    public class Index {
        public static void main(String[] args) {
            float a = 112312123F;
            float b = a + 1;
            System.out.println(a == b);
        }
    }
    

引入计算包
  1. 可以引用 java.math 包里的两个类:BigInteger 和 BigDecimal,这两个类可以处理任何长度的数值。

  2. BigInteger:实现任意精度的整数运算。

  3. BigDecimal:实现任意精度的浮点运算。

  4. 代码实现

    import java.math.*;
    
    public class Index {
        public static void main(String[] args) {
            double a = 1.0 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1;
    
            BigDecimal bd = BigDecimal.valueOf(1.0);
            bd = bd.subtract(BigDecimal.valueOf(0.1));
            bd = bd.subtract(BigDecimal.valueOf(0.1));
            bd = bd.subtract(BigDecimal.valueOf(0.1));
            bd = bd.subtract(BigDecimal.valueOf(0.1));
            bd = bd.subtract(BigDecimal.valueOf(0.1));
    
            System.out.println(a);
            System.out.println(bd);
        }
    }
    

  5. 代码的 7 ~ 12 行是借助 BigDecimal 类对一个数值进行减法,每次减 0.1。

字符型 char
  1. 占用存储空间:2 字节
  2. char 类型用来表示在 Unicode 编码表中的字符。
定义字符
char a = 'a';
char b = '中';
十六进制字符
  1. 在 Unicode 编码表中可以使用十六进制表示一个字符,例:

  2. 代码

    public class Index {
        public static void main(String[] args) {
            char varName = 'u0070';
            System.out.println(varName);
        }
    }
    

  3. 十六进制 0070 表示字母 p。u 表示转义字符。

转义字符
  1. 转义字符表

    转义符含义Unicode值
    b退格u0008
    n换行u000a
    r回车u000b
    t制表符u0009
    "双引号u0022
    ’单引号u0027
    反斜线u005c
  2. 代码实现

    public class Index {
        public static void main(String[] args) {
            char a = 'u0061';
            char b = 'u0062';
            System.out.println("第一次输出n" + a + 'b' + b);
            System.out.println("第二次输出n" + a + 'n' + b);
            System.out.println("第三次输出n" + a + 'r' + b);
            System.out.println("第四次输出n" + a + 't' + b);
            System.out.println("第五次输出n" + a + '"' + b);
            System.out.println("第六次输出n" + a + ''' + b);
            System.out.println("第七次输出n" + a + '\' + b);
        }
    }
    

布尔值 Boolean
  1. 占用存储空间:1 位(不是 1 个字节)
  2. 值:True-真,False-假
  3. Java 中布尔值与数字 1 0 无关
使用场景
  1. 一般用于条件判断,if 语句。

  2. 关系表达式、条件表达式及逻辑运算最终的运算结果是一个布尔值。

  3. 代码

    public class Index {
        public static void main(String[] args) {
            if(true) System.out.println(true);
            if(10 > 1) System.out.println(true);
            if(10 > 1 && 1 > 0) System.out.println(true);
        }
    }
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/990948.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号