java char数据类型原理解析

这篇文章主要介绍了java char数据类型原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

java中的 char 数据类型使用 Unicode 编码,占用两个字节内存。

因为Unicode 采用无符号编码,一共可以存储 0x0000 ~ 0xffff 共65536 个字符,

而 int 是有符号4个字节,刚好一半是2个字节,所以在 java 将 char 看作整数(0-65535),于是我做了一个测试:

//unicode 无符号编码 0x0000 ~ 0xffff (16进制)总共 可以表示 0-65535
    for(int i =0 ;i<=65535;i++){
      if(i%10==0)System.out.println("");
      char s = (char) i;
      System.out.print(" "+i+"|"+s);
      Thread.sleep(300);
    }

备注,其他基本数据类型:byte \ short \ int \ long \ float \ double 分别占用内存 124848 个字节。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 如何通过java实现highcharts导出图片至excel

    1. 目的 通过java后台实现将前端页面的highcharts图表导出至生成的excel文件中.使用于报表页面导出类功能. 2. 说明 前端页面将图表的svg信息字符串作为参数传递 后台使用batik工具包生成图片 使用poi工具包操作excel 3. 使用jar包 1.batik-all-1.7.jar 2.poi-3.12.jar 3.commons-codec-1.12.jar 不导入不会报错,但使用时异常,提示信息:Exception in thread "main" jav

  • Echarts基本用法_动力节点Java学院整理

    echarts太完美了: 1,开源软件,无私的为我们提供漂亮的图形界面: 2,使用简单,默默的为我们封装了重要的js,只要会引用就会使用echarts: 3,种类多,echarts为我们提供了各种图标,其中最具象征的就是地图了: 4,兼容性好,基于html5动画渲染超棒. echarts官网 提供了源码和说明文档,使用echarts需要先到官网下载需要的js源文件. 官网上的demo中夹杂着很多我们用不到的东西,想使用饼状图就得从demo中把不用的去掉,劈植斩叶留下最原始的功能实现.这样毕竟比较

  • Java基本类型包装类概述与Integer类、Character类用法分析

    本文实例讲述了Java基本类型包装类概述与Integer类.Character类用法.分享给大家供大家参考,具体如下: 基本类型包装类概述 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据. 常用的操作之一:用于基本数据类型与字符串之间的转换. 基本类型和包装类的对应 Byte,Short,Integer,Long,Float,Double,Character,Boolean Integer类 为了让基本类型的数据进行更多的操作,Java就为每种基本类型提供了对应的包装

  • 区分java中String+String和String+char

    我们来考虑一个关于java中String的问题: "abc" + '/'和 "abc" + "/"的区别. 通过这个例子, 我们可以顺便练习一下JDK工具中javap的用法, 原问题是这样的: 把斜杠/当作字符或字符串有什么区别呢? 一个是当作基本数据类型char,一个是对象String.具体有什么区别呢? 当作字符效率会更高吗? String str = "abc" + '/'; 和 String str = "a

  • Java中char[] 和 String 类型占用字节大小问题

    作者:威威喵 原文链接:https://blog.csdn.net/smile_Running/article/details/87211916 在 C 语言中 1.char a[10] = {"China"} 中,这个 a 占用多少字节? 答:占用 10 个字节. 解析:上面代码对 a 做了赋值的操作, a[0]='C' ,a[1]='h' ,a[2]='i' ,a[3]='n' ,a[4]='a' ,a[5]='\0',a[6]='\0',a[7]='\0',a[8]='\0',a

  • 深入了解Java中String、Char和Int之间的相互转换

    在做在线编程题目的时候,需要了解一下数据的输入格式.这样可以对数据处理有比较好的把握,不需要把太多的时间放在这个上面,注重主要的算法逻辑即可.这里总结一下,为之后笔试做个准备. 1.从终端输入的方式 Scanner类的使用方法: Scanner scanner = new Scanner(System.in); 从终端获取输入流,输入流传入Scanner初始化对象时,作为参数传递进去. Scanner类的重要几个方法: next方法(读取一个字符) 1.一定要读取到有效字符后才可以结束输入(要是

  • Java Character类的详解

    使用字符时,我们通常使用的是内置数据类型char. 实例 char ch = 'a'; // Unicode for uppercase Greek omega character char uniChar = '\u039A'; // 字符数组 char[] charArray ={ 'a', 'b', 'c', 'd', 'e' }; 然而,在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情况.为了解决这个问题,Java语言为内置数据类型char提供了包装类Characte

  • Java中char[]输出不是内存地址的原因详解

    前言 Java中共有八种基本数据类型:byte,int,short,long,float,double,char,boolean. 计算机中的基础数据单位是bit, 1byte=8bit. 数据类型 存储大小 举例 注释 包装类 byte 1byte 3 字节 Byte int 4byte 4 整数 Integer short 2bytes 5 短整数 Short long 8bytes 6 长整数 Long float 4bytes 1.3 单精度浮点型 Float double 8bytes

  • java char数据类型原理解析

    这篇文章主要介绍了java char数据类型原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 java中的 char 数据类型使用 Unicode 编码,占用两个字节内存. 因为Unicode 采用无符号编码,一共可以存储 0x0000 ~ 0xffff 共65536 个字符, 而 int 是有符号4个字节,刚好一半是2个字节,所以在 java 将 char 看作整数(0-65535),于是我做了一个测试: //unicode 无符号编码

  • Java switch case数据类型原理解析

    这篇文章主要介绍了Java switch case数据类型原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Java 中 switch case 语句用来判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. 语法格式如下: switch(expression){ case value : //语句 break; //可选 case value : //语句 break; //可选 //你可以有任意数量的case语句 default

  • Java transient关键字原理解析

    这篇文章主要介绍了Java transient关键字原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Java 中的 transient 关键字被用来表示变量将不被序列化处理.那么在理解 transient 关键字之前,我们先了解下什么是序列化. 什么是序列化 序列化是对象进行持久化处理,也就是说,将对象转化成一个字节流进行存储(比如存储为一个字节文件)或传输(通过网络传输字节).同时,我们也可以从字节中反序列化一个对象出来.这是Java

  • Java容器ArrayList原理解析

    这篇文章主要介绍了Java容器ArrayList原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 List是collection接口的实现类 List: 特点:有序,可重复 它有两个常用的实现类: 一.ArrayList: 特点:以数组的形式进行存储,因此随机访问速度较快,所有它适用于查询. 缺点:不适用于插入和删除的操作 因为每次操作都需要移动数组中的元素. 根据源码我们能得出以下几点: 1.ArrayList 在初始化的时候如果我们没

  • Java多线程 ThreadLocal原理解析

    目录 1.什么是ThreadLocal变量 2.ThreadLocal实现原理 3.内存泄漏问题 4.使用场景 1)存储用户Session 2)解决线程安全的问题 3)使用ThreadLocal重新设计一个上下文设计模式 4)ThreadLocal注意事项 脏数据 内存泄漏 父子线程共享线程变量 1.什么是ThreadLocal变量 ThreadLoal 变量,线程局部变量,同一个 ThreadLocal 所包含的对象,在不同的 Thread 中有不同的副本. 这里有几点需要注意: 因为每个 T

  • Java原子操作CAS原理解析

    一.CAS(Compare And Set) Compare And Set(或Compare And Swap),CAS是解决多线程并行情况下使用锁造成性能损耗的一种机制,CAS操作包含三个操作数--内存位置(V).预期原值(A).新值(B).如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新为新值.否则,处理器不做任何操作.无论哪种情况,它都会在CAS指令之前返回该位置的值.CAS有效地说明了"我认为位置V应该包含值A:如果包含该值,则将B放到这个位置:否则,不要更改该位置,只

  • Java Number类原理实例解析

    这篇文章主要介绍了Java Number类原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Number类 内置数据类型:byte.int.long.double等 包装类:Integer.Long.Byte.Double.Float.Short. ​ 这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类.相似的,编译器也可以把一个对象拆箱为内置类型.Number 类属于 java.l

  • Java 并发编程:volatile的使用及其原理解析

    Java并发编程系列[未完]: •Java 并发编程:核心理论 •Java并发编程:Synchronized及其实现原理 •Java并发编程:Synchronized底层优化(轻量级锁.偏向锁) •Java 并发编程:线程间的协作(wait/notify/sleep/yield/join) •Java 并发编程:volatile的使用及其原理 一.volatile的作用 在<Java并发编程:核心理论>一文中,我们已经提到过可见性.有序性及原子性问题,通常情况下我们可以通过Synchroniz

  • JAVA基础之基本数据类型全面解析

    基本数据类型: 一.数值型 1)整数: 1.byte一个字节,8位,取值范围0~255,用于存放二进制数据. 2.short两个字节,16位,取值范围是在-32768~32767之间. 3.int四个字节,32位,取值范围为-2147483648~2147483648之间 4.long八个字节,64位,取值范围为 -9,223,372,036,854,775,808 ~9,223,372,036,854,775,807之间 2)浮点型: 1.float,四个字节,单精度浮点数,范围为-2^128

  • Java方法参数传递机制原理解析

    这篇文章主要介绍了Java方法参数传递机制原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Java方法中如果声明了形参,在调用方法时就必须给这些形参指定参数值,实际传进去的这个值就叫做实参. 这就涉及到Java中的参数传递机制,值传递. 基本数据类型 基本数据类型,值传递的体现是数值的传递. public class TransferTempTest { public static void main(String[] args) {

随机推荐