1.循环结构概述和for语句的格式及其使用

* 什么是循环结构

  循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

循环语句的组成 初始化语句: 一条或者多条语句,这些语句完成一些初始化操作。 判断条件语句: 这是一个boolean 表达式,这个表达式能决定是否执行循环体。 循环体语句: 这个部分是循环体语句,也就是我们要多次做的事情。 控制条件语句: 这个部分在一次循环体结束后,下一次循环判断条件执行前执行。通过用于控制循环条件中的变量,使得循环在合适的时候结束。

* 循环结构分类

  1. for(初始化语句;判断条件语句;控制条件语句){
  2. 循环语句;
  3. }
  4.  
  5. 初始化语句;
  6. while(判断条件语句){
  7. 循环语句;
  8. 控制语句;
  9. }
  10.  
  11. 初始化语句;
  12. do{
  13. 循环语句;
  14. 控制语句;
  15. }while(判断语句);

* 循环结构for语句的格式:

  1. for(初始化表达式;条件表达式;增量表达式) {
  2. 循环体;
  3. }

* 执行流程

  1. a:执行初始化语句
  2. b:执行判断条件语句,看其返回值是true还是false
  3. 如果是true,就继续执行
  4. 如果是false,就结束循环
  5. c:执行循环体语句;
  6. d:执行控制条件语句
  7. e:回到b继续。

* 案例演示

  1. 在控制台输出10"helloworld"
  2. for(int x=1;x<=10;x++){
  3. System,out.println("HelloWorld!");
  4. }

2.循环结构for语句的练习之获取数据

* 案例演示

  1. 需求:请在控制台输出数据1-10
  2. for (int x= 1;x<=10;x++){
  3. System.out.println(x);
  4. }
  5.  
  6. 需求:请在控制台输出数据10-1
  7. for (int x=10;x>=1;x--){
  8. System.out.println(x);
  9. }

* 注意事项

  1. a:判断条件语句无论简单还是复杂结果是boolean类型。
  2. b:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。
  3. c:一般来说:有左大括号就没有分号,有分号就没有左大括号

3.循环结构for语句的练习之求和思想

* 案例演示

  1. 需求:求出1-10之间数据之和
  2. int sum = 0;
  3. for(int x=1;x<=10;x++){
  4. sum+=x;
  5. }
  6. System.out.println(sum);
  7.  
  8. 需求:求1-100之和
  9. int sum = 0;
  10. for(int x=1;x<=100;x++){
  11. sum+=x;
  12. }
  13. System.out.println(sum);
  14.  
  15. 需求:求出1-100之间偶数和
  16. /*int sum=0;
  17. for(int x=2;x<=100;x+=2){
  18. sum+=x;
  19. }
  20. System.out.println(sum);
  21. */
  22. /*
  23. int sum=0;
  24. for(int x=1;x<=100;x++){
  25. if(x%2==0){
  26. system.out.println(sum);
  27. }
  28. }
  29. System.out.println(sum);
  30. */
  31.  
  32. 需求:求出1-100之间奇数和
  33. /*int sum=0;
  34. for(int x=1;x<=100;x+=2){
  35. sum+=x;
  36. }
  37. System.out.println(sum);
  38. */
  39. /*
  40. int sum=0;
  41. for(int x=1;x<=100;x++){
  42. if(x%2!=0){
  43. system.out.println(sum);
  44. }
  45. }
  46. System.out.println(sum);
  47. */

4.在控制台输出所有的”水仙花数”

  1. 举例:153就是一个水仙花数。
  2. * 153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153
  3. for(int x=100;x<=999;x++){
  4. int ge = x%10;
  5. int shi = x/10%10;
  6. int bai = x/100;
  7. if (ge*ge*ge+shi*shi*shi+bai*bai*bai==x){
  8. System.out.println(x);
  9. }
  10. }

5.统计思想

  1. 需求:统计”水仙花数”共有多少个
  2. int count=0;
  3. for(int x=100;x<=999;x++){
  4. int ge = x%10;
  5. int shi = x/10%10;
  6. int bai = x/100;
  7. if (ge*ge*ge+shi*shi*shi+bai*bai*bai==x){
  8. //System.out.println(x);
  9. count++;
  10. }
  11. }
  12. System.out.println(count);

6.循环结构while语句的格式和基本使用

