2021-11-18----韩顺平Java入门第十二天

2021-11-18----韩顺平Java入门第十二天,第1张

2021-11-18----韩顺平Java入门第十二天 韩顺平Java入门第十二天

1.跳转控制语句-break
    看下面一个需求 随机生成 1-100 的一个数,直到生成了 97 这个数,看看你一共用了几次? 提示使用 (int)(Math.random() * 100) + 1
    思路分析: 循环,但是循环的次数不知道. -> break ,当某个条件满足时,终止循环 通过该需求可以说明其它流程控制的必要性,比如 break。
    基本介绍: break 语句用于终止某个语句块的执行,一般使用在 switch 或者循环[for , while , do-while]中。
    基本语法:
        {
         ……
        break;
        ……
        }
    以 while 使用 break 为例,画出示意图:

    注意事项和细节说明:

//1) 1-100 以内的数求和,求出 当和 第一次大于 20 的当前数 【for + break】
public class BreakExercise { 
	//编写一个 main 方法 
	public static void main(String[] args) { 
		//1-100 以内的数求和,求出 当和 第一次大于 20 的当前数 【for + break】
		//思路分析 
		//1. 循环 1-100, 求和 sum 
		//2. 当 sum > 20 时,记录下当前数,然后 break 
		//3. 在 for 循环外部,定义变量 n , 把当前 i 赋给 n 
		int sum = 0; 
		//累积和 
		//注意 i 的作用范围在 for{}
		int n = 0; 
		for(int i = 1; i <= 100; i++) { 
			sum += i;//累积 
			if(sum > 20) { 
				System.out.println("和>20 时候 当前数 i=" + i); 
				n = i;
				break; 
			} 
		}System.out.println("当前数=" + n); 
	}
}
//2) 实现登录验证,有 3 次机会,如果用户名为"丁真" ,密码"666"提示登录成功,否则提示还有几次机会,
//请使用 for+break 完成
import java.util.Scanner; 

public class BreakExercise02 { 
	//编写一个 main 方法 
	public static void main(String[] args) { 
		//实现登录验证,有 3 次机会,如果用户名为"丁真" ,密码"666"提示登录成功, 
		//否则提示还有几次机会,请使用 for+break 完成 
		//
		// 思路分析 
		// 1. 创建 Scanner 对象接收用户输入 
		// 2. 定义 String name ; String passwd; 保存用户名和密码 
		// 3. 最多循环 3 次[登录 3 次],如果 满足条件就提前退出 
		// 4. 定义一般变量 int chance 记录还有几次登录机会 
		// 
		// 代码实现
		Scanner myScanner = new Scanner(System.in); 
		String name = ""; 
		String passwd = ""; 
		int chance = 3; 
		//登录一次 ,就减少一次 
		for( int i = 1; i <= 3; i++) {//3 次登录机会
			System.out.println("请输入名字"); 
			name = myScanner.next(); 
			System.out.println("请输入密码"); 
			passwd = myScanner.next(); 
			//比较输入的名字和密码是否正确 
			//补充说明字符串 的内容 ‘比较’ 使用的 方法 equals 
			if("丁真".equals(name) && "666".equals(passwd)) { 
				System.out.println("恭喜你,登录成功~"); 
				break; 
			}
			//登录的机会就减少一次 
			chance--; 
			System.out.println("你还有" + chance + "次登录机会"); 
		} 
	} 
}

2.跳转控制语句-continue
    基本介绍:
        1) continue 语句用于结束本次循环,继续执行下一次循环。
        2) continue 语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环 , 这个和前面的标签的使用的规则一样。
    基本语法:
        {
         ……
        continue;
        ……
        }
    以 while 使用 continue 为例,画出示意图

快速入门案例:

3.跳转控制语句-return
    return 使用在方法,表示跳出所在的方法,在讲解方法的时候,会详细的介绍,这里我们简单的提一下。注意:如果 return 写在 main 方法,退出程序。


4.本章作业
第一题

