1、算数运算符

+,-,*,/,%,++,—

  1. public class A {
  2. //+、-、*、/、%、++、--
  3. public static void main(String[] args) {
  4. int a=10;
  5. int b=3;
  6. System.out.println(a+b);
  7. System.out.println(a-b);
  8. System.out.println(a*b);
  9. System.out.println(a/b);
  10. System.out.println(a%b);
  11. System.out.println("----------------------------");
  12. int a1=5,a2=10;
  13. int c=a1++;//++在后面,c=a1,a1=a1+1
  14. System.out.println(a1);//6
  15. System.out.println(c);//5
  16. int c2=++a2;//++在前面,a2=a2+1,c2=a2
  17. System.out.println(a2);//11
  18. System.out.println(c2);//11
  19. //总结:++或--,表示+1或-1;++在后面表示先赋值再+1,++在前面表示先+1再赋值
  20. }
  21. }

注意:字符串参与加法操作

  1. public class B {
  2. //字符和字符串参与加法操作
  3. public static void main(String[] args) {
  4. int a=10;
  5. char c='A';
  6. String s="A";
  7. //字符与字符串的区别:字符能转换成int,而字符串不能
  8. System.out.println(c);//A
  9. System.out.println((int)c);//65
  10. // System.out.println((int)s);
  11. //字符与数字相加时会把字符转换成int类型,然后按照算术运算符相加
  12. //字符串与数字相加,会做连接操作
  13. System.out.println(a+c);//75
  14. System.out.println(a+s);//10A(字符串)
  15. //数字转换成字符串时,只需要在数字后加“”
  16. int b=100;
  17. String s1=b+"";
  18. System.out.println(s1);//100(是字符串了)
  19. }
  20. }

image.png

2、赋值运算符

基本的赋值运算符:=
扩展的赋值运算符:+=,-=,*=,/=,%= (+=: a+=20;相当于 a = (a 的数据类型)(a + 20))

  1. public static void main(String[] args) {
  2. // 把10赋值给int类型的变量a
  3. int a = 10;
  4. // += 把左边和右边的数据进行运算,最后赋值给左边。左边的只能是变量
  5. a += 10;// 相当于a = a + 10
  6. System.out.println("a:" + a);
  7. System.out.println("----------------------");
  8. short s = 10;
  9. // s += 20; // 相当于 s = s + 20;
  10. s = (short) (s + 20);
  11. System.out.println("s:" + s);
  12. }

3、关系运算符

  1. public class A {
  2. public static void main(String[] args) {
  3. /**
  4. * 关系运算符包含以下内容:
  5. * ==,!=,>,>=,<,<=
  6. * 关系运算符的结果都是 boolean 型,也就是要么是 true,要么是 false。
  7. * 注意事项:
  8. * 关系运算符“==”不能误写成“=”
  9. */
  10. int a=100,b=200;
  11. System.out.println("a==b:"+(a==b));//false
  12. boolean flag=a!=b;
  13. System.out.println(flag);//true
  14. System.out.println(a>b);//false
  15. System.out.println(a<b);//true
  16. System.out.println(a>=b);//false
  17. System.out.println(a<=b);//true
  18. }
  19. }

4、逻辑运算

&逻辑与:有 false 则 false。
|逻辑或:有 true 则 true。
^逻辑异或:相同为 false,不同为 true。
!逻辑非:非 false 则 true,非 true 则 false。

  1. public class A {
  2. /**
  3. * &,|,^,!
  4. * &&,||
  5. */
  6. public static void main(String[] args) {
  7. int a1=100,b1=100;
  8. int a2=200,b2=300;
  9. //|(逻辑或)和||(短路或)的区别:(& 和&& 一样)
  10. // |逻辑或会判断每个表达式,然后得出结果
  11. //||短路或,挨个去判断表达式,如果发现有个表达式为true,那么后面的表达式就不会判断,效率高
  12. System.out.println("(a1==b1) | (a2==b2):"+((a1==b1) | (a2==b2)));
  13. System.out.println("(a1==b1) || (a2==b2):"+((a1==b1) || (a2==b2)));
  14. System.out.println(!(a1==b1));
  15. System.out.println("(a1==b1) ^ (a2==b2):"+((a1==b1) ^ (a2==b2)));
  16. }
  17. }

注意:
A:&&和&的区别?
a:最终结果一样。
b:&&具有短路效果。左边是 false,右边不执行。
&是无论左边是 false 还是 true,右边都会执行
B:||和|的区别?
a:最终结果一样
b:||具有短路效果.左边是 true,右边不执行
|是无论左边是 false 还是 true,右边都会执行

5.三元运算符

  1. public class A {
  2. /**
  3. * A:格式
  4. * (关系表达式)?表达式 1:表达式 2;
  5. * 如果条件为 true,运算后的结果是表达式 1;
  6. * 如果条件为 false,运算后的结果是表达式 2;
  7. */
  8. public static void main(String[] args) {
  9. int a=(80>60)?1:0;
  10. System.out.println(a);//1
  11. int age=20;
  12. String s=(age>18)?"成年":"未成年";
  13. System.out.println(s);
  14. System.out.println("-----------------------");
  15. System.out.println("三个数中最大的");
  16. int a1=10,b1=8,c1=20;
  17. int d=(((a1>b1)?a1:b1)>c1)?((a1>b1)?a1:b1):c1;
  18. System.out.println(d);//20
  19. }
  20. }

6.键盘录入

键盘录入数据的步骤:
A:导包(位置放到 class 定义的上面) import java.util.Scanner;
B:创建对象 Scanner sc = new Scanner(System.in);
C:接收数据 int x = sc.nextInt();

  1. /**
  2. * @author Lynn
  3. * @create 2020-11-18-10:52
  4. */
  5. //1.导入Scanner类
  6. import java.util.Scanner;
  7. public class A {
  8. public static void main(String[] args) {
  9. //2.创建Scanner对象
  10. //System .in 表示键盘的输入信息
  11. Scanner sc=new Scanner(System.in);
  12. //3.每次回车后获取输入的信息
  13. int num=sc.nextInt();
  14. //4.输出键盘输入的信息
  15. System.out.println("num:"+num);
  16. }
  17. }
  1. import java.util.Scanner;
  2. /**
  3. * @author Lynn
  4. * @create 2020-11-18-10:56
  5. */
  6. public class B {
  7. //键盘录入两个数据,并对这两个数据求和,输出其结果
  8. public static void main(String[] args) {
  9. Scanner sc=new Scanner(System.in);
  10. //加入提示
  11. System.out.println("输入第一个数:");
  12. //获取第一个数
  13. int num=sc.nextInt();
  14. //加入提示
  15. System.out.println("输入第二个数:");
  16. //获取第二个数
  17. int num2=sc.nextInt();
  18. int num3=num+num2;
  19. System.out.println("num3="+num3);
  20. }
  21. }

课后:了解原码、反码、补码、位运算