11java标识符
标识符:自己起的名字,有字母数字下划线美元符号,不能以数字开始。区分大小写。理论长度无限制。有类名、方法名、变量名、接口名。
java规范类名首字母大写,每个单词首字母大写,即驼峰式命名。
12关键字
关键字goto,const没用但也是保留字,因为底层是c++,所以不能用。
13字面值
字面值即常量,println同一字面值,该字面值所占内存不同,即不能重复访问。
字符用单引号,字符串用双引号."A"是字符串。
14变量
根据位置分为局部变量和成员变量。
成员变量:类体中,方法之外,不初始化则默认为0;
17数据类型
有两种,基本类型和引用类型。
基本类型:整数(byte,short,int,long,分别1、2、4、8字节)、浮点(float四字节,double八字节)、字符(char:2字节)、布尔(boolean:true/false一字节,默认false)。
引用类型:数组、类、接口。
18字符编码
ascii,iso-8859-1,GB2312/GBK/GB18030,unicode(utf-8/16/32 ).
java采用unicode。
乱码:编码解码不一致。
char是2字节,可以存储汉字。
19转义字符
System.out.print()和System.out.println()
bin/native2ascii.exe
20整型
123L为long型
int最大2147483647
long a=2147483648会报错,因为右边的int类型溢出
大容量转小容量,需要强制类型转换:
long a=1L;int a=(int)a;
未超出范围则可以直接赋值:
char c=65535;
21浮点型
BigDecimal
double a=1.2;
float=(float)1.2;
float=1.2f;
22 boolean
只有true和false,没有1和0;
基本类型除了boolean都可相互转换。
默认转换:
byte->short/char->int->long->float->double
byte、short、char混合运算先转换成int。
26运算符
int k=1;
System.out.println("k="+k);//自动转换为字符串
27布尔运算
逻辑:& | ! ^
短路与或:&& ||
int a=10;
int b=10;
a<b & a++>=b;// a++执行
a<b && a++>=b; //a++不执行(短路)
29赋值
byte i=10;
i=i+1;//编译不通过,因为有类型转换
i+=1;//编译通过,即扩展赋值不改变运算结果类型
30
“+”两边一端是字符串,“+”就是连接作用
"a+b="+a+b;
"a+b="+(a+b);
40 break
ent:for(){
for(){
if() break ent;//指定结束某个循环,continue相同
}
}
41 方法
[修饰符(可选) 返回类型 方法名(){}]
初学所有方法定义为public static
static方法调用时采用"类名.func()",当前类方法可直接调用。
void类型方法结束:return;
42重载
如果不是用重载,如果有sumInt(),sumDouble(),则记忆麻烦。
可以定义两个sum():sum(int,int),sum(double,double)...
条件:
同一个类中
方法名相同
参数列表不同(类型、个数、顺序)
和修饰符及返回值类型无关。
eg. PrintStream.println()