我们将看到哪些是原始数据类型,如何定义变量,哪些是变量默认值,以及我们可以给这些变量起什么名字。
在Java中有两种类型的变量:
基元数据类型(原始的)
对象或引用
在本教程中,我们主要关注基元数据类型的变量。 对象(引用类型变量)将在关于类的教程中进行描述。
基元类型是不能分解为其他子类型的基本数据类型。
在Java6中有8种基元数据类型:
在Java中,变量是使用以下语法定义的:
variable_type variable_name;
其中 :variable_type–八个基元数据类型或类class定义的类型之一;variable_name–程序员定义的变量名;
变量名必须以字母、下划线符号(_)或美元符号($)开头;
变量名不能以数字开头;
在第一个字符之后,可以在变量名中使用数字;
变量名不能是Java语言保留的关键字;
可以同时定义多个变量;
public
class
Variables {
static
void
main()
{
// 正确定义的变量
int
vb1,vb2;
float
fvb2;
double
_temp;
boolean
$flag;
//错误定义的变量 将会报编译错误
byte
3vb;
// 以数字开头
long
for
;
// 使用了java关键字
}
变量名由程序员选择,但为了提高效率,在Java中有一个关于变量名的建议;
在初始化变量时,应该考虑变量的类型,因为在Java中,不可能分配与变量类型不同的值。从这个观点来看,Java是强类型语言(而Visual Basic不是)。
例如,以下语句将报编译错误,因为可能会导致精度损失:
vb2 =
23.5
//编译错误 - 可能导致精度丢失
vb3 =
45.6
test =
23
//编译错误 - 不兼容的类型
在定义float类型变量 vb2时,由于默认情况下 浮点数常量值被视为 double,所以会生成编译器错误。正确的方法是在值的末尾加上一个 f,即 float vb2 = 23.5f;
float vb2 = 23.5f;
值的类型必须与变量类型相同;
可以同时初始化多个变量;
在Java中,布尔变量的唯一可能值是true或false(在C或C++中,除0以外的任何数值都被视为true);
浮点常量值最后用符号 f定义,因为,隐式地,浮点数常量被认为是双精度的;
字符符号定义在“'”之间(单引号),而不是“"”之间(引号);
实数值可以用科学的格式定义,例如1.234e2等于123.4;
基数8中的整数值以0为前缀,例如021等于十进制的17;
以16为基数(十六进制表示)的整数值以x为前缀,例如0×11等于十进制的17;
char变量可以有一系列特殊字符作为值,转义序列:
value1;
value2;
value1 = value2 =
17
valueB8 =
021
valueB16 =
0x11
value3 =
123
.4f;
value4 =
123.4
char
c =
'a'
enter =
'\r'
isNumber =
true
value5 = 17L;
```
#### Java中变量的默认值是什么
如果变量没有初始化,那么编译器可以用默认值初始化它们( **但是,并非在所有情况下都是这样!)!** )
基元数据类型 | 默认值
--------|-------
|
0
short
| 0L
.0f
.0d
'\u0000'
false
**重要!**局部变量(在方法中定义)不是由编译器用默认值初始化的。
上表中的默认值用于对象(类中定义的变量)的属性、字段。
使用未初始化的局部变量将生成编译器错误:
``` plain
main(){
sum;
// 在main方法中声明的局部变量
sum = sum +
10
//编译错误
原文链接:https://codingdict.com/