JAVA编程基础二:变量和数据类型

变量

从中学数学中,我们通过未知数x来表达一个数据,这个数据的值是多少,我们不知道,但是x被带入运算。类似的,在JAVA中,我们把这种可变的“未知数”叫做变量。变量一般来说有三部分:变量的数据类型、变量名和变量值。

变量的数据类型,指的是该变量是什么类型的,比如说是整数还是小数,关于数据类型,下文会有详细讲解。

变量名,就是一个名称,他是一个标识符。你可以理解为未知数x。

变量值,就是这个x的值,x可以是任意符合数据类型约束的值。

关于变量,我们需要掌握以下知识:

1、声明并初始化变量

声明变量的格式:数据类型 变量名;,例如

int a;

声明变量的同时就初始化变量

声明变量的同时,我们可以给变量一个初始值,例如:

int a = 10;

动态初始化变量

变量的值可以由程序通过计算动态的获取,例如:

int a = 1;

int b = 2;

int c = a + b;

2、变量的作用域

目前,我们所使用的变量都是在main()方法中声明的,在main()方法里面的变量叫做局部变量,所谓局部变量,说明这个变量只会在某一个局部生效。在JAVA中,我们用一对大括号{}来划分一个局部,每个大括号里面的所有内容都属于一个局部,不同的大括号里面的内容属于不同的局部,局部变量只会在他所在的局部生效,例如:

观察上面的程序,我们发现:

一对大括号{}就是一个作用域

B1和b2属于同一个作用域

b1、c属于不同的作用域,a所在的作用域包括了b1、b2和c。

变量超出作用域就失效了

数据类型

在JAVA程序中,每一个数据都有自己所属的数据类型,比如一个人的年龄是35岁,我们可以用整数类型变量表示、一个人的年收入是23.5万,我们可以用浮点数(小数)变量表示、一个人的姓名叫做张三,我们可以用字符串变量表示等等。

JAVA中,数据类型有两大类:基本数据类型和引用数据类型,此处,我们只讨论基本数据类型,JAVA中有8种基本数据类型:

1、byte(整数)

byte 数据类型是8位、有符号的,以二进制补码表示的整数;

最小值是 -128(-2^7)

最大值是 127(2^7-1)

默认值是 0

byte 类型用在大型数组中节约空间

例子:byte b = 102;

2、short

short 数据类型是 16 位、有符号的以二进制补码表示的整数

最小值是 -32768(-2^15)

最大值是 32767(2^15 - 1)

默认值是 0

例子:short s = 1023;

3、int

int 数据类型是32位、有符号的以二进制补码表示的整数

最小值是 -2,147,483,648(-2^31)

最大值是 2,147,483,647(2^31 - 1)

默认值是 0

一般地整型变量默认为 int 类型

例子:int i = 1544545;

4、long

long 数据类型是 64 位、有符号的以二进制补码表示的整数

最小值是 -9,223,372,036,854,775,808(-2^63)

最大值是 9,223,372,036,854,775,807(2^63 -1)

默认值是0L

这种类型主要使用在需要比较大整数的系统上

例子: long a = 100000L

上面的"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写

5、float

float 数据类型是单精度、32位、符合IEEE 754标准的浮点数

float 在储存大型浮点数组的时候可节省内存空间

默认值是 0.0F

浮点数不能用来表示精确的值

例子:float pi = 3.14F

6、double

double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数

浮点数的默认类型为double类型

double类型同样不能表示精确的值

默认值是 0.0

例子:double pi = 3.14。

7、char

char类型是一个单一的 16 位 Unicode 字符

最小值是 \u0000(即为0)

最大值是 \uffff(即为65,535)

char 数据类型可以储存任何字符

例子:char c = 'c';

8、boolean

boolean数据类型表示一位的信息

只有两个取值:true 和 false

这种类型只作为一种标志来记录 true/false 情况

默认值是 false

例子:boolean one = true

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181019A02OVJ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券