2.2. 运算符

一. 算数运算符

关于 Java 编程中的运算符之:算数运算符

+求和
相减
*乘积
/
%取余数【取模】
++自加 1
– –自减 1
小结:++运算符可以出现在变量前,也可以出现在变量后,,无论是变量前还是变量后只要++运算结束,该变量中的值一定会自加 1
++a:先自增1,在进行运算。  
a++:先运算,再自增1。

二. 关系运算符

>大于
>=大于等于
<小于
<=小于等于
==等于
!=不等于
= 是赋值运算符;  
== 是关系运算符;  
关系运算符的结果一定是布尔类型。
public class OperatorTest
{
    public static void main(String[] args){
        int a=10;
        int b=10;

        System.out.println(a>b); //false
        System.out.println(a>=b); //ture
        System.out.println(a<b); //false
        System.out.println(a<=b); //true
        System.out.println(a==b); //true
        System.out.println(a!=b); //false
    }
}

三. 逻辑运算符

逻辑运算符解释
&逻辑与 (两边的算子都是 true,结果才是 true)
逻辑非(取反,!False 就是 true,!True 就是假,这是一个单目运算符)
^逻辑异或(两边的算子只要不一样,结果就是 true)
&&短路与(第一个表达式执行结果是 false,会发生短路与)
| 逻辑或(两边的算子只要有一个是true,结果就是true) 
|| 短路或(第一个表达式执行结果是true,会发生短路或)
  1. 逻辑运算符要求两边的算子都是布尔类型,并且逻辑运算符最终的运算结果也是一个布尔类型。
  2. 短路与和逻辑与最终的运算结果是相同的,只不过短路与存在短路现象。
  3. 短路或和逻辑或最终的运算结果是相同的,只不过短路或存在短路现象。
** 逻辑与和短路与的区别** 
public class Test01
{
    public static void main(String[] args){
        int x=10;
        int y=8;
        System.out.println(x < y& ++x < y); //进行了++x的操作
        System.out.println(x); //x=11
    }
}

public class Test02
{
    public static void main(String[] args){
        int x=10;
        int y=8
        System.out.println(x < y && ++x < y); //因为x<y是false,直接短路,后面的操作就不在执行
        System.out.println(x); //x=10
        }
}

从某个角度来看,短路与更智能。由于后面的表达式可能不执行,所以执行效率较高。这种方式在实际开发中使用较多。短路与比逻辑与使用的多。短路与更常用。

但是,在某些特殊的逻辑业务中,要求运算符两边的算子必须全部执行,此时必须使用逻辑与,不能使用短路与,使用短路与可能导致右边的表达式不执行。

四. 赋值运算符

Java 中赋值类运算符包括两种:

基本的赋值运算符:=
扩展的赋值运算符:+=、-+、*=、/+、%=

赋值类的运算符优先级:先执行等号右边的表达式,将执行结果赋值给左边的变量。

注意以下代码:

byte x=10;
x += 5;//并不等同于:x =x+5,而等同于:x= (byte)(x+5)
int y=10;
y += 5; //等同于:y= (int)(y+5)
long a=10L;
int b=20;
b += a; // 等同于:b = (int)(b+a)

重要结论:扩展类的赋值运算符不改变运算结果类型,假设最初这个变量的类型是 byte 类型,无论怎么追加或追减,最终该变量的数据类型还是 byte 类型。

五. 字符串连接运算符

关于 java 中的 “+” 运算符:

  1. +运算符在 java 语言中当中有两个作用:


    加法运算
    字符串的连接运算

  2. 数字+数字 →数字【求和】
    数字+“字符串” →“字符串”【字符串连接】


  3. 在一个表达式当中可以出现多个“+”,在没有添加小括号的前提下,遵循自左向右的顺序依次运算。


    public class Test{
    public static void main(String[] args){
    int a=10;
    int b=20;
    System.out.println("10+20=30"); //在控制台输出“10+20=30”
    System.out.println("10+20="+a+b); //以动态方式输出“10+20=1020”
    System.out.println("10+20="+(a+b)); //输出10+20=30
    }
    }

String 是引用数据类型,s 是变量名,“abc”是 String 类型的字面值

String s=“abc”

六. 三元运算符

三元运算符/三目运算符/条件运算符
1、语法规则:

布尔表达式?表达式 1:表达式 2

2、三元运算符的执行原理

当布尔表达式的结果是 true 的时候,选择表达式 1 作为整个表达式的执行结果
当布尔表达式的结果是 false 的时候,选择表达式 2 作为整个表达式的执行结果

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