3.26 JavaSE 循环语句与方法基础

循环结构

循环结构即重复地执行一些相同或类似的操作

while循环:条件循环

while(条件){循环体 迭代因子}

for循环:次数循环

for(条件初始化;条件判断;条件变化){循环体语句};

执行流程:1.条件初始化

2.条件判断,满足条件则执行循环体语句,不满足条件直接结 束循环

3.条件变化

重复2,3

注意:条件初始化中的变量的作用域仅在循环的(){}中

break,continue

break:作用是结束或者终止

应用场景:switch、循环

continue:语句用在循环语句体中,用于终止 某次循环过程 ,即跳过循环 体中尚未执行的语句,接着进 行下一次是否执行循环的判定

注意:1.带标签的break和continue需要设置标签名

2.当存在嵌套循环时,我们在内层循环中使用break和continue,默认针对离break与continue关键字最近的内层循环,如果想要实现结束,调出针对多层循环嵌套的某一层,需要使用带标签的break或continue

方法

方法基础

方法:定义某种功能的代码段

作用:简化代码的编写,提高代码的复用性

注意:方法不调用不执行,方法不能嵌套。定义的位置在类中方法外

定义:修饰符 返回值类型|void 方法名(参数列表){

实现功能的代码段

[return 返回值;]

}

参数

参数分为形参和实参,它们一一对应(个数,类型,顺序)

注意:方法的形参相当于局部变量的声明,局部:当前方法,方法的形参没有默认,形参的值由实参决定

return

1.提前结束方法

2.带出返回值,返回给方法的调用处

3.在有返回值类型的方法中必须带有return,并且必须带出返回值

但是在没有返回值的方法中可以存在return,不能带出返回值,只能结束方法

不可达语句:永远不会执行的语句,编译会直接报错

1.return后面的语句

2.while(false){}中花括号中的语句

