1、循环结构分为几种?

分为三种:for循环;while循环;do...while循环;

1.1for循环:适合次数比较固定的情况

for(初始化变量;条件语句;变量的变化)

{   代码    }

1.2while循环:

while(条件语句) //条件语句的结果为true的时候才会运行
  {
       代码; 
       变量值的改变;//也可以改变条件       
  }

1.3 do...while循环:先执行,在判断,所以do...while至少执行一次

do{
   代码; 
   变量值的改变;//也可以改变条件    
  }while(条件 );(分号要记住)

2下面就用这三种循环处理一些简单的循环
  2.1 从控制台输入一个正整数,计算该数的阶乘。例如输入5,阶乘为 5*4*3*2*1

public class dom1 {public static void main(String[] args) {Scanner input=new Scanner(System.in);System.out.println("输入一个数字:");int Num=input.nextInt();for(int i=Num;i>1;i--){System.out.print(Num+"*");Num--;if(Num==1){System.out.print(Num);}}}
}

比如输入一个7,运行结果如下:

总结:这题主要考你原样输出递减数字相乘,一开始我一直在计算值,怎么都算不对,后面想了好久,才发现只是要输出公式,有的时候不要把问题考虑的复杂。

2.2 从第一个月开始只有两只兔子两个月长大第三个月生了两只兔子, 生的小兔子两个月长大后每个月又生一对以此类推12个月后一共有多少只兔子

我用了两种算法,第一种:

public class dom3 {public static void main(String[] args) {int arr[] = new int[12];arr[0] = arr[1] = 1;for (int i = 2; i < arr.length; i++) {arr[i] = arr[i - 1] + arr[i - 2];}System.out.println("斐波那契数列的前12项如下所示:");for (int i = 0; i < arr.length; i++) {if (i % 5 == 0)System.out.println();System.out.print(arr[i] + "\t");}}
}

找出规律,前两个数相加等于第三个数,只需要在数组里面输入要输出的月份,那个月份的兔子对数就自动输出了

第二种方法:

public class dom6 {public static void main(String[] args) {Scanner input =new Scanner(System.in);int a=1,b=1;System.out.println("请输入月份");int Yo=input.nextInt();for (int i=3;i<=Yo;i++){int tep=a+b;a=b;b=tep;}System.out.println("兔子是"+b+"对");}
}

两种方法运行的结果一样的,输入12,运行时144,

2.3 任意输入一个整数(小于10位),输出它一共有多少位

public class dom1 {public static void main(String[] args) {Scanner input =new Scanner(System.in);System.out.println("请输入一个10位数以内的数:");int Num=input.nextInt();int i=1;for (i=1;i<10;){if(Num/10>0) {Num=Num/10;i++;}else{break;}}System.out.println("这个数是"+i+"位数");}}

这里我们注意,首先考虑的是,怎么才能输出一个未知的数的位数,我用到了%10,每运行一步,就少一位的方法,想到这,其他的代码就简单了,运行结果如下

2.4  本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金

public class dom2 {public static void main(String[] args) {double Money=10000;double YL=0.003;int Year=5;for (int i=1;i<=5;i++){Money=Money*(1+0.003);}System.out.println("五年后获得的本金是:"+Money+"元");}
}

这题简单,算好利率,加上本金就可以了。

2.5   计算 1+2-3+4-5+6-7....+100的结果

public class dom3 {public static void main(String[] args) {int sum=1;for(int i=2;i<=100;i++){if(i%2==0){sum=sum+i;}else{sum=sum-i;}}System.out.println("结果为:"+sum);}
}

这里对于奇偶的区分用到了%2,切记是从2开始的;运行结果

2.6   你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数

   public static void main(String[] args) {Scanner input =new Scanner(System.in);System.out.println("输入多少个正整数");int Num=input.nextInt();int x=0,y=0;for(int i=1;i<=Num;i++){System.out.println("输入"+i+"个数");int a=input.nextInt();if (a%2==0){x++;}if (a%2>0){y++;}if(a==-1){System.exit(-1);}}System.out.println("奇数的个数为:"+y+"\t"+"偶数的个数为:"+x);}

这里一样用到了%2的方法,如果输入错误,强制中断程序,跳到最外层,用的是System.exit(int ),如果你用break,只是跳出当层代码,外面的仍然执行,结果是错的。

2.7 一张纸的厚度大约是0.08mm,对折多少次之后能达到或超过珠穆朗玛峰的高度(8848.13米)

public class dom8 {public static void main(String[] args) {double x=0.00008;int i=0;while(x<=8848.13){x=2*x;i++;}System.out.println("对折第"+i+"次");}
}

这题也比较简单,抓住两点,1单位换算要对,初始值是0,好多同学定义初始值为1,多算了一次

2.8  计算1000以内所有不能被7整除的整数之和

public class dom6 {public static void main(String[] args) {int sum=0;for(int i=0;i<=1000;i++){if(i%7!=0){sum=sum+i;}}System.out.println("1000以内所有不能被7整除的整数之和为:"+sum);}
}

运行结果:

2.9  猴子吃桃问题: 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,  第二天早上又将剩下的桃子吃了一半,又多吃一个,以后每天都吃了前一天剩下的一半零一个。  到第10天早上想再吃时,见只剩下一个桃子。求第一天共摘了多少个?

