下面程序的输出是:()
String x="fmn";
x.toUpperCase();
String y=x.replace('f','F');
y=y+"wxy";
System.out.println(y);
A.FmNwxy
B.fmnwxy
C.wxyfmn
D.Fmnwxy
答案:D
在 java 中,一个类可同时定义为许多同名的方法,这些方法的形式参数个数,类型或顺序各不相同,传回的值可能各不相同,这种面向对象的特性称为()
A.隐藏
B.覆盖
C.重载
D.无此特性
答案:C
关于 JAVA 堆,下面说法错误的是()
A.所有类的实例和数组都是在堆上分配内存的
B.对象所占的堆内存是由自动内存管理系统回收
C.堆内存由存活和死亡的对象,空闲碎片区组成
D.数组是分配在栈中的
答案:D
一个以“.java”为后缀的源文件
A.只能包含一个public类,类名必须与文件名相同
B.只能包含与文件名相同的public类以及其中的内部类
C.只能有一个与文件名相同的public类,可以包含其他非public类(不考虑内部类)
D.可以包含任意public类
答案:C
JAVA语言的下面几种数组复制方法中,哪个效率最高?
A.for循环逐一复制
B.System.arraycopy
C.Arrays.copyOf
D.使用clone方法
答案:B
()仅包含方法定义和常量值。
A.接口
B.变量
C.单元
D.成员
答案:A
对文件名为Test.java的java代码描述正确的是()
class Person {
String name = "No name";
public Person(String nm) {
name = nm;
}
}
class Employee extends Person {
String empID = "0000";
public Employee(String id) {
empID = id;
}
}
public class Test {
public static void main(String args[]) {
Employee e = new Employee("123");
System.out.println(e.empID);
}
}
A.输出:0000
B.输出:123
C.编译报错
D.输出:No name
答案:C
有关下述Java代码描述正确的选项是____。
public class TestClass {
private static void testMethod(){
System.out.println("testMethod");
}
public static void main(String[] args) {
((TestClass)null).testMethod();
}
}
A.编译不通过
B.编译通过,运行异常,报NullPointerException
C.编译通过,运行异常,报IllegalArgumentException
D.编译通过,运行异常,报NoSuchMethodException
E.编译通过,运行异常,报Exception
F.运行正常,输出testMethod
答案:F
有关下述Java代码描述正确的选项是____。
public class TestClass {
private static void testMethod(){
System.out.println("testMethod");
}
public static void main(String[] args) {
((TestClass)null).testMethod();
}
}
A.编译不通过
B.编译通过,运行异常,报NullPointerException
C.编译通过,运行异常,报IllegalArgumentException
D.编译通过,运行异常,报NoSuchMethodException
E.编译通过,运行异常,报Exception
F.运行正常,输出testMethod
答案:F
在jdk1.5之后,下列 java 程序输出结果为______。
int i=0;
Integer j = new Integer(0);
System.out.println(i==j);
System.out.println(j.equals(i));
A.true,false
B.true,true
C.false,true
D.false,false
E.对于不同的环境结果不同
F.程序无法执行
答案:B
另类加法:
给定两个intA和B。编写一个函数返回A+B的值,但不得使用+或其他算数运算符。
输入:1 2
返回:3
public class Main14 { public static int addAB(int A,int B){ if (B==0){ return A; } int sum=0; int carray=0; while (B!=0){ //sum等于两个数异或的结果 sum=A^B; //carry等于两个数相与之后,左移一位的结果 carray=(A&B)<<1; //有可能还没算完,还得继续 A=sum; B=carray; } //返回上一次异或的这个结果 return A; } public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int a=scanner.nextInt(); int b=scanner.nextInt(); System.out.println(addAB(a,b)); } }
走方格的方案数
请计算n*m的棋盘格子(n为横向的格子数,m为竖向的格子数)从棋盘左上角出发沿
着边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和
往下走,不能往左和往上走。
注:沿棋盘格之间的边缘线行走·…数据范围: °1<=n,m<=8
输入描述: 输入两个正整数n和m,用空格隔开。(1<=n m<=8)
输出描述:' 输出一行结果
public class Main { //走方格的方案树 public static int func(int m,int n){ if (m==1 || n==1){ return m+n; } return func(m-1,n)+func(m,n-1); } public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int m=scanner.nextInt(); int n=scanner.nextInt(); int sum=func(m,n); System.out.println(sum); } }