zoukankan      html  css  js  c++  java
  • Java第四课

    Java第四课

    一、运算符

    1. 算术运算符

      +,-,*,/,%(质数,奇偶),++,--(问题最大)

      ++ 一目运算符

          public static void main(String[] args) {
             int num = 1;
             // 在JVM中先取num的值,再对值进行运算
             // 在效果上相当于两个语句,第一个是直接打印num
             // 第二个是对num进行加1
             System.out.println(num++);
             System.out.println(num);
        }
          public static void main(String[] args) {
             int m = 1;
             int n = 1;
             int p = m++ + m + n++ + n;
             System.out.println(p);
             p = m++ + m++ + n++ + n++;
             System.out.println(p);
        }

      自增和自减的一个重要的现象:当符号在变量前时,JVM先看到的是要做的事,即加或减,然后找变量看是对哪个变量进行操作,结果是对变量操作完成

    2. 关系运算符

      == ,!=,>,<,>=,<=

    3. 位运算符

      首先要知道数字在计算机中的存储形式,转换为二进制,正数(原码,补码),负数以补码形式存在

      对于一个负数,进行位运算,首先把数字换成它的原码,然后再反码,再补码,对补码进行位运算,然后,把结果反码再原码,再十进制

      & | ^ ~

              int m = 1;
             int n = 1;
             // 0000 0001
             // 0000 0001
             // ---------
             // 0000 0001
             System.out.println(m&n);
             // & | ^ ~
             System.out.println(~m);
              byte b1 = -3;
             byte b2 = 3;
             // b1:1000 0011; 1111 1100 1111 1101
             // b2:                         0000 0011
             //                             0000 0001
             System.out.println(b1&b2);
             byte b3 = -3;
             System.out.println(b1 & b3);
      // 补码:1111 1101 | 1111 1100 | 原码1000 0011
             // b1:1000 0011 | 1111 1100 | 1111 1101
            // b2:1000 0100 | 1111 1011 | 1111 1100
            // ------------------------------------
            //                           1111 1101
           // 补码:1111 1101 | 反码:1111 1100 | 原码:1000 0011 十进制:-3
             byte b = 2 << 3;
             System.out.println(b);
             System.out.println(4 << 2);
             System.out.println(-4 << 3);
             // -4: 1000 0100 | 1111 1011 | 1111 1100.
             //1110 0000. | 1101 1111 | 1010 0000

      右移和左移相反,相当于对原数进行2的n次方的除法

      16 >> 2 = 16 / 4 ;

              System.out.println(16 >> 2);
             System.out.println(-16>> 2);
             System.out.println(-16>>3);

      无符号右移>>>

      对于正数的无符号右移和普通右移一样

              byte b = -8;
             // 把-8换成int型的补码
             // b: 1000 1000 | 1111 0111 | 1111 1000
             // 1111 1111 1111 1111 1111 1111 1111 1000
             // 0011 1111 1111 1111 1111 1111 1111 1110
             System.out.println(-8>>>2);



    软件下载提取码:qwer
  • 相关阅读:
    detectron源码阅读,avgpool是什么意思、特征意思
    detectron2 特征金字塔代码讲解,detectron2train的过程
    detectron2 一个整体的demo说明自定义数据集以及训练过程
    fcos学习问题
    直接debug在源码上修改的方式
    为什么如果待分类类别是10个,类别范围可以设置成(9,11)
    delphi 各版本下载
    oracle11g 修改字符集 修改为ZHS16GBK
    delphi 判断调试状态
    fastreport5 有变量时 不加引号字符串出错 提示没有声明的变量
  • 原文地址:https://www.cnblogs.com/ty0910/p/14429404.html
Copyright © 2011-2022 走看看