最近看了一个面试题是这样的:
char 是否能存储一个中文字符,为什么?
char类型一般占用两个字节,所以能存储中文字符(一个中文字符占用两个字节)。
char a = '中' ;(合法) char a = 'ab' ;(非法的)
所以char类型在内存中占用两个字节空间,但是只能表示一个字符。若是只要表示一个字节的字符,可以考虑byte。
byte表示字节,占用内存一个字节的空间。
byte a = 'a' ;(合法) byte a = '中' ;(非法的,不能存放中文字符)
另外:1 byte = 8 bit (bit就是0和1的一个位数,8bit表示一个字节)
String str = "中" ;
byte[] a = str.getBytes();
System.out.println(a.length); //打印出多长?
result:可能2,3,4.
原因是getBytes()方法会根据当前默认的字符编码格式获取字节数组,gbk/gb2312占2位,utf-8占3位,unicode占4位(很多地方看见别人说是占两位,但是亲测出来的结果是4,求解!)
可以str.getBytes("GBK"),str.getBytes("UTF-8")使用,指定了编码格式,就不根据默认的取得了。
分享到:
相关推荐
char类型在Java中占2个字节,因此转换后的byte数组长度为2。 ```java public static byte[] charToByte(char ch) { int temp = (int) ch; byte[] b = new byte[2]; for (int i = b.length - 1; i >= 0; i--) { b...
这个示例代码可以帮助我们更好地理解 char 数据类型的使用和 Unicode 编码的工作原理。 Java 中的 char 数据类型与其他基本数据类型的区别在于,它是唯一一个使用 Unicode 编码的基本数据类型。其他基本数据类型,...
1. **基本数据类型**:Java提供了八种基本数据类型,包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。了解这些数据类型及其范围和用法是编程的基础。 2. **变量...
本文将深入探讨Java中的八种基本数据类型:`boolean`、`byte`、`short`、`int`、`long`、`char`、`float`以及`double`,并结合实例来解释这些类型的特点及其在实际编程中的应用。 #### 1. `boolean` `boolean`类型...
本示例主要关注的是`byte[]`类型与其他基本数据类型(如`long`、`int`、`double`、`float`、`short`、`char`以及`String`)之间的转换。以下是对这些转换方法的详细解释: 1. **`short`到`byte[]`转换**: - `...
本文档旨在详细介绍byte与各种常见类型之间的转换方法,帮助开发者更好地理解和掌握这一技能。 #### 二、byte与int之间的转换 1. **int到byte[]的转换** - 使用按位与操作和右移操作来实现。 ```java public ...
基本类型包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。引用类型主要包括类、接口和数组,它们都是对象的引用。 3. **控制结构**:通过控制结构,程序员可以...
首先,我们需要理解Java中的字节数组(`byte[]`)和16进制字符串之间的关系。一个字节在Java中占用8位,可以表示-128到127之间的整数。而16进制的一个字符则表示4位(半字节),因此,一个字节可以用两个16进制字符...
基本数据类型包括整型(如`byte`, `short`, `int`, `long`)、浮点型(`float`, `double`)、字符型(`char`)和布尔型(`boolean`)。引用数据类型则包括类(class)、接口(interface)和数组,它们指向对象的内存...
原始类型包括整型(如byte、short、int、long)、浮点型(如float、double)、字符型(char)以及布尔型(boolean)。这些类型的数据可以直接在内存中存储值,而无需创建对象。然而,在某些场景下,我们可能需要将...
在Java编程语言中,了解一个对象占用的内存字节数对于优化内存使用和理解程序性能至关重要。本篇文章将深入探讨如何计算Java对象占用的内存字节数,以及影响这一数值的因素。 首先,Java对象在堆内存中由四个部分...
在Java编程语言中,...总之,理解和掌握Java中String与各种进制字符之间的转换对于日常编程至关重要。通过熟练运用上述方法,可以轻松处理与进制相关的任务,无论是处理用户输入、解析文件内容还是与其他系统交互。
Java提供了八种基本数据类型,包括布尔型(boolean)、字符型(char)、整型(int、short、byte)以及浮点型(float、double)。在Java中,整型数值还可以通过包装类(Integer、Short、Byte等)来表示,这样可以进行...
在Java中实现计算汉字笔画数的功能,主要涉及到对汉字编码的理解以及如何根据特定的规则来确定每个汉字对应的笔画数。在本例中,使用的是一种基于GB2312编码标准的方法,该标准是中华人民共和国国家标准之一,用于...
首先,"java基本数据类型A.xmind"和"java基本数据类型B.xmind"这两张思维导图主要介绍了Java中的八种基本数据类型,包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)以及布尔型...
在处理二进制数据时,我们经常需要将`byte`类型的数值转换为其他数据类型,如`int`、`short`或`char`。理解这些类型之间的转换规则至关重要,避免数据溢出或丢失精度。例如,将`byte`转换为`int`时,可以使用`(int)...
* Java 语言的八种基本数据类型有:byte 字节型、short 短整型、int 整型、long 长整型、float 单精度浮点型、double 双精度浮点型、char 字符型、boolean 型。 * 变量的类型有基本类型和引用类型两种。 * 运算符有...
基本类型包括整型(如int、short、byte、long)、浮点型(如float、double)、字符型(char)以及布尔型(boolean)。有时在处理数据时,我们需要将这些基本类型与字节数组(byte arrays)进行转换,特别是在网络...