黑马程序员——Java基础---跳转控制语句与循环语句练习

时间:2021-11-11 11:52:24

-----------android培训java培训、java学习型技术博客、期待与您交流!------------


一、跳转控制语句

()Java语言提供了breakcontinuereturn来实现控制语句的跳转和中断。

1. break:中断,退出当前循环

2. continue:继续,结束当前循环,继续下一次循环

3. return:返回,结束一个方法

(1)break

break的使用场景:

在选择结构switch语句中

在循环语句中

离开使用场景的存在是没有意义的

break的作用:

跳出单层循环

跳出多层循环

break练习:

class BreakDemo{

public static void main(String[] args){

for (int x=0; x<5; x++){

if (x==2){

break;

}

System.out.println(x);

}

System.out.println("over");

}

}

运行结果:

 黑马程序员——Java基础---跳转控制语句与循环语句练习

(2) continue

continue的使用场景:

在循环语句中

离开使用场景的存在是没有意义的

continue的作用:continue  退出本次循环

continue练习:

class ContinueDemo{

public static void main(String[] args){

for (int x=0; x<5; x++){

if (x==2){

continue;

}

System.out.println(x);

}

System.out.println("over");

}

}

运行结果:

 黑马程序员——Java基础---跳转控制语句与循环语句练习

(3)return练习:

class ReturnDemo{

public static void main(String[] args){

return;

System.out.println("over");

}

}

运行结果:

 黑马程序员——Java基础---跳转控制语句与循环语句练习

二、循环语句练习

()在控制台输出100~1000之间的”水仙花数”

class ForDaffodil{

public static void main(String[] args){

for (int i=100;i<1000 ;i++ ){

//个位

int g=i%10;

//十位

int s=i/10%10;

//百位

int b=i/100;

if (i==g*g*g+s*s*s+b*b*b){

System.out.println(i+"是水仙花数");

}

}

}

}

运行结果:

黑马程序员——Java基础---跳转控制语句与循环语句练习 

(统计100~1000之间的”水仙花数”共有多少个

class ForDaffodilCount{

public static void main(String[] args){

int count=0;

for (int i=100;i<1000 ;i++ ){

//个位

int g=i%10;

//十位

int s=i/10%10;

//百位

int b=i/100;

if (i==g*g*g+s*s*s+b*b*b){

count++;

}

}

System.out.println("水仙花数的个数为:"+count+"");

}

}

运行结果:

 黑马程序员——Java基础---跳转控制语句与循环语句练习

()键盘录入非负整数n,求n的阶乘

import java.util.Scanner;

class JieCheng{

public static void main(String[] args){

//创建Scanner对象

Scanner sc = new Scanner(System.in);

System.out.println("请输入你想要求的数的阶乘。。。");

//定义变量接收数据

int n = sc.nextInt();

//定义变量存储结果

int result = 1;

for (int i = 1;i < n ; i++){

result *= i; 

}

System.out.println(n+"的阶乘为:"+result);

}

}

运行结果:

 黑马程序员——Java基础---跳转控制语句与循环语句练习

()请在控制台输出满足如下条件的五位数:

个位等于万位

十位等于千位

个位+十位+千位+万位=百位

class ForAndIf{

public static void main(String[] args){

System.out.println("满足条件的五位数有:");

for (int i= 10000;i<100000 ; i++){

//定义变量,存储万位

int w= i/10000;

//定义变量,存储千位

int q= i%10000/1000;

//定义变量,存储百位

int b= i%1000/100;

//定义变量,存储十位

int s= i%100/10;

//定义变量,存储个位

int g= i%10;

if (g==w && s==q && (b==g+s+q+w)){

System.out.println(i);

}

}

}

}

运行结果:

 黑马程序员——Java基础---跳转控制语句与循环语句练习

()请统计1-1000之间同时满足如下条件的数据有多少个:

3整除余2

5整除余3

7整除余2

class StatisticsCount{

public static void main(String[] args){

//定义计数器

int count =0;

for (int i= 1; i<= 1000; i++){

if (i%3==2 && i%5==3 && i%7==2){

count++;

}

}

System.out.println("满足条件的数据有"+count+"");

}

}

运行结果:

 黑马程序员——Java基础---跳转控制语句与循环语句练习

()我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.001m。请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?

class WhileDemo{

public static void main(String[] args){

float i=0.001f;

int count=0;

while (true){

i*=2;

count++;

if (i>=8848){

break;

}

}

System.out.println("我折叠"+count+"次,就可以保证厚度不低于珠穆朗玛峰的高度");

}

}

运行结果:

 黑马程序员——Java基础---跳转控制语句与循环语句练习

()请输出一个45列的星星(*)图案。

class PrintStarDemo{

public static void main(String[] args){

for (int i= 0;i< 4 ;i++ ){//外循环,控制行

for (int j= 0;j< 5 ;j++ ){//内循环,控制列

System.out.print("*");

}

System.out.println();

}

}

}

运行结果:

 黑马程序员——Java基础---跳转控制语句与循环语句练习

()请输出如下图形

*

* *

* * *

* * * *

* * * * *

class StarPrint{

public static void main(String[] args){

for (int i= 1; i<= 5 ; i++){//外层循环控制行

for (int j= 1;j<= i ; j++){//内层循环控制列

System.out.print("*"+"\t");

}

System.out.println();

}

}

}

运行结果:

 黑马程序员——Java基础---跳转控制语句与循环语句练习

()在控制台输出九九乘法表。

class NineNineMul{

public static void main(String[] args){

//定义变量,存储结果

int count;

//输出行

for (int m=1;m<10 ;m++ ){

//输出列

for (int n=1;n<=m ;n++ ){

count=m*n;

System.out.print(n+"*"+m+"="+count+"\t");

}

System.out.println();

}

}

}

运行结果:

 黑马程序员——Java基础---跳转控制语句与循环语句练习

()小芳的妈妈每天给她2.5元钱,她都会存起来,但是,每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,请问,经过多少天,小芳才可以存到100元钱。

class WhileTest{

public static void main(String[] args){

//定义变量,记录小芳总共存的钱

double all= 0;

//定义计数器,记录天数

int count= 0;

while (all< 100){

//计数器加加

count++;

if (count%5==0){//判断是否为第5天或者是5的倍数

all=all+2.5-6;

}

else all += 2.5;

}

//System.out.println(all);

System.out.println("经过"+count+"天,小芳才可以存到100元钱");

}

}

运行结果:

 

 黑马程序员——Java基础---跳转控制语句与循环语句练习

-----------android培训java培训、java学习型技术博客、期待与您交流!------------