/** * 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
}
}
}