一.运算符。

1.算数运算符:+,-,*,/,%

2.自增自减 :++ ,--

++在前 先运算在赋值

++在后 先赋值后运算

-- 减减同上.

3.赋值运算符 : = ,+=,-=,*=,/=

4.关系运算符 : >,<,>=,<=,== ,!=

5.逻辑运算符: & ,| ,! ,&& ,||

6.位运算符:

(1).位运算符的符号:

& (与):两者都是1的时候我就是一,其他都是0

|(或):两者都为0时才为0 ,其他的都是1.

^(异或):两者不同为1,相同为0

~(取反):0变为1,1变为0.

(2).负数的表现形式: 二进制位的最高位为1,那么这个数就是一个负数。

-1:1111-1111  1111-1111 1111-1111 1111-1111

0:0000-0000 0000-0000 0000-0000 0000-0000

-2:1111-1111  1111-1111 1111-1111 1111-1110

-3:1111-1111  1111-1111 1111-1111 1111-1101

-4:1111-1111  1111-1111 1111-1111 1111-1100

-5:1111-1111  1111-1111 1111-1111 1111-1011

-6:1111-1111  1111-1111 1111-1111 1111-1010

-7:1111-1111  1111-1111 1111-1111 1111-1001

7:0000-0000  0000-0000 0000-0000 0000-0111

规律:负数所对应的正数-1 ,取反负数所对应的正数取反+1

(3).移位操作符:对二进制位进行操作

>>  右移

<<  左移

>>> 无符号右移

//右移:

System.out.println(6>>1); // --->3  6/2  2*1

System.out.println(6>>2); // --->1  6/4  2*2

System.out.println(6>>3); // --->0  6/8  2*3

System.out.println(-6>>1); //  -6/2 -->-3

//规律: 右移多少位,就用需要移动的数除以2的多少次方。

//左移 :

System.out.println(6<<1); // --->12  6*2  2*1

System.out.println(6<<2); // --->24  6*4  2*2

System.out.println(6<<3); // --->48  6*8  2*2*2

System.out.println(6<<4); //---->96  6*16 2*2*2*2

System.out.println(-6<<2);//--->-24

//规律: 左移多少位,就用这个数乘以2多少次方。

//>>>无符号的右移

特点:无论你的最高位是0还是1,空缺位都补0。

System.out.println(6>>>1); //3

System.out.println(6>>>2); //1

System.out.println(-6>>>2); // 1073741822

作用 : 提高运算速率。位运算是执行最快。
特点 : 一个数A和两个相同的数^,最后结果还是原来的数A。

java的基础知识运算符的更多相关文章

  1. JAVA相关基础知识

    JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分, ...

  2. Java 多线程——基础知识

    java 多线程 目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 java 多线程——quartz 定时调度的例子 ...

  3. java必备基础知识(一)

    学习的一点建议: 每一门语言的学习都要从基础知识开始,学习是一个过程,"万丈高楼平地起",没有一个好的地基,想必再豪华的高楼大厦终究有一天会倒塌.因此,我们学习知识也要打牢根基,厚 ...

  4. 什么才是java的基础知识?

    近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考. ...

  5. java部分基础知识整理----百度脑图版

    近期发现,通过百度脑图可以很好的归纳总结和整理知识点,本着学习和复习的目的,梳理了一下java部分的知识点,不定期更新,若有不恰之处,请指正,谢谢! 脑图链接如下:java部分基础知识整理----百度 ...

  6. C语言基础知识-运算符与表达式

    C语言基础知识-运算符与表达式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常用运算符分类 1>.算术运算符 用于处理四则运算. 2>.赋值运算符 用于将表达式的 ...

  7. Java SE 基础知识(一)

    一.基础知识 1. Java SE : Java Standard Edition Java ME : Java Micro Edition Java EE : Java Enterprise Edi ...

  8. JAVA多线程基础知识(一)

    一. 基础知识 要了解多线程首先要知道一些必要的概念,如进程,线程等等.开发多线程的程序有利于充分的利用系统资源(CPU资源),使你的程序执行的更快,响应更及时. 1. 进程,一般是指程序或者任务的执 ...

  9. JAVA学习基础知识总结(原创)

    (未经博主允许,禁止转载!) 一.基础知识:1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平 ...

随机推荐

  1. svn 合并分支

    1.将某一主干/分支某一时段的改变,合并到工作空间副本 2.将某一主干/分支与其他主干/分支的改变,合并到工作空间副本

  2. appium V1.5.x变化

    使用 npm安装 appium之后,会发现已经进入1.5 [Appium] Welcome to Appium v1.5.0 [Appium] Appium REST http interface l ...

  3. Requests 乱码

    当使用Requests请求网页时,出现下面图片中的一些乱码,我就一脸蒙逼. 程序是这样的. def getLinks(articleUrl): headers = { "Uset-Agent ...

  4. Devils never rest

    一个人 练习一个人 书名 看到就被吸引了,然后亚马逊下手 作者很文艺,我很喜欢作者内心的那份宁静. 我一个人吃饭 旅行 到处走走停停 也一个人看书 写信 自己对话谈心 依然是心内一片寂静,总是不由自主 ...

  5. web项目中各种路径的获取

    以工程名为/DemoWeb为例: 访问的jsp为:http://localhost:8080/DemoWeb/test/index.jsp 1 JSP中获得当前应用的相对路径和绝对路径 (1)得到工程 ...

  6. 为什么使用Junit Test而不用普通java main方法来完成测试?

    因为在程序里边,一个接口对应一个实现方法,而在接口中常常会定义相关的很多方法,所以在测试的时候,如果都在main方法里边进行测试,main方法就会显得臃肿,而且不便于以后其他人测试以及查看测试数据,用 ...

  7. DB2错误码信息

    00 完全成功完成 表 3  01 警告 表 4  02 无数据 表 5  07 动态 SQL 错误 表 6  08 连接异常 表 7  09 触发操作异常 表 8  0A 功能部件不受支持 表 9  ...

  8. zsh 命令提示符 PROMPT

    使用上zsh后,发现命令提示符显示不了当前的路径,和一般的Linux系统默认提示不一致.配置自己的提示符: 更改配置文件.zshrc,添加配置PROMPT='%m:%. $',重新打开一个窗口生效. ...

  9. kettle系列-我的开源kettle管理平台[kettle-manager]介绍

    kettle管理工具 专门为kettle这款优秀的ETL工具开发的web端管理工具. 项目简介 kettle作为非常优秀的开源ETL工具得到了非常广泛的使用,一般的使用的都是使用客户端操作管理,但问题 ...

  10. iOS打包ipa给客户测试流程

    IOS项目开发的过程中经常会用到一个测试的问题,特别是外包的项目,客户拿了那么多钱,看不到产品时时的进度说不过去,而且UI和功能是否和符合用户需求这个很重要,需要客户的认同. 所以就需要时时给开发中的 ...