Java学习之路

  • Java第四讲
  • 循环结构:
  • 跳出
  • 变量
  • 案例 一
  • 案例二


Java第四讲

循环结构:

循环结构:
1. while:

结构:while(条件){代码块}
					条件:一个结果为boolean类型的表达式,为true则循环执行,为false则循环不执行。
					{代码块}:当条件为true是执行的内容
		注意:条件部分一定为变量且不能让变量为固定值。如果条件部分的值固定为ture,则当前循环为死循环。
		
		停止:创建一个条件,使用if进行判断,当条件达到某标准时,改变while循环条件值,由原来的ture变为false,从而结束循环。
		应用环境:当循环次数不确定时候。
2. do..while..
		结构:do{代码块}while{条件}
			执行顺序:先执行一次代码块,然后使用条件进行判断,条件为ture继续,为false结束循环

3. for	结构:for (int i = 0; i < 10; i++) {代码块/循环体}
		int i = 0;表示循环的初始条件
		i < 10;表示循环的判断条件/表达式
		i++表示变量的更新
	执行流程:创建初始条件,判断条件是否符合,表达式结果为true则循环执行,为false则循环不执行,
		当本次循环体执行完毕后进行变量更新,再判断条件是否符合,如此往复,直到条件不符合,循环结束。
	注意:初始条件只执行一次。
	应用场景:有限次数(明确次数)的循环。
	注意:在普通for循环中,小括号中,只需要有两个分号即可,但此种循环为死循环,也可以将初始化部分和变量更改部分放到其他位置。

跳出

continue     break
	 continue:跳出本次循环,当关键字continue被执行时,本次循环结束,之间进入下一次循环。
	  注意:只能用在循环语句中
	  注意:continue后面可以跟变量名称,效果为跳转到指定的循环位置。当前变量为在循环关键字(for/while)前面直接声明。
	  定义方式: out:if(){
	     }
	             continue out;
	 break:	跳出当前循环。当关键字break被执行时,当前循环结束。如果有外层循环,则外层循环继续,吐过没有,则执行后面的	
	    注意:在break之后也可以跟量,定义方式与continue之后的变量定义的方式相同,作用为:跳出指定循环。

退出:reture表示退出(结束)当前程序。

变量

变量:全局变量 局部变量
if块和else块中创建的局部变量互不影响
switch中的每一个块(case、default)之中创建的局部变量互不影响。
循环中创建的局部变量在循环外不能生效。

substring(1,2)作用:截取从指定位置开始到指定位置结束的字符串。参数1:表示开始位置。参数2:表示结束位子
注意:开始位置从0开始。
注意:截取位置:[开始,结束)
注意:如果此方法为一个参数,则此参数表示开始位置,截取到最后。

案例 一

java中死循环语句 java死循环语句代码_java中死循环语句

package xiaojun;

import java.util.Scanner;

/**
 * 需求说明
	   循环录入3位会员的信息
	   会员号合法,显示录入
	   信息;否则显示录入失败
	分析:
		1、使用for循环,循环3次
		2、会员号为4位数字,会员生日格式:月份/日,会员积分:数字
		3、判断会员号合法与否
		4、合法即输出会员信息,不合法则提示录入有误
 */
public class text_01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		
		for(int i=1; i <= 3; i++) {
			System.out.println("请输入第"+i+"位会员的信息:");
			System.out.print("请输入当前会员的编号:");
			
			String num = "";
			
			
			//此处需要判断会员号为4位,使用String对象的length()方法可以直接获取到当前字符串的长度,所以此处使用String类型来接收
			if(input.hasNextInt()) {
				num = input.next();
				if(num.length() == 4) {
					//满足会员号的要求
				}else {
					System.out.println("输入错误,请输入四位会员号。");
					System.out.println("输入有误,请重新输入。");
					i --;
					continue;
				}
			}else {
				System.out.println("MDZZ,会员号为4位数字!");
				input.next();
				System.out.println("输入有误,请重新输入。");
				i --;
				continue;
			}
			System.out.print("请输入当前会员的生日:");
			
			String shengri = input.next();
			if(shengri.length() == 5) {
				//满足基本要求,接下来要做的是:截取前两位和后两位,判断是否符合月份和日的要求。
				//截取字符串前两位
				String yue = shengri.substring(0, 2);
				//将纯数字String对象转换为int类型
				int yuefen = Integer.parseInt(yue);
				if(!(1 <= yuefen && yuefen <=12)) {
					//不满足月份要求
				}
				//截取字符串后两位
				String ri = shengri.substring(3, 5);
				int rizi = Integer.parseInt(ri);
				if(!(rizi >=1 && rizi <= 31)) {
					//不满足日子要求
				}
			}else {
				System.out.println("MDZZ,生日要求为: 月份/日,例:05/02");
				System.out.println("输入有误,请重新输入。");
				i --;
				continue;
			}
			
			
			
			System.out.print("请输入当前会员的积分:");
			
			int jifen = 0;
			if(input.hasNextInt()) {
				//满足积分要求
				jifen = input.nextInt();
				
			}else {
				System.out.println("MDZZ,你家积分是非数字显示的?");
				input.next();
				System.out.println("输入有误,请重新输入。");
				i --;
				continue;
			}
			//所有判断结束
			System.out.print("成功录入第"+i+"位会员信息,此会员信息为:\n会员号:"+num+"\t生日为:"+shengri+"\t积分为:"+jifen);
			
			
		}
	}

}

案例二

package com.小军;

import java.util.Scanner;

/**
 * 用户登录验证。验证次数最多3次
 * 
 * 分析:有限次数循环,使用for
 * 		用户输入,需要Scanner对象
 * 		登录包括:用户名、密码,使用用户输入的内容与既定的用户名密码进行匹配,匹配成功则提示登录成功,否则重新登录并提示剩余次数。
 */
public class text_02 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Scanner input = new Scanner(System.in);
		String userName = "";
		String password = "";
		System.out.println("欢迎登录我行我素购物管理系统,请输入用户名密码登录,您共有3次机会。");
		for(int i=3;i>=1;i--) {
			
			System.out.print("请输入用户名:");
			userName = input.next();
			System.out.print("请输入密码:");
			password = input.next();
			
			//用户名密码都不为空,开启判断
			if(userName.equals("kitty") && password.equals("123")) {
				//登录成功
				System.out.println("登录成功。");
				//登录成功之后,不管循环有没有执行完毕,后面的都将不再执行,所以此处需要跳出循环
				break;
			}else {
				//用户名或密码错误,登陆失败。
				if(i == 1) {
					System.out.println("用户名或密码错误,请重新登录,登录失败,请重新登陆。您没有机会了。");
				}else {
					System.out.println("用户名或密码错误,请重新登录,登录失败,请重新登陆。您还有"+(i-1)+"次机会");
				}
				continue;
			}
		}
	}

}

单词(中文一次,英文三次)-------作业本上完成

  1. array 数组
  2. length 长度
  3. exception 异常
  4. sort 排序
  5. type 类型
  6. reference 引用
  7. info 信息

简答题--------作业本上完成

  1. 通常什么情况下使用数组?
  2. 如何定义一个int数组?
  3. 怎样引用一个数组中的元素?
  4. 数组基本要素有那些?
  5. 使用数组可以四步走,那四步?