Java流程控制包含三种流程结构:顺序结构,分支结构,循环结构;
代码从上往下顺序执行;
分支结构关键词:if else else if
通过 if 构建的分支结构存在三种结构格式:
if
int i = 5;
if(i>4) {System.out.println(i + "大于4!");
}
if…else
int num = 13;
if(num % 2 == 1) {System.out.println(num + "是奇数!");
}else{System.out.println(num + "是偶数!");
}
if…else if… else…
int score = 61;
if(score == 100) {System.out.println("奖励一个跑车");
}else if(score > 80) {System.out.println("奖励一个山地自行车");
}else if(score > 60) {System.out.println("奖励环球影城一日游");
}else{System.out.println("胖揍一顿");
}
我们除了可以通过 if 构建分支结构外,还可以通过 switch 构建分支结构;
switch 中表达式只能是特定的数据类型,如下:byte \ short \ char \ int \ 枚举 \ String
int num = 1;
switch(num) {case 0: System.out.println("zero");break;case 1: System.out.println("one");break;case 2: System.out.println("two");break;case 3: System.out.println("three");break;default:System.out.println("other");break;
}
case 穿透
score = 71
switch(score / 10) {case 0:case 1:case 2:case 3:case 4:case 5:System.out.println("不及格");break;case 6:case 7:case 8:case 9:case 10: System.out.println("及格");break;default:System.out.println("成绩输入错误");break;
}
for(int i = 0; i < 5; i++) {System.out.println("输出第" + i + "次");
}
e.g.e.g.e.g. 输出所有水仙花数,所谓水仙花数,就是一个三位数,其各个位上数立方和等于其本身;
for(int i = 100; i < 999; i++) {int ge = i % 10;int shi = i / 10 % 10;int bai = i / 100 % 10;if(i == ge*ge*ge + shi*shi*shi + bai*bai*bai) {System.out.println(i + "是水仙花.");}
}
e.g.e.g.e.g. 输入两个正整数m和n,求最大公约数以及最小公倍数
Scanner scan = new Scanner(System.in);
int m = scan.nextInt();
int n = scan.nextInt();for(int i = ((m 0; i--){if(m % i == 0 && n % i ==0){System.out.println("最大公约数为:" + i);break;}
}for(int i = ((m>n)?m:n); i <= m*n; i++){if(i % m == 0 && i % n ==0){System.out.println("最小公倍数为:" + i);break;}
}
int i = 0;
while(i < 50) {System.out.println("输出第" + i + "次");i++;
}
e.g.e.g.e.g. 随机生成一个 [1,100] 随机数,从键盘键入,提示大了或者小了,对了就不用猜了,统计一共猜了多少次;
int num = (int)(Math.random() * 100) + 1;
int time = 1;
Scanner scan = new Scanner(System.in);
System.out.println("请输入1-100范围的一个整数");
int guess = scan.nextInt();while(num != guess){if(num < guess){System.out.println("你输入的数据大了");}else{System.out.println("你输入的数据小了");}System.out.println("请输入1-100范围的一个整数");time++;guess = scan.nextInt();
}System.out.println("猜对了!你猜了" + time + "次");scan.close();
e.g.e.g.e.g. 珠穆朗玛峰 8848.86米,一张足够大的纸来回折,厚度0.1毫米,折叠多少次折成珠穆朗玛峰高度?
int times = 0;
double height = 0.0001;
while(height < 8848.86){height *= 2;times++;
}
System.out.println("折了" + times + "次");
int i = 1;
do{System.out.println("输出第" + i + "次"); i++;
}while(i <= 5);
e.g.e.g.e.g. 银行ATM ①存款 ②取款 ③显示余额 ④退出
Scanner scan = new Scanner(System.in);
boolean flag = true;
double balance = 0;do {System.out.println("======ATM======");System.out.println("1、存款");System.out.println("2、取款");System.out.println("3、显示余额");System.out.println("4、退出");int selection = scan.nextInt();switch (selection){case 1:System.out.println("当前余额为:" + balance);System.out.println("请输入存款的金额: ");double moneyin = scan.nextDouble();if(moneyin > 0) {balance += moneyin;}System.out.println("存款完成,存入:" + moneyin + "; 账户余额为:" + balance);break;case 2:System.out.println("当前余额为:" + balance);System.out.println("请输入取款的金额:");double moneyout = scan.nextDouble();if(balance >= moneyout && moneyout > 0) {balance -= moneyout;System.out.println("取款完成,取出:" + moneyout + "; 账户余额为:" + balance);}else{System.out.println("取款失败,账户余额不足,余额为:" + balance);}break;case 3:System.out.println("账户当前余额为:" + balance);break;case 4:System.out.println("感谢使用,再见!");flag = false;break;}}while(flag);scan.close();
e.g.e.g.e.g. 找出100以内的所有素数(质数)?
方法一:花费时长:623
long start = System.currentTimeMillis();
System.out.println("2是质数");
for(int i = 2; i < 100000; i++){for(int j = 2; j < i; j++){if (i % j == 0){break;}if (j == i-1) {System.out.println(i + "是质数");}}
}
long end = System.currentTimeMillis();
System.out.println("花费的时间为:" + (end-start));
方法二:花费时长:6
int count = 0;long start = System.currentTimeMillis();
for(int i = 2; i < 100000; i++){boolean flag = false;for(int j = 2; j <= Math.sqrt(i); j++){if (i % j == 0){flag = true;break;}}if (flag == false){count++;// System.out.println(i + "是质数");}
}
long end = System.currentTimeMillis();
System.out.println("质数的总数为:" + count);
System.out.println("花费的时间为:" + (end-start));
上一篇:最好看的小说有哪些
下一篇:哪里有儿童英语故事阅读文章