java概念的小问题总结(二)

来源:互联网 发布:推荐淘宝高达店 编辑:程序博客网 时间:2024/05/18 00:18
  1. switch中的表达式的结果即key值的类型为:byte,char,short,int,jdk1.5加入了枚举,jdk1.7加入了String。
  2. switch语句中,一个case开始执行后,遇到break结束执行这个case语句;switch语句中,default不是必须要写的。
  3. 循环结构模拟了现实世界中的“重复问题”的逻辑。
  4. 循环结构的四种内部结构?
    1)while(布尔表达式){
    循环体;
    }
    2)do{
    循环体;
    }while(布尔表达式);
    3)for(初始表达式;布尔表达式;迭代因子){
    循环体;
    }
    4)foreach(数组或集合中元素的类型 迭代变量:数组或集合名){
    循环体;
    }
  5. while与do while的区别?
    当条件不成立时,do while至少执行一次。
  6. 什么情况下,会出现死循环 ?
    循环条件始终成立时,则会出现死循环。
    例如
while(true){            System.out.println("helloworld!");}
  1. for循环相比while循环有什么优势?
    语法结构比while简便
    通常用于解决循环次数固定的问题。

  2. 下面代码有什么问题?
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);            }    }
  1. 数组的类型可以是任意类型。
  2. 数组中元素的类型必须是相同的。
    数组中元素是有序的,索引的顺序。
  3. 数组一旦声明,其长度不可变。
    数组的长度属性是length。
  4. 数组下标的范围是0~数组名.length-1
  5. 数组是引用数据类型。
    数组也是对象。
  6. 数组中的元素就像对象中的成员变量一样,初始化方式也一样。
  7. 数组的三种初始化方式?
    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
    1. 可变参数的作用及其用法?
      作用:适用于参数个数不确定,类型确定的情况,java可把变量当做数组处理。
      用法:
      位于变量类型和变量名之间,前后有无空格都可以
      调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。