尚学堂百战程序员---第三章面试题

2019-04-13 15:32发布

1.3种控制语句是什么? 顺序结构,选择结构,循环结构 2.如果if语句后面不写{},if的控制范围是否只限于第一句? 正确 3.Math.random()是什么意思?如果想获得15-20之间的随机数,怎么办? 产生一个0-1之间的随机数,包含0但不包含1 (int)(Math.random()*6)+15; 4.switch语句的功能是否完全可以使用if else if else多选择结构来代替?如果是,为什么还需要switch结构? 可以 switch一般用来做多值的判断,如果判断条件为区间,则最好使用多重if来做,如果是等值情况最好使用switch来做 5.switch中的表达式的结果需要是什么类型? byte,char,short,int jdk1.5 加入了枚举 jdk1.7加入了String 6.switch语句中,一个case开始执行后,什么时候结束执行这个case的语句? 遇到break结束执行这个case语句 7.switch语句中,default是否必须写? 不是必须写,当所有的条件不符合时,走default,break停止当前的循环 8.循环结构模拟了现实世界中的什么逻辑? 循环结构模拟了现实世界中的“重复问题“的逻辑 9.while和dowhile有什么区别? 当条件不成立时,do-while至少执行一次 10.什么情况下,会出现死循环?并写出一个例子来 循环条件始终成立时,则会出现死循环 while(true){ System.out.println(“helloworld”); } 11.什么情况下,会出现死循环,并写出一个例子 当条件永久成立的时候 12.break和continue的作用? break 循环终止 counttnue 终止此次循环,但还是要循环 13.java中.参数的传递使用值传递还是引用传递? 引用传递 14.、方法定义,形式参数和实际参数有什么区别?用自己的话描述 (形参是类型抽象;;实参是形参具体赋值) 15.、方法定义中,用实参还是形参? (形参) 16.定义形参必须要写变量类型吗? (必须的;类型决定内存,Java完的就是内存) 17.实参类型是否必须和形参类型匹配? (因该啊,有不匹配的吗) 18.什么是方法重载?有什么作用? (同名方法但是参数只不同;;是的输入值可选择,灵活;例如收银:可以给现金,有额可以刷卡) 19.两同3不同指的是?返回值不同构成重载吗?形参名不同够重载吗? 2同:父子类名同;返回值类型同;3不同:参数列表、方法体、) 20.递归算法中,递归头和递归尾指的是? (递归方法,递归收拢条件) 21.递归算法的优点是?缺点是? (逻辑简单;;耗费内存;效率不高;慢慢)