javase基础3

1.选择流程控制语句

  顺序结构:是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的

2.if语句

if语句第一种格式:

if(关系表达式) {

                   语句体

       }

执行流程:

首先判断关系表达式看其结果是true还是false

如果是true就执行语句体

如果是false就不执行语句体

if语句第二种格式:

if(关系表达式) {

                   语句体1;

       }else {

                   语句体2;

       }

执行流程

首先判断关系表达式看其结果是true还是false

如果是true就执行语句体1

如果是false就执行语句体2

if语句第三种格式:

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

3.if语句获取两个数的最大值

  

Scanner sc = new Scanner(System.in);
        
        //接收数据
        System.out.println("请输入第一个数据:");
        int a = sc.nextInt();
        
        System.out.println("请输入第二个数据:");
        int b = sc.nextInt();
        
        //拿到较大的值之后,我未必想直接输出,所以我们定义变量接收这个较大的值
        int max;
        if(a>b){
            max = a;
        }else {
            max = b;
        }
        //可能做其他的操作
        //max += 100;
        System.out.println("较大的值是:"+max);

4.判断学生等级

//创建对象
        Scanner sc = new Scanner(System.in);
        
        //接收数据
        System.out.println("请输入学生的考试成绩:");
        int score = sc.nextInt();
        
        //if语句格式3
        
        //我们发现程序不够健壮,加入错误数据的判断
        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("你的成绩属于不及格");
        }

5.switch语句

  

表达式的取值:byte,short,int,char

JDK5以后可以是枚举

JDK7以后可以是String

case后面跟的是要和表达式进行比较的值

语句体部分可以是一条或多条语句

break表示中断,结束的意思,可以结束switch语句

default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。

执行流程

  

首先计算出表达式的值

其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。

最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。

//创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        
        //接收数据
        System.out.println("请输入一个数字(1-7):");
        int weekday = sc.nextInt();
        
        //switch语句实现选择
        switch(weekday) {
        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;
        }

6.循环流程控制语句

  for循环

  

for(初始化语句;判断条件语句;控制条件语句) {

         循环体语句;

    }

执行流程

  

A:执行初始化语句

B:执行判断条件语句,看其结果是true还是false

如果是false,循环结束。

如果是true,继续执行。

C:执行循环体语句

D:执行控制条件语句

E:回到B继续

//原始写法
        System.out.println("HelloWorld");
        System.out.println("HelloWorld");
        System.out.println("HelloWorld");
        System.out.println("HelloWorld");
        System.out.println("HelloWorld");
        System.out.println("HelloWorld");
        System.out.println("HelloWorld");
        System.out.println("HelloWorld");
        System.out.println("HelloWorld");
        System.out.println("HelloWorld");
        System.out.println("-------------------------");
        
        //用循环改进
        for(int x=1; x<=10; x++) {
            System.out.println("HelloWorld");
        }

7.1-5求和

//定义求和变量,初始化值是0
        int sum = 0;
        
        //获取1-5之间的数据,用for循环实现
        for(int x=1; x<=5; x++) {
            //把每一次获取到的数据,累加起来就可以了
            //sum = sum + x;
            /*
             * 第一次:sum = 0 + 1 = 1
             * 第二次:sum = 1 + 2 = 3
             * 第三次:sum = 3 + 3 = 6
             * 第四次:sum = 6 + 4 = 10
             * 第五次:sum = 10 + 5 = 15
             */
            sum += x;
        }
        
        //输出求和结果
        System.out.println("sum:"+sum);

8.1-100之间的偶数和

     //定义求和变量,初始化值是0
        int sum = 0;
        
        //获取1-100之间的数据,用for循环实现
        for(int x=1; x<=100; x++) {
            //把获取到的数据进行判断,看是否是偶数
            if(x%2 ==0) {
                sum += x;
            }
        }
        
        //输出求和结果
        System.out.println("sum:"+sum);

9.水仙花数

什么是水仙花数呢?
 *             所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
 *            举例:153就是一个水仙花数。
 *            153 = 1*1*1 + 5*5*5 + 3*3*3
 *
 *        A:三位数其实就告诉了我们水仙花数的范围
 *            100-999
 *        B:如何获取一个数据的每一个位上的数呢?
 *            举例:我有一个数据153,请问如何获取到个位,十位,百位
 *            个位:153%10 = 3;
 *            十位:153/10%10 = 5;
 *            百位:153/10/10%10 = 1;
 *            千位:...
 *            万位:...
 *        C:让每个位上的立方和相加,并和该数据进行比较,如果相等,就说明该数据是水仙花数





//通过循环获取到每一个三位数
        for(int x=100; x<1000; x++) {
            //获取个位,十位,百位
            int ge = x%10;
            int shi = x/10%10;
            int bai = x/10/10%10;
            
            //让每个位上的立方和相加,并和该数据进行比较,如果相等,就说明该数据是水仙花数,在控制台输出
            if((ge*ge*ge+shi*shi*shi+bai*bai*bai) == x) {
                System.out.println(x);
            }
        }

10.while循环

  

基本格式

   while(判断条件语句) {

         循环体语句;

   }

扩展格式

   初始化语句;

   while(判断条件语句) {

         循环体语句;

         控制条件语句;

}

//输出10次HelloWorld

int x=1;
        while(x<=10) {
            System.out.println("HellloWorld");
            x++;
        }

11.while实现1-100求和

  

//定义求和变量
        int sum = 0;
        int x = 1;
        while(x<=100) {
            sum += x;
            x++;
        }
        System.out.println("1-100的和是:"+sum);

12.do...while

基本格式

   do {

         循环体语句;

   }while((判断条件语句);

扩展格式

   初始化语句;

   do {

         循环体语句;

         控制条件语句;

} while((判断条件语句);

 

  

//输出10次 HelloWorld

int x=1;
        do {
            System.out.println("HelloWorld");
            x++;
        }while(x<=10);

13.三种循环的区别

  虽然可以完成同样的功能,但是还是有区别

do...while循环至少会执行一次循环体

for循环和while循环只有在条件成立的时候才会去执行循环体

14.控制跳转语句

  

break的使用场景:

break:

在选择结构switch语句中

在循环语句中

离开使用场景的存在是没有意义的

break的作用:

跳出单层循环

continue:

在循环语句中

离开使用场景的存在是没有意义的

continue的作用:

单层循环对比break,然后总结两个的区别

break  退出当前循环

continue  退出本次循环

 

posted @ 2017-05-25 23:57  司机刹一脚  阅读(242)  评论(0编辑  收藏  举报