JavaSE--------第三章 运算符、表达式和语句

3 篇文章 0 订阅
3 篇文章 0 订阅

第三章 运算符、表达式和语句



3.1 运算符和表达式

  • 运算符:对常量或者变量进行操作的符号
  • 表达式:用运算符号把常量或者变量连接起来的符合java语法的式子就可以称为表达式。
                    不同运算符连接的表达式体现的是不同类型的表达式。

3.1.1 算术运算符

符号作用说明
+两数相加
-两数相减
*两数相乘
/除数除以被除数
%取余两个数除法的余数
    Ps: ① 算术表达式中包含多个基本数据类型的值时,整个表达式类型会 自动提升到表达式最高等级
顺序:byte、short、char -> int -> long-> float -> double
           ②  取余时尽量不要使用小数,有时结果会出现错
字符的‘+’操作

字符的‘+’操作:拿字符在计算机底层的ASCII码值进行计算
  ‘A’->65                 ‘a’->97                 ‘0’->48
( 方便记忆,‘A’或‘a’为4或6乘16加1,‘0’为3乘以16;即,‘A’为 4 ∗ 16 + 1 = 65 4*16+1=65 416+1=65,‘a’为 6 ∗ 16 + 1 = 97 6*16+1=97 616+1=97,‘0’为 3 ∗ 16 = 48 3*16=48 316=48 )

字符串的‘+’操作
  • “字符串”+“字符串"为字符串的拼接,输出"字符串字符串”。
  • “字符串”+6+6,输出为“字符串66”。
  • 6+6+“字符串”,输出为“12字符串”。
    综上所述,字符串输出为从左向右计算,从左开始相加的为两个数,则两数相加,只要有一个字符串则为拼接。

3.1.2 自增、自减运算符

符号作用说明
++自增变量的值加1
--自减变量的值减1
Ps:① ++和--既可以放在变量的后边,也可以放在变量的前边;单独使用的时候,++和--无论放在变量前边还是后边结果都一样。
② 参与操作的时候,如果++或--放在变量的 前边先将变量做++或--后拿变量进行操作
     参与操作的时候,如果++或--放在变量的 后边先将变量进行操作后将变量做++或--

3.1.3 关系运算符

符号说明
==a==b,判断a和b是否相等,成立为true,不成立为false。
!=a!=b,判断a和b是否不相等,成立为true,不成立为false。
>a > b,判断a和b是否大于b,成立为true,不成立为false。
>=a>=b,判断a和b是否大于等于b,成立为true,不成立为false。
<a < b,判断a和b是否小于b,成立为true,不成立为false。
<=a<=b,判断a和b是否小于等于b,成立为true,不成立为false。
Ps:如果输出误写成 System.out.println( i=j ) ;此为把 j 的值赋值给i,并且输出为 i 的值。

3.1.4 逻辑运算符和短路运算符

(C语言中&叫按位与,&&叫逻辑与;java中&叫逻辑与,&&叫短路与。下面统一用java的名称叫。)

逻辑运算符
符号作用说明
&逻辑与a&b,a和b都是true,结果为true,否则为false
|逻辑或a|b,a和b都是false,结果为false,否则为true
^逻辑异或a|b,a和b结果不同为true,相同为false
|逻辑非!a,结果和a的逻辑值取反
~按位取反~a,结果把a的所有位取反
Ps:① 逻辑与、或和异或可进行 逻辑运算位运算,即&、| 和 ^ 两边可为int型和boolean型。int型时,进行位运算;boolean型时,进行逻辑运算。
         ② 逻辑非只能进行 逻辑运算,即, a必须为boolean型,如!true=false, ! false=true;
         ③ 按位取反只能进行 位操作,即, a必须为整型,如~5为-6。((byte)5的补码是0000 0101,取反后为-6的补码1111 1010)
短路运算符
符号作用说明
&&短路与a&&b,a和b都是true,结果为true,否则为false
||短路或a||b,a和b都是false,结果为false,否则为true
Ps:短路与两边只能为boolean型,即只能进行逻辑运算。
逻辑运算符和短路运算符的区别

① 逻辑与和逻辑或不仅能进行逻辑运算还能进行位运算,短路与和短路或只能进行逻辑运算
② 当两种运算符都进行逻辑的与运算时,左边数a为true,逻辑与右边b也会计算短路与右边b不会计算;当两种运算符都进行逻辑的或运算时,左边数a为false,逻辑与右边b也会计算短路与右边b不会计算

