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语言是跨平 ...
随机推荐
- Mac OS X 10.8.2终端切换root用户
方法一:1. 打开Terminal2. jonesduan-MacBook-Pro:~ user$ sudo -i3. 输入root密码即可. 方法二:和方法一中1和3步相同,只是第二步输入的命令不是 ...
- How do I get the path of the current executed file in Python?
First, you need to import from inspect and os from inspect import getsourcefile from os.path import ...
- 如何将 Windows Server 2012 r2 打造成 Windows 8.1?
Server 系列相对于桌面系统Windows 8.1 .嵌入式系统Embedded 8.1来说,还是有所不同的,有其独特性,所以,标题写着“打造”充其量不过是不断接近的意思.还有很多地方存在进一步深 ...
- appium 自动化测试之知乎Android客户端
appium是一个开源框架,相对来说还不算很稳定.转载请注明出处!!!! 前些日子,配置好了appium测试环境,至于环境怎么搭建,参考:http://www.cnblogs.com/tobecraz ...
- 不常用的SQL语句记录
只知道字段名,查询哪些表有该字段:假如字段名为Index select sysobjects.name as tablename,syscolumns.name as columnname from ...
- [原创]用命令行工具删除TFS2010服务器上的工作区信息
下面的示例显示有关所有计算机上的所有用户已在地址 http://myserver:8080/tfs/DefaultCollection 上的以下团队项目集合中创建的所有工作区的列表. c:\proje ...
- Java Graphics2D 画出文字描边效果
在CSDN看到的,在此记下. (http://bbs.csdn.net/topics/390703095) import javax.swing.*; import java.awt.*; impor ...
- 现有iOS项目集成React Native过程记录
在<Mac系统下React Native环境搭建>配置了RN的开发环境,然后,本文记录在现有iOS项目集成React Native的过程,官方推荐使用Cocoapods,项目一开始也是使用 ...
- C and SQL data types for ODBC and CLI
C and SQL data types for ODBC and CLI This topic lists the C and SQL data types for ODBC and CLI a ...
- iOS开发者联系 联系方式
苹果开发者客服电话地址:https://developer.apple.com/contact/phone.php 中国大陆地区客服电话: 中国香港地区客服电话:() 中国台湾地区客服电话: 链接地址 ...