* 循环while格式

  1. while循环的基本格式:
  2. while(判断条件语句) {
  3. 循环体语句;
  4. }
  5.  
  6. 完整格式:
  7. 初始化语句;
  8. while(判断条件语句) {
  9. 循环体语句;
  10. 控制条件语句;
  11. }

* 执行流程

  1. a:执行初始化语句
  2. b:执行判断条件语句,看其返回值是true还是false
  3. 如果是true,就继续执行
  4. 如果是false,就结束循环
  5. c:执行循环体语句;
  6. d:执行控制条件语句
  7. e:回到b继续。

* 案例演示

  1. 需求:在控制台输出10"helloworld"
  2. int x=1;
  3. while(x<=10){
  4. System.out.println("helloworld");
  5. x++;
  6. }
  7.  
  8. 需求:请在控制台输出数据1-10
  9. int x=1;
  10. while(x<=10){
  11. System.out.println(x);
  12. x++
  13. }

* 求和、统计练习

  1. //求1-100之和
  2. int sum = 0;
  3. int x = 1;
  4. while(x<=100){
  5. sum+=x;
  6. x++;
  7. }
  8.  
  9. //统计”水仙花数”共有多少个
  10. int count=0;
  11. int x=100;
  12. while(x<=1000){
  13. int ge = x%10;
  14. int shi = x/10%10;
  15. int bai = x/100;
  16. if (ge*ge*ge+shi*shi*shi+bai*bai*bai==x){
  17. count++;
  18. }
  19. System.out.println(count);

* 7.循环结构do...while语句的格式和基本使用

* 循环结构do...while语句的格式

  1. do {
  2. 循环体语句;
  3. }while(判断条件语句);
  4.  
  5. 完整格式;
  6. 初始化语句;
  7. do {
  8. 循环体语句;
  9. 控制条件语句;
  10. }while(判断条件语句);

* 执行流程

  1. a:执行初始化语句
  2. b:执行循环体语句;
  3. c:执行控制条件语句
  4. d:执行判断条件语句,看其返回值是true还是false
  5. 如果是true,就继续执行
  6. 如果是false,就结束循环
  7. e:回到b继续。

* 案例演示

  1. 需求:在控制台输出10"helloworld"
  2. int x=1;
  3. do{
  4. System.out.println(HelloWorld);
  5. x++;
  6. }while(x<=10);
  7. 需求:请在控制台输出数据1-10
  8. int x=1;
  9. do{
  10. System.out.println(x);
  11. x++;
  12. }while(x<=10);

8.循环结构三种循环语句的区别

  1. 1.do...while循环至少执行一次循环体。
  2. 2.for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
  1. for循环和while循环的区别:
  2. A:如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。不知道用for循环。因为变量及早的从内存中消失,可以提高内存的使用效率。
  3. B:建议:
  4. 如果是一个范围的,用for循环非常明确。
  5. 如果是不明确要做多少次,用while循环较为合适。
  6. 举例:吃葡萄。
  7. while(x != 0)

9.循环结构注意事项

  1. 死循环:
  2. 写程序优先考虑for循环,再考虑while循环,最后考虑dowhile循环。
  3. A:一定要注意控制条件语句控制的那个变量的问题,不要弄丢了,否则就容易死循环。
  4. B:两种最简单的死循环格式
  5. while(true){...}
  6. for(;;){...}

10.循环案例

  1. * 需求:请输出一个45列的星星()图案。
  2. 如图:
  3. *****
  4. *****
  5. *****
  6. *****
  7. 注意:
  8. System.out.println("");和System.out.print("");的区别
  9. println--打印结果换行; print----打印结果不换行。
  10. for(int x=1;x<=4;x++){
  11. for(int y=1;y<=5;y++){
  12. System.out.println("");
  13. }
  14. }
  1. 需求:请输出下列的形状
  2. *
  3. **
  4. ***
  5. ****
  6. *****
  7. for(int x=1;x<=5;x++){
  8. for(int y=1;y<=x;y++){
  9. System.out.println("*");
  10. }
  11. }
  1. 需求:在控制台输出九九乘法表。
  2. for(int x=1;x<=9;x++){
  3. for(int y=1;y<=x;y++){
  4. System.out.println(y+"*"+x+"="+y*x+"\t");
  5. }
  6. }

11.控制跳转语句

  1. A:什么是控制跳转语句
  2. B:控制跳转语句的分类 *break continue return
  3. C:break的使用场景
  4. D:案例演示
  5.   a:跳出单层循环
  6.   b:跳出多层循环
  7.   带标签的跳出---格式:标签名: 循环语句,标签名要符合Java的命名规则
  1. for(int x=1; x<=10; x++) {
  2. if(x%3==0) {
  3. //在此处填写代码
  4. //1.break;
  5. //2.contuine;
  6. //3.System.out.println(“Java基础班”);
  7. }
  8. System.out.println(“Java基础班”);
  9. }
  10.  
  11. 我想在控制台输出2次:“Java基础班“
  12. 我想在控制台输出7次:“Java基础班“
  13. 我想在控制台输出13次:“Java基础班“
  1. A:return的作用
  2. 返回
  3. 其实它的作用不是结束循环的,而是结束方法的。
  4. return关键字不是为了跳转出循环体,更常用的功能是结束一个方法,也就是退出一个方法。跳转到上层调用的方法。
  5. B:案例演示
  6. returnbreak以及continue的区别?
  7. return是用来返回并结束方法的;
  8. break是将整个循环结束;用在switch语句和循环里,
  9. continue终止本次循环,继续下次循环;只能用在循环里。

12.方法概述和格式说明

  1. * A:为什么要有方法
  2. * B:什么是方法
  3. * 方法就是完成特定功能的代码块
  4. * C:方法的格式
  5.  
  6. * 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
  7. 函数体;
  8. return 返回值;
  9. }
  10.  
  11. * D:方法的格式说明
  12.  
  13. 方法格式解释:
  14. 修饰符 比较多,后面会详细介绍。目前public static
  15. 返回值类型 用于限定返回值的数据类型
  16. 方法名 一个名称,为了方便我们调用方法
  17. 参数类型 限定调用方法时传入参数的数据类型
  18. 参数名 是一个变量,接收调用方法时传入的参数
  19. 方法体 完成功能的代码
  20. return 结束方法以及返回方法指定类型的值
  21. 返回值 程序被return带回的结果,返回给调用者
  1. * A:如何写一个方法
  2. * 返回值类型 明确功能结果的数据类型
  3. * 参数列表 明确有几个参数,以及参数的类型
  4.  
  5. * B:案例演示
  6.  
  7. 需求:求两个数据之和的案例
  8. public static int getSum(int x , int y){
  9. return x+y;
  10. }
  11.  
  12. * C:有返回值类型的方法调用
  13. * a:单独调用,一般来说没有意义,所以不推荐。
  14. * b:输出调用,但是不够好。因为我们可能需要针对结果进行进一步的操作。
  15. * c:赋值调用,推荐方案。
  16.  
  17. * D:没有明确返回值的函数调用:
  18. 其实就是void类型方法的调用
  19. 只能单独调用
  1. 方法练习:
  2. 需求:键盘录入两个数据,返回两个数中的较大值
  3. public static int getMax(int x , int y){
  4. return (x>y)?x:y;
  5. }
  6.  
  7. 需求:键盘录入两个数据,比较两个数是否相等
  8. public static boolean isEquals(int x , int y){
  9. return x==y;
  10. }
  1. 方法注意事项:
  2. * a:方法不调用不执行
  3. * b:方法与方法是平级关系,不能嵌套定义
  4. * c:方法定义的时候参数之间用逗号隔开
  5. * d:方法调用的时候不用在传递数据类型
  6. * e:如果方法有明确的返回值,一定要有return带回一个值
  1. 需求:根据键盘录入的行数和列数,在控制台输出星形
  2. public static void getSum(int a , int b){
  3. for(int x=1;x<a;x++){
  4. for(int y=1;y<b;y++){
  5. System.out.println("*");
  6. }
  7. }
  8. }
  1. 需求:根据键盘录入的数据输出对应的乘法表
  2. public static void getSum(int a , int b){
  3. for(int x=1;x<a;x++){
  4. for(int y=1;y<b;y++){
  5. System.out.println(y+"*"+x+"="+y*x+"\t");
  6. }
  7. }
  8. }

