加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

04-01 Java switch、for、while、do while语句,循环嵌套,跳转

发布时间:2020-12-14 06:10:09 所属栏目:Java 来源:网络整理
导读:语句 1 1 +1 格式解释说明: /spanspan style="color: #0000ff;"gt;switch/spanspan style="color: #000000;"gt;:说明这是switch语句。 表达式:可以是byte,/spanspan style="color: #0000ff;"gt;short/span,span style="color: #0000ff;"gt;int/span,span st

语句

11+1 格式解释说明: </span><span style="color: #0000ff;"&gt;switch</span><span style="color: #000000;"&gt;:说明这是switch语句。 表达式:可以是byte,</span><span style="color: #0000ff;"&gt;short</span>,<span style="color: #0000ff;"&gt;int</span>,<span style="color: #0000ff;"&gt;char</span><span style="color: #000000;"&gt; JDK5以后可以是枚举 JDK7以后可以是字符串 </span><span style="color: #0000ff;"&gt;case</span><span style="color: #000000;"&gt;:后面的值就是要和表达式进行比较的值 </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;:表示程序到这里中断,跳出switch语句 </span><span style="color: #0000ff;"&gt;default</span><span style="color: #000000;"&gt;:如果所有的情况都不匹配,就执行这里,相当于if语句中的else (</span>2<span style="color: #000000;"&gt;)面试题 switch语句的表达式可以是byte吗</span>?可以是long吗?可以是String吗?<span style="color: #000000;"&gt; 可以,不可以,JDK7以后可以 (</span>3<span style="color: #000000;"&gt;)执行流程: A:首先计算表达式的值 B:和每一个case进行匹配,如果有就执行对应的语句体,看到break就结束。 C:如果没有匹配,就执行default的语句体n</span>+1<span style="color: #000000;"&gt;。 (</span>4<span style="color: #000000;"&gt;)注意事项: A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的 B:default可以省略吗</span>?<span style="color: #000000;"&gt; 可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。 特殊情况: case就可以把值固定。 A,B,C,D C:break可以省略吗</span>?<span style="color: #000000;"&gt; 可以省略,但是结果可能不是我们想要的。 会出现一个现象:case穿透。 最终我们建议不要省略 D:default一定要在最后吗</span>?<span style="color: #000000;"&gt; 不是,可以在任意位置。但是建议在最后。 E:switch语句的结束条件 a:遇到break就结束了 b:执行到末尾就结束了 (</span>5<span style="color: #000000;"&gt;)案例: A:键盘录入一个数字(</span>1-7<span style="color: #000000;"&gt;),输出对应的星期几。 B:单项选择题 C:键盘录入一个字符串的问题 String s </span>=<span style="color: #000000;"&gt; sc.nextLine(); D:根据给定的月份,输出对应的季节 (</span>6<span style="color: #000000;"&gt;)if语句和switch语句各自的场景 A:</span><span style="color: #0000ff;"&gt;if</span><span style="color: #000000;"&gt; 针对boolean类型的判断 针对一个范围的判断 针对几个常量的判断 B:</span><span style="color: #0000ff;"&gt;switch</span><span style="color: #000000;"&gt; 针对几个常量的判断

2<span style="color: #000000;">:循环语句(掌握)
(1)有三种:<span style="color: #0000ff;">for,<span style="color: #0000ff;">while,<span style="color: #0000ff;">do...<span style="color: #0000ff;">while<span style="color: #000000;">
(2<span style="color: #000000;">)for循环语句
A:格式
<span style="color: #0000ff;">for<span style="color: #000000;">(初始化语句;判断条件语句;控制条件语句){
循环体语句;
}

        执行流程:
            a:执行初始化语句
            b:执行判断条件语句
                如果这里是true,就继续
                如果这里是false,循环就结束
            c:执行循环体语句
            d:执行控制条件语句
            e:回到b
    B:注意事项
        a:判断条件语句无论简单还是复杂,结果是boolean类型
        b:循环体语句如果是一条,可以省略大括号,但是不建议
        c:有分号就没有左大括号,有左大括号就没有分号
    C:案例
        a:输出10次HelloWorld
        b:输出1</span>-<span style="color: #000000;"&gt;10的数据
        c:输出10</span>-<span style="color: #000000;"&gt;1的数据
        d:求1</span>-<span style="color: #000000;"&gt;10的和
        e:求1</span>-100的和,求1-100的偶数和,求1-<span style="color: #000000;"&gt;100的奇数和
        f:求5的阶乘
        g:在控制台打印水仙花数
        h:统计水仙花个数
        i:改进版的回文数
            一个五位数
            个位 </span>=<span style="color: #000000;"&gt; 万位
            十位 </span>=<span style="color: #000000;"&gt; 千位
            个位 </span>+ 十位 + 千位 + 万位 =<span style="color: #000000;"&gt; 百位
        j:统计1</span>-<span style="color: #000000;"&gt;1000之间同时满足如下条件的数据有多少个
            x</span>%3==2<span style="color: #000000;"&gt;
            x</span>%5==3<span style="color: #000000;"&gt;
            x</span>%7==2<span style="color: #000000;"&gt;
