if后面的判断语句(if分支语句)
1 分支结构1.1 概述顺序结构的程序虽然能解决计算、输出等问题但不能做判断再选择对于要先做判断再选择的问题就要使用分支结构,今天小编就来说说关于if后面的判断语句?下面更多详细答案一起来看看吧!
if后面的判断语句
1 分支结构1.1 概述顺序结构的程序虽然能解决计算、输出等问题但不能做判断再选择。对于要先做判断再选择的问题就要使用分支结构
1.2 形式
1.3.1 练习:商品打折案例创建包: cn.tedu.basic创建类: TestDiscount.java需求: 接收用户输入的原价。满1000打9折;满2000打8折;满5000打5折
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) {//满5000count = price *0.5;//打5折}else if(price >= 2000) {//满2000count = price * 0.8;//打折8折}else if(price >= 1000) {//满1000count = 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);}}11.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) {//大于90System.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 {//小于60System.out.println("不及格!");}} }}
12342 switch结构2.1 概述switch case 语句用来判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。当一个case成立,从这个case向后穿透所有case,包括default,直到程序结束或者遇到break程序才结束
2.2 形式
2.3 练习:数字匹配创建包: cn.tedu.basic创建类: TestSwitch.java
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.创建程序的入口函数mainpublic 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
public class TestSwitch {public static void main(String[] args) {String s = "Friday";switch(s) {case "Monday" : System.out.println("星期一吃火锅");break;case "Tuesday" : System.out.println("星期二吃烤肉");break;case "Wednesday" : System.out.println("星期三吃面条");break;case "Thursday" : System.out.println("星期四吃小龙虾");break;case "Friday" : System.out.println("星期五吃冒菜");break;case "Saturaday" : System.out.println("星期六吃减脂餐");break;case "Sunday" : 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,包括defaultswitch 语句可以包含一个 default 分支,该分支一般是写在switch 语句的最后如果在default之前的case有break,则default不会执行3 循环结构3.1 for概述循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。它由循环体中的条件,判断继续执行某个功能还是退出循环。根据判断条件,循环结构又可细分为先判断后执行的循环结构和先执行后判断的循环结构。
3.2 for形式
3.3 for循环执行顺序我们明明只写了一句打印语句,为什么打印了多个数字呢?希望通过下图帮你理解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 8for(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);}}1 分支结构1.1 概述顺序结构的程序虽然能解决计算、输出等问题但不能做判断再选择。对于要先做判断再选择的问题就要使用分支结构
1.2 形式
1.3.1 练习:商品打折案例创建包: cn.tedu.basic创建类: TestDiscount.java需求: 接收用户输入的原价。满1000打9折;满2000打8折;满5000打5折
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) {//满5000count = price *0.5;//打5折}else if(price >= 2000) {//满2000count = price * 0.8;//打折8折}else if(price >= 1000) {//满1000count = 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);}}11.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) {//大于90System.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 {//小于60System.out.println("不及格!");}} }}
12342 switch结构2.1 概述switch case 语句用来判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。当一个case成立,从这个case向后穿透所有case,包括default,直到程序结束或者遇到break程序才结束
2.2 形式
2.3 练习:数字匹配创建包: cn.tedu.basic创建类: TestSwitch.java
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.创建程序的入口函数mainpublic 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
public class TestSwitch {public static void main(String[] args) {String s = "Friday";switch(s) {case "Monday" : System.out.println("星期一吃火锅");break;case "Tuesday" : System.out.println("星期二吃烤肉");break;case "Wednesday" : System.out.println("星期三吃面条");break;case "Thursday" : System.out.println("星期四吃小龙虾");break;case "Friday" : System.out.println("星期五吃冒菜");break;case "Saturaday" : System.out.println("星期六吃减脂餐");break;case "Sunday" : 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,包括defaultswitch 语句可以包含一个 default 分支,该分支一般是写在switch 语句的最后如果在default之前的case有break,则default不会执行3 循环结构3.1 for概述循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。它由循环体中的条件,判断继续执行某个功能还是退出循环。根据判断条件,循环结构又可细分为先判断后执行的循环结构和先执行后判断的循环结构。
3.2 for形式
3.3 for循环执行顺序我们明明只写了一句打印语句,为什么打印了多个数字呢?希望通过下图帮你理解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 8for(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);}}
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com