13.方法重载和使用

  1. * A:方法重载概述
  2. * 在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
  3. 与返回值类型无关,只看方法名和参数列表,
  4. 在调用时,虚拟机通过参数列表的不同来区分同名方法.
  5.  
  6. * B:方法重载:
  7. * 在同一个类中,方法名相同,参数列表不同。与返回值类型无关。
  8.  
  9. * 参数列表不同:
  10. * A:参数个数不同
  11. * B:参数类型不同
  12. * C:参数的顺序不同(算重载,但是在开发中不用)

for、while循环(java基础知识四)的更多相关文章

  1. java 基础知识四 流程控制

    java   基础知识四 流程控制 Java流程控制包括顺序控制.条件控制和循环控制 顺序控制就是逐条执行 有if和switch两个分支 循环控制就是 又称为回路控制,根据循环初始条件和终结要求,执行 ...

  2. Java基础知识总结(超级经典)

    Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...

  3. 毕向东—Java基础知识总结(超级经典)

    Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...

  4. java基础知识-笔记整理

    1.查看已安装jdk文件路径 CMD输入java -verbose.   2.java学习提升路线 java学习视屏地址: http://www.icoolxue.com/album/show/38 ...

  5. java基础知识精华

    转载:https://www.jianshu.com/p/6c078abb720f java基础知识 java内存模型 java运行时数据区域 hashMap 如何解决冲突 存储方式 冲突达到一定数量 ...

  6. java基础知识一览(二)

    一.java基础知识 1.一个文件中只能有一个public的类,因为他的类名要求和文件名相同. 2.classpath变量可以设置其它目录下的类. 例如:类文件所在目录是:F:\Javajdk,那么没 ...

  7. 黑马毕向东Java基础知识总结

    Java基础知识总结(超级经典) 转自:百度文库 黑马毕向东JAVA基础总结笔记    侵删! 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部 ...

  8. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  9. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

