五、运算符
*算术运算符
*赋值运算符 *关系运算符 *逻辑运算符 *位运算符 *三目运算符算术运算符
*+,-,*,/都是比较简单的操作
*+的几种作用: 加法 正数 字符串连接符 *除法的时候要注意一个问题: 整数相除,只能得到整数 要想得到小数,可以*1.0赋值运算符
符号:
= , +=, -=, *=, /=, %= =为基本的赋值运算符,其他的为扩展的赋值运算符= 赋值号
+=加赋值 把左边和右边的结果赋值给左边。 注意:左边不能是常量
关系运算符
注意:
1:比较运算符的结果都是boolean型,也就是要么是true,要么是false。1:比较运算符的结果都是boolean型,也就是要么是true,要么是false。 2:比较运算符“==”不能误写成“=” 。
逻辑运算符
逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。
“&”和“&&”的区别: 单&时,左边无论真假,右边都进行运算; 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。 “|”和“||”的区别同理,双或时,左边为真,右边不参与运算。 异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。位运算符
位运算符是直接对二进制进行运算。
三目运算符
格式:
*(关系表达式)?表达式1:表达式2;
*如果条件为true,运算后的结果是表达式1; *如果条件为false,运算后的结果是表达式2; *表达式1和表达式2的最终结果是一个明确的值六、流程控制语句
*顺序结构
*选择结构 *循环结构顺序结构
概述:
*是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
*写在前面的先执行,写在后面的后执行。顺序结构图
选择结构
概述:
*选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。
*Java语言提供了两种选择结构语句 if语句if(关系表达式) {
语句体; } 执行流程: 首先判断关系表达式看其结果是true还是false 如果是true就执行语句体 如果是false就不执行语句体图解:
if(关系表达式) {
语句体1; }else { 语句体2; } 执行流程: 首先判断关系表达式看其结果是true还是false 如果是true就执行语句体1 如果是false就执行语句体2图解:
if(关系表达式1) {
语句体1; }else if (关系表达式2) { 语句体2; } … else { 语句体n+1; } 执行流程 首先判断关系表达式1看其结果是true还是false 如果是true就执行语句体1 如果是false就继续判断关系表达式2看其结果是true还是false 如果是true就执行语句体2 如果是false就继续判断关系表达式…看其结果是true还是false … 如果没有任何关系表达式为true,就执行语句体n+1。图解:
switch语句
switch(表达式) {
case 常量值1: 语句体1; break; case 常量值2: 语句体2; break; … default: 语句体n+1; break; } 概述: switch表示这是switch语句 表达式的取值:byte,short,int,char, JDK7以后可以是String case后面跟的是要和表达式进行比较的值 语句体部分可以是一条或多条语句 break表示中断,结束的意思,可以结束switch语句 default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。 流程: 首先计算出表达式的值 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。图解:
注意:
case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
default可以省略。一般不建议。除非判断的值是固定的。 break可以省略,一般不建议。 default的位置可以出现在switch语句任意位置。 switch语句的结束条件 遇到break 执行到程序的末尾使用场景:
if语句使用场景:
针对结果是boolean类型的判断 针对一个范围的判断 针对几个常量值的判断 switch语句使用场景: 针对几个常量值的判断循环结构
概述:
循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句体,当反复执行这个循环语句体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。
组成:
初始化语句:
一条或者多条语句,这些语句完成一些初始化操作。 判断条件语句: 这是一个boolean 表达式,这个表达式能决定是否执行循环语句体。 循环体语句: 这个部分是要被反复执行的语句,也就是我们要多次做的事情。 控制条件语句: 这个部分在一次循环执行结束后,下次判断循环条件是否成立前,会改变用于判断循环变量的值,使得循环在合适的时候结束。for循环语句
格式:
for(初始化语句;判断条件语句;控制条件语句) {
循环体语句体; }执行流程:
A:执行初始化语句
B:执行判断条件语句,看其结果是true还是false 如果是false,循环结束。 如果是true,继续执行。 C:执行循环体语句 D:执行控制条件语句 E:回到B继续图解:
注意:
判断条件语句的结果是一个boolean类型
循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。 一般来说:有左大括号就没有分号,有分号就没有大括号while循环语句
格式:
基本格式:
while(判断条件语句) { 循环体语句体; }扩展格式:
初始化语句; while(判断条件语句) { 循环体语句体; 控制条件语句; }图解:
for循环和while循环的区别
使用区别:
控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。
场景区别:
for循环适合针对一个范围判断进行操作
while循环适合判断次数不明确操作do…while循环语句格式
基本格式
do {
循环体语句; }while(判断条件语句);扩展格式
初始化语句;
do { 循环体语句; 控制条件语句; } while(判断条件语句);图解:
三种循环语句的区别及注意事项
使用场景:
do...while循环语句体至少会执行一次
for循环和while循环只有在条件成立的时候才会执行循环语句体推荐使用:
对固定范围内的循环推荐使用for
对未知的范围内的循环推荐使用while 对至少需要执行一次循环语句体的推荐使用do...while 如下代码是死循环 while(true){ } for( ; ; ){ }跳转控制语句
break 中断
break的作用:
跳出单层循环 break的使用场景: 在选择结构switch语句中 在循环语句中 离开使用场景的存在没有任何意义continue 继续
continue的作用:
continue 退出本次循环 continue的使用场景: 在循环语句中 离开使用场景的存在是没有意义的return 返回
return关键字不是为了跳转出循环体,更常用的功能是结束一个方法,也就是退出一个方法。跳转到上层调用的方法。
结束循环其实是结束了main方法