新手小白学JAVA 初识JAVA运算符

1 运算符

1.1 概述

运算符 用于连接 表达式 的 操作数,并对操作数执行运算。
例如,表达式num1+num2,其操作数是num1和num2,运算符是”+”。
在java语言中,运算符可分为5种类型:
算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符。
根据操作数的不同,运算符又分为单目运算符、双目运算符和三目运算符。
单目运算符只有一个操作数,双目运算符有两个操作数,三目运算符则有三个操作数。
位运算符涉及到二进制位的运算,在java 程序中运用不是很多。

1.2 运算符速查表

运算符速查表

1.3 练习:测试自增自减

创建包: cn.tedu.basic
创建类: TestOperator.java

package cn.tedu.basic;
/**本类用于测试取余和自增自减运算符*/
public class TestOperator{
	//0.创建入口函数
	/**main Alt+/补全代码,Ctrl+s保存 Ctrl+F11执行*/
	public static void main(String[] args) {
		/**四则运算 + - * / */
		/**syso Alt+/补全代码*/
		//2.测试一下除法与取余数%
		System.out.println(25/10);//int/int->int,商是2
		System.out.println(25 % 10);//模,求余数
			//3.测试一下自增自减运算符
		/**前缀式,符号在前,先变换,再使用 ++a --a
		 *    后缀式,符号在后,先使用,再变化 a++ a--
		 * ++:加1  --:减1
		 * */
		 * 	int a = 1;
		System.out.println("*************");
		System.out.println(a++);//打印结果是1,打印完以后再变化,自增成2
		System.out.println(a);
		int b = 1;
		System.out.println(++b);//打印结果是2,因为符号在前,先自增
		int c = 1;
		System.out.println(c--);//打印结果是1,符号在后,先打印,再自减
		System.out.println(c);//自减过后变成了0	
		int d = 1;
		System.out.println(--d);//打印结果是0,符号再前,先自减再打印
		//因为受之前代码的影响,c的初始值是0
		System.out.println(--c-c-c--);//-1-(-1)-(-1)=-1+1+1=1
		System.out.println(c);//-2
	}
}

    
    

    1.4 练习:求两数的最大值

    创建包: cn.tedu.basic
    创建类: TestMaxNum.java

    package cn.tedu.basic;
    import java.util.Scanner;
    /**需求:接收用户输入的两个整数,并比较输出这两个数的最大值*/
    public class TestMaxNum {
    	public static void main(String[] args) {
    		//1.提示用户输入
    		System.out.println("请输入您要比较的第一个整数:");
    		//2.接收用户输入的整数,并把这个值交给变量a来保存
    		int a = new Scanner(System.in).nextInt();
    		System.out.println("请输入您要比较的第二个整数:");
    		int b = new Scanner(System.in).nextInt();
    		//3.比较接收两个数,使用三元运算符
    		/**1 ? 2 : 3
    		 * 1是表达式,若1的结果为true,结果取2位置,若1的结果为false,结果取3位置
    		 * */
    		//4.定义变量max来保存比较的最大值
    		int max = a > b ? a : b;
    		//5.打印最大值
    		System.out.println("两个数的最大值是:"+max);	
    		/**思考题:如何判断3个数的最大值? int max = a>b?(a>c?a:c):(b>c?b:c);*/
    	}
    }
    
        
        

      1.5 练习:求平年闰年

      创建包: cn.tedu.basic
      创建类: TestYear.java

      需求:接收用户输入的年份,判断是平年还是闰年
      package cn.tedu.basic;
      =import java.util.Scanner;
      /**
       * 需求:接收用户输入的年份,判断是平年还是闰年
       * 如果年份是闰年,需要满足下面两个条件之一:
       * 条件1:能被4整除,并且不能被100整除
       * 条件2:能被400整除
       * */
      public class Test3_Year {
      	public static void main(String[] args) {
      		//1.提示并接收用户输入的年份
      		System.out.println("请输入您要判断的年份:");
      		int year = new Scanner(System.in).nextInt();	
      	//2.定义一个变量用来保存结果
      		String result = "平年";//默认值是平年,假设每年都是平年	
      		//3.判断用户输入的年份是否满足闰年的条件
      		/**解决方案1*/
      		/**条件1:能被4整除,并且不能被100整除*/
      //		if(year % 4 == 0) {//能被4整除
      //			if(year %100 != 0) {//不能被100整除
      //				result = "闰年";//符合闰年的条件1,修改结果为闰年
      //			}
      //		}
      //		/**条件2:能被400整除*/
      //		if(year % 400 == 0) {//能被400整除
      //			result = "闰年";//符合闰年的条件2,修改结果为闰年
      //		}
      		/**解决方案2*/
      		/**判断结构 if(判断条件){满足判断条件以后执行的代码} */
      		//if(条件1  || 条件2){是闰年 }
      		//if((小条件1  && 小条件2) || 条件2){ 是闰年 }
      		//if((能被4整除  && 不能被100整除) || 能被400整除){ 是闰年 }
      		if((year % 4 == 0 && year %100 != 0) || year % 400 == 0){
      			result = "闰年";//符合闰年的条件,修改结果为闰年
      		}
      		System.out.println(year+"年是"+result);
      	}	
      }
      
          
          

        2 拓展补充:

        2.1 总结1:算术运算符之自增自减运算符

        a是操作数,++是自增运算符,–是自减运算符,自增和自减运算符即可以放在变量的前面,也可以放在变量的后面,例如:a++、++a、a–、--a等。
        自增(++):将变量的值加1
        分前缀式(如++a)和后缀式(如a++)。前缀式是先加1再使用;后缀式是先使用再加1。
        自减(–):将变量的值减1
        分前缀式(如–a)和后缀式(如a–)。前缀式是先减1再使用;后缀式是先使用再减1。

        2.2 总结2:逻辑运算符

        逻辑运算符连接两个关系表达式或布尔变量,用于解决多个关系表达式的组合判断问题
        注意逻辑运算符返回的运算结果为布尔类型
        通常,我们用0表示false,用1表示true
        与:表示并且的关系
        &单与: 1 & 2 ,结果想要是true,要求1和2都必须是true
        &&双与(短路与):1 && 2 ,当1是false时,2会被短路,提高程序的效率
        或:表示或者的关系
        |单或: 1 | 2,结果想要是true,要求1和2只要有一个为true就可以
        ||双或(短路或):1 || 2,当1是true时,2会被短路,提高程序效率

        2.3 总结3:优先级控制

        当一个表达式包含多个运算符时,就需要考虑运算符的优先级,优先级高的运算符先参与运算,优先级低的运算符后参与运算。在实际的开发中,不需要特别去记忆运算符的优先级别,也不要刻意的使用运算符的优先级别,对于不清楚优先级的地方使用小括号辅助进行优先级管理。

        评论
        添加红包

        请填写红包祝福语或标题

        红包个数最小为10个

        红包金额最低5元

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

        抵扣说明:

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

        余额充值