Java自学之路--Java类型、变量与运算符详解

来源:互联网 发布:windows update 编辑:程序博客网 时间:2024/06/05 22:35

<一>数据类型:

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);        }}
0 0