第三章——java运算符、表达式和语句
一、知识结构框架
二、知识点详解
1、运算符与表达式
+ | — | ***** | / | % |
---|---|---|---|---|
加 | 减 | 乘 | 除 | 取模 |
++ | – |
---|---|
自加 | 自减 |
运算符 | 名称 | 例 | 结果 |
---|---|---|---|
> | 大于 | 1>2 | false |
>= | 大于等于 | 1>=2 | false |
< | 小于 | 1<2 | true |
<= | 小于等于 | 1<=2 | true |
== | 等于 | 1==2 | false |
!= | 不等于 | 1!=2 | true |
运算符 | 名称 | 说明 |
---|---|---|
&& | 与运算符 | 逻辑与 |
|| | 或运算符 | 逻辑或 |
! | 非运算符 | 逻辑取反 |
^ | 异或运算符 | 逻辑异或 |
运算符 | 名称 | 说明 |
---|---|---|
&& | 条件与运算符 | 当左边的表达式计算结果为false时,将不再运算右面的表达式;反之都运算 |
|| | 条件或运算符 | 当左边的表达式计算结果为true时,将不再运算右面的表达式;反之都运算 |
& | 无条件与运算符 | 左右表达式都运算 |
| | 无条件或运算符 | 左右表达式都运算 |
运算符 | 名称 | 例子 | 说明 |
---|---|---|---|
+= | 加简捷赋值运算符 | i+=8 | i=i+8 |
-= | 减简捷赋值运算符 | i-=8 | i=i-8 |
*= | 乘简捷赋值运算符 | i*=8 | i=i*8 |
/= | 除简捷赋值运算符 | i/=8 | i=i/8 |
%= | 取模简捷赋值运算符 | i%=8 | i=i%8 |
运算符 | 优先级 |
---|---|
类型转换 | 最高 |
++、– | 👇 |
! | 👇 |
*、/、% | 👇 |
+、- | 👇 |
>、>=、<、<= | 👇 |
==、!= | 👇 |
& | 👇 |
| | 👇 |
&& | 👇 |
|| | 👇 |
=、+=、-=、*=、/= | 最低 |
2、语句概述
Java里的语句可分为以下六类
–方法调用语句:如:System.out.println(" Hello");
–表达式语句:表示式尾加上分号。比如赋值语句:x=23;
–复合语句:可以用{ }把一些语句括起来构成复合语句,
如:{ z=123+x;
System.out.println(“How are you”);
}
–空语句:一个分号也是一条语句,称做空语句。
–控制语句:控制语句分为条件分支语句、开关语句和循环语句。
–package语句和 import语句:它们和类、对象有关,将在第4章讲解。
3、if条件分支语句
if(条件表达式1){
功能代码块1;
}else if(条件表达式2){
功能代码块2;
}else if(条件表达式3){
功能代码块3;
… …
}else{
功能代码块n;
}
4、switch语句
switch(表达式){
case 值1:
功能代码1;
[break;]
case 值2:
功能代码2;
[break;]
……
case 值n:
功能代码n;
[break;]
default:
功能代码others;
}
5、循环语句
while语法说明:
-
循环条件的类型为布尔类型,指循环成立的条件;
-
花括号{}不是必须的,当循环体中只有一条语句时,可以省略;
-
循环体是需要重复执行的代码。
do-while语法说明:
1.循环体是重复执行的代码部分,循环条件要求是布尔类型,值为true时执行循环体,否则循环结束,最后整个语句以分号结束;
2.do-while语句是 “先循环再判断”的流程控制结构
6、break与continue语句
7、for语句与数组
其中,声明的循环变量的类型必须和数组的类型相同。这种形式的for语句类似自然语言中的“for each”语句,为了便于理解上述for语句,可以将这种形式的for语句翻译成“对于循环变量依次取数组的每一个元素的值”。
案例:质数判断
三、题库考查知识点整理
1、5.0/2+10的结果是double型数据。
2、while(【代码】) {:代码运行结果为boolean类型
3、允许把不超出byte,char,short的取值范围的int常量赋值给相应的变量。但是注意,编译器在编译时并不计算’a’+x中变量x中的值,只是编译出’a’+x表达式的值是int型数据。
4、
把int类型赋值给char或者byte产生的错误
5、‘a’+10的结果是int型数据。计算结果自动转化为最高精度
6、逻辑运算符、关系运算符的运算结果是boolean
7、switch语句中可以没有default选项。
8、12 = 12 是非法的表达式。
9、for(表达式1; 表达式2; 表达式3)…语句中的“表达式2”的值必须是boolean型数据。
10、在while语句的循环体中,执行break语句的效果是结束while语句。
11、表达式10>20-17的结果不是1,是true
12、(byte)3.14+1的结果是int型数据。
13、‘苹’+ '果’的结果不是char型数据。