精华内容
下载资源
问答
  • 满意答案Ridere2017.01.11采纳率:59%等级:9已帮助:2369人你的choice类型不对,有两种修改方式1. 把choice改成char型,switch中case换成字符:...while((choice=getchar())!='#')switch(choice){case'1':printf("y...

    满意答案

    00e27ab806e4881f8254fe7ae8741834.png

    Ridere

    2017.01.11

    00e27ab806e4881f8254fe7ae8741834.png

    采纳率:59%    等级:9

    已帮助:2369人

    你的choice类型不对,有两种修改方式

    1. 把choice改成char型,switch中case换成字符:#include

    int main(void)

    {

    char choice;

    while ((choice=getchar()) != '#')

    switch (choice)

    {

    case '1':

    printf("you choice one.\n");

    break;

    case '2':

    printf("you choice two.\n");

    break;

    case '3':

    printf("you choice three.\n");

    break;

    case '4':

    printf("you choice four.\n");

    break;

    default:

    printf("you choice quit.\n");

    break;

    }

    printf("you have quit the program.\n");

    getchar();

    getchar();

    return 0;

    }

    2. choice还是int型,用scanf输入choice,输入0结束#include

    int main(void)

    {

    int choice;

    scanf("%d", &choice);

    while (choice != 0) {

    switch (choice)

    {

    case 1:

    printf("you choice one.\n");

    break;

    case 2:

    printf("you choice two.\n");

    break;

    case 3:

    printf("you choice three.\n");

    break;

    case 4:

    printf("you choice four.\n");

    break;

    default:

    printf("you choice quit.\n");

    break;

    }

    scanf("%d", &choice);

    }

    printf("you have quit the program.\n");

    getchar();

    getchar();

    return 0;

    }

    00分享举报

    展开全文
  • switch语句 switch语句格式 switch (表达式) { case 值1: 语句体1; break; case 值2: 语句体2; break; ... default: 语句体n+1; break; } 执行流程 首先计算出表达式的值 其,case后面的值...

    switch语句

    switch语句格式

    switch (表达式) {
    	case 值1:
    		语句体1;
    		break;
    	case 值2:
    		语句体2;
    		break;
    	...
    	default:
    		语句体n+1;
    		break;
    }
    

    执行流程

    • 首先计算出表达式的值
    • 其,和case后面的值作比较,一旦有有对应的值,就会执行相应的语句,在执行过程中遇到break就会结束。
    • 最后,如果所有的case和表达式都不匹配,就会执行default后的语句,程序结束。

    实例:

    一年有12个月,分属于春夏秋冬4个季节,键盘录入一个月份,请用程序实现判断该月份属于哪个季节,并输出。

    public class ForMonth {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(Trade Confidently.);
            System.out.println("请输入月份:");
            int month = scanner.nextInt();
            switch (month){
                case 1:
                case 2:
                case 12:
                    System.out.println("你输入的季节属于冬季");
                    break;
                case 3:
                case 4:
                case 5:
                    System.out.println("你输入的季节属于春季");
                    break;
                case 6:
                case 7:
                case 8:
                    System.out.println("你输入的季节属于夏季");
                    break;
                case 9:
                case 10:
                case 11:
                    System.out.println("你输入的季节属于秋季");
                default:
                    System.out.println("你过的季节有"+month+"月份");
            }
        }
    }

    注意事项

    如果switch后的表达式与对应的case语句后面没有break语句,就会依次向下执行,直到碰到break语句才会结束。

    for循环

    语句格式

    for (初始化语句;条件判断语句;条件控制语句) {

    循环体语句;

    }

    for循环语句是支持迭代的一种通用结构,利用每次迭代之后更新的计数器或类似的变量来控制迭代次数。

    for语句的第一部分通常是用于对计数器初始化;第二部分给出每次新一轮循环执行前要检测的循环条件;第三部分指示如何和更新计数器。

    当for语句的第一部分生命了一个变量之后,这个变量的作用域就为for循环的整个循环体。

    如果在for循环语句内定义一个变量,这个变量就不能在循环体之外使用。因此,如果希望在for循环体之外循环计数器的最终值,就要确保这个变量在循环语句的前面且在外部声明!

    执行流程

    1. 首先执行初始化语句
    2. 执行条件判断语句;如果判断条件为true,继续执行;如果判断条件为false,循环结束
    3. 执行循环体语句
    4. 执行条件控制语句
    5. 回到2继续,重复上述步骤

    实例:

    求1-5之间的数据和,并把求和结果在控制台输出

    public class ForSum {
        public static void main(String[] args) {
            int sum = 0;
            for (int i = 1; i <=5; i++) {
                sum+=i;
            }
            System.out.println(sum);
        }
    }

    while循环

    语句格式

    初始化语句;

    while (条件判断语句) {

    循环体语句;

    条件控制语句;

    }

    执行流程

    1. 首先执行初始化语句
    2. 执行条件判断语句,为false循环结束,为true继续执行
    3. 执行循环体语句
    4. 执行条件控制语句
    5. 回到2继续执行直到循环结束。

    实例:

    世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。
    * 请问,我折叠多少次,可以折成珠穆朗玛峰的高度?

    public class CalculateHeight {
        public static void main(String[] args) {
            int count = 0;
            double paperHeight = 0.1;
            double QomolangmaHeight = 8844430;
            while (QomolangmaHeight >= paperHeight){
                paperHeight *= 2;
                count++;
            }
            System.out.println(count);
        }
    }

    do....while循环

    循环格式

    初始化语句;

    do {

    循环体语句;

    条件控制语句;

    }while(条件判断语句);

    执行流程

    • 首先执行初始化语句
    • 执行循环体语句
    • 执行条件控制语句
    • 执行条件判断语句,为false循环结束,为true返回到循环体语句继续执行。

    实例:

    /**
     * //需求:在控制台输出5次"HelloWorld"
     * 		//for循环实现
     */
    public class DoWhile {
    
        public static void main(String[] args) {
            for (int i = 0; i <5 ; i++) {
                System.out.println("hello world");
            }
            System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$");
            int i=0;
            do{
                System.out.println("hello world");
                 i++;
            }while (i<5);
        }
    }

    for、while和do...while三中的区别

    • for循环和while循环先判断条件是否成立,然后再决定是否执行循环体(先判断后行)
    • do...while循环是先执行一次循环体,然后再判断条件是否成立,是否继续执行循环体(先执行后判断)

    for循环和while的区别

    • 条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了。
    • 条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用

    跳转控制语句

    • break跳出循环,结束循环
    • continue跳出本次循环,继续下次循环
    • break和continue只能在循环中进行使用,单独使用无任何意义。

    循环嵌套

    在循环中,继续嵌套循环

    实例:

    /**
     * 打印输出九九乘法表
     */
    public class JiuJiuChengFaBiao {
        public static void main(String[] args) {
            for(int i = 1 ; i <= 9;i ++){
                for(int j = 1 ; j <= i ; j++){
                    System.out.print(j + " * " + i + " = " + (i*j) +"\t");
                }
                System.out.println();
            }
        }
    }

    结果:

    展开全文
  • 语句1:switch语句(掌握)(1)格式:switch(表达式) {case值1:语句体1;...表达式:可以是byte,short,int,charJDK5以后可以是枚举JDK7以后可以是字符串case:后面的值就是要表达式进行比较的值break:...

    语句

    1:switch语句(掌握)

    (1)格式:switch(表达式) {case值1:

    语句体1;break;case值2:

    语句体2;break;

    ...default:

    语句体n+1;break;

    }

    格式解释说明:switch:说明这是switch语句。

    表达式:可以是byte,short,int,charJDK5以后可以是枚举

    JDK7以后可以是字符串case:后面的值就是要和表达式进行比较的值break:表示程序到这里中断,跳出switch语句default:如果所有的情况都不匹配,就执行这里,相当于if语句中的else

    (2)面试题

    switch语句的表达式可以是byte吗?可以是long吗?可以是String吗?可以,不可以,JDK7以后可以

    (3)执行流程:

    A:首先计算表达式的值

    B:和每一个case进行匹配,如果有就执行对应的语句体,看到break就结束。

    C:如果没有匹配,就执行default的语句体n+1。

    (4)注意事项:

    A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的

    B:default可以省略吗?可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。

    特殊情况:

    case就可以把值固定。

    A,B,C,D

    C:break可以省略吗?可以省略,但是结果可能不是我们想要的。

    会出现一个现象:case穿透。

    最终我们建议不要省略

    D:default一定要在最后吗?不是,可以在任意位置。但是建议在最后。

    E:switch语句的结束条件

    a:遇到break就结束了

    b:执行到末尾就结束了

    (5)案例:

    A:键盘录入一个数字(1-7),输出对应的星期几。

    B:单项选择题

    C:键盘录入一个字符串的问题

    String s=sc.nextLine();

    D:根据给定的月份,输出对应的季节

    (6)if语句和switch语句各自的场景

    A:if针对boolean类型的判断

    针对一个范围的判断

    针对几个常量的判断

    B:switch针对几个常量的判断2:循环语句(掌握)

    (1)有三种:for,while,do...while(2)for循环语句

    A:格式for(初始化语句;判断条件语句;控制条件语句){

    循环体语句;

    }

    执行流程:

    a:执行初始化语句

    b:执行判断条件语句

    如果这里是true,就继续

    如果这里是false,循环就结束

    c:执行循环体语句

    d:执行控制条件语句

    e:回到b

    B:注意事项

    a:判断条件语句无论简单还是复杂,结果是boolean类型

    b:循环体语句如果是一条,可以省略大括号,但是不建议

    c:有分号就没有左大括号,有左大括号就没有分号

    C:案例

    a:输出10次HelloWorld

    b:输出1-10的数据

    c:输出10-1的数据

    d:求1-10的和

    e:求1-100的和,求1-100的偶数和,求1-100的奇数和

    f:求5的阶乘

    g:在控制台打印水仙花数

    h:统计水仙花个数

    i:改进版的回文数

    一个五位数

    个位=万位

    十位=千位

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

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

    x%3==2x%5==3x%7==2(3)while循环

    A:基本格式while(判断条件语句) {

    循环体语句;

    }

    扩展格式:

    初始化语句;while(判断条件语句){

    循环体语句;

    控制条件语句;

    }

    通过查看这个格式,我们就知道while循环可以和for循环等价转换。

    B:while的练习

    把for语句的练习用while改进

    C:for和while的区别

    a:使用上的区别

    for语句的那个控制条件变量,在循环结束后不能在使用了。

    而while的可以继续使用。

    b:理解上的区别

    for适合于一个范围的判断

    while适合次数不明确的

    举例:吃葡萄

    D:案例:

    a:珠穆朗玛峰问题

    b:小芳存钱问题(break以后才能做)

    (4)do...while循环

    A:基本格式do{

    循环体语句;

    }while(判断条件语句);

    扩展格式:

    初始化语句;do{

    循环体语句;

    控制条件语句;

    }while(判断条件语句);

    通过查看格式,我们就可以看出其实三种循环的格式可以是统一的。

    B:三种循环的区别

    a:do...while循环至少执行一次循环体

    b:for和while必须先判断条件是否是true,然后后才能决定是否执行循环体

    (5)循环使用的注意事项(死循环)

    A:一定要注意修改控制条件,否则容易出现死循环。

    B:最简单的死循环格式

    a:while(true){...}

    b:for(;;){}3:控制跳转语句(掌握)

    (1)break:中断的意思

    A:用在循环和switch语句中,离开此应用场景无意义。

    B:作用

    a:跳出单层循环

    b:跳出多层循环,需要标签语句的配合

    (2)continue:继续

    A:用在循环中,离开此应用场景无意义。

    B:作用

    a:跳出单层循环的一次,可以继续下一次

    C:填空题for(int x=1; x<=10; x++) {if(x%3 == 0) {//补齐代码

    }

    System.out.println("Java基础班");

    }

    如何让控制台输出2次:Java基础班

    如何让控制台输出7次:Java基础班

    如何让控制台输出13次:Java基础班

    (3)return:返回

    A:用于结束方法的,后面还会在继续讲解和使用。

    B:一旦遇到return,程序就不会在继续往后执行。

    switch语句格式:

    switch语句格式:

    /*switch语句格式:

    switch(表达式) {

    case 值1:

    语句体1;

    break;

    case 值2:

    语句体2;

    break;

    ...

    default:

    语句体n+1;

    break;

    }

    格式的解释:

    switch:表示这是switch选择结构

    表达式:这个地方的取值是有限定的

    byte,short,int,char

    JDK5以后可以是枚举

    JDK7以后可以是字符串

    case:后面跟的是要和表达式进行比较的值

    语句体:要执行的代码

    break:表示中断,结束的意思,可以控制switch语句的结束。

    default:当所有的值都和表达式不匹配的时候,就执行default控制的语句。其实它就相当于if语句的else。

    实例:

    byte可以作为switch的表达式吗? 可以

    long可以作为switch的表达式吗? 不可以

    String可以作为switch的表达式吗? jdk7以后可以

    案例:

    键盘录入一个数据,根据这个数据,我们输出对应的星期?

    键盘录入1,对应输出星期一

    键盘录入2,对应输出星期二

    ...

    键盘录入7,对应输出星期日

    分析:

    1:键盘录入,用Scanner实现

    2:判断我们既可以使用if语句,也可以使用我们要讲解的switch语句

    注意:

    A:遇到左大括号缩进一个tab的位置。

    B:关联不是很大的语句间空行*/

    importjava.util.Scanner;classSwitchDemo {public static voidmain(String[] args) {//创建键盘录入对象

    Scanner sc = newScanner(System.in);//控制键盘录入数据

    System.out.println("请输入一个数据(1-7):");int week = sc.nextInt(); //3//switch判断语句

    switch(week) {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;default:

    System.out.println("你输入的数据有误");break;

    }

    }

    }

    switch语句注意事项:

    /*switch语句的注意事项:

    A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的

    B:default可以省略吗?

    可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。

    特殊情况:

    case就可以把值固定。

    A,B,C,D

    C:break可以省略吗?

    可以省略,但是结果可能不是我们想要的。

    会出现一个现象:case穿透。

    最终我们建议不要省略

    D:default一定要在最后吗?

    不是,可以在任意位置。但是建议在最后。

    E:switch语句的结束条件

    a:遇到break就结束了,不是遇到default就结束,因为default可以不放在结尾

    b:执行到末尾就结束了*/

    importjava.util.Scanner;classSwitchDemo2 {public static voidmain(String[] args) {//创建键盘录入对象

    Scanner sc = newScanner(System.in);//控制键盘录入数据

    System.out.println("请输入一个数据(1-7):");int week = sc.nextInt(); //3//定义常量//int number = 3;//然后把case后面的值改为number,就会报错//switch判断语句

    switch(week) {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;default:

    System.out.println("你输入的数据有误");//break;

    }

    }

    }

    根据你键盘录入的字符串,判断是否有满足要求的,如果有就输出。

    /*根据你键盘录入的字符串,判断是否有满足要求的,如果有就输出。

    否则,提示有误。

    String s = sc.nextLine();*/

    importjava.util.Scanner;classSwitchTest3 {public static voidmain(String[] args) {//创建键盘录入对象

    Scanner sc = newScanner(System.in);//录入数据

    System.out.println("请输入你要判断的字符串:");

    String s= sc.nextLine(); // 拿字符串类型

    switch(s) {case "hello":

    System.out.println("你输入的是hello");break;case "world":

    System.out.println("你输入的是world");break;case "java":

    System.out.println("你输入的是java");break;default:

    System.out.println("没有找到你输入的数据");//break;

    }

    }

    }

    if语句和switch语句的区别?

    /*用switch语句实现键盘录入月份,输出对应的季节

    分析:

    A:键盘录入一个月份,用Scanner实现

    B:用switch语句实现即可

    if语句和switch语句的区别?

    if语句:

    A:针对结果是boolean类型的判断

    B:针对一个范围的判断

    C:针对几个常量值的判断

    switch语句:

    针对几个常量值的判断*/

    importjava.util.Scanner;classSwitchTest4 {public static voidmain(String[] args) {//创建键盘录入对象

    Scanner sc = newScanner(System.in);//录入数据

    System.out.println("请输入月份(1-12):");int month =sc.nextInt();/*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("你输入的月份有误");

    }*/

    //这样写太麻烦了,我们使用一个我们不想使用的东西:case穿透。但是不太美观。应该选用if语句对范围判断

    switch(month) {case 1:case 2:case 12:

    System.out.println("冬季");break;case 3:case 4:case 5:

    System.out.println("春季");break;case 6:case 7:case 8:

    System.out.println("夏季");break;case 9:case 10:case 11:

    System.out.println("秋季");break;default:

    System.out.println("你输入的月份有误");

    }

    }

    }

    for循环语句

    for循环语句格式:

    /*循环语句:for循环,while循环,do...while循环。

    for循环格式:

    for(初始化语句;判断条件语句;控制条件语句) {

    循环体语句;

    }

    执行流程:

    A:执行初始化语句

    B:执行判断条件语句,看其返回值是true还是false

    如果是true,就继续执行

    如果是false,就结束循环

    C:执行循环体语句;

    D:执行控制条件语句

    E:回到B继续。

    注意事项:

    A:判断条件语句无论简单还是复杂结果是boolean类型。

    B:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。

    C:一般来说:有左大括号就没有分号,有分号就没有左大括号

    需求:请在控制台输出10次"HelloWorld"*/

    classForDemo {public static voidmain(String[] args) {//最原始的做法

    System.out.println("HelloWorld");

    System.out.println("HelloWorld");

    System.out.println("HelloWorld");

    System.out.println("HelloWorld");

    System.out.println("HelloWorld");

    System.out.println("HelloWorld");

    System.out.println("HelloWorld");

    System.out.println("HelloWorld");

    System.out.println("HelloWorld");

    System.out.println("HelloWorld");

    System.out.println("----------");//这种做法不好,代码的重复度太高。//所以呢,我们用循环改进

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

    System.out.println("HelloWorld");

    }

    }

    }

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

    /*需求:在控制台输出所有的”水仙花数”

    分析:

    我们都不知道什么叫"水仙花数",你让我怎么做呢?

    所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。

    举例: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 //除号/,只能得到整数,要得到小数,需要有一个为小数

    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和该数据比较

    如果相同,就把该数据在控制台输出。*/

    classForDemo6 {public static voidmain(String[] args) {//三位数其实是告诉了我们范围。

    for(int x=100; x<1000; x++) {int ge = x%10;int shi = x/10%10;int bai = x/10/10%10;//让ge*ge*ge+shi*shi*shi+bai*bai*bai和该数据比较

    if(x == (ge*ge*ge+shi*shi*shi+bai*bai*bai)) {//如果相同,就把该数据在控制台输出。

    System.out.println(x);

    }

    }

    }

    }

    while循环

    while循环基本格式:

    /*while循环的基本格式:

    while(判断条件语句) {

    循环体语句;

    }

    扩展格式:

    初始化语句;

    while(判断条件语句) {

    循环体语句;

    控制条件语句;

    }

    通过这个格式,我们就可以看到其实和for循环是差不多的。

    for(初始化语句;判断条件语句;控制条件语句) {

    循环体语句;

    }*/

    classWhileDemo {public static voidmain(String[] args) {//输出10次"HelloWorld"//for语句版

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

    System.out.println("HelloWorld");

    }

    System.out.println("--------------");//while语句版

    int x=0;

    while(x<10) {

    System.out.println("HelloWorld");

    x++;

    }

    }

    }

    while循环和for循环的区别?

    /*while循环和for循环的区别?

    使用区别:如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。

    不知道用for循环。

    因为变量及早的从内存中消失,可以提高内存的使用效率。

    其实还有一种场景的理解:

    如果是一个范围的,用for循环非常明确。

    如果是不明确要做多少次,用while循环较为合适。

    举例:吃葡萄。*/

    classWhileDemo4 {public static voidmain(String[] args) {//for循环实现

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

    System.out.println("学习Java技术哪家强,中国北京传智播客");

    }//这里不能在继续访问x了,因为这个x这是在大括号里有效//System.out.println(x);//while循环实现

    int y = 0;while(y<10) {

    System.out.println("学习Java技术哪家强,中国北京传智播客");

    y++;

    }//这里是可以继续访问y

    System.out.println(y);

    }

    }

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

    /*我国最高山峰是珠穆朗玛峰:8848m,

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

    分析:

    A:定义一个统计变量,默认值是0

    B:最高山峰是珠穆朗玛峰:8848m这是最终的厚度

    我现在有一张足够大的纸张,厚度为:0.01m这是初始厚度

    C:我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?

    折叠一次有什么变化呢?就是厚度是以前的2倍。

    D:只要每次变化的厚度没有超过珠穆朗玛峰的高度,就折叠,统计变量++

    E:输出统计变量。*/

    classWhileDemo5 {public static voidmain(String[] args) {//定义一个统计变量,默认值是0

    int count = 0;//最高山峰是珠穆朗玛峰:8848m这是最终的厚度//我现在有一张足够大的纸张,厚度为:0.01m这是初始厚度//为了简单,我把0.01变成1,同理8848就变成了884800

    int end = 884800;int start = 1;while(start

    count++;//折叠一次有什么变化呢?就是厚度是以前的2倍。

    start *= 2;

    System.out.println("第"+count+"次厚度是"+start);

    }//输出统计变量。

    System.out.println("要叠"+count+"次");

    }

    }

    do...while

    do...while语句格式:

    /*do...while循环的基本格式:

    do {

    循环体语句;

    }while(判断条件语句);

    扩展格式;

    初始化语句;

    do {

    循环体语句;

    控制条件语句;

    }while(判断条件语句);*/

    classDoWhileDemo {public static voidmain(String[] args) {//求和1-100

    int sum = 0;int a = 1;do{

    sum+=a;

    a++;

    }while(a<=100);

    System.out.println(sum);

    }

    }

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

    /*循环语句的区别:

    do...while循环至少执行一次循环体。

    而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。

    那么,我们一般使用哪种循环呢?

    优先考虑for,其次考虑while,最后考虑do...while*/

    classDoWhileDemo2 {public static voidmain(String[] args) {int x = 3;while(x < 3) {

    System.out.println("我爱林青霞");

    x++;

    }

    System.out.println("--------------");int y = 3;do{

    System.out.println("我爱林青霞");

    y++;

    }while(y < 3);

    }

    }

    注意死循环

    /*注意死循环:

    A:一定要注意控制条件语句控制的那个变量的问题,不要弄丢了,否则就容易死循环。

    B:两种最简单的死循环格式

    while(true){...}

    for(;;){...}*/

    classDoWhileDemo3 {public static voidmain(String[] args) {int x = 0;while(x < 10) {

    System.out.println(x);

    x++;

    }

    System.out.println("--------------");/*while(true) {

    System.out.println("今天我很高兴,学习了死循环");

    }*/

    /*死循环

    for(;;){

    System.out.println("今天我很高兴,学习了死循环");

    }*/

    //System.out.println("--------------");

    }

    }

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

    /*需求:在控制台输出九九乘法表。

    首先我们写出九九乘法表:

    1*1=1

    1*2=2 2*2=4

    1*3=3 2*3=6 3*3=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' 换行*/

    classForForDemo3 {public static voidmain(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();System.out.println();

    }

    }

    }

    break、continue、return语句

    break:中断:

    /*控制跳转语句:

    break:中断

    continue:继续

    return:返回

    break:中断的意思

    使用场景:

    A:switch语句中

    B:循环语句中。

    (循环语句中加入了if判断的情况)

    注意:离开上面的两个场景,无意义。

    如何使用呢?

    A:跳出单层循环

    B:跳出多层循环 ---用得比较少

    要想实现这个效果,就必须知道一个东西。带标签的语句。

    格式:

    标签名: 语句*/

    classBreakDemo {public static voidmain(String[] args) {//在 switch 或 loop 外部中断//break;//跳出单层循环

    for(int x=0; x<10; x++) {if(x == 3) {break;

    }

    System.out.println("HelloWorld");

    }

    System.out.println("over");

    System.out.println("-------------");//跳出多层循环

    wc:for(int x=0; x<3; x++) {

    nc:for(int y=0; y<4; y++) {if(y == 2) {//break nc;//跳出单层循环

    breakwc; //这里跳出多层循环

    }

    System.out.print("*");

    }

    System.out.println();

    }

    }

    }

    continue:继续:

    /*continue:继续

    使用场景:

    循环中。离开此场景无意义。

    测试,找到和break的区别:

    break:跳出单层循环

    continue:跳出一次循环,进入下一次的执行

    练习题:

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

    if(x%3==0) {

    //在此处填写代码

    }

    System.out.println(“Java”);

    }

    我想在控制台输出2次:“Java“

    break;

    我想在控制台输出7次:“Java“

    continue;*/

    classContinueDemo {public static voidmain(String[] args) {for(int x=0; x<10; x++) {if(x == 3) {//break;

    continue;

    }

    System.out.println(x);

    }

    }

    }

    return语句:

    /*return:返回

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

    classReturnDemo {public static voidmain(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");

    }

    }

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

    3e1c1bf3d2e40fc6442d221b0ca821ec.png

    实例:

    需求:小芳的妈妈每天给她2.5元钱,她都会存起来,但是,

    每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,

    请问,经过多少天,小芳才可以存到100元钱。

    /*需求:小芳的妈妈每天给她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元我就退出循环。*/

    classWhileDemo {public static voidmain(String[] args) {//每天要存储的钱是2.5元

    double dayMoney = 2.5;//存钱的初始化值是0

    double daySum = 0;//从第一天开始存储

    int dayCount = 1;//最终存储不小于100就不存储了

    int result = 100;//因为不知道是多少天,所以我用死循环,

    while(true) {//累加钱

    daySum +=dayMoney;//一旦超过100元我就退出循环。

    if(daySum >=result) {

    System.out.println("共花了"+dayCount+"天存储了100元");break;

    }if(dayCount%5 == 0) {//花去6元钱

    daySum -= 6;

    System.out.println("第"+dayCount+"天花了6元钱");

    }//天数变化

    dayCount++;

    }

    }

    }

    执行结果:

    5d6157dca7200fd9dc6e3c1c3eb7651f.png

    展开全文
  • switch语句具有同样表达式的一系列的IF语句相似。很多场合下需要把同一个变量(或表达式)与很多不同的值比较,并根据它等于哪个值来执行不同的代码。这正是 switch 语句的用途。注意:注意其它语言不同,continue...

    php switch用法很多,除了我们常见的switch break的搭配外, 还有其他用法,也许会满足你的特殊需求!

    switch语句和具有同样表达式的一系列的 IF 语句相似。很多场合下需要把同一个变量(或表达式)与很多不同的值比较,并根据它等于哪个值来执行不同的代码。这正是 switch 语句的用途。

    注意: 注意和其它语言不同,continue语句作用到 switch 上的作用类似于 break。如果在循环中有一个 switch 并希望 continue 到外层循环中的下一个轮回,用 continue 2。

    下面两个例子使用两种不同方法实现同样的事,一个用一系列的 if 语句,另一个用 switch 语句:

    Example #1 switch 结构

    Example #2 switch 结构可以用字符串

    重点:(这就是我先前一直没掌握的地方!)

    为避免错误,理解 switch是怎样执行的非常重要。switch语句一行接一行地执行(实际上是语句接语句)。开始时没有代码被执行。仅当一个 case语句中的值和 switch表达式的值匹配时 PHP 才开始执行语句,直到 switch的程序段结束(如 return语句)或者遇到第一个 break语句为止。如果不在 case 的语句段最后写上 break的话,PHP 将继续执行下一个 case 中的语句段。例如:特别说明:这里如果 $i 等于 3,PHP不会执行任何echo语句!但是,如果 $i 等于 0,PHP 将执行所有的 echo 语句!如果 $i 等于 1,PHP 将执行后面两条 echo 语句。只有当 $i 等于 2 时,才会得到“预期”的结果——只显示“i equals 2”。所以,别忘了 break语句就很重要(即使在某些情况下故意想避免提供它们时)。

    [效率]在 switch 语句中条件只求值一次并用来和每个 case 语句比较。在 elseif 语句中条件会再次求值。如果条件比一个简单的比较要复杂得多或者在一个很多次的循环中,那么用 switch 语句可能会快一些。

    在一个 case 中的语句也可以为空,这样只不过将控制转移到了下一个 case 中的语句。

    一个 case 的特例是 default。它匹配了任何和其它 case 都不匹配的情况。例如:

    case 表达式可以是任何求值为简单类型的表达式,即整型或浮点数以及字符串。不能用数组或对象,除非它们被解除引用成为简单类型。

    【实战】根据上面的知识点,编写这么一个函数:计算容量值实际代表的字节数

    输出:

    特别说明:$val = 400M时,case 'm' 被命中,其下的 $val *= 1024; 被执行,但因为没有 break 语言,所以会继续命中 case 'k',并执行其下的$val *= 1024;语句,so,总体上相当于执行了 400 * 1024 * 1024 。

    展开全文
  • 就像if语句可以嵌套一样,一个循环也可以嵌套在另一个循环中,一个循环中含有另一个循环就称为嵌套循环。嵌套循环的工作原理如下:首先外...一个while循环可以嵌套在另一个while循环中,示例1演示了嵌套while循环...
  • 没画,这部分感觉在C学的已经很熟了(for-while-dowhile(三个循环)、嵌套循环、break、continue) 下面放点杂笔记 switch case(用的不多 结构忘过) 使用switch注意事项 switch和if如何选择 while和for的如何...
  • switchwhile的混合使用

    千次阅读 2021-02-08 08:39:09
    while(m!=-1){ printf("请输入员工的类型(1-4的整数):"); scanf("%d",&n); switch(n){ case 1: printf("请输入经理的周薪:"); scanf("%f",&a) ; printf("职工号为%d的员工的周薪为%.2f\n",m,...
  • switch (chr){ //switch (str){ case ‘A‘: for(int n=1;n;n++){ for(int m=1;m;m++){ System.out.print("\t"+"*"); } System.out.println("\n"); } break; case ‘B‘: for(int m=1;m;m++){ for(int n=1;n;n++){ ...
  • 一、选择语句【switch语句】:​ 概述:提前把一些结果对应的处理方式写好,执行的时候根据表达式的结果去罗列好的结果去匹配,对应执行匹配的结果的处理方式的语句体。​ 格式:​ switch(表达式){​ case 常量1...
  • 05 if结构While、For循环

    2021-05-20 09:52:58
    ====== if ======python中的分之结构只有 if 语句,没有 switch1.什么时候需要使用 if如果做某件事情(执行某段代码)需要满足某个条件才可以,就考虑使用 if2.怎么使用 ifa.语法1:if 条件语句代码段1其他语句b.说明:...
  • matlab switch语句使用

    2021-04-18 03:05:17
    switch 块有条件地执行一组语句从几个选择。每个选项所涵盖的一个 case 语句。计算 switch_expression 是一个标量或字符串。计算case_expression是标量,标量或字符串的字符串或单元阵列。switch 块测试每个 case ,...
  • 一个表达式是一系列运算符算子的组合,用来计算一个值 运算符(operator)是指进行运算的动作,比如加法运算符"+",减法运算符"-" 算子(operand)是指参与运算的值,这个值可能是常数,也可能是变量,还可能是一个...
  • 循环-跳转语句 1 回顾 // 1. 单向分支 if (条件表达式) { 语句... } // 2. 双向分支 if (条件表达式) { 语句... } else { 语句... } // 3. 多向分支 else if if (条件表达式) { ...// 4. switch
  • 我刚刚开始使用C++但是对其他语言有一些先验知识(不幸的是,不久之后),但是有一个奇怪的困境...让我们说我有以下场景(理论代码):while(1) {//Loop can be conditional or 1, I use it alot, for example in my gamech...
  • 1.键盘输入某学生的计算机成绩,根据成绩判断等级。成绩90分以上为“A”等级,80-90分“B”等级,70-80分为“C”等级,60~70分为“D”等级,60分以下为“E”等级。... switch (resluts/10) { case 10: cas
  • 较为通俗易懂的介绍了if,for,switchwhile,break,return等流程控制语句的用法
  • 满意答案hjkhkj02013.06.04采纳率:42%等级:13已帮助:10338人switchSwitch among several cases, based on expressionSyntaxswitch switch_exprcase case_exprstatement, ..., statementcase {case_expr1, case_...
  • switch语句 在编写程序时, 经常会碰到按不同情况分转的多路问题, 这时可用嵌套if-else-fi语句来实现, 但if-else-if语句使用不方便, 并且容易出错。对这种情况, Turbo C2.0提供了一个开关语句。 开关语句格式为: ...
  • 003Switch嵌套循环

    2021-03-15 18:58:52
    } } } 小结: switch case中支持匹配的数据类型有5种: byte short int char JDK1.5之后支持String switch的执行顺序是:先拿到表达式的值a,然后将a的值case的值一次匹配 ,当成功匹配到case的值以后,将会执行...
  • while循环中有几个关于switch语句的帖子,除了它们都没有在C语言中完成的事情,至少从我所见过的事实中除外。 C++可以创建布尔表达式,我知道这些布尔表达式,但不包含在C中。我有一个包含开关控件的while循环。...
  • 求出该数组 所有数组元素之及平均值; 3.求出该数组的最大值最小值以及它们是第几个元素。 (20.0分)【单选题】以下程序段的输出结果是___________。 (2.0分)【填空题】下列循环中的输出语句执行次数为_________ ...
  • day 03 if嵌套switch语句、while循环

    千次阅读 2021-11-25 11:03:26
    程序会忽略后面case语句,不进行匹配,直接执行后面case中的代码 *switch语句if语句在部分情况下可以相互转化,如果有非常多的case项,不推荐使用switch语句。 3 .随机数 3.1 random对象 Random random=new Random...
  • } 执行流程:先去计算表达式的值,依次所有的case的值进行比较如果相等就执行对应的语句体执行break结束语句,如果所有的case值都不满足就执行语句体n+1执行break结束语句 注意: 1.switch语句的表达式支持的数据...
  • } 循环嵌套 for循环嵌套,外循环控制行数,内循环控制列数 倒三角 修改内循环第一个(初始化表达式) 正三角 修改内循环第二个(条件表达式) /* 打印下面形状: * ** *** */ for (int i = 0; i ; i++) { for (int j = 0; ...
  • 2.2 switch分支 3.循环语句:条件成立,就重复性的执行某个功能 3.1 for循环 3.2 while循环 3.3 do-while循环 4.特殊的流程控制语句 4.1 break 4.2 continue 4.3 return 4.4 lable 1、if分支 1.1简单的if分支 语法...
  • //打印累加的 } } 四、循环语句do...while 4.1 do…while循环语句和while循环语句功能类似,其语法结构如下: do{ 执行语句 ……… }while(循环条件); 4.2 do…while循环语句将循环条件放在了循环体的后面。这也...
  • 要求:猜数字游戏的实现。代码如下:#include #include #... switch(input) { case 1: game(); break; case 0: break; default: printf("选择错误,请重新选择!\n"); break; } } while(input); return 0; } 运行结果:
  • switch嵌套用法, 给字符数字等计数, getchar的使用, 利用取整取余取出数字的某一位。 出于时间限制,只能粗略的讲解。(真的真的没有时间) 注意格式!! !!! !!! ! 1:利用if,else if,else做一个简单的缴税计算...
  • switch)&循环if...else...如果if条件成立时执行的语句只有1条,可以省略大括号。如果有多条就不能省略!!equals() 用于判断字符串的内容是否相同,相同返回true,反之false例如:weather=”周末”weather....
  • } 注意事项: 1.switch里面的表达式:byte,short,int,char,枚举,字符串 2.case后面必须接常量,并且常量值不能重复 3.break当满足条件之后,跳出整个switch语句,break由于不会再继续执行,所有不能再写其他的任何语句...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 53,421
精华内容 21,368
关键字:

while和switch的嵌套