精华内容
下载资源
问答
  • 首先Java中共有8中基本数据类型和3中引用数据类型,那么这8种基本数据类型都占几个字符呢? 二、分析问题 Java中的8种基本数据类型分别是: 字节型:byte 字符型:char 整型:int 长整型:long 短整型:short 浮点...

    一、提出问题

    首先Java中共有8中基本数据类型和3中引用数据类型,那么这8种基本数据类型都占几个字符呢?

    二、分析问题

    Java中的8种基本数据类型分别是:

    • 字节型:byte
    • 字符型:char
    • 整型:int
    • 长整型:long
    • 短整型:short
    • 浮点型:float
    • 双精度浮点型:double
    • 布尔型:boolean

    Java中的3种引用数据类型

    • 接口
    • 数组

    三、解决问题

    数据类型 大小
    1 byte 8 bit
    1 char 2 byte
    1 int 4byte
    1 long 8byte
    1 short 2byte
    1 float 4byte
    1 double 8byte

    一个中文字符占几个字节呢?

    数据类型 大小
    一个中文字符 2byte

    注意: !!!

    • 为什么char类型在Java中占2byte,在其他语言中占1byte呢?
      答:因为Java是Unicode编码,在Unicode编码中 1char == 2byte
    • 为什么在Java中一个中文字符占2个字节呢?
      答:同理,因为Java是Unicode编码,在Unicode编码中 一个中文字符占两个字节,在GBK /gb2312编码中占2字节,但是utf-8编码中占3字节
    • Boolean占多少字节?
      答:java规范中,没有明确指出boolean的大小,如果非要分大小,大概有以下3中说法。
      1、占1个bit(1/8个字节)
      理由:boolean类型的值只有true和false两种逻辑值,在编译后会使用1和0来表示,这两个数在内存中按位算,仅需1位(bit)即可存储,位是计算机最小的存储单位。在传智播客java基础班中也有有此理由(复习时所参考的视频)。
      2、占1个字节
      理由:虽然编译后1和0只需占用1位空间,但计算机处理数据的最小单位是1个字节,1个字节等于8位,实际存储的空间是:用1个字节的最低位存储,其他7位用0填补,如果值是true的话则存储的二进制为:0000 0001,如果是false的话则存储的二进制为:0000 0000。
      3、占4个字节
      理由:在《Java虚拟机规范》一书中的描述:“虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位”。也就是说JVM规范指出boolean当做int处理,也就是4字节,boolean数组当做byte数组处理,这样我们可以得出boolean类型占了单独使用是4个字节,在数组中是确定的1个字节。

    以上就是本文所有内容,希望能帮到大家!!!

    展开全文
  • 你的问题痛点只有一,混淆了unicode编码...(int只有21亿,为什么java能表示long长的数字,因为有long啊)unicode编码字符集一共有111万多个字符,utf常用有3种,java采用utf-16。wiki的原话UTF-16 is used i...

    你的问题痛点只有一个,混淆了unicode编码字符集和char。java采用unicode编码字符集、utf

    -16字符编码表,并不是使用char。char只是一种类型,和int一样。(int只有21亿个,为什么java能表示long长的数字,因为有long型啊)

    unicode编码字符集一共有111万多个字符,utf常用有3种,java采用utf-16。wiki的原话

    UTF-16 is used internally by systems such as[Microsoft Windows](https://en.wikipedia.org/wiki/Microsoft_Windows "Microsoft Windows"), the[Java programming language](https://en.wikipedia.org/wiki/Java_programming_language "Java programming language")and[JavaScript](https://en.wikipedia.org/wiki/JavaScript "JavaScript")/ECMAScript. It is also often used for[plain text](https://en.wikipedia.org/wiki/Plain_text "Plain text")and for word-processing data files on MS Windows. It is rarely used for files on Unix/Linux or[macOS](https://en.wikipedia.org/wiki/MacOS "MacOS").

    utf-16可以表示所有的unicode,111万多个,并且utf-16编码采用2个或者4个 16进制数字表示。为什么,你可以看看wiki了解一下。

    char只表示常用的字符,确实是6万多个。还有上面的答案“?”是包含在char中,整型大概是63000多。

    还有string.getBytes()是用于获取输出的字节,并不是内部jvm储存的字节,有多个重载,默认的字符集和一个jvm参数息息相关: -Dfile.encoding=UTF-8。一般从IDEA启动程序都是显式设置这个参数。

    展开全文
  • Java中有八大基本数据类型(1)整型int :整数类型short :短整型long :长整型byte :字节类型(2)浮点型float :浮点类型(单精度)double :浮点类型(双精度)(3)逻辑型boolean :布尔型(4)字符型char :字符型基本...

    在Java中有八大基本数据类型

    (1)整型

    int :整数类型

    short :短整型

    long :长整型

    byte :字节类型

    (2)浮点型

    float :浮点类型(单精度)

    double :浮点类型(双精度)

    (3)逻辑型

    boolean :布尔型

    (4)字符型

    char :字符型

    基本数据类型自动转换

    byte -> short

    char -> int -> long

    float -> double

    int -> float

    long -> double

    低数据类型可以直接赋值给高数据类型,反之,高数据类型转换为低数据类型必须强转,即提前制定数据类型,例 int a = (int) 5.0F

    Java 8大基本类型所占字节数(或 bit 数)

    类型 存储需求 bit 数 取值范围 备注

    int 4字节 48 -2147483648~2147483647 即 (-2)的31次方 ~ (2的31次方) - 1

    short 2字节 28 -32768~32767 即 (-2)的15次方 ~ (2的15次方) - 1

    long 8字节 88 即 (-2)的63次方 ~ (2的63次方) - 1

    byte 1字节 18 -128~127 即 (-2)的7次方 ~ (2的7次方) - 1

    float 4字节 48 float 类型的数值有一个后缀 F(例如:3.14F)

    double 8字节 88 没有后缀 F 的浮点数值(例如:3.14)默认为 double

    boolean 1字节 18 true、false

    char 2字节 28 Java中,只要是字符,不管是数字还是英文还是汉字,都占两个字节。

    至于为什么 Java 中 char 无论中英文数字都占用2字节,是因为 Java 中使用 Unicode 字符,所有字符均以2个字节存储。

    而如果需要识别字符是否为中文,可以使用正则匹配式:

    String _regex = "[\\u4e00-\\u9fa5]";

    补充

    Java有一个能够表示任意精度的算书包,通常称为“大数值”(big number)。虽然被称为大数值,但它并不是一种Java类型,而是一个Java对象。

    如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigInteger、BigDecimal(Android SDK中也包含了java.math包以及这两个类)这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。具体的用法可以参见Java API。

    现在金融类产品大热,建议金融类 App 的工程师在开发初期就直接使用 BigDecimal 数据对象来记录金融数据。

    展开全文
  • java基本数据类型各字节为:1、整型byte占用1个字节,short占用2个字节;2、浮点float占用4个字节,double占用8个字节;3、char占用2个字节。相关学习推荐:java基础教程在Java中一共有8种基本数据类型,其中...

    java基本数据类型各占字节为:1、整型byte占用1个字节,short占用2个字节;2、浮点型float占用4个字节,double占用8个字节;3、char型占用2个字节。

    20200913_5f5d97a583a20.jpg

    相关学习推荐:java基础教程

    在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。

    一个字节等于8个bit,java是跟平台无关的。

    (1)整型:

    其中byte、short、int、long都是表示整数的,只不过他们的取值范围不一样

    byte的取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1)

    short的取值范围为-32768~32767,占用2个字节(-2的15次方到2的15次方-1)

    int的取值范围为(-2147483648~2147483647),占用4个字节(-2的31次方到2的31次方-1)

    long的取值范围为(-9223372036854774808~9223372036854774807),占用8个字节(-2的63次方到2的63次方-1)。

    可以看到byte和short的取值范围比较小,而long的取值范围太大,占用的空间多,基本上int可以满足我们的日常的计算了,而且int也是使用的最多的整型类型了。

    在通常情况下,如果JAVA中出现了一个整数数字比如35,那么这个数字就是int型的,如果我们希望它是byte型的,可以在数据后加上大写的 B:35B,表示它是byte型的。

    同样的35S表示short型,35L表示long型的,表示int我们可以什么都不用加,但是如果要表示long型的,就一定要在数据后面加“L”。

    (2)浮点型:

    float和double是表示浮点型的数据类型,他们之间的区别在于他们的精确度不同

    float 3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方)占用4个字节

    double 1.797693e+308~ 4.9000000e-324 占用8个字节

    double型比float型存储范围更大,精度更高,所以通常的浮点型的数据在不声明的情况下都是double型的,如果要表示一个数据是float型的,可以在数据后面加上“F”。

    浮点型的数据是不能完全精确的,所以有的时候在计算的时候可能会在小数点最后几位出现浮动,这是正常的。

    (3)boolean型(布尔型):

    这个类型只有两个值,true和false(真和非真)

    boolean t = true;

    boolean f = false;

    (4)char型(文本型) :

    用于存放字符的数据类型,占用2个字节,采用unicode编码,它的前128字节编码与ASCII兼容

    字符的存储范围在u0000~uFFFF,在定义字符型的数据时候要注意加' ',比如 '1'表示字符'1'而不是数值1,

    char c = ' 1 ';

    我们试着输出c看看,System.out.println(c);结果就是1,而如果我们这样输出呢System.out.println(c+0);

    结果却变成了49。

    26380d8bf9fdb635fafa73fa8f8b4461.png

    扩展资料

    基本类型之间的转换

    将一种类型的值赋值给另一种类型是很常见的。在Java中,boolean 类型与其他7中类型的数据都不能进行转换,这一点很明确。

    但对于其他7种数据类型,它们之间都可以进行转换,只是可能会存在精度损失或其他一些变化。

    转换分为自动转换和强制转换:

    自动转换(隐式):无需任何操作。

    强制转换(显式):需使用转换操作符(type)。

    将6种数据类型按下面顺序排列一下:

    double > float > long > int > short > byte

    如果从小转换到大,那么可以直接转换,而从大到小,或char 和其他6种数据类型转换,则必须使用强制转换。

    想了解

    展开全文
  • 他们分别占几个字节?为什么? Java的八种基本数据类型 我们都知道Java中有八种基本数据类型,其中四种整型,二种浮点型,一种字符型,一种布尔型,这些基本数据类型占多大空间如下图所示,那么他们为什么占这么大...
  • 今天在复习java基础数据类型时,数值型byte(-128-127)个字节,short个字节,int个字节,long8个字节,浮点型float4个字节,double8个字节字符型char个字节,布尔类型boolaen1位,那么...
  • 1.Java 的基本数据类型都有哪些各占几个字节 类别 八种 字节数 数据表示范围 整型 byte 1 -128~127 整型 short 2 -32768~32767 整型 int 4 -2147483648~2147483647 整型 long 8 -263~263 -1 ...
  • Java面试题04.java中int占几个字节 Java面试题05.java面向对象的特征 Java面试题06.装箱和拆箱 Java面试题07.==和equals的区别 Java面试题08.String Java面试题09.讲一下java中的集合 Java面试题10.ArrayList 和...
  • 整数又分为 int (integer) 占用4个字节个字节占几个二进制位?8个二进制位,一个整型变量占32位二进制位(内存中开辟出来的存储空间)2、小数常量,所有的小数。3、布尔常量,只有两个值,true, false。4、字符...
  • Java中的数据类型

    2021-01-15 18:30:19
    Java中的数据类型 **Java中的数据类型有以下种: 整型变量 —— int 长整型变量 —— long 双精度浮点变量 —— double 单精度浮点变量 —— float 字符类型变量 —— char ...在 Java 中, 一 int 变量 4
  • java中基本数据类型主要有:整型,浮点型,字符型,布尔型整型数据类型中又可以分为以下种类型:1.Byte型这个类型的变量在内存中主要1个字节的大小,它的取值范围是(-2^7~2^7 - 1 ---> -128~127)。但是在使用...
  • Java面试03

    2018-01-12 23:24:11
    1. char变量中能不能存贮一个中文汉字?...补充说明.unicode编码是个字节,所以char类型是个字节的.2.用最有效率的方法算出2乘以8等於? 2 因为将一个数字左移n位就相当于乘以了2的n次方.而且位运算是cpu
  • C vs Java基本数据类型

    2014-07-11 16:13:10
    (1)五种基本数据类型:字符型(char:1个字节)、整型(int:4个字节)、单精度实型(float:4个字节)、双精度实型(double:8个字节)和空类型(void:0个字符)。 (2)种聚合类型:数组、指针、结构、共用体(联合)、...
  • Java面试题04.java中int占几个字节.mp4 │ Java面试题05.java面向对象的特征.mp4 │ Java面试题06.装箱和拆箱.mp4 │ Java面试题07.==和equals的区别.mp4 │ Java面试题08.String.mp4 │ Java面试题09.讲一下java...
  • 2.字符型(char)是个字节的 数组初始化 int[] a = {2,4,56};//静态初始化 int[] d= new int[10];//初始值都以0补充 // 数字的,初始值是0 // 布尔的,初始值是false // 字符的,初始值是'\0' // 对象的,...
  • java中基本数据类型主要有:整型,浮点型,字符型,布尔型 整型数据类型中又可以分为以下种类型: 1.Byte型 这个类型的变量在内存中主要1个字节的大小,它的取值范围是(-2^7~2^7 - 1 ---> -128~127)。 ...
  • Java面试题04.java中int占几个字节 Java面试题05.java面向对象的特征 Java面试题06.装箱和拆箱 Java面试题07.==和equals的区别 Java面试题08.String Java面试题09.讲一下java中的集合 Java面试题10.ArrayList 和...
  • 整数又分为 int (integer) 占用4个字节个字节占几个二进制位?8个二进制位,一个整型变量占32位二进制位 (内存中开辟出来的存储空间) 2、小数常量,所有的小数。 3、布尔常量,只有两个值,true, false。 4...
  • 工作有一段时间了,可发现自己越来越浮躁,而且基础差的一塌糊涂。还是静下心里补充一下基础吧。 今天无意间看到某位高人在自己博客...char型占个字节也就是16位。 2 已知字符a的编码是97,大写字符A的编码是65...
  • java 面试题 总结

    2009-09-16 08:45:34
    创建了几个String Object? 两个 28、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。 public class ThreadTest1{ ...
  • 我的面试题积累01

    2020-09-16 19:55:37
    1.Java中的几种基本数据类型是什么,各占几个字节? 整型 byte 1个字节 int 4个字节; short 2个字节; long 8个字节; 字符型 char 2个字节 一个单一的 16 位 Unicode 字符; 浮点型 float 4个字节 double 8...
  • 创建了几个String Object? 两个 31、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?  SessionBean: Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个...
  • JavaSE基础问答

    2017-03-11 16:19:00
    1.JAVA的基本数据类型有哪些?...追问:那 int 占几个字节? 整形从低到高分别占1,2,4,8个字节,int 的话就是占4个字节。一个字节8位,就是占32位嘛。然后最大值就是2的32次方,是21亿多。 ...
  • 答:是能够定义成为一个中文的,因为java中以unicode编码,一个char16个字节, 所以放一个中文是没问题的 根据运算符的功能,我们把运算符分成哪类? char变量中是否可以存储一个汉字? 能,因为...
  • 安卓面试题整理

    2019-03-28 15:11:17
    1.java基本数据类型有哪些,int, long占几个字节 四类八种基本数据类型: 数值型 整型(byte-1,short-2,int-4,long-8) 浮点型(float-4, double-8) 字符型 char 布尔型 boolean 2.== 和 ...
  • 2021-03-18

    2021-03-18 16:26:38
    Java基础——八种基本数据类型&取值范围 一名学生的日常总结 ...(什么占几个字节啦,对应包装类啦,巴拉巴拉~~~) 整型: byte:1字节, -128 ~ +127 末尾加B short : 2字节, -32767~ +32768 -2^15 2
  • 单元测试的几个框架Junit,Mockito,PowerMock都是非常优秀的框架,值得每个java程序员掌握。 其他的可以学习一下Selenium和Cucumber,作为end to end测试,Selenium配合headless chrome,真的不要太爽。 5. 实用库 ...

空空如也

空空如也

1 2
收藏数 32
精华内容 12
关键字:

java字符型占几个字节

java 订阅