/**
* switch(变量){
* case :变量的值
* 自定义方法
* break;
* case :变量的值
* * 自定义方法
* * break;
* default:
* 自定义方法
* break;
* }
*/
public class SwitchDemo {
public static void main(String[] args) {
System.out.println("开始");
//需求:键盘录入一个星期数(1,2,...7),输出对应的星期一,星期二,...星期日
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个星期数(1-7):");
int week = sc.nextInt();
switch(week) {
case 1:
case 2:
case 3:
System.out.println("春季");
break;
case 4:
case 5:
case 6:
System.out.println("夏季");
break;
default:
System.out.println("你输入月份");
break;
}
System.out.println("结束");
}
}
switch题目
import java.util.Scanner;
public class SwitchTest {
public static void main(String[] args) {
//键盘录入月份数据,使用变量接收
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个点数:");
int month = sc.nextInt();
//case穿透 短路或的业务相似 | ||
switch(month) {
case 1:
case 2:
case 3:
System.out.println("小");
break;
case 4:
case 5:
case 6:
System.out.println("大");
break;
default:
System.out.println("你输入的点数有误");
}
}
}
do(){} while()
/*
do...while语句
基本格式:
do {
循环体语句;
}while(条件判断语句);
完整格式:
初始化语句;
do {
循环体语句;
条件控制语句;
}while(条件判断语句);
执行流程:
1:执行初始化语句
2:执行循环体语句
3:执行条件控制语句
4:执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
5:回到2继续
*/
public class DoWhileDemo {
public static void main(String[] args) {
//do...while循环实现
int j = 77;
do {
System.out.println("打印位置 ");
j++;
System.out.println(j); //78
}while(j<=5); //false
System.out.println("第二次"+j);
}
}
/*
for语句
格式:
for(初始化语句;条件判断语句;条件控制语句) {
循环体语句;
}
执行流程:
1:执行初始化语句
2:执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
3:执行循环体语句
4:执行条件控制语句
5:回到2继续
*/
public class ForDemo {
public static void main(String[] args) {
//需求:在控制台输出5次"HelloWorld"
System.out.println("1");
System.out.println("2");
System.out.println("3");
System.out.println("4");
System.out.println("5");
System.out.println("--------");
//for (初始值 变量,条件判断== ><>=<=,初始值的++或者--)
//用循环改进
//我们打印十个数字
for (int j=100;j>=1;j--){
System.out.println("输入的j是"+j);
}
for (int a=1;a<=10;a++){
System.out.println("a="+a);
}
for(int i=1; i<=5; i++) {
System.out.println(i);
}
}
}
/*
输出数据
需求:
在控制台输出1-5和5-1
*/
public class ForTest01 {
public static void main(String[] args) {
//需求:输出数据1-5
for(int i=1; i<=5; i++) {
System.out.println(i); //1 2 3 4 5
}
System.out.println("--------");
//需求:输出数据5-1
for(int i=5; i>=1; i--) {
System.out.println(i); //54321
}
}
}
/*
求和
作业
需求:
求7-12之间的数据和,并把求和结果在控制台输出
*/
public class ForTest02 {
public static void main(String[] args) {
//求和的最终结果必须保存起来,需要定义一个变量,用于保存求和的结果,初始值为0
int sum = 0;
//从1开始到5结束的数据,使用循环结构完成
for(int i=1; i<=5; i++) {
sum += i; //sum=sum+i
}
//当循环执行完毕时,将最终数据打印出来
System.out.println("1-5之间的数据和是:" + sum);
}
}
/*
求偶数和
需求:
求1-1000之间的对3取余==0和,并把求和结果在控制台输出
求1-100之间的奇数和,并把求和结果在控制台输出
*/
public class ForTest03 {
public static void main(String[] args) {
//求和的最终结果必须保存起来,需要定义一个变量,用于保存求和的结果,初始值为0
int sum = 0;
//对1-100的数据求和与1-5的数据求和几乎完全一样,仅仅是结束条件不同
for(int i=1; i<=100; i++) {
//对1-100的偶数求和,需要对求和操作添加限制条件,判断是否是偶数
if(i%2 == 0) {
sum += i; //sum=sum+i
}
}
//当循环执行完毕时,将最终数据打印出来
System.out.println("1-1000之间的偶数和是:" + sum);
}
}
/*
水仙花 1-10000的水仙花
需求:
在控制台输出所有的"水仙花数"
*/
public class ForTest04 {
public static void main(String[] args) {
//输出所有的水仙花数必然要使用到循环,遍历所有的三位数,三位数从100开始,到999结束
/*
for(int i=100; i<=999; i++) {
108 个 8 108%10=8 678 678%10=8
}
*/
for(int i=100; i<10000; i++) {
//在计算之前获取三位数中每个位上的值 1*1*1 + 5*5*5+ 3*3*3 = 153 678=6*6*6+7*7*7+8*8*8 水仙花的算法
int ge = i%10;
int shi = i/10%10;
int bai = i/10/10%10;
//判定条件是将三位数中的每个数值取出来,计算立方和后与原始数字比较是否相等
if(ge*ge*ge + shi*shi*shi + bai*bai*bai == i) {
//输出满足条件的数字就是水仙花数
System.out.println(i);
}
}
}
}
/*
统计
1-100有打多少个偶数
需求:
统计"水仙花数"一共有多少个,并在控制台输出个数
*/
public class ForTest05 {
public static void main(String[] args) {
//定义变量count,用于保存“水仙花数”的数量,初始值为0
int count = 0;
//输出所有的水仙花数必然要使用到循环,遍历所有的三位数,三位数从100开始,到999结束
for(int i=100; i<1000; i++) {
//在计算之前获取三位数中每个位上的值
int ge = i%10;
int shi = i/10%10;
int bai = i/10/10%10;
//在判定水仙花数的过程中,满足条件不再输出,更改为修改count的值,使count+1
if(ge*ge*ge + shi*shi*shi + bai*bai*bai == i) {
count++;
}
}
//打印输出最终结果
System.out.println("水仙花共有:" + count + "个");
}
}
/*
Random
作用:
用于产生一个随机数
使用步骤:
1:导包
import java.util.Random;
2:创建对象
Random r = new Random();
3:获取随机数
int number = r.nextInt(10);
获取数据的范围:[0,10) 包括0,不包括10
*/
import java.util.Random;
//范围是0-10000 打印10个随机数
public class RandomDemo {
public static void main(String[] args) {
//创建对象 n-1
Random r = new Random();
//用循环获取10个随机数
//获取随机数
int number = r.nextInt(101);//
System.out.println("number:" + number);
}
}
/*
猜数字
需求:
程序自动生成一个1-100之间的数字,使用程序实现猜出这个数字是多少?
当猜错的时候根据不同情况给出相应的提示
如果猜的数字比真实数字大,提示你猜的数据大了
如果猜的数字比真实数字小,提示你猜的数据小了
如果猜的数字与真实数字相等,提示恭喜你猜中了
*/
import java.util.Random;
import java.util.Scanner;
public class RandomTest {
public static void main(String[] args) {
//要完成猜数字的游戏,首先需要有一个要猜的数字,使用随机数生成该数字,范围1到100
Random r = new Random();
int number = r.nextInt(100) + 1;
while(true) {
//使用程序实现猜数字,每次均要输入猜测的数字值,需要使用键盘录入实现
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要猜的数字:");
int guessNumber = sc.nextInt();
//比较输入的数字和系统产生的数据,需要使用分支语句。这里使用if..else..if..格式,根据不同情况进行猜测结果显示
if(guessNumber > number) {
System.out.println("你猜的数字" + guessNumber + "大了");
} else if(guessNumber < number) {
System.out.println("你猜的数字" + guessNumber + "小了");
} else {
System.out.println("恭喜你猜中了");
break;
}
}
}
}
/*
while语句
基本格式:
while(条件判断语句) {
循环体语句;
}
完整格式:
初始化语句;
while(条件判断语句) {
循环体语句;
条件控制语句;
}
执行流程:
1:执行初始化语句
2:执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
3:执行循环体语句
4:执行条件控制语句
5:回到2继续
*/
public class WhileDemo {
public static void main(String[] args) {
// //需求:在控制台输出5次"HelloWorld"
// //for循环实现
// for(int i=1; i<=5; i++) {
// System.out.println("HelloWorld");
// }
// System.out.println("--------");
//while循环实现
int j = 6;
while(j<=5) {
System.out.println("HelloWorld");
j++;
}
System.out.println(j);
}
}
/*
珠穆朗玛峰
需求:
世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。
请问,我折叠多少次,可以折成珠穆朗玛峰的高度?
*/
public class WhileTest {
public static void main(String[] args) {
//定义一个计数器,初始值为0
int count = 0;
//定义纸张厚度
double paper = 0.1;
//定义珠穆朗玛峰的高度
int zf = 8844430;
//因为要反复折叠,所以要使用循环,但是不知道折叠多少次,这种情况下更适合使用while循环
//折叠的过程中当纸张厚度大于珠峰就停止了,因此继续执行的要求是纸张厚度小于珠峰高度
while(paper <= zf) {
//循环的执行过程中每次纸张折叠,纸张的厚度要加倍
paper *= 2;
// System.out.println(paper);
//在循环中执行累加,对应折叠了多少次
count++;
}
//打印计数器的值
System.out.println("需要折叠:" + count + "次");
}
}
/* 三种循环的区别 */
public class LoopTest {
public static void main(String[] args) {
/*
//for循环
for(int i = 3; i<3; i++) {
System.out.println("我爱Java");
}
System.out.println("--------");
//while循环
int j = 3;
while(j<3) {
System.out.println("我爱Java");
j++;
}
System.out.println("--------");
//do...while循环
int k = 3;
do {
System.out.println("我爱Java");
k++;
}while(k<3);
*/
/*
//for循环
for(int i = 1; i<3; i++) {
System.out.println("我爱Java");
}
//System.out.println(i);
System.out.println("--------");
//while循环
int j = 1;
while(j<3) {
System.out.println("我爱Java");
j++;
}
System.out.println(j);
System.out.println("--------");
*/
//死循环
// int cou=0;
// for(;;) {
// System.out.println("for");
// cou++;
// System.out.println(cou);
// }
while(true) {
System.out.println("while");
}
// do {
// System.out.println("do...while");
// }while(true);
}
}
/*
循环嵌套:
循环语句中包含循环语句
需求:
在控制台输出一天的小时和分钟
分钟和小时的范围:
分钟:0 <= minute < 60
小时:0 <= hour < 24
100*100
*/
public class ForForDemo {
public static void main(String[] args) {
int sum;
for (int i=1;i<=4;i++){
for (int j=1;j<=i;j++){
sum=i*j;
System.out.print(sum);
}
System.out.println("");
}
//循环改进
// for(int minute=0; minute<4; minute++) {
// System.out.println("0时" + minute + "分");
// }
// System.out.println("--------");
//
// for(int minute=0; minute<4; minute++) {
// System.out.println("1时" + minute + "分");
// }
// System.out.println("--------");
//
// for(int minute=0; minute<4; minute++) {
// System.out.println("2时" + minute + "分");
// }
// System.out.println("--------");
//外循环控制小时的范围,内循环控制分钟的范围
// for(int hour=0; hour<3; hour++) {
// for(int minute=0; minute<4; minute++) {
// System.out.println(hour + "时" + minute + "分");
// }
// System.out.println("--------");
// }
// for(int hour=0; hour<24; hour++) {
// for(int minute=0; minute<60; minute++) {
// System.out.println(hour + "时" + minute + "分");
// }
// System.out.println("--------");
// }
}
}
作业
九九乘法表
public class 作业99 {
public static void main(String[] args) {
//输出九九乘法表
int num=10; //const定义的常变量
int a=1; //外层循环变量,控制行
int b=1; //内层循环变量控制列
for (a = 1; a <= num; ++a) {
for (b = 1; b <= a; b++) {
System.out.print(a+"×"+b+"="+a*b+" ");
}
System.out.println("");//打印完一行后换行,可以自己试一下
}
}
}
/* continue:用在循环中,基于条件控制,跳过某次循环体内容的执行,继续下一次的执行 结束当前 接着下一次 break:用在循环中,基于条件控制,终止循环体内容的执行,也就是说结束当前的整个循环 执行一次 */
public class ControlDemo {
public static void main(String[] args) {
for(int i = 1; i<=5; i++) {
if(i%2 == 0) {
System.out.println("结果"+i);
continue;
//break;
}
System.out.println(i); //1 2 4
}
}
}
本文介绍了Java编程中的几种循环结构,包括switch语句、do...while循环、for循环和while循环,以及如何在这些结构中进行条件判断和逻辑控制。同时,提供了实例代码,如求和、输出特定序列、生成随机数、猜数字游戏等,展示了循环和逻辑控制在解决实际问题中的应用。

1万+

被折叠的 条评论
为什么被折叠?



