1.int和未初始化对象的默认返回类型是什么?
答:如果int是临时变量(定义在方法体中,方法执行完了就释放掉了)则该变量必须初始化。如果是类的成员变量(定义在类中,方法体之外的变量)则为0; 未初始化的对象默认是null。
测试程序
public class Exercise
{
//成员变量
int number;
//未初始化的对象
private Rainfall myRainFall;
public void run()
{
System.out.println(number);
if(myRainFall==null)
{
System.out.println("未初始化对象为null");
}
else
{
System.out.println("初始化对象不为null");
}
}
}
执行结果是:
0
未初始化对象为null
5.创建一个叫做Car的类,创建两个实例化变量(类的成员变量),一个String colour,一个int number; 为Car类写一个构造函数,实例化上面创建的两个变量; 为Car类写一个访问方法(Accessor)和一个设置方法(mutator),访问设置colour字段。
import java.util.HashSet;
public class Car
{
private String colour;
private int numberOfDoors;
/**
* 车的构造函数
*/
public Car(String colour, int numberOfDoors)
{
this.colour = colour;
this.numberOfDoors = numberOfDoors;
}
/**
* 获得汽车的颜色
*/
public String getColourOfCar()
{
return this.colour;
}
/**
* 改变汽车的颜色
*/
public void setColourOfCar(String colour)
{
this.colour = colour;
}
}
6.为上面的Car类创建一个Car对象,定义一个HashSet,并把创建的Car对象添加到HashSet中。
import java.util.HashSet;
HashSet<Car> myCars = new HashSet<Car>();
Car myCar = new Car("red", 4);
myCars.add(myCar);
7.构造函数的参数的作用范围?
答:构造方法的花括号中{ }
8.写一个for循环和一个for each 循环遍历数组int[ ] numbers= {1,2,3,4,5};
public class LoopArray
{
//定义一个数组
int[] numbers = {1,3,2,4,2};
/**
* 使用for循环遍历数组numbers.
*/
public void loopThroughArray()
{
for(int num = 0; num<numbers.length; num++)
{
System.out.println(num);
}
}
/**
* 使用for each循环遍历这个数组numbers.
*/
public void forEachLoopThroughArray()
{
for(int oneNumber : numbers)
{
System.out.println(oneNumber);
}
}
}
9.java中子类调用父类构造函数的关键字是什么?
答:super
10.下列代码的输出结果是什么?
public static void main(String[] args)
{
ArrayList<Integer> list = new ArrayList();
list.add(7);
list.add(1);
list.add(5);
list.add(1);
list.remove(1);
System.out.println(list.get(1));
}
答:5
ArrayList中该方法移除对应位置的元素。元素从0开始计数。{7,1,5,1}
把 ***1***移除掉,{7,5,1},所以位置1的元素为5。
11.使用迭代器(Iterator)遍历ArrayList(列表)
import java.util.ArrayList;
import java.util.Iterator;
public class Exercise6
{
public static void main(String[] args)
{
//新建一个列表
ArrayList<Integer> list = new ArrayList();
list.add(7);
list.add(1);
list.add(5);
list.add(1);
list.remove(1);
//使用迭代器遍历ArrayList
//step1 新建一个迭代器
Iterator<Integer> myIterator = list.iterator();
while(myIterator.hasNext())
{
System.out.println(myIterator.next());
}
}
}
12.以下代码的输出是什么?
public class Exercise12
{
public static void main(String[] args)
{
int blueInt, greenInt, yellowInt;
blueInt = 20;
yellowInt = blueInt / 6;
greenInt = blueInt + yellowInt;
if(yellowInt > 3)
{
System.out.println("yellowInt = " + yellowInt);
}
else
{
if(greenInt > 20)
{
System.out.println("greenInt = " + greenInt);
}
else
{
System.out.println("blueInt = " + blueInt);
}
}
}
}
答:“greenInt = 23”
14.新建一个HashMap,学号:2121212作为字典的键,学生姓名“alex”作为字典的值,并且遍历该字典的键。
import java.util.HashMap;
import java.util.Iterator;
public class Exercise14
{
public static void main(String[] args)
{
HashMap<Integer,String> myMap = new HashMap();
myMap.put(2121212,"alex");
//遍历哈希字典
Iterator<Integer> myInterator = myMap.keySet().iterator();
while(myInterator.hasNext())
{
Object key = myInterator.next();
System.out.println("The key is: " + myMap.get(key));
}
}
}
15.java中什么是字符连接符?
答,加号(+)是字符串连接符,它可以连接两个字符串,还可以把一些类型不是String的连接进字符串,例如
int id = 10;
String name = "Mike"
System.out.println(name + id);
//输出为“mike10”
16.把下列for循环改写为while循环
public class Exercise16
{
public static void main(String[] args)
{
//把下列程序改成while循环
for(int i = 0; i <= 10; i++)
{
System.out.println("i" + i);
}
System.out.println("");
//改写
int i = 0;
while(i <= 10)
{
System.out.println("i" + i);
i++;
}
}
}
22.什么是程序的耦合度(coupling)?
答:耦合度是指模块之间,不同类的代码之间的关联度,我们编写代码尽量,通过模块之间的接口去访问,而不是直接引用别的模块的变量。
23.比较两个字符串是否相等
public class Exercise23
{
public static void main(String[] args)
{
String one = "hello";
String two = "goodbye";
String thr = "hello";
//比较两个字符串是否相等
if(one.equals(two))
{
System.out.println("the string are the same");
}
if(one == thr)
{
System.out.println("the string are the same2");
}
}
}