目录
3.1 Java主类结构
3.2 基本数据类型
3.2.1 整数类型
3.2.2浮点类型
3.2.3 字符类型
3.2.4 布尔类型
3.3 变量与常量
3.3.1 标识符与关键字
3.3.2 声明变量
3.3.3 声明常量
3.3.4 变量的有效范围
3.4运算符
3.4.1 赋值运算符
3.4.2 算术运算符
3.4.3 自增和自减运算符
3.4.4 比较运算符
3.4.5 逻辑运算符
3.4.7 三元运算符
3.4.8 运算符优先级
3.5 数据类型转换
3.5.1 隐式类型转换
3.5.2 显式类型转换
3.6 代码注释与编码规范
3.6.1 代码注释
一个Java程序是由若干个类组成的。
整数类型用来储存整数数值,即没有小数部分的数值,可以是正数,也可以是负数,整型数据根据它在内存中所占大小的不同,可分为byte、short、int和long 4种类型。它们具有不同的取值范围,如图所示:
注意:给变量赋值时,要注意取值范围,超出相应范围就会出错。
例:类型的使用
代码为:
运行结果为:
浮点类型表示有小数部分的数字。Java语言中浮点类型分为单精度浮点类型(float)和双精度浮点类型(double),它们具有不同的取值范围,如表图所示:
注意: 定义float型小数变量时,则需要在小数后面添加F或发,如果不加F或f,系统会认为是double类型数据,进而出错。
例 根据身高体重计算BMI指数
代码如下:
运行结果:
1、char型
字符类型(char)用于储存单个字符,占用16位(两个字节)的内存空间。在声明字符型变量时,要以单引号表示,如“s”表示一个字符。
2、转义字符
转义字符是一种特殊的字符变量,其以反斜杠“\”开头,后跟一个或多个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”。Java中的转义字符如图所示:
将转义字符赋值给字符变量时,与字符常量值一样需要使用单引号。
例 转义字符的使用
代码如下:
运行结果:
布尔类型又称逻辑类型,通过关键字boolean来声明布尔类型变量。只有true和false两个值,分别代表布尔逻辑中的“真”和“假”,布尔值不能与整数类型进行转换。布尔类型通常被用在流程控制中作为判断条件。
例 声明boolean型变量
代码如图:
运行结果:
1.标识符
Java语言规定标识符由任意顺序的字母、下划线(_)、美元符号($)和数字组成,并且第一个字符不能是数字。标识符不能是Java中的保留关键字。
注意:
1.由字母、下划线、美元符号和数字组成
2.不能以数字开头
3.要避开关键字
2.关键字
关键字是Java语言中已经被赋予特定意义的一些单词,不可以把这些字作为标识符来使用。简单理解为凡是在Eclipse变成红色粗体的单词,都是关键字。Java语言中的关键字如图所示:
声明变量就是要告诉编译器这个变量的数据类型,这样编译器才知道需要配置多少空间给它,以及它能存放什么样的数据。在程序运行过程中,空间内的值是变化的,这个内存空间就称为变量。为了便于操作,给这个空间取个名字,称为变量名。对于变量的命名并不是任意的,应遵循以下几条规则:
1 变量名必须是一个有效的标识符。
2 变量名不可以使用Java中的关键字。
3 变量名不能重复。
4 应选择有意义的单词作为变量名。
在程序运行过程中一直不会改变的量称为常量,通常也被称为"final变量"。常量在整个程序中只能被赋值一次。
例 尝试给常量赋值,观察是否会发生错误
代码如下:
运行结果:
从这个结果可以看到,Part运行后发生了错误,异常日志中记载Part类出现编译问题,此编译问题正是常量number被二次赋值。
1、成员变量
在类体中的声明的变量称为全局变量(成员变量),全局变量在整个类中都有效。
2、局部变量
在类的方法体中的声明的变量称为局部变量,局部变量只能在当前代码块中有效。
例 把成员变量“排挤掉”的局部变量
代码如下:
运行结果:
赋值运算符以符号“=”表示,它是一个双目运算符(对两个操作数做处理),其功能是将右边操作数所含的值赋给左边的操作数。例如:
int a=100; //该表达式是将100赋值给变量a
左边的操作数必须是一个量,而右边的操作数则可以是变量(如 a、number)、常量(如 123、’book‘)、有效的表达式(如 45*12)。
例 使用赋值运算符同时为俩个变量赋值
代码如下:
运行结果:
Java中的算术运算符主要有+(加号)、—(减号)、*(乘号)、/(除号)、%(求余),它们都是双目运算符。
例 使用算术运算符来模拟计算器
代码如下:
运行结果:
自增和自减运算符是单目运算符,可以放在变量之前,也可以放在变量之后。自增和自减运算符的作用是使变量的值增1或减1。
比较运算符属于二元运算符,用于程序中的变量之间、变量和自变量之间以及其他类型的信息之
间的比较。比较运算符的运算结果是boolean型。当运算符对应的关系成立时,运算结果为true,否则
为false。所有比较运算符通常作为判断的依据用在条件语句中。比较运算符共有6个,如表3.6所示。
例 使用俩个不同的比较运算符判断俩个整数的关系
代码如下:
运行结果:
逻辑运算符是对真和假这两种逻辑值进行运算,运算后的结果仍是一个逻辑值。逻辑运算符包括&&(逻辑与)、||(逻辑或)、!(逻辑非)。逻辑运算符计算的值必须是boolean型数据。在逻辑运算符中,除了“!”是单目运算符之外,其他都是双目运算符。Java中的逻辑运算符如图所示:
注:
逻辑与:俩者都是真,结果才为真
逻辑或:只要一者为真,结果就为真
逻辑非:非真即假,非假即真
3.4.6 位运算符
位运算的操作数类型是整型,可以是有符号的也可以是无符号的。位运算符可以分为两大类:位逻辑运算符和位移运算符
1、“按位与”运算
& 俩者都为1,结果才是1
2、“按位或”运算
| 只要有一者为1,结果就是1
3、“按位取反”运算
~ 0变1,1变0
4、“按位异或”运算
^ 俩者相同即为0,不同为1
5、移位操作
位移运算符:
<< 左移:整体左移,空位补0,溢出去掉
>> 右移:整体右移,正数补0,负数补1,溢出去掉
>>> 无符号右移:整体右移,空位补0,溢出去掉
三元运算符的使用格式为:
返回值=判断公式?结果1:结果2;
条件式?值1:值2
三元运算符的运算规则为:若条件式的值为true,则整个表达式取值1,否则取值2。例如:
boolean b=20<45?true:false;
如果两个运算有相同的优先级,那么左边的表达式要比右边的表达式先被处理。
从低级类型向高级类型的转换,称为隐式转换,也可以称为自动转换。下列基本数据类型会涉及数据转换,不包括逻辑类型。这些类型按精度从“低”到“高”排列的顺序为byte 注:自动类型转换一定不会丢失数据 当把高精度的变量赋值给低精度的变量时,必须使用显示类型转换运算(又称强制类型转换),当执行显示类型转换时可能会导致精度损失。 注:强制类型转换有可能会丢失数据 1、单行注释 "//"为单行注释标记,从符号"//"开始直到换行为止的所有内容均作为注释而被编译器忽略 2、多行注释 "/* */"为多行注释标记,符号"/*"与"*/"之间的所有内容均为注释内容,注释中的内容可以换行 3、文档注释 "/** */"为文档注释标记。符号"/**"与"*/"之间的内容均为文档注释内容。3.5.2 显式类型转换
3.6 代码注释与编码规范
3.6.1 代码注释