八种基本数据类型:4种整数类型

1:4种整数类型(byte、short、int、long)

2:2种浮点类型(float、double)

3:1种字符类型“char”

4:1种布尔类型“boolean”

一:整数类型

int:4个字节    范围为-2147483648~2147483647或者-2^31到+^31-1(大约正负21亿左右)用int给变量赋值时不能超越int的取值范围。(一般数据在输入和输出基本为int类型,稍加注意。)

int a=100000000000;//超出范围,会有红线报错。

int为整数类型,顾名思义赋值时不能为小数,当然在得出结果时也不能为小数,会无条件舍去小数部分并生成整数。注(无条件舍去小数部分并不是四舍五入)

int a = 5;
int b = 2;
int c = a/b;
System.out.println(c);//结果为2

还有在做运算时,运算结果超出int取值范围时,会发生溢出,溢出并不是错误。

何为溢出?溢出就像钟表,钟表最大值是12最小值是1,当最大值12加1得出最小值1,溢出就是这个道理。溢出也似循环,一个圈嘛首位相连。

long:长整型    八个字节   范围很大大约为正负900万万亿或者-2^63到+^63-1

长整型的直接在数字最后加L或者i,一般为L,因为l与1相似度高,容易误判。

long a = 100;
long a = 100L;//d都对,只要数据不超过int类型取值范围就行,超过了必须加L/i。

注:为啥扯上int类型,因为上面说到,数据写出来只要没有转换,一般都为int类型,所以请遵循int赋值规则。

在数据之间运算时候,没有加L/i时,运算过程中可能会超出int范围,建议在第一个数字后加L/l,对数据做一个转换,在运算就不会超出范围出现溢出,当然最够结果也不能超出long的取值范围。

byte:   字节型   1个字节   范围是-128~127;

short:短整型  2个字节  范围是-32768~32767

二:浮点类型

double:浮点型  8个字节  范围巨大,为单精度浮点型,小数部分默认为double类型

不能精确数字,运算时会发生舍入误差,精确场合不能使用。

double a = 2,b=1.9;
double c = a-b;
        System.out.println(c);//0.10000000000000009

float:4个字节  不能精确表现数值,上同。为单精度浮点型。

注:(含义:表明单精度和双精度精确的范围不一样。

单精度,也即float,一般在计算机中存储占用4字节,也32位,有效位数为7位;

双精度,也即double,一般在计算机中存储占用8字节,也64位,有效位数为16位。)

三:布尔类型

boolean:布尔型  1个字节  只能存true(对)/false(错);

boolean a = true;
        boolean b = false;
        System.out.println(a);//true
        System.out.println(b);//false

四:字符类型

char:字符型  两个字节  采用Unicode编码格式,一个字符对应一个码 表现的形式是字符char,但本质上是码int (0到65535) (ASCII码:'a'----97 'A'----65 '0'----48) 字符直接量必须放在单引号中,只能有1个 特殊符号需要通过\来转义

char a = '\'';
        char b = 'A';
        char c = '0';
        char d = 'a';
        System.out.println(b);//A
        System.out.println(c);//0
        System.out.println(d);//a
        System.out.println(c+d);//145(在运算时为int类型,数字形式。
                                     非运算时为char类型,字符型式。)

注:特殊的:byte、short、char三种数据类型参与运算时,先一律转化为int类型;