java中的运算符

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

2自增自减 :++ ,--

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

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

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

位运算符:它是对二进制位进行计算。

位运算符是可以对十进制的整数进行计算,计算方式:将十进制转为二进制进行计算。

二进制由0和1组成,所以计算的结果要么是0,要么是1

1.5位运算符的符号:

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

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

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

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

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

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

0000 0000 0000 0000 0000 0000 0000 0000 : 0

-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

0000-0000  0000-0000 0000-0000 0000-0111  = 7

1111-1111 1111-1111 1111-1111 1111-1001

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

负数所对应的正数取反+1

作用:数据进行加密

123456

0-100 a-z

24845845957512317580960  --- >123456

6移位操作符:对二进制位进行操作

6.1  >>  右移

6.2  <<  左移

6.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>>4);

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

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

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

System.out.println(9>>4);//  --->0  9/16

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

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

//左移 :

System.out.println("-----这个是左移的结果----------");

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多少次方。

//>>>无符号的右移

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

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

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

原理:见图片。

作用 : 提高运算速率。位运算是执行最快。

比如: 以最快的方式计算 2*8

2<<3  == 2*8 = 16

特点 : 一个数A和两个相同的数^,最后结果还是原来的数A。

时间: 2024-10-18 05:44:40

java中的运算符的相关文章

java中的++运算符

java中的++运算符 public class PlusPlusTest { /** * @param args */ public static void main(String[] args) { int a = 0; for (int i = 0; i < 10; i++) { a = a++; } System.out.println(a); } } 输出结果是0 解释:在这里jvm里面有两个存储区,一个是暂存区(是一个堆栈,以下称为堆栈),另一个是变量区. 语句istore_1是将堆

java中的运算符与类型转换

类型转换: 从小到大的排序 自动类型转化(隐式转换) 小的数据类型与大的数据类型进行运算的时候,结果会自动转化大的类型 byte char short -->int -->long -->float -->double 注意事项:byte char short 相互之间不转换 他们参与运算首先转换为int类型 格式:范围大的数据类型 变量 = 范围小的数据类型值 强制类型转换(显示转换) 可以忍受精度缺失的情况下 可以把大类型的数据强制转化成小类型的数据格式:范围小的数据类型 变量

【Java中各运算符的用法】

Java的运算符可分为4类:算术运算符.关系运算符.逻辑运算符和位运算符. 1.算术运算符 Java的算术运算符分为一元运算符和二元运算符.一元运算符只有一个操作数:二元运算符有两个操作数,运算符位于两个操作数之间.算术运算符的操作数必须是数值类型. (1)一元运算符: 一元运算符有:正(+).负(-).加1(++)和减1(--)4个. 加1.减1运算符只允许用于数值类型的变量,不允许用于表达式中.加1.减1运算符既可放在变量之前(如++i),也可放在变量之后(如i++),两者的差别是:如果放在

Java 中的运算符和流程控制相关内容的理解

接着之前的运算符方面,今天主要回顾运算符的一些计算.优先级方面的内容,以及一些流程控制中if-else 方面的知识. 赋值运算符 (=.+=.-=.*=./=.%=.&=.|=.^=.<<= .>>=. >>>=) byte/short/char 可以参与运算 除了 = 以外,其余的符号都要求这个变量得先有值 注意:在 Java 中不支持连等定义但是支持连等赋值 int i = 5; i += i *= i -= 3; -> 15 i = 5 + (

Java 中位移运算符 &gt;&gt;,&gt;&gt;&gt;,&lt;&lt;

Java 中的三种位移运算符 java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     右移运算符,num >> 1,相当于num除以2 >>>    :     无符号右移,忽略符号位,空位都以0补齐 下面将使用代码进行测试:这里涉及到码的表示:原码.反码.补码.移码 原码:最高位表示符号位,剩余位表示数字,0表示正数,1表示负数 反码:正数的反码等于原码,负数符

Java中的&lt;&lt; &gt;&gt;运算符操作细节

int i = 16; System.out.println(i>>2); 结果是4. int i = 16; System.out.println(i>>32); 结果是16. 通常我们都把m>>n理解为当前值m除以2的n次方,同理<<是乘,但我们注意到当某一个数>>32时,结果是它本身,原因就在于位移操作符右边的参数要先进行模32的运算. 例如上述的i>>2,实际上 temp = 2%32 = 2;    i / temp^2;

Java语言中的----运算符

day05 Java语言中的----运算符 一.运算符概述: 运算符的使用在每一门开发语言中都会使用到,在不同的语言中也会有不同的使用规则.通过运算符我们可以联想到MySQL数据库中的运算符,这些都是差不多的,可能有些在使用上是不一样的.下面就来看看Java中的运算符. 二.运算符: 1.算术运算符: 主要包含:加.减.乘.除.取余(%).自加(++).自减(--) 2.赋值运算符: 就是等号(=) 3.位运算符: 主要包含:&.|.~.^.<<.>>.>>&g

java中运算符详解

前言 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.JAVA中常见的运算符有很多种,大致分为以下几种,常见的几种运算符如下图: 算术运算符 加.减.乘.除.求余.例++.--.%./.  赋值运算符 为变量或常量起到赋值作用的.例如=.+=.*= 关系运算符 判断数据大小的,结果为一个布尔值.例如>.>=.!=.== 逻辑运算符 进行逻辑运算,运算的成员为布尔值,结果也为布尔值.例如&&.||.!. 条件运算符 也称三目运算符,表达式为(a<b)?a:b

Java-Java温习之Java中的重点和难点

Java中有很多内容在开发项目的过程中并不常用,但是却是很重要的部分,为了避免忘记,今天重新温习了一遍Java中的重点和难点,借此机会记录一下方便以后查找. 本文主要分为以下几个部分: 1.进制的相互转换 2.Java中位运算符的解释和运用 3.Java数组中常用的排序算法分析 4.Java中折半查找方法的分析和运用 5.Java中对象的初始化过程 6.Java抽象类在模板方法模式中的运用 7.Java多线程的难点和设计多线程程序时需要注意的问题 8.Java中集合框架运用时需要注意的问题 9.