java运算符概述(一)

您所在的位置:网站首页 c语言的算数运算符有那些组成部分 java运算符概述(一)

java运算符概述(一)

2024-07-16 22:54| 来源: 网络整理| 查看: 265

        java中的运算符是指在编程中对常量或者变量进行运算操作的符号,在java编程中常见的运算符有算数运算符、赋值运算符、关系运算符、逻辑运算符以及三元运算符。当程序员用运算符将变量或者常量用连接成一个式子时,通常把这个式子叫做表达式,根据表达式运算结果的数据类型的不同,主要可以将表达式分为整形表达式和布尔型表达式。

算数运算符

        java中的算数运算符包括加(+)、减(-)、乘(*)、除(/)、取模(或取余)(%)以及自加(++)和自减(--)。

        在以上提及的运算符中,加(+)、减(-)、乘(*)不需要特别关注,不是说不重要,而是在使用的过程中没有太多需要注意的地方,对于后面几个则有些要点需要编程者注意。

1、除法运算符(/)

        对于算数运算符中的除(/)首先需要注意的就是它符号的方向,不要和英文中的“\"混淆,其次也是较为重要的一点,在java中使用除法时采用的数据类型均为整形(int),则计算的结果是没有小数部分的,即使采用浮点型来接收运算结果,也不会出现小数部分。比如我们编写以下程序计算3除以2,用整形接收计算结果,结果为1,和现实计算的结果1.5并不相同,而且在这个过程中并没有类似于四舍五入的估计方法。

package cn; public class YunSuanFuBoKe01 { public static void main(String[] args){ int a = 3; int b = 2; int c = a/b; System.out.println(c); } } wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 

package cn; public class YunSuanFuBoKe01 { public static void main(String[] args){ int a = 3; int b = 2; double c = a/b; System.out.println(c); } } wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 

        如果在编写程序时需要精确到小数,则只要计算时 赋值语句的右边存在浮点型,并且用浮点型来接收计算结果即可,比如以下四个程序的结果是一样的。

package cn; public class YunSuanFuBoke02 { public static void main(String[] args){ double a = 3; double b = 2; double c = a/b; System.out.println(c); } } wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== package cn; public class YunSuanFuBoke02 { public static void main(String[] args){ int a = 3; double b = 2; double c = a/b; System.out.println(c); } } wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 

package cn; public class YunSuanFuBoke02 { public static void main(String[] args){ int a = 3; int b = 2; double c = (double)a/b; System.out.println(c); } } wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== package cn; public class YunSuanFuBoke02 { public static void main(String[] args){ int a = 3; int b = 2; double c = a/(double)b; System.out.println(c); } } wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 

2、取模或者取余运算符(%) 

        对于取余运算符,重点是需要理解它的意思以及如何使用即可。例如,在计算3%2时,其结果为1,1就是3除以2后剩下的余数。那么这里其实可以提出一个问题,如果我们不计算3%2,而是计算3.915%2或者3.965%2会是什么结果呢?其实,在java中取余运算只针对整数而与后面的小数无关。怎么理解呢?就是说无论数字后面的小数部分有多大,有多长,在取余计算中都会落到计算结果中成为计算结果的一部分。比如,我们以下编程计算3.915%2。

     

package cn; public class YunSuanFuBoke02 { public static void main(String[] args){ double a = 3.915; int b = 2; double c = a%b; System.out.println(c); } } wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

        在这里我们举这个例子只是为了帮助理解java中的取余运算,实际情况是当采用浮点型进行取余运算时,它的结果只是非常接近上面给出的结论,并不与上面的结论一直,这或许是java中浮点型存在精度误差的结果,这里不加讨论。若是读者感兴趣,可以自行编程计算3.965%2。 

 3、自加运算符(++)以及自减运算符(--)

        自加运算符和自减运算符的运行原理是相同的,这里只需要掌握自加运算符自减运算符也就能举一反三无师自通了。

        对于自加运算符其实通过它的名字就能推测他的作用,就是通过它能实现给变量或者常量自身加上1。值得注意的是自加运算符可以在变量或者常量的左边或者右边,而在不同的位置,运算的结果并不相同。

        以下通过一个具体的编程例子来说明。

package cn; public class YunSuanFuBoke03 { public static void main(String[] args){ int a = 2; int c = a++; System.out.println("c:"+c); System.out.println("a1:"+a); int d = ++a; System.out.println("a2:"+a); System.out.println("d:"+d); } }

       

        通过 运行上面程序能够发现,c = a++;这个代码运行时会先将原本a的值赋给c,然后再将a的值加上1,而d = ++a;这个代码的运行却是先将a的值加上1再将数值赋给d。也就是说当自加号在变量或者常量左边时便优先自加。

        这其实是因为计算读取程序时是从左至右的,对于c = a++;计算机读取的信息是:赋值,后面是变量a,于是执行赋值操作,将a的值赋给c,然后是++,执行自加操作,自加的对象是a,所以a的值加上1。

        对于d = ++a;计算机读取的信息是:赋值,自加,自加的对象是a,于是先执行自加操作,给a的值加上1,然后再进行赋值操作,将自加后a的值赋给d。

        若编程者实在不能理解原理,只需要记住左边优先自加右边优先赋值即可。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3