java之基础语法六(while循环、do while循环、for循环、增强for、迭代器)

循环: 就是重复发生的过程(循环一般有重复的前提条件)。

1.while循环

语法: 
while(表达式){                                                          
循环体
}

while循环先判断后执行
表达式结果如果是true那么就执行循环体,如果是false就结束循环

在这里插入图片描述
示例:打印1到100之间的数字
分析:
循环条件:是否完成打印100次
循环操作:输出,自增

class text{
					/**
				  *打印1到100之间的数
				  *循环条件1 - 100
				  */
		public static void main(String args[]){
                int i =1;
				//i <=100是循环条件,只有循环条件时true的时候才能执行循环体,循环条件只能是true或false
    		    while (i <= 100){
						System.out.println(i);
     					i ++;
				}
		 }
  }

2.do…while循环结构

初始化语句;
do {
循环体语句;
条件控制语句;
}while(条件判断语句);


执行流程:
① 执行初始化语句
② 执行循环体语句
③ 执行条件控制语句
④ 执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
⑤ 回到②继续

在这里插入图片描述示例:打印1到100之间的偶数和

class text{
		public static void main(String args[]){
				int i =1;
				int sum = 0;
				do{
					if(i%2 == 0){
					sum += i;
					}
 				  i++;
  				 }while(i <= 100);
            System.out.println(“1-100之间的偶数和”+sum);
        }
 }

2.for循环

1.普通for循环

语法:
for:循环
      语法: for(表达式1;表达式2;表达式3){
              循环体
}

表达式1:计数器的初始化,他只初始化一次
表达式2:循环条件的判断,多次执行
表达式3:修改计数器,多次执行

示例:打印1到100之间的偶数和

class even_number{
		public static void main(String[] args){
   			 int sum = 0;
			//使用for来打印1到100的所有的偶数和
			for(int i = 1; i  <= 100; i ++){
					if (i % 2 == 0){
					sum+=i;
					}
				}
			Systm.out.println(“1 – 100之间的偶数和:”+sum);
    	 }
   }

示例:打印5行5列的☆

class start{
		public static void main(String[] args){
  			  //控制的是行
			for(j = 0;j < 5; j ++){
			//打印每列的星
				for(int i = 0; i < 5; i ++){
					Systm.out.println(“☆”);
				}
			//换行
			Systm.out.println( );
          }
   	  }
  }

示例:打印乘法口诀

class text{
		public static void main(String[] args){
    			//行的循环
				for(int i = 0 ;i <= 9;i ++){
					for(int j = 1; j <= i;j ++){
						System.out.println(j+“*”+i+”=”+(i*j)+”/t”);
          			  }
     				System.out.println();
				}
}

2.增强for

语法:
for(数据类型 变量名:对象名){
语句体
}

数据类型一定要与对象名里面的数据类型一致(要是什么都有可以写object)
变量名只要符合规范即可

示例:遍历数组(数组后面会提到)

public class enhance_for {
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5,6,7};
        for(int a :arr){
            System.out.print(a + " ");
        }
    }
}

3.迭代器
需要借助java提供的类:Iterator 在java.util.Iterator包下
一个集合的迭代器。 Iterator代替了Java Collections Framework中的Enumeration 。 迭代器有两种不同的枚举方式:
迭代器允许调用者在迭代期间从底层集合中删除元素,并具有明确定义的语义。
方法名称得到改进。

描述这么多:我们前期只需要知道怎么遍历即可,有通用的格式

语法:
 List<String> list= new ArrayList<String>();//首先先定义一个集合
 //添加元素
 list.add("cs");
 list.add("cs1");
 //迭代器遍历
        Iterator<String> it = list.iterator();//创建迭代器对象
        while(it.hasNext()){//如果迭代具有更多元素,则返回true 
            System.out.print(it.next() + " ");//返回迭代中的下一个元素。
        }
其他的也就是List的泛型改一下其他的用法都一样

例子:遍历集合

