美文网首页
3.Java操作符

3.Java操作符

作者: 云木杉 | 来源:发表于2019-02-15 15:33 被阅读0次

    操作符

    java这些基础的东西,我已经用了很久,潜意识来讲已经牢记于心,但看到公司老大那么6的以Java很基础的东西解决我困恼已久的问题,还是惊艳到了,还是再回去研究研究基础是正道。

    赋值

    • 基本数据类型赋值:做赋值操作时,左边为变量,右边为值,例如i = 0;而书中的意思是右边的值需要一个物理控件去储存(就是Java的内存);

    • 对象赋值

      创建一个对象Kand,里面有一个参数level,创建这个对象的两个引用A,B,给两个引用分别赋值两个数值,然后把B赋值给A,当前A的旧引用被回收机制回收,A,B引用指向同一个数值,再修改任何一个引用的数值时,另一个数值也会跟着变化。尽量避免对象赋值操作。

      public static void main(String[] args) {
            Tank t1 = new Tank();
            Tank t2 = new Tank();
            t1.level = 9;
            t2.level = 47;
            System.out.println(t1.level); // 9
            System.out.println(t2.level); // 47
            System.out.println("----------");
            t1 = t2;
            System.out.println(t1.level); // 47
            System.out.println(t2.level); // 47
            System.out.println("----------");
            t1.level = 27;
            System.out.println(t1.level); // 27
            System.out.println(t2.level); // 27
            System.out.println("----------");
            t2.level = 270;
            System.out.println(t1.level); // 270
            System.out.println(t2.level); // 270
        }
      

    Java操作符

    加号(+)及减号(-)其实都是比较常见的基础操作,但乘号(*)及除号(/)的操作还是要说一下,虽然一直感觉自己是会的,但确实不会

    • 乘号(*) 当两个整数型做乘法时结果为整数,但是当有一方为浮点数时,那结果即为浮点数
    • 除号(/) 当两个整数型做除法时,结果为整数,如果除不净的话会取整(丢失小数位),当其中一位为浮点数时,获取到的值才为正确的。
    • 取余(%) 从整数除法中产生余数。

    Random类

    • 初始化时,如果没有传递任何参数,将会以当前时间作为随机数生成器的种子

    • 初始化时,有携带参数(提供种子),随机数生成器对于特定的种子值总是产生相同的随机数序列。

       public static void main(String[] args) {
              // Create a seeded random number generator:
              Random rand = new Random(68);
              int i, j, k;
              // Choose value from 1 to 100:
              j = rand.nextInt(100) + 1;
              print("j : " + j);
              k = rand.nextInt(100) + 1;
              print("k : " + k);
       }
      

    自动递增,自动递减

    一直以来对运算符这块儿,都没有什么特别的概念,觉得挺简单的东西,但日子一长容易忘记,翻过来再看的话也是麻烦,这里记录一下

    前缀式/后缀式

    • 前缀式自动递增/递减(++i,--i),其实就是先运算后赋值的操作,例如++i,原始值为1的话,经过运算+1以后再赋值,输出即为2。先运算再赋值;
    • 后缀式自动递增/递减(i++,i--),是一种先赋值后运算的操作,例如i++的原始值为1的话,会先赋值,后运算,即输出为1,后赋值为2。先赋值再运算;
    public static void main(String[] args) {
    
            int i = 2, j = 2;
    
            System.out.println("i++ = " + i++); // 2
            System.out.println("i = " + i); // 3
            System.out.println("++i = " + ++i); // 4
            System.out.println("i = " + i); // 4
    
            System.out.println("j-- = " + j--); // 2
            System.out.println("j = " + j); // 1
            System.out.println("--j = " + --j); // 0
            System.out.println("j = " + j); // 0
    
    }
    

    关系操作符

    • 操作符==和!=比较的是对象的引用地址。基本数据类型用的也是==和!=操作符,这也是我一直模糊不清也又没真正去深究过的东西。

    • Object的euqals()方法,用来比较所有对象的实际内容。

      public class Equivalence {
        public static void main(String[] args) {
          Integer n1 = new Integer(47);
          Integer n2 = new Integer(47);
          System.out.println(n1 == n2); // false
          System.out.println(n1 != n2); // true
        }
      }
      

    类型转换操作符

    • 对基本数据类型执行算数运算或按位运算,只要比类型int小(char、short、byte)运算之前都会转为int。

    • 按位操作符用来操作整数基本数据类型中的单个“比特(bit)”

    关系操作符

    • 三位运算符有返回值返回,ifelse运算没有返回值,但比三位运算符更好理解。

    相关文章

      网友评论

          本文标题:3.Java操作符

          本文链接:https://www.haomeiwen.com/subject/qigvpftx.html