Loading... **if语句** ```java // 单一条件 /** * if(布尔表达式A){ * 语句B * } * A为true 执行B,否者不执行 * * 可以省略if语句的花括号,编译器在识别代码时默认添加,只括if语句下一行代码,一般不会省略使用花括号提高代码可阅读性 */ int itemNum=100; int buyNum=1000; // if(buyNum<=itemNum) // System.out.println("执行购买商品的业务逻辑"); // if(buyNum<=itemNum) { // System.out.println("执行购买商品的业务逻辑"); // } // System.out.println("hahhah"); // // 二选一 /** * if(布尔表达式A){ * 语句B * }else{ * 语句C * } * 如果A为true,执行B,否则执行C,B和C无论如何都会执行其中一个 */ if(buyNum<=itemNum) { System.out.println("执行购买商品的业务逻辑"); }else { System.out.println("您购买的商品数量超标了"); } // 多分支 /** * if(布尔表达式A){ * 语句B * }else if(布尔表达式A1){ * 语句B1 * }else if(布尔表达式A2){ * 语句B2 * }.. * else{ * 语句B3 * } * 如果A为true,执行B,后续代码不在判断,if语句结束 * 如果A为false,继续判断A1,如果A1为true,执行B1,if语句结束 * else匹配所有不满足条件的情况下执行B3 */ // 需求: 星期一:上班 星期二:加班 星期三:不想写代码 星期四:通宵写代码 星期五:离职 星期六:睡大街 星期天:找工作 int week=9; if(week==1) { System.out.println("上班"); }else if(week==2) { System.out.println("加班 "); } else if(week==3) { System.out.println("不想写代码 "); } else if(week==4) { System.out.println("通宵写代码 "); } else if(week==5) { System.out.println("离职 "); } else if(week==6) { System.out.println("睡大街 "); }else if(week==7) { System.out.println("找工作 "); }else { System.out.println("请选择正确的日期 "); } int money=5000000; char home='有'; if(10000000<=money && home=='有') { System.out.println("我们结婚吧"); }else { System.out.println("你是个好人"); } if(10000000<=money || home=='有') { System.out.println("我们结婚吧"); }else { System.out.println("你是个好人"); } } ``` **switch语句** ```java // switch语句 /** * switch(表达式X){ * case 常量: * 语句块A; * break; * case 常量: * 语句块B; * break; * ... * default: * 语句块B; * * } * 执行顺序: * switch一旦碰到第一次case匹配,程序就会跳转到这个标签位置, * 开始顺序执行以后所有的程序代码,而不管后面的case条件是否匹配, * 直到碰到break关键字或者结束switch语句的大括号为止 * * ①case只能是常量不能是变量或表达式 * ②表达式x的值只可以接受四个基本数据类型和对应包装类(int、byte、char、short),枚举型,jdk1.7之后表达式x可以接受String * ③switch case中的值必须要与switch表达式的值具有相同的数据类型 * ④不允许有重复的case取值 * ⑤switch的结束:遇到break才结束否者直到switch语句块结束 * ⑥case之间与default没有顺序。先判断所有的case,没有匹配的case执行default。因此一般将default放在case后面 * */ // 10~20之间:8000块 20~30:7000块 30~40:6000块 40~50:5000块 50~60 :4000块 其他0 int age=98; int level=age/10; // switch(level) { // case 1: // System.out.println("奖金8000"); // break; // case 2: // System.out.println("奖金7000"); //// break; // case 3: // System.out.println("奖金6000"); //// break; // case 4: // System.out.println("奖金5000"); //// break; // case 5: // System.out.println("奖金4000"); //// break; // default: // System.out.println("奖金0"); // // } switch(level) { default: System.out.println("奖金0"); case 1: System.out.println("奖金8000"); // break; case 2: System.out.println("奖金7000"); // break; case 3: System.out.println("奖金6000"); break; case 4: System.out.println("奖金5000"); break; case 5: System.out.println("奖金4000"); break; } // String name="张三"; // switch(name) { // case "张三": // System.out.println("小三的爸爸"); // break; // case "李四": // System.out.println("小四的爸爸"); // break; // // } // 只要i满足1 2 3 4就会执行语句块A int i=5; switch(i) { case 1: case 2: case 3: case 4: System.out.println("里面没有10");//语句块A break; case 5: case 10: System.out.println("里面有10和5");//语句块B break; } } ``` **接收控制台输入** ```java // String s1="我爱你,中国"; // System.out.println(s1);//我爱你,中国 // // 接收控制台输入 Scanner sc=new Scanner(System.in); //// 接收控制台输入的整型 // int messageInt=sc.nextInt();//这个方法会阻塞,当你在控制台输入数据并按下回车键阻塞解除 // System.out.println(messageInt); //// 接收制台输入的浮点型 // double messageDouble=sc.nextDouble();//这个方法会阻塞,当你在控制台输入数据并按下回车键阻塞解除 // System.out.println(messageDouble); // 接收制台输入的字符串 :得到用户输入的字符串,空格结束 // String messageString=sc.next();//这个方法会阻塞,当你在控制台输入数据并按下回车键阻塞解除 // System.out.println(messageString); String message=sc.nextLine();//这个方法会阻塞,当你在控制台输入数据并按下回车键阻塞解除 System.out.println(message); ``` **随机数** ```java Random rn=new Random(); // 随机产生int大小内的整型数据 int message=rn.nextInt(); System.out.println(message); // 随机产生0-10之间的整型数据:包括0不包括10 message=rn.nextInt(10); System.out.println(message); // 随机产生0-1之间的浮点型数据 不包括1 double messageDouble=rn.nextDouble(); System.out.println(messageDouble); // 随机产生10~20的数据 int i=(int)(rn.nextDouble()*10)+10; System.out.println(i); // 产生一个12以内的随机月份,和一个30以内的随机天数,输出该日是本年的第多少天(不考虑闰年) int month=rn.nextInt(12)+1; int day=rn.nextInt(30)+1; if(month==1) { System.out.println("第"+day+"天"); }else if(month==2) { System.out.println("第"+(31+day)+"天"); } else if(month==3) { System.out.println("第"+(59+day)+"天"); } else if(month==4) { System.out.println("第"+(90+day)+"天"); } else if(month==5) { System.out.println("第"+(120+day)+"天"); } else if(month==6) { System.out.println("第"+(151+day)+"天"); } else if(month==7) { System.out.println("第"+(181+day)+"天"); } else if(month==8) { System.out.println("第"+(212+day)+"天"); } else if(month==9) { System.out.println("第"+(243+day)+"天"); } else if(month==10) { System.out.println("第"+(273+day)+"天"); } else if(month==11) { System.out.println("第"+(304+day)+"天"); } else if(month==12) { System.out.println("第"+(334+day)+"天"); } ``` **for循环** ```java // 操作执行多次,就需要使用循环结构 /** * 语法: * for(初始化表达式A;判断表达式B;循环后的操作表达式C){ * 语句D * } * * 执行顺序: * ①A先执行,A只会执行一次 * ②执行B,如果B为true,执行D,再执行C * ③C执行完之后再执行B,如果B为true再执行D.. * 往复循环直到B为false循环表达式结束 */ // 输出一百次我爱你,中国 // for(int i=0;i<100;i++) { // System.out.println("我爱你,中国"+i); // } // int i; // for(i=0;i<100;i++) { // System.out.println("我爱你,中国"+i); // } // int i; // for(i=0;i<100;) { // i++; // System.out.println("我爱你,中国"+i); // } // int i; // for(i=0;i<100;) { // System.out.println("我爱你,中国"+i); // i++; // } // 死循环:没有循环终止条件或者循环终止条件一直为true,死循环后面的代码会编译报错 // for(;1<2;) { // System.out.println("我爱你,中国"); // } // for(;;) { // System.out.println("我爱你,中国"); // } // System.out.println("hhha"); // for(int i=0;;i++) { // System.out.println("我爱你,中国"); // } for(int i=0;;) { System.out.println("我爱你,中国"); } ``` **while和do while循环** ```java // 操作执行多次,就需要使用循环结构 /** * 语法: * for(初始化表达式A;判断表达式B;循环后的操作表达式C){ * 语句D * } * * 执行顺序: * ①A先执行,A只会执行一次 * ②执行B,如果B为true,执行D,再执行C * ③C执行完之后再执行B,如果B为true再执行D.. * 往复循环直到B为false循环表达式结束 */ // 输出一百次我爱你,中国 // for(int i=0;i<100;i++) { // System.out.println("我爱你,中国"+i); // } // int i; // for(i=0;i<100;i++) { // System.out.println("我爱你,中国"+i); // } // int i; // for(i=0;i<100;) { // i++; // System.out.println("我爱你,中国"+i); // } // int i; // for(i=0;i<100;) { // System.out.println("我爱你,中国"+i); // i++; // } // 死循环:没有循环终止条件或者循环终止条件一直为true,死循环后面的代码会编译报错 // for(;1<2;) { // System.out.println("我爱你,中国"); // } // for(;;) { // System.out.println("我爱你,中国"); // } // System.out.println("hhha"); // for(int i=0;;i++) { // System.out.println("我爱你,中国"); // } for(int i=0;;) { System.out.println("我爱你,中国"); } ``` **循环中断** ```java //break:跳出当前循环;直接结束循环 //continue:跳出本次循环执行下一次循环 public static void main(String[] args) { // for循环输出0-99:只输出到0-55 // for(int i=0;i<100;i++) { // if(i==56) { // break; // } // System.out.println(i); // } // // for循环输出0-99:除了56 // for(int i=0;i<100;i++) { // if(i==56) { // continue; // } // System.out.println(i); // } } ``` **循环嵌套** ```java /** * * 循环体中再嵌套循环语句 * * @author Administrator * */ public class _循环嵌套 { public static void main(String[] args) { // 需求:输出5次0~9 // for(int j=1;j<6;j++) { // System.out.println("第"+j+"次"+"-----------------------------"); // for(int i=0;i<10;i++) { // System.out.println(i); // } // // } // int j=1; // while(j<6) { // System.out.println("第"+j+"次"+"-----------------------------"); // for(int i=0;i<10;i++) { // System.out.println(i); // } // j++; // } // 需求:输出5次0~9 第2二次不输出 // for(int j=1;j<6;j++) { // if(j==2) { // continue; // } // System.out.println("第"+j+"次"+"-----------------------------"); // for(int i=0;i<10;i++) { // System.out.println(i); // } // } // 需求:输出5次0~9 每次的4不输出 // for(int j=1;j<6;j++) { // System.out.println("第"+j+"次"+"-----------------------------"); // for(int i=0;i<10;i++) { // if(i==4) { // continue; // } // System.out.println(i); // } // } // 需求:输出5次0~9 到第四次结束输出 // for(int j=1;j<6;j++) { // if(j==4) { // break; // } // System.out.println("第"+j+"次"+"-----------------------------"); // for(int i=0;i<10;i++) { // System.out.println(i); // } // } // 需求:输出5次0~9 每次到第三个数结束(0~2) // for(int j=1;j<6;j++) { // System.out.println("第"+j+"次"+"-----------------------------"); // for(int i=0;i<10;i++) { // if(i==3) { // break; // } // System.out.println(i); // } // 给循环起别名(了解) // 需求:第一次循环的时候如果遇到3结束整个循环 outer:for(int j=1;j<6;j++) { System.out.println("第"+j+"次"+"-----------------------------"); inner:for(int i=0;i<10;i++) { if(i==3) { break outer; } System.out.println(i); } } } ``` **求素数** ```java public static void main(String[] args) { // 只能被1和本身整除的数称为素数 // 编写一个程序,找出大于200的最小的素数[选做题] // 找出所有小于300的素数 // 找出所有小于300的素数的个数 // 找出所有小于300的素数 // for(int i=0;i<=300;i++) { // //0和1不是素数 // if(i==0 || i==1) { // continue; // } // boolean flag=true;//一开始规定其为素数 // 证明该数是不是素数:用其本身除大于1小于本身的所有数,如果能被整除就不是素数 // for(int j=2;j<i;j++) { // if(i%j==0) { // flag=false;//不是素数 // break; // } // } // if(flag) { // System.out.println(i+"是素数"); // } // // } // int num=0;//素数的个数 //// 找出所有小于300的素数的个数 // for(int i=0;i<=300;i++) { // // //0和1不是素数 // if(i==0 || i==1) { // continue; // } // boolean flag=true;//一开始规定其为素数 //// 证明该数是不是素数:用其本身除大于1小于本身的所有数,如果能被整除就不是素数 // for(int j=2;j<i;j++) { // if(i%j==0) { // flag=false;//不是素数 // break; // } // } // if(flag) { // num++; // } // // } // System.out.println(num); // // 编写一个程序,找出大于200的最小的素数[选做题] for(int i=200;i<300;i++) { boolean flag=true; for(int j=2;j<i;j++) { if(i%j==0) { flag=false; break; } } if(flag) { System.out.println(i); break; } } } ``` 最后修改:2020 年 09 月 20 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