Java.io.DataInputStream.readInt()


1. 代碼

import java.io.DataInputStream;
import java.io.IOException;

public class Test {

    public static void main(String[] args) {
        System.out.println("請輸入數字:");
        DataInputStream dis = new DataInputStream(System.in);
        int x = 0;
        try {
            x = dis.readInt();
            System.out.println(x);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }
}

控制台輸入 : 12並回車

控制台打印: 825363722

 

2. 解釋

49*2^24 + 50*2^16 + 13*2^8 + 10 = 825363722

在控制台 輸入12, 其實輸入的是->

    字符'1'、字符'2'、回車、換行

對應的ASCII碼是 49 50 13 10

Int類型是4個字節的 , 所以 readInt()從流里讀出4個字節做位移運算  

這里存在一個把字符串二進制轉換成整型的問題。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM