关于for
    循环语句:for循环,while循环,do...while循环。
    
    for循环格式:
        for(初始化语句;判断条件语句;控制条件语句) {
            循环体语句;
        }
        
        执行流程:
            A:执行初始化语句
            B:执行判断条件语句,看其返回值是true还是false
                如果是true,就继续执行
                如果是false,就结束循环
            C:执行循环体语句;
            D:执行控制条件语句
            E:回到B继续。
            
    注意事项:
        A:判断条件语句无论简单还是复杂结果是boolean类型。
        B:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。
        C:一般来说:有左大括号就没有分号,有分号就没有左大括号

例子for求和

 class ForDemo3 {
public static void main(String[] args) {
//原始做法
System.out.println(1+2+3+4+5+6+7+8+9+10); //定义第一个加数
int sum = 0; for(int x=1; x<=10; x++) {
//这里的x其实是第二个加数
sum = sum + x;
/*
0 + 1 = 1
1 + 2 = 3
3 + 3 = 6
...
*/ //sum += x;
} System.out.println("sum:"+sum);
}
}

练习2
        请在控制台输出满足如下条件的五位数
        个位等于万位
        十位等于千位
        个位+十位+千位+万位=百位
        
    分析:
        A:五位数就告诉了我们范围。
        B:分解每一个五位数的个,十,百,千,万位上的数据
        C:按照要求进行判断即可

 class ForDemo7 {
public static void main(String[] args) {
//五位数就告诉了我们范围。
for(int x=10000; x<100000; x++) {
//分解每一个五位数的个,十,百,千,万位上的数据
int ge = x%10;
int shi = x/10%10;
int bai = x/10/10%10;
int qian = x/10/10/10%10;
int wan = x/10/10/10/10%10; //按照要求进行判断即可
if((ge==wan) && (shi==qian) && (ge+shi+qian+wan==bai)) {
System.out.println(x);
}
}
}
}

例子3 水仙花

 /*
需求:统计”水仙花数”共有多少个 分析:
A:首先必须知道什么是水仙花数
所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
举例:153就是一个水仙花数。
153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153
B:定义统计变量,初始化值是0
C:三位数告诉了我们范围,用for循环就可以搞定
D:获取每一个三位数的个,十,百的数据
E:按照要求进行判断
F:如果满足要求就计数。
*/
class ForDemo8 {
public static void main(String[] args) {
//定义统计变量,初始化值是0
int count = 0; //三位数告诉了我们范围,用for循环就可以搞定
for(int x=100; x<1000; x++) {
//获取每一个三位数的个,十,百的数据
int ge = x%10;
int shi = x/10%10;
int bai = x/10/10%10; //按照要求进行判断
if(x == (ge*ge*ge+shi*shi*shi+bai*bai*bai)) {
//如果满足要求就计数。
count++;
}
} System.out.println("水仙花数共有"+count+"个");
}
}

关于while

while循环的基本格式:
        while(判断条件语句) {
            循环体语句;
        }
        扩展格式:
        初始化语句;
        while(判断条件语句) {
             循环体语句;
             控制条件语句;
        }
        
        通过这个格式,我们就可以看到其实和for循环是差不多的。
        
        for(初始化语句;判断条件语句;控制条件语句) {
            循环体语句;
        }

关于do。。。。while

do...while循环的基本格式:
        do {
            循环体语句;
        }while(判断条件语句);
        
        扩展格式;
        初始化语句;
        do {
            循环体语句;
            控制条件语句;
        }while(判断条件语句);

注意死循环:
        A:一定要注意控制条件语句控制的那个变量的问题,不要弄丢了,否则就容易死循环。
        B:两种最简单的死循环格式
            while(true){...}
            for(;;){...}

关于循环嵌套

