3. 表达式和语句
3.1 常见的运算符
Java中运算符可以分为四种,赋值运算符、算术运算符、关系运算符和逻辑运算符
赋值运算符------"=" 将"="右边的值赋值给左边
算术运算符------"+" "-" "*" "/" "%" "++" "--"
其中"+" "-" "*" "/"就是简单的运算,"%"是求余数
"++" "--"是Java运算中比较常用到的,是对数据进行的自增/自减的运算,分两种情况进行运算:
当"++"/"--"在数据的前面时,数据在使用的时候需要先进行自增/自减运算再参与之后的代码操作;
当"++"/"--"在数据的后面时,数据在使用的时候是先参与代码的操作之后在进行自增/自减的运算;
自增/自减就是在自身数据值的基础上+1或者-1
关系运算符-----"<" ">" "<=" ">=" "==" "!="
使用关系运算符进行的数据运算,运算的结果是布尔值类型【true/false】
逻辑运算符-----"||" "&&" "!" 位运算
"||" 逻辑或
格式:表达式A || 表达式B,两表达式中只要有一个结果为真,则为真
"&&" 逻辑与
格式:表达式A && 表达式B,两表达式中必须结果全部为真,逻辑与的结果才为真,有一个为假,则为假
"!" 逻辑非
格式:!表达式,将表达式的结果取反,表达式结果为真,逻辑非结果就为假;反之亦然
特殊情况: 短路或与短路与
短路或就是在"表达式A || 表达式B"中,若表达式A为true时,表达式B是不需要计算的。
短路与就是在"表达式A && 表达式B"中,若表达式A为false时,表达式B是不需要计算的。
位运算
位运算就是直接对整数在内存中的二进制位进行操作,具体运算如下:
按位与: & 相同位的两个数字都为1,则为1;若有一个不为1,则为0。
按位或: | 相同位只要一个为1即为1。
按位异或: ^ 相同位不同则为1,相同则为0。
按位取反: ~ 把内存中的0和1全部取反。
左移: << a << b就表示把a转为二进制后左移b位(在后面添b个0)。a << b的值实际上就是a乘以2的b次方,因为在二进制数后添一个0就相当于该数乘以2。
带符号右移: >> a >> b表示二进制右移b位(去掉末b位),相当于a除以2的b次方(取整)。
3.2 常见语句
常见语句可以分为判断语句、循环语句、break语句、continue语句
(1).判断语句
a. if语句
if语句有四种基本结构:
A.if(判断条件){为true时执行代码}
B.if(判断条件){为true时执行代码}else{为false时执行代码}
C.if(){}else if(){}else if(){}esle if(){}......
D.if语句的嵌套
b.switch语句
格式: switch(表达式){
case 常量1: java代码;[break;]
case 常量2: java代码;[break;]
case 常量3: java代码;[break;]
default: java代码;[break;]
}
switch语句的表达式的结果的数据类型可以是 byte short char int,枚举类型,jdk7.0以后的可以有String【字符串类 型】。switch语句中的break语句的有无会直接影响执行结果。
(2).循环语句
a. for循环
格式:
for(初始条件;判断条件;循环增量/减量){
需要被循环执行的java代码
}
增强的for循环
for(数组的数据类型 变量名称:被遍历的数据集合【数组/java集合】){
使用变量得到遍历出来的结果
}
b. while循环
格式:
while(判断条件){
需要被循环执行的java代码
}
先执行判断条件,如果判断条件的结果为true,那么就执行需要被循环执行的java代码,否则跳出循环
c. do-while循环
格式:
do{
需要被循环执行的java代码
}while(判断条件)
先执行需要被循环执行的java代码,然后再判断条件,如果判断条件的结果为true,那么就继续执行需要被循环执行的 java代码,否则跳出循环
三种循环语句中,for循环是需要明确循环次数的,而while与do-while循环不需要强调次数;while与do-while循环都是根 据判断条件去执行循环代码的,其中do-while不管条件是否成立,至少会执行一次循环代码,这是与while循环不同的一 点
(3). break语句
break 含义 打断 【跳出switch,跳出循环,不执行后面的case】
双层循环中如果出现在内层循环结构中,只中断内层循环,如果出现在外层,那么就中断外层循环。
(4). continue语句
continue 继续 出现在循环 【结束本次,进入下次循环】