<
Java 基本数据类型
>
上一篇

Java 选择结构和循环结构
下一篇

第一个Java程序
整型、浮点型、字符型、布尔型
苏轻 2018年11月21日 15:06:29

基本数据类型

整型

类型 占用空间 表数范围
byte 1字节 -27 ~ 27-1(=127)
short 2字节 -215 ~ 215-1(=32767)
int 4字节 -231 ~ 231-1(=大约21亿)
long 8字节 -263 ~ 263-1
  long a = 12345678;
  long b = 1234567890123L;

浮点型

类型 占用空间 表数范围
float 4字节 -3.403E38~3.403E38
double 8字节 -1.798E308~1.798E308
  double a = 314e-2;
  float b = 3.14f;
  double c = 3.14;
import java.math.BigDecimal;
public class BigDecimalTest {
    public static void main(String[] args) {
        // 利用BigDecimal计算 1.0-0.1-0.1-0.1-0.1-0.1
        BigDecimal a = BigDecimal.valueOf(1.0);
        a = a.subtract(BigDecimal.valueOf(0.1));
        a = a.subtract(BigDecimal.valueOf(0.1));
        a = a.subtract(BigDecimal.valueOf(0.1));
        a = a.subtract(BigDecimal.valueOf(0.1));
        a = a.subtract(BigDecimal.valueOf(0.1));
        System.out.println(a);
        //得到0.5

        // 直接计算1.0-0.1-0.1-0.1-0.1-0.1
        System.out.println(1.0 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1);
        // 得到0.5000000000000001
    }
}

字符型(char)

  char a = 'A';       // 英文字母
  char b = '汉';      // 中文汉字
  char c = '\u0061';  // Unicode编码
  char d = '\n';      // 转义字符
  String s = "ABCDEFG";  // String类其实就是一个字符序列
转义符 表示的内容 Unicode编码值
\b 退格(backspace) \u0008
\n 换行 \u000a
\r 回车 \u000d
\t 制表符(tab) \u0009
\\ 反斜杠 \u005c
\” 双引号 \u0022
\’ 单引号 \u0027

布尔型(Boolean)

  boolean t = true;
  if (t) {
      // true
  } else {
      // false
  }

自动类型转换

        char
         
byte  short   int   long
                 
       float  double

// 值得注意的是,下面这些数据类型的自动转换发生的时候,是会有精度损失的!
  int/long  float
  long  double
  short a = 88; // 合法
  short b = 88888888; // 非法,超出表数范围了!

强制类型转换

  double pi = 3.1415926;
  int a = (int)pi; // 这里会直接舍弃小数部分

  int x = 120;
  System.out.println((char)x); // 这里输出的是字母 x 哦~

苏轻笔记!

不要拿boolean类型和任何类型做强制类型转换!会出事情!

Top
Foot