一、变量的概念
变量是Java程序中的一个基本存储单元。变量是一个标识符、类型及一个可选初始值的组合定义。所有的变量都有一个作用域,即变量在某一区域有效。
基本的变量声明方式如下:
type identifier [=value];
其中type为Java的数据类型,identifier为变量的名称,指定一个符号或一个值为初始化变量。初始化表达式必须产生与指定变量类型一样或兼容的值。声明指定类型的多个变量时,使用逗号将变量分开。例如以下几种方式都是正确的:
int a;
int b = 12;
char c = 'c';
int d = 5, e;
二、基本数据类型
在Java*有8种基本数据类型,分别为:字节型(byte)、短整型(short)、整型(int)、长整型(long)、字符型(char)、浮点型(float)、双精度型(double)、布尔型(boolean)。这些类型可以分为4组。
整数:包括字节型(byte)、短整型(short)、整型(int)、长整型(long)。他们都是有符号整数。
浮点型数:包括浮点型(float)、双精度型(double)。该表有小数精度要求的数字。
字符:包括字符型(char)。表示字符集的符号。
布尔型:包括布尔型(boolean)。一种特殊类型,仅有两个值,分别为真和假。
1、整数
4种整数的取值范围如下表:
类型名 | 大小/位 | 取值范围 |
byte | 8 | -128~127 |
short | 16 | -32,768~32767 |
int | 32 | -2,147,483,648~2,147,483,647 |
long | 64 | -9,223,372,036,854,775,808~9,223,372,036,854,775,807 |
这些数据都是有符号的,所有整数变量都是无法可靠的存储其取值范围以外的数据值,选择数据类型时一定要谨慎。
2、浮点数
2种浮点数的取值范围如下表
类型名 | 大小、位 | 描述 | 取值范围 |
float | 32 | 单精度 | 3.4E-038~3.4E+038 |
double | 64 | 双精度 | 1.7E-308~1.7E+308 |
3、字符型
char类型用来存储诸如字母、数字及其他符号之类的单一字符。字符类型只能表示单个字符,表示字符类型的值是在字符两端加上单引号,如'h'。
Java中的常用转义字符:
转义字符 | 含义 |
\n | 换行,将光标移至下一行开始处 |
\t | 水平制表符(tab键),将光标移至下一制表符位置 |
\b | 光标退一格,相当于backspace键 |
\r | 回车,将光标移至当前行的开始,不移到下一行 |
\\ | 反斜杠 |
\' | 单引号' |
\" | 双引号" |
4、布尔型
boolean型用来存储布尔值,Java中布尔值只有两个,要么是true,要么是false。
三、变量的初始化和作用域
1、初始化
变量可以在声明的时候初始化,也可以在声明后,通过赋值语句对其进行初始化。初始化后的变量依然可以通过赋值语句重新赋值。
2、作用域
-
作用域(Scope)决定了变量可使用的范围。
-
全局变量:变量可以在整个类中被访问。
-
局部变量:变量只能在定义其的代码段中被访问。
-
作用域规则:在一个代码段中定义的变量只能在该代码段或者该代码段的子代码段中可见。
四、变量的类型转换
1、自动类型转换(隐式转换)
多种互相兼容的数据类型在一个表达式中进行运算时,会自动的向大范围的数据类型进行进行转换。
发生自动类型转换的条件:
-
两种类型彼此兼容。
-
目标类型取值范围大于源类型。
2.强制类型转换
当两种类型彼此不兼容,或目标类型取值范围小于源类型时,自动转换无法执行,这事就需要强制类型转换。强制类型转换格式如下:
目标类型 变量 = (目标类型)值
如:
int a = 3;
byte b = (byte)a;
五、常量
常量就是程序里持续不变的值,他是不能改变的数据,利用final修饰的变量就是常量。如:
final double PI = 3.14;
这一篇的内容比较多,但是基本都是概念性的东西,下一篇将会介绍运算符相关的知识点。