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,再执行其他的操作,如果是后缀,先执行其他的操作,再对此变量加一
  • –:同理
  • 键盘输入: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);
        }}

赋值运算符

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

关系运算符

作用是比较两边的操作数,结果总是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);
}}
/**
通过键盘输入声明初始化一个圆柱体的高和底面半径,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);
        }}
/**
意定义一个五位整数,求各个位上的数的和
*/
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);}
        }
/**
根据天数(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));
    }
 }
/**
面试题:&和&&的区别
*/
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
       
       //|和||的原理同上。
       //所以短路与 或 短路或的计算效率更高
    }
 }

位运算符

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

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

位移运算符

  • 左移:“a<<b;”将二进制形式的a逐位左移b位,最低位空出的b位补0
  • 带符号右移:“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

三目运算符

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);
        }
 }

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值