`

Java中的char类型

    博客分类:
  • Java
阅读更多

一:char的初始化

char是Java中的保留字,与别的语言不同的是,char在Java中是16位的,因为Java用的是Unicode。不过8位的ASCII码包含在Unicode中,是从0~127的。

Java中使用Unicode的原因是,Java的Applet允许全世界范围内运行,那它就需要一种可以表述人类所有语言的字符编码。Unicode。但是English,Spanish,German, French根本不需要这么表示,所以它们其实采用ASCII码会更高效。这中间就存在一个权衡问题。

因为char是16位的,采取的Unicode的编码方式,所以char就有以下的初始化方式:

char c='c'; //字符,可以是汉字,因为是Unicode编码

char c=十进制数,八进制数,十六进制数等等; //可以用整数赋值

char c='\u数字'; //用字符的编码值来初始化,如:char='\0',表示结束符,它的ascll码是0,这句话的意思和 char c=0 是一个意思。

 

 

二:关于char占几个字节的问题如下:

1:“字节”是byte,“位”是bit ;

  2: 1 byte = 8 bit ;

  char 在java中是2个字节。java采用unicode,2个字节(16位)来表示一个字符。

  例子代码如下:

public class Test {  
  
  
    public static void main(String[] args) {  
        String str= "中";  
        char x ='中';  
        byte[] bytes=null;  
        byte[] bytes1=null;  
        try {  
            bytes = str.getBytes("utf-8");  
            bytes1 = charToByte(x);  
        } catch (UnsupportedEncodingException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
        }  
        System.out.println("bytes 大小:"+bytes.length);  
        System.out.println("bytes1大小:"+bytes1.length);  
    }  
    public static byte[] charToByte(char c) {   
        byte[] b = new byte[2];   
        b[0] = (byte) ((c & 0xFF00) >> 8);   
        b[1] = (byte) (c & 0xFF);   
        return b;   
    }  
}  

 运行结果:

bytes 大小:3
bytes1大小:2

  

java是用unicode来表示字符,"中"这个中文字符的unicode就是2个字节。

 String.getBytes(encoding)方法是获取指定编码的byte数组表示,

通常gbk/gb2312是2个字节,utf-8是3个字节

如果不指定encoding则取系统默认的encoding。

分享到:
评论

相关推荐

    解决mybatis使用char类型字段查询oracle数据库时结果返回null问题

    首先,需要了解Oracle数据库中char类型字段的特性。在Oracle中,char类型字段如果内容长度不够,会自动以空格方式补足长度。例如,字段namechar(5),若值为sgl,那么Oracle会自动用空格补足长度,最终值为sgl 。 ...

    char的真正含义

    本部分将详细说明Java中char类型的基本概念、本质、编码方式、运算行为、二进制表示及相关应用。 首先,char是Java中用于表示单个字符的数据类型,例如英文字母、中文字符等。在字符的表示中,char类型本质上是一个...

    详解Java中的char型数据

    与其他语言如C或C++中的`char`类型相比,Java的`char`类型具有显著的不同之处。在C/C++中,`char`类型的宽度为8位,采用ASCII字符集;而在Java中,`char`类型的宽度为16位,并采用了更广泛的Unicode字符集。 #### ...

    JAVA的Char例子

    这是一个用JAVA语言编写的源代码,里面的内容主要是char数据类型的应用,适合初学者参考.

    Java 中 char 与 byte 的区别

    在Java编程语言中,`char` 和 `byte` 是两种基本的数据类型,它们分别用于处理字符和数值数据。尽管这两种类型都用来存储数据,但它们之间存在着显著的差异。本文将深入探讨这两种数据类型的特性及其在实际应用中的...

    java中int_char_string三种类型的相互转换

    Java 中 int、char、String 三种类型的相互转换详解 Java 作为一种静态类型语言,对变量的类型定义非常严格。然而,在实际开发中,我们经常需要在不同的类型之间进行转换以满足不同的需求。其中,int、char、String...

    sqlserver数据库类型对应Java中的数据类型

    在 Java 中,char 对应的数据类型是 String。 decimal 在 SQL Server 中,decimal 是一个小数类型,用于存储小数值。在 Java 中,decimal 对应的数据类型是 java.math.BigDecimal。 float 在 SQL Server 中,...

    java常用char,string函数

    在Java编程语言中,`char`类型用于表示单个字符,而`String`类则用于处理字符串数据。这两种类型是进行文本处理时不可或缺的基础工具。本文将详细介绍Java中与`char`和`String`相关的常用函数,帮助初学者更好地理解...

    Java面试宝典2017版本高清.pdf版

    - Java中char类型变量是否能够存储中文字符; - Java中2乘以8的最有效计算方式; - Java中设计一个计算一百亿值的计算器的方法; - Java中使用final关键字修饰变量时,引用和引用的对象是否都可以改变; - Java中“=...

    Java数据类型和MySql数据类型对应一览

    在 Java 中,数字类型对应的是 java.lang.Integer、java.lang.Long、java.lang.Float、java.lang.Double 等类型。在 MySql 中,数字类型对应的是 INTEGER、BIGINT、FLOAT、DOUBLE 等类型。其中,INTEGER 类型用于...

    Java面试神技.pdf

    Java中char类型可以隐式转换为int、long、float和double类型,但不能隐式转换为字符串。在进行显式转换时,需要特别注意目标类型是否能够兼容原类型。 以上知识点涵盖了Java基础、OOP面向对象编程以及Java中的数据...

    java经典练习题全套

    5. Java中char类型的数据长度为 16位。 知识点:Java基本数据类型、char类型。 6. 下面哪个表达式是错误的:int i = 100;。 知识点:Java基本数据类型、整数类型、浮点数类型。 7. 下面哪个语句是正确的:String...

    Java面试宝典2013最新版

    5. Java中char类型变量可以存储一个中文汉字,因为Java采用Unicode编码。 6. Java中整数乘法可以使用位运算符&和来提高效率。例如,2乘以8可以写作 2 。 7. Java的clone()方法在实现时,通常会有一行代码是调用...

    java经典技术

    一个中文汉字通常占两个字节,但在Java中char类型占据16位,所以可以存储。 8. **计算2乘以8**:最有效率的方式是直接使用`2 ,这是位左移运算,相当于乘以2的3次方,即8。 9. **设计百亿计算器**:设计一个能处理...

    java练习题大全

    22. Java中char类型的取值范围是单个16位Unicode字符,即从U+0000到U+FFFF。 23. javadoc是一个Java文档生成工具,它可以处理源代码中的注释。使用/** ... */来注释,可以标记生成文档的注释。 24. 十进制数16转换...

    MySql于Java数据类型对应列表

    本文将详细介绍MySQL中的各种数据类型及其在Java中的对应类型,并解释这些类型的具体含义以及它们在实际应用中的作用。 #### 数据类型对照表解析 ##### 1. VARCHAR (可变长度字符串) **显示长度:** L+N **数据库...

    Java中数据类型和MYSQL中数据类型的对比

    Java 和 MySQL 数据类型之间的对比是理解数据库操作和应用程序开发中数据处理的关键。这两种语言的数据类型在功能和使用上都有所不同,尽管它们都用于存储和处理数据,但各自有着特定的适用场景和特点。 首先,Java...

    java基础知识点.pdf

    1. 数据类型转换:Java中char类型到int类型转换会自动提示,因为char是基于ASCII值转换,而int到char则需要强制转换,并查Unicode编码表。 2. 小数与二进制转换:在Java中,小数转为二进制无法精确表示,而强制转换...

    java试卷 用于高校 java考试专用

    Java中的char类型只用于表示Unicode编码的一个字符,不能直接用于整数运算。 8. Java类名与源文件名的关系: 是的,Java规定,每个类都应该在一个单独的源文件中,且源文件的名称必须与类名完全匹配,包括大小写,...

    Java中的基本类型和引用类型变量的区别

    基本类型是 Java 中的八种基本类型,包括 byte、short、int、long、float、double、char 和 boolean。这些类型的变量直接存储值,例如 int a = 250;这里的 a 变量直接存储整数 250。 引用类型是一种对象类型,包括...

Global site tag (gtag.js) - Google Analytics