例子1

 /*
需求:请输出一个4行5列的星星(*)图案。
结果:
*****
*****
*****
***** 循环嵌套:就是循环语句的循环体本身是一个循环语句。 通过结果我们知道这样的一个结论:
外循环控制行数
内循环控制列数
*/
class ForForDemo {
public static void main(String[] args) {
//原始做法
System.out.println("*****");
System.out.println("*****");
System.out.println("*****");
System.out.println("*****");
System.out.println("-------------"); //虽然可以完成需求,但是不是很好
//如果是多行多列就会比较麻烦
//所以我们准备改进
//如何改进呢?
//我先考虑如何实现一行*的问题
//System.out.println("*****");
//我们要想的是如何实现一次输出一颗*的问题
//System.out.println("*");
//System.out.println("*");
//现在虽然可以一次一颗*,但是却换行了,我要求不能换行,怎么办呢?
//输出语句的另一种格式:System.out.print(); 这个是不带换行的
//System.out.print("*");
//System.out.print("*");
//System.out.print("*");
//System.out.print("*");
//System.out.print("*");
//如果我要在一行上打出多颗*,比较麻烦,而代码是重复的,所以我决定用循环改进
for(int x=0; x<5; x++) {
System.out.print("*");
}
//我们可以通过空的输出语句实现换行:System.out.println();
System.out.println(); //既然我可以打出一行,我就可以打出第二行
for(int x=0; x<5; x++) {
System.out.print("*");
}
//我们可以通过空的输出语句实现换行:System.out.println();
System.out.println(); //同理打出第三行,第四行
for(int x=0; x<5; x++) {
System.out.print("*");
}
//我们可以通过空的输出语句实现换行:System.out.println();
System.out.println(); //既然我可以打出一行,我就可以打出第二行
for(int x=0; x<5; x++) {
System.out.print("*");
}
//我们可以通过空的输出语句实现换行:System.out.println();
System.out.println();
System.out.println("-----------------");
//同样的代码出现了4次,说明我们程序写的不好,用循环改进
for(int y=0; y<4; y++) {
for(int x=0; x<5; x++) {
System.out.print("*");
}
//我们可以通过空的输出语句实现换行:System.out.println();
System.out.println();
}
}
}

