本文共 5317 字,大约阅读时间需要 17 分钟。
switch语句:
格式: switch(表达式) { case 值1: 语句1; break ; case 值2: 语句2; break; case 值3: 语句3; break; .... default: 语句n+1; break; }
格式的解释: switch:当前是一个选择结构语句,它的作用和if语句是一样 case语句:它后面的值是和表达式进行比较 break:表示结束当前switch语句 default:是和if语句中的else意识时候一样的,如果条件都不成立,执行default中的语句
执行流程: case语句中的值1和表达式中的值比较,如果一致,执行语句1 如果不一致,走case 值2,再进行比较,如果椅子,执行语句2 .... 如果上述都不一致,执行default中的语句;
switch语句后边的表达式: 能跟的类型:byte,short,int,char; jdk5以后,可以跟枚举; jdk7以后,可以String类型;
举例: package org.westos.a_switch; //导包; import java.util.Scanner; public class SwitchDemo { public static void main(String[] args) { //1)创建键盘录入对象; Scanner sc = new Scanner(System.in) ; //2)接收数据; System.out.println("请输入一个数据:"); int week = sc.nextInt() ; //使用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语句中的注意事项: 1)case语句的后面只能跟常量(根据具体的需求),不能跟变量! javascript中的case后面是可以跟变量并且还可以表达式 2)default语句可以在switch语句中的任何位置,不影响代码执行,如果是在语句中,那么break最好带上 3)建议把break带上,否则会造成一个现象:case穿透!(case穿透不一定只有坏处); 4)switch语句的结束条件: ⑴语句break语句结束 ⑵执行默认执行到末尾语句结束 5)case语句的后面是冒号,表示和switch语句中的表达式进行比较 6)跳转控制语句: break,continue,retrun
循环语句之for循环语句:
格式: for(初始化语句;条件语句;步长语句){ 循环体语句; }执行流程: 初始化语句:给当前变量进行赋值,如果满足条件语句,那么执行循环体语句 执行步长语句,对变量进行自增或自减---->在对条件语句进行判断,如果满足条件,再次执行循环体---->步长语句 直到不满足条件为止,循环语句结束... 循环语句的注意事项: 1)条件语句,不管是一个简单的表达式还是复杂的表达式,都是boolean类型; 2)初始化语句,和条件表语句后面都要带上分号;
举例:} package org.westos.b_for; /** * 需求:统计"水仙花数"有多少个 * * 分析: * 1)定义一个统计变量 初始化值0 * 2)分析求水仙花数 * 3)满足条件就统计变量++ * @author Administrator * */ public class ForDemo3 {public static void main(String[] args) { //定义一个统计变量: int count = 0 ; 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循环语句:
格式: for(初始化语句;条件语句;步长语句){ 循环体语句; }执行流程: 初始化语句:给当前变量进行赋值,如果满足条件语句,那么执行循环体语句 执行步长语句,对变量进行自增或自减---->在对条件语句进行判断,如果满足条件,再次执行循环体---->步长语句 直到不满足条件为止,循环语句结束... 循环语句的注意事项: 1)条件语句,不管是一个简单的表达式还是复杂的表达式,都是boolean类型; 2)初始化语句,和条件表语句后面都要带上分号;
while循环和for循环的区别? 1)如果从内存角度考虑,for循环要优于while循环,for循环语句执行完毕之后,变量会及时被GC垃圾回收期回收掉 while循环,它可以去访问循环语句中的变量; 2)根据具体需求具体分析: 如果循环次数明确的情况下,应用for循环; 如果不知道要循环多少次,应该去使用while循环;
举例: package org.westos.c_while; /** * 我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m。 请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度? 分析: 1)定义一个统计变量count,默认值0开始 2)8848m ,它是最终厚度 ,有一张足够大的纸张,厚度为:0.01m。,初始厚度 3)只要初始厚度小于最终厚度,就折叠 折叠一次,变成之前的2倍 4)输出count的值 */ public class WhileTest2 { public static void main(String[] args) { //定义统计变量,记录折叠的次数 int count = 0 ; //8848m ,它是最终厚度 ,有一张足够大的纸张,厚度为:0.01m。,初始厚度 //start = 1 end=884800 int start = 1 ; int end = 884800 ; //使用while循环 while(start<=end) { //只要小于最终厚度,统计++ count ++ ; //只要初始厚度小于最终厚度,就折叠 //折叠一次,变成之前的2倍 start *= 2 ; System.out.println("第"+count+"次的厚度是:"+start); } System.out.println("最终折叠了"+count+"次"); } }循环语句之do-while循环语句:
格式: 基本格式: do{ 循环体语句 }whiel(判断条件语句) ; 扩展格式: 初始化语句; do{ 循环体语句; 控制体语句;(步长语句) }while(条件判断语句) ;do-while与for、while最大的区别: do-while的循环体语句至少执行一次;
举例: package org.westos.d_dowhile; public class DoWhileDemo2 { public static void main(String[] args) { for(int i = 1 ; i <=5 ; i ++) { System.out.println("我们爱Java..."); } System.out.println("--------------------"); int j = 1 ; do { System.out.println("我们爱Java...."); //循环体语句至少执行一次 j++ ; }while(j<=5) ; } }
循环语句之for-for循环语句:
格式: for循环嵌套: for(){ for(){ //循环体; } }
举例: package org.westos.e_forfor; /** * 需求:请输出下列的形状 * ** *** **** ***** */ public class ForForDemo2 { public static void main(String[] args) { //先输出 5行5列的* for(int x = 0 ; x <5 ; x ++) {//行 for(int y = 0 ; y < 5 ; y++) {//列 System.out.print("*"); } System.out.println(); } System.out.println("-------------------------"); //5行5列可以实现,现在需求,列数在发生变化 //第一行 1列 y = 0 ; y<=0 ;y++ //第二行 2列 y = 0 ; y <=1 ; y++ //第三行 3列 y = 0 ; y <=2 ; y ++ //第四行 4列 y = 0 ; y <= 3 ; y ++ //第五行 5列 y = 0 ; y <=4 ; y ++ //看规律:列数的变量刚好能去到 x的值=0,1,2,3,4 for(int x = 0 ; x < 5 ; x ++) {//行 for(int y = 0 ;y<=x ; y++) {//列 System.out.print("*"); } System.out.println(); } } }//输出结果: ***** ***** ***** ***** ***** ------------------------- * ** *** **** *****
跳转控制语句:
1>break可以单独使用吗? break:不能单独使用,一般在switch语句,或者循环语句中使用;continue:继续的意思,跳出当前循环,直接进入一次循环; continue:单独是不能使用的,在循环语句中使用多;break:表示中断,结束的意思,结束语句; return: retrun:方法的返回值 ,会带回一个结果;
举例: 笔试题: for(int x=1; x<=10; x++) { if(x%3==0) { //在此处填写代码 } System.out.println(“Java基础班”); } 我想在控制台输出2次:“Java基础班“ break; 我想在控制台输出7次:“Java基础班“ continue; 我想在控制台输出13次:“Java基础班“ System.out.println(“Java基础班”);
转载地址:http://lazad.baihongyu.com/