java基础

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();
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值