例子2 99乘法表

 class ForForDemo3 {
public static void main(String[] args) {
for(int x=0; x<9; x++) {
for(int y=0; y<=x; y++) {
System.out.print("*");
}
System.out.println();
}
System.out.println("--------------");
//为了使用数据,我们从1开始
for(int x=1; x<=9; x++) {
for(int y=1; y<=x; y++) {
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}
}
}

关于跳转语句

控制跳转语句:
        break:中断
        continue:继续  跳出一次循环,进入下一次的执行
        return:返回   其实它的作用不是结束循环的,而是结束方法的
    break:中断的意思
    使用场景:
        A:switch语句中
        B:循环语句中。
            (循环语句中加入了if判断的情况)
        注意:离开上面的两个场景,无意义。
        
    如何使用呢?
        A:跳出单层循环
        B:跳出多层循环
            要想实现这个效果,就必须知道一个东西。带标签的语句。
            格式:
                标签名: 语句
例子1

 class ContinueDemo {
public static void main(String[] args) {
for(int x=0; x<10; x++) {
if(x == 3) {
//break;
continue;
} System.out.println(x);
}
}
}

例子2

 class ReturnDemo {
public static void main(String[] args) {
for(int x=0; x<10; x++) {
if(x == 2) {
System.out.println("退出");
//break;
//continue;
return;
} System.out.println(x);
} System.out.println("over");
}
}

java笔记10之循环的更多相关文章

  1. Java笔记3-for,switch循环,格式化输出,随机数

    大纲:一.分支结构 if switch二.循环 for while do while break continue三.格式化输出 [printf] int score = 100; String na ...

  2. Java笔记4-do while循环,break,修饰符,方法的调用

    do while循环语法:do{ //循环体}while(条件表达式); 注:它是先执行循环体,后再判断的循环结构. 如:int i = 0;do{ System.out.println(" ...

  3. Java笔记10:Struts2简单Demo

    1 下载struts-2.3.24.1-all.zip并解压缩,位置任意,比如我的位置是D:\Download\Java\struts-2.3.24.1 解压缩D:\Download\Java\str ...

  4. Thinking in Java——笔记(10)

    Inner Classes It allows you to group classes that logically belong together and to control the visib ...

  5. Java笔记——循环语句

    Java笔记--循环语句     1. while语句 规律: 1. 首先计算表达式的值. 2. 若表达式为真,则执行循环语法,直至表达式为假,循环结束.   while(表达式) 语句; 例如: i ...

  6. Java学习笔记13---一个循环程序的设计范例

    package welcome; import java.util.Scanner; /* * 一个循环程序的设计范例 * 首先编写仅执行一次的程序(当无循环时) * 循环的设计步骤: * 1.确定程 ...

  7. JAVA自学笔记10

    JAVA自学笔记10 1.形式参数与返回值 1)类名作为形式参数(基本类型.引用类型) 作形参必须是类的对象 2)抽象类名作形参 需要该抽象类的子类对象,通过多态实现 3)接口名为形参 需要的是该接口 ...

  8. 048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例——阶乘的累加和

    048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例--阶乘的累加和 本文知识点:通过案例练习嵌套循环应用 案例练习--阶乘的累加和 案例题目 ...

  9. java笔记整理

    Java 笔记整理 包含内容     Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...

随机推荐

  1. break、continue和goto 三者作用介绍

    跳跃语句 由于break.continue和goto语句有助于跳跃到代码中的某个特定语句,因此它们属于跳跃语句.下面是这三个语句的介绍. ①break语句 这个语句常与switch语句联合使用:但是, ...

  2. Android LayoutInflater和findViewById 源码详解

    LayoutInflater大家很熟悉,简单点说就是布局文件XML解析器,setContentView函数也是调用了LayoutInflater 用法: View view = LayoutInfla ...

  3. MySQL拷贝表的几种方式

    假如我们有以下这样一个表: id      username    password ----------------------------------- 1       admin       * ...

  4. HTTP,TCP,Socket

    TCP/IP三次握手和HTTP过程   1.TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接.TCP协议可以对上层网络提供接口,使上层网络 ...

  5. Protocol Buffer Xcode 正确使用思路 成功安装 Xcode7.1

    1. 下载protobuf编译工具 序列化是将数据转换为一个特定的类 http://pan.baidu.com/s/1qWrxHxU 下载解压,它不是用来放在你的项目里 2.打开终端 依次输入并等待指 ...

  6. linux c下几种定时器实现

    1.alarm n秒后触发一次,不是循环的2.setitimer 可以发出3种信号给自己,3.timerfd 这个接口基于文件描述符,通过文件描述符类似epoll那种的可读事件进行超时通知,能够被用于 ...

  7. 二分查找里的upper bound与lower bound的实现与分析

    1. 问题引入 最近参选了学堂在线的课程数据结构(2015秋).课程由清华大学的邓俊辉老师主讲,在完成课后作业时,遇到了这样一个题目范围查询.在这个题目中,我需要解决这样一个子问题:给定了一组已经排好 ...

  8. Java学习----变量是什么

    1.变量必须拥有的类型 2.变量必须拥有的名字 变量:具备名字和类型的可以存放类型匹配的数据的量 public class Student { public static void main(Stri ...

  9. 安卓环境搭建(1)hellow world

    本系列适合0基础的人员,因为我就是从0开始的,此系列记录我步入Android开发的一些经验分享,望与君共勉!作为Android队伍中的一个新人的我,如果有什么不对的地方,还望不吝赐教. 在开始Andr ...

  10. iOS常用动画-b

    CoreAnimationEffect.h //  CoreAnimationEffect // //  Created by VincentXue on 13-1-19. //  Copyright ...