一.逻辑运算符
逻辑运算符主要有三个
:
&& || ! ,运算结果都是
boolean
类型。
1.逻辑与 &&
语法规则:表达式
1 &&
表达式
2
,左右表达式必须是
boolean
类型的结果。
相当于现实生活中的且,比如:如果是学生,并且 带有学生证 才可以享受半票。
两个表达式都为真,结果才是真,只要有一个是假,结果就是假。
2. 逻辑 ||
语法规则:表达式
1 ||
表达式
2
,左右表达式必须是
boolean
类型的结果。
相当于现实生活中的或,比如:买房子交钱时,全款 或者 按揭都可以,如果全款或者按揭,房子都是你的, 否则站一边去
注意:左右表达式至少有一个位真,则结果为真
3. 逻辑非 !
语法规则:
!
表达式
真变假,假变真。
二. 位运算符
Java
中数据存储的最小单位是字节,而数据操作的最小单位是比特位
.
字节是最小的存储单位,每个字节是由
8
个二 进制比特位组成的,多个字节组合在一起可以表示各种不同的数据。
位运算符主要有四个
:
& | ~ ^ ,除
~
是一元运算符外,其余都是二元运算符
1. 按位与 &:
如果两个二进制位都是
1,
则结果为
1,
否则结果为
0.
2. 按位或 |:
如果两个二进制位都是
0,
则结果为
0,
否则结果为
1.
3. 按位取反 ~:
如果该位为
0
则转为
1,
如果该位为
1
则转为
0
4. 按位异或 ^:
如果两个数字的二进制位相同
,
则结果为
0,
相异则结果为
1.
三. 移位运算
移位运算符有三个
:
<< >> >>>
,都是二元运算符,且都是按照二进制比特位来运算的。
1. 左移 <<:
最左侧位不要了
,
最右侧补
0.
2. 右移 >>:
最右侧位不要了
,
最左侧补符号位
(
正数补
0,
负数补1)
3. 无符号右移 >>>:
最右侧位不要了
,
最左侧补
0.
四. 条件运算符
条件运算符只有一个
:
表达式
1 ?
表达式
2 :
表达式
3
当
表达式
1
的值为
true
时
,
整个表达式的值为
表达式
2
的值
;
当
表达式
1
的值为
false
时
,
整个表达式的值为
表达式
3
的值
.
也是
Java
中唯一的一个
三目运算符
,
是条件判断语句的简化写法
.
// 求两个整数的最大值
int a = 10;
int b = 20;
int max = a > b ? a : b;
五. 分支结构
1. if 语句
if(布尔表达式1){
// 语句1
}else if(布尔表达式2){
// 语句2
}else{
// 语句3
}
2 .switch 语句
基本语法
switch(表达式){
case 常量值1:{
语句1;
[break;]
}
case 常量值2:{
语句2;
[break;]
}
default:{
内容都不满足时执行语句;
[break;]
}
}
执行流程:
1.
先计算表达式的值
2.
和
case
依次比较,一旦有响应的匹配就执行该项下的语句,直到遇到
break
时结束
3.
当表达式的值没有与所列项匹配时,执行
default
六. 循环结构
1 while 循环
基本语法格式
:
while(循环条件){
循环语句;
}
循环条件为
true,
则执行循环语句
;
否则结束循环
2 continue
continue
的功能是跳过这次循环
,
立即进入下次循环
.
代码示例
:
找到
100 - 200
中所有
3
的倍数
int num = 100;
while (num <= 200) {
if (num % 3 != 0) {
num++; // 这里的 ++ 不要忘记! 否则会死循环.
continue;
}
System.out.println("找到了 3 的倍数, 为:" + num);
num++;
}
执行到 continue 语句的时候, 就会立刻进入下次循环(判定循环条件), 从而不会执行到下方的打印语句.
3 for 循环
【
基本语法
】
for(表达式①;布尔表达式②;表达式③){
表达式④;
}
表达式
1:
用于初始化循环变量初始值设置,在循环最开始时执行,且只执行一次
表达式
2:
循环条件,满则循环继续,否则循环结束
表达式
3:
循环变量更新方式
【代码示例】
.计算 1! + 2! + 3! + 4! + 5!
int sum = 0;
for (int i = 1; i <= 5; i++) {
int tmp = 1;
for (int j = 1; j <= i; j++) {
tmp *= j;
}
sum += tmp;
}
System.out.println("sum = " + sum);
七 从键盘输入
1.使用
Scanner
读取字符串
/
整数
/
浮点数
import java.util.Scanner; // 需要导入 util 包
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的姓名:");
String name = sc.nextLine();
System.out.println("请输入你的年龄:");
int age = sc.nextInt();
System.out.println("请输入你的工资:");
float salary = sc.nextFloat();
System.out.println("你的信息如下:");
System.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);
sc.close(); // 注意, 要记得调用关闭方法
// 执行结果
请输入你的姓名:
张三
请输入你的年龄:
18
请输入你的工资:
1000
你的信息如下:
姓名: 张三
年龄:18
工资:1000.0