1.1 数据类型和变量
数据类型用于对数据归类,以便于理解和操作。对Java语言而言,有如下基本数据类型。
❑ 整数类型:有4种整型byte/short/int/long,分别有不同的取值范围;
❑ 小数类型:有两种类型float/double,有不同的取值范围和精度;
❑ 字符类型:char,表示单个字符;
❑ 真假类型:boolean,表示真假。
基本数据类型都有对应的数组类型,数组表示固定长度的同种数据类型的多条记录,这些数据在内存中连续存放。比如,一个自然数可以用一个整数类型数据表示,100个连续的自然数可以用一个长度为100的整数数组表示。一个字符可以用一个char类型数据表示,一段文字可以用一个char数组表示。
Java是面向对象的语言,除了基本数据类型,其他都是对象类型。对象到底是什么呢?简单地说,对象是由基本数据类型、数组和其他对象组合而成的一个东西,以方便对其整体进行操作。比如,一个学生对象,可以由如下信息组成。
❑ 姓名:一个字符数组;
❑ 年龄:一个整数;
❑ 性别:一个字符;
❑ 入学分数:一个小数。
日期在Java中也是一个对象,内部表示为整型long。
世界万物都是由元素周期表中的基本元素组成的,基本数据类型就相当于化学中的基本元素,而对象就相当于世界万物。
为了操作数据,需要把数据存放到内存中。所谓内存在程序看来就是一块有地址编号的连续的空间,数据放到内存中的某个位置后,为了方便地找到和操作这个数据,需要给这个位置起一个名字。编程语言通过变量这个概念来表示这个过程。
声明一个变量,比如int a,其实就是在内存中分配了一块空间,这块空间存放int数据类型,a指向这块内存空间所在的位置,通过对a操作即可操作a指向的内存空间,比如a=5这个操作即可将a指向的内存空间的值改为5。
之所以叫“变”量,是因为它表示的是内存中的位置,这个位置存放的值是可以变化的。
虽然变量的值是可以变化的,但变量的名字是不变的,这个名字应该代表程序员心目中这块内存空间的意义,这个意义应该是不变的。比如,变量int second表示时钟秒数,在不同时间可以被赋予不同的值,但它表示的始终是时钟秒数。之所以说应该,是因为这不是必需的,如果一定要为一个名为age的变量赋予身高的值,计算机也拿你没办法。
重要的话再说一遍!变量就是给数据起名字,方便找不同的数据,它的值可以变,但含义不应变。再比如说一个合同,可以有4个变量:
❑ first_party:含义是甲方;
❑ second_party:含义是乙方;
❑ contract_body:含义是合同内容;
❑ contract_sign_date:含义是合同签署日期。
这些变量表示的含义是确定的,但对不同的合同,它们的值是不同的。初学编程的人经常使用像a、b、c、hehe、haha这种无意义的名字。在此建议为变量起一个有意义的名字吧!通过声明变量,每个变量赋予一个数据类型和一个有意义的名字,我们就告诉了计算机要操作的数据。
有了数据,如何对数据进行操作呢?我们先来看对数据能做的第一个操作:赋值。