------- android培训、java培训、期待与您交流! ----------
对数据类型、运算符、判断语句、循环语句、数组的总结
1. 数据类型
byte b = 2;//-128~127; 大于或者小于这个范围,编译失败;
short s = 300;
long l = 4;
float f = 2.3f;//注意浮点型必须加上f后缀,否则编译失败;
double d = 34.56;
char ch = '4';
char ch1 = 'a';
char ch2 = '+';
char ch3 = ' ';
boolean bo = true;
boolean bo1 = false;
int a = 5;
a = a + 6
什么时候定义变量?
当数据不确定的时候。需要对数据进行存储时。
就定义一个变量来完成存储动作。
2. if else 结构简写格式:变量 = (条件表达式)?表达式1:表达式2;
三元运算符:
y = (x>1)?'a':200;这个是举例
好处:可以简化if else代码。
弊端:因为是一个运算符,所以运算完必须要有一个结果。
3. if语句的语法,if后面只有一句代码时,可以不写{};
if(x>12 || x<1)
System.out.println(x+"月份不存在");
else if(x>=3 && x<=5)
System.out.println(x+"春季");
else
System.out.println(x+"冬季");
4. 运算符的总结;
A. 一些操作符
转义字符:通过\ 来转变后面字母或者符号的含义。
\n:换行。
\b:退格。相当于backspace。
\r:按下回车键。window系统,回车符是由两个字符来表示\r\n.
\t:制表符。相当于tab键。
//计算机自己特有的加减乘除符号
//+= -= *= /= %=
如x+=4;//x = x + 4;
B. 逻辑运算符用于连接boolean类型的表达式。
& :与运算
只要两边的boolean表达式结果,有一个为false。那么结果就是false。
只有两边都为true,结果为true。
x>3 & x<6 = true & true = true;
true & true = true;
true & false = false;
false & true = false;
false & false = false;
| :或运算
两边只要有一个为true,结果为true。
只有两边都有false,结果为false。
true | true = true;
true | false = true;
false | true = true;
false | false = false;
^ : 异或;就是和|有点不一样。当true ^ true = false;
true ^ true = false;
true ^ false = true;
false ^ true = true;
false ^ false = false;
^ : 两边相同结果是false。
两边不同结果是true。
!!true //a>3 && a<6;
C. &和&&的特点:
&:无论左边是true是false。右边都运算。
&&:当左边为false时,右边不运算。短路与;
|:两边都参与运算。
||:当左边为true。右边不运算。
D. 获取最低的有效四位;
int n1 = num & 15;;
//要获取下一组四位,将60右无符号移动4位。
int temp = num >>> 4;
继续获取最低四位;
int n1 = num & 15;;
5. Switch语句的用法;
A. if和switch语句很像。
具体什么场景下,应用哪个语句呢?
如果判断的具体数值不多,而是符合byte short int char这四种类型。
虽然两个语句都可以使用,建议使用swtich语句,因为效率稍高。
其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广
B. Break 的注意事项;
要是我们没有找到我们的想要的点条件的话,我们会从第一个点开始执行,一直执行到break为止,要是找到我们要的点的话,我们就从点开始往下索引,找到break为止;要是一直都没有break的话,我们就执行到结尾;执行到哪个点,就会执行改点下面的语句;
6. 无限循环的最简单表现形式。
for(;;){}
while(true){}
7. while:先判断条件,只有条件满足才执行循环体。
do while: 先执行循环体,在判断条件,条件满足,再继续执行循环体。
简单一句话:do while:无论条件是否满足,循环体至少执行一次。
外面需要用变量对增量进行一下记录;
int x = 1;
do
{
System.out.println("do : x="+x);
x++;
}while (x<3);
8. for循环的执行特点是1243243243
、for(show('a'); show('b') && x<3; show('c'))
{
show('d');
x++;
}
打印结果是abdc bdc b ;
9. 数组
int[] arr = new int[3];
数组可以接收null值;
arr = null;
注意数组的默认值是0
10. 通过查表的方法;进行十进制和十六进制之间的转换
public static void toHex(int num) {
char[] chs = {'0','1','2','3'
'4','5','6','7'
'8','9','A','B'
,'C','D','E','F'};
//定义一个临时容器。因为10进制是4个字节,共32位2进制位;
//我们这里每次移动4位,每4位为一个数,来进行和表对比,所以需要8个空间就可以了;char[] arr = new char[8];
int pos = arr.length;
while(num!=0)
{int temp = num & 15;
//System.out.println(chs[temp]);
arr[--pos] = chs[temp];
//>>>是无符号右移;我们补位的时候补的都是0;
num = num >>> 4; }