第四章总结

4.1复合语句

复合语句是以整个块区为单位的语句,所以又称块语句,能够用在任何一个单独语句可以用到的地方,并且在复合语句中还可以嵌套复合语句。复合语句有大括号“{”开始,”}”结束。复合语句中的每个语句都是从上到下被执行的。


public class Compound {
     
    public static void main(String[] args) {
        int a = 21;
        { //复合语句1 start
            int b = 3;
            System.out.println("b= "+b); //3
            { //复合语句2 start
                int c = 5;
                System.out.println("c>b: " + (c>b)); //true
                System.out.println("a= "+a); //21
                System.out.println("b= "+b); //3
            } //复合语句2 end
            System.out.println("c= "+c); //编译错误
            System.out.println("b= "+b); //3
        } //复合语句1 end
        System.out.println("b= "+b);//编译错误
        System.out.println("a= "+a); //21
    }
 

4.2条件语句

4.2.1if条件语句

1.简单if语句

if语句是Java语言的一个重要语句,用于告诉程序在条件成立的情况下执行某一段语句,否则执行另一段语句。

语句运行流程图

代码示例


package 课本;
 
public class 例p58 {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int phoneNumber = 123456789;                    //创建变量,保存电话号码
        if(phoneNumber != 84972266) {                    //如果此电话号码不是84972266
            System.out.println("对不起,您拨打的号码不存在!"); //提示号码不存在
        }
    }
}

效果

  1. if...else语句

if...else 语句是条件语句中最常用的一种形式,它会针对某种条件有选择地做出处理。“如果满足某种条件,就进行某种处理,否则就进行另另一种处理。

流程图

package 课件;

public class ye58 {

    public static void main(String[] args) {

        // TODO Auto-generated method stub
        int password = 987654321;                    //密码值
        if(123456789 == password) {                    //如果密码是123456789
            System.out.println("密码正确,欢迎登录");    //密码正确的提示
        }else {                                        //否则
            System.out.println("密码错误,拒绝登录");    //密码错误的提示
        }
    }
}

  1. if....else..if语句

if...else..if 语句是条件语句中最常用的一种形式,它会针对某种条件有选择地做出处理。通常表现为“如果满足某种条件,就进行某种处理,否则就进行另一种处理

示例代码如下

package 课本;
public class 例p60 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("欢迎光临,请问有多少人就餐?");             //输出问题提示
        int count = 9;                                         //用餐人数
        System.out.println("回答: " + count + "人");             //输出回答
        if(count <= 4) {                                     //如果人数小于4人
            System.out.println("客人请到大厅4人桌用餐");          //请到4人桌
        }else if(count > 4 && count <= 8) {                     //如果人数在4~8人
            System.out.println("客人请到大厅8人桌用餐");          //请到8人桌
        }else if(count > 8 && count <= 16) {                 //如果人数在8~16人
            System.out.println("客人请到楼上包间用餐");              //请到包厢
        }else {                                        //当以上条件都不成立时,执行该语句快
            System.out.println("抱歉,我们店暂时没有这么大的包厢! "); //输出信息
        }
    }
}

4.2.2 switch语句

switch语句可以实现根据某一变量选则执行代码块。当然直接使用If语句也可以做到,但是有时候使用switch语句往往更加简洁优美。

示例代码

package 课件;

import java.util.Scanner;

public class ye58 {

    public static void main(String[] args) {

        // TODO Auto-generated method stub
         Scanner sc = new Scanner(System.in);//创建扫描器,接收控制台输入的内容
         System.out.print("请输入成绩:");//输出字符串
         int grade = sc.nextInt();//获取控制台输入的数字
         switch (grade) {//使用switch判断数字
         case 10://如果等于10,则继续执行下一行代码
         case 9://如果等于9
         System.out.println("成绩为优");//输出“成绩为优”
         break;//结束判断
         case 8://如果等于8
         System.out.println("成绩为良");//输出“成绩为良”
         break;//结束判断
         case 7://如果等于7
         case 6://如果等于6
         System.out.println("成绩为中");//输出“成绩为中”
         break;//结束判断
         case 5://如果等于5,则继续执行下一行代码
         case 4://如果等于4,则继续执行下一行代码
         case 3://如果等于3,则继续执行下一行代码
         case 2://如果等于2,则继续执行下一行代码
         case 1://如果等于1,则继续执行下一行代码
         case 0://如果等于0,则继续执行下一行代码
          System.out.println("成绩为差");//输出“成绩为差”
          break;//结束判断
         default://如果不符合以上任何一个结果
          System.out.println("成绩无效");//输出成绩无效
         
          }
        sc.close();
         }
}

4.3循环语句

4.3.1while循环

while 语句也称条件判断语句,它的循环方式为利用一个条件来控制是否要继续反复执行这个语句

package 课件;

import java.util.Scanner;

public class ye58 {

    public static void main(String[] args) {

        // TODO Auto-generated method stub
        int x = 1;                                        //从一开始
        int sum = 0;                                    //相加的结果
        while(x <= 1000) {                                //循环1000次
            sum = sum + x;                                //sum与之前计算的和相加
            x++;                                        //每次循环后的x的值+1
        }
        System.out.println("sum = " + sum);                //输出最终相加的结果
    }
}

4.3.2.do....while循环

do...while循环语句与while循环语句类似,do...while循环为先执行一次循环后在判断是否成立在执行循环体

package 课件;

import java.util.Scanner;

public class ye58 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);            //创建扫描器,获取控制台输入的值
        int password;                                    //保存用户输入的密码
        do {                        
            System.out.println("请输入6位数字密码:");        //输出提示
            password = sc.nextInt();                    //将用户在控制台输入的密码记录下来
        }while(931567 != password);                        //如果用户在控制台输入的密码不是931567则继续执行循环
        System.out.println("登录成功");                    //提示循环结束
        sc.close();                                        //关闭扫描器
    }
}

4.3.3for循环

首先执行1次初始值代码,在判断循环条件是否成立,如果循环条件为true,则执行{}里的循环操作代码,执行循环操作后,进行迭代,迭代完再进行循环条件判断,根据循环条件的结果决定是否继续执行循环操作,如果循环条件为false,则结束整个for循环结构,继续往下执行for循环结构之后的代码

package 课件;

import java.util.Scanner;

public class ye58 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int arr[] = {5,13,96};                                        //一堆整型数值
        System.out.println("一堆数组中的元素分别为: ");
        //x的类型与arr元素的类型相同.for循环依次取出arr中的值并赋值给x
        for(int x : arr) {
            System.out.println(x);                                    //输出遍历出的元素值
        }
    }
}


2.foreach语句

foreach:它是for语句的特殊简化版本,

不能完全取代for语句,但任何foreach都可以改

写为for语句版本

4.4循环控制

4.4.1break语句

使用break可以跳出switch结构,也可以跳出当前循环。

package 课件;

import java.util.Scanner;

public class ye58 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        for(int i = 1;i < 20;i++) {
            if(i % 2 == 0) {                        //如果i是偶数
                System.out.println(i);                //输出i的值
                break;                                //结束循环
            }
        }
        System.out.println("---end---");            //结束时输出一行文字
    }
}


4.4.2continue语句

continue不是跳出循环而是跳过循环,回到条件测试部分,重新循环

package 课件;

import java.util.Scanner;

public class ye58 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        for(int i = 1;i < 20;i++) {
            if(i % 2 == 0) {                        //如果i是偶数
                System.out.println(i);                //输出i的值
                continue;                                //结束循环
            }
        }
        System.out.println("---end---");            //结束时输出一行文字
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值