java基本语法学习漏点总结:
标识符:“姓”只能有3种组成方式:字母,下划线,美元符号。“名‘’中可以有:字母,下划线,美元符号,数字。
中间不能有空格,不能为关键字(const,goto为java保留关键字)。
数据类型:基本数据类型(8种):byte(8),short()16,int(32),long(64),float(32),double(64),char(16),boolean(。。。。).
//就对于布尔来说,我感觉他是占一个字节但只有最后一位表示,其余全是0,但是多个boolean类型的,java可以对他压缩性存储。
常量中的值默认类型为double和int。
啥意思呢?就是如果你想这么定义float f=1.23,编译器会提示你会损失精度。你得这么写f=1.23F。整数如果你想定义long ll=数(大于int范围)也需要加L。但是两者的错误是不一样的。
基本数据类型关于强转中的排序
double>float>long>int>(short char )>byte.(后面三个变量都不能相互转换)。
二 运算符来说就是
1、++a和a++的区别(先加后算,先算后加)。
2、三目运算符:a>b?a:b.
3、&和&&、|和||的区别:
当运算符两边为布尔类型的时候,功能相同,但&&变身聪明‘与 ’,只要第一个表达式错误他就不去计算后面的表达式。
当两边为整数时,&变成按位‘与’。
4、扩展运算符+=、-=、*=、/=。
主要就是int x=2 x*=(x+=x) 结果x为8.
就我的理解来说,应该是他从表达式右端开始读数,并存入另外的一块内存空间,然后根据运算顺序进行计算,那么x在计算中发生了改变并不影响已经存入了的得值。
5、运用异或来交换两个变量。
a^=b;b^=a;a^=b;(a,b内存空间不能一样,a,b需为整数)。
6、移位运算符>>,<<,>>>(无符号右移位)。,尽量使用移位运算符,速度快啊。
三顺序,分支,循环
1、switch(能转化为int的都可)在jdk1.7后又添加了String,enum,long是不可以的。
case x: 语句;break;(根据条件选择是否保留)。
...
default: 语句;
2、do{}while(循环条件)。先执行一次循环体,在判断循环条件。
3、标号:...break 标号;利用这个可以跳出多个循环。
四数组
1、foreach
缺点:没有下标,不能给数组赋值。
二维数组的foreach遍历:
for(int [] aa:array){
for(int a:aa){
Syso...
}
}
2、二维数组的初始化动态初始化只能创建标准的,而静态可创建长短不一的。