Ⅰ java中 “字符类型”与“字节类型”的区别是什么
byte字节类型是JAVA中最小的数据类型,它在内存中占8位,取值范围从-128到127,
赋值:byte i = 127;注:byte型在赋值时,一旦超过127或小于-128,则会产生编译错误。
char字符类型在内存中占2个字节。表示一个字符,也可以使用A SCII码范围内的值来给char型的变量赋值。由于字符在内存中的取值不存在负数范围,所有取值范围从0到655 35。
赋值:char i = 'a'; 或者 char i = 97;
注:在java中,字符的表现形式为单个字符加上一对单引号修饰。
首先得知道byte的概念和作用:
byte即字节的意思,是java中的基本类型,用来申明字节型的变量。
通常在读取非文本文件时(如图片,声音,可执行文件)需要用字节数组来保存文件的内容,在下载文件时,
也是用byte数组作临时的缓冲器接收文件内容。所以说byte在文件操作时是必不可少的。不管是对文件写入还是
读取都要用到。byte在java中是一种是数据类型,代表一个字节,一个字节包含8个位,所以,byte类型的取值范
围是-128到127。
在某些程序中(尤其是和硬件有关的程序)会将某些数据存储到字节类型的变量中,比如00110010,其中每个
位都代表一个参数,然后以位运算的方式对参数进行取值和赋值操作。
机器只知道字节,而字符却是语义上的单位,它是有编码的,一个字符可能编码成1个2个甚至3个4个字节。这跟字
符集编码有关系,英文字母和数字是单字节,但汉字这些自然语言中的字符是多字节的。一个字节只能表示255个字
符,不可能用于全球那么多种自然语言的处理,因此肯定需要多字节的存储方式。而InputStream, OutputStream
它们是处理字节流的,就是说假设所有东西都是二进制的字节,而 Reader, Writer 则是字符流,它涉及到字符集
的问题;按照ANSI编码标准,标点符号、数字、大小写字母都占一个字节,汉字占2个字节。按照UNICODE标准所有
字符都占2个字节。
Ⅱ java中byte与char的问题。
byte是字节数据类型,是有符号型的,占1个字节;大小范围为-128—127。
char是字符数据类型,是无符号型的,占2字节(Unicode码);大小范围是0—65535;char是一个16位二进制的Unicode字符,JAVA用char来表示一个字符。
区别:
1、Char是无符号型的,可以表示一个整数,不能表示负数;而byte是有符号型的,可以表示-128—127的数;
2、char可以表中文字符,byte不可以;
3、char、byte、int对于英文字符,可以相互转化
对于你上面说的最后会出异常是因为你不能通过while对DataInputStream 无限制的读取,DataInputStream 内容读取完了之后就没有数据可读,固然会报错。
你应该先判断DataInputStream 是否可用,只有在可用的情况下能继续读取,应该改成:
DataInputStreamdi=newDataInputStream(newByteArrayInputStream(
s.getBytes()));
while(di.available()>0){
System.out.print((char)di.readByte());
}
文章参考:http://blog.csdn.net/luoweifu/article/details/7770588
Ⅲ java中byte是什么类型
java中byte是字节型。
java byte作为最小的数字来处理的,因此它的值域被定义为-128~127,byte的用作计数的时间远少于用表达基本内存单元的时间。
比如从stream里读入一个双字节字符,我们先收到2个byte。为了把byte转换成适当的形式,需要对byte值做一些比较,比如判断字符集要比较其是否在某个编码范围内。
(3)bytejava大小扩展阅读:
Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。
例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。
Ⅳ java中byte是什么意思
Java中的byte是一种基本数据类型,它占用1个字节,即8位,范围在-128到127之间。byte通常用于处理二进制数据或者字节流,比如文件读取、网络传输等。
byte的小尺寸使得它在某些场景下使用更加高效,比如在嵌入式系统或者节约带宽传输的环境中。同时,byte还可以通过位运算进行位操作,或者用于存储补码表示二进制的值。
当我们需要存储一些小的整数值时,可以优先考虑使用byte数据类型。同时,在涉及到文件读取、网络传输等场景下,byte也经常被用到。需要注意的是,byte类型的取值范围较小,需要注意数值溢出问题。
Ⅳ JAVA基本数据类型所占字节数是多少
32位系统
byte1字节
short2字节
int4字节
long8字节
char2字节(C语言中是1字节)可以存储一个汉字
float4字节
double8字节
booleanfalse/true(理论上占用1bit,1/8字节,实际处理按1byte处理)
JAVA是采用Unicode编码。每一个字节占8位。你电脑系统应该是32位系统,这样每个int就是4个字节
其中一个字节由8个二进制位组成
Java一共有8种基本数据类型(原始数据类型):
类型存储要求范围(包含)默认值包装类
整数类型
int4字节(32位)-231~231-10Integer
short2字节(16位)-215~215-10Short
long8字节(64位)-263~263-10Long
byte1字节(8位)-27~27-10Byte
浮点类型
float4字节(32位)-3.4e+38~3.4e+380.0fFloat
double8字节(64位)-1.7e+308~1.7e+3080Double
字符型
char2字节(16位)u0000~uFFFF(‘’~‘?’)‘0’Character
(0~216-1(65535))
布尔型
boolean1/8字节(1位)true,falseFALSEBoolean
(5)bytejava大小扩展阅读:
8种基本数据类型
在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit)
Java中有八种基本数据类型,分别为:byte、short、int、long、float、double、char、boolean。
这八种基本类型都有对应的包装类,分别为:Byte、Short、Integer、Long、Float、Double、Character、Boolean。
在Java中整型、实型、字符型被视为简单数据类型,这些类型由低级到高级分别为:(byte,short,char)--int--long--float--double
注意,整数比浮点数低级。低级到高级可以自动转换。而高级到低级需要用代码强制转换,不强转会编译错误。