随机推荐

  1. 洛谷 [P2964] 硬币的游戏

    博弈论+dp 依旧是博弈论的壳子,但问的是最大值,所以要dp 设 dp[i][j] 表示该取 i 号硬币,上一次取了 j 个的先手能取的最大值, 因为每次从小到大枚举复杂度太高,所以我们要从 dp[i ...

  2. 洛谷P2483 Bzoj1975 [SDOI2010]魔法猪学院

    题目描述 iPig在假期来到了传说中的魔法猪学院,开始为期两个月的魔法猪训练.经过了一周理论知识和一周基本魔法的学习之后,iPig对猪世界的世界本原有了很多的了解:众所周知,世界是由元素构成的:元素与 ...

  3. 【HDOJ5955】Guessing the Dice Roll(概率DP,AC自动机,高斯消元)

    题意: 有n个人,每个人有一个长为L的由1~6组成的数串,现在扔一个骰子,依次记录扔出的数字,如果当前扔出的最后L个数字与某个人的数串匹配,那么这个人就算获胜,现在问每个人获胜的概率是多少. n,l& ...

  4. 【Vijos1412】多人背包(背包DP)

    题意:求0/1背包的前K优解总和 k<=50 v<=5000 n<=200 思路:日常刷水 归并即可,不用排序 ; ..,..,..]of longint; w,c,a,b:..]o ...

  5. 更全的bootstrap教程连接

    更全的bootstrap教程: http://www.jb51.net/article/84087.htm

  6. 洛谷—— P3375 【模板】KMP字符串匹配

    P3375 [模板]KMP字符串匹配 题目描述 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置. 为了减少骗分的情况,接下来还要输出子串的前缀数组next. (如 ...

  7. 关于get请求的乱码问题

    1.使用getBytes() 页面跳转时,参数中含有中文,特殊符号,tomcat的默认编码为ios-8859-1,后台接受中文编码时,使用如下转码 //获取参数 String bname = requ ...

  8. Python资料大全

    说明:以下文章为转载,有英文原文和中文整理翻译,对原作者和译者的工作表示极大感谢!!! 英文原文:https://github.com/vinta/awesome-python 中文译文:https: ...

  9. Ubuntu 16.04通过Snap安装应用程序

    16.04LTS可以说是一个不寻常的5年支持版本,同时也带来了Snap应用,并通过Snap可以安装众多的软件包.需要注意的是,Snap是一个全新的软件包架构,但是同样也比其它的软件包大很多. 简单的安 ...

  10. Maven配置将war包部署到Tomcat(tomcat7-maven-plugin)

    Tomcat7/8: 提示:经过测试Tomcat7的配置和插件在Tomcat8中能正常运行 tomcat7-maven-plugin官方帮助文档:http://tomcat.apache.org/ma ...