美文网首页
Java八种基本类型(byte、short、int、long、浮

Java八种基本类型(byte、short、int、long、浮

作者: c175e82509ab | 来源:发表于2017-09-24 18:18 被阅读0次

    (1)常用基本类型汇总

    八种基本类型汇总

    八种基本类型的字节空间和应用场景

    (2)byte类型

    基本介绍:

    byte数据类型是8位、有符号的,以二进制补码表示的整数;

    最小值是-128(-2^7);

    最大值是127(2^7-1);

    默认值是0;

    例如:byte bt = 120;

    (3)short类型

    基本介绍:

    short数据类型是16位、有符号的以二进制补码表示的整数

    最小值是-32768(-2^15);

    最大值是32767(2^15 - 1);

    默认值是0;

    例如: short st = 32700;

    (4)Int类型

    基本介绍:

    Int是最常用的整数类型。一个int类型的变量占用4个字节(32位),最大表示范围为:-2^31~2^31-1,即-2147483648~2147483647。

    默认值是0;

    整型变量的注意事项:

    整数的直接量的类型默认为int类型,如果直接写出的整数超过了int的表达范围,编译报错;

    int one = 80000000000000000000000;//超出范围,编译错误

    除了通常的十进制书写形式,整数的直接量也经常写16进制的相识(0X或0x开头)或者8进制形式(O开头);

    int two=529; //10进制

    int three=0x347a; //16进制

    int four=030; //8进制

    两个整数相除,会舍弃小数的部分(不是四舍五入),结果也是整数;

    int data1 = 49;

    int data2 = 79;

    int dataT = data1/data2;//dataT结果为0,因为49除以79的整数部分为0

    整数运算的溢出:两个整数进行运算时,其结果可能会超过整数的范围而溢出。正数过大而产生的溢出,结果为负值;负整数过大而产生的溢出,结果为正数

    int number=2147483647;

    int score=-2147483648;

    number= number+1;//结果为-2147483648

    score = score -1; //结果为2147483647

    (5)Long类型

    基本介绍:

    一般如果int类型的范围不够,可以使用long类型,一个long类型的变量占用8个字节(64位),最大表示范围为:-2^63~2^63-1,即-9223372036854775808~223372036854775807

    默认值是0L;

    注意:如果用long类型,则需要以L或l结尾

    long gg = 44;//错误

    long gg = 44L;//正确

    long类型变量的典型应用场景:

    超过int类型范围的数据,可以用long类型;

    比如:long yy = 3147483647L;

    (6)浮点数类型

    基本介绍:

    浮点数,就是小数,包括float和double;

    float默认值是0.0f;

    double默认值是0.0d;

    double类型的精度值是float类型的两倍,一般场合使用double类型。

    例如:double tt = 4.7;

    浮点数的写法:

    通常写法,如:3.68、.3

    科学计数法,如:2.17E2

    默认的浮点为double类型,如果需要表示float类型的直接量,需要加”f”或”F”后缀。例如:

    float ff=6.29; //编译错误,应该写成6.29f

    (7)char类型

    基本介绍:

    char类型事实上是一个16位无符号整数,这个值是对应字符的编码;

    Java字符串类型采用Unicode字符集编码。Unicode是世界通用的长度字符集,所有的字符串都是16位;

    Char类型变量赋值,可以采用如下三种形式:

    字符:形如’A’,变量中实际存储的是该字符的Unicode编码(无符号整数值),一个char型变量只能存储一个字符。

    整型数据:范围在0~65535之间的整数,变量中实际存储的即该整数值,但表示的是该整数值所对应的Unicode字符。

    Unicode形式:形如’\u0041’,Unicode字符的16进制形式。

    例如:char cr1= 705;

    char cr2=’N’;

    char cr3=’\u0031’;

    特殊的字符:转义字符

    (8)boolean类型

    基本介绍:

    boolean类型适用于逻辑运算,表示某个条件是否成立。一般用于程序的流程控制;

    boolean类型只允许取值true或false,true表示条件成立而false表示条件不成立。

    boolean默认值是false;

    例如:int a = 9;

    int b = 10;

    Boolean isBig = b>a;//输出为true

    (9)类型之间的转换

    基本介绍:

    不同的基本类型直接可以相互转换

    自动类型转换(隐式类型转换):从小类型到大类型可以自动完成。类型的大小关系如下:

    强制转换:从大类型到小类型需要强制转换符,但这样转换有可能会造成精度损失或溢出。

    int onef=654;

    int twof=957;

    long threef= onef + twof; //自动将int转换为long

    long numberf=9967L;

    int af=(int) numberf; //需要强制转换符,由于9967在int范围内,没有产生溢出

    long scoref=5147483647L;

    int bf=(int) scoref; //会产生溢出,结果为0

    double ttf=7.55684954444444444;

    float rrf=(float) ttf;//会造成精度的损失,结果为7.5568495

    几种特殊转换:

    多种基本类型参与的表达式运算中,运算结果会自动的向较大的类型进行转换;比如:

    int a = 4;

    int b = 10;

    double c = a/b;//结果为0.4,自动转换为double类型

    byte、char、short三种类型实际存储的数据都是整数,在实际使用中遵循如下规则:

    Int直接量可以直接赋值给byte、char和short,只要不超过其表示范围。

    byte、char、short三种类型参与运算时,先一律转换成int类型再进行运算。

    (10)代码实例

    package com.example.var;

    public class DataType {

    public static void main(String[] args) {

    byte bt = 120;

    System.out.println(bt);

    short st = 32700;

    System.out.println(st);

    int two=529; //10进制

    int three=0x347a; //16进制

    int four=030; //8进制

    System.out.println(two);

    System.out.println(three);

    System.out.println(four);

    int data1 = 49;

    int data2 = 79;

    int dataT = data1/data2;

    System.out.println(dataT);

    int number=2147483647;

    int score=-2147483648;

    number= number+1;//结果为-2147483648

    score = score -1; //结果为2147483647

    System.out.println(number);

    System.out.println(score);

    long gg= 44L;//正确

    long yy = 3147483647L;

    System.out.println(yy);

    double tt = 4.7;

    System.out.println(tt);

    char cr1= 705;

    char cr2='N';

    char cr3='\u0031';

    System.out.println(cr3);

    int a = 9;

    int b = 10;

    Boolean isBig = b>a;

    System.out.println(isBig);

    int onef=654;

    int twof=957;

    long threef= onef + twof; //自动将int转换为long

    long numberf=9967L;

    int af=(int) numberf; //需要强制转换符,由于9967在int范围内,没有产生溢出

    long scoref = 5147483647L;

    int bf=(int) scoref; //会产生溢出,结果为0

    System.out.println(scoref);

    double ttf=7.55684954444444444;

    float rrf=(float) ttf; //会造成精度的损失,结果为7.5568495

    System.out.println(rrf);

    }

    }


    相关文章

      网友评论

          本文标题:Java八种基本类型(byte、short、int、long、浮

          本文链接:https://www.haomeiwen.com/subject/jatlextx.html