算术运算符

  • +、-、*、/;基本四则运算加减乘除
  • %;取余
  • —;自减
  • ++;自增

    1. int b=1;
    2. System.out.println(b++);//先使用再自增、自减
    3. System.out.println(b);
    4. int c=1;
    5. System.out.println(++c);//先自增、自减再使用
    6. //只有自增与自减运算符才会改变变量自身的值,普通的四则运算只能改变算式本身的值
    7. System.out.println(--c-c-c--);//-1-(-1)-(-1)=-1+1+1=1
    8. System.out.println(c);//-2

    关系运算符

  • <、>、>=、<=

  • ==
  • !=

    逻辑运算符

  • &

  • &&
  • |
  • ||
  • !
  • +

    三目运算符

  • 1?2:3

    1. public class TestMaxNum {
    2. public static void main(String[] args) {
    3. System.out.print("请输入要比较的第一个数:");
    4. int a = new Scanner(System.in).nextInt();
    5. System.out.print("请输入要比较的第二个数:");
    6. int b = new Scanner(System.in).nextInt();
    7. //如果1号的结果是true,取2号位置的值,反之,取3号位置的值
    8. int max = a > b ? a : b;
    9. System.out.println("两个数的最大值是:" + max);
    10. }

    赋值运算符

  • +=、-=

  • *=、/=

image.png

案例

自增自减测试

  1. package cn.tedu.basic;
  2. /**本类用于测试取余运算符*/
  3. public class TestOperator {
  4. //0.创建程序的入口函数main Alt+/补全代码
  5. public static void main(String[] args) {
  6. /**基本的四则运算符+ - * / */
  7. //1.测试除法与取余数
  8. System.out.println(25/10);//int/int->int,商是2
  9. System.out.println(25%10);//取余,余数为5
  10. //练习:获取一个两位数的十位与个位
  11. int x = 59;
  12. System.out.println(59/10);//获取十位,包含几个10
  13. System.out.println(59%10);//获取个位,除十位之外还剩多少
  14. //练习:获取一个三位数的百位 十位 与个位
  15. int y = 152;
  16. System.out.println(y / 100);//获取百位,包含几个100
  17. System.out.println(y / 10 % 10);//获取十位,15个十,取余取5
  18. System.out.println(y % 10);//获取个位,除了15个10以外的余数2
  19. //2.测试自增自减运算符
  20. /**前缀式:++a --a,先改变变量的值,再使用
  21. * 后缀式: a++ a--,先使用,再改变变量的值
  22. * ++:表示给当前变量的值+1
  23. * --:表示给当前变量的值-1*/
  24. System.out.println("我是一个无情的分界线");
  25. int a = 1;
  26. System.out.println(a++);//1,符号在后,先使用,再自增
  27. System.out.println(a);//2,使用过后自增成2
  28. int b = 1;
  29. System.out.println(++b);//2,符号在前,先自增,再使用
  30. int c = 1;
  31. System.out.println(--c);//0,符号在前,先自减,再打印
  32. int d = 1;
  33. System.out.println(d--);//1,符号在后,先打印,再自减
  34. System.out.println(d);//0,刚刚使用过后就自减
  35. /**之前的代码会对后面的代码产生影响*/
  36. System.out.println(c);//c的初始值是0
  37. /**只有自增自减运算符才会改变变量本身的值
  38. * 普通的四则运算只能改变算式本身的值*/
  39. System.out.println(--c-c-c--);//-1-(-1)-(-1)=1
  40. //System.out.println(c);//-2
  41. }
  42. }

求最大值案例

  1. package cn.tedu.basic;
  2. import java.util.Scanner;
  3. /*
  4. * 计算两个数的最大值
  5. */
  6. public class TestMaxNum {
  7. public static void main(String[] args) {
  8. System.out.print("请输入要比较的第一个数:");
  9. int a = new Scanner(System.in).nextInt();
  10. System.out.print("请输入要比较的第二个数:");
  11. int b = new Scanner(System.in).nextInt();
  12. //如果1号的结果是true,取2号位置的值,反之,取3号位置的值
  13. int max = a > b ? a : b;
  14. System.out.println("两个数的最大值是:" + max);
  15. //通过三元运算符求出三个数的最大值
  16. System.out.print("请输入要比较的第三个数:");
  17. int c = new Scanner(System.in).nextInt();
  18. int max1 = (a > b ? a : b) >c ? (a > b ? a : b) : c;
  19. System.out.println("三个数的最大值是:" + max1);
  20. }
  21. }

求平年闰年

  1. package cn.tedu.basic;
  2. import java.util.Scanner;
  3. /*
  4. * 计算是平年或闰年
  5. */
  6. public class TestYear {
  7. public static void main(String[] args) {
  8. System.out.print("输入需要判断的年份:");
  9. int year = new Scanner(System.in).nextInt();
  10. /**
  11. * 顺序结构会执行main中的所有代码
  12. * 若需要先判断在选择性的执行语句,需要使用分支结构
  13. * 分支结构中的if语句写法
  14. * if(判断条件){
  15. * 符合条件后执行的代码,不符合条件的将会跳过
  16. * }
  17. */
  18. String result = "平年";
  19. // if(year % 4==0) {
  20. // if(year % 100 != 0) {
  21. // result = "闰年";
  22. // }
  23. // }
  24. //
  25. // if(year % 400 == 0) {
  26. // result = "闰年";
  27. // }
  28. // System.out.println(year + "年为" + result);
  29. if((year % 4==0 && year % 100!=0) || year % 400==0) {
  30. result = "闰年";
  31. }
  32. System.out.println(year + "年为" + result);
  33. }
  34. }