变量
变量是系统为程序分配的一块内存单元。
变量分类:
按数据类型划分为基本数据类型、引用数据类型。
基本数据类型(8大基本数据类型)
整数数值型:
类型 | 类型关键字 | 占用字节数 | 取值范围 | 定义方式 |
整型 | byte | 1 | -2^7~2^7-1 | byte a = 1;默认值:0 |
整型 | short | 2 | -2^15~2^15-1 | short a = 1;默认值:0 |
整型 | int | 4 | -2^31~2^31-1 | int a = 1;默认值:0 |
整型 | long | 8 | -2^63~2^63-1 | long a = 1L;long a = 1l; (建议用大写L)默认值:0 |
字符类型 | char | 2 | 0 ~ 2^16-1 | char a = ‘a';默认值:\u0000 |
boolean类型 | boolean | 1 | true/false | boolean flag = true;boolean flag = false;默认值:false |
字符数值型:
类型关键字 | 占用字节数 | 取值范围 | 定义方式 |
float | 4 | [-3.40282346638528860e+38,-1.40129846432481707e-45]∪[1.40129846432481707e-45,3.40282346638528860e+38] | float a = 0.1F;默认值:0.0f |
double | 8 | [-1.79769313486231570e+308~4.94065645841246544e-324]∪[4.94065645841246544e-324~1.79769313486231570e+308] 。 | double a= 0.1;默认值:0.0d |
引用数据类型:
- 类(class)
- 接口(interface)
- 数组
按声明位置划分:
局部变量:方法或语句块内定义的变量。
成员变量:方法外部、类的内部定义的变量。
(变量声明必须在类里面)
类型转换
强制类型转换:大容量类型转小容量类型,必须使用强制转换,且容易导致内存溢出和精度问题:double→float→long→int→short(char)→byte
自动类型转换:小容量类型转大容量类型,java程序自动进行类型转换。
byte→short(char)→int→long→float→double
自动类型转换:容量小的类型转换成容量大的数据类型。
Byte,short,int->long->double
Byte,short,int计算时会自动转换int类型
强制类型转换:容量大的类型转换容量小的数据类型时,要加强制类型转换符。
Long k=100L;
Int i=(int)k;
可能会造成精度降低或数据溢出,使用时要小心。
Float定义时:
float f1=10.1f; 若不加f会默认为double类型。
long l1=200000000(l);若不加l会默认为int类型。
char c1=’A’;进行++c1或者(int)c1 System.out.print时会输出相应的ascii码。
标识符
Java中对包、类、方法、参数、变量等要素命名时使用的字符序列为标识符。
- 由字母、数字、下划线、美元符合组成。
- 不能以数字开头。
- 区分大小写。
- 长度无限制(见名知意,不能很长)。
- 不能是Java的保留关键字。
修饰符
同一个类 | 同包 | 不同包,子类 | 不同包,非子类 | |
Private | 1 | |||
默认 | 1 | 1 | ||
Protected | 1 | 1 | 1 | |
Public | 1 | 1 | 1 | 1 |
运算符
算数运算符:+、-、*、/、%、++、--。(int类型向下取整)
赋值运算符:=、+=、-=、*=、/=、%=,a+=b;->a=a+b;
关系运算符:==、!=、<、>、<=、>=;
逻辑运算符:&&(前false则不判断第二个,一false则false)、||(前true则不判断第二个,一true则true)、&(一false则false)、|(一true则true)、^(异或,同为true,异为false);
字符串连接符:String类型 s1+100会将100字符串直接加到s1字符串后面。
三目运算符:boolean表达式?表达式1:表达式2;
转义字符表:
转义字符 | \n | \r | \t | \v | \\ | \’ | \” |
意义 | 换行 | 回车 | 水平制表 | 垂直制表 | 一个\ | 一个’ | 一个” |
Ascii码 | 010 | 013 | 009 | 011 | 092 | 029 | 034 |
变量作用域:全局变量(成员变量),局部变量。
编程规范
代码中命名不能英语拼音混合,类名使用UpperCameCase上驼峰风格;方法名、参数名、成员变量、局部变量使用后驼峰风格;常量命名全部大写字母,单词间用_线分割力求语义表达完整清楚:MAX_STOCK_COUNT;抽象类命名使用Abstract或Base开头;异常类使用Exception结尾;测试类使用测试的类+Test结尾;包名统一使用小写单数;