java基础知识(常用的简单面试题)

简介: 1、JDK、JRE、JVM① JDK: Java Development kit Java 开发工具包② JRE: Java Runtime Environment Java 运行环境③ JVM: Java virtual Machine Java 虚拟机

1、JDK、JRE、JVM

① JDK: Java Development kit Java 开发工具包

② JRE: Java Runtime Environment Java 运行环境

③ JVM: Java virtual Machine Java 虚拟机

2、简述Java程序编译和运行的过程

① Java编译程序将Java源程序翻译为JVM可执行代码--字节码,创建完源文件之后,程序会先被编译成 “.class” 文件。

② 在编译好的java程序得到“.class”文件后,使用命令java 运行这个 .class 文件,系统就会启动一个jvm进程,并找到主函数的入口,开始执行main函数。

3、八种基础数据类型及字节大小

① byte 8位

② short 16位

③ int 32位

④ long 64位

⑤ float 32位

⑥ double 64位

⑦ boolean 1位

⑧ char 16位

4、使用嵌套的for循环打印九九乘法表。

public class Multiplication {

public static void main(String[] args) {

for (int i = 1;i<=9;i++){

for(int j = 1;j<=i;j++){

System.out.print(j+""+i+"="+ij+" ");

}

System.out.println();

}

}

}

1、值传递和引用传递的区别

①值传递:值传递是将进行传递的值进行拷贝,然后对拷贝之后的值进行传递,传递过程前后不改变原值的大小;

②引用传递:引用传递是将需要传递值的地址进行传递,传递过程前后会改变原值的大小。

2、什么是方法重载

方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。

3、4种访问控制符区别描述

① Private(当前访问权限):被声明为private的成员只能被当前类中的其他成员访问,不能在类外看到;

② 缺省(包访问权限):如果一个类或类的成员前没有访问控制符,则获得缺省的访问权限,缺省的可以被同一包中的所有类访问;

③ Protected(子类访问权限):被声明为protected的成员既可以被同一个包中的其他类访问,也可以被不同包中的子类访问;

④ Public(公共访问权限):被声明为public的成员可被同一包或不同包中的所有类访问,即public访问修饰符可以使类的特性公用于任何类。

4、写出8个基本数据类型提供了对应的封装类

①byte Byte 字节

②short Short 短整型

③ int Integer 整型

④ long Long 长整型

⑤ char Character 字符型

⑥ float Float 单精度浮点型

⑦ double Double 双精度浮点型

⑧ boolean Boolean 布尔型

5、什么是装箱和拆箱

①装箱:指将基本类型数据值转换成对应的封装对象,即将栈中的数据封装成对象存放到堆栈中;

②拆箱:拆箱是装箱的反过程,是封装的对象转换成基本类型的数据值,即将堆中的数据值存放到栈中的过程。

6、String 和StringBuilder的区别

①String创新的字符串建的字符串是不可变的,如果改变字符串变量的值,是在内存中创建一个新的字符串,字符串变量将引用新创建的字符串地址,而原来的字符串在内存中依然存在且内容不变,直至java的垃圾回收系统对其进行销毁;

②StringBuilde创建一个可变的字符串,StringBuilder没有实现线程安全,因此性能较好。

编写一个 PointDemo 类,并提供一个distance(Point p1,Point p2)方法用于计

算两点之间的距离,实例化两个具体的 Point 对象并显示它们之间的距离

public class PointDemo {

public void distance(Point p1 ,Point p2 ){

double dist =0;

double a = Math.pow((p1.getX()-p2.getX()),2);

double b = Math.pow((p1.getY()-p2.getY()),2);

dist=Math.sqrt(a+b);

System.out.println(dist);

}

public static void main(String[] args) {

Point p1 = new Point();

Point p2 = new Point();

Scanner a = new Scanner(System.in);

System.out.print("Please input x for point 1:");

p1.setX(a.nextDouble());

System.out.print("Please input y for point 1:");

p1.setY(a.nextDouble());

System.out.print("Please input x for point 2:");

p2.setX(a.nextDouble());

System.out.print("Please input y for point 2:");

p2.setY(a.nextDouble());

PointDemo s =new PointDemo();

s.distance(p1,p2);

}

}

小编还整理了许多的java面试资料。
2345_image_file_copy_49.jpg

相关文章
|
2月前
|
安全 Java 编译器
Java基础-知识点(二)
Java基础-知识点(二)
13 0
|
4月前
|
存储 Java 编译器
|
4月前
|
缓存 Java 编译器
|
7月前
|
存储 设计模式 算法
Java基础知识点总结3
Java基础知识点总结
60 0
|
存储 Java 容器
|
存储 缓存 安全
Java基础知识面试题4
Java基础知识面试题4
269 0
|
存储 开发框架 安全
Java基础知识面试题1
Java基础知识面试题
234 0
|
存储 Java 编译器
Java基础知识面试题3
Java基础知识面试题3
95 0
|
Java 关系型数据库 Unix
Java基础知识面试题2
Java基础知识面试题2
203 0
|
Java Unix
【Java】基础知识点总结
【Java】基础知识点总结