java试卷

 今天去公司面试,做了一套试卷。下面是面试的题

 

1.写出一个singleton模式的类,并阐述起作用

 

答:Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。

 

使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数,有利于Java垃圾回收。
 

//Singleton模式通常有几种形式
public class Singleton {
//定义一个私有的构造器
private Singleton(){}
//定义一个私有的静态的成员变量或对象
private static Singleton ins = new Singleton();
//这里提供了一个共有的class的静态方法,可以直接访问  
  public static Singleton getIns() {
    return ins;   
   } 
} 
//  第二种形式:
public class Singleton { 
 
  private static Singleton ins = null;

  public static synchronized Singleton getIns() {

  if (instance==null)
    instance=new Singleton();
  return instance;   
} 
} 

 


2.在javascript中k=0;for(var i=0,j=0;i<10,j<6;i++,j++){k=i+j;}alert(k);页面中显示的是多少?

 

答案是10.

 因为js中for循环也要遵循for循环的特性但碰到了条件不符时就不运算了。但是如果是两个条件也是一样的,如果第一个符合,第二个不符也要跳出。

 

3.  Math.floor(Math.random())*7
     Math.floor(Math.random()*7)
     Math.floor(Math.random()*8)

     Math.ceil(Math.random()*8)

上面几个代码分别取值为多少之间?

 

答:因为Math.random()是随机产生的伪随机数,返回0和1之间的伪随机数,可能为0,但总是小于1。

然而Math.ceil()是返回大于等于自身的最小整数。Math.floor()是返回小于等于自身的最大整数。

 Math.floor(Math.random())*7是0-0之间

 Math.floor(Math.random()*7)是0-6之间

 Math.floor(Math.random()*8)是0-7之间

 Math.ceil(Math.random()*8)是0-8之间

 

 

 

 

你可能感兴趣的:(JavaScript,java,面试,J#)