java基础详解编程语言

1、下面语句将输出什么?

public class T2 { 
	 
	long a[] = new long[10]; 
	public static void main(String[] args) { 
		// TODO Auto-generated method stub 
		System.out.println(a[5]); 
	} 
}

此段代码在编译的时候将会报错,因为静态方法中无法调用非静态属性值

可将long a[] = new long[10];改为 static long a[] = new long[10];

2、如下代码

public class T { 
 
	public static void main(String[] args) { 
		// TODO Auto-generated method stub 
		boolean flag = true; 
		if(flag = false){ 
			System.out.println("false"); 
		} 
		else{ 
			System.out.println("true"); 
		} 
	 
	} 
}

执行结果是什么?

可能有人觉得会报错,因为if里面的 flag = false是赋值语句 不是判断。而flag是boolean类型,即使赋值为false  if 里面它还是boolean类型,所以是正确的。

 

如果是如下代码

public class T { 
 
	public static void main(String[] args) { 
		// TODO Auto-generated method stub 
		int i = 10; 
		if(i=10){ 
			System.out.println("a"); 
		}else{ 
			System.out.println("b"); 
		} 
	} 
}

将会报错,因为int类型无法转换为boolean型。

3、已知如下代码:

public class T { 
 
	public static void main(String[] args) { 
		// TODO Auto-generated method stub 
		switch(m){ 
			case 0:{ 
				System.out.println("is 0"); 
			} 
			case 1:{ 
				System.out.println("is 1"); 
			} 
			case 2:{ 
				System.out.println("is 2"); 
			} 
			case 3:{ 
				System.out.println("is 3"); 
				break; 
			} 
			default :{ 
				System.out.println("other"); 
			} 
		} 
	} 
}

当m的值为什么时输出is 2

A、0     B、1    C、2      D、3      E、4   F、None

答案为:ABC。 每个case语句后面的break不可少。

 

4、已知如下代码

class Base{ 
	public Base(){ 
		//... 
	} 
	public Base(int m){ 
		//... 
	} 
	protected void fun(int m){ 
		//... 
	} 
} 
class Child extends Base{ 
	//... 
}

下列哪些语句可以正确加入到子类中?

private void fun(int n){//...} 
    void fun(int n){//...} 
    protected void fun(int n){//...} 
    public void fun(int n){//...}

在java中四种作用域的范围大小依次是public   protected   friendly   private

所以可以加入到子类中的是protected void fun(int n){//…}     public void fun(int n){//…}

 

 

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/14333.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论