看看你的基础怎么样? int a=0200;System.out.println((byte)a);不运行,你认为应该输出什么?哈哈。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 int a = 200;System.out.println((byte)a);结果是-56int a = 0200;System.out.println((byte)a);结果是-128int a = 0200;System.out.println(a);结果是128有人能解释吗? int a = 0200;System.out.println((byte)a);outputs:-128int a = 0200;System.out.println(a);outputs:128糊涂了~~~~ int a=0200; a是八进制的? core java和thinking in java的区别,一个实用,一个理论,理论的好处就是可以装B int a=0200;0200 是个八进制数,十进制值为 128System.out.println((byte)a);先看看 int 类型的 128 用二进制表示为:0000 0000 0000 0000 0000 0000 1000 0000再采用 byte 强制向下转型时会截取最低的 8 位,即截取到 1000 0000byte 是有符号数,因此高位的 1 是个符号位,表示这个数是个负数。byte 的 1000 0000 转为十进制表示可以这样做,将所有的非符号位取反,再加 1,最后添加负号就行了比如:1000 0000 的非符号位为 000 0000,取反后为 111 1111,再加 1 为 1000 0000,即 128,再添上负号变成 -128,这也就说明 byte 的 1000 0000 值为 -128。 明白了,知道在Java中8进制,10进制和16进制的区别了~ 感觉你们学java的对底层了解的太少了,c/c++就不一样。 给大家个基础的java视频java视频教程《尚学堂马士兵 手把手java视频教程》第二版 http://www.ibeifeng.com/read.php?tid=887&u=73481]_尚学堂马士兵.rar 尚学堂150_j2se_笔记(推荐) http://www.ibeifeng.com/read.php?tid=6251&u=73481]_尚学堂150_j2se_笔记.rar 【青岛实训 J2se基础培训】 http://www.ibeifeng.com/read.php?tid=1384&u=73481]J2se基础培训.rar 【尚学堂 马士兵J2SE全集】 http://www.ibeifeng.com/read.php?tid=1192&u=73481]_马士兵J2SE全集.rar JAVA经典小程序集合 http://www.ibeifeng.com/read.php?tid=154&u=73481]_JAVA经典小程序集合.rar 《Java无难事 孙鑫的Java视频教程RMVB版全 cd9修正版》[ISO](超大完整版) http://www.ibeifeng.com/read.php?tid=1135&u=73481]_Java无难事.rar Java系列视频-提高java基础-包含oracle基础以及在eclipse中开发 http://www.ibeifeng.com/read.php?tid=1578&u=73481]_java基础.rar 感觉你们学c/c++的太自命不凡了, 像我以前同事, 非要抓住for循环中++i比i++的效率高, 坚持让所有人都那么写。其实他不知道有这个功夫不如多写几段代码, 这种++i和i++的简单问题编译器一般会自动优化。你们别懂得点小把戏就觉得可以嘲笑别人了, 做应用和做底层还不是很一样。 在嵌入式系统中我承认c语言有些优势, 尤其对内存的控制非常到位, 但是在应用系统中, 你们还是闭嘴吧, 现在和java竞争的是C#和其他一些动态脚本语言。 呵呵不会就学就行了有人指出你的不足你应该感谢他别老整什么语言好,什么语言不好。开发软件的着眼点不一样,关注的细节也不一样。发现自己不会就谦虚点,学了不就行了吗?建议上面互相斗嘴的朋友看看我的空间的一篇文章http://user.qzone.qq.com/37221597/blog/1226471873把心思花在如何开发更好的产品上才更有意义我想这也是CSDN创建的初衷 tomcat启动没有任何错误.日志什么的也都正常,但是运维组说,总是启动完毕很久 二维的ArrayList,里面的ArrayList存放String,怎么写? 我准备做一个类似PL/SQL的工具(要跨平台),想要特定解吸库(Oracle/mysql/sqlserver/...)结构,是不是要用到他们专用的java api 请教i=i++? java继承中的构造方法的问题 为什么java中的“{”要放在函数末尾,而不象c++中另起一行 请问如何复制整个文件夹? jdk的最新正式版本是多少? New,我的新问题。 怎么重写Enum的valueof方法? 关于继承 看不懂的多线程程序,望高手指点
System.out.println((byte)a);
结果是-56int a = 0200;
System.out.println((byte)a);
结果是-128int a = 0200;
System.out.println(a);
结果是128有人能解释吗?
int a = 0200;
System.out.println((byte)a);
outputs:-128int a = 0200;
System.out.println(a);
outputs:128
糊涂了~~~~
core java和thinking in java的区别,一个实用,一个理论,理论的好处就是可以装B
0200 是个八进制数,十进制值为 128System.out.println((byte)a);
先看看 int 类型的 128 用二进制表示为:
0000 0000 0000 0000 0000 0000 1000 0000再采用 byte 强制向下转型时会截取最低的 8 位,即截取到 1000 0000byte 是有符号数,因此高位的 1 是个符号位,表示这个数是个负数。byte 的 1000 0000 转为十进制表示可以这样做,将所有的非符号位取反,再加 1,最后添加负号就行了比如:1000 0000 的非符号位为 000 0000,取反后为 111 1111,再加 1 为 1000 0000,即 128,再添上
负号变成 -128,这也就说明 byte 的 1000 0000 值为 -128。
java视频教程
《尚学堂马士兵 手把手java视频教程》第二版
http://www.ibeifeng.com/read.php?tid=887&u=73481]_尚学堂马士兵.rar
尚学堂150_j2se_笔记(推荐)
http://www.ibeifeng.com/read.php?tid=6251&u=73481]_尚学堂150_j2se_笔记.rar
【青岛实训 J2se基础培训】
http://www.ibeifeng.com/read.php?tid=1384&u=73481]J2se基础培训.rar
【尚学堂 马士兵J2SE全集】
http://www.ibeifeng.com/read.php?tid=1192&u=73481]_马士兵J2SE全集.rar
JAVA经典小程序集合
http://www.ibeifeng.com/read.php?tid=154&u=73481]_JAVA经典小程序集合.rar
《Java无难事 孙鑫的Java视频教程RMVB版全 cd9修正版》[ISO](超大完整版)
http://www.ibeifeng.com/read.php?tid=1135&u=73481]_Java无难事.rar
Java系列视频-提高java基础-包含oracle基础以及在eclipse中开发
http://www.ibeifeng.com/read.php?tid=1578&u=73481]_java基础.rar
感觉你们学c/c++的太自命不凡了, 像我以前同事, 非要抓住for循环中++i比i++的效率高, 坚持让所有人都那么写。
其实他不知道有这个功夫不如多写几段代码, 这种++i和i++的简单问题编译器一般会自动优化。
你们别懂得点小把戏就觉得可以嘲笑别人了, 做应用和做底层还不是很一样。 在嵌入式系统中我承认c语言有些优势, 尤其对内存的控制非常到位, 但是在应用系统中, 你们还是闭嘴吧, 现在和java竞争的是C#和其他一些动态脚本语言。