private static void Demo01() {
        List<String> list= new ArrayList<String>();      //List的泛型只能放一个  泛型可写可不写  但是写了之后  添加的东西必须与泛型统一
        list.add("cs");
        list.add("cs1");
        //迭代器遍历
        Iterator<String> it = list.iterator();
        while(it.hasNext()){
            System.out.print(it.next() + " ");
        }
        System.out.println();
        }

例子:学生信息管理系统:
学生类:student.java

import java.util.Scanner;

public class Student {
    private String id;
    private String name;
    private String age;
    private String ssex;

    public Student() {
    }

    public Student(String id, String name, String age, String ssex) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.ssex = ssex;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getSsex() {
        return ssex;
    }

    public void setSsex(String ssex) {
        this.ssex = ssex;
    }

    public Student input(){
        Scanner sc = new Scanner(System.in);
        System.out.println("---请输入学生ID号:------");
        id = sc.nextLine();
        System.out.println("---请输入学生姓名:------");
        name = sc.nextLine();
        System.out.println("---请输入学生年龄:------");
        age = sc.nextLine();
        System.out.println("---请输入学生性别:------");
        ssex = sc.nextLine();
        return this;
    }

}

学生实现类Stu_System.java

import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random;
import java.util.Scanner;

public class Stu_System {
    static Scanner sc = new Scanner(System.in);
    public static void main(String[] args) {
        ArrayList<Student> list = new ArrayList<Student>();
        handle(list);


    }

    //页面判断
    private static void handle(ArrayList<Student> list) {
        boolean b = true;

        while(b) {
                int input = menu();
          switch (input){
              case 1:
                  add(list);
                  break;
              case 2:
                  del(list);
                  break;
              case 3:
                  update(list);
                  break;
              case 4:
                  look(list);
                  break;
              case 5:
                  System.out.println("---成功推出学生系统!!!!---");
                  System.out.println("---欢迎下次继续登陆!!!!---");
                  b = false;
                  break;
              default:
                  System.out.println("输入错误请从新输入:");

          }

        }
    }

    //菜单
    public static int menu(){
        System.out.println("---欢迎登陆学生管理系统---");
        System.out.println("-----1.添加学生信息------");
        System.out.println("-----2.删除学生信息------");
        System.out.println("-----3.修改学生信息------");
        System.out.println("-----4.查看学生信息------");
        System.out.println("-----5.退出学生系统------");
        System.out.println("---请输入您要进行的操作:--");
        int input = sc.nextInt();
        return  input;

    }


    //添加学生信息
    public static void add(ArrayList<Student> list){
        System.out.println("--欢迎进入学生添加页面!--");
        System.out.println("---请输入学生ID号:------");
        String id = sc.nextLine();
        System.out.println("---请输入学生姓名:------");
        String name = sc.nextLine();
        System.out.println("---请输入学生年龄:------");
        String age = sc.nextLine();
        System.out.println("---请输入学生性别:------");
        String ssex = sc.nextLine();
        int x = 0;
        String line = verify();
        System.out.println("---验证码为:" + line);
        System.out.println("---请输入验证码:-------");
        String line1 = sc.nextLine();
        if(line.equals(line1)) {
            x++;
            list.add(new Student(id, name, age, ssex));
        }
        if (x==0){
            System.out.println("---验证码输入错误!!!---");
        }else{
            System.out.println("添加成功");
        }
    }

    //删除学生信息
    public static void del(ArrayList<Student> list){
        System.out.println("--欢迎进入学生删除页面!--");
        System.out.println("----请输入学生id号:-----");
        String id  = sc.nextLine();
        int x = 0;
        for (int i = 0; i < list.size(); i++) {
            Student student = list.get(i);
            if (student.getId().equals(id)) {
                x++;
                String line = verify();
                System.out.println("---验证码为:" + line);
                System.out.println("---请输入验证码:-------");
                String line1 = sc.nextLine();
                if(line.equals(line1)) {
                    list.remove(i);
                    x++;
                }
            }
        }
        if (x == 0) {
            System.out.println("----学生不存在----");
        } else if(x == 1){
            System.out.println("----验证码输入错误---");
        }else if(x == 2){
            System.out.println("----删除成功------");
        }


    }

