- switch中的表达式的结果即key值的类型为:byte,char,short,int,jdk1.5加入了枚举,jdk1.7加入了String。
- switch语句中,一个case开始执行后,遇到break结束执行这个case语句;switch语句中,default不是必须要写的。
- 循环结构模拟了现实世界中的“重复问题”的逻辑。
- 循环结构的四种内部结构?
1)while(布尔表达式){
循环体;
}
2)do{
循环体;
}while(布尔表达式);
3)for(初始表达式;布尔表达式;迭代因子){
循环体;
}
4)foreach(数组或集合中元素的类型 迭代变量:数组或集合名){
循环体;
} - while与do while的区别?
当条件不成立时,do while至少执行一次。 - 什么情况下,会出现死循环 ?
循环条件始终成立时,则会出现死循环。
例如
while(true){
System.out.println("helloworld!");
}
for循环相比while循环有什么优势?
语法结构比while简便
通常用于解决循环次数固定的问题。- 下面代码有什么问题?
for(int i=0;i<=10;i++){
System.out.println(i);
}
System.out.println("(((((("+i);
i超出了作用域的范围。
9. 循环中:
break用于强行退出循环,不执行循环中剩余的语句。
continue用于跳出本次循环,不执行continue后的语句,继续下一次循环。
10. 语句块能否使用外部的变量?语句块中定义的变量,外部能否使用?
语句块能使用外部的变量,但是语句块中定义的变量外部不能使用。
11. 方法的定义中,是否必须要有返回值类型?如果确实不需返回值,使用哪个关键字声明?
返回值类型不是必须的
不需要返回值,使用关键字void
12. 方法的定义中,return不是必须的
作用: return 语句终止方法的运行并指定返回的数据。
13. java中,参数的传递使用的是值传递而不是引用传递。
14. 方法的定义中,形式参数和实际参数有什么区别?
方法定义时的参数称为形式参数,需要数据类型。
方法调用时的参数称为实际参数,不需要类型,只需要值。
15. 方法定义时,使用的是形参。
16. 定义形参时,必须要写变量类型。
17. 实参类型和形参类型必须匹配。
18. 什么是方法的重载?有什么作用?
方法重载:
1)在同一个类中 2)方法的名称相同 3)参数列表不同
4)与访问修饰符和返回值类型无关 5)与异常无关
作用:
传递不同的参数实现相同的效果。
19. 两同三不同指的是?返回值不同构成重载吗?形参名称不同构成重载吗?
两同:同一个类,方法名称相同。
三不同:参数列表的参数的类型,个数,顺序不同。
返回值不同不能构成方法重载。
形参名称不同不能构成方法重载。
20. 递归算法中,递归头和递归体分别指什么?
递归头:什么时候不调用自己方法,即递归的结束条件
递归体:什么时候需要调用自己方法,即自己调用自己
21. 递归算法的优点是什么?缺点是什么?
优点:将问题逐渐简化。
缺点:会占用大量的系统堆栈,内存耗用多,在递归调用层次多时速度比循环慢的多。
22. 使用递归算法完成阶乘算法
public static int jiecheng(int numner){
if(number==1){
return 1;
}else{
return number*jiecheng(number-1);
}
}
- 数组的类型可以是任意类型。
- 数组中元素的类型必须是相同的。
数组中元素是有序的,索引的顺序。 - 数组一旦声明,其长度不可变。
数组的长度属性是length。 - 数组下标的范围是0~数组名.length-1
- 数组是引用数据类型。
数组也是对象。 - 数组中的元素就像对象中的成员变量一样,初始化方式也一样。
- 数组的三种初始化方式?
1)静态初始化
int [] a={1,2,3};
2)动态初始化
int [] a=new int[2];
a[0]=1;
a[1]=2;
3)默认初始化
int [] a=new int[2]; //0,0
- 可变参数的作用及其用法?
作用:适用于参数个数不确定,类型确定的情况,java可把变量当做数组处理。
用法:
位于变量类型和变量名之间,前后有无空格都可以
调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。
- 可变参数的作用及其用法?