一、运算符号
1、算术运算符:
+ - * / % %:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关 运算。
+:连接符。
++,--
2、赋值运算符:
= += -= *= /= %=
3、比较运算符:
特点:该运算符的特点是:运算完的结果,要么是true,要么是false。
4、逻辑运算符:
& | ^ ! && ||
逻辑运算符除了 ! 外都是用于连接两个boolean类型表达式。
&: 只有两边都为true结果是true。否则就是false。
|:只要两边都为false结果是false,否则就是true。
^:异或:和或有点不一样。
两边结果一样,就为false。
两边结果不一样,就为true.
& 和 &&区别:
& :无论左边结果是什么,右边都参与运算;
&&:短路与,如果左边为false,那么右边不参数与运算;
| 和|| 区别:
|:两边都运算;
||:短路或,如果左边为true,那么右边不参与运算;
5、位运算符:
作用:用于操作二进制位的运算符;
& | ^
<< >> >>>(无符号右移)
二、循环语句
1、for 循环的格式:
(1)初始化 (2)判断表达式 (4)变量自增或自减
for (int i = 1; i <= 10; i++) {
(3)执行语句块
}
特点:先判断,再执行。有次数的循环建议优先使用for循环
2、while 循环的格式:
int i = 0; (1)初始化
(2)判断表达式
while (i <= 10) {
(3)循环代码块
(4)在代码块中加入变量的自增防止死循环
}
注意:while循环是次数不明确的情况下,优先使用,并且先判断后执行。
3、do...while 循环
do...while 循环的格式:
do {
代码执行快
}while (判断表达式);
注意:1、do...while结构要以分号结束
2、do...while语句在失败时至少会执行一次
3、do...while先执行,再判断
4、for 、 while 、 do...while的区别:
判断来源于需求,软件开发来源于需求,需求来源于生活;
for和while、do...while先确定你是否需要次数,需要次数,优先用for。不需要次数再去抉择使用while还是do...while;
for、while和do...while先确定是判断还是先做一次,如果需要先做用do...while,要先判断用for和while;
三、方法
1、java中的方法的定义格式:
修饰符 返回值类型 方法名(参数类型 形式参数1,参数类型 形式参数1,…){
执行语句;
return 返回值;
}
当方法没有具体的返回值时,返回的返回值类型用void关键字表示。
如果方法的返回值类型是void时,return语句可以省略不写的,系统会帮你自动加上。
return的作用:结束方法。结束功能。
2、如何定义一个方法?
方法其实就是一个功能,定义函数就是实现功能,通过两个明确来完成:
a、明确该功能的运算完的结果,其实是在明确这个函数的返回值类型。
b、在实现该功能的过程中是否有未知内容参与了运算,其实就是在明确这个方法的参数列表(参数类型&参数个数)。
3、方法的作用:
a、用于定义功能。
b、用于封装代码提高代码的复用性。
注意:方法中只能调用方法,不能定义函数。
4、主方法:
a、保证该类的独立运行。
b、因为它是程序的入口。
c、因为它在被jvm调用。
5、重载
定义:在一个类中,如果出现了两个或者两个以上的同名函数,只要它们的参数的个数,或者参数的类型不同,即可称之为该函数重载了。
如何区分重载:当函数同名时,只看参数列表。和返回值类型没关系。
四、数 组
1、定义:
用于存储同一类型数据的一个容器。好处:可以对该容器中的数据进行编号,从0开始。数组用于封装数据,就是一个具体的实体。
2、如何在java中表现一个数组呢?两种表现形式。
a、元素类型[] 变量名 = new 元素类型[元素的个数];
b、元素类型[] 变量名 = {元素1,元素2...};
元素类型[] 变量名 = new 元素类型[]{元素1,元素2...};
3、二分查找法。
必须有前提:数组中的元素要有序。
<span style="white-space:pre"> </span>public static int halfSeach_2(int[] arr,int key){
<span style="white-space:pre"> </span>int min,max,mid;
<span style="white-space:pre"> </span>min = 0;
<span style="white-space:pre"> </span>max = arr.length-1;
<span style="white-space:pre"> </span>mid = (max+min)>>1; //(max+min)/2;
<span style="white-space:pre"> </span>while(arr[mid]!=key){
<span style="white-space:pre"> </span>if(key>arr[mid]){
<span style="white-space:pre"> </span>min = mid + 1;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>else if(key<arr[mid])
<span style="white-space:pre"> </span>max = mid - 1;
<span style="white-space:pre"> </span>if(max<min)
<span style="white-space:pre"> </span> return -1;
<span style="white-space:pre"> </span>mid = (max+min)>>1;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>return mid;
<span style="white-space:pre"> </span>}