第二部分:基本信息表示与基本信息处理
主要内容:
l
基本数据表示,包括基本数据类型、常量和变量;
l
基本数据处理,主要介绍各种基本运算符;
l
流程控制,介绍选择和循环结构;
l
代码共享,介绍方法的定义和使用;
l
字符串的使用;
l
日期的使用;
l
数字的处理;
l Math
类的使用。
本次介绍基本数据表示。
之前的课程已经说过
,
语言是用来表示信息
,
然后对信息进行处理,本次内容介绍信息(有时候我会用“数据”,有一些区别,但是对我们现在讲的内容没有影响)的表示。
先看看我们的自然语言,要描述某个人,并且这个人不是你周围的人,你可能会说“中等身材,眼睛比较小,长头发,下颚有颗痣,口才特别好”,如果这个人是大家都认识的,你可以直接说“成龙”,因为听到名字就知道是谁了,知道了他的基本信息。
如果使用
Java
语言来描述这个人的信息,如何描述呢?最简单的方法就是直接使用这句话。例如,输出这个人的信息,你可以写:
System.out.println(“
中等身材,眼睛比较小,长头发,下颚有颗痣,口才特别好
”);
把这个人写到数据库中,可以直接把这句话写如数据库中。这句话成为字符串,有了字符串,所有的信息都可以表示成字符串了,这样会使用字符串是不是就会信息表示了,可以这样认为,并且字符串在任何语言中都是最重要的(个人认为),因为任何信息都可以表示成字符串,从输入和输出的角度来说,也都是按照字符串的形式进行了。
但是把信息全部表示成字符串,尤其是这样一个长字符串的时候,如果想从里面提取信息或者执行一些操作就比较麻烦了,例如要比较两个人的身高,需要分别从两个人的信息中取出身高信息(我们人来取比较简单,但是程序获取就比较难了),然后比较。所以我们要把它分解成更小的单元并且需要对描述方式进行约束。上面的信息可以转换为多条:
身高:中等
height = middle 或者 height=170
眼睛:比较小
eyes = little
头发:比较长
hair = long
下颚是否有痣:是
hasZhi = true
这时候身高还可以用数字表示。如果使用数字表示,可以表示为
170
,也可以表示为
1.7
,因为单位不一样。这时候我们可以添加注释来告诉用户,例如输入的时候,可以提示用户单位是米还是厘米,输出的时候数字的后面加上单位。这就是如何把我们信息转换为编程语言,如何把编程语言中的信息转换为自然语言。
为了让
Java
语言来表示这些基本信息,首先要知道现实世界中的基本信息有哪些类型。简单的分可以分为:字符串、数字、日期和真假。关于日期在以后的内容中介绍。下面介绍在
Java
中这些信息类型的表示。
字符串
Java
中使用
java.lang.String
来表示字符串,注意
String
不属于基本的数据类型,但是字符串比较特殊,特殊性在“字符串的使用”中介绍。
Java
中提供的与字符串相关的是字符类型,表示为
char
。分为常量和变量。
字符常量
字符通常使用单引号括起来,例如:
字符“
a
”可以表示为:
’a’
字符“
1
”可以表示为:
’1’
注意大写的
A
和小写的
a
表示两个不同的字符。
有些比较特殊的字符,例如换行符没有办法直接表示,需要使用转义字符,格式为反斜杠加上特殊字符,例如换行可以表示为
’/r’
。下面
Java
中的转义字符:
/n
回车
(/u000a)
/t
水平制表符
(/u0009)
/b
空格
(/u0008)
/r
换行
(/u000d)
/f
换页
(/u000c)
/'
单引号
(/u0027)
/"
双引号
(/u0022)
//
反斜杠
(/u005c)
/ddd
三位八进制
/udddd
四位十六进制
字符变量
常量在程序中可以表示基本的字符信息,但是不能说明它的含义,例如要表示衣服的类型为
a
,直接写成
a
并不能表示它是衣服的类型。另外整个信息可能会发生变化,所以为了表示字符的含义,需要使用变量。例如衣服的类型为
a
,可以表示为:
type = ‘a’
其中,
type
表示衣服的类型,等号表示“是”,是对变量的赋值。在声明这个变量的时候需要给出类型,所以通常会写成:
char type=’a’
在
Java
中,这就是一个语句,每个语句要用分号结束,所以应该写成:
char type=’a’;
注意:分号和引号都应该说英文的,否则会报错:无效字符
也可以把变量的声明和赋值分开写,例如:
char type;
type=’a’;
char
表示字符类型,是语法规定的,必须这样写。
type
是用户指定的名字,是一种标识符,标识符应该按照一定的命名规则来写。
标识符的命名规则
标识符的命名规则如下:
l
首字符必须是字母(大小写)、下划线_或美元符
$
;
l
后面的字母除了可以使用以上字符外,还可以使用数字;
l
标识符不能使用系统保留的关键字。
系统的关键字如下:
abstract | continue | for | new | switch |
assert *** | default | goto * | package | synchronized |
boolean | do | if | private | this |
break | double | implements | protected | throw |
byte | else | import | public | throws |
case | enum **** | instanceof | return | transient |
catch | extends | int | short | try |
char | final | interface | static | void |
class | finally | long | strictfp ** | volatile |
const * | float | native | super | while |
* | not used | |
** | added in 1.2 | |
*** | added in 1.4 | |
**** | added in 5.0 |
下面的标识符识正确的:
height
input1
$value
time_12
下面的标识符不正确:
1value
value#
try
思考:为什么不正确?
在定义变量的时候还应该有一些编码习惯问题:
l
变量首字母小写;
l
多个单词组成的变量,后面的单词首字母大写;
l
变量名应该尽量有意义。
这些不是命名规范,但应该遵循。
真假
通常称为布尔值,类型名字为
boolean
。有两个常量,
true
和
false
,分别表示真和假,或者是和否。
例如表示某个信息是否有效,可以使用
boolean
类型表示:
boolean validate;
validate=true;
validate=false;
数字
数字分为整数和浮点数。整数又分为
byte short int long
。浮点数又分为
float
和
double
。区别在于表示的范围不同。
byte
占用一个字节,表示的范围
-128 ~ 127
,表示
28
个数字,从
-27
到
27-1
。可以通过下面的方法得到最大值和最小值:
Byte. MAX_VALUE
和
Byte.MIN_VALUE
。
short
占两个字节,
int
占
4
个字节,
long
占
8
个字节,
float
占
4
个字节,
double
占
8
个字节。
整数类型的常量直接使用数字表示即可。例如
20
,
23
,
-30
。
double
类型的常用可以直接使用数字,例如
32323
,
3334.33
。
float
类型的常量,如果不包含小数部分,可以直接写数字,如果包含小数部分,需要在后面使用
f
表示,例如
232323
,
23.33f
,如果不写
f
,系统会认为这是一个
double
类型,在赋值的时候会出错。例如下面的代码:
float radius=32.3;
在编译的时候,会出错,应该写成:
float radius = 32.3f;
注意:浮点数在计算机中存储的时候可能不是这个数字本身,因为在计算机中使用二进表示,
32.3
转换成二进制是多少呢?
基本数据类型的封装类型
byte
、
short
、
int
、
long
、
float
、
double
、
char
和
boolean
是
Java
提供的
8
种基本数据类型。为了让这些基本数据类型与
Java
中的类和对象的概念一致,
Java
提供了这些基本数据类型的封装类型。基本数据类型只表示信息,没有处理功能,而封装类型除了表示信息之外,还提供了一些对信息进行处理的方法
对应关系如下:
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
可以把基本数据类型转换为封装类型,也可以把封装类型转换为基本数据类型,下面以
int
与
Integer
之间的转换为例。
int height=170; //
声明整型变量并赋值
Integer height2=new Integer(height); //
转换成封装类型
Height = height2.intValue(); //
转换成基本数据类型
在
Java5
之后,可以直接写:
int height=170; //
声明整型变量并赋值
Integer height2=height; //
转换成封装类型
Height = height2; //
转换成基本数据类型
系统完成自动转换。
本次内容需要记住:
l
8
种基本数据类型;
l
标识符的命名规则;
l
变量的定义与赋值;
l
8
种基本数据类型的常量;
l
基本数据类型与封装类型。
上一讲:
第八讲 使用集成开发环境(上)
下一讲:
第十讲 基本运算——运算符
下次介绍基本数据处理,主要是各种运算符的使用。