java 基本数据类型字节数

daijope 2011-06-16 12:23:51
我们知道java的基本数为short 2bytes,int 4bytes,long 8bytes,float 4bytes,double 8bytes,char 2bytes。但是我们在一个txt中写一个char查看属性显示的是1byte,不是两字节。在中文的操作系统下,java文件输入输出采用的是GBK编码。然后又有什么ASCII GB2312 GBK ISO-8859-1 Unicode(a 0x00,0x61 英文两字节)UTF-8(不等长,高效这些编码)。
比如String str = "welcome to xian!";这个str是几字节啊?
这里有点混淆了,不知道java基本数据类型的字节数目是有什么决定的。

另外附上今天看到的给Char[]赋值的一种方法:
class Char {
public static void main(String[] args) {
String temp = "welcome!";
char[] ch = new char[temp.length()];
temp.getChars(0,temp.length(),ch,0);
System.out.println(ch);
System.out.println(temp.length());
}
}
希望理解问题的人能给我一点解答,,,,,,
...全文
192 点赞 收藏 1
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
afunx 2011-06-16
我们知道java的基本数为short 2bytes,int 4bytes,long 8bytes,float 4bytes,double 8bytes,char 2bytes。但是我们在一个txt中写一个char查看属性显示的是1byte,不是两字节。
java里的数据类型,是指它在运行时在内存中的大小,而你保存为.txt的话,是存在电脑硬盘上,这个就和操作系统以及硬盘所采取的格式有关。
举例而说,你通过记事本,编了一段.java的代码。这段代码的char是1byte。但是,你运行前会把它转换为.class。最后,你运行java程序,是在JVM中运行.class字节码,此时一个char在内存中占2bytes。
回复
发动态
发帖子
Java SE
创建于2007-09-28

6.1w+

社区成员

Java 2 Standard Edition
申请成为版主
社区公告
暂无公告