java的基础知识运算符
一.运算符。
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的基础知识运算符的更多相关文章
- JAVA相关基础知识
JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分, ...
- Java 多线程——基础知识
java 多线程 目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 java 多线程——quartz 定时调度的例子 ...
- java必备基础知识(一)
学习的一点建议: 每一门语言的学习都要从基础知识开始,学习是一个过程,"万丈高楼平地起",没有一个好的地基,想必再豪华的高楼大厦终究有一天会倒塌.因此,我们学习知识也要打牢根基,厚 ...
- 什么才是java的基础知识?
近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考. ...
- java部分基础知识整理----百度脑图版
近期发现,通过百度脑图可以很好的归纳总结和整理知识点,本着学习和复习的目的,梳理了一下java部分的知识点,不定期更新,若有不恰之处,请指正,谢谢! 脑图链接如下:java部分基础知识整理----百度 ...
- C语言基础知识-运算符与表达式
C语言基础知识-运算符与表达式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常用运算符分类 1>.算术运算符 用于处理四则运算. 2>.赋值运算符 用于将表达式的 ...
- Java SE 基础知识(一)
一.基础知识 1. Java SE : Java Standard Edition Java ME : Java Micro Edition Java EE : Java Enterprise Edi ...
- JAVA多线程基础知识(一)
一. 基础知识 要了解多线程首先要知道一些必要的概念,如进程,线程等等.开发多线程的程序有利于充分的利用系统资源(CPU资源),使你的程序执行的更快,响应更及时. 1. 进程,一般是指程序或者任务的执 ...
- JAVA学习基础知识总结(原创)
(未经博主允许,禁止转载!) 一.基础知识:1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平 ...
随机推荐
- airflow 优化
1. 页面默认加载数据过多,加载慢. 修改 .../python2.7/site-packages/airflow/www/views.py文件, 1823行, page_size参数, 比如改成18 ...
- erlang 故障排查工具
系统级别perf top, dstat -tam, vtune 都能很好分析beam 瓶颈,本文主要erlang 级别排查: 1. 反编译 确认线上运行代码是否正确,reltools没掌握好,升级偶尔 ...
- Sublime Text 3 常用插件以及安装方法(转)
http://www.cnsecer.com/460.html 安装Sublime Text 3插件的方法: 朋友们,小站活着不容易,全靠广告费养着了,如果本文对你有帮助.麻烦动下手点下页面的广告吧, ...
- NetBeans invalid jdkhome specified 问题解决方法
JDK的路径变化会导致 NetBeans 启动时出现错误: 解决办法: There's is an easy way to fix this. Navigate to your NetBeans in ...
- redhat 配置本地yum源163yum源epel 源,无需卸载yum!无须拷贝ISO,愿网上少一点垃圾教程误人子弟
都知道redhat不收费,但是其yum服务是要收费的,不想出钱那就自己配置yum源就好了. 首先,博主之前也没用过redhat,第一次用yum装包的时候提示什么没注册之类的,balaba一大堆,然后就 ...
- url带#号,微信授权,微信分享那些坑
微信授权的方法是,在项目里面配置拦截器(此处可以参考各个框架的拦截器)没有拦截器也可以,反正意思就是跳转到项目里的时候判断微信环境 如果是微信环境, 判断微信环境的方法是 var ua = windo ...
- October 29th Week 44th Saturday 2016
I am a slow walker, but I never walk backwards. 我走得慢,但我从不后退. I walked very slow, sometimes I even sl ...
- Linux 安装Mono环境 运行ASP.NET(二)
一.安装libgdiplus 前面我们已经安装了apr.apr_util.pcre和httpd apache .现在我们来安装libgdiplus Libgdiplus是一个Mono库,用于对 ...
- (转)REDIS各项配置参数介绍
# 默认情况下,redis不是在后台模式运行的,如果需要在后台进程运行,把该项的值更改为yes,默认为no daemonize:是否以后台daemon方式运行 # 如redis服务以后台进程运行的时候 ...
- wap支付宝接口的问题
今天在支付宝接口开发时,遇到的两个坑 第一个: https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.8nHr4i& ...