java是一种强类型语言,每个变量都必须声明其数据类型。java的数据类型可分为两大类:基本数据类型和引用数据类型。
一、整型
整型用于表示没有小数部分的数值,它允许是负数的。
整型数据类型
类型 | 占用存储空间 | 表数范围(十进制) |
byte | 1字节 | -2^7~2^7-1(-128~127) |
short | 2字节 | -2^15~2^15-1(-32768~32767) |
int | 4字节 | -2^31~2^31-1(-2147483648~2147483648) |
long | 8字节 | -2^63~2^63-1 |
java语言整型常量四种表示形式;
十进制:12,15等;
八进制:要求0开头,如 015 等;
十六进制:要求0x或0X开头,如0x15等;
二进制数:要求0b或0B开头,如0b01110110等;
实例:
public class Test{ int a=20; long b=150L; /*java语言的整型常数默认为int型,声明long类型常量后加"L"或“l”, 否则当数值超出int类型范围时会报错*/ }
二、浮点型
带小数的数据称为浮点型。分为float类型和double类型
浮点型数据类型
类型 | 占用存储空间 | 表数范围 |
float | 4字节 | -3.403E38~3.403E38 |
double | 8字节 | -1.798E308~1.798E308 |
folat数据被称为单精度类型,尾数可以精确到7位有效数字,double类型被称为双精度类型,其数值精确度约是folat类型的两倍,绝大多数应用程序采用double类型。
实例:
public class Test{ folat a=3.24F; /*java中浮点型数值默认为double类型, 若使用folat类型需后缀“F”或“f”*/ double b=3.456D; //double类型可明确类型或不加 }
浮点型数据不适合在不容许有误差的金融计算领域,如果需要精确数字计算,需要使用BigDecimal类。
数据类型的转换:
强制类型转化:
强转是在有可能丢失信息的情况下进行转化,有可能造成精度降低或溢出。
三、字符型
字符型在内存中占 2个字节,在 Java中使用单引号来表示字符常量。例如’A’是一 个字符,”A”表示含有一个字符的字符串。
实例:
public class Test{ char c='A';}
char 类型用来表示在Unicode编码表中的字符。Unicode 编码被设计用来处理各种 语言的文字,它占 2个字节,可允许有 65536 个字符。
实例:
public class Test{ char a='\u0060';}
Unicode 具有从 0 到 65535 之间的编码,他们通常用从’\u0000’到’\uFFFF’之 间的十六进制值来表示(前缀为 u表示 Unicode)
Java 语言中还允许使用转义字符 ‘\’ 来将其后的字符转变为其它的含义。常用的转 义字符及其含义和 Unicode 值如下:
转义符 | 含义 | Unicode 编码 |
\b | 退格(backspace) | \u0008 |
\n | 换行 | \u000a |
\r | 回车 | \u000d |
\t | 制表符(tab) | \u0009 |
\" | 双引号 | \u0022 |
\' | 单引号 | \u0027 |
\\ | 反斜杠 | \u005c |
四:boolean型
boolean类型有两个常量值,true和false,在内存中占一位。用来判断逻辑条件,一般用于程序流程控制。
实例:
public class Test{ boolean flag; flag=false; if(fiag){ }else{ }}