目录
变量是什么?
基本类型变量
变量的定义
不同数据类型的变量命名
变量的命名规则
Java保留字和关键字
引用类型变量
常量
变量类型
变量是什么?
在数学这门学科中,相信大家肯定都学过勾股定理公式:a²+b²=c²,公式中的a,b,c就是变量。
在Java中有两种类型的变量:基本类型和引用类型
基本类型变量首先,我们将变量想象成一个大小不一的杯子,可以装不同容量的奶茶,那如何定义大中小杯呢?Java中有以下几种基本数据类型来定义我们的变量可以容纳多大的数据
- 布尔型
- 整型
- 浮点型
- 字符型
类型 | 位数(bits) | 数值范围 |
---|---|---|
布尔型 | ||
boolean | 无 | true/false |
字符型 | ||
char | 16 | 0~65535 |
整型 | ||
byte | 8 | -128~127 |
short | 16 | -32768 ~ 32767 |
int | 32 | -2147483648 ~ 2147483647 |
long | 64 | -9223372036854775808 ~ 9223372036854775807 |
浮点型 | ||
float | 32 | 最大表示3.4x10 38 |
double | 64 | 最大表示1.79x10 308 |
public class Test {
public static void main(String[] args) {
int x = 100; // 初始化变量x,并且赋值100
System.out.println(x);
x = 200; // 对变量重新赋值
System.out.println(x);
int y = 300;
int z = x + y; // 变量可以计算并且重新赋值给一个新的变量
System.out.println(z);
int a = z; // 将已有的变量赋值给一个新的变量
System.out.println(a);
}
}
不同数据类型的变量命名
public class Test {
public static void main(String[] args) {
char c = 'L';
System.out.println(c);
boolean b = true;
System.out.println(b);
int i = 100;
System.out.println(i);
byte b1 = 1;
System.out.println(b1);
short s = 200;
System.out.println(s);
long l = 999999999L;
System.out.println(l);
float f = 3.6666666f;
System.out.println(f);
double d = 3456.98;
System.out.println(d);
}
}
变量的命名规则
- 首字母:字母,下划线(_)或符号(不能含有空格,不能以数字开头)
- 非首字母之后的字符可以使用数字
- 除上面两个规则以外,不能使用Java的保留字和关键字,比如public,void,class等关键字
- 大小写敏感
引用变量可以理解为是一个实例对象,JVM会分配内存给实例化后的对象,然后赋值给引用变量指向这一块内存。
Dog myDog = new Dog();
- 定义一个myDog的引用变量
- new Dog()表示创建一个新的对象,JVM会给该对象分配内存
- 分配完以后将对象赋值给引用变量myDog,换句话说,myDog变量指向了对象的地址
final关键字修饰的变量称之为常量,常量一旦初始化不可改变,建议常量名字使用大写
final double TAX= 0.1;
作用:用来初始化一些不常改动的值,比如税率,如果需要改动只需改动初始化值即可,不需要改动源代码的其他地方。
变量类型变量有以下四种类型:
- 类变量(静态变量):独立于方法之外被static关键字修饰的变量,静态变量是属于类的变量,可以通过类名.变量名访问
- 实例变量(非静态变量):独立于方法之外没有被static关键字修饰的变量,是属于实例化对象的变量
- 局部变量:类中方法体内声明的变量,并且必须初始化,作用范围只在当前方法体内
- 方法参数:方法参数实际上和局部变量类似,调用带参数的方法时需要传已经初始化后的值给方法
public class DefaultValueTest {
public static void main(String[] args) {
System.out.println(VariableType.classType); // 类变量可以直接通过类名.字段访问
VariableType variableType = new VariableType();
System.out.println(variableType.instanceType); // 实例变量需要实例化后访问
variableType.method("方法参数");
}
}
class VariableType{
public static String classType = "类变量";
public String instanceType = "实例变量";
// text是方法参数
void method(String text) {
int i = 100; //局部变量
System.out.println(i);
System.out.println(text);
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)