变量
变量的概念
变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的。
语法格式
数据类型 变量名 = 数值
注意:在Java中,定义的局部变量必须要赋值。
public static void main(String[] args) {
int a;
System.out.println(a);
}
上面这两行代码的运行结果是什么?0?答案是报错,因为a没有进行初始化
因此如果我们要定义变量时,要记得对变量进行赋值。
数据类型
Java的数据类型可以分为基本数据类型和引用数据类型。基本数据类型有整型、浮点型、字符型和布尔类型。引用数据类型有类、接口、数组和枚举等。
整型
整型类型的变量用来存放整数数值。整型类型有int、short、long和byte
数据类型 | 大小 | 取值范围 |
int(整型) | 占4个字节 | -231~231-1 |
short(短整型) | 占2个字节 | -215~215-1 |
long(长整型) | 占8的字节 | -263~263-1 |
byte(字节型) | 占1个字节 | -27~27-1 |
使用方式如下:
public static void main(String[] args) {
int a = 1;
short b = 1;
long c = 1L;
byte d = 1;
}
其中long和byte有一些需要注意的地方:
用long 在定义变量时 要在后面加L或l ,如果不加l或L到,虽然代码也能运行,但编译器会认为它是一个int类型的变量。推荐加L,l会看起来像1.
byte类型的变量的取值范围是-128~127,建议大家记一下
还有一点,在定义变量时,不能超过变量类型的取值范围。
因为byte类型的变量的取值范围是-128~127,因此超过了byte类型的最大取值范围,因此此时编译器会报错。
浮点数
浮点数有单精度浮点数(float)和双精度浮点数(double).
数据类型 所占空间的大小
float 占4个字节
double 占8个字节
对于float和double类型的数据的取值范围,因为浮点数与整数在内存中的存储方式不同,不能单纯使用2n的形式来计算,Java中浮点数的存储方式与C语言一样,遵循IEEE 754 标准,大家可以去看一下。
public static void main(String[] args) {
float a = 1.2f;
float b = 1.2F;
double c = 2.6;
}
注意
float类型的数据在定义时,要在后面加f或者F
因为float的精度比较小,因此以后在定义浮点数类型的数据时,建议使用double
字符型
字符型也就是char类型。char类型的大小是2个字节,取值范围为:0~65535,不能表示负数
char类型在定义变量时要加上’'(单引号)
Java 中使用 Unicode 表示字符. Unicode的环境下汉字占2个字节,因此char类型可以表示汉字。
public static void main(String[] args) {
char a = '张';
char b = 'A';
}
布尔类型
布尔类型(boolean)用于判断真假,java中true为真,false为假,因此boolean类型的变量的值就两个,就是true和false。
public static void main(String[] args) {
boolean a = true;
boolean b = false;
}
boolean可以直接赋值为true和false,也可以给一个可以判断真假的表达式。
boolean非常特殊,JVM并没有明确大小
字符串类型
字符串类型属于引用数据类型,是String类定义字符串类型。这个后面还会讲到,先来了解它的基本用法。
看下面这段代码及运行结果:
public static void main(String[] args) {
String a = "hello";
String b = "world";
System.out.println(a.length());
System.out.println(a+" "+b);
}
结论:
1.Java中的字符串不是以\0结尾的
2.字符串的长度可以直接通过变量名.length()获得
3.字符串的拼接用+