Java 变量和数据类型
Java中的变量是什么?
Java变量是在Java程序执行期间存储数据值的容器。每个变量都被指定了数据类型,该数据类型指明了它可以存储的值的类型和数量。变量是数据的内存位置名称。Java变量主要有三种类型:局部变量、实例变量和静态变量。
要在程序中使用变量,您需要执行 2 个步骤
- 变量声明
- 变量初始化
如何在Java中声明变量?
要声明一个变量,您必须指定数据类型并为变量指定一个唯一的名称。
其他有效声明的示例
int a,b,c; float pi; double d; char a;
如何在Java中初始化变量?
要初始化一个变量,您必须为其分配一个有效值。
其他有效初始化的示例
pi =3.14f; do =20.22d; a=’v’;
您可以组合变量声明和初始化。
例子
int a=2,b=4,c=6; float pi=3.14f; double do=20.22d; char a=’v’;
Java变量的类型
在Java中,有三种类型的变量
- 局部变量
- 实例变量
- 静态变量
1) 局部变量
局部变量是在方法体内声明的变量。
2) 实例变量
实例变量是在没有 static 关键字的情况下定义的。它们在任何方法、构造函数或代码块之外声明。这些变量特定于类的每个实例,被称为实例变量。
3) 静态变量
静态变量仅在类加载时初始化一次,在程序开始执行之前。这些变量由类的所有实例共享,并在任何实例变量之前初始化。
Java变量类型及示例
class Guru99 { static int a = 1; //static variable int data = 99; //instance variable void method() { int b = 90; //local variable } }
Java中的数据类型是什么?
Java中的数据类型被定义为指定符,它们分配变量或标识符可以存储的值的大小和类型。Java具有丰富的数据类型。Java中的数据类型可以分为两部分
- 原始数据类型:包括整数、字符、布尔和浮点数
- 非原始数据类型:包括类、数组和接口。
原始数据类型
原始数据类型是预定义的,在Java语言中可用。原始值不与其他原始值共享状态。
有8种原始类型:byte、short、int、long、char、float、double 和 boolean
整数数据类型
byte (1 byte) short (2 bytes) int (4 bytes) long (8 bytes)
浮点数据类型
float (4 bytes) double (8 bytes)
文本数据类型
char (2 bytes)
逻辑
boolean (1 byte) (true/false)
数据类型 | 默认值 | 默认大小 |
---|---|---|
byte | 0 | 1 字节 |
短 | 0 | 2 字节 |
int | 0 | 4 字节 |
long | 0L | 8 字节 |
float | 0.0f | 4 字节 |
double | 0.0d | 8 字节 |
boolean | false | 1 位 |
char | ‘\u0000’ | 2 字节 |
要点
- 所有数字数据类型都是有符号的(+/-)。
- 数据类型的大小在所有平台上保持不变(标准化)
- Java中的char数据类型是2字节,因为它使用了UNICODE字符集。因此,Java支持国际化。UNICODE是一个字符集,涵盖了世界上所有已知的脚本和语言。
Java变量类型转换和类型转换
一种类型的一个变量可以接收另一种类型的值。这里有 2 种情况:
情况 1) 容量较小的变量被赋给容量较大的另一个变量。
这个过程是自动的,并且是非显式的,称为转换
情况 2) 容量较大的变量被赋给容量较小的另一个变量。
在这种情况下,您必须显式指定类型转换运算符。这个过程称为类型转换。
如果未指定类型转换运算符;编译器会给出错误。由于此规则由编译器强制执行,因此它会提醒程序员注意,他将要进行的转换可能会导致数据丢失,并防止意外丢失。
示例:理解类型转换
步骤 1) 将以下代码复制到编辑器中。
class Demo { public static void main(String args[]) { byte x; int a = 270; double b = 128.128; System.out.println("int converted to byte"); x = (byte) a; System.out.println("a and x " + a + " " + x); System.out.println("double converted to int"); a = (int) b; System.out.println("b and a " + b + " " + a); System.out.println("\ndouble converted to byte"); x = (byte)b; System.out.println("b and x " + b + " " + x); } }
步骤 2) 保存、编译和运行代码。
预期输出
int converted to byte a and x 270 14 double converted to int b and a 128.128 128 double converted to byte b and x 128.128 -128