今天主要学习的内容有java的运算符
- 赋值运算符
- 算数运算符
- 关系运算符
- 逻辑运算符
- 位运算符(专门写一篇笔记)
- 条件运算符
- 运算符的优先级
- 流程控制
赋值运算符
赋值运算符(=)主要用于给变量赋值,可以跟算数运算符相结合,组合成复合赋值运算符
复合赋值运算符主要包括“+=”,“-=”,“*=”,“/=”,“%=”;
【注意】使用复合赋值运算符时,要注意两点
1.使用+=时,不进行类型转换,例如定义byte b1 = 1,byte b2 = 2; 计算b1+=b2后,b1依然是byte类型
2.而使用加进行类型转换时,例如b1 = b1 + b2是错误的,因为b1 + b2是int类型,不兼容。
所以在理解时可以认为使用+=时,进行了强制类型转换。
算术运算符
算术运算符包含“+”,“-”,“*”,“/”,“%”,“++”,“–”;
1.用代码来演示++,–的具体用法
public class Main{public static void main(String []args){int i = 10;int s = i++;System.out.println(s);System.out.println(i);}
}
i++的话是先进行运算然后进行相加,++i签好相反,是先进行相加,然后进行运算。
2.练习使用算术运算符:键盘输入一个四位整数,求各位之和;
关系运算符
关系运算符也称作比较运算符,用于比较两个变量或者常量的大小,运行的结果是布尔值TRUE 或者 FALSE;
java中有六个关系运算符分别是“==”;“>”;“<”;“>=”;“<=”;“!=”
【代码举例】
逻辑运算符
逻辑运算符用于对两个布尔类型的值进行运算,其结果还是布尔值
& 逻辑与 两个操作数都是true,结果才是true,两个操作数有一个为false,结果为false;无论左边取值是true还是false,右边的表达式都会计算
| 逻辑与 两个操作数都是false,结果才是false,两个操作数有一个为true,结果为true;无论左边取值是true还是false,右边的表达式都会计算
^逻辑异或,连个操作数相同,结果为false,两个操作数不同,结果为true
!逻辑非,操作数为true,结果为false,操作数为false,结果为true;
&&短路与,运行规则同&,不同在于左边为false,右边的表达式不会计算,相当于短路了
||短路或,运行规则同|,不同在于左边的表达式为true,右边的表达式就不会进行计算,相当于短路了。
那么如何证明它短路了(可用以下的方法):
以上两个程序可以证明短路的存在。
条件运算符
条件运算符是java中唯一需要三个操作数的运算符,其具体的格式如下:
条件?表达式1:表达式2
首先对条件进行判断,其结果是布尔值true 或者 false
如果为true,则返回表达式1的值
如果为false,则返回表达式2的值
条件运算符的优先级
java中各种运算符都有自己的优先级个结合性,优先级就是在式子中的运算顺序。优先级越高,在表达式中的顺序就越靠前
运算符的优先级如下所示
()[]
! ~ ++ --
* / %
+ -
<< >> >>>
< <= > >= instanceof
== !=
&
^
|
&&
?:
= += -= /= %= |= ^= ~= <<= >>= >>>=
流程控制
java的流程控制主要有三种形式:顺序结构,选择结构,循环结构
顺序结构
顺序结构是指程序从上到下依此执行每一条语句的结构,中间没有任何的判断,跳转,循环
选择结构
java的选择结构主要有单分支,双分支,多分支结构,java语言使用if和switch语句实现选择结构
1.单分支if结构代码演示
2.双分支结构代码演示
3.多分支if结构
switch 多分支选择结构的使用。switch的使用有三种形式(最后一种不会了)
1.使用case 常量:
2.使用case ->来进行书写
循环结构
循环结构主要有while循环,do-while循环,for循环,具体的代码演示如下
1.写出九九乘法表
注意其中的"\t"为制表符,如果前面的位数没有满足8个时,自动补全8个。
2.求1+…+100的和
3.求100~999的水仙花数
4.输出1~100之间的质数
5.输出斐波那契数列