3.数据类型和变量

  • • 发表于 8年前
  • • 作者 大妖怪
  • • 2616 人浏览
  • • 1 条评论
  • • 最后编辑时间 6年前
  • • 来自 [技 术]

原创声明:本文为作者原创,未经允许不得转载,经授权转载需注明作者和出处

java是强类型语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用。所以,本章主要讲Java的八大基本数据类型。
详见表格:

基本数据类型 占用字节 默认值 封装器类
byte(字节型) 1 0 Byte
short(短整型) 2 0 Short
int(整型) 4 0 Integer
long(长整型) 8 0l Long
float(浮点型) 4 0.0f Float
double(双精度) 8 0.0d/0.0 Double
char(字符型) 2 /u0000(空格) Character
boolean(布尔型) false Boolean

注:比如long类型的值需要在后面加个小写的l表述这个数据类型是long类型,float和double也一样
其中byte、short、int、long都表示整数的,只不过他们的取值范围不一样:

  • byte的取值范围在-128~127(也就是-2的7次方到2的7次方-1)之间
  • short的取值范围在-32768~32767(也就是-2的15次方到2的15次方-1)之间
  • int的取值范围在-2147483648~2147483647(也就是-2的31次方到2的31次方-1)之间
  • long的取值范围在-9223372036854774808~9223372036854774807(也就是-2的63次方到2的63次方-1)之间

至于如何选择整数的类型,需要根据自己的需求来定,取值范围太大会浪费系统资源,太小又满足不了我们的需求,int是我们最常用的一个类型。

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

  • float:单精度小数,取值范围在3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方)
  • double:双精度小数,取值范围在1.797693e+308~ 4.9000000e-324之间
    double型比float型存储范围更大,精度更高;

所以通常的浮点型的数据在不声明的情况下都是double型的,小数类型的选取规则和整数一样。

char表示字符型:

  • char 可以是汉字,因为是Unicode编码
  • char 可以用整数赋值

boolean为布尔型,它只有两个值true和false,表示事件的真和假

下面开始实战:
我们先声明一个byte类型的数然后打印这个变量在main方法里写上下面代码

byte a;
a = 1;
System.out.println(a);

然后运行,可以在控制台看到输出了1

  • 注意变量的命名规则是:变量名必须为字母数字,下划线,美元符组成,不能包含空格,特殊字符等,并且首字母不能为数字。

  • 这段代码的意思是,首先我们声明一个byte类型的变量,并且给变量起名叫做a,下一行的意思是我们把1这个数赋值给a(关于赋值运算会在运算符这章详细讲解),然后就是打印这个a。由此可见,我们的代码运行的顺序是从上往下运行的。
    其它的类型的变量声明和赋值与byte一样,在此不做过多描述。
  • 除了声明变量,赋值变量这样去操作变量,我们还可以一步到位进行:声明并赋值:
    byte a = 1;
    

声明变量赋值变量的本质:

  • 声明变量是让计算机分配一块内存,这块内存的大小根据变量类型来决定,赋值则是把一些数据装入这块内存。
  • 如果分配的内存太小装不下要装的数据,则编译器会报错,比如可以尝试把200赋值给byte.
  • 变量不可以重复声明(注意),如:
    byte a;
    byte a;
    
    会发生报错,编译无法通过。
  • 变量可以重新赋值,如:
    byte a = 1;
    a = 2;
    
    那么在最后打印出来a的结果是2,因为重新赋值之后覆盖了之前的值

至于表格中最后一列的“封装器类”,在此不做过多的解释,后面也会抽出一章进行讲解。

分享到:
1条评论
Ctrl+Enter
作者

大妖怪

大妖怪

APP:1 帖子:76 回复:200 积分:7517

已加入社区[2944]天

梦里巷口,可有你倚门回首

作者详情》
Top