Java基础 - (数据类型)

175 阅读3分钟

Java基本数据类型

  1. Java数据类型分为两大类:基本数据类型引用类型
  2. 基本数据类型有8种数值型:byte[1],short[2],int[4],long[8],float[4],double[8],char[2],boolean[1]
  3. 引用类型:[类,接口,数组]

整型的使用细节

  1. Java各整数类型有固定的范围和字段长度,不受具体OS【操作系统】的影响,以保证Java程序的可移植性
  2. Java的整形常量(具体值)默认为int型,声明long型常量必须加l或者L
  3. Java程序中变量声明为int型,除非不足以表示大数,才使用long
  4. bit:计算机中最小存储单位
  5. byte:计算机中基本存储单元(1byte=8bit)

浮点类型

类型占用存储空间范围
单精度float4字节-3.403E38 ~ 3.40E38
双精度double8字节-1.789E308 ~ 1.789E308
  1. 关于浮点数在机器中中存放形式的简单说明:浮点数 = 符号位 + 指数位 + 尾数位
  2. 尾数部分可能丢失,造成精度损失(小数都是近数值)

浮点型使用细节

  1. 与整数类型类似,Java浮点类型也有固定的范围和字段长度,不受具体OS的影响。【float 4个字节 double 8个字节】
  2. Java 浮点型常量(具体值)默认为double型,声明float型常量,须加f或者F
  3. 浮点型常有两种表示形式:
  • 十进制形式:5.12 512.0f .512
  • 科学计数法形式:5.12e2 [5.12*10的2次方]、5.12E-2[5.12/10的2次方]
  1. 通常情况下,应该使用double型,因为它比float型更加精确
  2. 当我们对运算结果是小数的进行判断时,要以两个数的差值的绝对值,在某个精度范围判断
double num1 = 2.7;
double num2 = 8.1/3
if(num1 - num2 < 0.000001 ){
    System.out.println("我爱学习")
}

字符型(char)

字符型可以表示单个字符,字符类型是char,char是两个字节(可以存放汉字),多个字符用字符串String

char c1 = 'a';
char c2 = '\t';
char c3 = '陈';
char c4 = 97;

字符类型使用细节

  1. 字符常量是用单引号('')括起来的单个字符。例如:char c1 = 'a'
  2. Java中还允许使用转义字符'\'来将其后面的字符转变为特殊字符常量。例如:char c2 = '\n'
  3. Javachar的本质是一个整数,在输出时,是Unicode码对应的字符
  4. 可以直接给char赋值一个整数,然后输出时,会按对应的Unicode字符输出。如:97 --> a
  5. char类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode

字符类型本质

  1. 字符型存储到计算机中,需要将字符对应的码值(整数)找出来,比如'a':
  • 存储: 'a' ==> 码值 97 ==> 二进制(110 0001) ==> 存储
  • 读取: 二进制(110 0001) ==> 97 ==> 'a' ==> 显示
  1. 字符和码值的对应关系是通过字符编码表决定的:
  • ASSCII:ASSCII编码表,一个字节,128个字符,实际上一个字节可以表示256个字符,当出设计只用了128个
  • Unicode:固定大小的编码,使用两个字节来表示字符,字母和汉字统一都是占用两个字符
  • utf-8:大小可变的编码,字母使用一个字节,汉字使用3个字节
  • gbk:可以表示汉字,而且范围更广,字母使用一个字节,汉字2个字节
  • gbk2312:可以表示汉字,gbk2312 < gbk
  • big5:繁体中文,台湾,香港

boolean(布尔类型)

  1. 布尔类型也叫boolean 类型,boolean 类型只允许去truefalse,无 null
  2. boolean 类型只占一个字节
  3. boolean 类型适用于逻辑运算,一般用于流程控制
  4. Java中不可以用 0 或者非 0 代替 falsetrue(别的语言可以如JavaScript)