首页 > 编程语言 > 详细

Java运算符

时间:2021-02-15 23:09:33      阅读:25      评论:0      收藏:0      [点我收藏+]

运算符

Java语言支持如下运算符

  • 算术运算符:+、-、*、/、%、++、-- 。“%”运算符叫模运算(取余数)
  • 赋值运算符=。例:a=10,意思为把10赋值给a。
  • 关系运算符:>、<、>=、<=、、!=instanceof 。注意:**java的等于需要用两个等于号表示“”**。“!=”符号的意思是不等于。
  • 逻辑运算符:&&、||、!(与、或、非)
  • 位运算符:&、|、^、~、>>、<<、>>>(了解掌握)
  • 条件运算符:?:
  • 扩展赋值运算符:+=、-=、*=、/=

算术运算符、赋值运算符、关系运算符

public class Demo05 {
    public static void main(String[] args) {
        //二元运算符
        //ctrl+D:复制当前行到下一行。
        int a=10;
        int b=20;
        System.out.println(a+b);//输出结果30
        System.out.println(a-b);//输出结果-10
        System.out.println(a*b);//输出结果200
        System.out.println(a/(double)b);//输出结果0.5,结果出现小数需要先强制转换

        long c=123123123123123L;
        int d=123;
        short e=10;
        byte f=8;
        System.out.println(c+d+e+f);//输出结果是123123123123264,long类型。
        System.out.println(d+e+f);//输出结果是141,int类型。
        System.out.println(e+f);//输出结果是18,int类型。
        //将e+f结果强制转换成字符串,显示错误,提示为Inconvertible types; cannot cast ‘int‘ to ‘java.lang.String‘,证明结果是int类型。
        
        //关系运算符返回的结果:正确、错误
        System.out.println(a>b);//输出结果false
        System.out.println(a<b);//输出结果true
        System.out.println(a==b);//输出结果false
        System.out.println(a!=b);//输出结果true
        
        System.out.println(d%a);//模运算(取余数),输出结果3
    }
}

注意事项:

运算时如有数字的类型高于int,计算的结果是高于int的那个类型,如:c赋值是long类型输出结果是long类型。
运算时如有数字是int或低于int的类型,计算的结果则都为int,如e是short类型,f是byte类型结果是int类型。

自增自减运算符、Math工具类初步了解。

//++自增运算,--自减运算,一元运算符。
int a=10;
int b=a++;//执行完这行代码后自增1。先进行b=a赋值,然后a自增1
System.out.println(a);//输出结果11
int c=++a;//执行完这行代码前自增1。先进行a自增1赋值,然后c=a赋值
System.out.println(a);//输出结果12
System.out.println(b);//输出结果10
System.out.println(c);//输出结果12
//注意事项自增,自减赋值时需要使用变量,不能直接使wei用数字。如int b=a++;不能写成int b=10++;

//幂运算2^3 相当2*2*2=8,很多运算,会使用一些工具类来操作。
double pow=Math.pow(2,3);//Java是没有幂运算符号的写法,是要使用Math.pow(a,b)这个方法。
System.out.println(pow);//输出结果8.0

逻辑运算符、位运算符

//逻辑运算符,与(and)、或(or)、非(取反)
 boolean a=true;
 boolean b=false;
 System.out.println("a&&b:"+(a&&b));//输出结果false,逻辑与运算,两个变量都为真,结果才为true。
 System.out.println("a||b:"+(a||b));//输出结果true,逻辑或运算,两个变量一个为真,结果为true。
 System.out.println("!(a&&k):"+!(a&&b));//输出结果true,逻辑非运算,如果是真则变为假,如果是假则变为真。

 //短路运算,逻辑与运算的特殊情况,如果逻辑判断第一个变量为假,则整个运算结束返回结果假,不再进行运算。
 int c=5;
 boolean d=(c<4)&&(d++<4);
 System.out.println(d);//输出结果false
 System.out.println(c);//输出结果5
 //第一个变量结果为false,运算终止c输出还是5没有自增。

 /*位运算符,&(与)、|(或)、^(异或)、~(非)、<<(左移)、>>(右移)
 A=0011 1100
 B=0000 1101
 A&B=0000 1100 ,A与B对应的位上都是1结果才是1,否则为0。
 A|B=0011 1101 ,A与B对应的位上都是0结果才是0,否则为1。或
 A^B=0011 0001 ,A与B对应的位上数字相同结果才是0,否则为1。异或
 ~B=1111 0010  ,B对应位上数字取反。
位运算计算效率极高!
 <<,左移相当*2
 >>,右移相当/2
 二进制     十进制
 0000 0000 = 0
 0000 0001 = 1
 0000 0010 = 2
 0000 0011 = 3
 0000 0100 = 4
 0000 1000 = 8
 0001 0000 = 16
  */
 System.out.println(2<<3);//结果16

扩展运算符、三元运算符

int a=20;
int b=10;
a+=b;//相当a=a+b;输出结果30
a-=b;//相当a=a-b;输出结果10
a*b=o;//相当a=a*b;输出结果200
a/=b;//相当a=a/b;输出结果2

//字符串链接符"+"
System.out.println(a+b);//输出结果30
System.out.println(""+a+b);//输出结果2010
System.out.println(a+b+"");//输出结果30
//在运算符+两侧,任何一侧出现按String类型(字符串),这时+为字符串链接符,两侧的数字变为字符串然后链接一起。
//注意事项字符串在+的顺序,如果字符串在+号后面,则+号之前的数字还是正常运算得到的结果转化为字符串然后链接。

//三元运算符?:
//x?y:z,如果x==true,则结果为y,否则结果为z
int score = 80;
String type=score<60?"不及格":"及格";
System.out.println(type);//输出结果及格

Java运算符

原文:https://www.cnblogs.com/mdjdj/p/14403686.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!