算术运算符
关于自增与自减: -- 在前,先加 / 减 1 ,再操作, ++,-- 在后,先操作,再加/减 1
赋值运算符
隐含了一个强制类型转换 .
关于自增与自减: -- 在前,先加 / 减 1 ,再操作, ++,-- 在后,先操作,再加/减 1
赋值运算符
隐含了一个强制类型转换 .
关系运算符
关系运算符又叫
比较运算
符,用来运算两个操作数的大小关系,
返回值是
true
或
false
;
关系运算符的结果都是
boolean
型,也就是要么是
true
,要么是
false
。
注意事项
关系运算符
“==”
不能误写成
“=”
。
1.4
逻辑运算符
作用
:
逻辑运算符用于连接布尔型表达式,在
Java
中不可以写成
3<x<6
,
应该写成
x>3 && x<6
。
基本使用
: &(
与
),|(
或
),!(
非
)
与:
&
或
&&
有
false
则
false ,
并且的关系,必须是同时满足的
或:
|
或
||
有
true
则
true
,只要一个条件成立就行。
异或:
^
相同则
true,
不同则
false
非:
! true
则
false,false则true
&&
和
&
的区别
单
&
时,左边无论真假,右边都进行运算;
双
&
时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”
和
“||”
的区别同理,双或时,左边为真,右边不参与运算。
比如(
1+2
)
=4 &
(
1+2
)
=3
;
1+2=4
即使为假也会去判断
1+2=3
是否成立。
&&
也叫做短路运算符,因为只要左端条件式为假直接不成立,不会去判断右端条件.
三元运算符 (常用)
条件运算符是唯一的一个三元运算符,它有三个表达式操作数(不是典型的两个操作数),
格式
(
关系表达式
1)?
表达式
2
:表达式
3
;
如果条件为
true
,运算后的结果是表达式
2
;
如果条件为
false
,运算后的结果是表达式
3
;
示例:
三元操作符与典型的
if语句部分相似
Int num1
=
90
;
Int num2
=
100
;
Int num3
=
(
num1
>
num2
?
num1
:
num2
)
//
相当于
If
(
num1
>
num2
){
Int num3
=
num1
;
}
else
{
Int num3
=
num2
;
}
取指定随机数的公式
Random r=new Random();
int max=99;//
最大值
int min=20;//
最小值
//公式
int number = r . nextInt ( max ) % ( max - min + 1 ) + min ;
int number = r . nextInt ( max ) % ( max - min + 1 ) + min ;
顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执
行,程序中大多数的代码都是这样执行的。
总的来说:写在前面的先执行,写在后面的后执行
选择结构
(
重点
)
选择结构也被称为
分支
结构。
选择结构有
特定的语法规则
,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,
所以产生选择,按照不同的选择执行不同的代码。
Java
语言提供了两种选择结构语句
if
语句(使用范围广)
switch
语句(使用范围小)
5.3.1
选择结构
if
if
语句有三种格式
If
语句 (只有一种选择)
if
语句第一种格式:
if
语句指的是如果满足某种条件,就进行某种处理;
if(
关系表达式
) {//
表达式最终的值必须是
boolean
类型的值
语句体
}
执行流程
1.
首先判断关系表达式看其结果是
true
还是
false
2.
如果是
true
就执行语句体
3.
如果是
false
就不执行语句体
If-else
语句(二选一结构)
if
语句第
2
种格式:
if(
关系表达式
) {
语句体
1;
}else{
语句体
2;
}
执行流程
1.
首先判断关系表达式看其结果是
true
还是
false
2.
如果是
true
就执行语句体
1
3.
如果是
false
就执行语句体
2
流程图
多重
else
语句(多选一或多选
0
)
if
语句第三种格式:
if (
判断条件
1) {
执行语句
1
} else if (
判断条件
2) {
执行语句
2
}
...
else if (
判断条件
n) {
执行语句
n
} else {
执行语句
n+1
}
执行流程
首先判断关系表达式
1
看其结果是
true
还是
false
如果是
true
就执行语句体
1
如果是
false
就继续判断关系表达式
2
看其结果是
true
还是
false
如果是
true
就执行语句体
2
如果是
false
就继续判断关系表达式
…
看其结果是
true
还是
false
....
如果没有任何关系表达式为
true
,就执行语句体
n+1
。
流程图
选择结构
switch
(重点)
有时候分支是根据
常量值
进行判断的,这时候虽然可以使用
if/else
来实现,但是用
switch/case
更为
清晰。
Switch
适用于
等值条件
判断。
int num=3;
if(num==1) {
}else if(num==2) {
}else if(num==3) {
}else{
}
//
可以使用
switch
结构代替多重
if
执行流程
首先计算出表达式的值
其次,和
case
依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程
中,遇到
break
就会结束。
最后,如果所有的
case
都和表达式的值不匹配,就会执行
default
语句体部分,然后
程序结束掉。
注意事项:
1
、
switch/case
中的表达式的值只能是
:
int
,short,byte,enum(jdk1.5),
String
,char
类型的值。
String
必须是在
jdk 1.7
以上的版本。
2
、
case
后面直接写常量
,
不能用变量来表示。表示如果表达式的值等于这个常量,就执行
case
后面的代码块。
3
、每个
case
代码块执行完之后。记得加
break
;
退出
switch
结构,否则,后面的
case
不管条
件成立与否。都会执行相应的代码块。
4
、
default(
默认
):
表示没有找到匹配的条件时。就会执行里面的代码块,位置可以在最后(常
用),也可以最先。
5
、
case
后面的常量值不允许出现重复的。
循环结构(重点)
什么是循环?在
一定的条件
下重复的做
同一件事
循环语句可以在
满足循环条件
的情况下,反复执行某一段代码,这段被重复执行的代码被称为
循环
体语句
,当反复执行这个循环体时,需要在
合适的时候
把循环判断条件修
改为
false
,从而结束循环,否
则循环将一直执行下去,形成死循环。
循环包含
4
个部分
①循环变量初始化
(
初始化表达式
)
:
一条或者多条语句,这些语句完成一些初始化操作。
②循环条件
(
布尔表达式
)
:
这是一个
boolean
表达式,这个表达式能决定是否执行循环体。
③循环操作:
这个部分是循环体语句,也就是我们要多次做的事情。
④更新循环变量
(
步进表达式
)
:
这个部分在一次循环体结束后,下一次循环判断条件执行前执行。通过用于控制循环条件中的
变量,使得循环
在合适的时候结束。
while循环
while循环
流程图
for
循环
(
常用,循环次数在一定的范围内
do-while
循环
先执行循环操作,再判断条件,至少会执行一次循环操作。
流程图
break
和
continue
break
: 退出循环
continue:
终止当前次循环,进入下一次循环。