Java编程基础(二)

最重要的编程部件 – 运算符、表达式、语句

运算符

Java的运算符可分为四类:算术、关系、逻辑、位

算术运算符:

用于量之间的运算

算术运算符

意义

+

加法

-

减法

*

乘法

/

除法

%

余数(模)

关系运算符:

关系运算符

意义

>

大于

<

小于

>=

大于等于

<=

小于等于

==

等于

!=

不等于

逻辑运算符:

只对布尔型操作数进行运算并返回一个布尔数据类型(true/false)。常见的逻辑运算符有三个,即与(&&)、或(||)、非(!),如下表所示:

运算符

含义

解释

&&、&

与(AND)

两个操作数皆为真,运算结果才为真

||、|

或(OR)

两个操作数只要一个为真,运算结果就为真


非(NOT)

返回与操作数相反的布尔值

在逻辑运算中,“&&”和“||”属于所谓的短路逻辑运算符。对于逻辑运算符“&&”,要求左右两个表达式都为true时才返回true,如果左边第一个表达式为false时,它立刻就返回false,就好像短路了一样立刻返回,省去了一些不必要的计算开销。
类似的,对于逻辑运算符“||”,要求左右两个表达式有一个为true时就返回true,如果左边第一个表达式为true时,它立刻就返回true。

位运算符:

位操作是指对操作数以二进制位(bit)为单位进行的运算。其运算的结果为整数。位操作的第一步是把操作数转换为二进制的形式,然后按位进行布尔运算,运算的结果也为二进制数。位操作运算符有7个,如下表所示:

位运算符

含义

&

按位与(AND)

|

按位或(OR)

^

按位异或(XOR)

~

按位取反(NOT)

<<

左移位(Signed left shift)

>>

带符号右移位(Signed right shift)

>>>

无符号右移位(Unsigned right shift)

位运算符 & 两者为1则为1 、| 一个为1则为1 、^ 两者相同则为0

两侧为boolean值,则为逻辑运算符

一元运算符

一元运算符

意义

+

正号

-

负号


NOT,非

~

取补码

++

变量值自增1


变量值自减1

三元运算符(三目运算符)

符号:“?:”

三目运算符的使用:

数据类型 变量 = 布尔表达式 ? 条件满足设置内容 : 条件不满足设置内容;
理解:
    数据类型  变量名 = (表达式)?值1:值2;
	表达式的结果必须是boolean值
	True-将值1赋值给变量 
	False-将值2赋值给变量

三目运算符的深入

返回值规则:

值1、值2都是常量、变量的情况,会按取值范围大的类型转型

值1、值2一个是变量一个是常量的情况,常量如果在变量所属的取值范围内,取变量

常量如果在不在变量所属的取值范围内,取常量

表达式

表达式是由操作数与运算符所组成的。

操作数可以是常量、变量,也可以是方法。

常量:在程序执行过程中不可变的量。

算术表达式

算术表达式用于数值计算。它是由算术运算符和变量或常量组成,其结果是一个数值。

关系表达式

关系表达式常用于程序判断语句中,有关系运算符组成,其运算结果为逻辑型。

逻辑表达式

用逻辑运算符将关系表达式或逻辑量连接起来的有意义的式子称为逻辑表达式。逻辑表达式的值也是一个逻辑值,即“true”或“false”。

赋值表达式

赋值表达式由赋值运算符和操作数组成,赋值运算符用于给变量赋值。

转义字符:表示具有特殊意义的字符本身

\n:转行

\t:水平制表

\”:一个双引号

\’:一个单引号

语句

Java中的语句有多种形式,表达式就是其中的一种形式。

语句中的空格

一方面,所有的语言指令都需要借助空格来分割标注。 另一方面,虽然Java编译器在编译的过程中,会把所有非必需的空格过滤掉,但空格可以使程序更具有可读性,更加美观。

空语句

语句是由一个分号(;)组成的语句。空语句是什么也不执行的语句。在程序中空语句常常用来作空循环体 。

空语句还可以用于在调试时留空以待以后添加新的功能。如果不是出于这种目的,一般不建议使用空语句,因为空语句不完成任何功能,但同样会额外占用计算机资源。
提示:
一条Java语句后面可以跟多个分号吗?如 int x ;; 是合法的吗?(面试题)如果认为每条语句只能跟一个分号表明本语句结束,那么就会回答“不合法”。事实上,由于多个Java语句可以处于同一行,那么int x ;;就可以解读为“int x;”这条语句和另外一个空语句“;”共处于一行之上。int x语句后面即使跟10个分号也合法。

声明语句

格式:

<声名数据类型><变量1>...<变量n>

使用声明语句可以在每一条语句中声明一个变量,也可以在一条语句中声明多个变量。还可以在声明变量的同时,直接与赋值语句连用为变量赋值。例如

int a;  //一条语句中声明一个变量
int x,y;  //一条语句中声明多个变量
int t=1; //声明变量的同时,直接为变量赋值

如果对声明的成员变量没有赋值,那么将赋为默认的值。默认初始值:整型的为0;布尔类型变量默认值为false;引用数据类型和字符串类型默认都为null。

赋值语句

在程序代码中,使用赋值语句给变量赋值,赋值符号右边可以是一个常量或变量,也可以是一个表达式。程序在运行时先计算表达式的值,然后将结果赋给等号左边的变量。