3.1.5 赋值运算符

符号作用说明
=赋值a=10,将10赋值给变量a
+=加后赋值a+=b,将a+b的值给a
-=减后赋值a-=b,将a-b的值给a
*=乘后赋值a*=b,将a*b的值给a
/=除后赋值a/=b,将a/b的值给a
%=取余后赋值a%=b,将a%b的值给a
Ps:扩展的赋值运算符 隐含了强制类型转换。(所以,能用复合运算符的就用复合运算符。)

3.1.6 三元运算符

  • 格式: 关系表达式?表达式1:表达式2;
  • 范例:a>b ? a:b;
    计算规则:首先计算关系表达式的值,如果值为 true表达式1的值就是运算结果,如果值为 false表达式2的值就是运算结果。

3.1.7 instanceof运算符

  instanceof运算符是二目运算符,左边的操作元是一个对象,右边的是一个类。当左边的对象是右边的类或子类创建的对象时,该运算符运算的结果是true,否则是false。

3.2 条件分支语句

3.2.1 if语句

  在if语句中,关键字if后面的一对小括号()内的表达式的值必须是boolean类型,当值为true时,执行紧跟着的复合语句,然后结束当前if语句的执行;如果表达式的值为false,结束当前if语句的执行。

3.2.2 if-else语句

  在if-else语句中,关键字if后面的一对小括号()内的表达式的值必须是boolean类型,当值为true时,执行紧跟着的复合语句,然后结束当前if语句的执行;如果表达式的值为false,则执行关键字else后面的复合语句,结束当前if-else语句的执行。

3.2.2 if-else if-else语句

  程序在执行if-else if-else语句时,按照该语句中表达式的顺序,首先计算第1个表达式的值,如果计算结果为true,则执行紧跟着的复合语句,结束当前if-else if-else语句的执行。如果计算结果为false,则继续计算第2个表达式的值;以此类推,假设计算第m个表达式的值为true,则执行紧跟着的复合语句,结束当前if-else if-else语句的执行,否则继续计算第m+1个表达式的值。如果所有表达式的值都为false,则执行关键字else后面的复合语句,结束当前的if-else if-else语句的执行。
Ps:if-else if-else语句中的else部分是可选项,如果没有else部分,当所有表达式的值都为false时,结束当前if-else if-else语句的执行(该语句什么都没做)。

3.3 switch语句

  switch语句首先计算表达式的值,如果表达式的值和某个case后面的常量值相等,就执行该case中的若干个语句,直到碰到break语句为止。如果某个case中没有使用break语句,一旦表达式的值和该case后面的常量值相等,程序不仅执行该case中的若干个语句,而且继续执行后续的case找那个的若干个语句,直到碰到break语句为止。若switch语句中的表达式的值不与任何case的常量值相等,则执行default后面的若干个语句。switch语句中的default是可选的,如果它不存在,并且switch语句中表达式的值不与任何case的常量值相等,那么switch语句就不会进行任何的处理。

3.4 循环语句

  循环语句是根据条件,要求程序反复执行某些操作,直达程序“满意”为止。

3.4.1 for循环语句

  for语句由关键字for、一对小括号()中用分号分隔的3个表达式以及一个复合语句组成,其中的“表达式2”必须是一个求值为boolean型数据的表达式,复合语句称为循环体。“表达式1”负责完成变量的初始化;“表达式2”是值为boolean型的表达式,称为循环条件;“表达式3”用来修整变量,改变循环条件。

3.4.2 while循环语句

  while语句由关键字while、一对括号()中的一个求值为boolean类型数据的表达式和一个复合语句组成,其中的复合语句称为循环体。另外,在该句中,表达式称为循环条件。

3.4.3 do-while循环语句

  do-while循环和while循环的区别是,do-while的循环体至少被执行一次。

3.5 break和continue语句

  在循环体可以进行使用break语句和continue语句,在一个循环中,例如循环n次的循环语句中,如果在某次循环中执行了break语句,那么整个循环语句就结束了。如果在某次循环中执行了continue语句,那么本次循环就结束,即不再执行本次循环中循环体中的continue语句后面的语句,而转入进行下一次循环。

3.6 数组与for语句

for(声明循环变量:数组的名字){
}
这种形式的for语句可翻译为对于循环变量依次取数组的每一个元素的值。
Ps:“声明循环变量”不可以使用已经声明过的变量,要重新声明的变量。


    PS:如有错误,欢迎评论区指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值