
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,文章标题的天数是自己学习的天数-----
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)