Java基础之switch语句、循环结构语句、跳转控制语句

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基础班”);





展开阅读全文

没有更多推荐了,返回首页