Java 数据类型

不同的数据类型可以保存不同的数据内容。

Java 一共分为两大数据类型:基本数据类型,引用数据类型

【基本数据类型】

数值型:

--整型:byte、short、int、long

--浮点型:float、double

字符型:char

布尔型:boolean

【引用数据类型】:数组、类、接口

基本数据类型不牵扯到内存分配,而引用数据类型需要由开发者为其分配空间,而后进行关系的匹配。

 

数据类型使用原则:

1. 整数 int 小数 double;

2. 日期时间,文件大小用 long;

3. 内容传递,编码转换用 byte;

4. 逻辑控制用 boolean;

5. 中文用 char;

 

字节长度:

8位:byte

16位:short、char

32位:int、float

64位:long、double

保存范围: byte < short < int < long < double

Java 中所有设置的整数默认都是 int 型

数据转换:

数学计算的时候,小范围的数据类型会自动转换为大范围的类型后计算,计算结果为大范围的数据类型。

要想将范围大的数据类型转换为小范围的数据类型,需要进行强制转换。

范例:

long num = 1000; // 常量1000 是 int 型,赋值给 long 型,会自动转换为 long 型

long y = 1000L;

int x = (int) num; // 将 long 变为 int 后赋值给 x

 

byte 类型:

虽然任何一个整数都是 int 型,但是在 Java 编译的时候,如果发现使用的数据变量类型为 byte, 且设置的内容在 byte 的数据范围之内,就会自动帮助用户实现数据类型的转换。

public class Hello {
    public static void main( String args[]){
        byte num = 100; //虽然100是 int 型,但是100 在byte的数据范围内,所以 num 会赋值为 byte型
        System.out.println(num);
    }
}

 

在定义变量的时候要记得直接给变量设置默认值。

 

浮点数:

Java 中的小数默认的数据类型都是 double (double 是保存范围最广的数据类型)

因为小数默认是 double 类型,所以定义 float 类型的数据时,要记得强制转换。

例:

float num = 10.2; // 10.2 是 double 类型,所以 num 会被赋值为 double 型

float num = 10.2F;

float num = (float)10.2;

 

注意:

两个 int 型数据相除的结果还是 int 型,要想得到小数的结果,可以将其中的一个数据转换为 double 类型

public class Hello {
    public static void main( String args[]){
        int x = 9;
        int y = 4;
        double result = (double)(x/y); 
        System.out.println(result);  // 结果为2.0
        System.out.println(x/y);  // 结果为2
        System.out.println(x/(double)y);  // 结果为2.25
    }
}

 

字符型: char

例: char c = 'A';

// 大小写字母的转换
public class Hello {
    public static void main( String args[]){
        char c = 'B';
        int num = c;
        num = num + 32;
        c = (char) num;
        System.out.println(c);
    }
}

char 型数据无法直接进行数据运算,所以需要转换为 int 型后进行加法运算。 然后将 int 型数据强制转换为 char 型输出。

 

布尔型:boolean

值: true 、false

 

String 类型:

String 为引用数据类型(属于一个类,在 Java 中,类名称的首字母都是大写),是一个特殊的类,用于描述字符串

String 要求用“”声明内容

String 类型可以用 加法实现字符串的连接

所有的数据类型如果与 String 类型相加,则会先转换为 String,再执行字符串的连接操作

// String类型实现字符串的连接操作,输出的结果为 Hello World!!!
public class Hello {
    public static void main( String args[]){
        String str = "Hello world!";
        str = str + "!!!";
        System.out.println(str);
    }
}

 

posted @ 2018-06-03 22:57  眉毛病  阅读(164)  评论(0编辑  收藏  举报