zoukankan      html  css  js  c++  java
  • Java基础学习02- 运算符

    赋值运算符

    赋值运算符主要用来做赋值操作的,将数值赋给某个变量,或者将一个变量的值赋给另外一个变量。

    【语法】 数据类型 变量名 = 数值/变量,表示将等号右边的值赋给等号左边,代码如下:

    public class Test{
        public static void main(String[] args) {
            int num = 10;               // 将10赋给num
            String name = Gavin;        // 将Gavin赋给name
        }
    }

    详解:

    除了 = ,其他的都是特殊的赋值运算符。 以 += 为例,如a+=b,相当于 a = a + b,首先会进行加法运算 a + b,再将运算结果赋值给变量a,所以a = 5, b = 2。

    其他特殊的赋值运算符可以此类推。

    基本算术运算符

    使用基本算术运算符可以完成Java程序的基本数学运算,包括 +,-,*,/,%,++,--。其中+,-,*,/,%会自动完成操作数的数据类型转换,由低字节转为高字节。

    基本算术运算符使用方式:

      变量A + 变量B:求出变量A和变量B的相加之和。

      变量A - 变量B:求出变量A和变量B的相减之差。

      变量A * 变量B:求出变量A和变量B的相乘之积。

      变量A / 变量B:求出变量A和变量B的相除之商(若变量A和变量B都未整型,则除不尽时只取商点整数部分,如10/3的值为3;若变量A和变量B至少有一个是浮点型,则取完整的商,如10/3.0的值为3.3333333333333335,浮点型精度问题导致最后一位为5)。

      变量A % 变量B:求助变量A和变量B相除之后的余数,也就是所说的“取余”。

    -------------------------------------------------------    分割线   --------------------------------------------------------------

    ++、--的基本语法:变量A++,++变量A,变量A++,--变量A:

      ++: 求出变量A+1的值,等于变量A+1;

      -- : 求出变量A-1的值,等于变量A-1.

    详解:

    变量A++和++变量A是有区别的:变量A++表示当前操作先取出变量A的值,再进行运算++变量A表示当前操作先进行运算,再取出变量A的值

    A++演示代码如下:

    public class Test{
        public static void main(String[] args) {
            int num = 10;
            System.out.println(num++);
        }
    }

    运行结果:

    num++ ,num初始值为10,num++表示需要取出当前num值,即打印结果为10.

    public class Test{
        public static void main(String[] args) {
            int num = 10;
            System.out.println(num++);
            System.out.println(num);
        }
    }

    运行结果:

    num++操作后,再次输出num值,此时已进行+1操作,即输出结果为11.

    ++A演示代码如下

    public class Test{
        public static void main(String[] args) {
            int num = 10;
            System.out.println(++num);
        }
    }

    运行结果:

    ++num表示先进行+1运算,再取出num值打印输出,所以结果为11.

    注:A-- 与 --A用法同上。

    复合算术运算符

    复合算术运算符可以在基本算术运算符的基础上进一步简化代码,包括+=,-=,*=,/=,%=,具体用法如下:

      变量A += 变量B:先求出变量A和变量B的相加之和,再把计算结果赋给变量A,等同于变量A = 变量A + 变量B。

      变量A - 变量B:等同于变量A = 变量A - 变量B。

      变量A * 变量B:等同于变量A = 变量A * 变量B。

      变量A / 变量B:等同于变量A = 变量A / 变量B。

      变量A % 变量B:等同于变量A = 变量A % 变量B。

    代码如下:

    public class Test{
        public static void main(String[] args) {
            int num1 = 10;
            int num2 = 5;
            num1 += num2;
            System.out.println(num1);
        }
    }

    运行结果:

    关系运算符

    关系运算符用来计算一个表达式是否成立,只有两种结果,即成立或者不成立,也就是前面Java基础学习01- 基本数据类型中学到的boolean类型,其值为true和false。

    其中ture表示成立(真),false表示不成立(假),我们可以用boolean类型的值来表示关系运算符的运算结果。

    关系运算符包括: ==,!=,>,<,>=,<=。其中>,<,>=,<=只能用作数值类型的比较; ==,!=既可以比较数值类型,也可以比较两个对象是否相等。具体用法如下:

      变量A == 变量B:变量A和变量B是否相等,相等的运算结果为ture,不相等的运算结果为false。

      变量A != 变量B:变量A和变量B是否不相等,不相等的运算结果为ture,相等的运算结果为false。

      变量A > 变量B:变量A是否大于变量B,大于的运算结果为ture,等于或者小于的运算结果为false。

      变量A < 变量B:变量A是否小于变量B,小于的运算结果为ture,大于或者等于的运算结果为false。

      变量A >= 变量B:变量A是否大于等于变量B,大于或者等于的运算结果为ture,小于的运算结果为false。

      变量A <= 变量B:变量A是否小于等于变量B,小于或者等于的运算结果为ture,大于的运算结果为false。

    代码如下:

    public class Test{
        public static void main(String[] args) {
            int num1 = 10;
            int num2 = 5;
            boolean result1 = num1 == num2;
            boolean result2 = num1 > num2;
            boolean result3 = num1 < num2;
            boolean result4 = num1 >= num2;
            boolean result5 = num1 <= num2;
            System.out.println(result1);
            System.out.println(result2);
            System.out.println(result3);
            System.out.println(result4);
            System.out.println(result5);
        }
    }

    运行结果:

     逻辑运算符

    逻辑运算符只能用boolean类型的数据运算,判断boolean数据之间的逻辑关系,包括与、或、非这三种关系。

    运算符有&(与)、|(或)、&&(短路与)、||(短路或)、!(非),具体用法如下:

    变量A & 变量B:只有当变量A和变量B都为true,结果为true,否则为false。

    变量A | 变量B:当变量A或变量B有一个为true,结果为true,否则为false。

    变量A && 变量B:只有当变量A和变量B都为true,结果为true,否则为false。

    变量A || 变量B:当变量A或变量B有一个为true,结果为true,否则为false。

    !变量A:若变量A为true,结果为false;若变量A为false,结果为true。

    && 和 || 效率比 & 和 |要高

    &代码如下

    public class Test{
        public static void main(String[] args) {
            int num1 = 10;
            int num2 = 11;
            System.out.println((num1++==num2)&(++num1==num2));
            System.out.println(num1);
        }
    }

    运行结果:

    详解:

    ①先进行num1++的运算,++在操作数之后,所以先使用操作数再进行++运算,此时的num1为10,再进行10==num2的运算,结果为false;运算完成之后的num1值为11;

    ②先进行++num1的运算,++在操作数之前,所以先进行++运算在使用操作数,此时结果为12,再进行12==num2的运算,结果为false;

    ③false & false的结果为false。

     &&代码如下

    public class Test{
        public static void main(String[] args) {
            int num1 = 10;
            int num2 = 11;
            System.out.println((num1++==num2)&&(++num1==num2));
            System.out.println(num1);
        }
    }

    运行结果:

    详解:

    先进行num++的运算,此时的num1为10,再进行10==num2的运算,结果为false。表达式1的值为false,不管表达式2的值为ture还是false,整个运算结果都为false,这里使用短路与(&&),所以此时不会执行表达式2的代码,直接返回false,num1的值为11.

    条件运算符

    条件运算符也叫做三元运算符,可以完成给变量赋值操作。根据不同的条件给同一个变量赋不同的值,语法为:变量A = 条件?值1:值2,若条件成立,值1赋值给变量A;否则值2赋值给变量A。

    代码如下:

    public class Test{
        public static void main(String[] args) {
            String str1 = 11 > 10 ? "11 > 10 成立":"11 > 10 不成立";
            System.out.println(str1);
            String str2 = 11 < 10 ? "11 < 10 成立":"11 < 10 不成立";
            System.out.println(str2);
        }
    }

    运行结果:

     

    位运算符

    位运算符用来对二进制为进行操作,包括按位取反(~),按位与(&),按位或(|),异或(^),左移(<<),右移(>>)和无符号右移(>>>)。

    位运算符只能对整数型和字符型数据进行操作。

    运算符知识点先学习到这,接下来准备看看数组相关的内容了,加油!

  • 相关阅读:
    软件系统的稳定性
    项目从.net 2.0 升级到。.net 4.0项目以后发现网站运行十分缓慢
    学习英语小助手(阅读粘贴的英文,使用MVVM)
    如何在IIS6,7中部署ASP.NET网站
    基于 IOCP 的通用异步 Windows Socket TCP 高性能服务端组件的设计与实现
    面向对象软件设计原则—— 软件实体的设计原则
    Django实战
    聊聊豆瓣阅读kindle版
    多线程的基本概念
    nopCommerce的源代码结构和架构
  • 原文地址:https://www.cnblogs.com/mrgavin/p/12876507.html
Copyright © 2011-2022 走看看