首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

01 - JavaSE之基础及面向对象

->float->double) byte,short,char之间不会相互转换,它们三者之间在计算时首先转换成int类型,然后进行计算。...容量大的数据类型转换成容量小的数据类型时,要加强制转换符,但是会造成精度降低或者溢出。 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那一种,然后再进行计算。...(System.out.println("5+5="+5+5); "+"运算符两侧的操作数只要有一个是字符串String类型,系统会自动将另一个操作数转换成字符串然后在进行连接。)...= 来判断是否相等; JAVA 中关系运算符的结果是个布尔值,而不是C语言中的1或0; 关系运算符常和逻辑运算符一起使用。...静态成员函数不能调用非静态成员成员变量和非静态成员函数,因为静态的成员函数不需要new一个对象出来(使用static声明的方法为静态方法,在调用该方法的时候,不会将对象的引用传递给它,所以在static

57040

Groovy 快速入门

: 'Anonymous' 安全导航运算符 当调用一个对象上的方法或属性时,如果该对象为空,就会抛出空指针异常。这时候可以使用?.运算符,当对象为空时表达式的值也是空,不会抛出空指针异常。...@name == 'Bob' 方法指针运算符 我们可以将方法赋给变量,这需要使用.&运算符。然后我们就可以像调用方法那样使用变量。方法引用的实际类型是Groovy的闭包Closure。...在Groovy中它相当于调用equals方法。如果需要比较引用,使用is。...list1.is(list2) //比较引用相等 转换运算符 我们可以使用Java形式的(String) i来转换类型。但是假如类型不匹配的话,就会抛出ClassCastException。...在使用命名参数的时候需要注意一点,方法参数需要声明为Map类型(不需要详细指定键和值的类型),在调用方法的时候使用命名参数方式传入参数。

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

    C++实战——日期类的实现

    同时,返回引用类型的对象,可以通过连续使用操作符实现连续的自增操作。...然后调用自定义的加法运算符(+=),将自身增加1天。最后返回tmp。 需要注意的是,该函数的参数int,只是为了区分前置递增运算符和后置递增运算符的函数签名,在函数体内并没有实际使用。...同时,返回引用类型的对象,可以通过连续使用操作符实现连续的自增操作。...和前置递减运算符不同,后置递减运算符需要通过函数参数来区分前置和后置形式,参数的类型可以是int或者一个无关的类型,这里使用int作为参数。...关于类里重载的比较运算符为什么要加外部const 在C++中,比较运算符重载通常需要将其定义为成员函数。在重载比较运算符时,我们需要考虑到两个方面: 在比较运算符重载中,我们不希望修改类的成员变量。

    11510

    JDK1.8源码(一)——java.lang.Object类

    讲清楚Java的两种导包类型了,我们在回到为什么可以直接使用 Object 类,看到上面查找类文件的第③步,编译器会自动导入 java.lang 包,那么当然我们能直接使用了。...4、equals 方法   通常很多面试题都会问 equals() 方法和 == 运算符的区别,== 运算符用于比较基本类型的值是否相同,或者比较两个对象的引用是否相等,而 equals 用于比较两个对象是否相等...}   可以看到,在 Object 类中,== 运算符和 equals 方法是等价的,都是比较两个对象的引用是否相等,从另一方面来讲,如果两个对象的引用相等,那么这两个对象一定是相等的。...,比较时不能比较引用是否相等,重点是字符串的内容是否相等。...②、如果有超类决定相等的概念,那么就可以使用 instanceof 进行检测,这样可以在不同的子类的对象之间进行相等的比较。

    1.4K160

    【笔记】《C++Primer》—— 第14章:重载运算和类型转换

    ,一般也会定义复合赋值运算符,此时一般使用复合赋值运算符来定义普通的算术运算符(也就是让普通的算术运算符通过包装复合赋值运算符来实现) 相等运算符的一般语义是比较类的每一个数据成员的值,当全部相等时才标识相等...int值,这样编译器才能区分出版本 14.7 成员访问运算符 箭头运算符必须是成员函数,解引用运算符一般也是类的成员 解引用运算符使用时应该检查目标是否在作用范围内 箭头运算符一般不会有自己的操作...,也就是我们必须使用强制类型转换才能使用 但是对于bool的特殊对待,在一些条件表达中,例如if,for,逻辑运算符和三目运算符中,bool转换会自动进行显式转换 对类进行隐式类型转换最好尽量避免,因为语义常常比较模糊...,建议除了bool类型外不要进行隐式的类类型转换 和普通函数调用不同,我们不能通过调用的形式来区分当前调用的重载函数是成员函数还是非成员函数 当我们使用重载的运算符时,编译器的候选函数集包括了同名的非成员函数和成员函数...,也就是当我们在表达式中使用了目标是内置类型的类型转换时,需要考虑接下来要使用的运算符到底是内置的还是我们自定义的运算符,这也很容易引起二义性问题

    66810

    30道最常问的Java基础面试题

    **简单易学;面向对象(封装,继承,多态);平台无关性(Java虚拟机实现平台无关性);可靠性;安全性;支持多线程(C++语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,...**多态**所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法...自动装箱与拆箱****装箱**:将基本类型用它们对应的引用类型包装起来;**拆箱**:将包装类型转换为基本数据类型;**14. 在一个静态方法内调用一个非静态成员为什么是非法的?...**对象的相等 比的是内存中存放的内容是否相等而引用相等 比较的是他们指向的内存地址是否相等。**25. 在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?**帮助子类做初始化工作。...(基本数据类型==比较的是值,引用数据类型==比较的是内存地址)**equals()** : 它的作用也是判断两个对象是否相等。但它一般有两种使用情况:情况1:类没有覆盖equals()方法。

    30910

    JAVA基础复习day-01

    ,也可以直接调用实例方法; 静态方法中如果要调用实例方法,必须先实例化对象,使用对象名调用; 1.1.10、void关键字 用法: 当方法没有任何返回值时,方法声明语句中使用void关键字; 当方法有返回值时...,是一种特殊的局部变量; 参数的赋值过程,是在调用该方法时完成的; 当有多个参数,调用该方法时,依次按照括号中的顺序为参数赋值; 参数的类型可以为Java的任何数据类型; 1.1.12、方法重载 概念:...与返回值类型、访问修饰符无关。 规则: 参数的类型不同; 参数个数不同; 参数的顺序不同; 1.1.13、变量作用域 规则: 变量的范围是程序中该变量可以被引用的部分。...如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。...: 不能对boolean类型进行类型转换; 不能把对象类型转换成不相关类的对象; 在把容量大的类型转换为容量小的类型时必须使用强制类型转换; 转换过程中可能导致溢出或损失精度; int i =128;

    61420

    【笔记】《C++Primer》—— 第三部分:类设计者的工具

    构造函数来类型转换,则拷贝初始化还是直接初始化就无关紧要了 析构函数的行为与构造函数相反,会自动销毁掉非static的成员和调用成员析构 析构函数没有参数列表,所以成员销毁时的行为完全依赖于成员自己 析构会在变量离开作用域或母构件销毁时销毁...我们应只在操作含义清晰明了时才重载运算符,且有些运算符我们最好还限定其成员性: 赋值,下标,调用,箭头 应该是成员 复合赋值 一般是成员 递增递减等会改变对象本身的应该是成员 参数两端可以改变顺序的如算数...当我们需要显式调用递增递减运算符时,我们需要对后置版本的参数传递一个任意int值,这样编译器才能区分出版本 重载函数调用运算符让我们可以像使用函数一样使用类的对象,称为函数对象,函数对象常常用作泛型算法的实参...将类朝bool类型进行转换是最常见的一种做法,但C11加入了显式类型转换来限制它,编译器不会隐式进行这个转换,也就是我们必须使用强制类型转换才能使用。...,派生类一般在构造函数开始的地方调用基类的构造函数,让基类来初始化自己的成员 静态类型是变量本身代码中的类型,在编译时决定,动态类型是变量在内存中的对象的类型,在运行时才能决定。

    1.7K10

    2.7w字!2021 最新版!Java基础面试题知识点总结!(上)

    简单易学; 面向对象(封装,继承,多态); 平台无关性( Java 虚拟机实现平台无关性); 支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而 Java...但是如果方法的返回值是引用类型,重写时是可以返回该引用类型的子类的。...,对引用数据类型进行引用传递般的拷贝,此为浅拷贝。...多态的特点: 对象类型和引用类型之间具有继承(类)/实现(接口)的关系; 引用类型变量发出的方法调用的到底是哪个类中的方法,必须在程序运行期间才能确定; 多态不能调用“只在子类存在但在父类不存在”的方法...简单易学; 面向对象(封装,继承,多态); 平台无关性( Java 虚拟机实现平台无关性); 支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而 Java

    80800

    可空值类型

    int 这正是理想的装箱行为,不过它有一个比较奇怪的副作用:在System.Object中声明的GetType()方法为非虚方法(不能重写),对某个值类型调用GetType()方法时总会先触发一次装箱操作...等价运算 和关系运算符可以保证返回类型是非可空的布尔型。进行等价操作时,两个null被视作相等,而一个null和任意一个非null值是不相等的。...绝大部分情况下二者并不会发生冲突:C# 1没有为null引用设计逻辑运算符,因此在C#中使用早期类SQL语言的结果没有问题,但当涉及比较操作时,二者的矛盾就凸显了。...在C# 1时代,转换类型后,还需要用is运算符来判断转换是否成功。这种方式不太优雅,本质上等同于请求CLR执行了两次相同的类型检查。说明 对可空类型使用as运算符,性能出奇地低。...最后,C# 2还引入了一个全新的运算符,用于优雅地处理null值。空合并运算符?? 在实际编码中,总会有使用可空值类型的需求:当一个表达式运算结果为null时,为变量提供一个默认值。C# 2引入了??

    2.3K30

    Java基础面试题50题

    第二种情况,使用了+=这个java自带的运算符,java内部会对其进行处理,所以编译通过,不会报错。 3.说说&和&&的区别。 &和&&都表示与的意思,既表达式俩边都成立,结果才成立。...&&是逻辑运算符,&&有短路作用,既当表达式左边为假时,不需要计算右边,整个的结果直接为假;&没有 &是位运算符,&的左右俩边可以是布尔类型,也可以是数值;&&俩边只能是布尔类型 4.Integer与int...==与equals的区别 从表面上看,对于基本数据类型==是判断的值是否相等;对于引用数据类型是判断是否为同一个对象 从本质上看,是看是否为一个引用地址 equals是判断值是否相等 6.override...(重写)和overload(重载)的区别 重载是在一个类中,方法名相同,参数列表不同(参数类型和参数个数)的一种现象 1.重载与返回值类型无关 2.不能通过访问修饰符进行重载 如下是重载: public...对象的浅克隆是在拷贝时把这个对象复制一份,但如果这个对象所属的类中有引用数据类型,这个引用还指向原来的引用。

    1.6K00

    【剑指 Java】第 1 弹:靠这份 Java 基础知识总结,我拿到了满意的 Offer

    如果要进行访问,则必须 new 一个外部类对象,使用该对象来进行访问,但对于静态变量和静态方法,能够直接调用。而普通的内部类作为外部类的一个成员而存在,能够直接访问外部类属性,调用外部类方法。...4.2 关系运算符 运算符 描述 例子 == 检查如果两个操作数的值是否相等,如果相等则条件为真。 (A == B)为假。 != 检查如果两个操作数的值是否相等,如果值不相等则条件为真。 (A !...) instanceof (class/interface type) 4.8 equals() 和 == == 基本数据类型用 == 比较的是值,用于引用数据类型时判断两个对象的内存地址是否相等,...即两对象是否是同一个对象; 本质来讲,由于 Java 中只有值传递,所以不管是基本数据类型还是引用数据类型,比较的其实都是值,只不过引用类型变量存的值是对象的地址; equals() 作用也是判断两个对象是否相等...但 Java 中并 不存在引用传递,因为 无论是基本类型还是引用类型,在实参传入形参时,均为值传递,即传递的都是一个副本,而非实参内容本身。

    49620

    Java匹马行天下之JavaSE核心技术——Java基础语法

    Java 的两大数据类型: 内置数据类型 引用数据类型 数据类型转换 整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。...: 不能对boolean类型进行类型转换; 不能把对象类型转换成不相关类的对象; 在把容量大的类型转换为容量小的类型时必须使用强制类型转换; 转换过程中可能导致溢出或损失精度; 自动类型转换(也叫隐式类型转换...语法: 在方法名后面的括号中声明; 参数的个数为大于等于0; 写法:方法名(类型  变量名,类型 变量名,……){} 参数是当前方法的局部变量,是一种特殊的局部变量; 参数的赋值过程,是在调用该方法时完成的...与返回值类型、访问修饰符无关。 规则: 参数的类型不同; 参数个数不同; 参数的顺序不同; 13、变量作用域 规则: 变量的范围是程序中该变量可以被引用的部分。 方法内定义的变量被称为局部变量。...同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。

    71620

    JavaScript中==和===的区别

    JavaScript中==和===的区别 js中我们经常会判断两个值相等不相等,用到的就是相等运算符和严格相等运算符。...一般情况下,只要变量的数据类型可以确定,我们都使用===来进行判断 下面对两个元素符的使用或者说是判断规则进行一下讲解 一、==相等运算符 相等运算符在进行类型判断时可能会进行一些类型转换 1、如果有一个操作数是布尔值...,那么在进行比较时还会将其转换为数值 1 == true // true 2、如果一个操作数是字符串,另一个是数值,在比较的时候会将字符串改成数值 1 == '1' // true 3、如果一个操作数是对象...,另一个操作数不是,则调用对象的valueOf和toString方法把对象做一个转换 [] == "" // true [] == false // let a = [1,2,3] a.toString...,了解一下就好 二、=== 严格相等运算符 严格相等运算符是先进行类型比较,如果类型都不同,直接就不相等 ES6数据类型有Number、String、Boolean、 Object、Symbol、null

    51230

    java基础知识点总结

    4.圆括号 功能丰富,定义方法时必须使用圆括号来包含所有的形参声明,调用方法时也必须使用圆括号来传入实参值,在表达式中括起某部分改变计算优先级,还可以作为强制类型转换的运算符。...= instanceof A instanceof B:A这个对象是否属于B这种类型。 3.逻辑运算符:使用逻辑运算符进行操作的必须是两个boolean类型的值。...编写java程序时,引用类型只能调用它编译时类型的方法,而不能调用它运行时类型的方法,及时它实际所引用的对象却是包含该方法,如果需要应用到运行时实际类型的方法,可以进行类型强制转换。...==和equals 测试两个变量是否相等,使用==运算符或者equals方法 ==:基本类型变量,只要变量的值相等,就返回true,引用类型变量,指向同一个对象时才返回true,不可比较没有父子关系的两个对象...,所有final修饰的局部变量在定义时可以指定默认值,也可以不指定 如果定义时没有指定默认值,则在后面的代码中只能赋值一次,如果是形参则由调用方法时传进来的实参值初始化 final基本类型变量和引用类型变量

    1K20

    对象的相等和引用相等的区别

    在 Java 中,使用 ==运算符来比较两个对象的引用是否相等。 2. 为什么需要区分对象的相等和引用相等? 在编程过程中,我们经常需要比较对象的相等性。...有时候我们只关心对象的内容是否相等,而不关心它们是否引用同一个对象。例如,在集合类中,我们需要根据对象的内容进行查找、删除等操作,此时就需要判断对象的相等性。...另外,对于基本数据类型(如 int、char 等),直接使用==运算符即可判断相等性,但对于对象则需要使用equals()方法来判断相等性。 3. 对象的相等和引用相等的实现原理?...在使用 ==运算符比较两个对象的引用时,需要注意是否真正需要比较对象的引用相等,而不是内容相等。 8. 总结 对象的相等和引用相等是编程中常用的概念。...对象的相等通过重写equals()方法来实现,可以根据对象的内容来判断相等性;引用的相等通过==运算符来比较两个对象的引用是否相等。在使用时需要注意区分二者,并根据具体需求选择合适的方式进行比较。

    28240

    Java基础(二)面试题

    2,Java 特征 简单,Java 会让你的工作变得更加轻松,使你把关注点放在主要业务逻辑上,而不必关心指针、运算符重载、内存回收等与主要业务无关的功能。...使用远程方法调用(RMI),程序可以通过网络调用另一个程序的方法并获取输出。您可以通过从互联网上的任何计算机上调用方法来访问文件。这是革命性的一个特点,对于当今的互联网来说太重要了。...继承:继承指的是使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。...4,值传递和引用传递的区别 值传递 是指在调用函数时将实际参数复制一份到函数中,这样的话如果函数对其传递过来的形式参数进行修改,将不会影响到实际参数。...引用传递 是指在调用函数时将对象的地址直接传递到函数中,如果在对形式参数进行修改,将影响到实际参数的值。

    26550

    应用程序编程接口-API

    1.2、JDK帮助文档使用 打开帮助文档 点击显示,找到索引,看到输入框 输入要搜索的API内容,在输入框里输入,然后回车 看包:java.lang下的类不需要导包,其他需要 看类的解释和说明,学习构造方法...==运算符来进行运算判断,所以判断两个对象是否”相同”使用的是equals方法。...注意:在复写Object中的equals方法时,一定要注意public boolean equals(Object obj)的参数是Object类型,在调用对象特有数据时,一定要进行类型转换,在转换之前必须进行类型判断.../*  *  类似*号这种运算符是不能操作引用数据类型的  *    *  ==比较的是对象的地址值  *  前提:Object的equals方法  *  public boolean equals(Object...obj)  和==一样都是比较两个引用数据类型的地址值,  *          只有两个对象的引用是同一个时返回true  *  调用equals方法比较的是地址值,但是通常我们不希望比较地址值,我们希望能够比较对象的属性值

    43300

    java每日一练(201793)

    本期题目 (单选题)1、下列关于构造方法不正确的是:( ) A 类的构造方法和类同名 B 一个类可以有多个构造方法 C 在实例化对象时必须调用类的构造方法 D 构造方法可以和该类其他方法一样被该类对象调用...D 网络编程 ---- (单选题)4、下列关于继承的描述正确的是() A 在Java中允许定义一个子类的引用,指向父类的对象。...括号里先算,然后再从左到右开始算 刚开始第1个+就是运算符所以20+5=25 ,当遇到“”时转换为字符串。...B a是整数类对象,b是整数类型变量。 C a和b都是整数类对象并且它们的值相等。 D a和b都是整数类型变量并且它们的值相等。...A new语句创建对象 B 调用Java.io.ObjectInputStream的readObject方法 C java反射机制使用java.lang.Class或java.lang.reflect.Constructor

    74270

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券