switch(表达式){ case 常量1: 语句块1; break; case 常量2: 语句块2: break; ... case 常量n; 语句块n; break; default: default语句块; break; }
表达式对应一个值;表达式的返回值必须是:(byte,short,int,char,String)
case 常量1:当表达式的值等于常量1,就执行 语句块1;
break 表示退出 switch
如果和 case常量1匹配,就执行语句块1,如果没有匹配,就继续匹配 case 常量2
如果一个都没有匹配上,则执行default。
int i = 2; switch(i){ 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 0: System.out.println("人工服务"); break; default: System.out.println("输入错误"); break; }
Scanner输入年份判断是否为闰年。
import java.util.Scanner; public class Practice02 { public static void main(String[] args) { //输入年份判断是否为闰年 //创建变量接收用户输入年份 Scanner input = new Scanner(System.in); System.out.println("输入需要查询的年份:"); int num = input.nextInt(); //判断是否为闰年 if(num % 4 == 0 && num % 100 != 0 || num % 400 ==0){ System.out.println(num + "年是闰年"); }else { System.out.println(num + "年不是闰年"); } } }
输入今天星期几,如果是周六就输入温度,温度高于等于30度去游泳,温度高于等于20度低于30度就去跑步,温度低于20度在家写代码;如果不是周六,好好工作。
import java.util.Scanner; public class Practice03 { //编写一个main方法 public static void main(String[] args) { //创建一个变量接收输入星期几 Scanner input = new Scanner(System.in); System.out.println("请输入今天星期几(1~7)"); int num = input.nextInt(); //判断是否周六 if(num == 6){ //接收输入温度 System.out.println("请输入今日温度"); int tem = input.nextInt(); //判断温度在哪个区间 if(tem >=30){ System.out.println("周六太热了去游泳吧!!"); }else if(tem >= 20){ System.out.println("周六温度在20~30之间去跑步吧!!"); }else { System.out.println("周六温度在20度以下在家写代码!!"); } }else { System.out.println("不是周六,好好工作!!"); } } }
输入月份,输出对应的天数。
import java.util.Scanner; public class Practice04 { public static void main(String[] args) { //根据用户输入的月份,输出当月对应的天数 //思路:Scanner 输入月份 //1,3,5,7,8,10,12月有31天 //4,6,8,11月有30天 //2月需要判断年份是否闰年,若是闰年则2月有29天,平年则2月有28天 //月份错误 //创建一个变量接收月份 Scanner input = new Scanner(System.in); System.out.println("请输入月份(1~12):"); int month = input.nextInt(); //判断月份,对应天数 /*if (month >= 1 && month <= 12){ if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8|| month == 10 || month == 12){ System.out.println(month + "月有31天"); } else if (month == 2) { //2月需要判断是否闰年 System.out.println("请输入年份:"); int year = input.nextInt(); if (year % 4 == 0 && year % 100 != 0 || year % 400 ==0) { System.out.println(year + "月有28天"); } else { System.out.println(year + "月有29天"); } }else { System.out.println(month + "月有30天"); } }else { System.out.println("输入的月份不存在"); }*/ switch(month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: System.out.println(month + "月有31天"); break; case 4: case 6: case 9: case 11: System.out.println(month + "月有30天"); break; //这里的 break 一定要记得 case 2: System.out.println("2月请输入年份"); int year = input.nextInt(); //判断是否闰年 if(year % 4 == 0 && year % 100 != 0 || year % 400 ==0){ System.out.println(year + "年是闰年,2月有29天"); }else { System.out.println(year + "年是平年,2月有28天"); } break; default : System.out.println("您输入的月份不存在"); break; } } }
作用:用来解决重复性问题
循环结构四要素:循环变量初始化,循环条件,循环体,循环变量迭代
反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,直到条件不成立,while循环结束。
定义循环变量; while(循环条件) { 循环体; 循环变量迭代; }
先判断,再执行
打印 1~100 之间的奇数
int num = 1; while (num <= 100) { System.out.println(num); num+2; }
老师检查作业是否合格,不合格安排学习任务,上午阅读教材,学习理论部分,下午上机编程,掌握代码部分
学习后继续检查,直到合格为止
import java.util.Scanner; public class Pratice05 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("老师检查是否合格?yes/no:"); String qualified = input.next(); while (qualified.equals("no")) { System.out.println("不合格,上午阅读教材,学习理论部分,下午上机编程,掌握代码部分"); System.out.println("老师检查是否合格?yes/no:"); qualified = input.next(); } System.out.println("恭喜合格啦!"); } }
输入一个整数,将其翻转输出。如输入123456,输出654321.
import java.util.Scanner; public class Practice06 { public static void main(String[] args) { //输入一个整数,将其翻转输出 Scanner input = new Scanner(System.in); System.out.println("请输入一个整数:"); int number = input.nextInt(); int result = 0; while (number != 0) { result = result * 10 + number % 10; number /= 10; } System.out.println("翻转后变成:" + result); } }
假设五个人参加考试,最后得出总分、最高分、最低分、平均分,要求成绩从控制台输入
import java.util.Scanner; public class Practice07 { public static void main(String[] args) { //假设五个人参加考试,最后得出总分、最高分、最低分、平均分,要求成绩从控制台输入 //思路:循环输入五人的成绩 Scanner input = new Scanner(System.in); //定义好需要的变量 int sum = 0,max = 0,min = 0,avg = 0; int num = 1; //循环输入成绩 while (num <= 5) { System.out.println("输入第" + num + "个人的成绩:"); int score = input.nextInt(); //总分 sum += score; //最高分,最低分 if (num == 1) { max = score; min = score; }else { max = max > score ? max : score; min = min < score ? min : score; } num++; } //平均分 avg = sum / 5; System.out.println("总分:" + sum + ",最高分:" + max + ",最低分:" + min + ",平均分:" + avg); } }
执行条件,先执行一次循环体,再判断循环条件。
循环变量初始化 do{ 循环体; 循环变量迭代; } while(循环条件);
经过几天学习,老师给了张浩一道测试题,先让他上机编写程序完成,然后老师检查是否合格。如果不合格,则继续编写。
import java.util.Scanner; public class DoWhile01 { public static void main(String[] args) { //经过几天学习,老师给了张浩一道测试题 //先让他上机编写程序完成 //然后老师检查是否合格。如果不合格,则继续编写。 Scanner input = new Scanner(System.in); String quil; do { System.out.println("上机编写程序"); System.out.println("老师批改是否合格(yes/no)"); quil = input.next(); } while(quil.equals("no")); System.out.println("恭喜合格"); } }
for(循环变量初始化;循环条件;循环变量迭代) { 循环体; }
DEBUG:找虫子,找到代码错误的位置
(一般在编译和运行都不报错,却找不到错误时使用)
步骤:
作用:return 使用在方法,表示跳出所在的方法
如果使用在 main 方法中,表示退出程序
import java.util.Scanner; public class Return01 { public static void main(String[] args) { //不满足条件时返回 //输入用户名 Scanner input = new Scanner(System.in); System.out.println("请输入用户名:"); String userName = input.next(); //判断用户名 if(!userName.equalsIgnoreCase("admin")){ System.out.println("用户名错误"); return; } //输入密码 System.out.println("请输入密码:"); String pwd = input.next(); //判断密码 if(!pwd.equalsIgnoreCase("88888888")){ System.out.println("密码错误"); return; } System.out.println("登录成功"); } }
equalsIgnoreCase("字符串")
比较两个字符串,忽略大小写
当break出现在循环语句中,作用是跳出循环语句,执行后面的代码
当变量x的值为3时,使用break语句跳出循环。
int x = 1; while (x <= 4) { System.out.println("x = " + x); if (x == 3) { break; //跳出循环 } x++; }
打印结果只到了 x = 3;并没有出现"x = 4"
continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环。
求1~100的奇数和
//用continue跳过偶数 int sum = 0; // 定义变量sum,用于记住和 for (int i = 1; i <= 100; i++) { if (i % 2 == 0) { // i是一个偶数,不累加 continue; // 结束本次循环 } sum += i; // 实现sum和i的累加 } System.out.println("sum = " + sum);
写代码要习惯注释