if语句
// 单一条件
/**
* 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语句
// 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;
}
}
接收控制台输入
// 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);
随机数
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循环
// 操作执行多次,就需要使用循环结构
/**
* 语法:
* 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循环
// 操作执行多次,就需要使用循环结构
/**
* 语法:
* 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("我爱你,中国");
}
循环中断
//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);
// }
}
循环嵌套
/**
*
* 循环体中再嵌套循环语句
*
* @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);
}
}
}
求素数
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;
}
}
}