一、 运算符
1、根据运算性质
算数运算符
+;加号、正好、字符串拼接符
当+号两端任意出现 一段字符串加号就变成来了拼接符,另一端也是
-减法负号
*乘法
/除法
%取余
++自增一
--自减一
关系运算符
<
>
=
<==
==
!=
逻辑运算符
&逻辑与、按位与
|逻辑或、按位或
!非
^异或
&&短路逻辑与
||短路逻辑或
赋值运算符
=
+=
-=
*=
/=
%=
位移运算
>><<
根据运算数据得个数
一元运算符++ --
二元运算符
三元运算符
1?2;3
优先级从大到小;算数>关系>逻辑>赋值
优先级从大到小;一元>二元>三元
二、流程控制语句
1、条件分支语句
if..else..
swicth...case
2、循环语句
while
do...while
for
三、if
1、if(布尔类型得值,变量,式子)
2、if和else后{}可省略,但时控制得只有其后第一行
3、流程控制语句时可以无限次嵌套得
四、switch...case...
判断switch()中得变量与哪个case值相等
jdk1.7之前,可以判断byte、short、int、char
jdk1.7之后加入了String
穿透现象
三、while循环
四、do...while..循环
五、for循环
六、continue、break
continue停止当次循环,进行下一次循环
break停止所在得循环
七、数组
可以存储许多数据得容器,这种容器可以帮助我们非常方便管理数据
八、数组中得相关概念
1.元素,数组中得一个元素
2.长度,元素得个数,长度一般用数组名.length表示
3、索引(下标),元素得编号,从0开始,最大长度到-1
九、数组得使用
声明
数据类型[] 数组名;
数据类型 数组名[];
初始化
数组名 = new 数据类型[长度];
数组类型[] 数组名= {元素1,元素2,元素3...};
数组名 = new 数组类型[]{元素1,元素2,元素3...}
十、数组内存图
jvm java虚拟机
jvm 管理几块计算机中得内存
栈、堆
十一、数组元素得访问和修改
数组名[下标]
数组名[下标] = 值
十二、数组元素得初始值
整型 0
浮点 0.0
字符 空格字符
布尔 false
引用 null
十三、数组得遍历
十四、一些个注意得点
数组一旦被创建、长度不能被修改
访问数组元素时,要使用正确得索引,否则会引起异常
十五增强for循环
for(元素类型 变量名:数组名/集合名){
}
增强for循环只能读取数组或者集合中得元素,不能修改
兰姆达表达式
使用起来,兰姆达效率高于增强 for 高于 普通for
十五、把一组数得最大值挪到最后
冒泡排序
把数组中最大得数放在最后得位置
int []arr = {50,80,60,10,5,3};
for(int j =1;j<arr.length;j++){
for(int i= 0;i<arr.length-j;i++){
if(arr[i]>arr[i+1]){
arr[i] = arr[i] ^ arr[i+1];
arr[i+1] = arr[i] ^ arr[i+1];
arr[i] = arr[i] ^ arr[i+1];
}
}
}
十三、字符数组
十四、多维数组
java中所谓的多维数组其实是数组中的数组
二维数组
声明
数据类型[][] 数组名;
数据类型[] 数组名[]
数据类型 数组名[][];
创建
new 数据类型[一维长度][二维长度];
new 数据类型[][]{{元素1,元素2,元素3...},{元素1,元素2,元素3...},{元素1,元素2,元素3...}...}
{{元素1,元素2,元素3...},{元素1,元素2,元素3...},{元素1,元素2,元素3...}...}
第二维长度不一致的数组叫锯齿型数组