java的逻辑运算符有
&,|,^,!, &&,||
-
注意事项:
- a:逻辑运算符一般用于连接boolean类型的表达式或者值。
- b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
- 算术表达式:a + b
- 比较表达式:a == b(条件表达式)
-
&逻辑与:有false则false。
-
|逻辑或:有true则true。
-
^逻辑异或:相同为false,不同为true。
-
!逻辑非:非false则true,非true则false。
-
特点:偶数个不改变本身。
-
&&和&的区别:
- a:最终结果一样。
- b:&&具有短路效果。左边是false,右边不执行。
- &是无论左边是false还是true,右边都会执行
-
位运算符
* &,|,^,~ ,>>。>>>,<<
* &,|,^,~ 的用法
* &:有0则0
* |:有1则1
* ^:相同则0,不同则1
* ~:按位取反
>>>,<<的用法:
<<:左移 左边最高位丢弃,右边补齐0
>>:右移 最高位是0,左边补齐0;最高为是1,左边补齐1
>>>:无符号右移 无论最高位是0还是1,左边补齐0
三元运算符的格式
(关系表达式) ? 表达式1 : 表达式2;
实现键盘录入
* a:导包
* 格式:
* import java.util.Scanner;
* 位置:
* 在class上面。
* b:创建键盘录入对象
* 格式:
* Scanner sc = new Scanner(System.in);
* c:通过对象获取数据
* 格式:
* int x = sc.nextInt();
流程控制语句:可以控制程序的执行流程。
流程控制语句的分类
顺序结构
选择结构
循环结构
执行流程
从上往下,依次执行。
选择语句if,switch语句
if语句的格式1
if(比较表达式) {
语句体;
}
执行流程:
先计算比较表达式的值,看其返回值是true还是false。
如果是true,就执行语句体;
如果是false,就不执行语句体;
if语句的格式2
if(比较表达式) {
语句体1;
}else {
语句体2;
}
执行流程:
首先计算比较表达式的值,看其返回值是true还是false。
如果是true,就执行语句体1;
如果是false,就执行语句体2;
if语句的格式3:
if(比较表达式1) {
语句体1;
}else if(比较表达式2) {
语句体2;
}else if(比较表达式3) {
语句体3;
}
...
else {
语句体n+1;
}
执行流程:
首先计算比较表达式1看其返回值是true还是false,
如果是true,就执行语句体1,if语句结束。
如果是false,接着计算比较表达式2看其返回值是true还是false,
如果是true,就执行语句体2,if语句结束。
如果是false,接着计算比较表达式3看其返回值是true还是false,
如果都是false,就执行语句体n+1。
注意事项:最后一个else可以省略,但是建议不要省略,可以对范围外的错误值提示
switch语句的格式
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
default 可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
break 最后一个可以省略,其他最好不要省略因为省略会出现一个现象:case穿透。
default可以在任意位置。建议在最后。
switch语句的结束条件
1、遇到break就结束了。
2、执行到switch的右大括号就结束了。
循环结构概述和for语句的格式及其使用
循环结构的分类
*for,while,do…while
循环结构for语句的格式:
for(初始化表达式;条件表达式;循环后的操作表达式) {
循环体;
}
执行流程:
1、执行初始化语句;
2、执行判断条件语句,看其返回值是true还是false;
如果是true,就继续执行;
如果是false,就结束循环;
3、执行循环体语句;
4、执行循环后的操作表达式;
5、回到2继续。
a:判断条件语句无论简单还是复杂结果是boolean类型。
b:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议无论什么时候都不要省略。
c:一般来说:有左大括号就没有分号,有分号就没有左大括号。
循环结构while语句的格式:
while循环的基本格式:
while(判断条件语句) {
循环体语句;
}
完整格式:
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
执行流程:
a:执行初始化语句
b:执行判断条件语句,看其返回值是true还是false
* 如果是true,就继续执行
* 如果是false,就结束循环
c:执行循环体语句;
d:执行控制条件语句
e:回到b继续。
循环结构do…while语句的格式:
do {
循环体语句;
}while(判断条件语句);
完整格式;
初始化语句;
do {
循环体语句;
控制条件语句;
}while(判断条件语句);
执行流程:
a:执行初始化语句
b:执行循环体语句;
c:执行控制条件语句
d:执行判断条件语句,看其返回值是true还是false
* 如果是true,就继续执行
* 如果是false,就结束循环
e:回到b继续。
三种循环语句的区别:
do...while循环至少执行一次循环体。
而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
for循环和while循环的区别:
如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。
不知道用谁就用for循环。因为变量及早的从内存中消失,可以提高内存的使用效率。
控制跳转语句
break 只能在switch和循环中
continue的使用场景只能在循环中
return的作用
返回,不是结束循环的,而是结束方法的。
return是结束方法
break是跳出循环
continue是终止本次循环继续下次循环
方法概述和格式说明
- A:为什么要有方法
- 提高代码的复用性
- B:什么是方法
- 完成特定功能的代码块。
- C:方法的格式
-
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) { 方法体语句; return 返回值; }
方法的格式说明
修饰符: public static。
返回值类型:就是功能结果的数据类型。
方法名:符合命名规则即可。方便我们的调用。
参数:
实际参数:就是实际参与运算的。
形式参数;就是方法定义上的,用于接收实际参数的。
参数类型:就是参数的数据类型
参数名:就是变量名
方法体语句:就是完成功能的代码。
return:结束方法的。
返回值:就是功能的结果,由return带给调用者。
方法重载:
在同一个类中,方法名相同,参数列表不同。与返回值类型无关。
参数列表不同:
A:参数个数不同
B:参数类型不同
C:参数的顺序不同(算重载,但是在开发中不用)