1 分支结构
1.1 概述
1.2 形式

1.3.1 练习:商品打折案例
package cn.tedu.basic; import java.util.Scanner; /需求:接收用户输入的原价,满1000打9折,满2000打8折,满5000打5折*/ public class TestDiscount {
public static void main(String[] args) {
//1.提示用户输入原价 System.out.println("请输入商品原价:"); //2.接收用户输入的原价 double price = new Scanner(System.in).nextDouble(); //3.计算打折后的价格 //3.1定义变量用来保存打折后的价格 double count = price;//初始值是商品的原价 //3.2判断用户的打折段位并打折 if(price >= 5000) {
//满5000 count = price *0.5;//打5折 }else if(price >= 2000) {
//满2000 count = price * 0.8;//打折8折 }else if(price >= 1000) {
//满1000 count = price *0.9;//打9折 } // if(1000 <= price && price< 2000) {
// count = price *0.9; // }else if(2000 <= price && price < 5000) {
// count = price * 0.8; // }else if(price >= 5000) {
// count = price *0.5; // } //3.3输出用户实际支付的价格 System.out.println("您实际应该支付:"+count); } }
1.3.2 练习: 统计学员得分段位案例
package cn.tedu.basic; import java.util.Scanner; /*本类用于判断学员分数的档位*/ public class TestScore {
public static void main(String[] args) {
//1.提示并接收学员的分数 System.out.println("请输入你的分数:"); int score = new Scanner(System.in).nextInt(); /*90分及以上 优秀 *80-89 良好 *70-79 中等 *60-69 及格 *60分及以下 不及格 */ /为了增强程序的健壮性,如果用户输入的数据不符合规则,就结束*/ if(score <0 || score >100 ) {
System.out.println("输入数据不合法,请重新输入!!!"); }else {
//2.判断分数的段位,并输出结果 if(score >= 90) {
//大于90 System.out.println("优秀!"); //}else if(score>=80 && score <=89) {
}else if(score>=80) {
//[80,90) System.out.println("良好!"); }else if(score>=70) {
//[70,80) System.out.println("中等!"); }else if(score>=60) {
//[60,70) System.out.println("及格!"); }else {
//小于60 System.out.println("不及格!"); } } } }
2 switch结构
2.1 概述
2.2 形式

2.3 练习:数字匹配
package cn.tedu.basic; /*本类用于练习switch结构*/ /总结: * 1.变量a的类型byte short char int String * 2.会拿着变量a的值依次与case后的值做比较,如果不加break, * 会向后穿透所有case,包括default * 3.如果设置了default“保底选项”,并且没有任何case匹配到的话,就执行default * 4.break与default是可选项,根据具体业务来决定加不加 * */ public class TestSwitch {
//1.创建程序的入口函数main public static void main(String[] args) {
//2.定义一个变量 int a = 19; //3.完成switch结构的测试 switch(a) {
case 1 : System.out.println(1);break; case 2 : System.out.println(2);break; case 3 : System.out.println(3);break; case 4 : System.out.println(4);break; case 5 : System.out.println(5);break; default : System.out.println(0); } } }
2.4 练习: Switch中的String类型
使用类: TestSwitch.java
package cn.tedu.basic2; /本类用来测试switch结构2*/ public class TestSwitch2 {
public static void main(String[] args) {
String day = "星期五"; switch(day) {
case "星期一" : System.out.println("星期一吃四川火锅");break; case "星期二" : System.out.println("星期二吃齐齐哈尔烤肉");break; case "星期三" : System.out.println("星期三吃新疆羊肉串");break; case "星期四" : System.out.println("星期四吃阳澄湖大闸蟹");break; case "星期五" : System.out.println("星期五吃兰州拉面");break; case "星期六" : System.out.println("星期六吃南昌拌粉");break; case "星期日" : System.out.println("星期日吃武汉藕汤");break; default : System.out.println("想吃点啥吃点啥吧~"); } } }
2.5 switch结构的注意事项
- switch 语句中的变量类型可以是: byte、short、int 、char、String(jdk1.7以后支持)
- switch 语句可以拥有多个 case 语句
- 每个 case 后面跟一个要比较的值和冒号,且此值的数据类型必须与变量的数据类型一致
- 当变量值与 case 语句值相等时,开始执行此case 语句的内容,执行完会判断此行代码是否有break,如果有,结束执行,如果没有,会继续向后执行穿透所有case,包括default
- switch 语句可以包含一个 default 分支,该分支一般是写在switch 语句的最后
- 如果在default之前的case有break,则default不会执行
3 循环结构
3.1 for概述
3.2 for形式

3.3 for循环执行顺序
3.4 练习:打印100次slogon/打印0到10/打印10到0/打印8,88,888,8888,
package cn.tedu.basic; /本类用来测试循环结构for循环*/ public class TestFor {
public static void main(String[] args) {
//需求:打印100次自己的宣言 //for(开始条件;循环条件;更改条件){循环体;} for(int i = 1;i<=100;i++) {
System.out.println(“又不是没那条件,干就完啦!”); } //需求:打印0到10 //for(开始条件;循环条件;更改条件){循环体;} //0 1 2 3 4 5 6 7 8 9 10 //从哪开始:0 //到哪结束:10 //怎么变化:+1 ++ for(int i = 0;i<=10;i++) {
System.out.println(i); } System.out.println(""); //需求:打印10到0 //10 9 8 7 6 5 4 3 2 1 0 //从哪开始:10 //到哪结束:0 //怎么变化:-1 -- //for(开始条件;循环条件;更改条件){循环体} for(int i = 10 ;i >= 0;i--) {
System.out.println(i); } //需求:打印8,88,888,8888, //8 88 888 8888 //从何开始:8 //到哪结束:8888 //如何变化:*10+8 for(int i =8 ; i <= 8888 ; i=i*10+8) {
System.out.print(i+",");//使用的是print(),打印后不换行 } } }
3.5 练习:求[1,100]以内元素之和,偶数之和,偶数个数
package cn.tedu.basic; /*本类用于测试for循环结构2*/ public class TestFor2 {
public static void main(String[] args) {
//m1(); //m2(); m3(); } /*需求:求出1-100以内所有偶数的个数*/ private static void m3() {
//1.定义变量用来保存偶数的个数 int count = 0; //2.创建循环,依次循环1-100范围内的数 for(int i = 1;i<101;i++) {
//3.过滤出来要统计个数的偶数 if(i % 2 ==0) {
//说明这是一个偶数 //4.对偶数的个数进行累计 //count = count +1; count++; //++count; } } //5.打印最终统计的个数 System.out.println(count); } /*需求:求出1-100以内所有偶数的和*/ private static void m2() {
//1.定义变量用来保存最终求和的结果 int sum = 0; //2.创建循环,依次循环1-100范围内的数 for(int i = 1;i <101;i++) {
//3.过滤出来需要累加的偶数 if(i%2 == 0) {
//if(i%2 == 1) {//过滤奇数 //4.能进来,说明是偶数,累加 sum = sum +i; } } //5.在for循环结束以后,打印所有偶数累加的和 System.out.println(sum); } /*需求:求出1-100以内所有数的和*/ private static void m1() {
//1.定义一个变量用来保存求和的结果 int sum = 0; //2.创建循环,依次循环1-100范围内的数 for(int i = 1;i<=100;i++) {
//3.将本轮循环到的数字累加到最终的结果中 sum = sum + i; } //4.打印最终累加的结果 System.out.println(sum); } }
4 拓展
如果你想查看循环到底是什么执行的话,还可以使用工具:
Debug断点调试入门 点我点我
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215662.html原文链接:https://javaforall.net