public class dom4
{public static void main(String[] args) {int d=10;int  x=1;for(d=10;d>1;d--){x=(x+1)*2;}System.out.println("第一天摘了:"+x);}
}

这道题虽然字数挺多的,但是分析起来挺简单的,x=(x+1)*2,前一天和当天的数的关系式,记住只有九天,不然就多算了一次

2.10 求水仙花的值,比如153=1^3+5^3+3^3

public class dom8 {public static void main(String[] args) {int a=0,b=0,c=0,i;for (i=100;i<=999;i++){a=i/100;b=i/10%10;c=i%10;if(i==(a*a*a+b*b*b+c*c*c)){System.out.println("输出水仙花为:"+i);}}}

运行结果:

总结:基本上各个类型的题目我差不多都梳理一遍了,有补充的欢迎和我说,主要是分析完题目中的要点,转换好就简单多了,灵活运用这三种循环结构

JAVA的循环结构以及简单操作相关推荐

  1. 理解git结构与简单操作(四)合并分支的方法与策略

    接上节,此时的dev分支与master分支的进度就不一样了,所以需要将dev分支与master分支同步.这里需要的就是合并分支的操作,大家应该都知道用git merge或者git rebase. gi ...

  2. Java:for循环结构及实例

     前言:程序的循环结构是Java编程中的重要内容,通过掌握Java中的for循环结构,可以提升我们的代码水平,更加清晰的体现了我们的编程逻辑以及为我们解题提供更好的方法. 一.for循环 for循环像 ...

  3. Java基础---循环结构+例题

    循环结构 循环结构的分类:for循环:while循环:do...while循环(不作要求) for循环 语法:for( 循环变量的初始化语句:循环条件的判断语句:循环变量的改变语句) {循环体语句 } ...

  4. 头歌--Java入门 - 循环结构基础

    目录 第1关:Java循环结构之while循环 任务描述 相关知识 编程要求 测试说明

  5. HDFS文件系统(含hdfs常用命令,java对hdfs API的简单操作)

    HDFS文件系统 HDFS概念 什么是HDFS HDFS的组成 HDFS文件块大小 HFDS命令行操作 基本语法 常用命令 Java操作hdfs 配置编译环境 获取文件系统 上传文件 文件下载 目录创 ...

  6. 头歌--Java入门 - 循环结构进阶

    目录 第1关:for循环的进阶使用-嵌套循环(1) 任务描述 相关知识 编程要求 测试说明

  7. java 结构体_Java实现单链表的简单操作

    文章目录 前言 一.基本实现思路 二.代码实现 1.定义结点类2.定义链表类3.测试调用4.结果 总结 前言 用Java实现单链表的简单操作,阅读本文和上一篇文章体会Java中类与C++中结构体指针的 ...

  8. java 循环结构和常用的类 总结笔记

    这里主要总结:Number 类.Character 类.String 类.StringBuffer 和 StringBuilder 类 java循环结构比较简单,这里只总结Java 增强 for 循环 ...

  9. Java修炼之凡界篇 筑基期 第03卷 流程控制 第04话 循环结构

    循环结构 while 循环 语法结构: while (布尔表达式) {// 循环体(循环内容) } while 循环是最基本的循环 布尔表达式为 true,循环就会一直执行 程序中大多数情况,是需要程 ...

最新文章

  1. 『TensorFlow』函数查询列表_张量属性调整
  2. 买股票的最佳时机(六种题解dp)
  3. antd 轮播图样式_React - AntD 走马灯组件前后切换面板
  4. socket的NIO操作
  5. 【今日CV 计算机视觉论文速览】Mon, 4 Mar 2019
  6. Java二十三种设计模式 之代理(proxy)
  7. c#字符编码,System.Text.Encoding类,字符编码大全:如Unicode编码、GB18030、UTF-8,UTF-7,GB2312,ASCII,UTF32,Big5
  8. LeetCode刷题——343. 整数拆分
  9. android自定义View之仿携程首页点击缩放ImageView
  10. [Servletamp;JSP] 标准标签
  11. mac m1 安装svn/subversion
  12. 【PSFTP】Windows从Linux获取文件或目录
  13. Wps文档文件转换成pdf,支持doc-docx-ppt-pptx-xls
  14. Django项目定时任务(django-crontab)
  15. 抽象代数学习 阿贝尔群
  16. 语音识别(ASR)--语音转文字
  17. Alphasense B4系列PPB 级空气质量传感器应用
  18. 若依框架,集成flowable工作流
  19. friendly发音_欧路词典|英汉-汉英词典 friendly是什么意思_friendly的中文解释和发音_friendly的翻译_friendly怎么读...
  20. 运维学习(二):Linux服务器永久修改系统时间和时区方法

热门文章

  1. 力扣--初级算法之加一
  2. macM1 出现 zsh: command not found: brew问题解决方案
  3. Android sdcard读写文件(二)
  4. 12864c与语言字符显示,大家看看该怎么改才能让12864液晶显示屏显示21个字符啊?...
  5. 不学C语言能直接学C++吗?
  6. 谁说程序员年龄大了,就没出路了?
  7. 关于“primordials is not defined”报错的解决办法 - 解决报错篇
  8. ubuntu 系列linux下载edk2链接文件
  9. 腾讯企业邮箱不能发送短信认证
  10. 阿里实人认证android,Android集成