java基础--1--运算符

一、位运算符

任何信息在计算机中都是二进制的形式保存的,“&”,“|”,“^”除了可以作为逻辑运算符也可以作为位运算符。

&:只有参与运算的两位都为1,&运算的结果才为1,否则就为0。

|:只有参与运算的两边都为0,|运算的结果才为0,否则为1.

^:参与运算的两边相同为0,不同为1.

~:反码;取反。

一个数异或同一个数两次,结果还是那个数.  用处一个简单的加密思想.(加密图片代码:)

import java.io.*;
class  Demo4
{
    public static void main(String[] args) throws Exception
    {
        File inFile=new File("d:\\1.gif");
        File outFile=new File("d:\\加密.gif");
        FileInputStream input=new FileInputStream(inFile);
        FileOutputStream output=new FileOutputStream(outFile);
        int content=0;
        while((content=input.read())!=-1)
        {
        output.write(content^12);
        }
        output.close();
        input.close();

    }
}

加密

笔试题:将两个变量交换,不使用第三方变量。(用^)

class Demo5
{
    public static void main(String[] args)
    {
        int a=3;
        int b=5;
        a=a^b;
        b=a^b;
        a=a^b;
        System.out.println(a+","+b);
    }
}

交换变量

二、移位操作符

1.左移(算数移位"<<"):空位补0,超出的位数,丢弃。

结论:左移就相当于乘以2的n次方幂。

2.右移(“>>”)被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1;

结论:右移相当于除以2的n次方幂,n是移位的个数。

3.无符号右移(“>>>”)右移操作数左边的位数(最高位)统一用0补。

三、运算符顺序

时间: 2024-12-21 00:48:38

java基础--1--运算符的相关文章

从0开始学大数据-Java基础-三元运算符/键盘录入(4)

我们从零开始学习大数据技术,从java基础,到Linux技术涉猎,再深入到大数据技术的Hadoop.Spark.Storm技术,最后到大数据企业平台的搭建,层层递进,由点到面!希望技术大牛能过来指导学习. 上一节了解Java运算符,其中三元运算符没有做讲解,本节我们开始学习Java基础-三元运算符/键盘录入,将会围绕以下几个知识点进行展开学习: 三元运算符 键盘录入数据 一.运算符 1.三元运算符 接着上一节的话题运算符,本节讲三元运算符,在讲三元运算符之前,可能会有很多朋友会问,是不是有一元运

Java基础-位运算符Bitwise Operators

Java基础-位运算符Bitwise Operators 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 原文地址:https://www.cnblogs.com/yinzhengjie/p/8689059.html

Java基础 3. 运算符

Java基础 3. 运算符 目标 掌握数据类型转换 掌握算术运算符.赋值运算符 掌握逻辑运算符 掌握关系运算符.条件运算符 一.数据类型转换 //Demo1.java public class Demo1 { public static void main(String[] args) { //按照数值非数值分类 //数据类型:数值(整型int 浮点型float.double) //非数值(字符串String,字符char,布尔boolean(true.false)) //按照基本引用数据类型

Java基础(运算符)

---恢复内容开始--- Java中的运算符: 算术运算符:+  -  *  /   %    ++     -- %运算符叫取模:它就是取余的例如:43%7=1 其他的都是和数学里的运算符一样(不过在字符串中如果是两个字符串相加那么就是拼接了) ++和--它们的作用是自增,自减 单独使用:a++与++a没什么区别 操作使用:System.out.println(a++)这是先打印后运算System.out.println(++a)这是先运算后打印. 赋值运算符:=,+=,-=,/=,%=(这是

java基础总结-运算符

[变量的赋值与计算都离不开表达式,表达式的运算依赖于变量.常量和运算符.本节课讨论Java的表达式的构成.常量的定义.运算符的分类及应用.通过本课的学习你将掌握运用表达式和运算符完成变量赋值.条件判断.数学运算.逻辑运算等功能操作] 在讲述课程内容之前,先看一个求圆面积的问题.求圆面积的公式为: 其中S为圆面积,π为圆周率,r为半径. 假设用程序来计算圆的面积,S.π.r均为变量,省略的乘号为运算符,r的2次方可以描述为r*r.则上面的公式即为求圆面积的表达式. 结合上面的案例,本节课程分为三个

再回首,Java温故知新(七):Java基础之运算符

常规算数运算符 包括+.-.*./.%分别对应着加.减.乘.除.取余,算数运算符所处理的两个数字必须为同种类型,如果是不同类型且无法进行自动类型转换的话必须进行强制类型转换,不过强制类型转换可能会丢失一些信息,另外还有简写方法+=之类,如下: int i = i + 1; //上下两个算式其实是一样的 //相应的其他运算符也有此种简写,例如*=int i += 1; 自增自减 有编程基础的应该知道,在程序中对变量进行加一减一操作是非常常见的,而自增自减运算符就是简化了此种操作,此部分的难点在于自

JAVA基础知识——运算符

1.整数被0除会产生一个异常,而浮点数被0除将会得到无穷大或NaN的结果 2.例如: double w = x * y /z   JAVA是注重可移植的语言,但是在进行计算的时候,由于64位存储一个double值和80位浮点寄存器存储一个double值是不一样的,很多Intel处理器都是一步一计算的(这样计算的结果更精确),最后结果再截断为64位,这就和64位的机器计算的结果有所不同(直接结算,没有中间过程),一次运算一储存,有可能出现溢出或者计算速度慢的情况,JAVA程序设计语言承认了最优性能

java基础:运算符的基本用法

运算符: 就是对常量和变量进行操作的符号. 算数运算符: A:+,-,*,/,%,++,-- B:+的用法 a:加法 b:正号 c:字符串连接符 C:/和%的区别 数据做除法操作的时候,/取得是商,%取得是余数 D:++和--的用法 a:他们的作用是自增或者自减 b:使用 **单独使用 放在操作数据的前面和后面效果一样. a++或者++a效果一样. **参与操作使用 放在操作数的前面:先自增或者自减,再参与操作 int a = 10; int b = ++a; 放在操作数的后面:先参与操作,再自

java基础2_运算符,选择语句

算数运算符 +    相加  字符串的连接  正数 -    相减  负数 *    相乘 /    相除    10 / 3 ==> 3  两个操作数中精度最高的是int 结果也是int %    取模(求余) ++ 自增 -- 自减 ++ 和 -- 只能够用在变量上面,不能够用在常量 a = i++:先将i的值赋给a,再自增1      a = ++i;先自增1,再将i的值赋值给a 特殊:1/0        报异常(运行报错) 1/0.0      infinity(无限大)在java中0

黑马程序员----java基础之运算符、键盘录入、if switch语句、附相关面试题

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 1:运算符(掌握) (1)算术运算符 A:+,-,*,/,%,++,-- 注意事项:整数相除只能得到整数,如果想得到小数,必须先把数据变化为浮点数类型.如3/4结果为0,3*0.1/4=0.75 B:+的用法 a:加法 b:正号 c:字符