- 博客(23)
- 收藏
- 关注
原创 StringBuffer,StringBuilder相关面试题
1.StringBuffer和StringBuilder的区别?共同点:都是可变的字符序列不同点:StringBuffer:是一个线程安全的类, 同步的,线程角度来说,执行效率低StringBuilder:是一个线程不安全的类,不同步的,线程角度来说,执行效率高在单线程程序中,StringBuilder用来替代StringBuffer2.StringBuffer和数组都属于容...
2020-01-14 20:22:13 276
原创 Java中public,private,protected,默认 修饰符的优先级
public > protected > 默认 > privatefinal: 最终类型;不可以被修改,也就是常量的意思;private: 私有的;只有类 内部才可以访问;默认类型:它的访问权限是只有在同包和类内部可以访问;protected: 保护的 ;在子类,同包,类内部都可以访问;public: 公共的;任意的都可以访问...
2020-01-09 21:12:55 1884
原创 Java的内部类
成员内部类:在外部类的成员位置定义的类class Outer{ int num = 10; class Inner{ public void show(){ System.out.println(num); } }}局部内部类:在外部类的成员方法中定义的类class Outer{ public void method(){ int num =10; clas...
2020-01-09 20:54:26 177
原创 Java抽象类和接口的区别是什么?
1.成员的区别抽象类成员变量:既可以是常量,也可以是变量 ! 构造方法:有,无参构造/有参构造方法 ,作用:通过具体的子类进行实例化!(对对象的数据初始化) 成员方法:既可以是抽象的,也可以是非抽象的, 如果抽象的成员方法,必须携带public abstract 声明接口成员变量:只能是常量: 存在默认的修饰符 :public static final ...
2020-01-08 21:28:37 168
原创 Java中的继承和多态
首先说一下什么是继承:继承的概念:将多个类中的共同代码单独提取出来,形成一个独立的类, 多个类和当前独立的类产生一种关系: 继承关系 extends继承的好处: 1)提高了代码的复用性 2)提高了代码维护性 3)类和类产生这种关系,是多态的前提条件!Java中继承的特点:1)在Java中,只支持单继承,不支持多继承,在别的语言可能有多继承存在多继承的语言:c...
2020-01-07 20:36:41 293
原创 java中this和super的使用
1)输出子类的局部范围的变量 就近原则输出即可 2)通过show方法输出,子类的成员范围内的变量 this.成员变量:当前类的成员位置的成员变量 3)想要通过show()方法,输出父类的成员变量num 如果能够有一个关键字和this很类似,就可以访问 Java提供关键字:super super:代表父类的空间标识(父类对象的地址值引用) this...
2020-01-06 20:27:18 140
原创 继承的好处以及特点分别是什么?
继承:多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属 性和行为,只要继承那个类即可。 通过extends关键字可以实现类与类的继承继承的好处:1)提高了代码的复用性2)提高了代码维护性3)类和类产生这种关系,是多态的前提条件! 继承的特点:Java中继承的特点:1)在Java中,只支持单继承,不支持多继承,在别的语言可能有多继承存在多继承的...
2020-01-06 20:24:26 3969
原创 java中一个类的成员变量初始化过程
Student s = new Student();1.加载Student.class文件进内存2.在栈内存为s开辟空间3.在堆内存为学生对象开辟空间4.对学生对象的成员变量进行默认初始化5.对学生对象的成员变量进行显示初始化6.通过构造方法对学生对象的成员变量赋值7.学生对象初始化完毕,把对象地址赋值给s变量...
2020-01-03 20:53:47 428
原创 java中匿名对象的使用
匿名对象 就是没有名字的对象 格式: new 类名(); 有名字的对象:类名 对象名 = new 类名() ; 匿名对象应用场景: 1)实际开发中,仅使用一次即可! 匿名对象直接在堆内存开辟空间,使用完毕,立即从内存中释放调用 2)使用匿名对象的时候,可以链式编程(开发中不建议使用这种方式) new 类名1().方法名1(new 类名2(...
2020-01-03 20:37:42 377
原创 java中局部变量和成员变量的区别?
在类中的位置不同 成员变量:成员位置---在类中,方法外定义的变量 局部变量:在方法定义中,或者方法声明上的变量在内存中的位置也不同 成员变量:在堆内存中 局部变量:在栈内存中生命周期 成员变量:随着对象的创建而存在,随着对象的回收而消失 局部变量:随着方法调用而存在,随着方法的调用完毕而消失初始化不同 成员变量:跟对象相关的,描述一个对象的属性(成员变量...
2020-01-03 20:33:59 158
原创 java方法中形式参数的传递相关面试题
class ArgsDemo{ public static void main(String[] args){ //定义两个变量 int a = 10 ; int b = 20 ; System.out.println("a:"+a) ;//10 System.out.println("b:"+b) ;//20 //调用了一个方法 change(a,b) ;//方法的...
2020-01-02 19:00:18 221
原创 冒泡排序图解
/*冒泡排序*/class SortDemo{ public static void main(String[] args){ int[] arr = {2,12,3,13,20,11,32,33}; //调用冒泡排序方法 printSort(arr); } //冒泡排序 public static void printSort(int[] arr){ for(i...
2019-12-31 21:02:22 245
原创 for循环和while循环的区别?
在开发中,如果明确循环的次数,使用for循环 ;不明确循环次数,使用while循环从内存角度考虑,for循环的格式for(初始语句;条件语句;步长语句){循环体语句…},for循环结束之后,{}中的变量值会及时从内存中释放掉,不会消耗内存空间!while循环结束,还可以去访问变量值,不会立即从内存中释放掉,等待GC垃圾回收器(垃圾回收线程,也称为守护线程!)空闲时候回收!开发中优先使用f...
2019-12-30 20:11:27 299
原创 统计水仙花数有多少个?
水仙花数: 所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。 举例:153就是一个水仙花数。 153 =1x1x1+5x5x5+3x3x3分析:0)定义一个统计变量 int count = 0 ;1)水仙花:就是三位数 ---->for循环 循环中的变量为x 100 ~999 特点: 每个位的数据的立方和是当前数据本身 153 2)获取每个位上的数据 ...
2019-12-30 20:09:40 1042
原创 Java中String,long,byte类型可以作为switch中的表达式吗?
首先介绍一下java中的switch语句:switch语句 :格式switch(表达式){case 值1:语句1;break ;case 值2:语句2;break ;……default:语句n+1;break ;}执行流程:switch表达式 得到一个结果,首先需要和case后面的值1进行比较, 如果匹配,执行语句1,遇见break,结束语句如果case后面...
2019-12-27 19:08:39 969
原创 Java运算符相关面试题
面试题1:逻辑双与&&和逻辑单与&的区别? (逻辑双或||以及逻辑单或|,同理)共同点:都可以表示并列关系,有false,则false 都可以表示或者关系,有true,则true区别:逻辑双与&&,如果左边的表达式位false,则符号右边的表达式不会执行,称为扩展的逻辑运算符的短路效果同理逻辑双||,如果左边的表达式为true,则右边不执行,具...
2019-12-26 21:28:05 453
原创 Java中运算符的分类与使用
比较(关系)运算符,逻辑运算符 ,位运算符,三元(三目)运算符1)比较(关系)运算符>,<,>=,<=, ==(使用居多)运算符连接的表达式无论是简单还是复杂,结果最终都是boolean类型举例:int a = 10 ;int b = 20 ; boolean result = (a==b) ; //a ≠ b System.out.println(...
2019-12-26 19:42:04 285
原创 算术运算符:++和--的用法
单独使用无论++或者–在数据的前面还是后面,都是对当前数据自增1或者自减1参与运算使用如果++或者–在数据的前面,是将当前变量自增1或者自减1,然后将其结果进行赋值(运算)如果++或者–在数据的后面,先进行赋值(参与运算),然后在再自增1或者自减1 例题: 1:基本小题目 int a = 10; int b = 10; int c = 10; a =...
2019-12-25 21:04:36 993
原创 什么是二进制8421码?
8421码 是BCD码的一种,意思是每一个二进制位上的数据对应一个固定的值,只需要把1位置对应的数值相加就能得出该二进制对应的十进制的值.
2019-12-25 19:42:37 11660
原创 求byte b = 200的计算结果
题目分析:byte b = 200,其中byte为字节类型,其值的范围:-128-127200超出一个字节,所以200为int类型,占4个字节解题思路:求出200(int)的二进制数据,截取一个字节长度用截取的补码算出一个字节的原码解题:用8421法 求出200 的二进制200 = 128+64+8所以200的二进制为 :00000000 00000000 00000000 ...
2019-12-25 19:08:34 1570 2
原创 安装好JDK,怎么配置path环境变量
以windows10为例:1、在桌面上找到“此电脑”右击——“属性”——“高级系统设置”——“高级”——“环境变量(系统变量)”——(下面的)“新建”——变量名:JAVA_HOME——变量值:jdk的安装路径(bin的上一级目录)2、滚轮往下滑到“Path”,双击“Path”,点击“新建”然后填写:%JAVA_HOME%\bin (然后最好点击右边选项“上移”到第一行)3、一直点击确定就...
2019-12-24 21:12:25 1767
原创 安装好JDK之后,为什么需要去配置path环境变量?
如果不配置环境变量,编译和运行java文件只能在jdk安装目录bin目录里进行,而且该目录有很多的执行命令,如果在删除java文件时不小心误删了其他.exe文件就会很麻烦;配置了环境变量就可以在计算机的任意目录使用bin目录里的javac和java等。所以在安装好JDK后还需要配置Path变量...
2019-12-24 21:01:17 2266
原创 Java语言是跨平台的吗?JVM是跨平台的吗?
Java语言是跨平台的,JVM不是跨平台的不同平台需要安装对应版本的JVM才能运行(例如:windows系统有windows版的JVM,linux系统有linux体统的JVM)所以说JVM是不能跨平台的。Java语言通过不同系统上的JVM(相当于一个桥梁)对Java语言进行编译和运行,所以说java是跨平台的,而JVM就是Java语言跨平台的关键。...
2019-12-24 20:33:21 3991
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人