网站首页 > java教程 正文
1:位运算符(了解)
(1)&,|,^,~,>>,>>>,<<
做位运算,需要把数据转换为二进制。
(2)^的特点:(掌握)
针对同一个数据异或两次,值不变。
面试题:交换变量的值。
int a = 10;
int b = 20;
开发:第三方变量
int temp = a;
a = b;
b = temp;
面试:^的实现
a = a ^ b;
b = a ^ b;
a = a ^ b;
(3)面试题(掌握)
请用最有效率的方式计算2乘以8的值
2*8
2<<3
2:三元运算符(掌握)
(1)格式:
关系表达式?表达式1:表达式2;
(2)执行流程:
A:计算关系表达式的值
B:如果是true,表达式1就是结果
如果是false,表达式2就是结果
(3)练习:
A:获取两个数据中较大的值
B:获取三个数据中较大的值
C:比较两个数是否相等
(4)个人补充:
条件表达式的嵌套使用以及如何改写嵌套语句
3:键盘录入数据(掌握)
记忆格式:
(1)导包:
import java.util.Scanner;
注意:位置在class的上面。
(2)创建键盘录入对象:
Scanner sc = new Scanner(System.in);
(3)获取数据
int i = sc.nextInt();
(4)练习:
A:求两个数据的和
B:获取两个数据中较大的值
C:获取三个数据中较大的值
D:比较两个数是否相等
4:顺序结构语句(掌握)
(1)流程控制语句:
顺序结构
选择结构
循环结构
(2)顺序结构
程序从上往下,依次执行。
5:if语句(掌握)
(1)三种格式
A:格式1
if(关系表达式) {
语句体;
}
执行流程:
a:计算关系表达式的值
b:如果是true,就执行语句体
如果是false,就不执行语句体
c:继续向下执行
B:格式2
if(关系表达式) {
语句体1;
}else {
语句体2;
}
执行流程:
a:计算关系表达式的值
b:如果是true,就执行语句体1
如果是false,就执行语句体2
c:继续向下执行
和三元运算符的区别?
三元运算符可以实现的,都可以用if语句的格式2实现,反之不成立。
什么时候不成立呢?
当if语句的语句体是一条输出语句的时候,就不可以。
因为三元运算符是一个运算符,要求运算返回一个结果,
而输出语句不是一个返回结果。
C:格式3
if(关系表达式1) {
语句体1;
}else if(关系表达式2) {
语句体2;
}else if(关系表达式3) {
语句体3;
}
...
else {
语句体n+1;
}
执行流程:
a:计算关系表达式1的值
b:如果是true,就执行语句体1
如果是false,就计算关系表达式2的值
c:如果是true,就执行语句体2
如果是false,就计算关系表达式3的值
...
d:如果所有的关系表达式都不满足,执行else里面的语句体n+1;
(2)注意事项
A:关系表达式无论简单还是复杂,结果必须是boolean类型
B:if语句的语句体如果是一条语句,{}是可以省略的。如果是多条语句,{}不可以省略。
建议永远不要省略。
C:不要随意加;
一般有{无;
D:else后面不会有关系表达式,只有if后面有。
(3)练习
A:获取两个数据中较大的值
B:获取三个数据中较大的值
C:比较两个数是否相等
D:根据键盘录入的x的值,计算出y的值并输出结果
E:根据学生成绩,输出对应的评价
F:根据键盘录入的月份,输出对应的季节
6:switch语句(掌握)
(1)格式:
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
...
default:
语句体n+1;
break;
}
格式解释:
A:看到switch说明这是switch语句
B:表达式的取值
byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是String
面试题:switch的表达式是可以是byte吗?可以是long吗?可以是String吗?
C:case后面的值是和表达式进行匹配的
D:语句体就是要完成的动作,可以是多条语句
E:break 说明语句被中断了
F:default 和if语句的else相似,用于处理所有不匹配的情况
(2)执行流程
A:计算表达式的值
B:和case后面的值进行匹配,如果有对应的就执行对应的语句
C:如果没有对应的,就执行default
(3)注意事项
A:case后面只能是常量,不能是变量,并且常量值不能重复。
B:break可以省略吗?
可以。最后一个肯定可以。
中间的也可以,但是不建议。因为可能得到的结果不是我们想要的。
case穿透。
C:default可以省略吗?
可以。
D:default一定要在最后吗?
不一定。在中间也是可以的。但是要注意加上break
E:switch语句的结束条件
a:遇到break
b:执行到程序的末尾
(4)练习
A:表达式是整数的情况
B:表达式是字符的情况
C:表达式是字符串的情况
D:根据键盘录入的月份,输出对应的季节
(5)if语句和switch语句的各自应用场景
A:if语句
可以对几个常量值进行判断
可以对表达式是boolean类型的进行判断
可以对一个数据范围进行判断
B:switch语句
适合几个常量值的判断(单选题)
猜你喜欢
- 2024-09-25 C语言 switch开关语句(c语言程序switch)
- 2024-09-25 好程序员Java教程分享Java的两种跳转语句
- 2024-09-25 如何更优雅的使用JavaScript中的switch语句
- 2024-09-25 java14引入的“记录类型”和“switch增强”
- 2024-09-25 JAVA笔记(三十四):Javascript流程控制语句
- 2024-09-25 C++——switch 语句(c++里switch语句)
- 2024-09-25 Java 17 更新之:模式匹配要支持 switch了
- 2024-09-25 Java14中switch的Lambda样式语法(java14中switch的lambda样式语法是什么)
- 2024-09-25 Java 17中的Switch表达式:提高代码可读性
- 2024-09-25 Java中的if语句和switch语句#if语句#switch语句
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)