Java 学习笔记(基础篇2)
1. 分支结构
① if 语句:
(1) 双分支:
if (条件) {// 语句体1
} else {// 语句体2
}
(2) 多分支
if (条件1) {// 语句体1
} else if (条件2) {// 语句体2
} else {// 语句体N
}
② switch 语句:
(1) 语法:如果都不是(default),就推荐招牌
switch (变量) {case 值1:// 语句1;break;case 值2:// 语句2;break;...default:// 默认语句;break;
}
(2) 注意:
- 表达式:(将要匹配的值)取值为byte、short、int、char
- case:后面跟的是要和表达式进行比较的值
- break:跳出循环,不能缺省,否则会造成 case 穿透
- default:都不匹配时执行该处内容
- case 后面的值只能是字面量,不能是变量
- case 后面的值不能重复
2. 循环结构
① 跳转控制语句
(1)break 语句
- 作用:终止当前
for
、while
、do...while
语句,跳出循环。 - 示例
for (int i = 1; i <= 5; i++) {System.out.println("i = " + i);if (i == 3) {break;}
}
// 输出:1, 2
(2)continue 语句
- 作用:跳过本次循环,继续下一次循环。
- 示例
for (int i = 1; i <= 5; i++) {if (i == 3) {continue;}System.out.println("i = " + i);
}
// 输出:1, 2, 4, 5
② 循环高级综合练习:
(1) 回文数(第二天记得写一下)
public class test15 {public static void main(String[] args) {int x = 12321;int temp = x;int num = 0;while (x != 0){int ge = x % 10;x = x / 10;num = num * 10 + ge;}System.out.println(num);System.out.println(num == temp);}
}
num = num * 10 + ge:
num * 10
:给当前结果 “腾出最后一位”(比如 3 变成 30,留出位置给下一个数字)。+ ge
:把新取的末尾数字(ge
)放到腾出的位置上(比如 30 + 2 = 32)。
(2) 求平方根(第二天记得写一下)
public class test16 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个整数");int number = sc.nextInt();for (int i = 2; i <= number; i++) {if (i * i == number) {System.out.println(i + "就是" + number + "的平方根");break;} else if (i * i > number) {System.out.println((i - 1) + "就是" + number + "的平方根");break;}}}
}
(3) 判断输入整数是否为质数(第二天记得写一下)
public class test17 {public static void main(String[] args) {boolean flag = true;Scanner sc = new Scanner(System.in);System.out.println("请输入一个整数");int number = sc.nextInt();for (int i = 2; i <= number - 1; i++){if (number % i == 0){flag = false;break;}}if (flag){System.out.println(number + "是质数");} else{System.out.println(number + "不是质数");}}
}
- 当
i
循环到number
本身时,number % i
一定等于 0(任何数都能被自己整除) boolean flag = true
:用一个标记变量默认标记为 “是质数”
(4) Random:产生一个随机数
使用步骤:
(1)导包:import java.util.Random;
(2)创建对象:Random r = new Random();
(3)获取随机数:int number = r.nextInt(10); //获取数据的范围:[0,10],包括0,不包括10