Day03
Package
通过 Package 来管理类文件代码。为了让整体项目看起来很清楚整洁。
自增自减运算符
i++(后增):先使用 i 的值,再自增 1。
++i(前增):先自增 1,再使用 i 的值。
单独使用:符号在前在后,没有区别。
++在前:变量先完成自增长,然后再参与运算。【先增长,再赋值】
++在后:会先将该变量原本记录的值,提取出来参与运算,然后变量再进行自增长。【先赋值,再增长】
注意事项:自增自减运算符只能操作变量,不能操作常量。
Java数据类型转换
-
隐式转换(小转大)
-
取值范围小的数据,和取值范围大的数据进行运算,小的会先提升为大的之后,再进行运算。
byte、short、char 在计算时会自动提升为 int:
-
强制转换(大转小)
格式:目标数据类型 变量名=(目标数据类型) 被强转的数据;
注意:强转有可能会出现精度的损失。
赋值运算符
扩展运算符
+=:符号左在两边的数据,做加法运算,再将结果赋值给左边。
-=:符号左在两边的数据,做减法运算,再将结果赋值给左边。
*=:略
/=:略
%=:略
注意:扩展运算符 (+=, -=, *=, /=,%=) 隐含了强制类型转换。
关系运算符
注意:== 用于比较值是否相等,不能用于赋值。
逻辑运算符
&:并且,遇false则false,只有符号左右两边同时为true,结果才是true.
|:或者,遇true则true,只有符号左右两边同时为false,结果才是false.
!:取反
^(异或):相同为false,不同为true
短路逻辑运算符
&和 &&的区别 :
&:没有短路效果,无论左边是true还是false,右边都要继续执行。
&&:具有短路效果,当符号左边为false,右边就不执行了,如果符号左边为true,右边还要继续执行。
三元运算符
格式:判断条件 ? 值1 : 值2
执行流程:
·首先计算关系表达式的值
·如果判断条件为 true → 取 值1
·如果判断条件为 false → 取 值2
运算符优先级
逻辑运算符 && 优先级高于 ||,运算顺序可用 () 改变。
流程控制语句概述
流程控制语句用于控制程序的执行流程,分为三种基本结构:
·顺序结构:程序按照代码编写顺序依次执行。
·分支结构:程序在执行过程中根据条件选择不同的执行路径(if 语句, switch 语句)。
·循环结构:程序重复执行某些代码(for、while、do...while)。
分支语句
-
if语句
if 语句用于条件判断,决定代码是否执行。
第一种格式(单分支)
语法
执行流程:
①首先计算关系表达式的值
②如果关系表达式的值为 true 就执行语句体
③如果关系表达式的值为false就不执行语句体
④继续执行后面的语句内容
示例
if语句注意事项
·if语句中,如果大括号控制的是一条语句,大括号可以省略不写【但是不建议】
·if 语句的() 和{}之间不要写分号
第二种格式(双分支)
语法
执行流程:
①首先计算关系表达式的值
②如果关系表达式的值为true就执行语句体1
③如果关系表达式的值为false就执行语句体2
④继续执行后面的语句内容
示例
第三种格式(多分支)
语法
示例
执行流程:
首先计算判断条件1的值
如果值为true就执行语句体1;如果值为false就计算判断条件2的值
如果值为true就执行语句体2;如果值为false就计算判断条件3的值
...
如果没有任何判断条件为true,就执行语句体n+1。
-
swtich语句
switch 语句用于多重条件分支。
语法
执行流程:
①拿着表达式的值,依次和case后面的值进行匹配,匹配成功,就会执
行对应的语句,在执行的过程中,遇到break就会结束。
②如果所有的case都不匹配,就会执行default里面的语句体,然后程序
结束掉。
建议:
如果要进行的判断,是范围性的判断,建议使用if
如果要进行的判断,是固定值的匹配,建议使用switch
注意事项
·case 只能使用常量,不能使用变量;给出的值不允许重复。
·switch 适用于 byte、short、int、char、String(JDK7+)。
·break 语句用于 跳出 switch 结构,否则会执行后续 case(穿透现象)。
·default表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。