<一>数据类型:
java是一种强类型语言,这就意味着必须为每一个变量声明一种类型。在java中,一共有8种基本类型(primitive type),其中有4种整型、2种浮点型、1种用于表示Unicode编码的字符单元的字符类型char和1种用于表示真值的boolean类型
注意:Java有一种能够表示任意精度的算术包,通常称为“大数值”,虽然被称为大数值,但它并不是一种新的Java类型,而是一个Java对象
1>整型
整型用于表示没有小数部分的数值,它允许是负数。Java提供4种整型,如下列表
Java整型表
类型 | 存储需求 | 取值范围 |
---|---|---|
byte | 1字节(8位) | -128~127 |
short | 2字节(16位) | -32768 ~ 32767 |
int | 4字节(32位) | -2147483648 ~ 2147483647(正好超过20亿) |
long | 8字节(64位) | -9223372036854775808 ~ 9223372036854775807 |
2>浮点类型
Java浮点类型表
类型 | 存储需求 | 取值范围 |
---|---|---|
float | 4字节(32位) | 大约+-3.40282347E+38F(有效位数为:6 ~ 7位) |
double | 8字节(64位) | 大约+-1.79769313486231570E+308(有效位数为:15位) |
3>char类型
char用于表示单个字符,通常用来表示字符常量
4>常量
在Java中,利用关键字final指定常量,且必须使用final定义常量,例如:
注:关键字final表示这个变量只能赋值一次。一旦被赋值之后,就不能够更改了。习惯上,常量名使用全大写
public class Constants{
public static void main(String[] args){
final double CM_PER_INCH =2.54;
double paperWidth = 8.5;
douoble paperHeigth =11;
System.out.println("Paper size in centimeters:"
+paperWidth*CM_PER_INCH+"by"+paperHeigth *CM_PER_INCH);
}
}
在Java中,经常希望某个常量可以在一个类中的多个方法中使用,通常这样的常量被称为类常量。可以使用关键字static final设置一个类常量。如:
public class Constants2{
public static final double CM_PER_INCH =2.54;
public static void main(String[] args){
double paperWidth = 8.5;
douoble paperHeigth =11;
System.out.println("Paper size in centimeters:"
+paperWidth*CM_PER_INCH+"by"+paperHeigth *CM_PER_INCH);
}
}
注:类常量的定义位于main方法的外部,因此在同一个类的其他方法中也可以使用,而且,如果一个常量被声明为public ,那么其他类的方法也可以使用这个常量
public class Range {
public static void main(String[] args){
//byte short int long 范围
System.out.printf("%d ~ %d%n",Byte.MIN_VALUE,Byte.MAX_VALUE);
System.out.printf("%d ~ %d%n",Short.MIN_VALUE,Short.MAX_VALUE);
System.out.printf("%d ~ %d%n",Integer.MIN_VALUE,Integer.MAX_VALUE);
System.out.printf("d ~ d%n",Long.MIN_VALUE,Long.MAX_VALUE);
//float、double精度范围
System.out.printf("%d ~ %d%n",Double.MIN_EXPONENT,Double.MAX_EXPONENT);
System.out.printf("%d ~ %d%n",Float.MIN_EXPONENT,Float.MAX_EXPONENT);
//char 可表示范围的Unicode 范围
System.out.printf("%h ~ %h%n",Character.MIN_VALUE,Character.MAX_VALUE);
//boolean 的两个值
System.out.printf("%b ~ %b%n",Boolean.FALSE,Boolean.TRUE);
}
}