栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

初学者:java运算符小结

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

初学者:java运算符小结

java运算符小结 类型转换

由于java是强类型语言,所以要进行有些运算的时候需要用到类型转换
低---------------------------------高
byte,short,char-> int -> long -> float ->double
小数的优先级大于整数
运算中不同类型的数据优先转换为同一类型然后进行运算
由高到低 强制转换
由低到高 自动转换

算术运算符 加+ 减- 乘* 除/
		int a = 15;
        int b = 20;
        int c = 25;
        int d = 25;

        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);//(a/b)输出为0,因为结果为0.75,a,b都是整形,自动向下取整。把其中一个转换为double
        
 		long x = 1231231231321L;
        int y = 123;
        short z =10;
        byte n = 8;

        System.out.println(x+y+z+n);//输出结果类型为long
        System.out.println(y+z+n);//输出结果类型为int
        System.out.println((double)z+n);//输出结果类型为double
        //低向高,自动转换 有long类型肯定是long类型
        
++ 自增 --自减
        int a = 3;
        int b = a++;//执行完这行代码,先赋值,再自增
        System.out.println(a);//a++ 先赋值再自增,输出a++还会是a的值
        System.out.println(b);//这里的b输出的是3,因为a++是先赋值再自增
        // a = a + 1
        int c = ++a;
        System.out.println(a);
        System.out.println(c);//++a先自增在赋值,所以输出的是5

如代码 a++ 先赋值再自增,a的值为3,如果你直接打印(a++)结果依旧会输出为3。++a是先自增再赋值,所以你直接打印(++a)得到结果会是4. --同理。

关系运算符 大于>,小于<,不等于!=,等于==
        int i = 10;
        int l = 20;
        int m = 21;
        System.out.println(i>l);//false
        System.out.println(i==l);//false
        System.out.println(i 

关系运算符输出的结果为正确,错误,为布尔值

逻辑运算符 与&& 或|| 非!
		boolean a = true;
        boolean b = false;

        System.out.println("a && b:"+(a&&b));
        System.out.println("a || b:"+(a||b));
        System.out.println("!(a && b):"+!(a&&b));
        输出结果为:
        a && b:false
		a || b:true
		!(a && b):true
短路运算

短路运算:即前面代码为假时,就会直接输出为假,不会执行后面的代码

 		int c =4;
        boolean d = (c<4)&&(c++<4);
        System.out.println(d);
        System.out.println(c);
        输出结果:
        d为false
        c:4

上述代码,因为c<4为假,直接会输出false,将不再会执行后面的c++代码,如果执行了c++,输出结果会为5.如下代码

        int c =4;
        boolean d = (c==4)&&(c++<4);
        System.out.println(d);
        System.out.println(c);
        d输出为false
        c:5

因为c==4为真,执行后面的c++<4为假,即输出为false,但是执行了c++这个代码,输出c时,值就会为5.

位运算符 与% 或| 非~ 异或^
	A = 0011 1100
    B = 0000 1101

    A&B = 0000 1100  两个同为1,为1。其余为0
    A/B  = 0011 1101   两个其中一个为1则为1,同为0 则为0
    A^B = 0011 0001(异或)两个相同为0,不同为1  
    ~B   = 1111 0010  完全相反 0成了1,1成了0
<< >>

在计算机中如何计算28的速度最快,把28拆分为222*2,
即2<<3System.out.println(2<<3); //0010 左移3 0001 0000 为16
<< 相当于乘以2,>>相当于除以2
位运算的效率十分的高

条件运算符/三元运算符 ? , :

x ? y : z
如果x==true,则结果为y,否则结果为z

		int score = 50;
        String type = score < 60 ? "不及格" : "及格"; //掌握
        System.out.println(type);
        输出结果:不及格
拓展运算符 += , -=
		int a = 10;
        int b = 20;
        a+=b; // a = a+b
        a-=b; // a = a-b
字符串连接符 + ,string
System.out.println(""+a+b);//在前面为链接 输出1020

System.out.println(a+b+""+30);//在后面,先运算前面,再连接 输出3030
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1030521.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号