Java基础测试题面试题

匿名网友 匿名网友 发布于: 2015-08-30 00:00:00
阅读 266 收藏 0 点赞 0 评论 0

JAVA基础测试题
班级                 姓名              分数          
1.下面程序的输出是什么 C      
public class J_Class {
static int m_data=0;
}
public class J_Test {
	public static void main(String args[]) {
		J_Class a=new J_Class();
		J_Class b=new J_Class();
		a.m_data=1;
		b.m_data=2;
		System.out.println(a.m_data);
	}	
}
A 0	B 1 	C 2 	D 编译错误
2.下面程序的输出是什么   B  
 class J_Base {
	 public int m_data=1;

	 public String mb_method(){
		 return "2";
	 }	
}
public class J_Test extends J_Base{
	public int m_data=3;

	public String mb_method(){
		return "4";
	}

	public static void main(String args[]) {
		J_Base app=new J_Test();
		System.out.println(app.m_data+app.mb_method());
	}	
}
A 12 	B 14 	C 32 	D 34
3.下面程序的输出结果是 B        
public class J_Test {
	public static void main(String args[]) {
		int i = 99;
		mb_operate(i);
		System.out.println(i+100);
	}
	//int是基本数据类型,方法内的改变不会影响到方法外
	static void mb_operate(int i){
		i+=100;
	}	
}
A 99 	B 199 	C 299 	D 99100
4.下面哪段代码可以通过编译并正常运行  (A B c)     
A Character c=new Character('x');
B int primitive=1234;
  Integer wrappendInt=new Integer(primitive);
C Boolean wB=new Boolean("junk")//其中的参数除了是单词true(不分大小写)时为true,其它作参数都为false
D Long wLong=new Long("here");//以字符串作参数时,必须是数字类型的字符串

5.已知:Integer a=new Integer(0);Integer b =new Integer(0);Long c=new Long(0);下面哪些表达式返回true( B D)       
A a==b 	//两个不同的对像,地址不同B a.equals(b) 	C a.equals(c)//类型不同 	D a.equals(0)

6.下面程序的输出是   (12)        
public class J_Test {
	public static void main(String args[]) {
		String s[]={"1","2"};
		mb_swap(s[0],s[1]);
		System.out.println(s[0]+s[1]);
	}
	static void mb_swap(String s0,String s1){
		//方法内的改变不会影响到方法外
		String t=s0;
		s0=s1;
		s1=t;
	}	
}

7.下面程序的输出是 (21)            
public class J_Test {
	public static void main(String args[]) {
		String s[]={"1","2"};
		mb_swap(s);
		System.out.println(s[0]+s[1]);
	}
	static void mb_swap(String s[]){
		//数组是复合数据类型,方法内的改变会影响到方法外
		String t=s[0];
		s[0]=s[1];
		s[1]=t;
	}	
}
8.下面程序段被执行后,s1的值是("12") ,s2的值是("1234") ,s3的值是(1234) ,b的值是(false)    
String s1="12";
String s2=s1.concat("34");//常量连接变量为变量
String s3=s1+"34";//常量连接变量为变量
boolean b=(s2==s3);

9.下面程序运行后s1的值为("abc") ,s2的值为("def")    
String s1="abc";
String s2="def";
s2.toUpperCase();
s1.concat(s2);
10.下面的程序的运行结果是a为("java"),b为("javaC")      
public class J_Test {
	public static void main(String args[]) {
		String a=new String("java");
		StringBuffer b=new StringBuffer("java");
		mb_method(a,b);
	}
	public static void mb_method(String s,StringBuffer t){
		s.replace('j', 'i');
		t=t.append("C");
	}	
}

11.填写空白的位置,使整个表达式完整
void mb_method()(throws Exception){		  
( throw )new Exception("Exception i mb_mb_method");	
}

12.下面程序输出14              
public class J_Test {
	public static void main(String args[]){
		try{
			System.out.print("1");
			if(true){
				return;
			}
		}catch (RuntimeException e) {
			System.out.print("2");
			return;
		}catch (Exception e2) {
			System.out.print("3");
			return;
		}finally{
			System.out.print("4");
		}
		System.out.print("End!");
	}	
}
13.下面程序输出2:0,3:4,4:4,5:4,
public class J_Test {
	public static void main(String args[]){
		int i=0;
		try{
			for(i=0;i<10;i++){
				try{
					if(i%3==0){
						throw new Exception();
					}
					System.out.print("1:"+i+",");	
				}catch (Exception e2) {
					System.out.print("2:"+i+",");
					i+=2;
					if(i%3==2)
					throw new Exception();
					return;
				}finally{
					i*=2;
					System.out.print("3:"+i+",");
				}
				System.out.print("End!");
			}
		}catch (Exception e2) {
			System.out.print("4:"+i+",");
			return;
		}finally{
			System.out.print("5:"+i+",");
		}
		System.out.print("End!");
	}	
}
14.下面哪些语句会发生编译错误(C)
A int []a;	B int []b=new int[10];
C int c[]=new int[];//没有确定数组大小 	D int d[]=null;
15.下面哪些语句会发生编译错误(A B C D)
A int [10]a;//声明时不能确定大小B int [10]b=new int[5];//声明时不能确定大小
C int c[10]=new int[10];//声明时不能确定大小  	D int d[10]=null;//声明时不能确定大小
16.下面哪些语句会发生编译错误(A B D)                 
A int a={1,2,3,4};//a是个变量加[]	B int b={2,3,3};//b是个变量,加[]	
C int c[]={1,3,3,5}; 			D int []d={2 3 4 5};没有‘,’
17.下面哪些语句会发生编译错误(A B C )                  
A int a[]=new {1,2,3};		B int []b=new [1,3,4];
C int c[]=new (1,3,4);		D int []d=new int[5];
18.关于下面程序,哪些结论是正确的(D)           
public class Array {
	public static void main(String args[]){
		int a[]=new int[5];
		boolean b[]=new boolean[5];
		System.out.print(a[1]);
		System.out.print(b[5]);//数组越界
	}	
}
A 能编译并正常输出0flase  		B 能编译并正常输出 1true
C 不能通过编译				D 能编译,但不可运行

