标识符
标识符就是用于给程序中变量、类、方法命名的符号。Java语言的标识符必须以字母、下划线_和美元符$开头。
使用标识符有如下规则:
- 标识符不能以数字打头
- 标识符不能是关键字
- 不能包含空格
- 不能包含其他特殊符号
变量
我们通过变量来操纵存储空间的数据,变量就是指代这个存储空间。每个变量都必须声明其类型。Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。变量在使用前必须对其声明,只有在变量声明以后,才能为其分配相应长度的存储单元。
type varName = 初始值;
//编程的本质就是对内存中的数据的访问和修改。程序所用的数据都会保存在内存中,程序员需要一种机制来访问或修改内存中数据。之中机制就是变量,每个变量都代表了某一小块内存,而且变量是有名字的,程序对变量赋值,实际上就是把数据装入该变量所代表的内存区的过程。
变量分为:
局部变量(local variable):方法或语句块内部定义的变量。生命周期是从声明位置开始到”}”为止。在使用前必须声明和初始化。
public class Test { private static int a ; public static void main(String[] args) { System.out.println(a); // int b; int b = 3; //System.out.println(b); The local variable b may not have been initialized } public void say() { System.out.println(b); //b cannot be resolved to a variable } }
- 成员变量(member variable):方法外部、类的内部定义的变量。从属于对象,生命周期伴随着对象始终。如果不自行初始化,他会自动初始化该类型的默认初始值(数值型变量初始化为0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)
- 静态变量(static variable):使用static定义。从属于类,生命周期伴随类始终,从类加载到卸载。
变量相当于一个有名称的容器,该容器用于装各种不同类型的数据。
数据类型
- 基本类型 (包括数值类型和boolean类型和字符类型) 数值类型有整数类型和浮点类型
- 引用类型 (包括类、接口和数组类型)
基本数据类型
整型:
- byte: 一个byte类型整数在内存里占8位 一个字节
- short: 16位 两个字节
- int: 32位 四个字节
long: 64位 8个字节
一般情况下直接给出一个整数值默认就是int类型。
字符型:
- 直接通过单个字符来指定字符型值,例如’A’,’0’等
- 通过转移字符表示特殊字符型值,例如’\n’、’\t’等
使用Unicode值来表示字符型值,格式是’\uXXXX’,其中XXXX代表一个十六进制的整数
常用转义符:\b 退格符 \n换行符 \r回车符 \t制表符 \”双引号 \’单引号 \反斜线
由于计算机底层保存字符时,实际是保存该字符对应的编号,因此char类型的值也可以直接作为整数型值来使用,它相当于一个16位的无符号整数。
浮点型:
Java的浮点类型包括float和double两种。double类型代表双精度浮点数,float类型代表单精度浮点数。一个double类型的数值占8个字节,一个float类型的数值占4个字节。
- 十进制数形式:5.12、512.0、.512。浮点数必须包含一个小数点,否则会被当成int类型处理。
- 科学计数法形式:5.12e2(即5.12x10的2次方)
只有浮点类型的数值才开一个使用科学计数法形式表示。Java语言默认的浮点类型是double,如果希望Java把一个浮点类型值当成float类型处理,应该在这个浮点类型值后紧跟f或F。
布尔型:
boolean类型只能是true或者false
基本类型的类型转换
包括自动类型转换和强制类型转换
当把一个表数范围小的数值或变量直接赋给另一个表数范围大的变量时,系统可以进行自动类型转换。
public class Test {
private int a ;
public static void main(String[] args) {
Test t = new Test();
t.say();
}
public void say() {
a = 100;
byte c = (byte)a;
System.out.println(c);
}
}
运算符
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 类型相关运算符
算术运算符:
+ - * / % ++ –
位运算符
& | ~ ^ << >> >>>
三目运算符
(expression) ? if-true-statement : if-false-statement;
String str = 5>3 ? "true":"false";