3.死循环后的代码:for(;😉{} 和 while(true){}

4.break,continue后的语句

方法的兼容性问题:

1.参数类型

形参的类型----->实参的类型

2.返回值的类型

接收返回值的变量的类型 >=方法的返回值类型 >=return后面数据的类型

在这里/*
系统对用户输入的用户名和密码进行验证,验证次数最多三次,超过三次则程序结束。并且根据验证结果的不同,
执行不同的操作。每次会提示还有几次机会,超过次数显示我现在不知道怎样去显示“对不起,您3次均输入错误这个信息”
*/
import java.util.Scanner;

public class check{
	public static void main(String[] args){
		
		//定义用户的用户名和密码
		String uname = "admin";
		int pw = 123;
		
		//键盘输入
		Scanner sc = new Scanner(System.in);
		
		
		//判断是否正确
		int count = 3;
		while(true){
			//用户输入用户名和密码
			System.out.println("------------请输入你的用户名和密码:");
			System.out.println("------------用户名:");
			String uname2 = sc.next();
			System.out.println("------------密码:");
			int pw2 = sc.nextInt();
			if(!uname2.equals(uname)||pw2!=pw){
			count--;
			System.out.println("用户名或密码错误你还有:"+count+"次机会");
			if(count==0){
				System.out.println("机会已用尽");
				break;
			}
			if(uname2.equals(uname)&&pw2==pw){
				System.out.println("登录成功!!!");
				break;
			}
			continue;
			}
		}
		
	}
}


import java.util.Scanner;

public class flower{
	public static void main(String[] args){
		//键盘接收一个数字,判断这个数是否为质数(质数是只能被1跟自身整除的数,1不是质数)
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个整数");
		int num = sc.nextInt();
		
		//判断除1外的数字
		for(int i=2;i<num;i++){
			if(num%i==0) {
				System.out.println("该数字不是质数");
				break;
			}
			else {
				System.out.println("该数字是质数");
				break;
				}
		}
		
		
		//判断数字1
		if (num == 1) System.out.println("该数字不是质数");
		
		
		

	}
	
public class ForDemo01{
	public static void main(String[] args){
		
		int sum = 0;
		//for循环
		for(int i=2;i<=100;i+=2){
			sum+=i;
		}
		System.out.println("2+4+6+…+100的值:"+sum);
		
		for(int i=1;i<=1000;i++){
			if(i%5==0){
				System.out.print(i + " ");
				if(i%3==0){
					System.out.println();
				}
			}
		}
	}
}

//控制台打印所有字母(包含大小写)
public class HomeWork{
	public static void main(String[] args){
		int count = 0;
		for(int i =65;i<=90;i++){
			char alph = (char)i;
			System.out.print(alph+" ");
			
			count++;
			if(count%3==0){
				System.out.println();
			}
			
		}
		for(int i =97;i<=122;i++){
			char alph = (char)i;
			System.out.print(alph+" ");
			count++;
			if(count%3==0){
				System.out.println();
			}
		}
	
	}
}

//一小和尚挑水,要把水缸装满,而且每次只能挑5升水,
//水缸能容纳80升水。问:小和尚要挑几次才能把水缸挑满?

public class HomeWork3{
	public static void main(String[] args){
		//计算小和尚要挑水的次数
		int count = 0;
		for(int i = 0;i<80;i+=5){
			count++;
		};
		System.out.println("小和尚一共需要挑水"+count+"次");
		
	}
}

//键盘输入一个年份,判断是平年还是闰年
//闰年:能被4整除但不能被100整除或者能被400整除
import java.util.Scanner;

public class HomeWork5{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		//键盘输入年份
		System.out.println("请输入一个年份,系统将会判定是平年还是闰年");
		int year = sc.nextInt();
		
		if((year%4==0 && year%100!=0)|year%400==0){
			System.out.println("闰年");
		} else{System.out.println("平年");}
	}
}

import java.util.Scanner;

public class methodDemo1{
	public static void main(String[] args){
		//主方法
		
		//调用取数方法
		int i = 2568;
		qushu(i);
		
		//调用登录方法
		//login_in("admin",123);
		
		//调用辨别身份方法
		//identify(10,10,10);
		
	}
	//输出一个四位数每个位数上的数字的方法
	public static void qushu(int i){
		int x = 0;//个位上的数字
		int y = 0;//十位上的数字
		int a = 0;//百位上的数字
		int b = 0;//千位上的数字
		
		x = i%10;
		y = i/10%10;
		a = i/100%10;
		b = i/1000;
		
		System.out.println("千位数"+b+"百位是"+a+"十位是"+y+"个位数是"+x);
	}
	//登录方法
	public static void login_in(String uname,int pw){
		Scanner sc = new Scanner(System.in);
		System.out.println("--------请输入你的用户名");
		uname = sc.next();
		System.out.println("--------请输入你的密码");
		pw = sc.nextInt();
		//设置正确的用户名和密码
		String rightuname = "admin";
		int rightpw = 123;
		//设置判断语句
		int count = 3;// 计数器用来计算还剩下几次机会
		while(true){
			//登录成功
			if(uname.equals(rightuname)&&pw == rightpw){
				System.out.println("登陆成功!!!");
				break;
			}
			//机会用尽
			if(count==1){
				System.out.println("机会已用尽");
				break;
			}
			//登录失败
			if(!uname.equals(rightuname)|| pw!=rightpw){
			count--;
			System.out.println("--------你还剩下"+count+"次机会");
			System.out.println("--------请输入你的用户名");
			uname = sc.next();
			System.out.println("--------请输入你的密码");
			pw = sc.nextInt();
			}
			
		}	
	}
	//辨别身份方法
	public static void identify(int height,double money,int face){
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入你的身高");
		height = sc.nextInt();
		System.out.println("请输入你的银行卡余额");
		money = sc.nextDouble();
		System.out.println("请输入你的颜值");
		face = sc.nextInt();
		
		//计数器用来计算有几项分数达标
		int count = 0;
		if (height > 180) count++;
		if (money > 1000000) count++;
		if (face > 90) count++;
		
		
		if (count == 3){
			System.out.println("高富帅");
		}else if (count == 2){
			System.out.println("潜力股");
		}else if (count == 1){
			System.out.println("屌丝");
		}else if (count == 0){
			System.out.println("垃圾");
		}
		
	}
}

public class qiantao{
	public static void main(String[] args){
		for(int i = 1;i<=5;i++){
			for(int j = 1;j<=5;j++){
				System.out.print(i+"------------>"+j+" ");
			}
			System.out.println();
		}
	}

public class WhileDemo02{
	public static void main(String[] args){
		//2+4+6+…+100的值

		int i = 0;
		int sum = 0;
		int count = 0;
		while(i<=100){
			sum+=i;
			i+=2;
		}
		System.out.println(sum);
		
		//循环输出1-1000之间能被5整除的数,并且每行输出3个
		while(i<=1000){
			i++;
			if(i%5==0){
				System.out.print(i);
			}
			if()
		}
		
	}
}插入代码片