1. 程式人生 > 其它 >Java學習第二十天<各類迴圈控制>

Java學習第二十天<各類迴圈控制>

迴圈控制

For

package chapter04.D4迴圈控制;

public class ForDetail {
public static void main(String[] args) {
int i=1;
for ( ;i<=10;){
System.out.println("你好"+i);
i++;
}
System.out.println(i);
/*
int j=1;
for (;;){
System.out.println("ok"+(j++));//死迴圈 control+d退出
}*/
}
}

package chapter04.D4迴圈控制;

public class ForExercise {
public static void main(String[] args) {
/*
化繁為簡
1 完成輸出1-100的值
2 輸出過程中進行過濾,只輸出9的倍數 i%9==0
3 統計個數 定義一個變數 int count = 0; 當條件滿足時 count++;
4 總和 int sum=0;當條件滿足時 sum+=i;
先死後活
1 為了適應更好的需求,定義範圍的開始,結束 int start=10; int end=200; for(int i=start;i<=end;i++)
2 把9的倍數也做成變數 int t=9; if (i%t==0)
*/
int count = 0;
int sum=0;
for(int i=1;i <= 100;i++){
if (i%9==0){
System.out.println("i="+i);
count++;
sum+=i;
}
}
System.out.println("count=" + count);
System.out.println("sum="+sum);
}
}

package chapter04.D4迴圈控制;

public class ForExercise02 {
public static void main(String[] args) {
/*
化繁為簡
1 先輸出 0-5
2 後面+的是 5-i
先死後活
1 5替換成變數n int n=5
*/
for (int i=0;i<=5;i++){
System.out.println(i+"+"+(5-i)+"=5");
}
}
}

Mulfor

package chapter04.D4迴圈控制;

import java.util.Scanner;

public class MulForExercise01 {
public static void main(String[] args) {
/*第一個班5個人成績和均分
double sum=0;
Scanner myscanner = new Scanner(System.in);
for (int j=1;j<=5;j++){
System.out.println("請輸入1班第"+j+"個學生的成績");
double score = myscanner.nextDouble();
sum+=score;
System.out.println("成績為"+score);

}
System.out.println("平均分為"+sum/5);*/

//三個班套外層迴圈
// 統計所有成績 total
// 統計過的人 passnum
//由死變活 定義班級數 人數
int total=0;
int passnum=0;
for (int i=1;i<=3;i++){
double sum=0;
Scanner myscanner = new Scanner(System.in);

for (int j=1;j<=5;j++){
System.out.println("請輸入"+i+"班第"+j+"個學生的成績");
double score = myscanner.nextDouble();
if (score>=60){
passnum++;
}
sum+=score;
total+=score;
System.out.println("成績為"+score);

}
System.out.println(i+"班"+"平均分為"+sum/5);
}
System.out.println("總分為"+total);
System.out.println("過的人"+passnum);
}
}

package chapter04.D4迴圈控制;

