Java基础下

Java基础下

选择语句

1.if语句

if语句格式1:
if(关系表达式) {
  语句体;
}

执行流程:
  A:计算关系表达式,看其结果
  B:如果是true,就执行语句体
   如果是false,就不执行语句体
  C:继续向下执行

class IfDemo {
    public static void main(String[] args) {
        int x = 3;

        if(x == 3) {
            System.out.println("x等于3");
            //x = 10;
        }

        if(x > 5) {
            System.out.println("x大于5");    
        }

        System.out.println("over");
    }
}
View Code

if语句格式2:
if(关系表达式) {
  语句体1;
}else {
  语句体2;
}

执行流程:
  A:计算关系表达式的值。
  B:如果是true,就执行语句体1
    如果是false,就执行语句体2
  C:继续向下执行

class IfDemo3 {
    public static void main(String[] args) {
        int x = 3;

        if(x == 3) {
            System.out.println("x等于3");
        }else {
            System.out.println("x不等于3");
        }

        if(x > 5) {
            System.out.println("x大于3");
        }else {
            System.out.println("x不大于5");
        }
    }
}
View Code

if语句格式3:
if(关系表达式1) {
  语句体1;
}else if (关系表达式2) {
  语句体2;
}

else {
  语句体n+1;
}

执行流程:
  首先判断关系表达式1看其结果是true还是false
  如果是true就执行语句体1
  如果是false就继续判断关系表达式2看其结果是true还是false
  如果是true就执行语句体2
  如果是false就继续判断关系表达式…看其结果是true还是false
  …
  如果没有任何关系表达式为true,就执行语句体n+1。

import java.util.Scanner;

class IfDemo5 {
    public static void main(String[] args) {
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);

        //键盘录入学生成绩
        System.out.println("请输入成绩:");
        int score = sc.nextInt();

        //校验数据的时候,一定要注意:
        //正确数据
        //错误数据
        //边界数据

        /*
        if(score>=90 && score<=100) {
            System.out.println("优秀");
        }else if(score>=80 && score<90) {
            System.out.println("好");
        }else if(score>=70 && score<80) {
            System.out.println("良");
        }else if(score>=60 && score<70) {
            System.out.println("及格");
        }else {
            System.out.println("不及格");
        }
        */

        //这个时候,虽然可以满足要求了。但是没有考虑到错误数据的情况。
        //所以,我们需要加一个判断
        /*
        if(score>=90 && score<=100) {
            System.out.println("优秀");
        }else if(score>=80 && score<90) {
            System.out.println("好");
        }else if(score>=70 && score<80) {
            System.out.println("良");
        }else if(score>=60 && score<70) {
            System.out.println("及格");
        }else if(score>=0 && score<60) {
            System.out.println("不及格");
        }else {
            System.out.println("输入的成绩有误");
        }
        */

        //我们也可以先判断成绩是否有误
        if(score<0 || score>100) {
            System.out.println("输入的成绩有误");
        }else if(score>=90 && score<=100) {
            System.out.println("优秀");
        }else if(score>=80 && score<90) {
            System.out.println("好");
        }else if(score>=70 && score<80) {
            System.out.println("良");
        }else if(score>=60 && score<70) {
            System.out.println("及格");
        }else {
            System.out.println("不及格");
        }
    }
} 
View Code

 

 

 

 

2.switch语句

 

switch语句格式:
switch(表达式) {
  case 值1:
  语句体1;
  break;
case 值2:
  语句体2;
  break;

default:
  语句体n+1;
  break;
}

 

格式解释:
  A:switch表示这是switch语句
  B:表达式的取值
    byte,short,int,char
    JDK5以后可以是枚举类型。(enum)
    JDK7以后可以是字符串。(String)
  C:case后面跟的是要和表达式进行比较的值
  D:语句体可以是多条语句
  E:break表示中断,结束的意思,可以结束switch语句
  F:default语句表示所有情况都不匹配的时候,就执行该处的内容

import java.util.Scanner;

class SwitchDemo {
    public static void main(String[] args) {
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);

        //键盘录入数据
        System.out.println("请输入一个数据(1-7):");
        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;
        }
    }
}
View Code

注意事项
A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
B:default可以省略吗
  可以省略。一般不建议。除非判断的值是固定的。
C:break可以省略吗
  可以。最后一个肯定是没有任何问题的。
  中间的省略也是可以的,但是不建议,因为可能对我们想要的结果产生影响。
D:default的位置一定要在最后吗
  不一定,可以在任何和case相对应的位置。
  但是,这个时候,最好加上break。
E:switch语句的结束条件
  a:遇到break。
  b:执行到程序的末尾

 

循环语句

 

1.for循环

for循环的格式:
for(初始化语句;判断条件语句;控制条件语句) {
  循环体语句;
}

 

执行流程:
  A:首先执行初始化语句
  B:其次执行判断条件语句,看其返回值
    如果是true,就继续
    如果是false,循环结束
  C:执行循环体语句
  D:执行控制条件语句
  E:回到B

 

 

class ForDemo2 {
    public static void main(String[] args) {
        //在控制台输出10次HelloWorld
        for(int x=0; x<10; x++) {
            System.out.println("HelloWorld");
        }    
        System.out.println("--------------");
        
        //初始化不从0开始
        for(int x=1; x<=10; x++) {
            System.out.println("HelloWorld");
        }    

        for(int x=1; x<11; x++) {
            System.out.println("HelloWorld");
        }

        for(int x=10; x>0; x--) {
            System.out.println("HelloWorld");
        }
    }
} 
View Code

 

 

2.while循环

while循环的格式:
while(条件表达式) {
  语句体;
}

变形格式:
初始化语句;
while(判断条件语句) {
  循环体语句;
  控制条件语句;
}

for(初始化语句;判断条件语句;控制条件语句) {
  循环体语句;
}
由此可见while循环和for循环是可以等价转换的。

 

 

for和while的区别:
使用区别:控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,
  而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。
  原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。
场景区别:
  for循环适合针对一个范围判断进行操作
  while循环适合判断次数不明确操作

class WhileDemo2 {
    public static void main(String[] args) {
        int x = 0;
        while(x<10) {
            System.out.println(x);
            x++;
        }
        System.out.println(x+"---");
        System.out.println("-----------");

        for(int y=0; y<10; y++) {
            System.out.println(y);
        }
        //System.out.println(y+"---");
    }
} 
View Code

 

posted @ 2019-05-19 19:17 半包辣条 阅读( ...) 评论( ...) 编辑 收藏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值