19.下面哪些语句会发生编译错误(A B D)                 
A double a[]=new double(3);//()改为[]	B double b[][]=new double[];//后面也要是二维数组
C double[]c=new double[3]; 	D double d[]={1.0 2.0 3.0};//没有逗号

20.下面哪些语句不会发生编译错误(A E )                
A String a[]={"1","2","3",null};	
B String b[]={"1","2",'c'};//'c'不是字符串
C String c[5]=new String[5];//声明不能有大小 		
D String d[]=new String[2]{"1","5"};//动态初始化确定了大小之后不能又静态初始化确定大小
E String e[]=new String[]{"1","2"};

21.下面哪些语句会发生编译错误(A)       
A int a[][]=new int[][3];//没有确定一维,不能确定二维	
B int b[][]={{1,2},{2,3},{1,2,3}};
C String s[][]=new String[2][];
D String t[][]={{"Can","I"},{"help","you","?"}};

22.下面哪些语句会发生编译错误(D)         
A int a[][]=new int[5][5]; 		B int [][]b=new int[5][5];
C int []c[]=new int [5][5];	D int [][]d=new int[25];//int [][]d=new int[25][]

23.关于下面的程序,哪些结论是正确的(C)
public class Array {
	public static void main(String args[]){
		int a[]=new int[5];
		a.length=10;//length属性是常量,不能改变它的大小,编译时发生错误
		System.out.println(a.length);
	}	
}
A 程序可通过编译并正常运行,结果输出10
B 程序可通过编译并正常运行,结果输出5
C 程序不能通过编译
D 程序可通过编译,但不能运行。

24.假设已经定义了变量String s="string";则下列哪些语句可以通过编译(A D)         
A int a=s.length();		B int b=s.length;//字符串只有length方法,没有length属性
C char c=s[3]//没有分号,并且字符串不能同数组一样用s[3]这样的格式 D s+=3;

25.假设已经定义了变量
String s1="1";
String s2="2";
String s3="3";
则下列哪些语句可以通过编译(A D)
A s3=s1+s2;	B s3=s1-s2;	C s3=s1&s2;	D s3=s1.toString();

26.下面代码中将哪些选项语句插入在指定位置可以使程序输出“test”(A B C )
public class Array {
	public static void main(String args[]){
		String a="java";
		String b="java";
		//指定位置{
			System.out.print("test");
		}	
	}	
}

A if(a==b) B if(a.equals(b)) C if(a.equalsIgnoreCase(b)) 
D if(a.compareTo(b)) // int compareTo(String anotherString)按字典顺序比较两个字符串 返回值为int不能作为条件语句

27.已知已经定义了两个变量( A C)
String s1="ja";
String s2="va";
 下面哪些变量与字符串常量“java”指向同一对象            
A String a="ja"+"va";//常量加常量为常量	B String b=new String("java");//new 分配了一个新的对象给变量b
C String c="java".toString(); D String d=s1+s2; //变量加变量为变量

28.下面的程序输出(A)             
public class Array {
	public static void main(String args[]){
		String a=new String("A");
		StringBuffer b=new StringBuffer("B");
		mb_operate(a, b);
		System.out.println(a+"."+b);
	}
	static void mb_operate(String x,StringBuffer y){
		x=new String("C");
		y=new StringBuffer("D");
	}	
}
A A.B   B A.D 	C C.B 	D C.D

29.下面的程序输出(B)            
public class Array {
	String m_string=new String("good");
	String m_array[]={"aaa"};
	public static void main(String args[]){
		Array array=new Array();
		array.mb_operate(array.m_string, array.m_array);
		System.out.println(array.m_string+array.m_array[0]);
	}
	public void mb_operate(String s,String []sa){
		s="bad";
		sa[0]="bbb";
	}	
}
A goodaaa 		B goodbbb 		C badaaa 		D badbbb

30.已知String s="today"; 则下面哪句会返回“day”(B )     
A s.substring(2,4);  	B s.substring(2);
C s.substring(3);	D s.substring(3,5);

31.下面代码共生成几个String对象(C)            
String s1="hello";
String s2=s1.substring(2,3);l
String s3=s1.toString();
String s4=new StringBuffer(s1).toString();
A 1 		B 2			C 3 		D 4

32.下面哪个方法调用时会改变原有对象(C)             
A String的toUpperCase() 	B String的replace()
C StringBuffer的reverse() 	D StringBuffer的length()

33.下面的程序输出(A.B)               
public class Array {
	String m_string="1234";
	public static void main(String args[]){
		StringBuffer a=new StringBuffer("A");
		StringBuffer b=new StringBuffer("B");
		mb_operate(a,b);
		System.out.print(a+"."+b);
	}
	static void mb_operate(StringBuffer x,StringBuffer y){
		x.append(y);
		y=new StringBuffer("AB");
	}	
}
A A.B		B A.A		C AB.AB		D AB.B

评论列表
文章目录