教妹学Java(十一):操作符简介

简介: 教妹学Java(十一):操作符简介

“二哥,今天我们来学习‘操作符’,对吧?比如说 +,-,*,/”


“是的,是的。操作符在 Java 中占据着重要的位置,用于程序的执行。除了常见的加减乘除,还有许多其他类型的操作符,我画了一副图,三妹你可以先看一下。”




“是不是还有很多没见过的,不着急啊,三妹,二哥来一一解释下。其中一些在实战中不常用的,暂且略过,免得增加你学习的压力。”


01、一元运算符


一元运算符要求只有一个操作数,我们来看例子。


public class UnaryOperator1 {
    public static void main(String[] args) {
        int x = 10;
        System.out.println(x++);//10 (11)  
        System.out.println(++x);//12  
        System.out.println(x--);//12 (11)  
        System.out.println(--x);//10  
    }
}


x++ 和 ++x 的主要区别是:x++ 返回原来的值(所以输出 10,后自增为 11),++x 返回加 1 后的值(所以直接输出 12)。


x-- 和 --x 的区别于 x++ 和 ++x 的区别类似。


02、算数运算符


算术运算符就理解起来就很简单了,就是加减乘除(余),这里就不再过多解释,来看一个例子吧。


public class ArithmeticOperator {
    public static void main(String[] args) {
        int a = 10;
        int b = 5;
        System.out.println(a + b);//15  
        System.out.println(a - b);//5  
        System.out.println(a * b);//50  
        System.out.println(a / b);//2  
        System.out.println(a % b);//0  
    }
}



% 就是取余,除法运算后的余数。


03、位运算符


1)按位左移运算符,说起来比较难理解,我们直接来看例子,一看就懂。


public class LeftShiftOperator {
    public static void main(String[] args) {
        System.out.println(10<<2);//10*2^2=10*4=40  
        System.out.println(10<<3);//10*2^3=10*8=80  
        System.out.println(20<<2);//20*2^2=20*4=80  
        System.out.println(15<<4);//15*2^4=15*16=240  
    }
}



10<<2 等于 10 乘以 2 的 2 次方;10<<3 等于 10 乘以 2 的 3 次方。


2)按位右移运算符。


public class RightShiftOperator {
    public static void main(String[] args) {
        System.out.println(10>>2);//10/2^2=10/4=2
        System.out.println(20>>2);//20/2^2=20/4=5
        System.out.println(20>>3);//20/2^3=20/8=2
    }
}



10>>2 等于 10 除以 2 的 2 次方;20>>2 等于 20 除以 2 的 2 次方。


04、逻辑运算符


&& 多个条件中只要有一个为 false 结果就为 false。|| 多个条件只要有一个为 true 结果就为 true。


public class LogicalOperator {
    public static void main(String[] args) {
        int a=10;
        int b=5;
        int c=20;
        System.out.println(a<b&&a<c);//false && true = false
        System.out.println(a>b||a<c);//true || true = true
    }
}


对应的还有 & 和 |,& 不管第一个条件为 true 还是 false,依然会检查第二个,| 也一样。示例如下:


public class LogicalOperator1 {
    public static void main(String[] args) {
        int a=10;
        int b=5;
        int c=20;
        System.out.println(a<b&a<c);//false & true = false
        System.out.println(a>b|a<c);//true | true = true  
    }
}


05、三元操作符


三元操作符用于替代 if-then-false,可以使用一行代码完成条件判断的要求。来看示例:


public class TernaryOperator {
    public static void main(String[] args) {
        int a=2;
        int b=5;
        int min=(a<b)?a:b;
        System.out.println(min);
    }
}

如果 ? 前面的条件为 true,则结果为 : 前的值,否则为 : 后的值。


06、赋值操作符


赋值操作符恐怕是 Java 中使用最频繁的操作符了,它就是把操作符右侧的值赋值给左侧的变量。来看示例:


public class AssignmentOperator {
    public static void main(String[] args) {
        int a=10;
        int b=20;
        a+=4;//a=a+4 (a=10+4)  
        b-=4;//b=b-4 (b=20-4)  
        System.out.println(a);
        System.out.println(b);
    }
}


不过在进行 short 类型的数值赋值时,需要小点心。




编译器之所以提示错误,是因为 = 右侧的算术表达式默认为 int 类型,左侧是 short 类型的时候需要进行强转。


public class AssignmentOperator1 {
    public static void main(String[] args) {
        short a = 10;
        short b = 10;
//a+=b;//a=a+b internally so fine
        a = (short)(a + b);
        System.out.println(a);
    }
}


“怎么样,三妹,现在是不是有点豁然开朗的感觉?”


“对对对,就这种感觉。”


07、鸣谢


本篇文章为《教妹学Java》专栏的第十一篇文章,是不是有趣得很?我相信你能感受的到,这可是全网独一份,我看到已经有人在模仿了。现在定价只需 9.9 元,9.9 元你连一杯奶茶都买不到,但却能买下二哥精心制作的专栏,据说 CSDN 已经考虑涨价了,毕竟已经卖出一百多份了。


我知道,购买专栏的同学都是冲着二哥的名声来的,毕竟二哥是 CSDN 的明星博主,哈哈。为表谢意,我再附送上个人微信(qing_gee),你有什么问题都可以来咨询。


相关文章
|
2月前
|
算法 Java PHP
「译文」Java 垃圾收集参考手册(一):垃圾收集简介
「译文」Java 垃圾收集参考手册(一):垃圾收集简介
|
6月前
|
Java 编译器
“高级Java注解的简介及应用“
“高级Java注解的简介及应用“
31 0
|
5天前
|
并行计算 Java 编译器
Java Lambda表达式简介
Java Lambda表达式简介
11 0
|
12天前
|
存储 Java 编译器
Java基础教程(4)-Java中的操作符
【4月更文挑战第4天】Java中的String是常用类,字符串是不可变对象,用双引号表示。String对象在编译期长度受限于65535,运行期不超过Int范围。字符串方法如length()、substring()、replace()、equals()等提供了多种操作。可变字符串可使用StringBuffer或StringBuilder。String对象通过字符串池优化内存,池中已有相同内容字符串则返回其引用。
|
1月前
|
存储 Java uml
Java-UML类图简介
Java-UML类图简介
18 0
|
6月前
|
存储 网络协议 Java
LDAP简介及Java、客户端连接
LDAP简介及Java、客户端连接
123 0
|
2月前
|
Java API
Java中的Lambda表达式简介及应用
【2月更文挑战第6天】本文将介绍Java中的Lambda表达式,探讨其基本概念、语法特点和应用场景。通过实际示例演示Lambda表达式在Java编程中的灵活运用,帮助读者更好地理解和应用这一强大的特性。
|
2月前
|
存储 设计模式 缓存
Java instanceof操作符:类型检查的必备工具
Java instanceof操作符:类型检查的必备工具
37 0
|
3月前
|
缓存 安全 算法
Java并发简介(什么是并发)
Java并发简介(什么是并发)
|
8月前
|
存储 Java 程序员
重温经典《Thinking in java》第四版之第三章 操作符(二十一)
重温经典《Thinking in java》第四版之第三章 操作符(二十一)
34 0