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()
}
}
}插入代码片