运算符
运算符的分类
分类
- 算术运算符
”+ - * / % ++ – “ - 关系运算符
- “> >= < <= != ==”
- 逻辑运算符
- “&& || !”
- 三目运算符
-
"表达式0?表达式1:表达式2"
- 赋值运算符
-
"=“
- 字符串连接符
- “+”
- 位移运算符
”>> << “
自增运算符
++ –
++和--又分为前++和后++(前--和后--),如果是前++那么则先将自己的值自增1,再参与运算,如果是后++则先运算再++
```java
/**
* 测试++ --运算符
*/
int a = 1;
int b = 2;
int c= ++a + b--;
/**
* 如果自增运算符,在表达式里面出现,如果
* 是自增,那么则先先将自己的值+1再参与表达式运算,
* 如果后自增,那么则先将表达式的值算出来以后再去自增。
*/
System.out.println(a+":"+b+":"+c);
关系运算符
关系运算符有 > >= < <= != ==,关系运算符运算之后的结果是boolean类型。
参考代码:
在这里插入代码片 /**
* 测试关系运算符,
* 关系运算符运算之后的结果是一个boolean
*/
boolean f1 = 1 == 1;
boolean f2 = 1 > 6;
boolean f3 = -1 < 0;
System.out.println(f1);
System.out.println(f2);
System.out.println(f3);
逻辑运算符
逻辑运算符是建立在关系运算符之上,参与的表达运算的结果一定是一个boolean类型的变量;其运算规则如下:
字符串连接符
使用”+“操作符可以将字符串和其它数据类型进行拼接操作,注意一点就是字符具有传染性,也就是说,字符串只要跟任何数据类型的变量进行拼接,那么最后的运算结果一定是一个字符串,就会其它的数据类型的变量拼接为字符串类型。
三目运算符
基本形式: 表达式1?表达式2:表达式3;如果表达式1的值为true,那么整个表达式的值就去表达式2,否则取表达式3
/**
* 测试三目运算符
*/
int a=1>2?1:2;
System.out.println(a);
/**
* 判断年龄是否大于等于18
*/
int age = 1;
System.out.println(a>18? "成年了":"未成年");
分支结构
程序的执行流程主要有3种,第一种顺序,第二种是分支,第三种是循环;所谓顺序就是程序从上到下,代码一行行的执行;分支就是在程序的执行过程中,出现选择这样的逻辑。循环就是程序不断的执行某一个代码逻辑,直到达到相应的退出条件
基本的流程退如下:
if分支
if分支的执行流程是:如果if的逻辑表达式的值为true,则执行if语句块里面的内容,否则不执行。
上面的这种结构叫做if结构,还有第二种结构是if-else结构,相当于如果逻辑表达式的值为true时,执行语句块1的,否则执行语句块2.
第三种的描述如下:
多分支语句结构:
if(逻辑表达式1){
语句块1
}else if(逻辑表达式2){
语句块2;
}…
else if(语句块n){
语句快n;
}else{
语句块n+1;
}
最后总结:if的条件分支一共有3种,第一种是:
if(逻辑表达式){
语句块1;
}
第二种是:
if(逻辑表达式1){
语句块1
}else{
语句块2
}
第三种是:
if(逻辑表达式1){
语句块1
}else if(逻辑表达式2){
语句块2;
}…
else if(逻辑表达式n){
语句快n;
}else{
语句块n+1;
}
swich分支类型
swich分支的相比较于if多分支结构的程序的执行效率较高,而且代码的可读性也会好一些。
swich(表达式){
case 值1:
语句块
break;
case 值2:
语句块2;
break;
case 值n:
语句块n;
default :
语句块n+1;
当程序的执行的时候,会计算出表达式的值,当表达式的值和某一个case语句块的值相同的时候,那么程序就会执行相的case对应的语句库,如果
表达式的值和对应的Case值不一样的话就会执行 default对应的语句块。
注意: 表达式值的类型只能是 int char String类型(JDK1.7以上版本支持)
}