zoukankan      html  css  js  c++  java
  • Java(5):数据类型

    1 数据类型

    1.1 强类型语言

    ​ 要求变量的使用合乎规定,所有的变量都必须先定义才能使用。Java是强类型语言。

    1.2 Java数据类型

    ​ 分为两大类:

    • 基本类型(primitive type)

      1. 数值类型

        • 整数类型

          1.)byte:占一个字节,范围:-128~127

          2.)short:占两个字节,2的15次,范围:-32768~32767

          3.)int:占四个字节,2的31次,范围:-2147483648~2147483647

          4)long:占八个字节,2的63次,范围:-9223372036854775808~9223372036854775807

        • 浮点类型

          1.)float:占四个字节,单精度,尾数可以精确到7位有效数字,范围:-3.403E38~3.403E38

          2.)double:占八个字节,双精度,精度是float的两倍,范围:-1.798E308~1.798E308

        • 字符类型

          1.)char:占两个字节,用'',声明一个字符,或者转义字符

      2. boolean类型:占1位,其值只有true和false

    • 引用类型(reference type)

      1. 接口
      2. 数组
    // 整数
    int num1 = 10; //最常用
    byte num2 = 20;
    short num3 = 30;
    long num4 = 30L; // long类型需要在数字的后面加一个L或l,以做声明。如果不做声明,会以int类型取存数据,在把数据自动装换为long。
    
    long l1 = 2147483649; //不加L,编译会报错
    long l2 = 2147483649L; // 正常编译
    
    // 浮点数(小数)
    float num5 = 50.1F; // float类型需要在数字的后面加一个F,因为java的浮点型常量默认是double,所以声明float时要加F或f
    
    falot f1 = 32.2; //报错,因为不加f,会被认为时double,而double转float需要强制转换,所以报错。
    
    double num6 = 3.12321312321321321321321321321312312;
    
    // 字符,只能是一个字符
    char name = 'A'; // 不能是AA 字符用''
    char myByte = '
    '; // 转义字符也用''
    // 字符串,String不是关键字,是类,字符串用""
    String namea = "ssm";
    

    Q:为什么float和int都是4个字节,但是float表示的范围更大,而且还可以表示小数点?
    https://zhuanlan.zhihu.com/p/84453627

    位和字节

    Q:什么是位?

    位(bit):是计算机 内部数据 存储的最小单位,11001100是一个八位二进制数。

    Q:什么是字节?

    字节(byte):是计算机 数据处理 的基本单位,习惯上用大写的B来表示。

    1024B = 1KB

    1024KB = 1M

    1024M = 1G

    1024G = 1TB

    Q:位和字节的联 系

    1B(byte,字节)= 8bit(位)

    Q:什么是字符?

    是指计算机中使用的字母、数字、字、和符号。

    整数拓展

    // 二进制0b 十进制 八进制0 十六进制0x
    int i = 10;
    int i2 = 010; // 八进制
    int i3 = 0x10; // 十六进制0x
    

    浮点数

    最好完全避免使用浮点数进行比较,银行业务避免使用浮点数,可以使用BigDecimal(数学工具类)

    // float  存在误差
    // 最好完全避免使用浮点数进行比较
    
    float f1 = 0.1F;
    double d1 = 0.1/10;
    System.out.println(f1 == d1); // false
    
    float f2 = 2132132132132232F;
    float f3 = f2 + 1;
    System.out.println(f2 == f3); // true
    

    字符

    // 强制转换 (int)
    char c1 = 'a';
    char c2 = '沈';
    System.out.println((int)c1);
    System.out.println((int)c2);
    
    // 转义字符
    // 	 
    ....
    
  • 相关阅读:
    论文阅读笔记(四)【TIP2017】:Video-Based Pedestrian Re-Identification by Adaptive Spatio-Temporal Appearance Model
    论文阅读目录
    【学习】从.txt文件读取生成编译代码。
    页面显示其他电脑图片(局域网)
    控制台爬取小说(大王饶命)
    【自学】大话设计模式控制台
    将PDF转化为wrod
    【学习】爬糗事百科,可自动翻页。
    AHP(使用于某项目设备重要度评估测试)
    【学习】类重构、通用值交换、释放内存计算时间等
  • 原文地址:https://www.cnblogs.com/zhangtu/p/14450039.html
Copyright © 2011-2022 走看看