Java基础篇--基本数据类型总结、类型转换、常量的声明规范、final关键字的用法

Java基本数据类型总结、类型转换、常量的声明规范,final关键字的用法

java基本数据类型总结

根据数据描述信息的含义,将数据分为不同的种类,对数据种类的区分规定,称为数据类型(Data Type)。一种高级程序设计语言,它的每个常量,变量或表达式都有一个确定的数据类型。数据类型明显或隐含地规定了程序执行期间变量或表达式所有可能取值的范围,以及在这些值上允许的操作。因此,数据类型是一个值的集合和定义在这个值集上的一组操作的总称。

Java语言是一种强类型语言,即java语言中的每一个变量都必须被声明为某一种数据类型。Java语言数据类型分为基本数据类型和复合(引用)数据类型两大类,不支持c/c++语言中的指针类型、结构体类型和共用体类型。

Java基础篇--基本数据类型总结、类型转换、常量的声明规范、final关键字的用法
这里先介绍基本数据类型

整型

1、整型整型(int)是最常用的一种数据类型,它在计算机内存中占4个字节,其取值范围为-231 ~231-1。使用关键字int来声明变量。

如int x,y = 100;

2、长整形由于int取值范围有限,在需要表示极大数的时候,就需要使用长整形(long)。长整形在计算机内存中占8个字节,其取值范围为-263 ~ 263-1。使用关键字long来声明变量
如 long a,b=9999999999L; //必须以L结尾
3、短整型短整型(short)在计算机内存中占2个字节,其取值范围为-215~215-1。使用关键字short来声明变量。

如short p,q=-20000;

4、字节型字节型(byte)是java语言中最小的数据类型,它在计算机内存中占1个字节,其取值范围为-27~27-1。使用关键字byte来声明变量。

如:byte r=125;

浮点型

1、单精度类型单精度类型(float)在计算机内存中占4个字节,其负数取值范围为-1038 ~ -10-38, 正数取值范围为10-38~1038。使用关键字float来声明变量。

如float i=123.456F;//结尾必须为F/f

2、双精度类型双精度类型(double)比单精度类型float具有更高的精度和更大的表示范围,在计算机内存中占8个字节,其负数取值范围为-10308 ~ -10-308,正数取值范围为10-308~10308。使用关键字float来声明变量

如 double i = 12E100

Java没有无符号型数,整型和浮点型数据所占的内存字节数是明确规定不变的,这样保证了java语言的安全性、健壮性和平台无关性。

字符型

Java语言使用16位Unicode编码来表示字符,共有65 535种字符。Java语言的字符型常量是用单引号括起来的单个字符,如’a’、’5’等等。
Java的字符数据在计算机内存中占2个字节,字符型数据无符号,其取值范围是0~216.使用关键字char来声明字符型变量。

char name,sex=’男’;

在java中负责字符操作的还有字符串。字符串常量使用双引号括起来的一串字符,其中可以包括转义字符。Java语言将字符串看作一个对象,常用的字符串类有String类和StringBuffer类。

布尔型

布尔型常量只有true和false两个,用true表示真,用false表示假,他们不对应于任何整数值,只能是关系运算和逻辑运算的结果值,常用于控制程序流程判断。布尔型数据在计算机内存中只占一个字节,使用关键字boolean来声明布尔型变量,
如boolean x, y=true;

基本数据类型值间的转换

在编写程序的过程中,有时会需要将一种数据类型的值赋给另一种不同的数据类型的变量,或者在表达式中出现不同数据类型数据参与运算,这就涉及不同数据类型间的转换。java语言的基本数据类型转换主要有两种方式:自动类型转换和强制类型转换。
1、自动类型转换
自动类型转换也称为隐式类型转换。当两种数据类型彼此兼顾,且目标类型的取值范围大于源类型时,编译器会实现自动类型转换。
Java语言除了布尔型以外,整形、实型、字符型是彼此兼容得数据类型,他们可以混合运算。在运算时,不同的类型会遵循精度低的转换成精度高的这一原则,转换成同一数据类型,最后才进行运算。
整形、实型、字符型精度由低到高次序如下:Byte , short , char->int->long->float->double
自动类型转换实例:

byte a=127; 
int b=a;               //将变量a转换成int型后赋值给b
long  c=b;               //将变量b转换成long型后赋值给变量c
float d=c;                 //将变量c转换成float型后赋值给变量d
double e=d;               //将变量d转换成double型后赋值给e 

2、强制类型转换
强制类型转换也称为显示类型转换。如果需要将精度高的数据赋值给精度低的变量,或者将精度高的数据准换成精度低的数据,则必须使用强制类型转换。
格式:

(目标类型)(表达式)

例:int a=1.2;//出错Int b=(int)1.2; //价格浮点类型数据强制转换成int型,再赋值给int型变量b

常量

在程序运行过程中,不可被改变的量叫常量。已经知道一个确定的值,并且在程序运行过程中这个值不会主动或被动地发生改变,就可以把它设置为常量。比如圆周率、自然数等等。常量具有不同的数据类型,在定义常量时,也同时定义了它的数据类型。
好处: 可以不必重复输入同一个值,减少开发实践。如果必须修改常量值,则只需要在常量定义处修改常量值即可。
常量命名:命名规则和变量相同,但一般约定用于大写字母和下画线给常量命名。
与变量不同的是,常量在声明地同时必须完成初始化, 初始化赋值完成后,程序中不能再对它进行赋值,否则程序将无法运行。
定义: 通过关键字final来修饰某个变量如:

final double PI=3.14;        //PI是一个双精度浮点型的常量
final int NUM=1000;            //NUM是一个整型的常量

Final关键字用法

final是Java中的一个保留关键字,它可以标记在成员变量、方法、类以及本地变量上。一旦我们将某个对象声明为了final的,那么我们将不能再改变这个对象的引用了。如果我们尝试将被修饰为final的对象重新赋值,编译器就会报错。

1、定义常量。只能初始化一次。
2、修饰类当用final去修饰一个类的时候,表示这个类不能被继承。
Java基础篇--基本数据类型总结、类型转换、常量的声明规范、final关键字的用法

public final class Parent{
}

 class Child extends Parent{

}

提示报错
3、修饰方法
被final修饰的方法不能被重写。

public class Parent{	
	public final void method() {		
      	}
}
 class Child extends Parent{
 	public final void method() {
 	}
 }

Java基础篇--基本数据类型总结、类型转换、常量的声明规范、final关键字的用法
提示不能继承父类方法。

关键字final的好处小结
final关键字提高了性能。JVM和Java应用都会缓存final变量。
final变量可以安全的在多线程环境下进行共享,而不需要额外的同步开销。
使用final关键字,JVM会对方法、变量及类进行优化。
对于不可变类,它的对象是只读的,可以在多线程环境下安全的共享,不用额外的同步开销。

                                                                 
参考书籍 主编
JavaSE快速入门 优就业
Java语言程序设计 刘卫国