首页 > 试题广场 >

下面有关java基本类型的默认值和取值范围,说法错误的是?

[单选题]
下面有关java基本类型的默认值和取值范围,说法错误的是?
  • 字节型的类型默认值是0,取值范围是-2^7—2^7-1
  • boolean类型默认值是false,取值范围是true\false
  • 字符型类型默认是0,取值范围是-2^15 —2^15-1
  • long类型默认是0,取值范围是-2^63—2^63-1
推荐
  1. 默认值         取值范围 示例

字节型 : 0 -2^7—-2^7-1 byte b=10;

字符型 : ‘ \u0000′ 0—-2^16-1         char c=’c’ ;

short : 0 -2^15—-2^15-1 short s=10;

int : 0 -2^31—-2^31-1 int i=10;

long : 0 -2^63—-2^63-1     long o=10L;

float : 0.0f -2^31—-2^31-1 float f=10.0F

double : 0.0d -2^63—-2^63-1 double d=10.0;

boolean: false true\false boolean flag=true;

编辑于 2015-02-03 11:12:59 回复(7)


 默认值
存储需求(字节)
  取值范围
 示例
byte
0
1
 -2^7—2^7-1
byte b=10;
char
 ‘ \u0000′
2
 0—2^16-1
char c=’c’ ;
short
0
2
-2^15—2^15-1
short s=10;
int 
0
4
-2^31—2^31-1
int i=10;
long
0
8
-2^63—2^63-1 
long o=10L;
float 
 0.0f 
4
-2^31—2^31-1
float f=10.0F
double 
0.0d
8
-2^63—2^63-1
double d=10.0;
boolean
false 
1
true\false
boolean flag=true;
发表于 2016-01-04 15:47:23 回复(51)

byte : 0     -2^7—-2^7-1

short : 0     -2^15—-2^15-1

int : 0     -2^31—-2^31-1

long : 0     -2^63—-2^63-1

float : 0.0f     -2^31—-2^31-1

double : 0.0d     -2^63—-2^63-1
char : ‘ \u0000′     0—-2^16-1

boolean: false     true\false

编辑于 2015-09-20 13:59:40 回复(7)

byte占8位,而且有正有负。最大值当然就是01111111 = 2^7 - 1。因为负的二进制有个按位取反再加1的操作,所以最小值是10000000,按位取反后为11111111,再加1后为110000000 = -2^7

char的情况:

char占16位,而且没有负值。所以最小值是0。最大值是1111111111111111 = 2^16 - 1


发表于 2015-08-18 19:10:06 回复(0)
char没有负值
发表于 2015-06-16 15:55:51 回复(0)

序号

数据类型

大小/

封装类

默认值

可表示数据范围

1

byte()

8

Byte

0

-128~127

2

short(短整数)

16

Short

0

-32768~32767

3

int(整数)

32

Integer

0

-2147483648~2147483647

4

long(长整数)

64

Long

0

-9223372036854775808~9223372036854775807

5

float(单精度)

32

Float

0.0

1.4E-45~3.4028235E38

6

double(双精度)

64

Double

0.0

4.9E-324~1.7976931348623157E308

7

char(字符)

16

Character

‘ \u0000′ 

0~65535

8

boolean

8

Boolean

flase

truefalse



编辑于 2019-03-08 09:05:09 回复(0)
  1.               默认值           取值范围                        示例

字节型 :          0              -2^7—-2^7-1                  byte b=10;

字符型 :     ‘ \u0000′         0—-2^16-1                   char c=’c’ ;

short :           0                  -2^15—-2^15-1              short s=10;

int :                0                  -2^31—-2^31-1             int i=10;

long :             0                   -2^63—-2^63-1             long o=10L;

float :            0.0f                -2^31—-2^31-1            float f=10.0F

double :         0.0d               -2^63—-2^63-1           double d=10.0;

boolean:        false                true\false                   boolean flag=true;

发表于 2016-01-08 09:23:26 回复(0)
java中,char占16bit、byte占8bit、short占16bit、int占32bit、long占64bit、float占32bit、double占64bit。
只有char是无符号类型的。
字符型类型占用的是16位,2字节,但是字符型类型是无符号类型的,所以其取值范围是0 ~ 2^16-1 而不是 -2^15 ~ 2^15-1。

发表于 2016-04-03 16:01:26 回复(0)
char没有负值
发表于 2022-03-29 14:51:23 回复(0)
  1. 默认值         取值范围 示例

字节型 : 0 -2^7—-2^7-1 byte b=10;

字符型 : ‘ \u0000′ 0—-2^16-1         char c=’c’ ;

short : 0 -2^15—-2^15-1 short s=10;

int : 0 -2^31—-2^31-1 int i=10;

long : 0 -2^63—-2^63-1     long o=10L;

float : 0.0f -2^31—-2^31-1 float f=10.0F

double : 0.0d -2^63—-2^63-1 double d=10.0;

boolean: false true\false boolean flag=true;

发表于 2019-06-03 21:19:06 回复(0)
字节类型就是一个字节长度的整形, 所以是-2^7~2^7-1;
字符型是表示字符的,负数没有意义,所以是2个字节的非负整数 0-2^15-1
这个题让我真正的理解了字节型,它和字符没有一毛钱关系.一直被它的名字耽误了,要是改为"单字节整形",将是极好的.
编辑于 2019-03-26 17:16:09 回复(0)
Java的文本编码采用Unicode集,Java字符16位无符号型数据,一个字符变量在内存中占2个字节。
发表于 2015-07-31 16:38:16 回复(0)
byte : 0     -2^7—-2^7-1 short : 0     -2^15—-2^15-1 int : 0     -2^31—-2^31-1 long : 0     -2^63—-2^63-1 float : 0.0f     -2^31—-2^31-1 double : 0.0d     -2^63—-2^63-1 char : ‘ \u0000′     0—-2^16-1 boolean: false     true\false
发表于 2022-02-27 22:24:17 回复(0)
那几个热评的float和double好像有问题,float应该是-2^127 ~ (1-2^(-23))*2^127,double是-2^1023 ~ (1-2^(-52))*2^1023,有的答案当int和long算了。你定义float写个0.xxE12就轻轻松松超过2^31-1这个值了
编辑于 2021-12-21 01:45:02 回复(0)
字符型类型默认是空格,就是'\u0000'
发表于 2020-03-02 19:33:14 回复(0)
记得boolean型长度为一,就以为值是01来着,忘记字符型为正了
发表于 2019-11-29 09:39:13 回复(0)
字符型char默认值从0开始
发表于 2019-06-28 18:13:30 回复(0)

字符类型和字节类型应该对比着记范围,字符类型是0~2^16-1

字节类型-2^15~2^15-1

发表于 2018-12-02 14:23:19 回复(0)
为什么很多讨论列出的float和doble的范围都写错了,他们跟int和long的范围不一样啊~
发表于 2017-11-20 07:32:13 回复(0)
字符型默认值为/u0000——空格,字符无符号位,所以取值范围为0-2的16次方-1。
发表于 2023-06-09 09:02:44 回复(0)
char类型 取值范围是0到2^63-1
发表于 2023-05-20 23:17:02 回复(0)