public class MulForExercise02 {
public static void main(String[] args) {
/*化繁為簡
1 先列印矩形
2 列印半個金字塔 n層有n個星
3 列印整個金字塔 2n-1個星 5-n個空
4 列印空心金字塔 加條件 當前行第一個和最後一個有* 最後一行全部輸出
5 先死後活 定義層數
*/
for (int i=1;i<=5;i++){//i為層數
for (int j=1;j<=(5-i);j++){
System.out.print(" ");
}
for(int g=1;g<=(2*i-1);g++){
if (g==1||g==2*i-1||i==5){//最後一層全輸出
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();//換行
}

}
}

While

package chapter04.D4迴圈控制;
//列印40-200之間偶數
public class WhileExercise {
public static void main(String[] args) {
int j=40;
while ( j <= 200){
if (j%2==0){
System.out.println("j="+j);
}
j++;
}
}
}

Do while

package chapter04.D4迴圈控制;

public class DoWhileExercise {
public static void main(String[] args) {
/*統計1-200能被5整除但不能被3整除的個數
1 使用do while 輸出1-200
2 過濾
3 計數
4 求和
先死後活
1 範圍1-200
2 5和3條件替換
*/
int i=1;
int count=0;
int sum=0;
do {
if (i%5==0 &&i%3!=0){
System.out.println("i="+i);
count++;
sum+=i;
}
i++;
}while(i<=200);
System.out.println("count="+ count);
System.out.println("sum="+ sum);
}
}

package chapter04.D4迴圈控制;

import java.util.Scanner;

public class DoWhileExercise02 {
public static void main(String[] args) {
int x = 500;
Scanner myscanner = new Scanner(System.in);
String answer =" ";
System.out.println("有一個人前來買瓜....");
do {
if (x >=100){
x-=100;
System.out.println("你被打了,血量-100");
System.out.println("當前血量:" + x);
System.out.println("問你,你這瓜保熟嗎?");
answer = myscanner.next();
System.out.println("你的回答:"+answer);
}else {
System.out.println("你被打了,血量-100");
System.out.println("你已經掛了....");
break;
}

}while (!answer.equals("保熟"));//answer = true 不停問

}

}

Break

package chapter04.D4迴圈控制;

public class BreakExercise {
public static void main(String[] args) {
int sum=0;
int n=0;
for (int i=1;i<=100;i++){
sum+=i;
if (sum>20){
System.out.println("和>20時候 當前數i="+i);
n=i;
break;
}
}
System.out.println("當前數="+n);
}
}

package chapter04.D4迴圈控制;

import java.util.Scanner;

public class BreakExercise02 {
public static void main(String[] args) {
Scanner myscanner = new Scanner(System.in);
String name = " ";
String passwd = " ";
int chance=3;
for (int i=1; i<=3; i++){
System.out.println("請輸入賬號");
name=myscanner.next();
System.out.println("請輸入密碼");
passwd=myscanner.next();
if ("征途".equals(name)&&"666".equals(passwd)){
System.out.println("恭喜你,登陸成功!");
break;
}
chance--;
System.out.println("你還有"+chance+"次機會");
}
}
}

Continue

package chapter04.D4迴圈控制;
//畫記憶體分析圖
public class ContinueDetail {
public static void main(String[] args) {
label1:
for (int j=0;j<2;j++){
label2:
for (int i=0;i<10;i++){
if(i==2){
//continue;
continue label1;
}
System.out.println("i="+i);
}

}
}
}

Homework

package chapter04.D4迴圈控制;

public class Homework01 {
public static void main(String[] args) {
double money=100000;
int count=0;
while (true){
if (money>50000){
money*=0.95;
count++;
}else if (money>=1000 ){
money-=1000;
count++;
}else {//錢不夠
break;
}
}
System.out.println("可以過"+count+"個路口");
}
}

package chapter04.D4迴圈控制;

public class Homework02 {
public static void main(String[] args) {
//水仙花數 先得到個十百位,再用if判斷立方和是否相等
int n=153;
int n1=n/100;//百位
int n2=n%100/10;//十位
int n3=n%10;//個位
if (n1*n1*n1+n2*n2*n2+n3*n3*n3==n){
System.out.println(n+"是水仙花數");
}else{
System.out.println(n+"不是水仙花數");
}
}
}

package chapter04.D4迴圈控制;

public class Homework03 {
public static void main(String[] args) {
int count =0;
for (int i=1;i<=100;i++){
if (i%5!=0){
count++;
System.out.print(i+"\t");
if (count%5==0){
System.out.println();
}
}
}
}
}

package chapter04.D4迴圈控制;

public class Homework04 {
public static void main(String[] args) {
for (char c1='a';c1<='z';c1++){
System.out.print(c1+" ");
}
for (char c1='Z';c1>='A';c1--){
System.out.print(c1+" ");
}
}
}

package chapter04.D4迴圈控制;

public class Homework05 {
public static void main(String[] args) {
double sum=0;
for (int i=1;i<=100;i++){
if (i%2!=0){
sum=sum+(1.0/i);//隱藏陷阱,分子1要變1.0
}else {
sum-=1.0/i;
}
}
System.out.println("sum="+sum);
}
}

package chapter04.D4迴圈控制;

public class Homework06 {
public static void main(String[] args) {
//1+(1+2)+(1+2+3)...+(1+2...+100)
//100項 雙迴圈 i是當前項的最後一個數
int sum=0;
for (int i=1;i<=100;i++){
for (int j=1;j<=i;j++){
sum+=j;
}
}
System.out.println("sum="+sum);
}
}

return

package chapter04.D4迴圈控制;

public class Return01 {
public static void main(String[] args) {
for (int i = 1; i <=5 ; i++) {
if (i==3){
System.out.println("征途"+i);
break;
//continue;調到上一次迴圈{前
// return;用在方法時退出方法,主方法退出程式
}
System.out.println("Hello World!");
}
System.out.println("go on...");
}
}