数据类型
整数类型
浮点类型
字符
Java中的char类型是16位,其范围是0~65536,没有负数的char,ASCII码的范围是0~127。
// Demonstrate char data type. class CharDemo { public static void main(String args[]) { char ch1,ch2; ch1 = 88; // code for X ch2 = 'Y'; System.out.print("ch1 and ch2:"); System.out.println(ch1 + " " + ch2); } }
结果:注意变量ch1被赋值88,它是ASCII码用来代码字母X的值。
布尔类型
Java 有一种表示逻辑值的简单类型,称为布尔型。它的值只能是真或假这两个值中的一个。它是所有的诸如a<b 这样的关系运算的返回类型。布尔类型对管理像if 、for这样的控制语句的条件表达式也是必需的。
类型转换
// Demonstrate casts. class Conversion { public static void main(String args[]) { byte b; int i = 257; double d = 323.142; System.out.println("\nConversion of int to byte."); b = (byte) i; System.out.println("i and b " + i + " " + b); System.out.println("\nConversion of double to int."); i = (int) d; System.out.println("d and i " + d + " " + i); System.out.println("\nConversion of double to byte."); b = (byte) d; System.out.println("d and b " + d + " " + b); } }
当值257被强制转换为byte变量时,其结果是257除以256(256是byte类型的变化范围)的余数1。当把变量d转换为int型,它的小数部分被舍弃了。当把变量d转换为byte型,它的小数部分被舍弃了,而且它的值变成67,即256的模。
数组
数组实质上是相同类型变量的列表,要创建一个数组,必须首先定义数组变量所需的类型。一旦分配了一个数组,可以在方括号内指定它的下标来访问数组中特点的元素。
// Demonstrate a one-dimensional array. class Array { public static void main(String args[]) { int month_days[]; month_days = new int[12]; month_days[0] = 31; month_days[1] = 28; month_days[2] = 31; month_days[3] = 30; month_days[4] = 31; month_days[5] = 30; month_days[6] = 31; month_days[7] = 31; month_days[8] = 30; month_days[9] = 31; month_days[10] = 30; month_days[11] = 31; System.out.println("April has " + month_days[3] + " days."); } }
数组在声明时就可以进行初始化
// An improved version of the previous program. class AutoArray { public static void main(String args[]) { int month_days[] = {31,28,31,30,31,30,31,31,30,31,30,31 }; System.out.println("April has " + month_days[3] + " days."); } }
下面的例子运用一维数组来计算一组数字的平均数。
// Average an array of values. class Average { public static void main(String args[]) { double nums[] = {10.1, 11.2, 12.3, 13.4, 14.5}; double result = 0; int i; for(i=0; i<5; i++) result = result + nums[i]; System.out.println("Average is " + result / 5); } }
多维数组实际上是数组的数组
// Demonstrate a two-dimensional array. class TwoDArray { public static void main(String args[]) { int twoD[][]= new int[4][5]; int i, j, k = 0; for(i=0; i<4; i++) for(j=0; j<5; j++) { twoD[i][j] = k; k++; } for(i=0; i<4; i++) { for(j=0; j<5; j++) System.out.print(twoD[i][j] + " "); System.out.println(); } } }