if.switch结构和for.while.do while循环的学习

学习目标:

一:if结构的使用

二:switch结构

三:for循环(九九乘法表)

四:while循环

五:do while循环

一: if结构的使用

1.if

if(条件表达式){

            表达式结果为true,执行此处代码

      }

2.if-else

if(条件表达式){

         表达式结果为true,执行此处代码

      }else{

         表达式结果为false,执行此处代码

      }

3. if-else-if

 if (条件表达式){     

     }else if(条件表达式){      

     }else if(条件表达式){

     }…

     else{

          // 以上表达式结果均为false,执行此处,此分支可选

     }

     注意:这个结构中只执行第一次表达式结果为true的那个分支,如果所有分支的表达式为false,则执行最后面的else分支,else分支可选。

package org.westos.ifdemo;

import java.util.Scanner;

public class IfDemo {

	public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);   // 用此“扫描器”接收键盘输入
        System.out.print("请输入考试成绩:");
        int score=scan.nextInt();   // 接收键盘输入的整数类型,输入完成之前一直阻塞
        if(score>=60){
        	System.out.println("恭喜,及格了!");
        }else{
        	System.out.println("这次没及格,准备补考吧~~~"); 
        }
        scan.close();
	}
}

运行结果:

package org.westos.ifdemo;

import java.util.Scanner;

public class MultiIf {
    public static void main(String[] args) {
		Scanner scan=new Scanner(System.in);  // 用此“扫描器”接收键盘输入
		System.out.print("请输入考试成绩:");
        int score=scan.nextInt();   // 接收键盘输入的整数类型,输入完成之前一直阻塞
        if(score>=90){
        	System.out.println("优秀!");
        }else if(score>=80){
        	System.out.println("良好");
        }else if(score>=70){
        	System.out.println("一般");
        }else if(score>=60){
        	System.out.println("及格");
        }else{
        	System.out.println("不及格,等着补考吧~~~");
        }
        scan.close();
        
	}
}

运行结果:


二:switch结构

switch(表达式){

       case 常量1:

            代码1;

            break;

        case  常量2:

             代码2;

             break;

         …

         default:

              代码..;

               break;

  }

switch语句有关规则:

表达式的返回值必须是下述几种类型之一:

int, byte, char, short,String,enum;

case子句中的取值必须是常量,且所有case子句中的取值应是不同的;

default子句是可选的;(default后面是冒号)

break语句用来在执行完一个case分支后使程序跳出switch语句块;

package org.westos.switchdemo;

import java.util.Scanner;
/*
 *  switch表达式的返回值必须是下述几种类型之一:
	byte, short,int, char,String,enum
 * */
public class SwitchDemo {

	public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        System.out.print("请输入季节:");
        String season=scan.next();
        switch(season){
	        case "春天":
	        	System.out.println("春暖花开");
	        	break;
	        case "夏天":
	        	System.out.println("夏日炎炎");
	        	break;
	        case "秋天":
	        	System.out.println("秋风瑟瑟");
	        	break;
	        case "冬天":
	        	System.out.println("白雪皑皑");
	        	break;
        	default:
        		System.out.println("您输入的季节有误!");
        }
        scan.close();   // 关闭
	}
}

三:for循环

注意:在循环结构中,可以使用break关键字跳出整个循环;使用continue关键字跳出当前循环。

package org.forloop;

public class ForBreak {

	public static void main(String[] args) {
		for (int i = 0;i<10; i++) {
			if(i==5){
				break;  // 跳出for循环
			}
			System.out.println("好好学习"+i);
		}
	}

}

package org.forloop;

public class ForContinue {

	public static void main(String[] args) {
		for (int i = 0;i<10; i++) {
			if(i==5){
				continue;  // 跳出当前循环,继续下一次循环
			}
			System.out.println("好好学习"+i);
		}
	}

}

package org.forloop;
/*
 * 实现1-100能被3整除不能被5整除的数的和
 * */
public class DivideFor {

	public static void main(String[] args) {
		int sum=0;
		for(int i=1;i<=100;i++){
			if(i%3==0 && i%5!=0){
				sum+=i;   // 相当于sum=sum+i
			}
		}
		System.out.println("结果是:"+sum);
	}

}

package org.forloop;

public class EvenSum {

	public static void main(String[] args) {
		int sum=0;
		for (int i = 1; i <=100; i++) {
			if(i%2==0){
				sum+=i;    // 相当于sum=sum+i
			}
		}
        System.out.println("1~100的偶数和是:"+sum);
	}

}

实现九九乘法表:

package org.forloop;

public class JiuJiu {

	public static void main(String[] args) {
		for(int i=1;i<=9;i++){   // 外层循环控制“行”,i相当于“行号”
			for(int j=1;j<=i;j++){  // 内层循环控制当前行的“算式”,j相当于“列号”
				System.out.print(i+"*"+j+"="+(i*j)+"\t");
			}
			System.out.print("\n");   // 每一行结束后,要换行
		}
	}
}

用*组成一个三角形:

package org.forloop;

import java.util.Scanner;
/*
 * 打印等腰三角形
 * 规律:
       当前行的空格数:总行数-当前行号
      当前行的星星数:2*当前行号-1
 * */
public class Triangle {

	public static void main(String[] args) {
		Scanner scan=new Scanner(System.in);
		System.out.print("请输入等腰三角形的总行数:");
		int totalNumber=scan.nextInt();
		for(int i=1;i<=totalNumber;i++){    // i充当了“行号”
			for(int j=1;j<=totalNumber-i;j++){   // 打印“空格”
				System.out.print(" ");
			}
			for(int star=1;star<=2*i-1;star++){    // 打印“星星”
				System.out.print("*");
			}
			System.out.print("\n");   // 当前行结束后,换行
		}
		scan.close();
	}
}

四:while循环

语法格式

while( 条件表达式语句){

    循环体语句;

}

注意:先判断条件,再决定是否循环

例:计算1到100的和

package org.whiledemo;

public class WhileDemo {

	public static void main(String[] args) {
		int sum=0;
		int i=100;
		while(i>=1){
			sum+=i;
			i--;
		}
		System.out.println(sum);
	}
}

package org.whiledemo;

import java.util.Scanner;

public class WhileExam {
	public static void main(String[] args) {
       Scanner scan=new Scanner(System.in);
       int count=0;   // 用来记录考试次数
       System.out.print("请输入当前成绩:");
       int score=scan.nextInt();
       while(score<60){
    	   count++;
    	   System.out.println("当前不及格,第"+count+"次补考~~~");
    	   System.out.println("******补考中*******");
    	   System.out.print("输入补考后的成绩:");
    	   score=scan.nextInt();
       }
       System.out.println("恭喜,考过了!");
       scan.close();
	}
}

五.do while循环

语法格式

do{

    循环体语句;

}while(条件表达式); 

注意:至少执行一次循环体,再判断条件,如果条件判断的结果为true,则再次循环,否则,停止循环。

package org.whiledemo;

import java.util.Scanner;

public class DoWhile {

	public static void main(String[] args) {
		 Scanner scan=new Scanner(System.in);
		 int score=0;
		 do {
			System.out.print("请输入考试成绩:");
			score=scan.nextInt();
		 } while (score<60);
		 System.out.println("恭喜,考试通过!");
		 scan.close();
	}
}


六.随机种子demo

package org.whiledemo;

import java.util.Random;

public class RandomDemo {

	public static void main(String[] args) {
		Random r=new Random();    // 生成一个“随机种子”对象
		int num=r.nextInt(16)+3;   // 模拟扔3个骰子
        System.out.println("生成的随机骰子数是:"+num);
	}
}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值