Java基础
1、什么是字节码?字节码和其他机器代码有什么不同?
答:编写了一个Java程序后,它的源代码被编译为二进制表示,称为字节码。
Java字节码只要在实现了特定平台的解释器程序上(即JVM),就能运行,这是Java跨平台的根本。
而其他机器代码必须特定的平台上能够运行。
2、什么是Java的虚拟机,其工作原理是什么?Java版本有哪几个,个适用与哪些解决方案?
答:每种平台,都提供了一种字节码解释器,称为Java虚拟机(JVM)。
工作原理:操作系统装入jvm是通过jdk中java.exe来完成,通过下面4步来完成jvm环境.
1) 创建jvm装载环境和配置
2) 装载jvm.dll
3) 初始化jvm.dll并挂界到JNIENV(JNI调用接口)实例
4) 用JNIEnv实例装载并处理class类。
Java版本:J2SE:标准版,桌面开发和低端商务应用的解决方案。
J2EE:企业版,以企业为环境开发应用程序的解决方案。
J2ME:微型版,致力于消费产品和嵌入式设备的最佳方案。
3、什么是Java API、SDK、JDK、JIT?
答:java API:java应用程序接口
SDK:软件开发工具包
JDK:java开发工具包
JIT:即时编译方式
4、Java虚拟机的运行过程包括哪几个步骤?
答:代码的装入,
代码的校验,
代码的执行。
5、Java字节码的执行方式有哪两种?
答:即时编译方式(JIT):解释器先将字节码编译成机器码,然后再执行机器码。
解释执行方式:解释器通过每次解释并执行一下段代码来完成java字节码的所有操作。
6、javac.exe,java.exe的作用是什么?
答:javac.exe:java源文件编译工具
java.exe:java字节码解释程序
7、什么是环境变量?如何设置系统的环境变量?
答:环境中的变量是操作系统中定义的变量,可供应用程序使用。
设置系统的环境变量:点击我的电脑,然后按右键——属性——高级——环境变量——新建——名称/路径
8、path环境变量和classpath环境变量的作用是什么?
答:path环境变量:设置供操作系统去寻找和执行应用程序的路径。
classpath环境变量:Javac编译器的一种环境变量,它的作用与import package关键字有关。
JVM会在按照classpath给出的路径找到所有用到的类。
9、set classpath=c:/myjava,%path%,其中%path%的作用是什么?
答:%PATH%是引用以前你设置的PATH环境变量。
10、在环境变量中的设置中“.”的作用是什么?
答:表示当前目录。
11、Java程序的注释用哪几种类型,分别是什么?
答: /* */ 多行注释,可以嵌套//,但不可以有/* */
// 单行注释
/** */ 文档注释,可以嵌套//,但不可以有/* */
12、char c = '/r'作用:回车,光标移动到此行的行首,再写字符串的话,原先的被覆盖。
char x = '/n'作用:换行,光标移动到下一行的行首,
13、某学校为新来的学生安排房间,假如有x个学生,每个房间可以住6个人,请用程序实现他们要住的房间数。(不考虑男女问题)
class Rooms {
public static void main(String[] args) {
int N = 0;
int x = Integer.parseInt(args[0]);
if(x%6 > 0) {
N = x/6 + 1;
}
if(x%6 == 0) {
N = x/6;
}
System.out.println("rooms are: " + N);
}
}
14、编写一个程序,用选择法对数组a[]={20,10,50,40,30,70,60,80,90,100}进行由大到小的排序。
public class ArraySort {
public static void main (String [] args) {
int[] numbers = {20,10,50,40,30,70,60,80,90,100};
int Count=numbers.length;
int iTemp;
int iPos;
int i,j;
int n;
for(i=0;i<Count;i++) {
iTemp = numbers[i];
iPos = i;
for(j=i+1;j<Count;j++) {
if(numbers[j]<iTemp) {
iTemp = numbers[j];
iPos = j;
}
}
numbers[iPos] = numbers[i];
numbers[i] = iTemp;
}
for(n = Count -1 ;n >= 0;n--) {
System.out.println(numbers[n]);
}
}
}
15、打印输出10行杨辉三角形。
class YangHuiAngle {
public static void main(String[] args) {
int N = 10;
int[][] a = new int[N][N];
for(int i= 0;i < N;i++) {
a[i][i] = 1;
a[i][0] = 1;
}
for(int i = 2;i < N;i++) {
for(int j = 1;j <= i-1;j++) {
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
for(int i = 0;i < N;i++) {
for(int j = 0;j <= i;j++) {
System.out.print(" " + a[i][j]);
}
System.out.println();
}
System.out.println();
}
}
1、什么是字节码?字节码和其他机器代码有什么不同?
答:编写了一个Java程序后,它的源代码被编译为二进制表示,称为字节码。
Java字节码只要在实现了特定平台的解释器程序上(即JVM),就能运行,这是Java跨平台的根本。
而其他机器代码必须特定的平台上能够运行。
2、什么是Java的虚拟机,其工作原理是什么?Java版本有哪几个,个适用与哪些解决方案?
答:每种平台,都提供了一种字节码解释器,称为Java虚拟机(JVM)。
工作原理:操作系统装入jvm是通过jdk中java.exe来完成,通过下面4步来完成jvm环境.
1) 创建jvm装载环境和配置
2) 装载jvm.dll
3) 初始化jvm.dll并挂界到JNIENV(JNI调用接口)实例
4) 用JNIEnv实例装载并处理class类。
Java版本:J2SE:标准版,桌面开发和低端商务应用的解决方案。
J2EE:企业版,以企业为环境开发应用程序的解决方案。
J2ME:微型版,致力于消费产品和嵌入式设备的最佳方案。
3、什么是Java API、SDK、JDK、JIT?
答:java API:java应用程序接口
SDK:软件开发工具包
JDK:java开发工具包
JIT:即时编译方式
4、Java虚拟机的运行过程包括哪几个步骤?
答:代码的装入,
代码的校验,
代码的执行。
5、Java字节码的执行方式有哪两种?
答:即时编译方式(JIT):解释器先将字节码编译成机器码,然后再执行机器码。
解释执行方式:解释器通过每次解释并执行一下段代码来完成java字节码的所有操作。
6、javac.exe,java.exe的作用是什么?
答:javac.exe:java源文件编译工具
java.exe:java字节码解释程序
7、什么是环境变量?如何设置系统的环境变量?
答:环境中的变量是操作系统中定义的变量,可供应用程序使用。
设置系统的环境变量:点击我的电脑,然后按右键——属性——高级——环境变量——新建——名称/路径
8、path环境变量和classpath环境变量的作用是什么?
答:path环境变量:设置供操作系统去寻找和执行应用程序的路径。
classpath环境变量:Javac编译器的一种环境变量,它的作用与import package关键字有关。
JVM会在按照classpath给出的路径找到所有用到的类。
9、set classpath=c:/myjava,%path%,其中%path%的作用是什么?
答:%PATH%是引用以前你设置的PATH环境变量。
10、在环境变量中的设置中“.”的作用是什么?
答:表示当前目录。
11、Java程序的注释用哪几种类型,分别是什么?
答: /* */ 多行注释,可以嵌套//,但不可以有/* */
// 单行注释
/** */ 文档注释,可以嵌套//,但不可以有/* */
12、char c = '/r'作用:回车,光标移动到此行的行首,再写字符串的话,原先的被覆盖。
char x = '/n'作用:换行,光标移动到下一行的行首,
13、某学校为新来的学生安排房间,假如有x个学生,每个房间可以住6个人,请用程序实现他们要住的房间数。(不考虑男女问题)
class Rooms {
public static void main(String[] args) {
int N = 0;
int x = Integer.parseInt(args[0]);
if(x%6 > 0) {
N = x/6 + 1;
}
if(x%6 == 0) {
N = x/6;
}
System.out.println("rooms are: " + N);
}
}
14、编写一个程序,用选择法对数组a[]={20,10,50,40,30,70,60,80,90,100}进行由大到小的排序。
public class ArraySort {
public static void main (String [] args) {
int[] numbers = {20,10,50,40,30,70,60,80,90,100};
int Count=numbers.length;
int iTemp;
int iPos;
int i,j;
int n;
for(i=0;i<Count;i++) {
iTemp = numbers[i];
iPos = i;
for(j=i+1;j<Count;j++) {
if(numbers[j]<iTemp) {
iTemp = numbers[j];
iPos = j;
}
}
numbers[iPos] = numbers[i];
numbers[i] = iTemp;
}
for(n = Count -1 ;n >= 0;n--) {
System.out.println(numbers[n]);
}
}
}
15、打印输出10行杨辉三角形。
class YangHuiAngle {
public static void main(String[] args) {
int N = 10;
int[][] a = new int[N][N];
for(int i= 0;i < N;i++) {
a[i][i] = 1;
a[i][0] = 1;
}
for(int i = 2;i < N;i++) {
for(int j = 1;j <= i-1;j++) {
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
for(int i = 0;i < N;i++) {
for(int j = 0;j <= i;j++) {
System.out.print(" " + a[i][j]);
}
System.out.println();
}
System.out.println();
}
}