/* switch语句格式: switch(表达式) { case 值1: 语句体1; break; case 值2: 语句体2; break; ... default: 语句体n+1; break; } 格式的解释: switch:表示这是switch选择结构 表达式:这个地方的取值是有限定的 byte,short,int,char JDK5之后能够是枚举 JDK7之后能够是字符串 break:表示中断,结束的意思,能够控制switch语句的结束。 default:当全部的值都和表达式不匹配的时候,就执行default控制的语句。其实它就至关于if语句的else。 面试题: byte能够做为switch的表达式吗? (能够) long能够做为switch的表达式吗? (能够) String能够做为switch的表达式吗? (能够) 输入 import java.util.Scanner; Scanner s = new Scanner(System.in); int a = s.nextInt(); String s = s.nextLine(); if语句和switch语句的区别? if语句: A:针对结果是boolean类型的判断 B:针对一个范围的判断 C:针对几个常量值的判断 switch语句: 针对几个常量值的判断 //求出1-100之间偶数和 //方式2 int sum3 = 0; for(int x=0; x<=100; x+=2) { sum3 += x; } 如何获取一个数据的个,十,百呢? 假设有个一个数据: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 ... while循环和for循环的区别? 使用区别:若是你想在循环结束后,继续使用控制条件的那个变量,用while循环,不然用for循环。不知道用for循环。 由于变量及早的从内存中消失,能够提升内存的使用效率。 其实还有一种场景的理解: 若是是一个范围的,用for循环很是明确。 若是是不明确要作多少次,用while循环较为合适。 举例:吃葡萄。 两种最简单的死循环格式 while(true){...} for(;;){...} /* 控制跳转语句: break:中断 continue:继续 return:返回 break:中断的意思 使用场景: A:switch语句中 B:循环语句中。 (循环语句中加入了if判断的状况) 注意:离开上面的两个场景,无心义。 如何使用呢? A:跳出单层循环 B:跳出多层循环 要想实现这个效果,就必须知道一个东西。带标签的语句。 格式: 标签名: 语句(只能有一个) */ wc:for(int x=0; x<3; x++) { nc:for(int y=0; y<4; y++) { if(y == 2) { //break nc; break wc; } System.out.print("*"); } System.out.println(); } /* 需求:小芳的妈妈天天给她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元我就退出循环。 */ double daysum=0.0; int day=0; while(true){ daysum +=2.5; day++; if(daysum>=100){ System.out.println("spend"+day+"day"); break; } if(day%5==0){ daysum -=6; } }