Java运算符
1数学运算符
 数学运算符: + - * / %
例子



1 public class Demo {
 2  public static void main(String[] args) {
 3   int x = 23;
 4   int y = 12;
 5   System.out.println(x+y);//35 加法
 6   System.out.println(x-y);//11 减法
 7   System.out.println(x*y);//276 乘法
 8   System.out.println(x/y);//1 整数的除法取整,会把小数部分丢失
 9   System.out.println(x%y);//11 计算除法的余数   商1余11
10  }
11 }



注意:n%3是周期函数,函数值是 0,1,2,0,1,2,0,1,2.........(常用)

2  自增(自减)运算符
自增自减运算符: ++  --
就是可以将当前变量自我增加(减少)1 的运算符
* i++,后++,先将i的值作为整个表达的值,然后将i增加1。
* ++i,先++,先将i增加1,然后将i的值作为整个表达的值。
例1



1 public class Demo {
 2  public static void main(String[] args) {
 3   int a = 1;
 4   int b = 1;
 5   b = a++ ;
 6   System.out.println("a:"+a+",b:"+b);
 7   //1 取出a的值 1 作为a++表达式的值
 8   //2 a增加1 ,变为2
 9   //3 执行赋值运算,b被赋值"a++表达式(即1)"的值
10  }
11 }
12 输出结果:
13 a:2,b:1



例2



1 import java.util.Scanner;
 2 
 3 public class Demo {
 4  public static void main(String[] args) {
 5   int a = 1;
 6   a = a++; 
 7   System.out.println("a:"+a);
 8   //1 "a++表达式"的值为1
 9   //2 等号右边的a+1变为2
10   //3 执行赋值运算,左边的a被赋值"a++表达式(即1)"的值
11  }
12 }
13 输出结果:
14 a:1



3  逻辑与比较运算
逻辑运算:与(并且)&&   或(或者)|| 非(否则)!
&&和||被称作短路运算符,还有“&”和"|"称作非短路运算符(使用的很少,逻辑不合理)
短路运算符和非短路运算符的区别
* 短路运算符[条件1&&条件2],如果条件1成立,则条件2不执行
* 非短路运算符[条件1 & 条件2]2个条件都执行

例子1



1 public class Demo {
 2  public static void main(String[] args) {
 3   int age = 68;
 4   char sex = '男' ;
 5   if(sex=='女'&& age++>60){        //判断sex =='女'为false,age++>60不执行
 6    System.out.println("请进");//如果性别为女,年龄大于60,输出“请进“
 7   }
 8   System.out.println(age);//68
 9  }
10 }
11 输出结果:
12 68



例子2



1 public class Demo {
 2  public static void main(String[] args) {
 3   int age = 68;
 4   char sex = '男' ;
 5   if(sex=='女'& age++>60){        //两句都执行,非短路运算符
 6    System.out.println("请进");//如果性别为女,年龄大于60,输出“请进“
 7   }
 8   System.out.println(age);//68
 9  }
10 }
11 输出结果:
12 69



注:“|“和"||"也一样

比较运算符,比较变量的值:>(大于) >=(大于等于)  <( 小于)
      <=(小于等于)  ==(等于)  !=(不等于)
例子



1 public class Demo {
 2  public static void main(String[] args) {
 3   int a = 2;
 4   int b = 3;
 5   boolean c = a==b;   //这里的==可以换成> ,>=
 6   System.out.println(c);//false
 7   boolean d = a!=b;   //这里的!=可以换成<,<=
 8   System.out.println(d);//true
 9  }
10 }



4 条件运算符(3元运算符,三目运算符)
条件表达式的语法:[条件表达式? 表达式1:表达式2]
当条件表达式为true的时候,表达式1作为整个表达式的值,否则表达式2作为整个条件表达式的值
例子



1 public class Demo {
 2  public static void main(String[] args) {
 3   int age = 68;
 4   char sex = '男';
 5   //年龄<25或者性别=女的人记100
 6   //年龄>=25或者性别=n男的记90
 7   int a = age <25||sex =='女'?100:90;
 8   System.out.println(a);//90
 9  }
10 }
11 输出结果为90



例:分页业务逻辑



1 public class Demo {
 2  public static void main(String[] args) {
 3   Scanner sca = new Scanner(System.in);
 4   int total = sca.nextInt();//假设用户输入了total条数据
 5   int size = 10;//规定每页显示10条
 6   /*如果是int page = total/size
 7    * 假设total = 23,那int page =total/size=2
 8    * 最后一页被截取
 9    */
10   //此时需要用三目运算符来表示
11   int page = total%size==0 ? total/size : total/size+1;
12   //如上表示如能除尽,则刚好,否则加一页
13   System.out.println(total + "条数据需要"+page+"页");
14  }
15 }