Java基本数据类型

基本数据类型
Java拥有两种主要的数据类型:类类型和基本类型。正如其名称所蕴含的那样,类类型是一种用于类的对象的数据类型。由于类就像对象的蓝图一样,所以类指定了这种类型的值如何被存储以及定义在这些值上的可能操作。类类型拥有与这个类相同的名称。例如,放在引号中的字符串(“Java is fun”)是类类型String的值。
下表列出了Java的所有基本类型。其中四种类型为四种整数,即byte、short、int、long。各种整数之间的唯一差别就是他们表示的整数范围以及所用计算机存储空间的大小。如果不能决定应该使用哪一个整数类型,那么就使用int类型。
注:一个字节等于8位,一个字节等于256个数,-128到127
一个英文字母或一个阿拉伯数字就是一个字符,占用一个字节
一个汉字两个字符,占用两个字节。

Java基本数据类型
拥有小数部分的数值(比如9.99、3.1415、-5.63和5.0)称为浮点数。注意:5.0是个浮点数,而不是整数。如果一个数值拥有小数部分,即使小数部分为0,他也是一个浮点数。如上表所示,Java在浮点数方面有两个数据类型:float和double。。例如,下面的代码声明了两个变量,一个变量为float类型,一个变量为double类型:
float a;
double b;
像整数类型的情况一样,float和double之间的差别在于他们的值的范围以及对存储的需要量。如果在类型float和double之间不能确定使用哪一个时,那么使用double。
基本类型char用于存储单个字符,比如字母、数字、或标点符号。例如,下面的语句将符号symbol声明为char类型的变量,在symbol中存储了大写字母A,然后在屏幕上显示A:
char symbol;
symbol = ‘A‘;
system . out . println(symbol);
在Java程序中,我们使用单引号把单个字符括起来,比如像‘A‘这样。注意单引号就是一个符号。相同的单引号符号放在字符的两边。大写字母和小写字母是不同的字符。
基本数据类型自动转换
byte->short , char->int->long
float->double
int ->float
long->double
小可转大,大转小会失去精度。
基本数据类型强制转换
类型强制转换是把值的数据类型从其正常类型转换为某个其他类型。例如,将值2.0的类型从double转换为int将是一种强制类型转换。如果要把一种类型的值赋给另一种类型的变量时,自动完成类型转换。在所有其他情况下,如果要把一种类型的值赋给另一种类型的变量,那么就必须执行强制类型转换。
假定如下语句:
//这条赋值语句是非法的
double distance = 9.0;
int points = distance;
后一条语句是Java中的非法语句。不能把double类型的值赋给int类型的变量,即使double类型的值小数点后全为零时(此时从概念上讲,他是一个整数)也是如此。
要把double类型的值赋给int类型的变量,必须在值或保存值的变量的前面加(int)。例如:
int points = (int)distance;
表达式(int)distance称为强制类型转换。distance以及保存在distance中的值都不会有任何变化。但保存在points中的值是存储在distance中的“int版本“。
注意:当你从double到int做强制转换(或者从任何浮点类型强制转换为任何整数类型)时,转换值不做四舍五入。小数点后面的部分被简单的丢弃。