java几个小疑问

来源:百度知道 编辑:UC知道 时间:2024/09/21 18:21:37
1.System.in.read();我们在用键盘输入字符时,输入的字符是单字节的吗?然后int b=System.in.read();是不是又将输入的单字节字符转化成了双字节的unicode码了?

2当缓冲区的内容满了时系统将其中数据写入外设,这时如果流中还有数据要写入缓冲区,是不是缓冲区中的数据边写入外设,这边的数据也边存储在缓冲区中?

3关于 Hanio这种递归思想说起来简单就是将 n-1个盘先移,最后一个盘再移到topeg,但是它的执行流程想起来却非常复杂,怎样才能弄懂弄通?
4 char c=97;是正确的(97在这是int型的吧)

int i=97;
c=i;是错误的

为什么??97不都是int 型的吗

“我对java还不了解,但你的问题补充我知道错在那里。
4 char c=97;是正确的(97在这是int型的吧)

int i=97;
c=i;是错误的”

c=i是错的因为把定义为整型的变量i赋给了字符型的变量c,整型和字符型变量的存储能力是不同的,在C中短整型为4个字节,字符型为1个字节。c=i;把4个字节赋给了1个字节,这当然不行咯。若改为这样c==i就可以了。
在java里好像字符型的变量存储4个字节,短整型变量能存储8个字节吧!?我记得我看过。所以在java里c=i也是错误的,情况我认为和C中是一样的。

整型和字符型之间是有一定的换算关系的.