Java迭代語句 (循環)
循環的作用是反覆執行一段代碼,直到不滿足條件爲止。循環語句一般分爲一下四個部分:
- 初始化部分
- 循環條件
- 循環體
- 迭代部分
while循環
while(條件)
{
循環體
}
do while循環
do {
循環體
} while(條件);
for循環
for (初始化部分;循環條件;迭代部分){
循環體;
}
- do-while最少會被執行一次。
- 循環中可以使用continue結束當前循環,回到循環開始處開始下一次循環。也可以用break跳出整個循環。
- for語句內聲明的變量的作用域爲當前for語句,不能在for語句以外的地方使用它
- for循環在初始化部分和迭代部分可以使用逗號語句。
for循環先執行初始化部分,然後判斷循環條件,再執行循環體。 一般用於固定次數的循環。
//反轉數組元素
pubilic int[] inverse(int[] oldArray){
int [] newArray = new int[oldArray.length];
for (int i=0, j=oldArray.length-1; i
增強的for循環的語法是:
for(declaration : expression) {
//Statements
}
declaration聲明: 新聲明塊變量,這是一種與正在訪問數組中的元素兼容的。變量將是可利用的塊內並且它的值將是相同的作爲當前的數組元素。
expression表達: 這個計算結果完成需要循環數組。表達式可以是一個數組變量或方法調用返回一個數組。
####無限循環的寫法
for(;;){
// 代碼
}
流程跳轉語句
break 退出本層循環
continue 跳出本次循環或者說進入下一輪循環
return 結束當前方法
import java.util.ArrayList;
import java.util.Random;
/**
* @JAVA04.test.java
* @author 當前用戶:Endless作者 :Endless
* @version 創建時間:2017年7月31日 上午8:48:19
*
*/
public class test {
public static void main(String[] args) throws InterruptedException {
ArrayList<Integer> arr =new ArrayList<Integer>();
for(int i=1;i<=9;i++){ //普通循環
arr.add(new Random().nextInt(99));
}
System.out.println(arr);
for(int x:arr){ //增強型for循環
System.out.println(x);
}
}
}
/**
* @JAVA04.for100sum.java
* @author 當前用戶:Endless作者 :Endless
* @version 創建時間:2017年7月28日 上午11:59:19
* 實現1到100的和兩頭相加進行計算
* (1+100)+(2+99)+(3+98)+... ...+ (50+51)
*/
public class for100sum {
public static void main(String[] args) {
int x = 0;
for(int i=1,j=100;i<=50;i++,j--){
x+=(i+j);
System.out.println(i+"+"+j+"="+x);
}
System.out.println(x);
}
}
import java.util.Scanner;
/**
* @JAVA04.formul.java
* @author 當前用戶:Endless作者 :Endless
* @version 創建時間:2017年7月28日 上午11:25:54
* 打印 1到9 乘法口訣
* 要求 輸入 1-9 之間的數字 打印出對應的算式。
*/
public class formul {
@SuppressWarnings("resource")
public static void main(String[] args) {
System.out.println("請輸入1-9之間的數字");
Scanner in =new Scanner(System.in);
int x = in.nextInt();
for(int i=1;i<=9;i++ ){
System.out.println(i +"*"+x+"="+i*x);
}
}
}
import java.util.Scanner;
/**
* @JAVA04.forimi.java
* @author 當前用戶:Endless作者 :Endless
* @version 創建時間:2017年7月28日 上午11:47:50
* 模擬輸入密碼三次錯誤,退出系統 吞卡。
* 正確密碼(任意數字)
*/
public class forimi {
@SuppressWarnings({ "resource", "unused" })
public static void main(String[] args) {
int x = 0;
Scanner in = new Scanner(System.in);
for(int i=1;i<=3;i++){
if(in.nextInt() == 999 ){
showmain();
break;
}else{
x++;
System.out.println("密碼錯誤");
}
}System.out.println("您的賬戶被鎖定");
}
private static void showmain() {
System.out.println("登陸成功");
}
}
/**
* @JAVA04.for100sum.java
* @author 當前用戶:Endless作者 :Endless
* @version 創建時間:2017年7月28日 上午11:43:08
* 計算1-100 之間,7 的倍數 之和
*/
public class for7sum {
public static void main(String[] args) {
int x = 0;
for(int i=1;i<=100;i++){
if(i%7==0){
x+=i;
}
}
System.out.println("1-100 之間7的倍數之和爲:"+x);
}
}
/**
* @JAVA04.forinterval.java
* @author 當前用戶:Endless作者 :Endless
* @version 創建時間:2017年7月28日 上午11:33:40
* 計算1997年1月1日到2017年1月1日相距多少天。(注意閏年)
* (year%4 ==0 && year%100!=0 ) II (year%400 ==0)
*
*/
public class forinterval {
public static void main(String[] args) {
int x = 0;
for(int i=1997;i<=2017;i++){
if((i%4 ==0 && i%100!=0 )||(year%400 ==0)){
x++;
}
}
System.out.println((2017-1997)*365+x);
}
}
/**
* @JAVA04.formul.java
* @author 當前用戶:Endless作者 :Endless
* @version 創建時間:2017年7月28日 上午11:25:54
* 打印 1到9 乘法口訣
* 要求 輸入 1-9 之間的數字 打印出對應的算式。
*/
public class formul {
public static void main(String[] args) {
for(int i=1;i<=9;i++ ){
for(int j=1;j<=i;j++)
System.out.print(j +"*"+i+"="+i*j+"\t");
System.out.print("\n");
}
}
}
package Endless;
import java.util.Random;
import java.util.Scanner;
/**
* @JAVA05.fingergame.java
* @author 當前用戶:Endless作者 :Endless
* @version 創建時間:2017年7月31日 下午12:36:59
* 猜拳石頭剪刀布
*/
public class fingergame {
public static void main(String[] args) {
System.out.println("\t猜拳遊戲\n");
start();
}
@SuppressWarnings("resource")
public static void start(){
Scanner in = new Scanner(System.in);
Random n= new Random();
try {
do{
System.out.println("請選擇:1,石頭\t2,剪刀\t3,布");
int z =in.nextInt();
int x =n.nextInt(3)+1;
if(z==1||z==2||z==3){
System.out.println("你出"+s(z)+"\t電腦出"+s(x));
if (z==1&&x==2||z==2&&x==3||z==3&&x==1) {
System.out.println("你贏了!");
}else if (z==0) {
System.out.println("已退出");
System.exit(0);
}else if (z==x) {
System.out.println("平局!");
}else{
System.out.println("你輸了!");
}System.out.println("輸入0退出");
}
else{
System.out.println("請重新選擇");
continue;
}
}while(true);
} catch (Exception e) {
System.out.println("請輸入數字");
start();
}
}
public static String s(int x){
String str = null;
if(x==1){
str = "石頭";
}else if (x==2) {
str = "剪刀";
}else if (x==3) {
str = "布";
}
return str;
}
}
package Endless;
import java.util.Scanner;
/**
* @JAVA05.jiapio.java
* @author 當前用戶:Endless作者 :Endless
* @version 創建時間:2017年7月31日 下午12:06:52
* 機場訂票 1-12 月 系統
* 鄭州-漢城 機票 5000
* 4-10月 爲旺季 頭等艙0.9 經濟艙0.6
* 其它月 爲淡季 頭等艙0.5 經濟艙0.3
* 輸入T 退出系統
*/
public class jiapio {
@SuppressWarnings("resource")
public static void main(String []args){
System.out.println("鄭州-漢城機票查詢系統");
System.out.println("當前月份爲:");
Scanner in = new Scanner(System.in);
try {
do{
String n = in.next();
if (n.equals("t")){
System.exit(0);
System.out.println("已退出");
}else{
switch (Integer.parseInt(n)) {
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
System.out.println("當前爲旺季\n頭等艙票價:"+5000*0.9+"\t經濟艙票價:"+5000*0.6);
break;
case 1:
case 2:
case 3:
case 11:
case 12:
System.out.println("當前爲旺季\n頭等艙票價:"+5000*0.5+"\t經濟艙票價:"+5000*0.3);
break;
default:
System.out.println("請輸入1-12");
break;
}
}
}while(true);
} catch (Exception e) {
System.out.println("請輸入數字");
main(null);
}
}
}