`
cccyyy12
  • 浏览: 2689 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

java运算

阅读更多

一.算术运算符
算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。

操作符 描述  
+ 加法 - 相加运算符两侧的值  
- 减法 - 左操作数减去右操作数  
* 乘法 - 相乘操作符两侧的值  
/ 除法 - 左操作数除以右操作数  
取模 - 右操作数除左操作数的余数  
+ + 自增 - 操作数的值增加1  
- - 自减 - 操作数的值减少1

下面列出了所有的算术运算符:
public class Test {
    public static void main(String[] args) {
        int a=20;
        int b=40;
        System.out.println("a+b="+(a+b));
        System.out.println("a-b="+(a-b));
        System.out.println("a*b="+(a*b));
        System.out.println("b/a="+(b/a));
        System.out.println("b%a="+(b%a));
        System.out.println("a++="+(++a));//先加后用
        System.out.println("b--="+(b--));//先用后减
        System.out.println("b="+b);
    }
}
运行结果:

a+b=60
a-b=-20
a*b=800
b/a=2
b%a=0
a++=21
b--=40
b=39

 

二.关系运算符

操作符     描述   
==           检查如果两个操作数的值是否相等,如果相等则条件为真。    
=!         检查如果两个操作数的值是否相等,如果值不相等则条件为真。
>             检查左操作数的值是否大于右操作数的值,如果是那么条件为真。  
<             检查左操作数的值是否小于右操作数的值,如果是那么条件为真。  
> =          检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。  
<=           检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 

 

三.逻辑运算符
逻辑运算符共有三种:
1.“非”(“!”):
非运算(!)表示否定,取反,如:!true等于false、!false等于true、!2等于false、!0等于true。
2.“和”(“&&”):
和运算(&&)前后两个条件都为真时,才返回true,否则返回false。
3.“或”(“||”):
或运算(||)前后两个条件有一个为真是,返回true,都为假时,返回false。

public class Test {
    public static void main(String[] args) {
        int a = 5;
        int b = 8;
        int c = 5;
        System.out.println("a>b ?" + !(a > b));
        System.out.println("a>b && a<b ?" + ((a > b) && (a < b)));
        System.out.println("a>b || a<b ?" + ((a >= b) || (a == b)));
        System.out.println("a>b || a=c ?" + ((a < b) || (a == c)));
    }
}
运行结果:
a>b ?true
a>b && a<b ?false
a>b || a<b ?false
a>b || a=c ?true

四.位运算符
位运算符主要针对二进制,它包括了:
1.“与”("&"):
与运算(&)两个操作数的位都为 1,结果才为 1,否则结果为 0。
2.“非”("~"):
非运算(~)的操作数的位如果为 0,结果是 1,如果为 1,结果是 0。
3.“或”("|"):
或运算(|)两个操作数的位只要有一个为 1,那么结果就是 1,否则就为 0。
4.“异或”("^"):
异或运算(^)的两个操作数的位相同时结果为 0,不同时结果为 1。

public class Test {
    public static void main(String[] args) {
                int a=10;//0000 0000 0000 0000 0000 0000 0000 1010
                int b=20;//0000 0000 0000 0000 0000 0000 0001 0100
                int x=30;//0000 0000 0000 0000 0000 0000 0001 1110
                int y=40;//0000 0000 0000 0000 0000 0000 0010 1000
                System.out.println("~a ="+(~a));
                System.out.println("a & b ="+(a&b));
                System.out.println("a | b ="+(a|b));
                System.out.println("x ^ y ="+(x^y));
    }
}
运行结果:
~a =-11
a & b =0
a | b =30
x ^ y =54

五.移位运算符
1.左移位运算符(<<)
将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补 0)。
2.“有符号”右移位运算符(>>)
将运算符左边的运算对象向右移动运算符右侧指定的位数。
“有符号”右移位运算符使用了“符号扩展”:若值为正,则在高位插入0;若值为负,则在高位插入1。
3.“无符号”右移位运算符(>>>),它使用了“零扩展”:无论正负,都在高位插入0。

public class Test {
    public static void main(String[] args) {
        //-8:1111 1111 1111 1111 1111 1111 1111 1000
        System.out.println("-8>>3 ="+(-8>>3));
        System.out.println("-8<<3 ="+(-8<<3));
        System.out.println("-8>>>3 ="+(-8>>>3));
    }
}
运行结果:
-8>>3 =-1
-8<<3 =-64
-8>>>3 =536870911

 

六.赋值运算符

操作符 描述 例子
= 简单的赋值运算符,将右操作数的值赋给左侧操作数 C = A + B将把A + B得到的值赋给C
+ = 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 C + = A等价于C = C + A
- = 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 C - = A等价于C = C -
 A
* = 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 C * = A等价于C = C * A
/ = 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 C / = A等价于C = C / A
%= 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 C%= A等价于C = C%A
<< = 左移位赋值运算符 C << = 2等价于C = C << 2
>> = 右移位赋值运算符 C >> = 2等价于C = C >> 2
&= 按位与赋值运算符 C&= 2等价于C = C&2
^ = 按位异或赋值操作符 C ^ = 2等价于C = C ^ 2
| = 按位或赋值操作符 C | = 2等价于C = C | 2

 

七.条件运算符

 

条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。

variable x = (expression) ? value if true : value if false

 

public class Test {
    public static void main(String[] args) {
        int a=20;
        int b=40;
        System.out.println((a>b)?"a>b":"a<=b");
    }
}
运行结果:

a<=b

 

八.instanceof运算符

使用格式如下:

( Object reference variable ) instanceOf  (class/interface type)

 

public class Test {
    public static void main(String[] args) {
        String a="It's a string.";
        System.out.println((a instanceof String));
    }
}
运行结果:

true

 

运算符优先级:

类别 操作符 关联性
后缀 () [] . (点操作符) 左到右
一元 + + - !〜 从右到左
乘性  * /% 左到右
加性  + - 左到右
移位  >> >>>  <<  左到右
关系  >> = << =  左到右
相等  ==  != 左到右
按位与 左到右
按位异或 ^ 左到右
按位或 | 左到右
逻辑与 && 左到右
逻辑或 | | 左到右
条件 ?: 从右到左
赋值 = + = - = * = / =%= >> = << =&= ^ = | = 从右到左
逗号 左到右

 

 

 

参见:http://www.w3cschool.cc/java/java-operators.html

 

分享到:
评论

相关推荐

    Java运算案例(算数运算+赋值运算+逻辑运算+关系运算+自增运算+自减运算+条件运算+位运算)

    通过实际案例学习和练习这些运算符,可以加深对Java运算的理解,提高编程技能。例如,你可以创建一个简单的Java小程序,用这些运算符处理数组元素,实现各种计算和判断,从而巩固知识。 在"Operations"这个压缩包中...

    java运算java运算.doc

    Java 运算精度问题与解决方案 在 Java 中,对于浮点数的运算存在精度问题,这是由于浮点数的计算是非精确计算的。这种问题在财务应用中非常重要,因为它可能导致严重的财务错误。 问题描述 在 Java 中,浮点数的...

    Java运算,Java实例运算,面向基础.zip

    本压缩包“Java运算,Java实例运算,面向基础.zip”包含的“java_sunjing-master”项目可能是一个关于Java运算和实例的教程或者代码示例,旨在帮助初学者理解和掌握Java运算的基础知识。 在Java中,运算符大致可以...

    Java运算基础.zip

    这个"Java运算基础.zip"文件很可能包含了关于Java运算符的详细解释和实例,包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符以及特殊运算符如三元运算符等。 1. **算术运算符**:在Java中,基本的...

    java运算开销表,解决java性能问题

    以下是一些Java运算开销的基本情况: 1. **本地变量赋值**:这是最基础的操作,例如`int i = n;`,其开销几乎可以忽略不计。无论数据类型,本地变量赋值都是快速且无痛的。 2. **实例变量赋值**:`this.i = n;`与...

    java运算四则运算表达式的程序

    输入一个四则运算表达式,本程序可计算出结果。另外还支持三角函数,对数运算,支持简单命令,如查看帮助和退出。输入help可查看详细情况。

    Java运算,Java实例运算,面向基础.rar

    从本章起,我们就正在进入Java基础知识的学习。就像人与人之间交流使用的语言需要遵循一定的语法规则一样,Java语言也离不开特定语法的支持,如基本语法、数据类型、变量、常量、运算符与表达式、类型转换和输入输出...

    Java四则运算器

    该程序是基于GUI设计的一款小型四则运算器,java爱好者参考参考!!

    基于java的运算器程序

    基于java的简单运算器程序 欢迎下载

    简易标准运算器(Java课程设计)

    【简易标准运算器(Java课程设计)】是一个Java编程项目,旨在通过设计和实现一个简易的标准运算器,提升学生对Java语言的理解和实践能力。这个课程设计的主要目标是巩固Java基础知识,增强编程技能,熟悉JDK、...

    BeanShell java 表达式运算框架

    BeanShell java 表达式运算框架,及其方便快捷(附jar包,工具类,测试类)

    java 运算注意

    java 货币运算问题,在java中货币运算时,如果不注意控制小数点问题,就会出现意想不到的结果,运算结果得到一些没有用到的小数点。

    【Java高频面试题】–Java运算执行流程分析

    1. Java高频面试题(一)– Java运算执行流程分析 public static void main(String[] args) { int i=1; i=i++; int j=i++; int k=i+++i*i++; System.out.println(i=+i); System.out.println(j=+j); System....

    java复数运算器

    在Java编程语言中,复数运算器是一种程序,它允许用户执行涉及复数的数学运算。复数是数学中的一个概念,表示为a + bi的形式,其中a是实部,b是虚部,i是虚数单位,满足i² = -1。这个“java复数运算器”项目提供了...

    JAVA位运算.pdf

    ### JAVA位运算详解 在Java编程中,位运算是一门精细的艺术,涉及到对整数类型的二进制位进行直接操作。这些操作不仅能够优化代码执行效率,还常用于实现特定的算法需求。本文将深入探讨Java中的位运算,包括位...

    加法运算计算器java版

    加法运算计算器java版加法运算计算器java版加法运算计算器java版加法运算计算器java版加法运算计算器java版

    java位运算操作

    Java位运算操作 左位移 右位移 与或非的操作

    java四则运算

    一个java类,该类可以进行加、减、乘、除四则运算,并且可以输出运算结果。此外,对于除法,如果被除数为0,该类可以报错。对于加、减、乘、除之外的运算符,该类应该告知无法处理。 编写一个包含主方法main的公共类...

    java二进制运算器(加、见、乘、除)

    在Java编程语言中,二进制运算是一种基础且重要的概念,尤其对于计算机科学的理解和算法设计至关重要。二进制运算器通常是指一个程序或工具,它能够执行针对二进制数的基本算术运算,如加法、减法、乘法和除法。在这...

    java.四则运算器

    在Java编程语言中,四则运算器是一种程序,它能够执行基本的数学操作,包括加法(+)、减法(-)、乘法(*)和除法(/)。这类程序通常用于教学目的,以帮助初学者理解如何在Java中处理数字和运算。在这个“java.四...

Global site tag (gtag.js) - Google Analytics