运算符:进行特定操作的符号

表达式:用运算符连接起来的式子叫表达式

四则运算(算数运算符)

  • 加:+
  • 减:-
  • 乘:*
  • 除:/
  • 取模(取余数):%(只有对于整数来说才有,取模运算符才有取余的意义

注意事项

    1. 运算当中有不同的数据类型时,结果将是数据类型范围大的那个

四则运算中的“+”加号有三种常见用法

    1. 对于数值来说就是加法
    2. 对于字符char来说,先将char类型转换成int类型,再进行计算(char类型和int类型的对照表:ASCII或者Unicode)
    3. 对于字符串来说,加号表示字符串之间的拼接
    4. 任何数据类型和字符踹进行连接时,结果都会是字符串

自加运算符(++)

自减运算符(--)

  • 基本含义:让一个变量加一个数值,让一个变量减一个数值‘
  • 使用格式:写在变量名称之前或者写在变量名称之后,例如:++num,num++
  • 使用方法
  1. 单独使用:不跟其他任何操作混合
  2. 混合使用:和其他操作混合,例如:与赋值混合、与打印操作混合等
  • 使用区别
  1. 单独使用时,++num和num++是没有区别的
  2. 在混合使用时,++num,先自增再进行运算;num++,先运算再进行自增
  3. public class HelloWorld{
        public static void main (String[] args){
            int num=10;
            //单独使用
            ++num;
            System.out.println(++num);
            num++;
            System.out.println(num++);
    
            //混合使用
            int a=5;
            System.out.println(++a);//先自增再使用
            System.out.println(a);
    
            System.out.println(a++);//先使用再自增
            System.out.println(a);
    
    
            int x=10;
            int y=20;
            int z=++x+y--;
            System.out.println(z);//结果是:31
            System.out.println(x);
            System.out.println(y);
        }
    }
    D:\javatest>java HelloWorld
    12
    13
    6
    6
    6
    7
    31
    11
    19
    
    D:\javatest>
  • 注意事项:只用变量才能使用自增减运算符,常量不可以

赋值运算符

  • 基本赋值运算符
    • 等于号:=
  • 复合赋值运算符
    • 加等号:+=,例如:a+=1,即a=a+1
    • 减等号:-=
    • 乘等号:*=
    • 除等号:/=
    • 取模等:%=
  • 注意事项
    • 只有变量才能使用赋值运算符,常量不能使用
    • 复合赋值运算符中隐藏着一个强制类型转换,例:byte num=10;num+=5;

比较运算符

  • 比较运算符
    • 等于:==
    • 大于:>
    • 小于:<
    • 大于等于:>=
    • 小于等于:<=
    • 不等于:!=
  • 注意事项
    • 比较运算符的结果是boolean值,成立就是true,不成立就是false
    • 不支持连续使用多个比较运算符,如1<X<2,在代码中是不支持的

逻辑运算符

  • 逻辑运算符
    • 与(并且):&&
    • 或(或者):||
    • 非(取反):!
  • 与&&、或||具有短路效果,根据左面已经能够判断结果时,不在执行右面的代码,节约性能
    • public class HelloWorld{
          public static void main (String[] args){
              int a=10;
              System.out.println(3>4&&++a>100);//因为3>4已经能判断结果为false,所有++a并没有执行
              System.out.println(a);
          }
      }
      D:\javatest>java HelloWorld
      false
      10
      
      D:\javatest>
  • 注意事项
    • 逻辑运算符只能用于Boolean值
    • 与、或两种运算符,如果有多个条件可以连续使用,例如:条件a&&条件b&&条件c

三元运算符

一元运算符:只需要一个数据就可以进行操作的运算符,如:取反!、自增++、自减--

二元运算符:需要两个数据才能进行操作的运算符,如:加+、减-

三元运算符:需要三个数据才能进行操作的运算符

  • 格式:数据类型 变量名称=条件判断?表达式a:表达式b;
  • 流程
    • 先判断表达式是否正确
    • 如果表达式正确,将表达式a赋值给变量
    • 如果表达式不正确,将表达式b赋值给变量
    • public class HelloWorld{
          public static void main (String[] args){
              int a=10;
              int b=20;
              int c=a>b?a:b;
              System.out.println(c);
          }
      }
      D:\javatest>javac -encoding "UTF-8" HelloWorld.java
      
      D:\javatest>java HelloWorld
      20
      
      D:\javatest>
  • 注意事项
    • 必须同时保证表达式a和表达式b都符合左侧变量类型的要求
    • 三元运算符的结果必须被使用
02-14 02:56