变量
-
变量的作用
- 用来接收、保存、传递、操作对应数据的
- 变量的类型和数据的类型必须是一致的
- 如果类型不一致,那么就需要进行类型转换(自动转换、手动转换)
-
语法:
[修饰符] 数据类型 变量名 = 具体数据
-
变量的使用:
- 先声明,再赋值,在使用
- 也可以声明变量的同时就进行赋值,然后再使用
- 如果之声明变量,没有赋值,那么使用的时候会报错(注:如果是成员变量,没有显示赋值也会有默认初始化)
-
变量的种类:
- 通过类型划分:
基本数据类型
引用数据类型(类类型、接口类型、数组类型) - 通过范围划分:
局部变量
成员变量(实例变量)
- 通过类型划分:
-
变量名需要符合标识符规则
-
=
为赋值符号,把右边具体的数据,赋值给左边的变量,不同的数据类型对应不同的数据
局部变量
定义在方法中的变量,就是局部变量
局部变量没有默认值,需要使用时必须先赋值再使用
局部变量的作用范围:
- 变量都是有作用范围的,超出这个范围,变量就不能使用了
- 局部变量被直接包裹的大括号中,从这变量声明开始,一直到这个大括号结束
成员变量(实例变量)
成员变量又称为实例变量,它是类中的属性(非静态的)
成员变量是由默认值的,及时声明后不赋值,特也有一个默认值
- byte,默认值0
- short,默认值0
- int,默认值0
- long,默认值0L
- float,默认值0.0F
- double,默认值0.0D
- boolean,默认值false
- char,默认值‘\u0000’即一个空格
- 引用类型,默认值null
成员变量的作用范围是,当前类中所有的非静态方法中,都可以访问
基本数据类型
Java中有八种基本数据类型,是Java语言中,可以表示出来的最基本的数据的结构
类型 | 字节 |
---|---|
byte | 1字节(8bit) |
short | 2字节(16bit) |
int | 4字节(32bit) |
long | 8字节(64bit) |
float | 4字节(32bit) |
double | 8字节(64bit) |
char | 2字节(16bit) |
boolean | 1字节(8bi) |
1. 整型
有符号整数。
有符号整数吧二进制数的首位作为符号数,当首位为0,对应正整数,当首位为1,对应十进制的负整数。
1.1 byte
范围:负2的7次方~2的7次方减1
1.2 short
范围:负2的15次方~2的15次方减1
1.3 int
范围:负2的31次方~2的31次方减1
1.4 long
范围:负2的63次方~2的63次方减1
byte a = 1;
byte b = a + 1;//编译报错
//因为1默认为int类型,所以相加的时候会先将a提升为int
//byte = int + int 不可行
//此处需要修改为:byte b = (int)(a + 1);
byte c = 1 + 1;//编译通过
//1 + 1 的1都是默认int类型,但是这两个1都是固定的字面值
//编译器可以判断出其结果是否超出了byte表示的范围
//上一个例子中a+1不能判断出结果的原因是:a是变量,是有可能发生变化的
byte d = 1 + 127;//编译报错
//因为byte类型表示范围是(-128~127),超出了其范围