但凡编程语言,都要处理数据,有数据,就有数据类型。数据类型就是说,一个数据的类型。比如,9,是个什么类型呢?在数学里,它是个自然数,没错,自然数确实能算做一种数据类型,还有实数,有理数,无理数,这些都算,但是这些是在数学里的概念,9的数据类型,在java里面,是整型。
Java的基本数据类型有:整型(int,short,long,byte),浮点型(float,double),字符型(char),字符串型(String)其实字符串类型不属于基础数据类型,但它确实是很基本的,布尔型(boolean)。下面分别介绍这几种数据类型:
整型(int,short,long,byte):整型数据,就是数学里面的整数,可正可负也可零。不同的是,数学里面的整数,其范围是负无穷到正无穷,可是在java里,是有范围的,int:-2147483648~2147483647,您最好别超过这个范围,超过了呢?报错呗,不让用呗。还有几个,也是整型的数据类型,short,long,byte,唯一不同的是,取值范围不同。一般来说,int就够了,不行的话,long(取值范围比int大),足够了,short和byte吗,像我等小民,一般不怎么用的。
浮点型(float,double):浮点型数据,就是数学里面的小数了,可正可负也可零点零。float叫做单精度浮点类型,其取值范围相对较小,精度不高,在精度要求不高,却需要节省空间的时候,通常使用单精度浮点类型。double又叫做双精度浮点类型,其取值范围很大,精度较高。一般来说,我们通常使用double来定义浮点型数据。事实上,使用单精度浮点类型直接定义数据会出现错误,因为java默认不允许丢失精度,需要略微特殊的方法,才能定义单精度浮点类型。
字符型(char):这是相对复杂的一个数据类型,我等小民,只要直观的认为是单个字符,就可以了,比如a, b, c, %, &, ~,。。。当这些看成单个字符的时候,都算是字符型,使用的时候要用单引号引上。事实上,即使是数字,如果我们看成字符,便也是字符型。
字符串(String): 其实,在我见过的大多数java书里面,String不作为基础数据类型介绍,而是专门拿出一章来专门介绍,其实字符串属于引用型而不是基础类型。但是由于在java里,String的定义和初始化,都让初学者觉得它跟其他基础数据类型的用法相似,进而产生了这也是一种基础数据类型的想法,所以,思来想去,我就也把它当做一种基本的数据类型列举出来吧,字符串就是,就是一串字符,比如abcd,比如I am student,比如there is not such ...,但是在使用的时候,你要用双引号引上。
布尔型(boolean):布尔型数据,只有两种值,true和false,如果你学过离散数学,那么你对此应该并不陌生,这里的布尔型,和离散数学里面的布尔型概念上是相同的。实际上,学好离散,对学习程序设计有质的帮助,比如,方法论,逻辑,树,图,等等,不过,此乃略微跑题之论,至少,在此是跑题的。
好了,介绍完数据类型了,但是,怎么在程序中使用它们呢?要使用一个东西,首先要声明或者初始化它,对吧?在java中,当我们要使用一个基本的数据,我们这样声明它:数据类型 数据名; 大多数时候这样初始化:数据名 = 数据值;
声明是什么意思呢?声明是告诉java,我这儿有个类型是什么什么的,名字为那啥那啥的数据,具体是什么值嘛,那先不说。初始化呢?初始化就是告诉java, 我这个数据的值是那什么什么。值得注意的是,有的时候,可以声明的同时进行初始化:数据类型 数据名 = 初始化的值;
到底我们为什么要使用数据类型的概念呢?举个例子吧,比如,有两个小数,x = 9.6, y = 8.9, 我们现在编写一个简单的程序,来计算x + y, 这听起来很简单,但是问题是,java并不是像人类那么聪明,如果你不告诉java你的那个x是什么类型,java就整不明白,它不会自动识别出9.6是个浮点型的数据,你必须告诉它,x就是个浮点型的,于是你就必须来声明初始化x和y了。这种看似愚笨死板的特性,在程序语言里,叫做强类型,所以java叫做强类型语言,当然也有一些语言是自动识别出数据类型的,比如python。
那好,那我们就来编写这么个简单的两数相加,并显示结果的程序,我们把它命名为sumDemo.java:
这里,double x = 9.6; 就是定义一个类型为double, 名字为x,初始值为9.6的数据,y那个也是一样的,z也是一个道理,哦,对了,我们一直在用的那个System.out.println(some Strings);就是显示出some Strings并且换行。至于为什么这么用,现在不用管,你现在就记住这么用就行了。
然后我们编译并运行:
没有问题,我们成功的运行了这个程序。
那好,今天就先写到这里,到此,你应该知道为什么我们要定义数据,以及如何简单的定义使用基本数据类型的数据就好了。