栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java常见面试题之Java基础

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java常见面试题之Java基础

目录

Java基础考核点1、JDK、JRE、JVM三者之间的关系?

2、&和&&的区别

3、对于整数i,i++和++i有什么区别?

4、简述Java语言的数据类型?对基本数据类型,分别占几个字节?

5、整数据的默认类型为?浮点数默认类型?

6、String与StringBuffer区别?

7、String s=new String(“xyz”);创建了几个 String 对象?

8、什么是字符串常量池?

9、StringBuffer 和 StringBuilder 区别?

10、==和 equals 的区别?

11、final关键字作用

12、String能被继承吗?

13、String 类有那些常用方法?

14、Java程序执行流程

15、什么是递归?用递归求:1,1,2,3,5....数列的第30个数?

16,结束循环的常用方式有哪些?

17、switch语句判断表达式支持的数据类型有哪些?

18、用冒泡法实现对数组排序


Java基础考核点
1、JDK、JRE、JVM三者之间的关系?
JDK:Java Development Kit Java开发者工具包
JRE:Java Runtime Envirment Java运行环境
JVM:Java Virtual  Machine  Java 虚拟机


2、&和&&的区别

&和&&都可以作为逻辑与操作,当两边都为true时,才返回true。此外&&可以作为短路与,即如果第一个表达式为false则不在判断第二个表达式。此外&还可以作为为运算符,表示按位与操作。


3、对于整数i,i++和++i有什么区别?

I++表示先使用,再对I进行+1操作;++i表示先对i进行+1操作,随后进行使用。


4、简述Java语言的数据类型?对基本数据类型,分别占几个字节?
Java语言的数据类型分成2种:基本数据类型,一种引用数据类型
基本的数据类型有8种分别为:
byte(1B),short(2B),int(4B) ,long(8B),float(4B),double(8B),char(2),boolean(1)
引用类型:字符串(String),数组(Array),类(Class)等


5、整数据的默认类型为?浮点数默认类型?

整数默认类型为int,浮点数默认类型为double


6、String与StringBuffer区别?
String创建一个不可变的字符串对象
StringBuffer创建的是一个可变的字符串对象


7、String s=new String(“xyz”);创建了几个 String 对象?

创建了一个对象


8、什么是字符串常量池?
字符串常量池位于堆内存中,专门用来存储字符串常量,可以提高内存的使用率,避免开辟多块空间存储相同的字符串。
 在创建字符串时JVM会首先检查字符串常量池,如果该字符串已经存在池中,则返回它的引用。如果不存在,则实例化一个字符串放到池中,并返回其引用。


9、StringBuffer 和 StringBuilder 区别?
StringBuffer与StringBuilder都可以创建可变的字符串对象;
StringBuffer是线程安全的,StringBuider是线程非安全的,两者的API是一样的;

10、==和 equals 的区别?
equals 和== 最大的区别是一个是方法一个是运算符。 
==:如果比较的对象是基本数据类型,比较的是数值是否相等;如果比较的是引用类型,则比较的是对象的地址值是否相等。
equals():默认比较的是两个对象的地址;(在没有重写的前提下)
注意:equals方法不能用于基本数据类型的变量,如果没有对equals方法重写,则比较的是变量所指向的对象的地址。
 public boolean equals(Object obj) {
         return (this == obj);
     }

  public boolean equals(Object anObject) {
         if (this == anObject) {
             return true;
         }
         if (anObject instanceof String) {
             String anotherString = (String)anObject;
             int n = value.length;
             if (n == anotherString.value.length) {
                 char v1[] = value;
                 char v2[] = anotherString.value;
                 int i = 0;
                 while (n-- != 0) {
                     if (v1[i] != v2[i])
                         return false;
                     i++;
                 }
                 return true;
             }
         }
        return false;
     }

11、final关键字作用
final关键有三个功能
修饰变量,定义的是常量
修饰方法,方法不能被重写
修饰类,类不能被继承

12、String能被继承吗?
String类定义:public final class String{}
String是一个final  修饰的类,所以不能被继承 ;

13、String 类有那些常用方法?
length(): 返回字符串长度
charAt(): 返回指定索引处的字符
substring(): 截取字符串
trim(): 去字符串两端空白
split(): 分割字符串,返回一个分割后的字符串数组
replace(): 字符串替换
indexOf(): 返回指定字符的索引

14、Java程序执行流程
1.源码编译后得到字节码文件(*.class)
2.类加载器加载字节码文件、字节码校验器对字节码进行校验
3.字节码解释器将字节码翻译为目标机器码交系统运行

类加载器?三种类型的类加载器:引导类加载器,扩展类加载器,系统类加载器,自定义类加载器

15、什么是递归?用递归求:1,1,2,3,5....数列的第30个数?

递归是指程序调用自身的过程

public int di(int a){
    if(a==1){
        return 1;
    }
    if(a==2){
        return 1;
    }
    return di(a-1)+di(a-2);
}

16,结束循环的常用方式有哪些?

break终止循环,继续向下运行程序,

continue跳出本轮循环,进入下一轮循环

17、switch语句判断表达式支持的数据类型有哪些?

支持的数据类型有基本数据类型: byte,short,char,int 引用数据类型:Byte,Short,Character,Integer,String,以及枚举类型

18、用冒泡法实现对数组排序
public static int[] mao(int[] a){
    for (int i = 0; i < a.length-1; i++) {
        for (int j = 0; j < a.length-1; j++) {
            if(a[j]>a[j+1]){
                int t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
        }
    }


    return a;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/878003.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号