《Java从入门到放弃》JavaSE入门篇:运算符

运算符分为运算和符。

运算:是一种行为,通过已知量的可能的组合,获得新的量。

:上古时期,符是沟通人和神的秘密图案,所以符是不可以随便乱画的,故有所谓“画符不知窍,反惹鬼神笑;画符若知窍,惊得鬼神叫”的说法。画符的方法成百上千,有的要掐诀存想神灵随笔而来,有的要步罡踏斗,念动咒语……

咳,知道运算符的来历了吧,所以程序写得好不好,就看运算符用得妙不妙!

======================我是分割线君===================

当然,上面都是我瞎扯的,Java中的运算符到底是什么玩意呢?

其实就跟数学中的计算符差不多的,按照运算优先级请Look下表:

顺序

运算符

1

括号,如  ( )  和 [  ]

2

一元运算符,如  -、++、- -和 !

3

算术运算符,如  *、/、%、+ 和 -

4

关系运算符,如  >、>=、<、<=、== 和 !=

5

逻辑运算符,如  &&、||

6

条件运算符和赋值运算符,如  ? :、=、*=、/=、+= 和  -=

大部分符号相信各位看官都没问题吧?当然有问题的话请留言,哈哈

下面我简单介绍一下完全不会的新手还不认识的几个符号吧,如果有

党,请快速路过...

一元运算符:

++:在变量本身值的基本上+1。

    public static void main(String[] args){
        int i = 5;
        int j = i++;    //++在后面,所以先执行j=i;再执行i++,执行完后i=6,j=5;
        int k = ++j;    //++在前面,所以先执行++j;再执行k=j,执行完后j=6,k=6;
        System.out.println("j的值为:"+j);
        System.out.println("k的值为:"+k);
    }

--:与++的原理相同,只不过变成了-1。

算术运算符:

*:表示相乘。

        int i = 12;
        int j = 5;
        int k = i*j;    //k的值为60

/:表示相除。

        int i = 12;
        int j = 5;
        int k = i/j;    //k的值为2

注意:因为i/j都是整数,所以计算的结果不含小数部分。就算k定义为double类型,结果是2.0。

%:表示求余数。余数知道吧,不用我再多说吧。

        int i = 13;
        int j = 5;
        int k = i%j;    //k的值为3

关系运算符:

!=:表示不等于。千万不要写成“<>”。

==:表示相等。千万不要只用一个“=”。

逻辑运算符:

    其实“!”属于逻辑运算符,表示取相反的结果。

    关于逻辑运算符,通过一个例子大家就能懂。

    记得刚上大学的时候,有个室友就发誓“要找一个又有钱&&又漂亮的妹子当女朋友”,结果两年过去了都没找到满意的,之后他就降低了要求“要找一个有钱||漂亮的妹子当女朋友”,结果又两年过去了还是没有找到满意的,最后他再次降低了要求”找一个女朋友,只要!男的就行“。

    哈哈,看懂了吧!!!

赋值运算符:

=:表示把右边表达式的运算结果放到左边的变量中去,所以左边只能是变量,而不能是表达式。

+=:表示在左边变量的基础上加上右边的数据后,把结果再赋值给左边的变量。

        int i = 13;
        i += 3;        //i的结果是16

其它(-=,*=等)的功能都是一样。

条件运算符:

?::这是一个三目运算符(对应有三个表达式)。

        int i = 13;    //把i的值改成5再看str的结果是什么
        //i>10则str的值为"yes",否则为"no"
        String str = i > 10 ? "yes" : "no";

运算符虽然看起来有这么多符号,其实都是我们在编码过程中会经常用到的,而且使用也比较简单,不用特意的死记硬背。

OK,本篇的内容就到这儿吧。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java后端技术栈

Java提供的排序算法是怎么实现的?快排?

前几天整理的一套面试题,其中有一个问题就是Java的JDK中我们见到的Collections.sort()和Arrays.sort()这两个排序算法的实现方式是...

18330
来自专栏海天一树

NOIP 2018提高组初赛C/C++答案详解

分析: 二进制化八进制:从低位(右)往高位(左),每三位直接换成八进制即可。 (1001101011)2 = (10 0110 1011)2 = (26B)...

61740
来自专栏C语言C++游戏编程

C语言内置运算符丰富到令人头皮发麻,C语言基础教程之运算符篇

运算符是告诉编译器执行特定数学或逻辑函数的符号。C语言内置运算符丰富,并提供以下类型的运算符 -

13710
来自专栏iKcamp

翻译连载 | 第 9 章:递归(上)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇

原文地址:Functional-Light-JS 原文作者:Kyle Simpson-《You-Dont-Know-JS》作者 第 9 章:递归(上) 在下一页...

23690
来自专栏落影的专栏

leetcode––为求职为生的编程网站

前言 leetcode是一个在线编程网站,题目源于各大公司的面试、有各种解法、多语言和在线测试支持; 我们扫一眼leetcode上的Company:Googl...

411100
来自专栏醒者呆

融会贯通——最常用的面向对象设计原则“合成复用原则”

复用一个类的时候,多使用对象的组合/聚合的关联关系,而不是继承。 之前提到的“依赖倒转原则”,是以里氏代换原则为基础的实现开闭原则目标的手段,这一条路线涉及到的...

31280
来自专栏Albert陈凯

理解Scala的函数式风格:从var到val的转变

Scala允许你用指令式风格编程,但是鼓励你采用一种更函数式的风格。如果你是从指令式的背景转到Scala来的——例如,如果你是Java程序员——那么学习Scal...

23930
来自专栏用户2442861的专栏

2015 华为 校招回忆录---篇(上)

本文由CSDN-蚍蜉撼青松【主页:http://blog.csdn.net/howeverpf】原创,转载请注明出处!

14820
来自专栏前端说吧

JS-几大排序算法(更新中...)

47650
来自专栏编程

三撩Python

我不求深刻,只求简单。 --三毛 1、起手 我呢,一个咖啡师,咖啡使我忙碌与充实。 每天端起咖啡,香气弥漫,轻轻一口,就在那一刹那,没有时间,没有空间,没有纷纷...

18890

扫码关注云+社区

领取腾讯云代金券