BAT面试总结(一)

1. 八种基本数据类型的大小,以及他们的封装类

  • 八种基本数据类型:int、short、float、double、long、boolean、byte、char。
  • 封装类分别是:Integer、Short、Float、Double、Long、Boolean、Byte、Character。
    2. 引用数据类型
  • 引用数据类型是由类的编辑器定义的,他们是用于访问对象的。这些变量被定义为不可更改的特定类型。例如:Employee, Puppy 等等
  • 类对象和数组变量就是这种引用数据类型。
  • 任何引用数据类型的默认值都为空。
  • 一个引用数据类型可以被用于任何声明类型和兼容类型的对象。
    3. Switch能否用string做参数
  • jdk7之前:switch 只能支持 byte、short、char、int 这几个基本数据类型和其对应的封装类型。
    switch后面的括号里面只能放int类型的值,但由于byte,short,char类型,它们会?自动?转换为int类型(精精度小的向大的转化),所以它们也支持。
  • jdk1.7后:整形,枚举类型,boolean,字符串都可以。
    原理
switch (expression)  // 括号里是一个表达式,结果是个整数{  
 case constant1:   // case 后面的标号,也是个整数  
    group of statements 1;  
    break; 
case constant2: 
    group of statements 2;
    break; 
 default:    
     default group of statements
     }

jdk1.7后,整形,枚举类型,boolean,字符串都可以。

public class TestString { 

    static String string = "123"; 
    public static void main(String[] args) {     
       switch (string) {     
       case "123":       
             System.out.println("123");        
             break;     
        case "abc":     
             System.out.println("abc");        
             break;      
         default:        
             System.out.println("defauls");      
             break;    
         }   
      }
}

4. equals与==的区别

使用==比较原生类型如:boolean、int、char等等,使用equals()比较对象。

  • ==是判断两个变量或实例是不是指向同一个内存空间。equals是判断两个变量或实例所指向的内存空间的值是不是相同。
  • ==是指对内存地址进行比较。equals()是对字符串的内容进行比较。
  • ==指引用是否相同。equals()指的是值是否相同。
public static void main(String[] args) {  

      String a = new String("ab"); // a 为一个引用     
      String b = new String("ab"); // b为另一个引用,对象的内容一样   
      String aa = "ab"; // 放在常量池中     
      String bb = "ab"; // 从常量池中查找    

      System.out.println(aa == bb); // true   
      System.out.println(a == b); // false,非同一对象     
      System.out.println(a.equals(b)); // true     
      System.out.println(42 == 42.0);  // true 
   }

public static void main(String[] args) { 
   Object obj1 = new Object();    
   Object obj2 = new Object();    
   System.out.println(obj1.equals(obj2));//false    
   System.out.println(obj1==obj2);//false    
   obj1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值