JavaSE
基础
Bald_creator
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
字符串的定义形式总结
1、使用字符串常量“imooc“创建对象,会先去常量池中查看"imooc"是否存在,如果存在就直接赋值给字符串引用s。如果不存在,就先在常量池中创建字符串"imooc",然后再赋值给字符串引用s。String s = "imooc";2、使用new关键字创建字符串对象,字符串的值为一个空串""String s = new String();3、使用new关键字创建的字符串会先去堆中创建一个对象,然后会去常量池中对比一下,如果常量池中没有,就放一份在常量池,如果有,则不会再往常量池中放了。Str原创 2021-07-30 16:23:22 · 761 阅读 · 0 评论 -
包装类的比较
拆箱后的数据是基础数据类型。用 == 判断相等性,比较的都是数值,如果是字符,比较的是ASCII值public static void main(String[] args){ int a = new Integer(65);// 拆箱 int b = 65; char c = new Character('A'); System.out.println(a == b);// true System.out.println(a == c);// true}装箱后如果用 == 比较对象.原创 2021-07-30 16:00:24 · 676 阅读 · 0 评论 -
Java中的装箱&拆箱
Java为每种基本数据类型都提供了对应的包装类,而且还提供了包装类与基本数据类型之间的互相转化机制,也就是所谓的“装箱”和“拆箱”。概念:装箱:把基本数据类型转换成包装类的过程。拆箱:把包装类转换成基本数据类型的过程。分类:从实现的角度而言,可以分为“手动拆装箱”与“自动拆装箱”的操作。手动装箱:可以结合类型的构造方法或者valueOf()方法实现。手动拆箱:可以通过xxxValue()方法实现。自动装箱:把一个基本类型变量直接赋值给对应的包装类变量。自动拆箱:允许把包装类对象直接赋原创 2021-07-30 15:13:04 · 1383 阅读 · 0 评论 -
常见异常类型及原因分析
ArithmeticException1.异常说明:数学运算异常2.出现条件:涉及到数学运算的地方可能出现失误,比如程序中出现了除以零这样的运算3.示例演示:public static void main(String[] args){ int one = 12; int two = 0; System.out.println(one/two);}NumberFormatException1.异常说明:数字格式化异常2.出现条件:涉及到类型转换时,比如不符合转换格式的字符串被转.原创 2021-07-19 21:48:06 · 740 阅读 · 0 评论 -
枚举的应用
枚举的基本使用一、什么是枚举在生活中,我们可能会遇到这种问题:1、把0-9之间的整数列出来2、列出每周星期一到星期天的内容那么我们为了回答这些问题,就会把0-9和星期几的内容一一列出来,这种方式就是枚举。在Java语言中,也可以使用枚举,枚举可以看成是一些常量的集合,以星期为例,多个值之间用逗号分隔,定义如下:enum Week{MONDAY,TUESDAY,WEEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY}其中,enum是定义枚举类型的关键字,Week是原创 2021-07-17 11:20:09 · 1032 阅读 · 0 评论 -
接口中的内部类应用
我们在实际开发过程中,如果想要创建某些公共代码,使得它们可以被某个接口的所有不同实现所共用,那么接口内部的嵌套类会显得很方便。也就是说,在接口中可以含有内部类,实现类可以根据各自的需求进行有针对性的复用和调整。在这里,将结合案例分别展示接口中放置普通成员内部类和抽象成员内部类的特点及应用。譬如下例所示:定义接口IOuterInterface,其中分别定义了常量TEMP、抽象方法abMethod、默认方法deMethod、静态方法stMethod、普通成员内部类InnerClass和抽象成员内部类AbI原创 2021-07-17 09:47:34 · 600 阅读 · 1 评论 -
向上转型和动态绑定机制
多态的实现可以借由向上转型和动态绑定机制来完成,其中,向上转型实现了将子类对象向上转型为父类类型;而动态绑定机制能识别出对象转型前的类型,从而自动调用该类的方法,两者相辅相成。语法:向上转型又称为自动转型、隐式转型。即是父类引用指向子类实例,也表示子类的对象可以赋值给父类的对象。向上转型是安全的,因为任何子类都继承并接收了父类的非私有成员方法。绑定机制绑定就是将一个方法调用同一个方法所在的类连接一起。Java中存在静态绑定和动态绑定。其中,静态绑定是指在程序运行之前进行绑定(由编译器和链原创 2021-07-12 22:37:54 · 302 阅读 · 1 评论 -
关于单例模式的常见问题
1、public staic SingletonOne getInstance(){}a、该方法为什么用静态的?为什么要用这个类的类型作为返回值?getInstance()方法的作用是实现该类对象的返回,因此需要设置改类类型作为方法放回值;至于static,则是因为对于单例模式而言,需要载类外能在无需产生对象实例的情况下,完成这个方法的调用,因此该方法需要设置为static。b、只能叫这个名字吗?方法名并不限定,只是一种推荐命名,见名如义。2、关于对象实例化、对象引用、对象声明的关系完整的对象实原创 2021-07-01 16:35:17 · 379 阅读 · 0 评论 -
关于Objecg的常见问题
1、==到底比较的是值还是地址?==比较的是变量里存储的值,不过,对于基本数据类型而言,变量里存储的是数组,因此==比较的是数值是否相等;而对于饮用数据类型(例如String、自定义类等),变量里存的是对象的内存地址,因此,==默认比较的是是否指向同一内存空间,也就是地址是否相同。2、下面代码中A)如果是比较one和two的,那么,哪一个是当前对象哪一个是传入对象?B)为什么obj需要强制转化?C)if语句,为什么第一个表达式用到equals而第二个用到==呢?D)if语句,可以两个都用equa原创 2021-07-01 16:14:11 · 164 阅读 · 0 评论 -
static关键字的应用
static是Java中常用的关键字,代表“全局”或者“静态”的意思。关于static的特征,可以理解为:方便在没有创建对象的情况下来进行某些操作。通常可用于修饰成员变量和方法,也可以形成静态代码块。实际应用中,可将需频繁操作、通用型信息设置、公共组件封装等操作设置为“静态”。应用一:static+成员变量vs成员变量概念:静态成员:用static修饰的成员变量,通常也成为静态成员、静态属性、类成员、全局属性等。非静态成员:没有被static修饰的成员变量,也称为叫做非静态成员、实例变量,实例成员原创 2021-06-30 15:16:25 · 292 阅读 · 1 评论 -
package和import应用的常见问题
1、为什么需要打包,都放在一起使用不行吗?为便于大型应用程序中信息管理,解决协同工作时类的命名冲突的问题,Java引入了"包管理"机制类似于计算机管理系统中的文件夹。基于合理分类,便于管理的思想,约定:推荐将一组相互具有联系并组合起来完成某一功能的类聚集到同一个包中。同一个包中,类名不允许重复。不同包中,可以存在同名类。2、包管理语句使用规则是什么?1.语法规则package:作用:指明该文件中定义的类所在的包。语法格式:package 报名;包名推荐定义格式:域名倒序.模块.功原创 2021-06-30 14:51:15 · 576 阅读 · 0 评论 -
构造方法常见问题总结
1、构造方法与类中成员方法的区别是什么?1.作用构造方法:用于生成并初始化对象,针对不同的初始化状态,设置不同参数的构造方法。成员方法:根据类型所需任意功能,进行方法设置。2.格式构造方法:访问修饰符 类名(参数列表){*********}成员方法:访问修饰符 返回值类型 方法名(参数列表){*********}3.特点构造方法:(1)方法名必须与类名相同,包括大小写。(2)没有返回值,也不能用void修饰。(3)如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数且无方法体原创 2021-06-29 15:35:48 · 472 阅读 · 0 评论 -
this关键字的应用
一、调用属性和方法this是Java中常用的关键字,代表当前对象本身,可以理解为:指向当前对象的一个引用。this在Java中可用于调用成员属性、成员方法、构造方法,也可以当作参数进行方法传参以及方法返回值。应用1:this.成员属性示例:分别在run和eat方法中,通过this访问属性month和namepublic class Cat{ //成员属性:年龄,昵称 int month; String name;//昵称 //成员方法:跑动 public void run(int mo原创 2021-06-29 14:26:18 · 570 阅读 · 1 评论 -
就近原则总结
关于在Java方法调用传参时涉及到的“就近原则”,通俗来说可以理解为“有需要,找最近的”。请注意:此处的“最近”,不仅是简单的代码编写位置,物理显示的近,更是指逻辑含义上的近,即可访问范围内的最近。譬如,在如下代码中,分别定义了Cat和CatTest类,其中Cat类中包含属性month,方法run。在CatTest中实例化Cat对象one,调用了run方法,最后在输出语句中显示属性month的值。public class Cat{ //成员属性:年龄 int month;//年龄 int类型默认值原创 2021-06-29 11:28:01 · 1295 阅读 · 0 评论 -
Java内存管理之堆和栈
栈: 每个方法(Method)在执行时,都会创建一个栈帧,用于存储局部变量表、操作数、动态链接、方法出口等信息。需要注意,栈中所存储,多用于保持局部信息的值,譬如:方法体中的基本数据类型定义的变量、对象的引用(也称为对象实例)等。当局部作用范围结束时,栈内信息立即自动释放。当存储内容是由基本数据类型(byte、short、int、long、float、double、char、boolean)声明的局部变量时,在栈中存储的是它们对应的具体数值。当存储的局部的对象的引用(定义在方法体中的引用类型的变量),原创 2021-06-29 11:02:58 · 210 阅读 · 1 评论 -
关于javadoc命令
1、假设ArgsDemo3.java文件存储在E:imooc目录下,代码如下:/*** 关于可变参数列表和重载的问题* @author imooc* @version 1.0**/public class ArgsDemo3 {//可变参数列表所在的方法是最后被访问的。/*public int plus(int a,int b){System.out.println("不带可变参数的方法被调用!");return a+b;}*/public int plus(int...原创 2021-06-26 22:22:55 · 321 阅读 · 1 评论 -
可变参数列表与数组作为参数的区别
1、可变参数列表作为参数,方法调用时可以传入0或多个参数,传入数组也可以。数组作为方法参数,方法调用时只能传入数组。如:已知求和的方法:public int sum(int... n){ int s = 0;//存放整数后 for(int n1:n){ s += n1; }}如下的方法调用形式都是正确的:ArgsDemo ad = new ArgsDemo();int s = 0;s = ad.sum();s = ad.sum(1);s = ad.sum(1,2);int[]原创 2021-06-26 22:15:09 · 699 阅读 · 0 评论 -
Java方法重载
方法重载的规则方法名相同,参数列表不同。参数列表不同包括,参数的个数和类型不同。如果只有参数名不同,不能算作方法重载。如下三个方法是重载方法,它们的参数列表都是不同的。public void display(){}public void display(int n){}public void display(float n){}如下两个方法不是重载方法,两个方法只是参数名不同,不满足方法重载条件。public void display(int n){}public void disp.原创 2021-06-26 21:27:03 · 213 阅读 · 0 评论 -
三种循环结构的应用场景
1、从for循环的结构看,三个表达式会依次被执行到,执行的顺序也是固定的,所以for循环适用于循环次数固定的场景。for(int i=1; i<=10; i++){ System.out.println(i);}2、while循环,只有一个判断条件,结果为布尔值,如果为true就执行循环,为false就不执行。所以while循环适用于不知道循环次数,只知道循环达到某个条件可以执行时使用。在循环内,一般需要对循环变量进行改变,否则会发生死循环。int i=1;while(i<=5)原创 2021-06-18 21:48:54 · 3726 阅读 · 0 评论 -
多种数据类型的接收方法
接收数据方法intnextInt()longnextLong()floatnextFloat()doublenextDouble()字符串类型next()布尔类型nextBoolean()案例如下:Scanner sc = new Scanner(System.in);// 1.从键盘接收int类型数据int n = sc.nextInt();// 2.从键盘接收long类型数据long l = sc.nextLong();//...原创 2021-06-16 22:20:17 · 865 阅读 · 0 评论 -
Java中常见的转义字符
转义字符是一些有特殊意义的字符,用来表示常见的不能显示的字符。下面介绍一些常见的转义字符和他们所对应的意义转义字符意义ASCII码值(十进制)\b退格(BS),将当前位置移到前一列008\f换页(FF),将当前位置移到下页开头012\n换行(LF),将当前位置移到下一行开头010\r回车(CR),将当前位置移到本行开头013\t水平制表符(HT),(跳到下一个TAB位置)009\代表一个反斜线字符|092’代表一个单引号(原创 2021-06-11 14:38:03 · 1239 阅读 · 0 评论 -
Java基本数据类型的范围
类型位字节最小范围最大范围byte81-2^72^7-1short162-2^152^15-1int324-2^312^31-1long648-2^632^63-1原创 2021-06-11 14:30:11 · 1203 阅读 · 1 评论 -
Java中的关键字和保留字
关键字Java中的关键字是对编译器有特殊意义的词。比如class是用来定义类的关键字,编译器遇到class就知道这是定义了一个类。abstractbooleanbreakbytecasecatchcharclasscontinuedefaultdodoubleelseextendsfalsefinalfinallyfloatforifimplementsimportnativeintinterfacelonginstan.原创 2021-06-11 13:43:02 · 1611 阅读 · 0 评论 -
Eclipse中导入源码后出现乱码问题的解决方案
在Eclipse中导入源码后,如果代码中存在中文,可能会产生中文乱码问题。在Eclipse左侧工程栏中找到自己导入的工程,打开.java文件后出现乱码问题。在工程名上右键,选择properties在Resource项的右侧找到Text file encoding,默认选中的是Inherited from container(GBK),选择Other,在右侧的下拉列表中选择UTF-8,然后点击右下方的Apply and Close即可。...原创 2021-06-11 12:58:33 · 1768 阅读 · 0 评论 -
Eclipse如何导入源码
下载源码的压缩文件并解压打开Eclipse,在Eclipse的左上角,选择菜单File—>import出现如下图所示界面,在界面中选择General下的Existing Projects into WorkSpace,点击Next在出现的如下图所示的界面中勾选Select root directory,点击右侧的Browse进行工程所在位置选择在弹出的下图所示的选择文件夹界面中,找到解压后项目文件夹所在的位置,点击选择文件夹在如下图所示界面中出现要导入的源码工程,最后点击Finis.原创 2021-06-11 12:46:59 · 10184 阅读 · 4 评论
分享