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);
}
}
}