Java变量
变量是内存中用于存储数据的位置(存储区域)。
为了指示存储区域,应该为每个变量赋予唯一的名称(标识符)。了解有关Java标识符的更多信息。
如何在Java中声明变量?
这是在Java中声明变量的示例。
int speedLimit = 80;
在这里, speedLimit是int数据类型的变量,并分配了值80。意味着, speedLimit变量可以存储整数值。您将在本文稍后详细了解Java数据类型。
在示例中,我们在声明期间为变量分配了值。但是,这不是强制性的。您可以在不分配值的情况下声明变量,以后可以根据需要存储值。例如,
int speedLimit;
speedLimit = 80;
变量的值可以在程序中更改,因此名称为“变量”。例如,
int speedLimit = 80;
... .. ...
speedLimit = 90;
Java是一种静态类型的语言。这意味着必须先声明所有变量,然后才能使用它们。
同样,您不能在同一范围内更改Java中变量的数据类型。 什么是可变范围?现在不用担心。现在,请记住您不能做这样的事情。
int speedLimit = 80;
... .. ...
float speedLimit;
要了解更多信息,请访问:我可以更改Java中变量的声明类型吗?
Java中的变量命名规则
Java编程语言具有自己的一组变量命名规则和约定。这是您需要了解的内容:
- Java中的变量区分大小写。
- 变量的名称是Unicode字母和数字的序列。它可以以字母$或_开头。但是,习惯上以字母开头的变量名。同样,变量名称不能在Java中使用空格。
- 创建变量时,请选择一个有意义的名称。例如, score , number , level比诸如s , n和l的变量名称更有意义。
- 如果选择一个单词的变量名,请使用所有小写字母。例如,最好使用speed而不是SPEED或sPEED 。
- 如果选择具有多个单词的变量名,请对第一个单词使用所有小写字母,并在每个后续单词中使用大写字母。例如, speedLimit 。
Java编程语言中有4种类型的变量:
- 实例变量(非静态字段)
- 类变量(静态字段)
- 局部变量
- 参量
您将在后面的章节中学习。如果您有兴趣现在了解更多信息,请访问Java变量类型。
Java原始数据类型
如上所述,Java是一种静态类型的语言。这意味着必须先声明所有变量,然后才能使用它们。
int speed;
在这里, speed是变量,变量的数据类型为int
。 int数据类型确定speed变量只能包含整数。
简单来说,变量的数据类型决定了变量可以存储的值。 Java编程语言中预定义了8种数据类型,称为原始数据类型。
除了原始数据类型外,Java中还引用了数据类型(您将在后面的章节中了解到)。
8种原始数据类型
布尔值
-
boolean
数据类型具有两个可能的值,即true
或false
。
- 默认值:
false
。
- 它们通常用于对/错条件。例如,
class BooleanExample {
public static void main(String[] args) {
boolean flag = true;
System.out.println(flag);
}
}
boolean
数据类型具有两个可能的值,即true
或false
。 false
。 class BooleanExample {
public static void main(String[] args) {
boolean flag = true;
System.out.println(flag);
}
}
输出 :
true
字节
-
byte
数据类型的值可以从-128到127(8位带符号二进制补码整数)。 - 如果可以确定变量的值在[-128,127]之内,则可以使用它代替
int
或其他整数数据类型来节省内存。 - 默认值:0
- 例:
class ByteExample {
public static void main(String[] args) {
byte range;
range = 124;
System.out.println(range);
}
}
输出 :
124
短
-
short
数据类型的值可以从-32768到32767(16位带符号二进制补码整数)。 - 如果可以确定该变量的值在[-32768,32767]之内,则可以使用它代替其他整数数据类型来节省内存。
- 默认值:0
- 例:
class ShortExample {
public static void main(String[] args) {
short temperature;
temperature = -200;
System.out.println(temperature);
}
}
运行该程序时,输出为:
-200
整型
-
int
数据类型的值可以从-2 31到2 31 -1(32位带符号的二进制补码整数)。 - 如果您使用的是Java 8或更高版本,则可以使用无符号32位整数,其最小值为0,最大值为2 32 -1。如果您想了解更多有关它的信息,请访问:如何在Java 8中使用无符号整数?
- 默认值:0
- 例:
class IntExample {
public static void main(String[] args) {
int range = -4250000;
System.out.println(range);
}
}
输出 :
-4250000
长
-
long
数据类型的值可以从-2 63到2 63 -1(64位带符号二进制补码整数)。 - 如果您使用的是Java 8或更高版本,则可以使用无符号的64位整数,其最小值为0,最大值为2 64 -1。
- 默认值:0
- 例:
class LongExample {
public static void main(String[] args) {
long range = -42332200000L;
System.out.println(range);
}
}
输出 :
-42332200000
注意,在-42332200000
结尾使用L
这表示它是不可或缺的字面量 long
类型。您将了解整体的字面量在本文后面。
双
-
double
数据类型是双精度64位浮点。 - 切勿将其用于诸如货币之类的精确值。
- 默认值:0.0(0.0d)
- 例:
class DoubleExample {
public static void main(String[] args) {
double number = -42.3;
System.out.println(number);
}
}
输出 :
-42.3
浮动
-
float
数据类型是单精度32位浮点。如果您有兴趣,请了解有关单精度和双精度浮点的更多信息。 - 切勿将其用于诸如货币之类的精确值。
- 默认值:0.0(0.0f)
- 例:
class FloatExample {
public static void main(String[] args) {
float number = -42.3f;
System.out.println(number);
}
}
输出 :
-42.3
请注意,在上述程序中,我们使用-42.3f
而不是-42.3
。这是因为-42.3
是double
字面量。要告诉编译器将-42.3
视为float
而不是double
,则需要使用f或F。
烧焦
- 这是一个16位Unicode 字符。
- char数据类型的最小值为
'\u0000'
(0)。 char数据类型的最大值为'\uffff'
。 - 默认值:
'\u0000'
- 例:
class CharExample {
public static void main(String[] args) {
char letter = '\u0051';
System.out.println(letter);
}
}
输出 :
Q
你得到的输出Q,因为Q的Unicode值是'\u0051'
。
这是另一个示例:
class CharExample {
public static void main(String[] args) {
char letter1 = '9';
System.out.println(letter1);
char letter2 = 65;
System.out.println(letter2);
}
}
输出 :
9
A
当您打印letter1时 ,您会得到9,因为letter1被分配了字符 '9'.
当打印letter2时 ,得到A的原因是ASCII值'A'
为65。这是因为java编译器将该字符视为整数类型。要了解有关ASCII的更多信息,请访问什么是ASCII代码?。
串
Java也提供了通过支持java.lang.String
类。以下是如何在Java中创建String对象的方法:
myString = "Programming is awesome";
Java String是一个重要的主题,您将在后面的章节中详细学习。但是,如果您不是编程的新手,现在想学习它,请访问Java String。
Java 字面量
为了理解字面量,让我们举个例子来给变量赋值。
boolean flag = false;
这里,
-
boolean
-是数据类型。 - 标志 -是可变的
-
false
是字面量。
字面量是固定值的源代码表示。
像的值1.5
, 4
, true
, '\u0050'
,在一个程序中直接出现,而不需要计算是字面量。
在上面的示例中, flag是变量。由于它是boolean
类型变量,因此可以存储false
或true
。为了使编译器理解它,需要进行计算。但是,像-5
, 'a'
, true
字面量表示固定值。
整数字面量
- 整数字面量用于初始化整数数据类型
byte
,short
,int
和long
变量。 - 如果整数字面量以
l
或L
结尾,则其类型为long
。提示:最好使用L
代替l
。// Error! literal 42332200000 of type int is out of range int myVariable1 = 42332200000;// 42332200000L is of type long, and it's not out of range long myVariable2 = 42332200000L;
- 整数字面量可以用十进制,十六进制和二进制数字系统表示。
- 以前缀0x开头的数字表示十六进制。同样,以前缀0b开头的数字表示二进制。
// decimal int decNumber = 34; int hexNumber = 0x2F; // 0x represents hexadecimal int binNumber = 0b10010; // 0b represents binary
浮点字面量
- 浮点字面量用于初始化数据类型为
float
和double
变量。 - 如果浮点字面量以
f
或F
结尾,则其类型为float。否则,它的类型为double。双精度类型可以选择以D
或d
结尾。但是,这不是必需的。 - 它们也可以使用
E
或e
以科学计数法表示。
class DoubleExample {
public static void main(String[] args) {
double myDouble = 3.4;
float myFloat = 3.4F;
// 3.445*10^2
double myDoubleScientific = 3.445e2;
System.out.println(myDouble);
System.out.println(myFloat);
System.out.println(myDoubleScientific);
}
}
输出 :
3.4
3.4
344.5
字符和字符串字面量
- 它们包含Unicode(UTF-16) 字符。
- 对于
char
字面量,使用单引号。例如,'a'
,'\u0111'
等。 - 对于
String
字面量,使用双引号。例如,"programming"
,"Java 8"
- Java还支持一些特殊的转义序列。例如,
\b
(退格键),\t
(制表符),\n
(换行符),\f
(换页符),\r
(回车符),\"
(双引号),\'
(单引号),和\\
(反斜杠)。
class DoubleExample {
public static void main(String[] args) {
char myChar = 'g';
char newLine = '\n';
String myString = "Java 8";
System.out.println(myChar);
System.out.println(newLine);
System.out.println(myString);
}
}
输出 :
g
Java 8