Rumah  >  Soal Jawab  >  teks badan

java - Byte自增问题

Byte a = 123;
        a++;
        System.out.println(a);// 124
        /*
         * 上面的结论是: a++的时候首先是 创建一个Byte对象124,然后将a引用指向这个Byte 124对象,这个解释有问题吗?
         */

        Byte b = 126;
        b = b++;
        System.out.println(b);// 126
        /*
         * 根据第一段代码的执行结果;
         * b=b++,的执行操作是首相将b引用赋值给b引用,所以没有改变,然后将b引用所指向的对象自增(这个实现的过程是创建一个对象值为127,
         * 然后让b引用指向这个127),如果这样理解,结果不应该是127吗
         */

求解,谢谢

PHPzPHPz2742 hari yang lalu478

membalas semua(5)saya akan balas

  • 大家讲道理

    大家讲道理2017-04-18 10:58:08

    b = b++: Jika anda tahu C++, anda boleh merujuk kepada pelaksanaan kenaikan diri ++, dan anda sepatutnya dapat memahami mengapa ia 126

    Byte operator++(Byte) {
        Byte temp = *this;
        this->value = this->value + 1;
        return temp;
    }

    Boleh difahami bahawa b adalah sama dengan suhu sebelum operasi dinaikkan

    balas
    0
  • PHP中文网

    PHP中文网2017-04-18 10:58:08

    ++, -- mesti ditulis berasingan, jika tidak, anda akan menyusahkan diri sendiri.
    Untuk soalan seperti i=i+++++i, saya hanya boleh menghina...

    balas
    0
  • 高洛峰

    高洛峰2017-04-18 10:58:08

    Diselesaikan
    http://blog.csdn.net/brooksyc...
    Siarkan ulasan

    balas
    0
  • 迷茫

    迷茫2017-04-18 10:58:08

    Perbezaan antara ++b dan b++ sebenarnya tidak berguna

    balas
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:58:08

    Bingkai tindanan Java mengandungi jadual pembolehubah tempatan dan tindanan operan Operasi kenaikan ++ ialah operasi langsung pada nilai dalam jadual pembolehubah tempatan Apabila i=i++, mula-mula tambah i dalam jadual pembolehubah setempat Tolak ia ke dalam tindanan operan, kemudian tambahkan 1 kepada i dalam jadual pembolehubah tempatan menjadi 127, dan kemudian tulis i (126) dalam tindanan operan kembali kepada i dalam jadual pembolehubah tempatan, meliputi 127 data dan tukar kepada 126 . Susunan ++i adalah berbeza. Ia mula-mula menambah i dalam jadual pembolehubah setempat dan kemudian menambahkannya pada tindanan operan.

    balas
    0
  • Batalbalas