首页
学习
活动
专区
圈层
工具
发布

Java中的>>,>>>和

前言 我们都知道对于有符号数据类型,二进制最左端的数字为符号位,0代表正,1代表负,这里先介绍几个概念 逻辑左移=算术左移:高位溢出,低位补0 逻辑右移:低位溢出,高位补0 算术右移:低位溢出,高位用符号位的值补...比如一个有符号位的8位二进制数10101010,[]是添加的数字 逻辑左移一位:0101010[0] 逻辑左移两位:101010[00] 算术左移一位:0101010[0] 算术左移两位:101010...[00] 逻辑右移一位:[0]1010101 逻辑右移两位:[00]101010 算术右移一位:[1]1010101 算术右移两位:[11]101010 算术左移和算术右移主要用来进行有符号数的倍增...、减半 逻辑左移和逻辑右移主要用来进行无符号数的倍增、减半 Java中是没有无符号数据类型的,C和C++中有 符号 例子 解释 << num<< n 算术左移 相当于 num*(2的n次方) >...> num>>n 算术右移 相当于num/(2的n次方) >>> num>>>n 逻辑右移,当num为正数和算术右移一个效果 例子 public static void main(String[] args

1.4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java中的 this 和 super

    的引用 this.属性名,表示本对象自己的属性 当对象的属性和方法或构造器中,名称相同时,用 this 以示区分。...extends Person{ public Student(){ super(); } } 在继承中,子类的构造函数必须依赖父类提供的构造函数 //父类中只有带参构造方法...20); } } 2.2 super访问父类的属性 在子类的方法或构造器中,通过使用 super.属性 来访问父类属性 应用场景: 当子类和父类中定义了同名的属性时,想要调用父类中声明的属性,需要通过...super.属性 的方式来表明调用的是父类中声明的属性。...this 的区别 super() 是调用父类的构造函数,必须在构造函数的第一行 this() 是调用本类的构造函数,必须在构造函数的第一行 super() 和 this() 在同一个构造方法中,不能同时出现

    81620

    java中&和&&的区别和联系

    我想很多人在学习java的时候,或者其他语言(如:C#,.Net等)都会遇到 &和&& 然而,如果你没有真正的理解他们的意思,这会给你思路上面带来很大的麻烦 在这篇blog中,当你看完了以后,你会发现,...equals(str)){ 19 //do something 20 } 21 } 22 } 我们现在可能有一些模糊不清,现在我们先看看&和&&的电路问题...= null 的时候,接下来才会去执行: !"".equals(str) 如果: str != null为false,那么这个时候,程序是处于短路的情况,则,!""....= null 的结果如何(即true,false),程序都会执行: !""....equal(str) 电路问题总结: 对于:&   -- >  不管怎样,都会执行"&"符号左右两边的程序 对于:&& -- >  只有当符号"&&"左边程序为真(true)后,才会执行符号"&&"右边的程序

    1.3K20

    Java语法----Java中equals和==的区别

    【正文】平时在学Android和Java语言的时候,总是碰到“equals”和“==”这两个字符,老感觉差不多;其实还是有一些区别的,今天干脆把它们彻底弄清楚。...一、java当中的数据类型和“==”的含义:基本数据类型(也称原始数据类型) :byte,short,char,int,long,float,double,boolean。...二、equals()方法介绍:JAVA当中所有的类都是继承于Object这个超类的,在Object类中定义了一个equals的方法,equals的源码是这样写的:public boolean equals...我们new了一个对象,用“==”比较s1和s2,返回的结果却是false;而用用“equals”比较s1和s2,返回的结果是true。 ...5行中,java.lang.String的intern()方法"abc".intern()方法的返回值还是字符串"abc",表面上看起来好像这个方法没什么用处。

    22610

    Java中的类和对象

    1 什么是类和对象 在Java中,类近似于C语言中的结构体,类是用来对一个实体(对象)来进行描述的,如下: class Demo1 { public int a = 0; private...只不过int和double是java语言自 带的内置类型,而类是用户自定义了一个新的类型,比如我们上述的洗衣街类; 有了这些自定义的类型之后,就可以使用这些类来定义实例(或者称为对象)。...用类类型创建对象的过程,称为类的实例化,在java中采用new关键字,配合类名来实例化对象。...,并通过Date类中的成员方法对对象进行设置和打 印,代码整体逻辑非常简单,没有任何问题; 然而,如果我们将setDay中的变量名y,m,d改为year,mouth,day public void setDay...并不会报错; 4 对象的构造和初始化 4.1 如何初始化对象 在Java当中如果在方法内部定义一个局部变量,必须要初始化,否则会编译失败; public static void main(String[

    1.1K00

    Java中的数组和集合

    数组 Java 中的数组是一种容器,可以用来存储一组相同类型的元素。数组可以是一维的,也可以是多维的。 一维数组 使用示例 一维数组是指只有一行的数组。...在Java中,定义方式如下: int[] array = new int[5]; 这创建了一个名为 array 的整型数组,该数组有 5 个元素。...总之,在Java中使用数组和集合时,要注意正确的使用方式以及各自的特点和限制,尽量避免出现不必要的性能和安全问题。 集合 Java 中的集合是一组对象的容器,可以用来存储和操作各种类型的数据。...在 Java 中,最常见的 List 实现是 ArrayList 和 LinkedList。 ArrayList ArrayList 是基于数组实现的动态数组,它可以自动扩展容量来容纳新元素。...总结 Java 中提供了丰富的数组和集合类型,可以用来存储和操作各种类型的数据。了解这些类型的区别和使用场景,可以帮助我们更加高效地编写Java程序。

    2.7K61

    浅谈Java中的equals和==

    ==和equals方法之间的区别是什么?如果在初学Java的时候这个问题不弄清楚,就会导致自己在以后编写代码时出现一些低级的错误。今天就来一起了解一下==和equals方法的区别之处。...而对于非基本数据类型的变量,在一些书籍中称作为 引用类型的变量。比如上面的str1就是引用类型的变量,引用类型的变量存储的并不是 “值”本身,而是于其关联的对象在内存中的地址。...指向了一个对象(很多地方也把str1称作为对象的引用),此时变量str1中存储的是它指向的对象在内存中的存储地址,并不是“值”本身,也就是说并不是直接存储的字符串"hello"。...这里面的引用和C/C++中的指针很类似。   因此在用==对str1和str2进行第一次比较时,得到的结果是false。因此它们分别指向的是不同的对象,也就是说它们实际存储的内存地址不同。   ...该类的源码路径为:C:\Program Files\Java\jdk1.6.0_14的src.zip 的java.lang路径下的Object.java(视个人jdk安装路径而定)。

    36710

    浅谈Java中的equals和==

    ==和equals方法之间的区别是什么?如果在初学Java的时候这个问题不弄清楚,就会导致自己在以后编写代码时出现一些低级的错误。今天就来一起了解一下==和equals方法的区别之处。...也就是说比如: int n=3; int m=3; 变量n和变量m都是直接存储的”3″这个数值,所以用==比较的时候结果是true。 而对于非基本数据类型的变量,在一些书籍中称作为 引用类型的变量。...(很多地方也把str1称作为对象的引用),此时变量str1中存储的是它指向的对象在内存中的存储地址,并不是“值”本身,也就是说并不是直接存储的字符串”hello”。...这里面的引用和C/C++中的指针很类似。 因此在用==对str1和str2进行第一次比较时,得到的结果是false。因此它们分别指向的是不同的对象,也就是说它们实际存储的内存地址不同。...该类的源码路径为:C:\Program Files\Java\jdk1.6.0_14的src.zip 的java.lang路径下的Object.java(视个人jdk安装路径而定)。

    52220

    浅谈Java中的equals和==

    ==和equals方法之间的区别是什么?如果在初学Java的时候这个问题不弄清楚,就会导致自己在以后编写代码时出现一些低级的错误。今天就来一起了解一下==和equals方法的区别之处。...而对于非基本数据类型的变量,在一些书籍中称作为 引用类型的变量。比如上面的str1就是引用类型的变量,引用类型的变量存储的并不是 “值”本身,而是于其关联的对象在内存中的地址。...指向了一个对象(很多地方也把str1称作为对象的引用),此时变量str1中存储的是它指向的对象在内存中的存储地址,并不是“值”本身,也就是说并不是直接存储的字符串"hello"。...这里面的引用和C/C++中的指针很类似。   因此在用==对str1和str2进行第一次比较时,得到的结果是false。因此它们分别指向的是不同的对象,也就是说它们实际存储的内存地址不同。   ...该类的源码路径为:C:\Program Files\Java\jdk1.6.0_14的src.zip 的java.lang路径下的Object.java(视个人jdk安装路径而定)。

    63710

    Java中==和equals的区别

    1 问题 在Java中,equals是在object类中的方法,在object中equals是用来看看两个参数是否引用的是同一个对象,而 == 可用于判断两个对象的地址是否相等,那么equals和 ==...2 方法 首先,对于基本类型变量(如int, float)来说,equals和 == 的作用是相同的。...字符串是一个引用数据类型,对于引用数据类型来说,"=="比较的是两个对象在内存中的地址,"equals"比较的是两个对象的内容。...例如: 其运行结果为: (1)str==str1的结果为true,说明str与str1的引用对象是相同 (2)str.equals(str1)的结果是true,说明两者的内容相同。...3 结语 针对Java中,equals和==的区别的问题,提出在相同的条件下,比较用equals和==运行的结果的不同,通过实验可以看出,在基本类型变量条件下,equals和==的作用相同,而在字符串类型下

    46020

    浅谈Java中的equals和==

    ==和equals方法之间的区别是什么?如果在初学Java的时候这个问题不弄清楚,就会导致自己在以后编写代码时出现一些低级的错误。今天就来一起了解一下==和equals方法的区别之处。...而对于非基本数据类型的变量,在一些书籍中称作为 引用类型的变量。比如上面的str1就是引用类型的变量,引用类型的变量存储的并不是 “值”本身,而是于其关联的对象在内存中的地址。...指向了一个对象(很多地方也把str1称作为对象的引用),此时变量str1中存储的是它指向的对象在内存中的存储地址,并不是“值”本身,也就是说并不是直接存储的字符串"hello"。...这里面的引用和C/C++中的指针很类似。   因此在用==对str1和str2进行第一次比较时,得到的结果是false。因此它们分别指向的是不同的对象,也就是说它们实际存储的内存地址不同。   ...该类的源码路径为:C:\Program Files\Java\jdk1.6.0_14的src.zip 的java.lang路径下的Object.java(视个人jdk安装路径而定)。

    54630

    Java中==和equals的区别

    java中的数据类型,可分为两类:  1.基本数据类型,也称原始数据类型。...2.复合数据类型(类)    当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。...JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地 址,但在一些类库当中这个方法被覆盖掉了,如String,...Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了。  ...如果两个对象根据equals()方法比较是相等的,那么调用这两个对象中任意一个对象的hashCode方法都必须产生同样的整数结果。

    36630

    Java 中的 Comparator 和 Comparable

    前言 上一文简单对 Java 中的Comparator 接口进行了说明,今天我们来看看另一个和它非常类似的接口 java.lang.Comparable 。 2....Comparable Comparable 接口同样只有一个抽象方法 int compareTo(T o),其规则和Comparator 的int compare(T o1, T o2)类似。...虽然它也可以看作一个函数式接口,但是 Java 8 中并没有将它标记为函数式接口。说明设计者并不希望开发者将它作为函数式接口来使用。不然就偏离了设计意图,就像下面输入一个字符串返回该字符串的长度。...3.Comparator vs Comparable Comparator 和 Comparable 很相似,但是它们也是有一些不一样的地方的,主要表现在: 视角不同,Comparable 通常是对象自带的比较属性而...一个位于 java.lang 包下 ,一个在 java.util 下,这从侧面也证明了第一条。 4.

    58810

    Java和JavaScript中的JSON

    JSON 数据格式:键/值对 JSON 键值对是用来保存 JS 对象的一种方式,和 JS 对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号 "" 包裹,使用冒号 : 分隔,然后紧接着值,例如...在Java里name相当于对象的属性,而李四则是这个属性的值。...Java中使用JSON 在Java中我们可以通过maven工程的pom.xml配置文件,来配置JSON的jar包,如果是普通的Java工程的话配置也很简单,只需要把JSON的jar包下好后导入即可。...和Java一样在JavaScript中转换成JSON的对象数据也是以键值对来表示,数组是以方括号来表示。 1....解析数组形式的JSON,还是使用eval函数来解析,还是得加上小括号,和Java一样使用数组下标来拿值。 代码示例: ? 运行结果: ?

    4.9K30

    Java中的栈和队列

    1.前言 在计算机科学中,数据结构是用来组织和存储数据的方式,以便可以高效地访问和修改。栈和队列是两种最基本的数据结构,它们在各种计算过程中都有广泛的应用。...在现实中我们也有类似的场景,那就是子弹的发射,最后装填进去的子弹是最先发射出去。 2.2栈的使用 在Java中栈又是如何使用的呢?有以下这些方法。...2.5栈、虚拟机栈、栈帧的区别 栈(Stack):在Java中,栈是一种数据结构,它遵循后进先出(LIFO)的原则。...Java的集合框架中提供了Stack类,它是以向量(Vector)为基础的一个实现,用于存储和管理数据的先进后出的顺序。...3.2队列的使用 在Java中,Queue是个接口,其底层是通过链表来实现的。

    1.4K10
    领券