一个变量是“在Java程序执行时持有值”的一个容器,一个变量会被分配一个数据类型,变量是一个内存位置的名字。 Java中有三种类型的变量:局部,实例和静态。在java中有两种类型的数据类型:原始类型和非原始类型。
Java中的变量
变量是在内存中分配的保留区域的名称。换句话说,它是一个内存位置的名称。它是一个“变化+能够”的组合,意味着它的值可以改变。
int data=50;//这里 data 是变量
变量的类型
java中有三种类型的变量
- 局部变量
- 实例变量
- 静态变量
1)局部变量
在方法内部声明的变量称为局部变量
2)实例变量
在类中但在方法外声明并且没有声明为static的变量称为实例变量
3)静态变量
被声明为静态的变量被称为静态变量,局部变量不能被声明为静态的(报错:Modifier 'static' not allowed here)
示例
class A{
int data=50;//实例变量
static int m=100;//静态变量
void method(){
int n=90;//局部变量
}
}//end of class
Java中的数据类型
数据类型代表要存在变量中的不同值,在Java中,有两种类型的数据类型:
- 原始数据类型
- 非原始数据类型
数据类型 | 默认值 | 默认占用内存大小 |
---|---|---|
boolean | false | 1 bit |
char | '\u0000' | 2 byte |
byte | 0 | 1 byte |
short | 0 | 2 byte |
int | 0 | 4 byte |
long | 0L | 8 byte |
float | 0.0f | 4 byte |
double | 0.0d | 8 byte |
为什么char在Java中使用2个字节?
因为Java使用Unicode编码而不是ASCII码编码,\u0000是Unicode系统的最低范围
Java变量示例:溢出
class Simple{
public static void main(String[] args){
//溢出
int a=130;
byte b=(byte)a;
System.out.println(a);
System.out.println(b);
}}
输出结果:
130
-126
读者可以思考一下,为什么输出了-126
翻译自:https://www.javatpoint.com/variable-datatype