基本数据类型(八种):byte,short,int,long,float,double,blooean,char。
数值型:整数型(byte,short,int,long)
byte:占一个字节,取值范围在-128~127之间。
short:两个字节,的取值范围-215~215-1(-32768~32767)。
int:四字节,取值范围在-231~231-1 (-2147483648~2147483647) 约21亿。
long:八个字节,的取值范围-263~263-1。
浮点型:(float,double)
float:占四个字节,取值范围在-3.403E38~3.403E38。
double:占八个字节,取值范围在-1.798E308~1.798E308。
布尔型:(blooean:ture,false)
blooean:占字节数不明确 类型有两个值:true和false。true代表真,false代表假。来判断逻辑条件,常用于程序流程控制。
字符型:(char )
char:字符型在内存中占有2个字节,在Java中使用单引号包裹起来的一个字符称之为字符常量。
补充:char类型表示的是Unicode编码表中的字符,所以可以表示一个中文字符。
转义字符:
转义符 含义 Unicode值
\b 退格(backspace) \u0008
\n 换行 \u000a
\t 制表符(tab) \u0009
\” 双引号 \u0022
\’ 单引号 \u0027
\ 反斜杠 \u005c
引用数据类型:数组,类,接口
基本数据类型的转换
基本数据类型的转换之自动(隐式)转换
自动类型转换(隐式类型转换)指的是容量小的数据类型可以自动转换为容量大的数据类型。由低字节向高字节的转换 byte->short-> char –>int->long->float->double。
public class AutomaticType{
public static void mian(String[] args){
//当int类型的常量转换为byte,short,char类型时合法,不能超出其表数范围。
final int a=100;
byte b=a;//合法
char a=97;
shor b=a;
byte d=128;//超出了表数范围,不合法。
}
}
算数运算中的类型自动转换原则:
如果两个操作数其中有一个是double类型,另一个操作就会转换为double类型。
否则,如果其中一个操作数是float类型,另一个将会转换为float类型。
否则,如果其中一个操作数是long类型,另一个会转换为long类型。
否则,两个操作数都转换为int类型。
基本数据类型转换之强制转换
强制类型转换(显示类型转换),主要用于显式的转换一个数值的类型。在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。
public class losejd{
public static void main(String[] args){
int a=400;
byte b=(byte)a;
System.out.println(b);
//输出b的值为-112,对比一字节。
//对比丢失了精度
// 1001-0000 int类型a的二进制
//1-1001-0000 byte类型b的二进制
}
}
强制转换语法:目标类型 变量 =(目标类型)需要转换的变量和常量