目录
逻辑控制是所有程序世界里必不可缺的部分,生活中其实也是如此(选择小学,选择高中,选择大学,选对象,选择考公 考研 出国或者直接工作....)人生处处充满抉择,结果有时不如意,大家也别灰心放弃,因为机会说不准就在下一个选择的拐角处等着你呢~
Java的世界其实也是少不了逻辑控制选择的,接下来带大家康康Java中的部分基础逻辑控制语句。
一、if语句
1、if 语句语法形式:
if(布尔表达式){
//条件满足时执行代码
}
if(布尔表达式){
//条件满足时执行代码
}else{
//条件不满足时执行代码
}
if(布尔表达式){
//条件满足时执行代码
}else if(布尔表达式){
//条件满足时执行代码
}else{
//条件都不满足时执行代码
}
讲了这么多语法,来个实例。
判断一年是否为闰年,如下:
int year = 2000;
if (year % 100 == 0) {
// 判定是否为世纪闰年
if (year % 400 == 0) {
System.out.println("是闰年");
} else {
System.out.println("不是闰年");
}
} else {
// 判定是否为普通闰年
if (year % 4 == 0) {
System.out.println("是闰年");
比特科技
} else {
System.out.println("不是闰年");
}
}
注意:
int x = 10;
int y = 10;
if (x == 10)
if (y == 10)
System.out.println("aaa");
else
System.out.println("bbb");
//因为else与最近的if匹配,因此输出结果为aaa
二、switch语句
switch( ){
case 内容1 : {
内容满足时执行语句;
break;
}
case 内容2 : {
内容满足时执行语句;
break;
}
...
default:{
内容都不满足时执行语句;
break;
}
}
int day = 1;
switch(day) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("输入有误");
break; }
2、switch 中的值只能是 int / byte / short / enum / char / String。
long float double boolean 都不可以作为switch的参数。
三、while循环
基本语法格式:
while(循环条件){
循环语句;
}
int n = 1;
int result = 1;
while (n <= 5) {
result *= n; //这步相当于result=n*result
n++;
}
System.out.println(num); // 执行结果为120
2、计算 1! + 2! + 3! + 4! + 5!
int num = 1;
int sum = 0;
while (num <= 5) { // 外层循环负责求阶乘的和
int factorResult = 1;
int tmp = 1;
while (tmp <= num) { // 里层循环负责完成求每个阶乘的值
factorResult *= tmp;
tmp++;
}
sum += factorResult;
num++;
}
System.out.println("sum = " + sum);
四、for循环
for(表达式1;表达式2;表达式3){
循环体;
}
int result = 0;
for (int i = 1; i <= 5; i++) {
result *= i;
}
System.out.println("result = " + result);
例二:计算 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);
(这题的易错点:tmp定义时,记得放在内循环外,外循环里,如果放在外循环外部的话,tmp相当于只会初始化一次,后续求阶乘会出问题从而得不到我们想要的结果)
五、do...while 循环
基本语法格式:
do{
循环语句;
}while(循环条件);
int num = 1;
do {
System.out.println(num);
num++;
} while (num <= 10);
注意:do...while 循环最后的分号不要忘记。一般do while用的比较少,while和for循环用的是最多的。
六、循环中的特殊语句
1、break语句
例:找到 100 ~ 200 中第一个为 3 的倍数的数字并打印。
int num = 100;
while (num <= 200) {
if (num % 3 == 0) {
System.out.println("找到了 3 的倍数, 为:" + num);
break;
}
num++;
}
// 执行结果 找到了 3 的倍数, 为:102
由此可见break可以跳出循环。若有嵌套的循环,break跳出的是离自己最近的循环。
2、continue语句
int num = 100;
while (num <= 200) {
if (num % 3 != 0) {
num++;
continue;
}
System.out.println("找到了 3 的倍数, 为:" + num);
num++;
}
七、Java中的输入输出
1、输出
这个在第一节初识Java中也有提到过,Java中的输出大体分三种。
2、System.out.print("hello world"); // 输出一个字符串, 不带换行
3、 int a=77;
System.out.printf("a=%d\n",a); //和c语言中的一样,格式化输出。
![](https://i-blog.csdnimg.cn/blog_migrate/34827492334dba1a7aad0dfcab2aeb8c.png)
2、输入
使用 Scanner 读取字符串/整数/浮点数
import java.util.Scanner; // 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);
// 执行结果
请输入你的姓名:
张三
请输入你的年龄:
18
请输入你的工资:
1000
你的信息如下:
姓名: 张三
年龄:18
工资:1000.0
当然除了上述也支持 nextBoolean()、nextByte()、nextShort()等输入的数据类型。
使用 Scanner 循环读取 N 个数字
![](https://i-blog.csdnimg.cn/blog_migrate/dd03e1615f469026c406006dc2f1522e.png)
那要怎么才能结束呢?
猜数字小游戏
最后写个猜数字的小游戏来结束本篇啦~
拓展一个random的用法(用之前也要导入 util 包)——
![](https://i-blog.csdnimg.cn/blog_migrate/af5166aca31d27db3be33e2243806c76.png)
import java.util.Random;
import java.util.Scanner;
class Test {
public static void main(String[] args) {
Random random = new Random();
Scanner sc = new Scanner(System.in);
int guess = random.nextInt(100);
while (true) {
System.out.println("请输入要输入的数字: (1-100)");
int num = sc.nextInt();
if (num < guess) {
System.out.println("低了");
} else if (num > guess) {
System.out.println("高了");
} else {
System.out.println("猜对了");
break;
}
}
}
}
最后运行结果为:
是不是很有趣呢,会了循环和逻辑后还可以写出更多有意思的小游戏。
下一篇就是关于方法(函数)的使用了 真心觉得自己写的好慢哈哈哈
to be continue →
欢迎大家互相探讨交流补充 欢迎捉虫!