• Java关键字、转义字符与运算符优先级


    关键字

    在这里插入图片描述

    转义字符

    符号含义
    \n换行(LF),将当前位置移到下一行开头
    \r回车(CR),将当前位置移到本行开头
    \代表一个反斜线字符""
    代表一个单引号(撤号)字符
    ‘’代表一个双引号字符
    //转义字符:用于转义的字符是:\
    public class Test4{
        public static void main(String[] args){
            System.out.println("转义字符测试");
            System.out.println("我想输出一个回车符");
            System.out.print("我想输出一个回车符\n");
            System.out.print("\\");
            System.out.print("\"双引号\"");
            System.out.print("\'单引号\'");
            }
      }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    运算符与优先级

    算术运算符

    • 表达式:由变量、常量运算符组成的式子。
    • ++:如果是前缀,先对此变量加1,再执行其他的操作,如果是后缀,先执行其他的操作,再对此变量加一
    • –:同理
    • 键盘输入:Scanner input=new Scanner(System.in)
      在这里插入图片描述
    /**
    运算符
    */
    import java.utils.Scanner; //接收键盘输入的工具类
    public class Test5{
        public static void main(String[] args){
            int a=1;
            int b=2;
            int c=a+b;
            System.out.println(c);
            a=10;
            b=3;
            System.out.println(a/b);
            System.out.println(a%b);
            a=b++;//先赋值后自增
            System.out.println("a="+a);
            System.out.println("b="+b);
            
            a=++b;//先自增后赋值
            System.out.println("a="+a);
            System.out.println("b="+b);
    
            int x=1;
            int y=2;
            y=x+y-(++y);
            System.out.println("x="+x);
            System.out.println("y="+y);
     
            //赋值运算符
            short s=10;
            //s=s+1;
            s+=1
            System.out.println(s);
    
            //关系运算符,返回值为boolean型
            System.out.printl(x==y);
            
            //创建一个键盘输入的工具
            Scanner input=new Scanner(System.in);
            System.out.println("请输入一个整数:")
            int x1=input.nextInt();从键盘接收一个整数
            System.out.println(x1);
    
            System.out.println("请输入一个字符串:");
            String s=input.next();
            System.out.println(s);
            }}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

    赋值运算符

    作用是将一个值赋给一个变量,运算顺序从右到左
    在这里插入图片描述

    关系运算符

    作用是比较两边的操作数,结果总是boolean型的。
    在这里插入图片描述

    逻辑运算符

    用于对boolean型结果的表达式进行运算,运算结果总是boolean型的,后面结合条件结构讲解。
    在这里插入图片描述
    在计算机中,非0即真,0为假
    逻辑或:或1则1
    逻辑与:全1才1

    /**
    逻辑运算符
    */
    public class Test6{
        public static void main(String[] args){
            boolean a=true;
            boolean b=true;
            //与运算,分别计算表达式两边的结果,再做与运算,只有两个都为true,结果才为true,否则为false
            System.out.println(a&b);
            //或运算,分别计算表达式两边的结果,再做或运算,只要有一个为true,结果才为true,两边都为false才为false
            System.out.println(a|b);
            //异或运算,两边相同为false,不同为true
            System.out.println(a^b);
            //非运算
            System.out.println(!b);
            //短路与
            System.out.println(a&&b);
            //短路或
            System.out.println(a||b);
    }}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    /**
    通过键盘输入声明初始化一个圆柱体的高和底面半径,pai值是3.14,求圆柱体的体积,并显示输出圆柱体的体积; pai(r^2)h
    */
    import java.utils.Scanner;
    public class Test7{
        public static void main(String[] args){
            System input=new Scanner(System.in);
            System.out.println("请输入圆柱体的高:");
            int h=input.nextInt();
            System.out.println("请输入圆柱体的底面半径:")
            int r=input.nextInt();
            double result=3.14*r*r*h;
            System.out.printlb("圆柱体的体积是"+result);
            }}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    /**
    意定义一个五位整数,求各个位上的数的和
    */
    public class Test8{
        public static void main(String[] args){
            int num=54321;
            int w=num/10000;
            int q=num/1000%10;
            int b=num/100%10;
            int s=num/10%10;
            int g=num%10;
            System.out.println(w+q+b+s+g);}
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    /**
    根据天数(46)计算周数和剩余的天数,天数是通过键盘输入
    */
    import java.utils.Scanner;
    public class Test9{
        public static void main(String[] args){
             Scanner input=new Scanner(System.in);
             System.out.println("请输入天数:");
             int day=input.nextInt();
             System.out.println("周数是:"+(day/7));
             System.out.println("剩余的天数:"+(day%7));
        }
     }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    /**
    面试题:&和&&的区别
    */
    public class Test10{
        public static void main(String[] args){
           boolean a=true;
           boolean b=false;
    
           int c=(!a)&b;
           //&:在算术运算时分别计算表达式两边的结果,再作&运算,在做位运算&时表示按位与
           //&&:短路与运算,先计算左边的表达式,如果结果是false,那么不用计算右边的表达式,直接返回false,
           //如果左边的表达式结果为true,再计算右边的表达式,如果右边的表达式为true,结果为true,否则为false
           
           //|和||的原理同上。
           //所以短路与 或 短路或的计算效率更高
        }
     }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    位运算符

    对两个操作数中的每一个二进制位都进行运算,位运算符的功能:

    • 按位取反~
    • 按位与&
    • 按位或|
    • 按位异或 ^
    /**
    位运算符
    */
    public class Test11{
        public static void main(String[] args){
             System.out.println(~10);
       }
    }
    // 0000 1010
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    位移运算符

    • 左移:“a<
    • 带符号右移:“a>>b;”将二进制形式的a逐位右移b位,最高位空出的b位补原来的符号位
    • 无符号右移:"a>>>b;"将二进制形式的a逐位右移b位,最高位空出的b位补0
      在这里插入图片描述
      左移算法:位移数作为2的次幂与操作数相乘
      10<<2=40
    /**
    位运算符
    */
    import 
    public class Test11{
        public static void main(String[] args){
             System.out.println(~10);
             //面试题:以最快的速度计算8*4结果?
             //int result = 8*4
             // 0000 1000 8
             // 0010 0000 32
             System.out.println(8<<2);//最快计算速度
             //8*6
             //8<<3
    
             //通过键盘输入,初始化两个数将这两个数据交换位置后,输出显示交换后的数据
             Scanner input = new Scanner(System.in);
             System.out.println("请输入第一个数");
             int a=input.nextInt();
             System.out.print("请输入第二个数");
             int b=input.nextInt();
       
             //(1)通过第三个变量来交换
             int c=a;
             a=b;
             b=c;
             System.out.println("a="+a+",b="+b);
             //(2)不通过第三个变量如何交换两个数?
             //a=1,b=2
             //a.通过表达式
             a=a+b-(b=a);
             System.out.print("a="+a+",b="+b);
             //b.通过+-计算
             int a=1;
             int b=2;
             a=a+b;
             b=a-b;
             System.out.print("a="+a+",b="+b);
             //c.位移,两个数交换位置,最快的方式
             a=a^b;
             b=a^b;
             a=a^b;
             System.out.print("a="+a+",b="+b);
             //d.乘除
       }
    }
    // 0000 1010
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

    三目运算符

    x?y:z
    x为boolean类型表达式,先计算x的值,若为true,整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值。
    从键盘输入一个成绩,判断该分数是否及格。

    /**
    三目运算符与优先级
    */
    import java.util.Scanner;
    public class Test12{
        public static void main(String[] args){
            System.out.println("请输入一个成绩:");
            Scanner input = new Scanner(System.in);
            int score=input.nextInt();
            //String 表示一个字符串类型,不是基本数据类型,是引用数据类型
            boolean bool=score>=60?true:false;
            System.out.print(bool);
            }
     }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    在这里插入图片描述

  • 相关阅读:
    【支付】支付安全
    C++ 窗体程序初步(全网最全)
    JavaScript如何解决单线程缺陷——webWorker
    SpringBoot-生成验证码
    Ubuntu 22.04 安装 Docker Engine
    Containerd shim 原理深入解读
    搜索二维矩阵[二分巧用 + 记录不同于插入二分的解法]
    node通过node-java库调用java
    Java 数据结构与算法-堆
    .NET 6+Semantic Kernel快速接入OpenAI接口
  • 原文地址:https://blog.csdn.net/fanfangyu/article/details/126177291