`
stulance
  • 浏览: 31559 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

【基础知识--java】java 逐位运算符(& | >>)

阅读更多

 

转自:http://demojava.iteye.com/blog/1367827

备用 

运算符归类:

一元运算符:逻辑运算符(!),非运算符(~)

二元运算符:复制运算符(=),逻辑与运算符(&&),逻辑或运算符(||),

逐位与运算符(&),逐位或运算符(|),右移运算符(>>)

三元运算符:X?Y:Z;

逐位运算符

 逐位运算符是一种比较复制的运算符。可以分为逐位逻辑运算符,逐位位移运算符两种。 无论那种逐位运算符,都必须将操作数要求是整形的操作符,转换为32位的二进制数值。然后参与运算,运算完毕将结果转换成十进制数据.

1.逐位 与 运算符

逐位 与 运算符(&)是一个二元运输符,该运算符可以将左右两个操作数据逐位执行And的操作

  即只有2个操作数据中的对应的位数都加1是,该结果中的的这一位才是1,否则就是0,如下代码:

 

int s=9&12; //结果是8
int s1=1&15; //结果是1

 


 

图解:在进行逐位 与操作时,逐位与运算符会将10进制的数据转换成2进制的数据,在将2进制的数据转中的每一位数值逐位进行and操作,的出结果后将结果转换成10进制的数据。

2.逐位 或 运算符

逐位或运算符(|)和逐位与运算符类似,可以将左右两个操作符逐位都执行OR操作,两个操作中的相对位的只要有一个为1的时,该结果的这一位就是1,其他就是0。

 

int s=9|12; //结果是13
int s1=1|15; //结果是15
 

 

图解:在进行逐位或操作的时候,逐运算或将10进制的操作数据转换成2进制的数据,在将2进制的数据中的每一位数值逐位进行OR操作,得出的结果将家恶果转换成10进制的。

3.逐位 异或 运算符

逐位异或运算符(^)和逐位与运算符类似,可以将左右2个操作数逐位执行异或运算,所谓异或操作是指,将第1个操作数和第2个操作数相对应的为上的2个数值

 

int s=9^12; //结果是5
int s1=1^15; //结果是14
 


 

4逐位 非运算符

逐位非运算符(~)是一元运算符,作用与操作数据之前,可以将操作数据中的所有位数中的数值取反,在java中对于一个带符号的整数进行逐位非运算符。相当于将该整数改变符号,然后在减1。

 

int s=~12; //结果是-13
	int s1=~-15; //结果是14
 

 

 

图解:简单来说,逐位非运算,相当于将该整数改变符号再减1

5左移运算符

左移运算符(<<)是一个二元运算符,可以将1个操作数据中的所有数值,

(一共32位),向左移动,移动的位数由第2个操作数决定,因此第2个操作数应该是0~31的整数,如果第2个操作数据大于31,那么结果就是第一个数据

 

int s=12<<1; //结果是24
int s1=15<<13; //结果是122880
 

 

图解:是将一个值左移1位,相当于将该数值乘以2;左移2位,相当于将该数值乘以4。

6带符号的右移运算符

带符号的右移运算符(>>) 是一个二元操作符,可以将第1个操作数据中的所有数值(一共32位)向右移动,移动的位数由第2个操作数据来决定,因此第2个操作数据应该是0~31的整数,如果第2个操作数据大于31,那么结果就是第一个数据。

 

int s=12<<1; //结果是6
int s1=-12<<1; //结果是-6

  


 

 

图解:是将一个值带符号右移1位,相当于该数据的值除以2(去掉余数),右移2位相当于将该数据除以4, (去掉余数),

7用0补足的右移运算符

用0补足的右移运算符(>>>)与带符号的左移运算符类似,只是在右移的时候,最左侧的数值都是用0来补充。

 

int s=12>>>1; //结果是6
int s1=-12>>>1; //结果是2147483642
 

 

图解:在进行用0不足的右移操作时,用0补足的右移运算符会将第一位的操作符转换成2进制的数据,在根据第2个操作数据来决定右移 位数,如果第2个操作数据是1,则将第一个操作数中的所有位数都右移1位,即第32位变成31位,第31位变成30位,依次类推,

8三元运算符(条件运算符?:)

条件运算符(?:)必须有3个操作数据,第一个操作数据必须是boolean的表达式,

而第二个操作数据是Y,和第3个操作数据Z可以是任何的类型的数值

X?Y:Z

   String demo=true?”demo”:”Test”; //结果是demo

               

 

分享到:
评论
1 楼 hebe_lan 2012-11-20  
你好,我是一名将入职大展的软件测试工程师,女,5年工作经验  去深交所那边的性能  不知道怎么样 那边稳定否,,,,  在以下网站http://www.iteye.com/topic/1112086看到你的评论了,,
希望能得到你真实的回复。

相关推荐

    第2章-JAVA语言基础.ppt

    JAVA语言基础是Java编程语言的基础知识,包括变量、数据类型、运算符、表达式、赋值语句、强制类型转换、逻辑运算符、位运算符、三目条件运算符、复杂赋值运算符等。 变量和数据类型 在JAVA语言中,变量是存储数据...

    java 基础知识-运算符

    java基础 小白必须熟练掌握的知识,基础中的基础!!!

    day002 JAVA语法基础-表达式&类型转换&运算符.doc

    JAVA 语言中的表达式、类型转换、运算符是编程的基础知识,了解这些概念对于编写高效、正确的代码至关重要。在本文中,我们将详细讲解表达式、类型转换、运算符的概念、分类、使用场景和注意事项。 一、表达式 ...

    Java基础知识:运算符

    Java基础知识:运算符 在 Java 编程中,运算符是用于执行各种操作的符号,而表达式是由运算符、操作数和变量组成的代码片段。Java 提供了一系列的运算符,用于执行算术、逻辑、赋值和其他各种操作。 算术运算符 ...

    Java基础知识-运算符.pdf

    Java 运算符提供了实现各种数据处理、条件判断和逻辑控制的功能,对于程序的控制流和数据运算至关重要。

    010302_【第3章:Java基础程序设计】_运算符、表达式与语句

    ),位运算符(&,|,^,~,,&gt;&gt;,&gt;&gt;&gt;)以及赋值运算符(=,+=,-=,*=,/=,%=)。了解这些运算符的用法和优先级对于编写正确的代码至关重要。 接着是表达式,它是Java程序中计算和决策的核心部分。一个表达式通常...

    java课件1-2章25个例题Java语言概述、基本数据类型、运算符与表达式

    在“java课件1-2章25个例题Java语言概述、基本数据类型、运算符与表达式”中,我们将深入探讨Java语言的基础知识,包括语言概述、基本数据类型以及运算符与表达式。 首先,Java语言概述是理解任何编程语言的起点。...

    Java各种运算符简述

    - `-&gt;` 运算符在Lambda表达式中用于分隔参数列表和函数体。 9. **类型转换运算符**: - `(类型)` 用于显式类型转换,如`(double) a` 将整型变量a转换为double类型。需要注意的是,可能会出现数据丢失或溢出。 ...

    Java语言基础(运算符介绍,程序控制流介绍)

    本文将深入探讨Java语言的基础知识,特别是运算符和程序控制流。 首先,让我们从"第2章 世界上最简单的Java程序.pdf"开始。这个章节通常会介绍Java程序的基本结构,包括如何写一个"Hello, World!"程序。在Java中,...

    大数据必学Java基础(十八):条件运算符和位运算符

    Java基础知识点 - 条件运算符和位运算符 条件运算符,也称为三元运算符或三目运算符,是一种特殊的运算符,用于根据条件表达式的结果选择两个值中的一个。其格式为:a ? b : c,其中a是一个布尔类型的表达式,如果a...

    lesson03-02 Java类基础知识--基本类型.ppt

    Java语言的基础知识中,类是核心概念之一,而类中的基本类型则是构建程序的基本元素。基本类型不依赖于对象,它们直接存储值,是Java内存管理的最小单位。本节主要探讨了Java中的八种基本类型及其特性。 首先,布尔...

    Java语言2-Java运算符与表达式.zip_Java 语言运算符和表达式

    总的来说,Java语言2-Java运算符与表达式这一主题涵盖了编程中不可或缺的部分,无论你是初学者还是有经验的开发者,深入理解和应用这些概念都将有助于提高编程效率和代码质量。通过实践和练习,你可以更加灵活地运用...

    java数据类型和运算符共3页.pdf.zip

    ),位运算符(&,|,^,~, ,&gt;&gt;,&gt;&gt;&gt;),赋值运算符(=,+=,-=,*=,/=,%=,&=,|=,^=,,&gt;&gt;=,&gt;&gt;&gt;=)等。 - 算术运算符:例如,`a + b`表示加法,`a * b`表示乘法,`a % b`表示取余数。 - 关系运算符:用于...

    Java基础知识总结

    ### Java基础知识总结 #### Java 入门概述 Java 作为一种广泛应用的编程语言,自1995年由 Sun Microsystems 发布以来,迅速成为了软件开发领域的主流技术之一。Java 的诞生不仅推动了软件行业的进步,还引领了一...

    java总结大全--包括所有java基础知识点

    本节将对Java基础知识点进行总结,涵盖变量、数据类型、运算符、控制流程、方法、数组、内部类、继承、多态、接口、异常处理等知识点。 变量和数据类型 在Java中,变量是用来存储值的符号名称。Java提供了八种基本...

    达内培训----JAVA基础知识

    Java的基础知识涵盖了语法、数据类型、运算符、流程控制、类与对象、异常处理等多个方面。 1. **语法基础**:Java的语法结构类似于C++,但更加简洁。例如,Java使用"public class"声明类,"main"方法作为程序的入口...

    SCJP java学习资料(运算符)

    本文档旨在提供一份详细的Java语言基础学习资料,特别关注于Java中的运算符部分。这部分内容对于理解Java编程至关重要,因为它涵盖了各种基本运算符的使用方法、优先级以及如何在实际编程中应用这些概念。以下是对...

Global site tag (gtag.js) - Google Analytics