《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 条评论
登录 后参与评论

相关文章

来自专栏玄魂工作室

Python黑帽编程2.9 面向对象编程

Python黑帽编程2.9 面向对象编程 我个人认为,计算机语言的发展,有两个方向,一个是从低到高的发展过程,在这个过程中,语言的思考和解决问题的方式是面向硬件...

2917
来自专栏iKcamp

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

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

2169
来自专栏玄魂工作室

如何学python 第十七课 类-面向对象的概念

欢迎回来。今天要说的东西将会改变我们写程序的方式。今天我们介绍‘类’(class)。 概述 什么叫‘类’?类,类型。变量类型。从日常生活的感觉来说,‘类’其实...

2674
来自专栏Java技术

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

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

1043
来自专栏趣谈编程

选择排序

面试官: 聊聊选择排序 选择排序是一种简单直观的算法,今天我们聊聊选择排序的思想,代码以及复杂度 排序思想 一天,小一尘和师傅下山去了,在集市中路经一个水果摊,...

3178
来自专栏Android机动车

设计模式——抽象工厂模式

● 为创建一组相关或依赖的对象提供一个接口,而无需指定他们的具体类型。是工厂方法模式的升级版。

741
来自专栏Albert陈凯

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

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

2253
来自专栏醒者呆

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

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

2878
来自专栏编程

三撩Python

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

1779
来自专栏CSDN技术头条

抽象类和接口的区别

【编者按】本文作者是Sebastian Malaca,是面向对象编程的狂热者,不断深化研究整洁代码和高代码质量。本文中,作者通过多个方面深入剖析抽象类和接口的区...

20010

扫码关注云+社区