-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
1:运算符(掌握)
(1)算术运算符
+,-,*,/,%,++,--
+:正号,加法,字符串连接符
%:两数相除,得到余数
++,--:
单独使用:在操作数的前后,效果一致。
参与操作使用:
在操作数前,先++或者--,再参与操作。
在操作数后,先参与操作,再++或者--。
(2)赋值运算符
=,+=,-=,*=,/=,%=
=:把右边赋值给左边。
?=:把左边和右边操作后赋值给左边。
注意:赋值的左边不能是常量。
(3)比较运算符
==,!=,>,>=,<,<=
A:结果肯定是boolean类型。
B:不要把==写出=。
(4)逻辑运算符
&:有false则false
|:有true则true
^:相同为false,不同为true。通过情侣关系来理解。
!:非false则true,非true则false。偶数次不改变以前的真假。
&&:和&的结果一样,但是具有短路效果。左边有false,右边不执行。
||:和|的结果一样,但是具有短路效果。左边有true,右边不执行。
(5)位运算符(了解)
要想操作,就必须把所有的数据转换为二进制。然后操作。
注意:
^:对同一个数据异或两次,该数本身不变。
数据交换:假设a,b是已经知道的int类型的变量
A:方式1(掌握 开发用)
int temp = a;
a = b;
b = temp;
B:方式2(掌握 面试用)
左边a,b,a
右边a^b
a = a ^ b;
b = a ^ b;
a = a ^ b;
C:知道就行
a = a + b;
b = a - b;
a = a - b;
D:知道就行
a = (a+b)-(b=a);
(6)三元运算符
格式:
比较表达式?值1:值2;
执行流程:
如果比较表达式是true,结果是值1;
如果比较表达式是false,结果是值2;
案例:
A:比较两个数是否相同
B:获取两个数中的最大值
C:获取三个数据中的最大值
D:做C题目的时候,还可以练习三元运算符的嵌套。
2:键盘录入(掌握)
(1)键盘录入数据,让我们的程序灵活性更高。
(2)步骤:
A:导包
import java.util.Scanner;
B:创建对象
Scanner sc = new Scanner(System.in);
C:调用方法
int i = sc.nextInt();
(3)案例:
把前面的案例通过键盘录入改进数据。
3:顺序结构(掌握)
(1)程序的流程控制语句:
A:顺序结构
从上往下依次执行
B:选择结构
if,switch
C:循环结构
for,while,do...while
4:选择结构之if语句(掌握)
(1)格式:
方式1:
if(比较表达式) {
语句体;
}
执行流程:
看比较表达式的返回值:
true:执行语句体;
false:不执行,可以继续向下执行。
方式2:
if(比较表达式) {
语句体1;
}else {
语句体2;
}
执行流程:
看比较表达式的返回值:
true:执行语句体1;
false:执行语句体2;
方式3:
if(比较表达式1) {
语句体1;
}else if(比较表达式2) {
语句体2;
}
else if(比较表达式3) {
语句体3;
}
...
else if(比较表达式n) {
语句体n;
}
执行流程:
看比较表达式1的返回值:
true:执行语句体1;
false:看比较表达式2的返回值:
true:执行语句体2;
false:...
可能所有的语句体都没有被执行。
方式4:
if(比较表达式1) {
语句体1;
}else if(比较表达式2) {
语句体2;
}
else if(比较表达式3) {
语句体3;
}
...
else if(比较表达式n) {
语句体n;
}else {
语句体n+1;
}
执行流程:
看比较表达式1的返回值:
true:执行语句体1;
false:看比较表达式2的返回值:
true:执行语句体2;
false:...
所有的都不匹配,执行else里面的语句体n+1。
肯定有一个被执行。
(2)if语句的格式注意事项:
A:比较表达式无论是简单还是复杂,结果肯定是boolean类型。
B:语句体如果是一条,可以省略大括号;如果是多条,就不能省略。
建议:无论一条还是多条,都不省略大括号。
C:不要随便加分号。
一般:有分号,就没有左大括号,有左大括号就没有分号。
D:每种if语句其实都是一个整体,有一条语句执行,其他的将不再执行。
(3)案例:
A:判断两个数据是否相等。
B:获取两个数据中的最大值。
C:判断三个数据中的最大值。(if语句的嵌套)
D:根据给定的月份,输出对应的季节。
E:根据给出的分数,输出对应的等级。
F:根据给定的x的值,确定y的值。
5:选择结构之switch语句
(1)格式:
switch(表达式) {
case 值1:
语句1;
break;
case 值2:
语句2;
break;
case 值3:
语句3;
break;
...
default:
语句n;
//break;
}
解释:
A:表达式的取值:
byte,short,int,char
JDK5以后可以是枚举。
JDK7以后可以是字符串。
B:case后面值就是表达式要匹配的内容。
case后面的值是不能重复的。
C:如果所有的case都没有和表达式匹配的,就执行default所控制的内容。
D:break是结束的意思。
(2)执行流程:
A:计算表达式的值。
B:用这个值和case的值依次匹配。
C:要么匹配成功:就执行对应的匹配所控制的语句
要么匹配失败:就执行default的所控制的语句
(3)switch语句的问题:
A:case和default的顺序关系?
a:位置上没有关系。但是建议按照基本格式写。
b:执行上有关系,现执行case匹配,如果没有,才能执行default。
B:break可以省略吗?
可以。但是有可能是你不想要的结果。所以,建议不省略。
C:最后一个语句的break是可以省略的。
D:switch语句的结束条件:
a:遇到break。
b:执行到末尾。
(4)案例:
A:根据给出的数字1,2,...,输出对应的星期几。(byte,short,int)
B:根据给定的选项,输出对应的选择。(char)
C:根据给定的字符串,输出对应的字符串。(String)
6:选择结构的语句使用的时候,如果选择呢?
如果是有限个数的值,用switch。
其他全部用if语句。
如果是一种判断:第一种
如果是二种判断:第二种
如果是多种判断:第三种或者第四中。优先考虑第四种。
7:for循环
(1)格式:
for(初始化表达式; 控制条件表达式; 增量表达式) {
循环体语句;
}
执行流程:
A:先执行初始化表达式
B:执行控制条件表达式
C:看B的返回值:
true:执行循环体语句和增量表达式,回到B继续。
false:就结束for循环。
(2)for循环的注意事项:
A:注意格式问题。
B:分号和大括号的问题。
C:大括号建议不要省略。
8:while循环
(1)while:
基本格式:
while(条件表达式) {
语句;
}
扩展格式:
初始化表达式;
while(控制条件表达式) {
循环体语句;
增量表达式
}
执行流程:
A:先执行初始化表达式
B:执行控制条件表达式
C:看B的返回值:
true:执行循环体语句和增量表达式,回到B继续。
false:就结束while循环。
注意:
while循环和for循环是可以等价转换的。
区别:
增量如果还要继续使用,就用while循环。否则就用for循环。
使用场景:
A:是一个明确的范围,用for。
B:次数不明确,用while循环。
9:(2)do...while循环:
基本格式:
do {
语句;
}while(条件表达式);
扩展格式:
初始化表达式;
do {
循环体语句;
增量表达式
}while(控制条件表达式);
执行流程:
A:先执行初始化表达式
B:执行循环体语句和增量表达式
C:执行控制条件表达式
D:看C的返回值:
true:回到B继续。
false:就结束do...while循环循环。
和其他两种循环的区别:
do...while循环至少执行一次循环体。
10:循环嵌套
(1)这两天作业的格式:
if语句
switch语句
for语句
while语句
for里面嵌套if判断
for里面嵌套for循环
11:continue和break
(1)作用:
用于控制循环语句跳转的。
(2)在哪里使用呢?
不能单独使用。
continue必须在循环中。
break可以在循环和switch语句中。
(3)区别:
continue:结束本次循环,进入下一次循环。
break:结束当前循环。在双重for循环的时候,
如果break在内层循环,只能结束内层循环不影响外层循环
(4)带标号的跳转
可以退出多层循环。
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------