    //修改学生信息
    public static void update(ArrayList<Student> list){
        System.out.println("--欢迎进入学生修改页面!--");
        System.out.println("--注意!!!学号不能进行更改");
        System.out.println("----请输入学生id号:-----");
        String id  = sc.nextLine();
        int x = 0;
        for (int i = 0; i < list.size(); i++) {
            Student student = list.get(i);
            if (student.getId().equals(id)) {
                x ++;
                System.out.println("---请输入学生姓名:------");
                String name = sc.nextLine();
                System.out.println("---请输入学生年龄:------");
                String age = sc.nextLine();
                System.out.println("---请输入学生性别:------");
                String ssex = sc.nextLine();
                String line = verify();
                System.out.println("---验证码为:" + line);
                System.out.println("---请输入验证码:-------");
                String line1 = sc.nextLine();
                if(line.equals(line1)) {
                    Student stu = new Student(id, name, age, ssex);
                    list.set(i, stu);
                    x++;

                }
            }
        }
        if (x==0) {
            System.out.println("----学生不存在----");
        } else if(x ==1){
            System.out.println("----验证码输入错误---");
        }else{
            System.out.println("----修改成功------");
        }

    }

    //查看学生信息
    public static void look(ArrayList<Student> list){
        System.out.println("当前学生信息:");
        Iterator<Student> it = list.iterator();

        while(it.hasNext()){
            Student student = it.next();
            System.out.println("学生ID:" + student.getId() +" 学生姓名:" + student.getName() +
                              " 学生年龄:" + student.getAge() + " 学生性别:" + student.getSsex());
        }
        System.out.println();

    }

    //验证码
    public static String verify(){
        StringBuilder sb = new StringBuilder();
        for (char c = 'a'; c <= 'z'; c ++) {
            sb.append(c);
        }
        for (char c = 'A'; c <= 'Z'; c ++) {
            sb.append(c);
        }
        for (char c = '0'; c <= 'z'; c ++) {
            sb.append(c);
        }

        StringBuilder sb1 = new StringBuilder();
        Random r = new Random();
        for (int i = 0; i <4; i++) {
            int index = r.nextInt(sb.length());
            sb1.append(sb.charAt(index));
        }
        return sb1.toString();
    }

    //无用的方法
    public static boolean verify_id(String id){
        if(id.length()< 5 || id.length() > 10){
            System.out.println("密码长度不匹配");
            return false;
        }
        return true;
    }

}

上面用到了迭代器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Java中for、while、do-while循环的基本流程: 1. for循环:for循环是一种常用的循环结构,它的语法如下: ```java for (初始化; 判断条件; 更新操作) { // 循环体 } ``` 其中,初始化语句只会在循环开始时执行一次,判断条件会在每次循环开始前进行判断,如果为true则执行循环体,否则跳出循环,更新操作会在每次循环结束后执行。 2. while循环while循环是一种基本的循环结构,它的语法如下: ```java while (判断条件) { // 循环体 } ``` 其中,判断条件会在每次循环开始前进行判断,如果为true则执行循环体,否则跳出循环。 3. do-while循环:do-while循环是一种先执行循环体再判断条件的循环结构,它的语法如下: ```java do { // 循环体 } while (判断条件); ``` 其中,循环体会在第一次循环开始前执行一次,然后在每次循环开始前进行判断,如果为true则继续执行循环体,否则跳出循环。 以下是一个Java程序,使用while循环来进行猜数的过程: ```java import java.util.Scanner; import java.util.Random; public class GuessNumber { public static void main(String[] args) { Scanner input = new Scanner(System.in); Random random = new Random(); int number = random.nextInt(100) + 1; int guess; int count = 0; boolean win = false; System.out.println("猜数游戏开始!"); while (count < 5) { System.out.print("请输入一个1到100之间的整数:"); guess = input.nextInt(); count++; if (guess == number) { win = true; break; } else if (guess < number) { System.out.println("你猜的数太小了!"); } else { System.out.println("你猜的数太大了!"); } } if (win) { System.out.println("恭喜你,猜对了!"); } else { System.out.println("很遗憾,你没有猜对。正确答案是:" + number); } } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值