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语言是跨平 ...
随机推荐
- 关于a标签自身的click事件所带来的一些影响
众所周知a标签自身带有点击事件<a href="#"></a>从它本身的特性来讲并没有什么不好的影响,但是如果你在a标签里又加入onclick事件则< ...
- Linux下的压缩和解压缩命令——zip/unzip
zip命令 zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名 的压缩文件. 选项: -A 调整可执行的自动解压缩文件. -b<工作目录> ...
- 【Tomcat】解决Eclipse无法添加Tomcat Service问题
直接上图:今天因为弄Maven的时候,不小心把Tomcat7 Service 给弄没了,没法直接添加. 可以参照上图的结构进行 Download and Install...点击之后等待一会儿. 其实 ...
- 在 Angularjs 中 ui-sref 和 $state.go 如何传递参数
1 ui-sref.$state.go 的区别 ui-sref 一般使用在 <a>...</a>: <a ui-sref="message-list" ...
- springMVC中 request请求数据绑定到Controller入参 过程剖析
前言:Controller方法的参数类型可以是基本类型,也可以是封装后的普通Java类型.若这个普通Java类型没有声明任何注解,则意味着它的每一个属性都需要到Request中去查找对应的请求参数.众 ...
- Delphi的Trim函数
三个Trim函数简介 函数原型 function Trim(const S: string): string; 将字符串前后的空白及控制字元清掉. 注意Trim函数只能清掉字符串前后的空格及控制字元, ...
- 【leetcode】Container With Most Water
题目描述: Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ...
- 指令<AngularJs>
对于指令,可以把它简单的理解成在特定DOM元素上运行的函数,指令可以扩展这个元素的功能. 首先来看个完整的参数示例再来详细的介绍各个参数的作用及用法: angular.module('myApp', ...
- CozyRSS开发记录18-番外之Atom1.0的支持
CozyRSS开发记录18-番外之Atom1.0的支持 1.对CozyRSS.Syndication批判一番 由于我工作的主要开发语言是c++,所以会看到我的c#代码写得非常朴素,很多语法糖都没有用上 ...
- Go语言 获取get、post参数
在贴代码之前如果能先理解一下golang http.request的三个属性Form.PostForm.MultipartForm应该能较好的理解代码,下面摘录一下. 以上简要翻译一下: Form:存 ...