流程控制总结

来源:互联网 发布:mac暴风影音删除不了 编辑:程序博客网 时间:2024/06/08 00:29
        //第三课,流程控制ctrl + shift +o 可以导入从键盘获取输入的资源//单分支选择结构if(条件表达式){代码块}//双分支选择结构if(条件表达式){代码块1}else{代码块2}//多分支选择结构if(条件表达式1){代码块1}else if(条件表达式2){代码块2}.....else if (条件表达式n-1){代码块n-1}else{代码块n}//条件表达式的值必须是布尔值例子1://单分支选择结构int score = 70;if (score>=60){System.out.print("成绩合格");System.out.print("继续加油!");}例子2://双分支选择结构int score = 70;if (score >=60){System.out.println("成绩合格");}else{System.out.println("成绩不合格,继续努力");}例子3://多分支选择结构int score = 85;if (score>=90 && score <=100){System.out.println("A级");}else if (score >=80){System.out.println("B级");}else if (score >=70){System.out.println("C级");}else if (score>60){System.out.println("D级");}else{System.oout.println("E级");}例子4 :使用Scanner类获取键盘的输入import java.util.Scanner;public class chengji{public static void mian(String[] ags){//声明一个扫描器Scanner input = new Scanner(System.in);//获取键盘的输入System.out.println("请输入成绩");int score = input.nextInt();if(score>=60){System.out.println("成绩合格");}else{System.out.println("成绩不合格");}}}例子5:使用Scanner类 实现循环录入会员信息import java.util.Scanner;public class Test{public static void main(String[] args){System.out.println("MyShopping管理系统 > 客户信息管理 > 添加客户信息\n");int custNo = 0;    //会员号String birthday;//会员生日int points = 0;//会员积分Scanner input = new Scanner(System.in);for(int i = 0; i < 3; i++){//循环录入会员信息3System.out.print("请输入会员号(<4位整数>):");custNo = input.nextInt();if(custNo < 1000 || custNo > 9999){//会员号无效则跳出System.out.println("客户号" +custNo+ "是无效会员号!");System.out.println("录入信息失败\n");continue;}else{System.out.print("请输入会员生日(月/日<用两位整数表示>):");birthday = input.next();System.out.print("请输入会员积分:");points = input.nextInt();}System.out.println("您录入的会员信息是:");System.out.println(custNo+ " " +birthday+ " " +points+ "\n");}System.out.println("程序结束!");}}//从键盘获取成绩需要增加三条语句//import java.util.Scanner; 导入Scanner类,指定类的位置. 位于util包中。//Scanner input = new Scanner(System.in);创建Scanner类的类对象名字(input),它用来接收来自键盘的输入。//System.in代表键盘 接收类型int score = input.nextInt();/*switch语句switch (表达式)  //switch 的值是适合能自动转换为int类型的值{case 常量值1:代码块1;break;case 常量值2:   //case 常量值顺序可以改变,带后面的不能相同。代码块2;break;//结束switch语句,跳出语句case 常量值3:代码块3;break;........default://所有的条件都不满足的情况下选择default}注意:即使default没有放到最后,也是所有case比较完毕后才执行default语句,遇到break跳出循环语句。if语句和switch语句的区别?switch语句的条件必须是可以自动转换为int的整数类型。if语句没有这个限制。switch语句只能处理等值条件判断的情况,而多重if语句却是等值和区间情况都可以处理。多分支if选择结构,具有更广的用途。*/例子1:根据成绩的不同输出成绩的等级import java.util.Scanner;public class Test{public static void main(String[] args){// 声明一个扫描器类型的变量Scanner input = new Scanner(System.in);System.out.println("请输入学生的成绩:");//学生成绩int score = input.nextInt();//判断成绩的等级switch(score/10){case 10:case 9:System.out.println("A级");break;case 8:System.out.println("B级");break;case 7:System.out.println("C级");break;case 6:System.out.println("D级");break;default:System.out.println("E级");}}}/*java中的循环语句while语句:变量初始化while(循环条件){循环语句迭代语句}*/例子1:计算1到100的和?int sum = 0;int i = 1;while(i<=100){sum+= i;i++;}System.out.println("sum=" + sum);/*java中的循环语句do while语句变量初始化do{循环语句迭代语句}while(循环条件);  //这里有一个分号,代表do-while 语句的结束,不能少。它的执行流程是:首先执行循环语句和迭代语句,执行完毕后对循环条件的结果进行判断,如果结果为真,则继续执行循环体。如果结果为假,则终止循环,执行后面的语句。do-while 语句先执行循环体再判断循环条件,循环体至少要被执行一次。while 与do-while的区别?while 是先判断后执行,可能一次也不执行。do-while 是先执行后判断。至少执行一次。*/例子1:求1到100的和?int sum = 0;int i =1;do{sun+=i;i++;}while(i<100);System.out.println("sum=" + sum);例子2:从控制台输入一个字符串,只要输入byte终止。// 扫描器Scanner input = new Scanner(System.in);//从键盘输入的字符串String str = "";while(!"byte".equals(str)){//只有输入前面的!才能获取键盘输入????System.out.println("请输入字符串:");str = input.next();System.out.println("您输入的字符串是:"+str);}System.out.println("输入结束!");例子3:用do-while从控制台输入一个字符串,只要输入byte终止。// 扫描器Scanner input = new Scanner(System.in);//从键盘输入的字符串String str = "";do{System.out.println("请输入字符串:");str = input.next();System.out.println("您输入的字符串是:"+str);}while(!"byte".equals(str));//只有输入前面的!才能获取键盘输入????System.out.println("输入结束!");例子4:public class Test3 {public static void main(String[] args) {int i =1;do{System.out.println("woaini");//i++; 如果没有这一行将出现死循环。}while(i<5);}}/*for循环语法:for(表达式1;表达式2;表达式3){循环语句}for循环语句也可以写成:for(变量初始化;循环条件;迭代语句){循环语句}for循环,for循环通常用于循环次数固定的情况,它的执行流程是:首先执行表达式1,一般是进行初始化操作,然后执行表达式2,即对循环条件进行判断。如果结果为真,则执行循环体,循环体执行完毕后,执行表达式3,改变循环变量的值,再次执行表达式2,结果为真,继续循环;如果结果为假,则终止循环,执行后面的语句,从流程图,可以看出,无论循环多少次,表达式1只被执行一次,*/例子1:求1到100的和?int sum = 0;for (int i=1; i<=100;i++ ){sum+=i;}System.out.println("sum=" +sum);例子2:求1~100的和?(采用高斯思路来运算1+99,1+98,3+97,从两边相加)int sum = 0;for(int i =1,j=100; i<j; i++,j--){sum +=i+j;}System.out.println("sum=" + sum);例子3:输入一个学生5门课的成绩,求出平均分并显示,int score;//学生的每门课成绩int sum = 0;//成绩之和double avg = 0.0;//平均分//输入学员姓名Scanner input = new Scanner(System.in);System.out.println("输入学员姓名:");String name = input.next();//循环输出学生的成绩for(int i= 0; i<5; i++){System.out.println("请输入5门课程中"+(i+1)+"门课程的成绩:");score = input.nextInt();//录入成绩sum = sum+score;//计算成绩之和}avg = sum/5;System.out.println(name +"的平均分是:" + avg);/*多重循环*/例子1:打印矩形//外层循环,执行5次,每次完成一行字符的输出。for(int i =1;i<=5;i++){//1、输出固定数目的空格for(int j = 1; j<5; j++)System.out.print(" ");//2、输出5个星号for(int k=1; k<=5; k++){System.out.print("*");}//3、回车换行System.out.println();}/*    *****    *****    *****    *****    ******//*三种循环结构的区别?while、do-while、for和foreach四个循环结构的异同点※相同点:无论哪一种循环结构都由4个必不可少的部分组成,分别为:初始部分、循环条件、循环语句以及迭代语句。※不同点:①对于循环次数固定的情况,通常选用for循环;②对于循环次数不确定的情况,通常选用while和do-while循环;③while循环是先判断再执行,可能一次也不执行;do-while是先执行再判断,至少执行一次;④for循环中将循环语句和迭代语句分开;⑤对于比较复杂的循环问题,可能要使用多重循环来实现。*///声明变量String name;double price;//价格int goodsNo;//编号//提示用户选择编号Scanner input = new Scanner(System.in);goodsNo = input.nextInt();switch (goodsNo){case :1System.out.println("1、T 桖");case :2System.out.println("2、网球鞋");case :3System.out.println("3、网球拍");}System.out.println("******************************");System.out.println("请输入商品编号:");switch (goodsNo){case :1}/*使用多重循环的时候我习惯用&来做选择for(;;){初始化循环if(&){条件真就继续循环,可以使用结束语句来实现程序的结束。}else{条件假,跳出if语句,继续for循环的初始化循环}}*/}}例子1:public class Test3 {public static void main(String[] args) {for(int i =1;i<=10;i++){if(i%2==0 || i%5==0){continue;}System.out.println(i+"\t");}}}/*结果为:1379*/例子2:import java.util.Scanner;public class {public static void main(String[] args){//定义变量int custNo;//会员卡号int points;//积分String birthday;//生日//声明一个扫描器类型变量Scanner input = new Scanner(System.in);//循环输出信息for(int i=0;i<3;i++){System.out.print("请输入4位会员卡号:");custNo = input.nextInt();if(custNo >1000 & custNo <9999){System.out.print("请输入您的生日:");birthday = input.next();System.out.print("请输入您的积分:");points = input.nextInt();continue;}else{System.out.print("您输入的卡号:"+custNo+"无效!");}}System.out.println("您的会员信息为"+custNo);}}上机练习 2:使用多重if来实现超市会员的折扣import java.util.Scanner;public class{public static void main(String[] args){//定义变量int x;//卡号jifen//提示用户输入积分Scanner input = new Scanner(System.in);System.out.println("请输入您的积分:");x = input.nextInt();//使用if循环语句判断。会员所享受的积分折扣if(x<2000){System.out.println("该会员享受的折扣是:9折");}else if(x>=2000 & x<=4000){System.out.println("该会员享受的折扣是:8折");}else if(x>=4000 & x<=8000){System.out.println("该会员享受的折扣是:7折");}else if(x>=8000){System.out.println("该会员享受的折扣是:6折");}}}教程:import java.util.*;/** * CalcDiscount.java 计算会员折扣 */public class CalcDiscount {public static void main(String[] args) {/* 输入会员积分 */System.out.print("请输入会员积分: ");Scanner input = new Scanner(System.in);int custScore = input.nextInt();double discount;/* 判断折扣 */if (custScore < 2000) {discount = 0.9;} else if (2000 <= custScore && custScore < 4000) {discount = 0.8;} else if (4000 <= custScore && custScore < 8000) {discount = 0.7;} else {discount = 0.6;}System.out.println("该会员享受的折扣是:" + discount);}}上机练习3;使用switch 实现登录菜单的选择功能public class Test{public static void main(String[] args){//定义变量int num;//获取键盘的输入Scanner input = new Scanner(System.in);sum = input.nextInt();//使用switch来进行菜单的选择switch(sum){case 1:System.out.println("1、登录系统");if(sum==1){System.out.println("客户信息管理")}else if(sum==2){System.out.println("2、购物结算")}break;case 2:System.out.println("2、推出");break;}//}}continue和break的区别?简单地说,比如这样一个程序:for(...) {...continue/break;...}System.out.prinln("a");continue表示立即去执行“for(...)”这行代码,break表示立即去执行“System.out.prinln("a");”这行代码。我随手写了一段程序,你看看可能能帮助你理解。public class BreakTest {    public static void main(String args[]) {        System.out.println("循环没有开始");        System.out.println("现在开始测试continue");        for (int i = 0; i < 3; i++) {            System.out.println("开始第" + i + "次for循环");            if (i == 1) {                continue;            }            System.out.println("看看continue后这里执行了吗?");        }        System.out.println("continue测试完毕\n***********************");        System.out.println("现在开始测试break");        for (int i = 0; i < 3; i++) {            System.out.println("开始第" + i + "次for循环");            if (i == 1){                break;            }            System.out.println("看看break后这里执行了吗?");        }        System.out.println("break测试完毕\n***********************");    }}/*总结:编写计算器的时候用字符类型,表示加减乘除。循环语句中,要循环的语句为input.nextInt();这个语句,控制台显示的语句放到循环外面就可以。熟悉break;和continue;的用法。*/A 2、B 3.C 4. D 5.C 6.BC 7.C 8.CD//课后练习题练习1:编写一个程序,最多接收10个数字,并求出数字中所有正数的和,直到用户输入999退出程序?import java.util.Scanner;public class Sum {public static void main(String[] args) {int num, sum, positive; //定义变量,数字,总数,正数//获取键盘的输入Scanner input = new Scanner(System.in);sum = positive = 0;System.out.println("\n 请输入10个数,或者输入 999 中止输入。\n");for (int i = 0; i < 10; i++) {num = input.nextInt();if (num == 999) {break;} else if (num < 0) {continue;} else {sum = sum + num;positive++;}}System.out.println("\n" + positive + "个正数的总和是: " + sum);}}/*运行结果如下:请输入10个数,或者输入 999 中止输入。1234567891010个正数的总和是: 55*/练习2:使用switch 来实现迷你计算器,实现加减乘除的功能,从控制台输入两个数字,输出计算结果?import java.util.Scanner;public class Calculator{public static void main(String[] args) {char opr = '*';//改变这里可以改变 操作类型,这里是进行乘法运算Scanner input = new Scanner(System.in);System.out.print("请输入第一个操作数: ");int data1 = input.nextInt();//data :数据System.out.print("请输入第二个操作数:");int data2 = input.nextInt();int result = 0;switch (opr) {  case '+':result = data1 + data2;break;  case '-':result = data1 - data2;break;  case '*':result = data1 * data2;break;  case '/':result = data1 / data2;break;}System.out.println(data1 + " " + opr + " " + data2 + " = " + result);}}/*程序结果如下:请输入第一个操作数: 3请输入第二个操作数:63 * 6 = 18*/练习3:开发一个标题为”FlipFlop“的游戏应用程序。它从1计数到100,遇到3的倍数就替换为单词”Flip“,5的倍数就替换为单词”Flop“,即为3的倍数又是5的倍数则替换为单词”FlipFlop“。public class FlipFlop {public static void main(String[] args) {for (int i = 1; i <= 100; i++) { // 从 1 计数到 100if (((i % 3) == 0) && ((i % 5) == 0)) { // 是 3 和 5 的倍数?System.out.print("FlipFlop   ");} else if ((i % 3) == 0) { // 还是 3 的倍数?System.out.print("Flip   ");} else if ((i % 5) == 0) {System.out.print("Flop   "); // 还是 5 的倍数?} else {System.out.print(i); // 还是直接输出System.out.print(" ");}}System.out.println();}}/*程序结果如下:程序结果不换行(为了看清楚,才分的行数)1 2 Flip   4 Flop   Flip   7 8 Flip   Flop   11 Flip   13 14 FlipFlop   16 17 Flip   19 Flop   Flip   22 23 Flip   Flop   26 Flip   28 29 FlipFlop  31 32 Flip   34 Flop   Flip   37 38 Flip   Flop   41 Flip   43 44 FlipFlop   46 47 Flip   49 Flop   Flip   52 53 Flip   Flop   56 Flip   58 59 FlipFlop   61 62 Flip   64 Flop   Flip   67 68 Flip   Flop   71 Flip   73 74 FlipFlop  76 77 Flip   79 Flop   Flip   82 83 Flip   Flop   86 Flip   88 89 FlipFlop   91 92 Flip   94 Flop   Flip   97 98 Flip   Flop  */ 练习4:打印99乘法表/* * 打印9*9乘法表 */public class Multiplication {public static void main(String[] args) {    int i, j;  // 循环变量        for (i = 1; i <= 9; i++){  // 外层循环控制被乘数                    for (j = 1; j <= i; j++){  // 内层循环控制乘数                        System.out.print(i+"*"+j+"="+(i*j)+"\t");                            }            System.out.println();  // 打印一行后换行                   }}}练习 5:打印菜单系统import java.util.*;/** * MainMenu.java 升级菜单切换 */public class MainMenu {/** * 显示我行我素购物管理系统的主菜单 */public static void main(String[] args) {System.out.println("\n\n\t\t\t\t欢迎使用我行我素购物管理系统\n");System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");System.out.println("\t\t\t\t 1. 客 户 信 息 管 理\n");System.out.println("\t\t\t\t 2. 购 物 结 算\n");System.out.println("\t\t\t\t 3. 真 情 回 馈\n");System.out.println("\t\t\t\t 4. 注 销\n");System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");System.out.print("请选择,输入数字:");boolean con;do { con = false;/* 输入数字,选择菜单 */Scanner input = new Scanner(System.in);int no = input.nextInt();if (no == 1) {System.out.println("执行显示客户信息管理菜单");} else if (no == 2) {System.out.println("执行购物结算");} else if (no == 3) {System.out.println("执行真情回馈");} else if (no == 4) {System.out.println("执行注销");} else {System.out.print("输入错误, 请重新输入数字:"); // 修改代码con = true;}} while (con); System.out.println("\n程序结束。");}}练习 6:import java.util.*;/** * LookPrice.java 根据编号显示对应的商品价格 */public class LookPrice {public static void main(String[] args) {String name = ""; // 商品名称double price = 0; // 商品价格int goodsNo; // 商品编号/* 打印产品清单 */System.out.println("*****************************************");System.out.println("请选择购买的商品编号:\n");System.out.println("1.T恤   2. 网球鞋  3. 网球拍");System.out.println("****************************************\n");Scanner input = new Scanner(System.in);String answer = "y"; // 标识是否继续while (answer.equals("y")) { // con的值为"y"时执行循环体System.out.print("请输入商品编号: "); // 提示输入商品编号goodsNo = input.nextInt(); // 从键盘获取商品编号switch (goodsNo) {  case 1:name = "T恤";price = 245;break;  case 2:name = "网球鞋";price = 570;break;  case 3:name = "网球拍";price = 320;break;}System.out.println(name + "\t" + "¥" + price); // 输出商品名称和价格System.out.print("\n是否继续(y/n)");answer = input.next(); // 用户再次输入是否继续的信息}System.out.println("\n程序结束!");}}练习 7:import java.util.*;/** * LoginMenu.java 购物菜单选择 */public class LoginMenu {/** * 显示我行我素购物管理系统的登录菜单 */public static void main(String[] args) {System.out.println("\n\n\t\t\t欢迎使用我行我素购物管理系统1.0版\n\n");System.out.println("\t\t\t\t 1. 登 录 系 统\n\n");System.out.println("\t\t\t\t 2. 退 出\n\n");System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");System.out.print("请选择,输入数字:");/* 从键盘获取信息,并执行相应操作---新加代码 */Scanner input = new Scanner(System.in);int num = input.nextInt();switch (num) {  case 1:    /* 显示系统主菜单 */    System.out.println("\n\n\t\t\t\t欢迎使用我行我素购物管理系统\n");    System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");    System.out.println("\t\t\t\t 1. 客 户 信 息 管 理\n");    System.out.println("\t\t\t\t 2. 购 物 结 算\n");    System.out.println("\t\t\t\t 3. 真 情 回 馈\n");    System.out.println("\t\t\t\t 4. 注 销\n");    System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");    System.out.print("请选择,输入数字:");    break;  case 2:    /* 退出系统 */    System.out.println("谢谢您的使用!");    break;  default:    System.out.println("输入错误。");    break;}}}练习 8:百钱买百鸡/* * 百钱买百鸡 */public class Chook {/** * 百钱买百鸡 */public static void main(String[] args) {int way = 1;//买法int k = 0;//雏鸡数for(int i=1;i<=20;i++){//公鸡数for(int j=1;j<=33;j++){//母鸡数k = 100-i-j;//一共100只鸡if(k%3 == 0 && (5*i+3*j+k/3 == 100)){//雏鸡数是3的倍数,总计100文钱System.out.print("[买法 " + way++ + "] ");System.out.println("公鸡: " +i+ "母鸡:" +j+ " 雏鸡:" +k);}}}}}练习 9:计算会员折扣import java.util.*;/** * CalcDiscount.java 计算会员折扣 */public class CalcDiscount {public static void main(String[] args) {/* 输入会员积分 */System.out.print("请输入会员积分: ");Scanner input = new Scanner(System.in);int custScore = input.nextInt();double discount;/* 判断折扣 */if (custScore < 2000) {discount = 0.9;} else if (2000 <= custScore && custScore < 4000) {discount = 0.8;} else if (4000 <= custScore && custScore < 8000) {discount = 0.7;} else {discount = 0.6;}System.out.println("该会员享受的折扣是:" + discount);}}练习 10:import java.util.Scanner;/** * ATMDemo.java 模拟ATM机取款业务 */public class ATMDemo {/** * 简单ATM机取款过程模拟 */public static void main(String[] args) {String pass = "";//保存用户输入密码int amount = 0;//取款金额String password = "111111";//用户密码int count = 0;//记录密码输入次数boolean isPass = false;//密码是否通过验证Scanner input = new Scanner(System.in);while(count < 3 && !isPass){System.out.print("请输入密码:");pass = input.next();if(!password.equals(pass)){count++;continue;}isPass = true;//密码通过验证System.out.print("请输入金额:");amount = input.nextInt();while(amount>0){if(amount<=1000 && amount%100==0){System.out.println("您取了" +amount+ "元");System.out.println("交易完成,请取卡!");break;//完成交易,退出}else{System.out.print("您输入金额的金额不合法,请重新输入:");amount = input.nextInt();continue;//继续让用户输入金额}}}if(!isPass){//用户输入了3次错误密码System.out.print("密码错误,请取卡!");}}}练习 11:import java.util.Scanner;/** * AddCustByOne.java 会员信息录入 */public class AddCustByOne {public static void main(String[] args) {System.out.println("我行我素购物管理系统 > 客户信息管理 > 添加客户信息\n");/* 录入会员信息 */Scanner input = new Scanner(System.in);System.out.print("请输入会员号(<4位整数>):");int custNo = input.nextInt();System.out.print("请输入会员生日(月/日<用两位数表示>):");String custBirth = input.next();System.out.print("请输入积分:");int custScore = input.nextInt();/* 判断会员号有效性 */if (custNo >= 1000 && custNo <= 9999) {System.out.println("\n已录入的会员信息是: ");System.out.println(custNo + "\t" + custBirth + "\t" + custScore);} else {System.out.println("\n客户号" + custNo + "是无效会员号!");System.out.println("录入信息失败!");}}}练习 12 :/** * AddCust.java 循环录入会员信息 * @author PB */import java.util.Scanner;public class AddCust {public static void main(String[] args) {System.out.println("MyShopping管理系统 > 客户信息管理 > 添加客户信息\n");int custNo = 0;    //会员号String birthday;//会员生日int points = 0;//会员积分Scanner input = new Scanner(System.in);for(int i = 0; i < 3; i++){//循环录入会员信息System.out.print("请输入会员号(<4位整数>):");custNo = input.nextInt();System.out.print("请输入会员生日(月/日<用两位整数表示>):");birthday = input.next();System.out.print("请输入会员积分:");points = input.nextInt();if(custNo < 1000 || custNo > 9999){//会员号无效则跳出System.out.println("客户号" +custNo+ "是无效会员号!");System.out.println("录入信息失败\n");continue;}System.out.println("您录入的会员信息是:");System.out.println(custNo+ " " +birthday+ " " +points+ "\n");}System.out.println("程序结束!");}}练习 13:import java.util.Scanner;/** * While和DO-While循环语句的使用 * 输入字符串并显示在控制台,重复这一过程,直到输入bye为止 * */public class TestWhileDemo {/** * @param args */public static void main(String[] args) {//扫描器Scanner input = new Scanner(System.in);//从键盘输入的字符串String str = "";//whiledo {System.out.println("请输入字符串:");str = input.next();System.out.println("您输入的是:" + str);} while (!"bye".equals(str));System.out.println("输入结束");}}练习 14:import java.util.Scanner;/** * 从键盘输入学生成绩,并根据该成绩输出所在的等级 * 90~100 A * 80~90 B * 70~80 C * 60~70 D * 60分以下 E * */public class TestSwitchDemo {/** * @param args */public static void main(String[] args) {//声明一个扫描器类型的变量Scanner input = new Scanner(System.in);System.out.println("请输入学生成绩:");//学生成绩int score = input.nextInt();//判断成绩的等级switch(score / 10) {case 10:case 9:System.out.println("A级");break;case 8:System.out.println("B级");break;case 7:System.out.println("C级");break;case 6:System.out.println("D级");break;default:System.out.println("E级");}}}练习 15:/** * 使用嵌套循环分别打印矩形、平行四边形、三角形和菱形 * */public class TestLoopDemo {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubprintLX();}//打印矩形public static void printRect(){//外层循环,执行五次,每次输出一行*for (int i = 1; i <= 5; i++) {//内层循环,执行五次,每次输出一个*for (int j = 1;j<=5;j++){System.out.print("*");}System.out.println();}}//打印平行四边形public static void printParallelogram(){//外层循环,执行五次,每次输出一行*for (int i = 1; i <= 5; i++) {for (int k = 1; k <= 5 - i; k++) {System.out.print(" ");}//内层循环,执行五次,每次输出一个*for (int j = 1;j<=5;j++){System.out.print("*");}System.out.println();}}//打印三角形public static void printSJX(){//外层循环,执行五次,每次输出一行*for (int i = 1; i <= 5; i++) {for (int k = 1; k <= 5 - i; k++) {System.out.print(" ");}//内层循环,执行五次,每次输出一个*for (int j = 1;j<= 2*i - 1;j++){System.out.print("*");}System.out.println();}}//打印菱形public static void printLX(){}}练习 16:/** * 输出1-100之内能被6整除的数字 * */public class TestContinueDemo {/** * @param args */public static void main(String[] args) {for(int i = 1; i <= 100; i++) {//判断i是否能够被6整除if (i % 6 != 0)continue;System.out.println(i);}}}练习 17:import java.util.Scanner;/** * 练习使用break跳转语句 * */public class TestBreakDemo {/** * @param args */public static void main(String[] args) {//扫描器Scanner input = new Scanner(System.in);//字符串String str = "";while (true) {System.out.println("请输入字符串:");str = input.next();System.out.println("您输入的字符串是:" + str);if ("bye".equals(str))break;}System.out.println("输入结束");}}练习 18:/** * 计算1到100的和 * */public class TestForDemo {/** * @param args */public static void main(String[] args) {//和的值int sum = 0;//forfor (int i = 1; i <= 100; i++) {sum += i;}System.out.println("sum = " + sum);}}练习 19:买彩票public class IfElseTest {public static void main(String[] args) {boolean isSuc = true;   //体彩中了500万大奖if(isSuc){System.out.println("我买房");System.out.println("我买车");System.out.println("我资助希望工程");System.out.println("我去欧洲旅游");}else{System.out.println("我买下一期体彩");System.out.println("继续烧高香");}}}练习 20:import java.util.Scanner;//压岁钱public class IfElseIfTest {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("收到压岁钱的数目:");double money = input.nextDouble();if(money >= 1000){System.out.println("捐助失学儿童");}else if(money >= 500){System.out.println("购买航模");}else{System.out.println("购买百科全书");}}}练习 21:搬桌子public class MovingDesk {public static void main(String[] args) {int age = 5;char sex = '女';switch (age) {  case 1:  case 2:  case 3:  case 4:System.out.println("不能搬动桌子");break;  case 5:  case 6:switch (sex) {  case '男':System.out.println("能搬动桌子");break;  case '女':System.out.println("不能搬动桌子");break;}break;  case 7:  default:System.out.println("能搬动桌子");break;}}}练习 22:迷你计算器import java.util.Scanner;public class MiniCal {public static void main(String[] args) {char opr = '/';Scanner input = new Scanner(System.in);System.out.print("请输入第一个操作数: ");int data1 = input.nextInt();System.out.print("请输入第二个操作数:");int data2 = input.nextInt();int result = 0;switch (opr) {  case '+':result = data1 + data2;break;  case '-':result = data1 - data2;break;  case '*':result = data1 * data2;break;  case '/':result = data1 / data2;break;}System.out.println(data1 + " " + opr + " " + data2 + " = " + result);}}练习 23:银行收益public class Example1 {public static void main(String[] args) {double money = 1000;double interest = 0.003;int year = 1;while(year <= 5){money = money + money * interest;year++;}System.out.println("5年后,获得的本金共有" + money);}}练习 24:求和计算public class Example2 {public static void main(String[] args) {     int n = 0;     int count = 0;     while(n <= 1000){     if(n % 7 ==0){     count = count + n;     }     n++;     }     System.out.println("1000之内能被7整除的数之和是:" + count);}}练习 25:提取正数位数import java.util.*;public class Example4 {public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("请输入任意一个整数:"); int num = input.nextInt(); int count = 0; do{ num = num / 10;  //提取位数 count++; }while(num > 0); System.out.println(count + "位"); }}练习 26:public class Example2 {/** * 生成Fibonacci序列 *  * @param args */public static void main(String[] args) {int n0 = 1, n1 = 1, n2; // 初始化变量System.out.print(n0 + " " + n1 + " ");for (int i = 0; i < 18; i++) {n2 = n1 + n0;System.out.print(n2 + " ");n0 = n1;n1 = n2;}System.out.println();}}练习 27:public class Example4 {public static void main(String[] args) {int sum = 0; // 和int i;for (i = 0; i < 100; i++) {if (i % 3 == 0) { // 能被3整除,开始下一次循环continue;}sum = sum + i; // 对不能被3整除的数求和if (sum >= 2000) { // 和超过2000跳出循环break;}}System.out.println("该数字是:" + i);}}练习 28:import java.util.Scanner;public class Example5 {public static void main(String[] args) {int num, sum, positive;Scanner input = new Scanner(System.in);sum = positive = 0;System.out.println("\n 请输入10个数,或者输入 999 中止输入。\n");for (int i = 0; i < 10; i++) {num = input.nextInt();if (num == 999) {break;} else if (num < 0) {continue;} else {sum = sum + num;positive++;}}System.out.println("\n" + positive + "个正数的总和是: " + sum);}}

原创粉丝点击