//某人有100000元,每经过一次路口,需要交费,规则如下:
//1)当现金>50000时,每次交百分之五:
//2)当现金<=50000时,每次交1000;
//编程计算该人可以经过多少次路口,要求:使用while+break
//化繁为简
public class homework0501{
    public static void main(String[] args) {
        double restRMB = 100000.0;//剩下的钱
        int count = 0;//经过路口的次数
        while (restRMB > 0) {
            if (restRMB > 50000) {
                restRMB = restRMB - (0.05 * restRMB);//百分之5 = 0.05;
                count++;
             }else if (restRMB <= 50000) {
                restRMB = restRMB - 1000;
                count++;
                }
            if (restRMB < 1000) {
                break;
                }
        }
        System.out.println("可以经过" + count+ "次");//62
    }
}

第二题

//homework0502
//2实现判断一个整数,属于 哪个范围:大于0,小于0,等与0;
//
import java.util.Scanner; 
public class homework0502{
    public static void main(String[] args) {
    	Scanner myScanner = new Scanner(System.in);
        System.out.println("请输入整数"); 
	    int i = myScanner.nextInt(); 
	    if (i > 0) {
	    	System.out.println("整数" + i + "大于0");
	    }else if (i < 0) {
	    	System.out.println("整数" + i + "小于0");
	    }else if (i == 0) {
	    	System.out.println("整数" + i + "等与0");
	    }

    }
}

第四题

//4判断一个整数是否为水仙花数,所谓水仙花数是指衣蛾三位数,
//其各个位上数字立方和等于其本身。
import java.util.Scanner; 
public class homework0503{
	public static void main(String[] args) {
		Scanner myScanner = new Scanner(System.in);
        System.out.println("请输入整数"); 
        int i = myScanner.nextInt();
        int i1 = i % 10;
        System.out.println("个位是" + i1); 
        int i2 = i / 10 % 10;
        System.out.println("十位是" + i2); 
        int i3 = i / 100;
        System.out.println("百位是" + i3); 
        if (i1 * i1 * i1 + i2 * i2 * i2 + i3 * i3 * i3 == i ) {
        	System.out.println("整数" + i + "是水仙花数");//153、370、371、407
        }else{
        	System.out.println("整数" + i + "不是水仙花数");
        }
	}
}

第六题

//6、输出1-100之间的不能被5整除的数,每5个一行
public class homework0504{
	public static void main(String[] args) {
		int count = 0;
		for (int i = 1;i <= 100 ; i++ ) {
			if (i % 5 != 0) {
				System.out.print( i + "t" ); 
                count++;
			}
			if (count % 5 == 0) {
				System.out.println("n");
			}
		}
	}
}

第七题

//7、输出小写a-z 和大写Z到A
public class homework0505{
	public static void main(String[] args) {
		System.out.print( "小写字母" );
		for ( int a = 97; a < 123 ; a++) {
			System.out.print( (char)a );
		}
        System.out.print( "n" );
        System.out.print( "大写字母"  );
		for ( int i = 90; i >= 65 ; i--) {
			System.out.print( (char)i );
		}
	}
}

第八题

//8、求1-1/2+1/3-1/4.....1/100的和
public class homework0506{
	public static void main(String[] args) {
        double sum = 0.0;
		for ( double i = 1.0; i <= 100 ; i++) {
			if (i % 2 < 0.0000001 ) {
				sum = sum - 1/i ;
			}else {
				sum = 1/i + sum;
			}
		}
       System.out.print( sum );//0.688172179310195
	}
}

第九题

//9、求1 + ( 1+2 ) + (1+2+3)+ (1+2+3+4)+ .....+(1+2+3+....+100)的结果。
public class homework0507{
	public static void main(String[] args) {
        int sum = 0;
		for ( int i = 1; i <= 100 ; i++) {
			//i 第几个式子,加几个数
			for (int j = 1;j <= i ;j++ ) {
				//j 控制括号内的式子
				sum += j;
			}
		}
       System.out.print( sum );//171700
	}

}
-----文章为自学笔记,学习的课程是B站上的韩顺平30天学JAVA,文章标题的天数是自己学习的天数-----

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5563448.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-14
下一篇2022-12-14

发表评论

登录后才能评论

评论列表(0条)

    保存