• Educoder


    第一关:算数运算符

    1、编程要求:

      在start-end区域定义两个变量ab,然后使用上一章节学到的扫描仪(Scanner)获取程序输入的数据并赋值给ab变量,使程序能输出如下效果:

    2、测试效果:

      我会对你编写的代码进行若干次测试:

      第一次测试会输入数据:10,4; 需要你的程序输出: 两数相加的结果为:14 两数相减的结果为:6 两数相乘的结果为:40 两数相除的结果为:2 两数取余数的结果为:2

      第二次测试会输入数据:35; 需要你的程序输出: 两数相加的结果为:8 两数相减的结果为:-2 两数相乘的结果为:15 两数相除的结果为:0 两数取余数的结果为:3

    3、程序实现:

    package step1;
    import java.util.Scanner;
    
    public class Cal {
        public static void main(String[] args) {
            /*********start*********/
            Scanner sc= new Scanner(System.in);
            int a,b;
            System.out.print("请输入第一个整数
    ");
            a=sc.nextInt();
            System.out.print("请输入第二个整数
    ");
            b=sc.nextInt();
            System.out.println("两数相加的结果为:"+(a+b));
            System.out.println("两数相减的结果为:"+(a-b));
            System.out.println("两数相乘的结果为:"+(a*b));
            System.out.println("两数相除的结果为:"+(a/b));
            System.out.println("两数取余数的结果为:"+(a%b));
            sc.close();
            
            
            /*********end*********/
        }
    
    }

     4、题目总结:

     (1)注意自增自减运算符的位置,在变量前表示先执行自增或者自减操作,后将自增自减之后的值赋给左边的新变量。在变量后则反之。

    第二关:关系运算符

    1、编程要求:

      使用本关所学的关系运算符,在start-end区域实现程序的输出,预期的输出请查看测试说明。

    2、测试效果:

      我会对你编写的代码进行若干次测试:

      第一次测试会输入数据:20,34; 需要你的程序输出: a==b=false a!=b=true a>b=false a<b=true b>=a=true b<=a=false

      第二次测试会输入数据:-8,-18; 需要你的程序输出: a==b=false a!=b=true a>b=true a<b=false b>=a=false b<=a=true

     

    3、程序实现:

    package step2;
    import java.util.Scanner;
    
    public class Relative {
        public static void main(String[] args) {
            Scanner sc=new Scanner(System.in);
            
          
            /*********start*********/        
            int a=sc.nextInt();
            int b=sc.nextInt();
            System.out.println("a==b="+(a==b));
            System.out.println("a!=b="+(a!=b));
            System.out.println("a>b="+(a>b));
            System.out.println("a<b="+(a<b));
            System.out.println("b>=a="+(b>a));
            System.out.println("b<=a="+(b<a));
            /*********end*********/
        }
    
    }

    4、题目总结:

     (1)记忆小技巧:无论是大于等于还是小于等于,等号总在大于号或者小于号的右边。

     (2)关系运算符得到的都是布尔值。

    第三关:逻辑运算符

    1、编程要求:

      目前程序的输出不符合预期,使用本小节所学知识,在start-end区域中修改代码,实现程序预期的输出,预期输出请查看测试说明。

    2、测试效果:

      按照相关要求编写程序后,我会对你的程序进行测试。

      预期输入:truefalsetrue; 预期输出: false false true true

      预期输入:true,false,false; 预期输出: false false false true

    3、程序实现:

    package step3;
    import java.util.Scanner;
    
    
    
    public class testLogic {
        public static void main(String[] args) {
            
            Scanner sc=new Scanner(System.in);
              boolean a=sc.nextBoolean();
            boolean b=sc.nextBoolean();
            boolean c=sc.nextBoolean();
            
            /*********start  *********/
            
            System.out.println(!a);    
            
            System.out.println(a && b);  
            
            System.out.println( c || b );    
            
            System.out.println( a^b  );        
            /*********end  *********/
        }
    
    }

    4、题目总结

     (1)& 和 &&区别:

         & :无论左边结果是什么,右边都参与运算。

                 &&(短路):如果左边为false,那么右边不参数与运算。

        (2)| 和|| 区别:

         |:两边都运算。

                 ||(短路):如果左边为true,那么右边不参与运算。

     (3)逻辑运算符操作的都是boolean类型变量。

    第四关:三元运算符

    1、编程要求:

      在start-end区域中补充代码,使用三元运算符判断输入的year变量是否为闰年,为了完成判断是否为闰年,你需要首先了解闰年的判断公式是什么,在这里给出闰年的判断公式如下:

      1.年份能被400整除。

      2.年份能被4整除,但不能被100整除。 所以,在这里你还需要注意逻辑关系运算符的运用。

    2、测试效果:

      测试输入:2012 预期输出:2012是否为闰年:true

      测试输入:2013 预期输出:2013是否为闰年:false

    3、程序实现:

    package step4;
    
    import java.util.Scanner;
    
    public class TestYear {
        public static void main(String[] args) {
            Scanner sc=new Scanner(System.in);
            int year=sc.nextInt();
            boolean result;
            /********start********/
            
            result=((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) ? true : false;
            
            System.out.println(year + "年是否为闰年:" + result);
            
            /********end********/
        }
    
    }

    4、题目总结:

     (1)注意三元运算符的运用格式:条件表达式 ? 条件为真返回的结果 : 条件为假返回的结果

     (2)三元运算符有时可以代替if-else语句使用(三元运算符一定会有返回值,三元运算符的运算性能高于if-else语句,有些特定情况下只能使用三元运算符)

    第五关:运算符的优先级

    1、编程要求:

      现在运行start-end区域中的代码,输出结果和效果图是不一致的,需要你修改Begin-End区域内代码,使你的程序输出如下效果:

    2、测试效果:

      我会对你的程序进行若干次测试;

      第一次输入:102 预期输出: 24 2 28

      第二次输入:53 预期输出: 16 2 17

    3、程序实现:

    package step5;
    import java.util.Scanner;
    
    public class TestDemo5 {
        public static void main(String[] args) {
                Scanner sc=new Scanner(System.in);
            System.out.println("输入:");
            int m=sc.nextInt();
            int n=sc.nextInt();
            
            System.out.println("输出:");
            
            /*****start*****/
            
            System.out.println( (m+n)*2 );
            
            System.out.println( (m-n)%3 );
            
            System.out.println((m-n)/2 + (m+n)*2);
            
            /*****end*****/
        }
    
    }

    4、题目总结:

     (1)

        

     (2)注意灵活运用括号,毕竟括号内的运算都是优先执行。

    第六关:选择自测题

     1、选择题答案:D  B  A  C  C  A  A  

     

  • 相关阅读:
    MFC
    AC自动机
    KMP
    Power Transmission (Hard Edition)
    Floyd
    地杰斯特算法
    二叉树
    51nod 1002 数塔取数问题【dp】
    51nod1049 最大子段和【动态规划】
    poj2385
  • 原文地址:https://www.cnblogs.com/MurasameLory-chenyulong/p/13021584.html
Copyright © 2020-2023  润新知