java面向对象试题 下载本文

}

A.10 B.9 C.11 D.编译错误

17.下列代码编译运行的结果是( a) public static void main(String[] args) { int e =12,f=13;

if(++e==13||f++==14){ System.out.print(\ }

System.out.print(e+\ int g=12,h=13;

if(++g==13|++h==14){ System.out.println(\ } }

A.c 13 13 d B.c 13 13 C.c 13 14 d D.13 13 d

18.下面代码编译运行的结果是(b ) public static void main(String[] args){ double s1 = 5/2;

System.out.println(s1+\

double s2 = 5/2.0;

} A. 2 2.5 B. 2.0 2.5 C. 2.0 2.0 D. 2.5 2.5

19.声明一个数组 int[] arr = new int[10] 下面说法正确的是(d) A.arr[0]的值未定义 B.arr[10]的值为 0

C.arr 数组的长度为 arr.length-1 D.arr[3]的值为 0

20.下面方法定义正确的是(abd ) A.public void test(){ }

B.public static void test(String name){ System.out.println(name); }

C.public int test( ){ return 0.0; }

D.public double test(int d){

return d++; }

二.问答题( 共 10 分 ) 1.八种基本数据类型分别是什么

byte、short、int 、long 、float 、double 、char 、boolean

2.java 文件编译运行的过程是怎么样的 ;JDK,JRE,JVM 分别是什么, 彼此之间的关系是怎么样的?(5分)

首先,编译,Java 源文件(*.java)经过Java的编译器编译成Java字节码文件(*.class);然后,运行,先进行类加载和字节码校验,之后,Java字节码经过JVM解释为具体平台的具体指令,并执行。 1.JVM -- java virtual machine

JVM就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。 2.、JRE -- java runtime environment

JRE是指java运行环境。光有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。在JDK的安装目录里你可以找到jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和lib和起来就称为jre。所以,在你写完java程序编译成.class之后,你可以把这个.class文件和jre一起打包发给朋友,这样你的朋友就可以运行你写程序了。(jre里有运行.class的java.exe)

3、JDK -- java development kit

JDK是java开发工具包,基本上每个学java的人都会先在机器上装一个JDK,那他都包含哪几部分呢?让我们看一下JDK的安装目录。在目录下面有六个文件夹、一个src类库源码压缩包、和其他几个声明文件。其中,真正在运行java时起作用的是以下四个文件夹:bin、include、lib、jre。现在我们可以看出这样一个关系,JDK包含JRE,而JRE包含JVM。 三.填空题( 10分/题, 共 30 分 )

1.打印出所有的“水仙花数”,所谓“所谓水仙花数”是指一个三位数,其个位数字的立方和等于该数本身.例:153是一个”水仙花数”,因为153=1三次方+5的

三次方+3的三次方;

for(int i = 100 ; i<1000 ; i++){ int a = i/100; int b = (i/10);

int c = i % 10 ; //i-100*a-10*b if(i == a*a*a + b*b*b + c*c*c){ System.out.println(i); } }

2.定义一个长度为10的数组并随机给数组赋值,赋值后输出当前数组,再使用冒泡排序降序输出。

int[] a = new int[10];

for(int i = 0 ;i

System.out.println(Arrays.toString(a));

for(int j = 0 ; j < a.length;j++){ //a.length for(int k = 0; k

a[k]=a[k+1]; a[k+1]=t; } } }

System.out.println(Arrays.toString(a));

3.从控制台输入一个大于 2 位数的数字, 通过算法让其数字反转,如 输入数字 123456 ,反转后的数字为 654321

Scanner in=new Scanner(System.in);

System.out.println(\请输入一个整数:\); int n=in.nextInt(); int sum=0; while(n>0){ int d=n; sum=sum*10+d; n=n/10; }

System.out.println(sum);