一、变量:
(1)定义(defination):
可接受数据类型 变量名;
例如:
int a;
int a=5; //定义连同初始化
注意:final关键字修饰的常量表示只能被赋值一次。
(2)使用(usage)
例如:
a=3;
sout(a+5);
变量代表变化的数据,分为定义和使用。定义时,可以初始化,可以不初始化
但是:java要求没有被赋值的变量无法使用——以错误的方式体现
使用时
- 可以通过赋值,修改原有变量的值 a=10;
- 直接使用值替代变量名所在位置 a+3;
java支持的数据类型
- 基本数据类型(basic type)——8种
数值类型:
第一类:整型:byte/short/int/long
字面量(literals)
int a=10;
10+3;
(1)关于数值类型的字面量:
10——int类型
10L——long类型
-128~127在字面量中可以当成byte去使用 byte a=10;
(2)字面量的默认进制
int a=10;
int b=0xA; //只要用0x代表十六进制
int c=010; // 八进制
int d=b101; //二进制
int a= 100_0000
类型转换(type cast)
(1)
long a=10; //自然转换,不会报错。小范围赋值给大范围
int a=10;
long b=a ;
(2)
int a=10L; //大范围转换给小范围将报错
int a=(int)10L; //我已知,通过类型转换表示愿意承受这种精度损失
第二类:浮点型:float/double
10.0 ——默认为double类型
10.0F/10.0f——float类型
第三类:
字符型:char
char a='\n';
int b=a;
System.out.println(b);
布尔类型:boolean
boolean a=true;
boolean b=false;
System.out.println(a);
总结:
整型类型的存储大小
Byte 1
Short 2
Int 4
Long 8
浮点类型
Float 4
Double 8
字符
Char 2
布尔类型——没有规定
1、引用数据类型(reference type)
String——字符串
String s=”你好中国”;
byte/short/int/long类型溢出后,回转;
byte a=(byte)1280;
a其实是-128;
关于表达式的类型——类型提升(type promotion)
(1)类型提升:
int a=5;
long b=6;
a+b的类型——自动提升为long类型(靠近更大的那个)
(2)类型提升+类型转换:
int a=5;
long b=6;
int c=a+b; //错误
方法:
int c=a+(int)b;
int c=(int)(a+b);——方法较好
变量的作用域(scope)
int a=10;
作用域代表含义:
a这个符号(变量名)在代码哪块范围中,可以用来替换10进行使用。
变量的形态
- 局部变量(local variable)
- 属性/成员变量(field/member variable)
- 静态属性/类变量/静态变量
(static field/class variable/static variable)
初学者常见错误类型:
- 语法错误/编译错误
- 运行时错误
(1)运行时异常
(2)结果不符合预期