JAVA数据类型

来源:互联网 发布:极小化极大算法 编辑:程序博客网 时间:2024/05/18 12:43

JAVA数据类型

JAVA中数据类型有两种 基本数据类型和引用数据类型

1.基本数据类型

  • 基本数据类型有8种

    • byte
    • short
    • int
    • long
    • float
    • double
    • boolean
    • char
    • byte short int long为整数型
    • float double为浮点数型
    • boolean为布尔型
    • char为单个字符。
  • 基本数据类型的取值范围

数据类型 位数 取值范围 说明 byte 8 -128~127 数据存储在内存中的最原始形态 short 16 -32768~32767 int 32 -2e31~2e31-1 long 64 -2e63~2e63-1 float 32 Price double 64 Price boolean 1 true/false 用于存储真值/假值 char 16 ‘\u0000’~‘\uFFFF’ 用于存储单个字符,以Unicode编码方式

数据类型转换

程序中经常会遇到要将数据类型进行转换的情况(如:在一个表达式中存在不同类型的操作数时),Java的数据类型转换比C控制得更为严格。

数据类型转换有两种情况:
自动类型转换
强制类型转换

自动类型转换

    将一种类型的变量赋值给另一种类型的变量时,只要满足以下条件,就会发生自动类型转换    两种类型之间相互兼容    目标类型大于源类型(即类型提升)    例如:    byte a = 10;    short b = a;    int c = b;    float d = c;    double e = d;    类型转换自动发生,无需显式说明

强制类型转换

有类型提升的情况下,编译器将自动进行类型转换,否则就要进行强制类型转换。
  • 强制类型转换也称作显式类型转换;
  • 如果被转换的值的数据类型大于其目标类型,将会丢失部分信息;
    • 如:
      • long x = 50;
      • int h = x;
      • short n = 200;
      • byte p = n;
    • 这样的语句将报错,因为int类型精度低于long类型,byte类型低于shott类型,编译器无法将其自动转换,只能进行强制转换:
      • long x = 50;
      • int h = (int)x;
      • short n = 200;
      • byte p =(byte)n;
  • 类型提升应遵循如下规则:
    • 两种类型必须兼容,且目标类型大于源类型
    • byte、char和short类型都可以提升为int型。
      • 数值型表达式的转换
      • 有double 则结果为duoble
      • 有float 结果为float
      • 有 long 结果为long
      • 其他结果为int

引用数据类型

  • 引用数据类型的定义

    在Java中,除了上述基本数据类型的变量以外,其余的全都属于引用数据类型,包括API中的类,如String、File等数组,自定义的类,如Cars、Student对象全部是引用数据类型。
  • 引用类型使用的场景与基本数据类型完全一样

     作为属性的类型使用 作为方法的返回值类型使用 作为方法的形式参数类型使用
  • 引用数据类型的赋值

    • 引用类型都是对象,所以赋值都使用new调用构造方法进行赋值
    • 例外:String类可以直接使用=赋值,不使用new

基本数据类型与引用数据类型的区别

- 基本数据类型 引用数据类型 概念 变量(单纯的值) 对象(引用) 存储位置 在栈中存值 在栈中存引用,在堆中存具体对象的属性值 赋值方式 直接赋值 new ,String类和包装器类可以直接赋值
原创粉丝点击