数组:

1.概念数组是相同数据类型元素的集合。

2.作用:数组本身是引用数据类型,即对象。数组可以存储基本数据类型,也可以存储引用数据类型。

3.数组的声明:

(1)数据类型 [] 数组名字 如:int [] a

(2)数据类型 数组的名字 [] 如:int a []

4.数组的创建:

(1)char [] chAry = new char [10],10为指定数组的分配内存的长度,数组的元素值都默认为初始值。(可以定义为动态数组)

(2)int [] ary1 = new int [] {1, 2, 3, 4, 5};声明数组的同时分配内存的长度,并初始化元素值。(可以定义为静态数组)

(3)数组的长度是属性,用length();长度在定义的时候必须指定,定以后不许改变;在内存中会分配一个空间去存长度的值。

5.数组间的赋值:

数组间的赋值是将一个数组的虚地址赋给另一个数组,这样两个数组都同时指向同一个内存。

6.数组的访问和迭代

(1)数组的访问:数组名字[索引] 例如:a[2];索引从0开始,都是整形,最大值比长度小1

(2)数组的迭代:

①for循环:for(int i = 0;i<数组名字.length;i++)  输出:数组名字[i]

②增强for循环:for(数组元素的类型 临时变量名字:数组的名字)  输出:(临时变量名字 )

流程控制:

1.顺序流程:从该类开始往下开始执行,遇到可以执行的程序就执行,不能执行的跳过执行下一程序。

2.分支流程:if语句:条件表达式可以是任何逻辑表达式,表达式为true执行语句,表达式值为false不执行语句。

:if{  

}

           if{

}

②:if{

}

           else{

}

③:if{

}

     else if{

}

     else{

}

Switch/case语句:表达式的值只能为int,byte,char,short型,枚举型,不能有重复的case值。

只有遇到break程序语句才会停止。

3.循环流程

①while与do while

While:条件表达式为true时,执行循环体。

while (条件表达式)

{

执行语句块

}

do while:现执行循环体,在判断表达式是否为true。最少执行一次循环体。

do

{

执行语句块;

} while(条件表达式)

②for循环:

for(初始化表达式;循环条件表达式;循环后的操作表达式)

{

执行语句块

}

③break/continue

break:跳出整个循环。

continue:跳出当前的循环。

运算符:

算术运算符:

单目:+ 取正,- 取负,++ 自加,-- 自减

双目:+ 加法,- 减法,* 乘法,/ 除法,%取余

三目:a>b?true:false

位运算符:先换算成2进制在运算

移位运算符:

<<  >>  >>>  <<<  前两种是有符号的移动,左移1位相当于乘以2,右移1位相当于除以2。

与(&):

全部都是1,结果就是1,其余为0

非(~):

加1取反

或(|):

有一个是1,结果就是1

异或(^):

相同的为0,不同的为1

比较运算符:返回值为true/false

== ,<,>,<=,>=,!=

==与!=比较基本数据类型是比较值,比较引用类型是虚地址

除了== !=外,都只能比较基本数据类型

逻辑运算符:用于连接两个boolean类型的表达式

&&(双与)、||(双或)、&(与)、|(或)、^(异或)、!(非运算)

&&与&的运算结果是相同的,对于&而言无论左边为什么值,右边都参与运算;对于&&来说,只要左边为false右边就不再运算,直接返回false。

||与|的运算结果是相同的,对于|而言无论左边为什么值,右边都参与运算;对于||来说,只要左边为true右边就不再运算,直接返回true。