bytejava
Ⅰ java中的byte有什么作用
在今天,byte字节就是一个八位元组,使用其它位数的机器都进了博物馆。 java也提供了一个byte数据类型,并且是基本类型。java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127,也就是signed byte。不幸的是,byte的用作计数的时间远少于用表达基本内存单元的时间。比如从stream里读入一个双字节字符,我们先收到2个byte。为了把byte转换成适当的形式,需要对byte值做一些比较,比如判断字符集要比较其是否在某个编码范围内,比如GBK 0x8140~0xFEFE,然后new适当的string。 signed byte 把 0x00 ~ 0xff 映射成 0~127 -128~-1 两段,注意当与literal比较时,java自动将literal识别成int 可以用 下面的小程序来验证: 1 public class JavaByte 2 { 3 public static void main(String[] args) 4 { 5 byte b = 0; 6 for ( int i = 0; i <= 0xff; ++i ) 7 { 8 b = (byte)i; 9 System.out.print(" "+i+":"+b+", "); 10 } 11 } 12 } 当收到(0xC7B0)这个GBK字符时,要判断 0x81 <= 0xC7 <= 0xFE 是否成立,实际变成判断 -127 < -57 < -2,唔,万幸,可以直接比较 low < ch < high。如果要判断 0x00 <= 0xC7 <= 0x80 (ASC Char),这回麻烦了,变成判断 (0 <= -57 <= 127) || ( 0x57 == -128 )。比较简单的办法用 (b+256)%256的办法令其值回到0~255,或者用&0xff并赋给一个int。考虑到jvm里的byte其实也是32位的,所以在计划用byte的地方,直接用integer并不会有什么实际的损失,而 DataInputStream也提供了一个readUnsignedByte()方法返回的是int。所以真正的解决方案是忘掉byte,直接上 int。至于为什么java没有unsigned数据类型,照下面这个interview里Jams Golsing的意思,应该是java应该简单而unsigned算术过于复杂了会让大多数程序员产生误解误用:
Ⅱ java中byte[]是怎么意思
byte即字节的意思,是java中的基本类型,用心申明字节型的变量。
通常在读取非文本文件时(如图片,声音,可执行文件)需要用字节数组来保存文件的内容。
在下载文件时,也是用byte数组作临时的缓冲器接收文件内容。所以说byte在文件操作时是必不可少的。不管是对文件写入还是读取都要用到。
(2)bytejava扩展阅读:
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
Java语言是一门随时代快速发展的计算机语言程序,其深刻展示了程序编写的精髓,加上其简明严谨的结构及简洁的语法编写为其将来的发展及维护提供了保障。
由于提供了网络应用的支持和多媒体的存取,会推动Internet和企业网络的Web的应用。
Ⅲ JAVA中byte类型的介绍。 谢谢
1、在Java中,byte类型的数据是8位带符号的二进制数。最高位表示正负,0为正,1为负。
2、java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127,也就是signed byte。
3、正数的最高位都是 0 ,正数的值就是二进制表示的值。
4、负数的最高位都是 1 ,负数的值是 取反后加一 然后加个负号得到的值。
(3)bytejava扩展阅读
1、java基本数据类型
JAVA中一共有八种基本数据类型,分别是byte、short、int、long、float、double、char、boolean。
2、java各数据类型取值范围
byte,整型,1个字节,范围:-2的7次方 ~ 2的7次方-1;
short,整型,2个字节,范围:-2的15次方 ~ 2的15次方-1;
int,整型,4个字节,范围:-2的31次方 ~ 2的31次方-1;
long,整型,8个字节,范围:-2的63次方 ~ 2的63次方-1;
float,浮点型,4个字节,范围:3.402823e+38 ~ 1.401298e-45;
double,浮点型,8个字节,范围:1.797693e+308~ 4.9000000e-324;
char,文本型,2个字节,范围:0~2的16次方-1;
boolean,布尔型,1个字节,范围:true/false;
参考资料
网络-java字符型
Ⅳ java中获取byte[]的值
没看明白,让我猜一下:
现有打包后的数据,你想根据这个获取打包前的原始数据?
如果是这样的话,就得知道builderPacketHead()这个方法怎么实现功能的。
没有builderPacketHead源码的话那就没办法了,除非你运气好能猜到。
有源码也不一定能获取原始数据,对称加密方法很多而且很多不可逆转,非对称加密更麻烦。。。
Ⅳ java中byte是什么类型
java中byte是字节型。
java byte作为最小的数字来处理的,因此它的值域被定义为-128~127,byte的用作计数的时间远少于用表达基本内存单元的时间。
比如从stream里读入一个双字节字符,我们先收到2个byte。为了把byte转换成适当的形式,需要对byte值做一些比较,比如判断字符集要比较其是否在某个编码范围内。
(5)bytejava扩展阅读:
Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。
例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。
Ⅵ java byte 值
第一次不可以是因为setByte(Byte b)参数Byte型
而由你“etByte(Byte b)”这句可以看出来b必须为Byte型
所以用int型1是不能通过编译的
第二次
Byte b=1就是声明了b为Byte型
明白不?
Ⅶ java中byte的后缀是什么
123不加任何字符,其默认是int类型,加L是为了说明它是long型整数,byte不需要加任何字符,它就是字节类型。
Ⅷ java的byte和byte的区别
在java中有基本类型和复杂类型之分,
byte是基本类型,是编译器可以直接识别的,属于java语法方面的
而byte是一个java包中的一个类,编译器不认识byte
他看到的是一个用户自己定义的class;巧就巧在
java包中的byte类完成的功能类似与编译器提供的byte基本类型
关于byte的更过详情请查看java
api文档
Ⅸ Java中byte[][]是什么意思和byte[]有什么区别
byte[][] 二维数组
byte[] 一维数组
byte[] bys={1,2,3,4,5,};
byte[][] bys={{1,2,3},{4,5,6},{7,8,9}};
就只是,一个嵌套的关系,数组里面包含了另外的数组!
Ⅹ java中Byte的定义
signed 是有符号位,即最高位是符号位,
two's complement是特有名词,翻译过来是 补码
整句意思就是byte保存8位有符合的补码表示的整数。