• 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  退出本次循环

  • 相关阅读:
    windows 临界区 InitializeCriticalSectionAndSpinCount以及InitializeCriticalSection的区别
    SRWLock 轻量级的读写锁
    QT 遍历获取Form上的控件
    mssql 查询作业执行情况,耗时 等
    C++ builder FMX 遍历窗口所有控件 并 动态消失
    delphi fmx 控件从天上掉下来
    Vue2入门必知必会
    人人开源&项目脚手架&微服务整合
    Spring Security应用到源码分析
    K8S系统学习笔记总览
  • 原文地址:https://www.cnblogs.com/learnjfm/p/6906556.html
Copyright © 2020-2023  润新知