Java基础语法——运算符、流程控制语句、if条件语句

时间:2022-09-08 16:46:41

本人正在自学中,为了更好的了解和复习特此对每天学习的知识做总结,也希望可以帮助同在自学的朋友,谢谢!


一、运算符

a、算术运算符+-* / % ++--

注意:1、+的用法:加号、正号、连接符

           2、/与%的区别:做除法操作的时候,/取得是商,%取得是余数

             3、++和--的用法:自增或者自减

                                              当++和--单独使用的时候,放在数据的前面或后面的效果一样

当++和--参与操作的时候,放在数据的前面:先自增或自减后参与操作

                                                                                             放在数据的后面:先参与操作后自增或自减

b、逻辑运算符:^ ! &&    ||

逻辑运算符用于boolean类型

&:有false则false

|:有true则true

^:相同则false不同则true

!:非true则false,非false则true

&&:结果与&一样,不过有短路效果,即前面为false时后面就不会再执行

||:结果与|一样,不过有段路效果,即前面为true时后面就不会在执行

c、赋值运算符:= ==+= -=/=%=

=为赋值运算符不是等号

例:int a = 5;意思是把5赋值给int类型的变量a

扩展:面试题

A、short s = 1;

s = s + 5;

B、short s = 1;

s += 5;

问上面语句哪句是错误的?A(数据类型错误,s = s + 5;的数据类型是int类型

d、比较运算符:> >=< <= ==!=

无论比较运算符的两端简单还是复杂返回的结果都是boolean类型

e、位运算符:^

1:^的特殊用法
一个数据针对另一个数据位异或两次,该数不变
2:面试题
a:请实现两个变量的交换
**采用第三方变量

int temp = a;

a = b;

b = temp;


**用位异或运算符
a = a ^ b;

b = a ^b;

a = a ^b;
b:请用最有效率的方式计算出2乘以8的结果
2<<3(相当于2*2^3)

f、三目运算符:(条件表达式)?表达式一:表达式二;

执行流程:首先计算比较表达式的值,看是true还是false。
    如果是true,表达式1就是结果。
    如果是false,表达式2就是结果。

案例:a:比较两个数据是否相等

Java基础语法——运算符、流程控制语句、if条件语句
    b:获取两个数据中的最大值

Java基础语法——运算符、流程控制语句、if条件语句
    c:获取三个数据中的最大值

Java基础语法——运算符、流程控制语句、if条件语句

二、流程控制语句

(1)顺序结构 从上往下,依次执行
(2)选择结构 按照不同的选择,执行不同的代码
(3)循环结构 做一些重复的代码


三、if条件语句

(1)三种格式
A:格式1
if(比较表达式) {
语句体;
}

执行流程:
判断比较表达式的值,看是true还是false
如果是true,就执行语句体
如果是false,就不执行语句体

B:格式2
if(比较表达式) {
语句体1;
}else {
语句体2;
}

执行流程:
判断比较表达式的值,看是true还是false
如果是true,就执行语句体1
如果是false,就执行语句体2

C:格式3
if(比较表达式1) {
语句体1;
}else if(比较表达式2){
语句体2;
}
...
else {
语句体n+1;
}

执行流程:
判断比较表达式1的值,看是true还是false
如果是true,就执行语句体1
如果是false,就继续判断比较表达式2的值,看是true还是false
如果是true,就执行语句体2
如果是false,就继续判断比较表达式3的值,看是true还是false
...
如果都不满足,就执行语句体n+1
(2)注意事项
A:比较表达式无论简单还是复杂,结果是boolean类型
B:if语句控制的语句体如果是一条语句,是可以省略大括号的;如果是多条,不能省略。
建议:
无论如何都 不要省略。
C:一般来说,有左大括号,就没有分号,有分号,就没有左大括号。
D:else后面如果没有if,是不会出现比较表达式的。
E:三种if语句其实都是一个语句,只要有一个执行,其他的就不再执行。
(3)案例:
A
:比较两个数是否相等
Java基础语法——运算符、流程控制语句、if条件语句
B:获取两个数中的最大值
Java基础语法——运算符、流程控制语句、if条件语句
C:获取三个数中的最大值(if语句的嵌套)
Java基础语法——运算符、流程控制语句、if条件语句
D:根据成绩输出对应的等级
Java基础语法——运算符、流程控制语句、if条件语句
(4)三元运算符和if语句第二种格式的关系
所有的三元运算符能够实现的,if语句的第二种格式都能实现。
反之不成立。

如果if语句第二种格式控制的语句体是输出语句,就不可以。
因为三元运算符是一个运算符,必须要有一个结果返回,不能是一个输出语句。