首先让我们先明白两个概念:变量、常量
常量:程序中固定不变的量,通常一个固定的数值我们称之为常量
变量:用来命名某个数据的标识符,简单来说就是用来表示任何常量的量
java中一共有8种基本的变量类型:(其中一个字节等于8位)
- 整型:byte、short、int、long(1字节、2字节、4字节、8字节)
- 字符型:char(2字节)
- 浮点型:float、double(4字节、8字节)
- 布尔型:Boolean(1字节)
整型变量用于存放整数,对于编译器而言,某个变量的类型都是有其取值的范围,一旦超过这个范围,编译器就会报错。整型变量的取值范围如下表:
类型 | 缺省值 | 长度 | 数值范围 |
---|---|---|---|
byte | 0 | 8位 | -128~127 |
short | 0 | 16位 | -32,768~32,767 |
int | 0 | 32位 | -2,147,483,648~2,147,483,647 |
long | 0 | 64位 | -9,223,372,036,854,775,808~ 9,223,372,036,854,775,807 |
字符型:用来存放字符,且只能存放一个字符,超过一个字符就会报错,用单引号''
public class Demo01 {
public static void main(String[] args) {
char a = 'a';//正确
char b = 'ab';//报错
}
}
浮点型:float和double(一般的默认计算情况下,是double型)
布尔型:Boolean只有两种(true和false,缺省值是false)在java中,和C语言不同的是不能直接对布尔型变量命名为0或1。
基本数据类型的类型转换:我们可以想象一下每一种数据类型都是不同容量的杯子,基本数据类型存在之间转换问题,那么就好比是杯子之间进行容量的交换。简单来说如果有一个小类型(10ml的杯子)的数据需要转换为大类型(20ml的杯子)的数据,那么这个是可以自动转换的,就相当于直接把小杯子中的水倒入大杯子中;另一种情况就是我们的强制类型转换,好比把大杯子的水倒入小杯子,这就要考虑到小杯子是不是可以放得下大杯子里面的水(两种情况:一种可以放得下,另一种就是溢出),这就是java中的数据类型转换。
命名规则:
-
变量命名只能使用数字、字母、下划线和美元符($)
-
数字不能作为第一个出现
-
在命名过程尽量使用完整的单词名,做到看名知义,养成良好的习惯
java中的final修饰符:被final修饰的变量只有 一次被赋值的机会。
public class Demo01 {
public static void main(String[] args) {
final int a ;
a = 8;//正确
a = 9;//报错,因为上面已经赋值过啦,仅能赋值一次
}
}
关于java中的代码块问题:别{}修饰的是java中的代码块,例如:
public class Demo01 {
public static void main(String[] args) {
{
System.out.println("普通代码块");
}
}
static {
System.out.println("静态代码块");
}
}
//输出结果:
//静态代码块
//普通代码块
静态代码块和普通代码块的区别:
普通代码块又称为构造代码块,可以给所有的对象进行初始化
静态代码块 随类的加载只执行一次,给类进行初始化,静态代码块都会先于普通代码块执行。