(</span>3<span style="color: #000000;"&gt;)while循环
    A:基本格式
        </span><span style="color: #0000ff;"&gt;while</span><span style="color: #000000;"&gt;(判断条件语句) {
            循环体语句;
        }

        扩展格式:
        初始化语句;
        </span><span style="color: #0000ff;"&gt;while</span><span style="color: #000000;"&gt;(判断条件语句){
            循环体语句;
            控制条件语句;
        }

        通过查看这个格式,我们就知道while循环可以和for循环等价转换。
    B:while的练习
        把for语句的练习用while改进
    C:for和while的区别
        a:使用上的区别
            for语句的那个控制条件变量,在循环结束后不能在使用了。
            而while的可以继续使用。
        b:理解上的区别
            for适合于一个范围的判断
            while适合次数不明确的
                举例:吃葡萄
    D:案例:
        a:珠穆朗玛峰问题
        b:小芳存钱问题(break以后才能做)
(</span>4)<span style="color: #0000ff;"&gt;do</span><span style="color: #000000;"&gt;...while循环
    A:基本格式
        </span><span style="color: #0000ff;"&gt;do</span><span style="color: #000000;"&gt; {
            循环体语句;
        }</span><span style="color: #0000ff;"&gt;while</span><span style="color: #000000;"&gt;(判断条件语句);

        扩展格式:
        初始化语句;
        </span><span style="color: #0000ff;"&gt;do</span><span style="color: #000000;"&gt; {
            循环体语句;
            控制条件语句;
        }</span><span style="color: #0000ff;"&gt;while</span><span style="color: #000000;"&gt;(判断条件语句);

        通过查看格式,我们就可以看出其实三种循环的格式可以是统一的。
    B:三种循环的区别
        a:</span><span style="color: #0000ff;"&gt;do</span><span style="color: #000000;"&gt;...while循环至少执行一次循环体
        b:for和while必须先判断条件是否是true,然后后才能决定是否执行循环体
(</span>5<span style="color: #000000;"&gt;)循环使用的注意事项(死循环)
    A:一定要注意修改控制条件,否则容易出现死循环。
    B:最简单的死循环格式
        a:</span><span style="color: #0000ff;"&gt;while</span>(<span style="color: #0000ff;"&gt;true</span><span style="color: #000000;"&gt;){...}

        b:</span><span style="color: #0000ff;"&gt;for</span><span style="color: #000000;"&gt;(;;){}

3<span style="color: #000000;">:控制跳转语句(掌握)
(1)<span style="color: #0000ff;">break<span style="color: #000000;">:中断的意思
A:用在循环和switch语句中,离开此应用场景无意义。
B:作用
a:跳出单层循环
b:跳出多层循环,需要标签语句的配合
(2)<span style="color: #0000ff;">continue<span style="color: #000000;">:继续
A:用在循环中,离开此应用场景无意义。
B:作用
a:跳出单层循环的一次,可以继续下一次
C:填空题
<span style="color: #0000ff;">for(<span style="color: #0000ff;">int x=1; x<=10; x++<span style="color: #000000;">) {
<span style="color: #0000ff;">if(x%3 == 0<span style="color: #000000;">) {
<span style="color: #008000;">//<span style="color: #008000;">补齐代码
<span style="color: #000000;"> }
System.out.println("Java基础班"<span style="color: #000000;">);
}
如何让控制台输出2次:Java基础班
如何让控制台输出7次:Java基础班
如何让控制台输出13次:Java基础班
(3)<span style="color: #0000ff;">return<span style="color: #000000;">:返回
A:用于结束方法的,后面还会在继续讲解和使用。
B:一旦遇到return,程序就不会在继续往后执行。

?

switch语句格式:

switch语句格式:

格式的解释: switch:表示这是switch选择结构 <span style="color: #ff0000;"&gt;表达式:这个地方的取值是有限定的 byte,short,int,char JDK5以后可以是枚举 JDK7以后可以是字符串</span> case:后面跟的是要和表达式进行比较的值 语句体:要执行的代码 break:表示中断,结束的意思,可以控制switch语句的结束。 default:当所有的值都和表达式不匹配的时候,就执行default控制的语句。其实它就相当于if语句的else。 <span style="color: #ff0000;"&gt;实例: byte可以作为switch的表达式吗? 可以 long可以作为switch的表达式吗? 不可以 String可以作为switch的表达式吗? <strong>jdk7以后可以</strong></span> 案例: 键盘录入一个数据,根据这个数据,我们输出对应的星期? 键盘录入1,对应输出星期一 键盘录入2,对应输出星期二 ... 键盘录入7,对应输出星期日 分析: 1:键盘录入,用Scanner实现 2:判断我们既可以使用if语句,也可以使用我们要讲解的switch语句 注意: A:遇到左大括号缩进一个tab的位置。 B:关联不是很大的语句间空行

