JAVA面试笔记(5)

来源:互联网 发布:中科大网络通 编辑:程序博客网 时间:2024/06/11 21:55

1、equals() 和==

根据下面的程序代码,哪些选项的值返回true?

 

A. a==b

B. s==a

C. b==c

D. a.equals(s)

分析:

equals()是object类的一个方法, 指示某个其他对象是否与此对象“相等”。由于object类是类层次结构的根类。所以它是每个类的超类。每个类都可以重写equals()方法,如String类。如果没有重写新类的equals(),则该方法和==操作符一样在两个变量指向同一对象时返回真,但是java推荐的是使用equals()方法来判断两个对象的内容是否一样。注意以下几点区别

1,引用类型比较引用,基本类型比较值

2,equals()方法只能比较引用类型,==可以比较引用及基本类型

3,用equals()方法进行比较时,对类File,String,Date及封装类(Wrapper Class)来说,是比较类型及内容。

4,用==进行比较时,符号两边的数据类型必须一致(可相互转换的基本类型除外),否则编译出错。

答案 C

 

 

2.public class TestOne {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int a = 2;
        int b = 1;
        for(int c = 0; c < 5; c++){
            if((++a > 2)&&(++b > 2)){
                System.out.println(a+"...");
                a++;
                System.out.println(a+",,,");
            }
        }
        System.out.println("a="+a+" b="+b);
    }

}

 

输出a=11 b=6

 

 

3、逻辑运算符

逻辑运算符共3中,即“非(!)”,“和(&&)”,“或(||)”

 

 

4.位运算符

位运算符是用来对二进制进 行操作的。位运算符一般分两种:位逻辑运算符 和 位移位运算符

4.1 位逻辑运算符

    与(&)、按位取反(~)、或(|)、异或()。

      注意位逻辑运算符从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。

 

4.1 位移运算符

左移(<<)、 右移(>>):带符号 右移、逻辑右移 (>>>):不带符号 右移

操作数<<移位数

 

 

逻辑操作与的左右操作数都应该是布尔型的值,而位逻辑操作符的左右操作数是整型值。

原创粉丝点击