---------------------------数据类型、变量和数组
Java定义的8种基本数据类型:byte、short、int、long、char、float、double和boolean。
分为四组:
整型:byte、short、int和long (Java没有无符号类型)
浮点型:float和double
字符型; char (在正式的Java规范中,char倍当作整数类型。因为char类型 的主要用途是标识Unicode字符,所以通常考虑将 char放到单独的分类中)
布尔型:boolean
基本类型不是面向对象考虑的主要是性能。
在int类型变量 通常用于控制 循环和索引数组。不要认为此时使用byte和 short值,效率会更高。(嵌入式可能需要这样)当对表达式 求值时,它们会被提升为int类型。
在char类型中,它的宽度不再是8位,因为Java使用Unicode。它是一个 完全国际化的字符集。
此处注意的一个小问题 :
byte b = 50;
b = b * 2;
//Error! Cannot assign an int to a byte!
上边的代码试图将50*2,一个完全有效的byte值,保存在一个byte变量中。但是,当计算表达式的值时,操作数被自动提升为int类型。因此表达式的结果是int类型。如果不实用强制类型转换,就不能将结果赋值给那个byte变量。
应该为:
byte b = 50;
b = (byte)(b * 2);
关于数组:
如果你是从C语言过来,就要注意了。
type var-name[];
这里只是 声明了数组,但是这个数组并不存在。应该再给它分配内存,如下:
var-name = type int[4];
需要指出的是,需要类型和大小 。这时,这些元素也会自动初始化。如:int 初始化为0
多维数组,Java可以使用锯齿数组
如下:
int two[][] = new int[4][];
two[0] = new int[1];
two[1] = new int[2];
two[2] = new int[3];
two[3] = new int[4];