<span style="color: #008000;">*/
<span style="color: #0000ff;">import<span style="color: #000000;"> java.util.Scanner;

<span style="color: #0000ff;">class<span style="color: #000000;"> SwitchDemo {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">创建键盘录入对象
Scanner sc = <span style="color: #0000ff;">new<span style="color: #000000;"> Scanner(System.in);

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;控制键盘录入数据</span>
    System.out.println("请输入一个数据(1-7):"<span style="color: #000000;"&gt;);
    </span><span style="color: #0000ff;"&gt;int</span> week = sc.nextInt(); <span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;3

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;switch判断语句</span>
    <span style="color: #0000ff;"&gt;switch</span><span style="color: #000000;"&gt;(week) {
        </span><span style="color: #0000ff;"&gt;case</span> 1<span style="color: #000000;"&gt;:
            System.out.println(</span>"星期一"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;case</span> 2<span style="color: #000000;"&gt;:
            System.out.println(</span>"星期二"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;case</span> 3<span style="color: #000000;"&gt;:
            System.out.println(</span>"星期三"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;case</span> 4<span style="color: #000000;"&gt;:
            System.out.println(</span>"星期四"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;case</span> 5<span style="color: #000000;"&gt;:
            System.out.println(</span>"星期五"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;case</span> 6<span style="color: #000000;"&gt;:
            System.out.println(</span>"星期六"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;case</span> 7<span style="color: #000000;"&gt;:
            System.out.println(</span>"星期日"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;default</span><span style="color: #000000;"&gt;:
            System.out.println(</span>"你输入的数据有误"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
    }
}

}

switch语句注意事项:

B:default可以省略吗? 可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。 特殊情况: case就可以把值固定。 A,D 可以省略,但是结果可能不是我们想要的。 会出现一个现象:case穿透。 D:default一定要在最后吗? 不是,可以在任意位置。但是建议在最后。 b:执行到末尾就结束了 <span style="color: #0000ff;">class<span style="color: #000000;"> SwitchDemo2 {
<span style="color: #0000ff;">public
<span style="color: #0000ff;">static
<span style="color: #0000ff;">void
<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">创建键盘录入对象
Scanner sc = <span style="color: #0000ff;">new<span style="color: #000000;"> Scanner(System.in);

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;控制键盘录入数据</span>
    System.out.println("请输入一个数据(1-7):"<span style="color: #000000;"&gt;);
    </span><span style="color: #0000ff;"&gt;int</span> week = sc.nextInt(); <span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;3

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;定义常量
    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;int number = 3;
    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;然后把case后面的值改为number,就会报错

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;switch判断语句</span>
    <span style="color: #0000ff;"&gt;switch</span><span style="color: #000000;"&gt;(week) {
        </span><span style="color: #0000ff;"&gt;case</span> 1<span style="color: #000000;"&gt;:
            System.out.println(</span>"星期一"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;case</span> 2<span style="color: #000000;"&gt;:
            System.out.println(</span>"星期二"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;case</span> 3<span style="color: #000000;"&gt;:
            System.out.println(</span>"星期三"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;case</span> 4<span style="color: #000000;"&gt;:
            System.out.println(</span>"星期四"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;case</span> 5<span style="color: #000000;"&gt;:
            System.out.println(</span>"星期五"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;case</span> 6<span style="color: #000000;"&gt;:
            System.out.println(</span>"星期六"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;case</span> 7<span style="color: #000000;"&gt;:
            System.out.println(</span>"星期日"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;default</span><span style="color: #000000;"&gt;:
            System.out.println(</span>"你输入的数据有误"<span style="color: #000000;"&gt;);
            </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;break;</span>

<span style="color: #000000;"> }
}
}

根据你键盘录入的字符串,判断是否有满足要求的,如果有就输出。
String s = sc.nextLine();

<span style="color: #008000;">*/
<span style="color: #0000ff;">import<span style="color: #000000;"> java.util.Scanner;

<span style="color: #0000ff;">class<span style="color: #000000;"> SwitchTest3 {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">创建键盘录入对象
Scanner sc = <span style="color: #0000ff;">new<span style="color: #000000;"> Scanner(System.in);

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;录入数据</span>
    System.out.println("请输入你要判断的字符串:"<span style="color: #000000;"&gt;);
   <span style="color: #ff0000;"&gt; String s </span></span><span style="color: #ff0000;"&gt;= sc.nextLine(); // 拿字符串类型</span>

    <span style="color: #0000ff;"&gt;switch</span><span style="color: #000000;"&gt;(s) {
        </span><span style="color: #0000ff;"&gt;case</span> "hello"<span style="color: #000000;"&gt;:
            System.out.println(</span>"你输入的是hello"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;case</span> "world"<span style="color: #000000;"&gt;:
            System.out.println(</span>"你输入的是world"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;case</span> "java"<span style="color: #000000;"&gt;:
            System.out.println(</span>"你输入的是java"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;default</span><span style="color: #000000;"&gt;:
            System.out.println(</span>"没有找到你输入的数据"<span style="color: #000000;"&gt;);
            </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;break;</span>

<span style="color: #000000;"> }
}
}

if语句和switch语句的区别??

分析: A:键盘录入一个月份,用Scanner实现 B:用switch语句实现即可

<span style="color: #ff0000;"> if语句和switch语句的区别?
if语句:
A:针对结果是boolean类型的判断
B:针对一个范围的判断
C:针对几个常量值的判断

    switch语句:
        针对几个常量值的判断

<span style="color: #008000;">*/
<span style="color: #0000ff;">import<span style="color: #000000;"> java.util.Scanner;

<span style="color: #0000ff;">class<span style="color: #000000;"> SwitchTest4 {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">创建键盘录入对象
Scanner sc = <span style="color: #0000ff;">new<span style="color: #000000;"> Scanner(System.in);

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;录入数据</span>
    System.out.println("请输入月份(1-12):"<span style="color: #000000;"&gt;);
    </span><span style="color: #0000ff;"&gt;int</span> month =<span style="color: #000000;"&gt; sc.nextInt();

    </span><span style="color: #008000;"&gt;/*</span><span style="color: #008000;"&gt;
    switch(month) {
        case 1:
            System.out.println("冬季");
            break;
        case 2:
            System.out.println("冬季");
            break;
        case 3:
            System.out.println("春季");
            break;
        case 4:
            System.out.println("春季");
            break;
        case 5:
            System.out.println("春季");
            break;
        case 6:
            System.out.println("夏季");
            break;
        case 7:
            System.out.println("夏季");
            break;
        case 8:
            System.out.println("夏季");
            break;
        case 9:
            System.out.println("秋季");
            break;
        case 10:
            System.out.println("秋季");
            break;
        case 11:
            System.out.println("秋季");
            break;
        case 12:
            System.out.println("冬季");
            break;
        default:
            System.out.println("你输入的月份有误");
    }
    </span><span style="color: #008000;"&gt;*/</span>

   <span style="color: #ff0000;"&gt; //这样写太麻烦了,我们使用一个我们不想使用的东西:case穿透。<strong>但是不太美观。应该选用if语句对范围判断</strong></span>
    <span style="color: #0000ff;"&gt;switch</span><span style="color: #000000;"&gt;(month) {
        </span><span style="color: #0000ff;"&gt;case</span> 1<span style="color: #000000;"&gt;:
        </span><span style="color: #0000ff;"&gt;case</span> 2<span style="color: #000000;"&gt;:
        </span><span style="color: #0000ff;"&gt;case</span> 12<span style="color: #000000;"&gt;:
            System.out.println(</span>"冬季"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;case</span> 3<span style="color: #000000;"&gt;:
        </span><span style="color: #0000ff;"&gt;case</span> 4<span style="color: #000000;"&gt;:
        </span><span style="color: #0000ff;"&gt;case</span> 5<span style="color: #000000;"&gt;:
            System.out.println(</span>"春季"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;case</span> 6<span style="color: #000000;"&gt;:
        </span><span style="color: #0000ff;"&gt;case</span> 7<span style="color: #000000;"&gt;:
        </span><span style="color: #0000ff;"&gt;case</span> 8<span style="color: #000000;"&gt;:
            System.out.println(</span>"夏季"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;case</span> 9<span style="color: #000000;"&gt;:
        </span><span style="color: #0000ff;"&gt;case</span> 10<span style="color: #000000;"&gt;:
        </span><span style="color: #0000ff;"&gt;case</span> 11<span style="color: #000000;"&gt;:
            System.out.println(</span>"秋季"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        </span><span style="color: #0000ff;"&gt;default</span><span style="color: #000000;"&gt;:
            System.out.println(</span>"你输入的月份有误"<span style="color: #000000;"&gt;);
    }
}

}

for循环语句

for循环语句格式:

for循环格式: for(初始化语句;判断条件语句;控制条件语句) { 循环体语句; } <span style="color: #ff0000;"&gt;执行流程: A:执行初始化语句 B:执行判断条件语句,看其返回值是true还是false 如果是true,就继续执行 如果是false,就结束循环 C:执行循环体语句; D:执行控制条件语句 E:回到B继续。</span> <span style="color: #ff0000;"&gt;注意事项: A:判断条件语句无论简单还是复杂结果是boolean类型。 B:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。 C:一般来说:有左大括号就没有分号,有分号就没有左大括号</span> 需求:请在控制台输出10次"HelloWorld"

<span style="color: #008000;">*/
<span style="color: #0000ff;">class<span style="color: #000000;"> ForDemo {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">最原始的做法
System.out.println("HelloWorld"<span style="color: #000000;">);
System.out.println("HelloWorld"<span style="color: #000000;">);
System.out.println("HelloWorld"<span style="color: #000000;">);
System.out.println("HelloWorld"<span style="color: #000000;">);
System.out.println("HelloWorld"<span style="color: #000000;">);
System.out.println("HelloWorld"<span style="color: #000000;">);
System.out.println("HelloWorld"<span style="color: #000000;">);
System.out.println("HelloWorld"<span style="color: #000000;">);
System.out.println("HelloWorld"<span style="color: #000000;">);
System.out.println("HelloWorld"<span style="color: #000000;">);
System.out.println("----------"<span style="color: #000000;">);

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;这种做法不好,代码的重复度太高。
    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;所以呢,我们用循环改进</span>
    <span style="color: #0000ff;"&gt;for</span>(<span style="color: #0000ff;"&gt;int</span> x=1;x<=10;x++<span style="color: #000000;"&gt;) {
        System.out.println(</span>"HelloWorld"<span style="color: #000000;"&gt;);
    }
}

}

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

需求:在控制台输出所有的”水仙花数” 分析: 我们都不知道什么叫"水仙花数",你让我怎么做呢? 所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。 举例:153就是一个水仙花数。 153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153 A:三位数其实是告诉了我们范围。 B:通过for循环我们就可以实现获取每一个三位数 但是麻烦是如何获取这个三位数的个,十,百位上的数据 我们如何获取一个数据的个,百呢? 假设有个一个数据:153 ge: 153%10 = 3 shi: 153/10%10 = 5 <span style="color: #ff0000;"&gt;//除号/,只能得到整数,要得到小数,需要有一个为小数</span> bai:153/10/10%10 = 1 qian:x/10/10/10%10 wan: x/10/10/10/10%10 ... C:让ge*ge*ge+shi*shi*shi+bai*bai*bai和该数据比较 如果相同,就把该数据在控制台输出。

<span style="color: #008000;">*/
<span style="color: #0000ff;">class<span style="color: #000000;"> ForDemo6 {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {<span style="color: #008000;">//<span style="color: #008000;">三位数其实是告诉了我们范围。
<span style="color: #0000ff;">for(<span style="color: #0000ff;">int x=100; x<1000; x++<span style="color: #000000;">) {
<span style="color: #0000ff;">int ge = x%10<span style="color: #000000;">;
<span style="color: #0000ff;">int shi = x/10%10<span style="color: #000000;">;
<span style="color: #0000ff;">int bai = x/10/10%10<span style="color: #000000;">;

        </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;让ge*ge*ge+shi*shi*shi+bai*bai*bai和该数据比较</span>
        <span style="color: #0000ff;"&gt;if</span>(x == (ge*ge*ge+shi*shi*shi+bai*bai*<span style="color: #000000;"&gt;bai)) {
            </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;如果相同,就把该数据在控制台输出。</span>

<span style="color: #000000;"> System.out.println(x);
}
}
}
}

while循环

while循环基本格式:

扩展格式: <span style="color: #ff0000;"&gt; 初始化语句; while(判断条件语句) { 循环体语句; 控制条件语句; }</span> 通过这个格式,我们就可以看到其实和for循环是差不多的。 for(初始化语句;判断条件语句;控制条件语句) { 循环体语句; }

<span style="color: #008000;">*/
<span style="color: #0000ff;">class<span style="color: #000000;"> WhileDemo {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">输出10次"HelloWorld"
<span style="color: #008000;">//<span style="color: #008000;">for语句版
<span style="color: #0000ff;">for(<span style="color: #0000ff;">int x=0; x<10; x++<span style="color: #000000;">) {
System.out.println("HelloWorld"<span style="color: #000000;">);
}
System.out.println("--------------"<span style="color: #000000;">);
<span style="color: #008000;">//<span style="color: #008000;">while语句版
<span style="color: #ff0000;">int x=0;
while(x<10) {
System.out.println("HelloWorld");
x++<span style="color: #000000;"><span style="color: #ff0000;">;
}

}

}

while循环和for循环的区别?

    其实还有一种场景的理解:
        如果是一个范围的,用for循环非常明确。
        如果是不明确要做多少次,用while循环较为合适。
            举例:吃葡萄。

<span style="color: #008000;">*/
<span style="color: #0000ff;">class<span style="color: #000000;"> WhileDemo4 {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">for循环实现
<span style="color: #0000ff;">for(<span style="color: #0000ff;">int x=0; x<10; x++<span style="color: #000000;">) {
System.out.println("学习Java技术哪家强,中国北京传智播客"<span style="color: #000000;">);
}
<span style="color: #ff0000;">//这里不能在继续访问x了,因为这个x这是在大括号里有效
<span style="color: #008000;">//<span style="color: #008000;">System.out.println(x);

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;while循环实现</span>
    <span style="color: #0000ff;"&gt;int</span> y = 0<span style="color: #000000;"&gt;;
    </span><span style="color: #0000ff;"&gt;while</span>(y<10<span style="color: #000000;"&gt;) {
        System.out.println(</span>"学习Java技术哪家强,中国北京传智播客"<span style="color: #000000;"&gt;);
        y</span>++<span style="color: #000000;"&gt;;
    }
    </span><span style="color: #ff0000;"&gt;//这里是可以继续访问y</span>

<span style="color: #000000;"> System.out.println(y);
}
}

厚度为0.01m的纸张折叠多少次,就可以保证厚度不低于珠穆朗玛峰8848m的高度?

分析: A:定义一个统计变量,默认值是0 B:最高山峰是珠穆朗玛峰:8848m这是最终的厚度 我现在有一张足够大的纸张,厚度为:0.01m这是初始厚度 C:我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度? 折叠一次有什么变化呢?就是厚度是以前的2倍。 D:只要每次变化的厚度没有超过珠穆朗玛峰的高度,就折叠,统计变量++ E:输出统计变量。

<span style="color: #008000;">*/

<span style="color: #0000ff;">class<span style="color: #000000;"> WhileDemo5 {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">定义一个统计变量,默认值是0
<span style="color: #0000ff;">int count = 0<span style="color: #000000;">;

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;最高山峰是珠穆朗玛峰:8848m这是最终的厚度
    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;我现在有一张足够大的纸张,厚度为:0.01m这是初始厚度
    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;为了简单,我把0.01变成1,同理8848就变成了884800</span>
    <span style="color: #0000ff;"&gt;int</span> end = 884800<span style="color: #000000;"&gt;;
    </span><span style="color: #0000ff;"&gt;int</span> start = 1<span style="color: #000000;"&gt;;

    </span><span style="color: #0000ff;"&gt;while</span>(<span style="color: #ff0000;"&gt;start<</span><span style="color: #000000;"&gt;<span style="color: #ff0000;"&gt;end</span>) {
        </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;只要每次变化的厚度没有超过珠穆朗玛峰的高度,就折叠,统计变量++</span>
        <span style="color: #ff0000;"&gt;count++;

        </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;折叠一次有什么变化呢?就是厚度是以前的2倍。</span>
        <span style="color: #ff0000;"&gt;start *= 2</span><span style="color: #000000;"&gt;<span style="color: #ff0000;"&gt;;</span>

        System.out.println(</span>"第"+count+"次厚度是"+<span style="color: #000000;"&gt;start);
    }

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;输出统计变量。</span>
    System.out.println("要叠"+count+"次"<span style="color: #000000;"&gt;);
}

}

do...while

do...while语句格式:

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

<span style="color: #008000;">*/
<span style="color: #0000ff;">class<span style="color: #000000;"> DoWhileDemo {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;求和1-100</span>
    <span style="color: #0000ff;"&gt;int</span> sum = 0<span style="color: #000000;"&gt;;
    </span><span style="color: #0000ff;"&gt;int</span> a = 1<span style="color: #000000;"&gt;;
    </span><span style="color: #0000ff;"&gt;do</span><span style="color: #000000;"&gt; {
        sum </span>+=<span style="color: #000000;"&gt; a;
        a</span>++<span style="color: #000000;"&gt;;
    }</span><span style="color: #0000ff;"&gt;while</span>(a<=100<span style="color: #000000;"&gt;);

    System.out.println(sum);
}

}

for、while于do..while语句区别

而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
<span style="color: #ff0000;"&gt;那么,我们一般使用哪种循环呢?
    优先考虑for,其次考虑while,最后考虑do...while

<span style="color: #008000;">*/
<span style="color: #0000ff;">class<span style="color: #000000;"> DoWhileDemo2 {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #0000ff;">int x = 3<span style="color: #000000;">;
<span style="color: #0000ff;">while(x < 3<span style="color: #000000;">) {
System.out.println("我爱林青霞"<span style="color: #000000;">);
x++<span style="color: #000000;">;
}

    System.out.println(</span>"--------------"<span style="color: #000000;"&gt;);

    </span><span style="color: #0000ff;"&gt;int</span> y = 3<span style="color: #000000;"&gt;;
    </span><span style="color: #0000ff;"&gt;do</span><span style="color: #000000;"&gt; {
        System.out.println(</span>"我爱林青霞"<span style="color: #000000;"&gt;);
        y</span>++<span style="color: #000000;"&gt;;
    }</span><span style="color: #0000ff;"&gt;while</span>(y < 3<span style="color: #000000;"&gt;);
}

}

注意死循环

<span style="color: #008000;">*/
<span style="color: #0000ff;">class<span style="color: #000000;"> DoWhileDemo3 {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #0000ff;">int x = 0<span style="color: #000000;">;
<span style="color: #0000ff;">while(x < 10<span style="color: #000000;">) {
System.out.println(x);
x++<span style="color: #000000;">;
}
System.out.println("--------------"<span style="color: #000000;">);

    </span><span style="color: #008000;"&gt;/*</span><span style="color: #008000;"&gt;
    while(true) {
        System.out.println("今天我很高兴,学习了死循环");
    }
    </span><span style="color: #008000;"&gt;*/</span>

    <span style="color: #008000;"&gt;/*</span><span style="color: #008000;"&gt; 
    死循环
    for(;;){
        System.out.println("今天我很高兴,学习了死循环");
    } </span><span style="color: #008000;"&gt;*/</span>

    <span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;System.out.println("--------------");</span>

<span style="color: #000000;"> }
}

?

在控制台输出在控制台输出九九乘法表:

首先我们写出九九乘法表: 1*1=1 1*2=2 2*2=4 1*<span style="color: #0000ff;"&gt;3</span>=3 2*<span style="color: #0000ff;"&gt;3</span>=6 3*<span style="color: #0000ff;"&gt;3</span>=9 1*4=4 2*4=8 3*4=12 4*4=16 ... 1*9=9 2*9=18 3*9=27 ... 我们先把这个九九乘法表看出是这样的一个形状: * ** *** **** ***** ****** ******* ******** ********* 注意: 'x' x表示任意,这种做法叫转移字符。 't' tab键的位置 'r' 回车 'n' 换行

<span style="color: #008000;">/
<span style="color: #0000ff;">class<span style="color: #000000;"> ForForDemo3 {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #0000ff;">for(<span style="color: #0000ff;">int x=0; x<9; x++<span style="color: #000000;">) {
<span style="color: #0000ff;">for(<span style="color: #0000ff;">int y=0; y<=x; y++<span style="color: #000000;">) {
System.out.print("
"<span style="color: #000000;">);
}
System.out.println();
}
System.out.println("--------------"<span style="color: #000000;">);
<span style="color: #008000;">//<span style="color: #008000;">为了使用数据,我们从1开始
<span style="color: #ff0000;">for(int x=1; x<=9; x++) {
for(int y=1; y<=x; y++) {
System.out.print(y+""+<span style="color: #0000ff;">x+"="+yx+"t");
}
//我们可以通过空的输出语句实现换行:System.out.println();
<span style="color: #000000;"><span style="color: #ff0000;"> System.out.println();
}
}
}

break、continue、return语句

break:中断:

break:中断的意思 使用场景: A:switch语句中 B:循环语句中。 (循环语句中加入了if判断的情况) 注意:离开上面的两个场景,无意义。 如何使用呢? A:跳出单层循环 B:跳出多层循环 ---用得比较少 要想实现这个效果,就必须知道一个东西。带标签的语句。 格式: 标签名: 语句

<span style="color: #008000;">*/
<span style="color: #0000ff;">class<span style="color: #000000;"> BreakDemo {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">在 switch 或 loop 外部中断
<span style="color: #008000;">//<span style="color: #008000;">break;

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;跳出单层循环</span>
    <span style="color: #0000ff;"&gt;for</span>(<span style="color: #0000ff;"&gt;int</span> x=0; x<10; x++<span style="color: #000000;"&gt;) {
        </span><span style="color: #0000ff;"&gt;if</span>(x == 3<span style="color: #000000;"&gt;) {
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        }
        System.out.println(</span>"HelloWorld"<span style="color: #000000;"&gt;);
    }

    System.out.println(</span>"over"<span style="color: #000000;"&gt;);
    System.out.println(</span>"-------------"<span style="color: #000000;"&gt;);

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;跳出多层循环</span>
   <span style="color: #ff0000;"&gt; wc:</span><span style="color: #0000ff;"&gt;for</span>(<span style="color: #0000ff;"&gt;int</span> x=0; x<3; x++<span style="color: #000000;"&gt;) {
        nc:</span><span style="color: #0000ff;"&gt;for</span>(<span style="color: #0000ff;"&gt;int</span> y=0; y<4; y++<span style="color: #000000;"&gt;) {
            </span><span style="color: #0000ff;"&gt;if</span>(y == 2<span style="color: #000000;"&gt;) {
                </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;break nc;//跳出单层循环</span>
                <span style="color: #ff0000;"&gt;break</span><span style="color: #000000;"&gt;<span style="color: #ff0000;"&gt; wc; //这里跳出多层循环</span>
            }
            System.out.print(</span>"*"<span style="color: #000000;"&gt;);
        }
        System.out.println();
    }
}

}

continue:继续:

使用场景: 循环中。离开此场景无意义。 测试,找到和break的区别: <span style="color: #ff0000;"&gt; break:跳出单层循环 continue:跳出一次循环,进入下一次的执行</span> 练习题: for(int x=1; x<=10; x++) { if(x%3==0) { //在此处填写代码 } System.out.println(“Java”); } 我想在控制台输出2次:“Java“ break; 我想在控制台输出7次:“Java“ continue;

<span style="color: #008000;">*/
<span style="color: #0000ff;">class<span style="color: #000000;"> ContinueDemo {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #0000ff;">for(<span style="color: #0000ff;">int x=0; x<10; x++<span style="color: #000000;">) {
<span style="color: #0000ff;">if(x == 3<span style="color: #000000;">) {
<span style="color: #008000;">//<span style="color: #008000;">break;
<span style="color: #0000ff;">continue<span style="color: #000000;">;
}

        System.out.println(x);
    }
}

}

return语句:

其实它的作用不是结束循环的,而是结束方法的。

<span style="color: #008000;">*/
<span style="color: #0000ff;">class<span style="color: #000000;"> ReturnDemo {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #0000ff;">for(<span style="color: #0000ff;">int x=0; x<10; x++<span style="color: #000000;">) {
<span style="color: #0000ff;">if(x == 2<span style="color: #000000;">) {
System.out.println("退出"<span style="color: #000000;">);
<span style="color: #008000;">//<span style="color: #008000;">break;
<span style="color: #008000;">//<span style="color: #008000;">continue;
<span style="color: #0000ff;">return<span style="color: #000000;">;
}

        System.out.println(x);
    }

    System.out.println(</span>"over"<span style="color: #000000;"&gt;);
}

}

执行结果:return后面的语句都不会执行。

?

?实例:

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

?

?

分析: A:小芳的妈妈每天给她2.5元钱 double dayMoney = 2.5; B:她都会存起来 double daySum = 0; C:从第一天开始存储 int dayCount = 1; D:经过多少天,小芳才可以存到100元钱。 double result = 100; E:这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱, 说明要判断dayCount的值,如果对5整除就减去6元钱。 daySum -= 6; 由此还隐含了一个问题,就是如果不是5的倍数天的话,钱要累加 daySum += dayMoney; F:因为不知道是多少天,所以我用死循环,一旦超过100元我就退出循环。

<span style="color: #008000;">*/
<span style="color: #0000ff;">class<span style="color: #000000;"> WhileDemo {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">每天要存储的钱是2.5元
<span style="color: #0000ff;">double dayMoney = 2.5<span style="color: #000000;">;

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;存钱的初始化值是0</span>
    <span style="color: #0000ff;"&gt;double</span> daySum = 0<span style="color: #000000;"&gt;;

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;从第一天开始存储</span>
    <span style="color: #0000ff;"&gt;int</span> dayCount = 1<span style="color: #000000;"&gt;;

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;最终存储不小于100就不存储了</span>
    <span style="color: #0000ff;"&gt;int</span> result = 100<span style="color: #000000;"&gt;;

    </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;因为不知道是多少天,所以我用死循环,</span>
    <span style="color: #0000ff;"&gt;while</span>(<span style="color: #0000ff;"&gt;true</span><span style="color: #000000;"&gt;) {
        </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;累加钱</span>
        daySum +=<span style="color: #000000;"&gt; dayMoney;

        </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;一旦超过100元我就退出循环。</span>
        <span style="color: #0000ff;"&gt;if</span>(daySum >=<span style="color: #000000;"&gt; result) {
            System.out.println(</span>"共花了"+dayCount+"天存储了100元"<span style="color: #000000;"&gt;);
            </span><span style="color: #0000ff;"&gt;break</span><span style="color: #000000;"&gt;;
        }

        </span><span style="color: #0000ff;"&gt;if</span>(dayCount%5 == 0<span style="color: #000000;"&gt;) {
            </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;花去6元钱</span>
            daySum -= 6<span style="color: #000000;"&gt;;
            System.out.println(</span>"第"+dayCount+"天花了6元钱"<span style="color: #000000;"&gt;);
        }

        </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;天数变化</span>
        dayCount++<span style="color: #000000;"&gt;;
    }
}

}

执行结果:

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读