1.面向对象的三大思想特征是什么?
2.下列选项中,那个选项的值为 true
public class Square {
long width;
public Square(long l) {
width = l;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Square a,b,c;
a = new Square(42L);
b = new Square(42L);
c = b;
long s = 42L;
}
}
A: a == b; B: s == a; C: b == c; D:a.equals(s);
3.简述java中==和equals的区别
4.下列代码的输出是什么?
public class Cow {
public static void main(String[] args) {
int n = 3;
System.out.println("Before change, n = " + n);
n = changeData(n);
System.out.println("After changeData(n), n = " + n);
}
public static int changeData(int nn) {
nn = 10;
return nn;
}
}
5.下列代码输出是什么?
class Person{
private int id;
private String name;
public Person(int id,String name) {
this.id = id;
this.name = name;
}
}
public class StudentClass {
public static void main(String[] args) {
Person a = new Person(23, "a");
Person b = new Person(22,"b");
swap(a, b);
System.out.println(a == a);
System.out.println(b == b);
}
private static void swap(Person a, Person b) {
Person temp = a;
a = b;
b = temp;
}
}
6.请画图解释什么是方法的重写
7.请描述static关键字你所知道的一切(需要画图)
8.java代码,一维数组的删除操作,以及其时间复杂度
9.下列代码的输出什么?
public static void main(String[] args) {
String astring = new String("123");
String bstring = new String("123");
System.out.println(astring==bstring);
System.out.println(astring.equals(bstring));
}
10.下列代码的输出什么?
public class Cat {
public static void main(String[] args) {
byte a = -5;
System.out.println((a<<2));
}
}
11.下列代码的输出什么?
public static void main(String[] args) {
byte a = -5;
int c = (a >> 2);
System.out.println((byte) (a >> 2));
}
答案
- 封装、多态、继承
- C
- 对于引用类型==判断地址而equals判断值,对于基本数据类型都是判断值
- Before change,n=3 After changeData(n) ,n=10
- True true
6.
8.
9.False true
10.-20
11.-2