【java的类型数据】——八大类型数据

文章目录

  • 前言
  • 字面常量
    • 字面常量的分类:
  • 数据类型和变量
  • 变量的包装类和范围
    • 范围
    • 整型变量
      • byte
      • int
      • short
      • long
    • 浮点型变量
      • 双精度浮点型double
      • 单精度浮点型float
    • 字符型变量
    • char
    • 布尔型变量 boolean
  • 类型转换
    • 自动类型转换(隐式)
    • 强制类型转换(显式)(不建议)
  • 运算中的类型提升
  • 总结


前言


字面常量

字面常量就是在程序运行期间,固定不变的量。

字面常量的分类:

1.字符串常量:括号括起来的,比如”12345”、“hello”、 “你好”
2.整形常量:程序中直接写的数字(注意没有小数点),比如: 100、1000
3.浮点数常量:程序中直接写的小数,比如: 3.14、 0.49
4.字符常量:由单引号括起来的当个字符,比如: ‘A’、‘1’
5.布尔常量:只有两种:true和false
6.空常量: nul

【java的类型数据】——八大类型数据_第1张图片
以上框起来的都是字面常量。

数据类型和变量

【java的类型数据】——八大类型数据_第2张图片

注意:
在java,不管是在32位系统还是在64位系统上,int都占4个字节,long都占8个字节

特点是:可移植性、跨平台

注意:
整型和浮点型都是带有符号的

【java的类型数据】——八大类型数据_第3张图片

变量的包装类和范围

范围

【java的类型数据】——八大类型数据_第4张图片

注意:
局部变量要初始化,否则报错
【java的类型数据】——八大类型数据_第5张图片

正确写法如下:
要明确写出b的值是多少
【java的类型数据】——八大类型数据_第6张图片


整型变量

byte

大小:一个字节
包装类:Byte

class Test{
    public static void main(String[] args) {
        byte b=77;
        System.out.println(b);
        System.out.println(Byte.MAX_VALUE);
        System.out.println(Byte.MIN_VALUE);

    }
}

【java的类型数据】——八大类型数据_第7张图片

int

大小:4个字节
包装类:Integer

class Test{
    public static void main(String[] args) {
        System.out.println(Integer.MAX_VALUE);
        System.out.println(Integer.MIN_VALUE);

    }
}

注意:给字面值常量赋值的时候,不要超过变量所能表示的范围,一旦超过会报错

【java的类型数据】——八大类型数据_第8张图片


short

大小:2个字节
包装类:Short

class Test{
    public static void main(String[] args) {
        short a=7;
        System.out.println(a);
        System.out.println(Short.MAX_VALUE);
        System.out.println(Short.MIN_VALUE);

    }

long

大小:8个字节
包装类:Long

长整型变量的初始值后要加L,最好不要写l,容易看成1

【java的类型数据】——八大类型数据_第9张图片
【java的类型数据】——八大类型数据_第10张图片

浮点型变量

双精度浮点型double

大小:8个字节
1.
int型除以int型的值不会是小数的(int会自动省略小数)
【java的类型数据】——八大类型数据_第11张图片

如果要得到小数,要用double型
【java的类型数据】——八大类型数据_第12张图片
或者这样:
【java的类型数据】——八大类型数据_第13张图片

小数没有一个非常精确的数字,小数点后面也许会有几个甚至几十个小数位
【java的类型数据】——八大类型数据_第14张图片

注意事项:

【java的类型数据】——八大类型数据_第15张图片

单精度浮点型float

大小:4个字节
和double不一样的地方:flaot的值后面要加f,表示它是单精度浮点型,是4个字节。
【java的类型数据】——八大类型数据_第16张图片

字符型变量

char

大小:2个字节

在java中,char是2个字节,汉字其实是2个字节,所以char能存放汉字。

class Test{
    public static void main(String[] args) {
        char a='A';
        char b='吴';
        System.out.println(a);
        System.out.println(b);
    }
}

总结:
java中使用单引号引起单个字母的形式表示字符字面值。
c语言使用ASCII码值表示字符,而java使用Unicode表示字符,因此字符大小是两个字节。java能表示的字符种类更多。

布尔型变量 boolean

大小:没有明确规定多大

注意事项:
在这里插入图片描述

class Test{
    public static void main(String[] args) {
        boolean flg =true;
        System.out.println(flg);
    }
}

【java的类型数据】——八大类型数据_第17张图片

boolean的包装类是Boolean

类型转换

自动类型转换(隐式)

当数据范围小的赋值给数据范围大的时,范围小的类型会自动转变成范围大的类型。
在这里插入图片描述
【java的类型数据】——八大类型数据_第18张图片

总结:

  1. 字节小的能赋值给字节大的,并且会自动转换成那个字节大的类型。
  2. 字节大的不能赋值给字节小的,大碗水倒进小碗水里会溢出,在这里也就是会导致数据丢失。(不安全!)

强制类型转换(显式)(不建议)

字节大的赋值给字节小的也是有办法的,
就是在把字节大的强制类型转换成字节小的。
但这个办法有点冒险
会导致数据丢失。

【java的类型数据】——八大类型数据_第19张图片
boolean型不能转换成别的类型。

注意事项:
【java的类型数据】——八大类型数据_第20张图片

运算中的类型提升

小类型和大类型相加,要用那个大类型接收相加的结果
int型和long型相加,int会提升为long型,所以要用long接收相加的结果

class Test{
    public static void main(String[] args) {
        int a =10;
        long b=100L;
        long c=a+b;
        System.out.println(c);
    }
}

小于4个字节的类型相加,在运算的过程中会提升为4个字节,所以要用int类型接收相加的结果

byte型和byte型相加

class Test{
    public static void main(String[] args) {
        byte f =10;
        byte f2=100;
        int f3=f+f2
        System.out.println(f3);
    }
}

总结

以上就是关于类型数据的内容,写了一遍印象更深刻了。

你可能感兴趣的:(java,java,开发语言,类型数据,学习)