`
xiaomogui
  • 浏览: 239408 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java面试之运算符

阅读更多

一 移位运算符

“ < <”, “> > ”, “> > > ”在Java中是左移、有符号右移和无符号右移运算符。

 (1)左移动运算符(< <):
    会将操作的数向左边移动,移动的位的个数由左操作数指定,左移后,低位会被自动补零(0)。
(2)右移动运算符(> > ):
    反过来,把操作数向右移动,移动的位个数同样由右操作数指定。注意:面对带正负号的数,会采用符号扩展,如果原值是正数,则高位补上0;如果原值是负数,高位补1。
(3)无正负号的右移运算符(>>>):
     采用0补充,意思就是说,无论是正号还是负号,都在高位补0。
(4)注意,没有<<<这个运算符

(5)对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。

 

测试的小例子:

public class Test6 {
	/**
	 * *
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		int a1 = 16 << 2;
		System.out.println(a1);
		int a2 = 16 >> 2;
		System.out.println(a2);
		int b1 = 15 >> 2;
		System.out.println(b1);
		int a3 = -16 << 2;
		System.out.println(a3);
		int a4 = -16 >> 2;
		System.out.println(a4);
		int a5 = -16 >>> 2;
		System.out.println(a5);
		int a6 = 16 >>> 2;
		System.out.println(a6);
		byte c1 = 'a';
		System.out.println(c1 << 2);
		char c2 = 'b';
		System.out.println(c2 << 2);
		short c3 = 1;
		System.out.println(c3 << 2);
	}
}

 

结果:   

        64
        4
        3
        -64
        -4
        1073741820
        4
        388
        392
        4
 

二 逻辑运算符
1, 逻辑运算符有“与”(AND)、“或”(OR)、“异或(XOR )”、“非(NOT)”,分别用“&”、“|”、“^”、“~”表示。
2, &运算规则:如果两个运算数都是为1,则结果为1。否则,其他情况下,结果都为0。
3, |运算规则:任意一个运算数为1,则结果为1。
4, ^运算规则:两个运算数不同时,则结果为1。否则,结果为0。
5, ~运算规则:对运算数的每一位取反。

public class Test7 {
	/**
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		int i = 1;
		int x = 2;
		int y = 3;
		char c = 4;
		byte t = 2;
		System.out.println(i & x);
		System.out.println(i | x);
		System.out.println(i ^ x);
		System.out.println(~i);
		System.out.println(c & t);
		System.out.println(c | t);
		System.out.println(c ^ t);
		System.out.println(~c);
	}
}

 

  结果:

          0
          3
          3
          -2
          0
          6
          6
          -5

3.算术运算符

 (byteshortchar)进行算术运算后,结果会自动提升成int类型。

 

byte b1 = 1; byte b2 = 2; byte b3 = b1+b2;//这句话编译的时候报 int类型不能转换byte类型 int i1 = b1+b2;

 

  &&&的区别,其实在进行逻辑与运算时,既可以使用&&也可以使用&,在功能上本身没有区别。两者区别的位置在,对于&来说,如果左侧条件为false,也会计算右侧条件的值,而对于&&来说,如果左侧的条件为false,则不计算右侧的条件,这种现象被称作短路现象。

 

优先级 运算符                                                                  结合性

1 () [] .                                                                           从左到右

2 ! +(正) -(负) ~ ++ --                                                           从右向左

3 * / %                                                                            从左向右

4 +(加) -(减)                                                                   从左向右

5 << >> >>>                                                                    从左向右

6 < <= > >= instanceof                                                    从左向右

7 == !=                                                                            从左向右

8 &(按位与)                                                                           从左向右

9 ^                                                                                   从左向右

10 |                                                                                   从左向右

11 &&                                                                                   从左向右

12 ||                                                                           从左向右

13 ?:                                                                           从右向左 

14 = += -= *= /= %= &= |= ^= ~= <<= >>= >>>=           从右向左

 

 

 

分享到:
评论

相关推荐

    Java面试题合集最新版2024.zip

    Java面试通常涵盖多个方面,包括Java基础知识、编程技能、问题解决能力,以及对Java生态系统和相关技术的理解。以下是一些建议的Java面试准备要点和资源描述: 一、Java基础知识 数据类型、变量与运算符:理解Java...

    JAVA面试题解惑系列合集

    1.1 JAVA面试题解惑系列(一)——类的初始化顺序 . . . . . . . .... .86 1.11 JAVA面试题解惑系列(十一)——这些运算符你是否还记得? . . . . . . . . . . . . . . . . . . . . . . . . . .103

    Java运算符常见面试题及答案

    Java运算符是编写Java程序时必不可少的元素之一,也是面试中常见的考点。本文提供了二十道常见的面试题,涵盖了Java运算符的类型、功能、优先级、特性等方面的知识点。这些问题旨在考察候选人对Java运算符的理解和...

    java面试手册及各类java书籍

    Java面试手册及其相关资 资源描述: 本java资源是一部专为Java开发者打造的全面而深入的学习与面试指南。本书集合了众多Java面试的精华内容,并结合各类经典的Java书籍,为读者提供了一站式的Java学习体验。 内容...

    Java面试题深入解析:在互联网公司面试程序员需要留意的六个问题.docx

    # Java面试题深入解析:在互联网公司面试程序员需要留意的六个问题 在互联网公司中,Java程序员是极为重要的角色,因此Java面试题也是非常重要的一环。无论是初级Java程序员还是高级Java程序员,都需要留意以下六个...

    JAVA面试题最全集

    一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入...

    java面试题精选

    搜集整理制作成chm格式文件,灰常给力 8、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,...&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。 11、HashMap和Hashtable的区别。

    Java面试题:为您准备的全面面试准备资源

    Java面试题资源是一份全面的准备资源,旨在帮助您在Java面试中取得成功。通过复习这些面试常见的问题,您将能够巩固Java的核心概念、语法规则和面向对象编程的理解,提高多线程编程和异常处理的能力,并了解常见的...

    Java面试题解惑系列

    来自网络,主要包括以下内容:1、类初始化的顺序;2、到底创建了几个String对象;3、变量(属性)的覆盖;4、final,finally,finalize;5.传了值还是传了引用;...适合将要笔试面试Java的朋友参考。

    java面试题参考及解答

    该资源旨在帮助准备Java面试的候选人们更好地理解和掌握Java编程语言的核心概念和技术,并为他们在面试过程中提供参考和指导。 该资源涵盖了Java的基础知识点,如数据类型、运算符、控制流程等,以及Java的面向对象...

    JAVA面试大全(2018整理版)

    &&之所以称为短路运算是因为,如果&&左边的表达式的值是false,右边的表达式会被直接短路掉,不会进行运算。很多时候我们可能都需要用&&而不是&,例如在验证用户登录时判定用户名不是null而且不是空字符串,应当写为...

    Java面试宝典(传说中的葵花宝典).doc

    由于 += 是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。 7、char型变量中能不能存贮一个中文汉字?为什么? char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字...

    java面试宝典

    *** JAVA面试题. *** 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域 当前类 同一package 子孙类 其他 package public √ √ √ √ protected √ √ √ × friendly √ √ × × ...

    Java面试题精选,各种刁钻面试题

    综合了个种刁难的面试题,是一份不可多得的好资料

    java面试题大全-基础方面

    答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 5、Collection 和 Collections的区别 答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个...

    北京百度java面试题大全

    Java面试题是针对Java编程语言的技术和知识的一系列问题,用于考察面试者在Java开发方面的能力和经验。Java面试题通常涵盖以下几个方面: 基础知识:包括Java语法、数据类型、运算符、流程控制等基本概念和特性。 ...

    Java面试技术面知识扩展包第一弹

    1. 基础知识:面试官可能会问您Java语言的基础知识,如数据类型、运算符、控制流语句、面向对象编程等。也可能会涉及Java的特性,如自动装箱拆箱、泛型、Lambda表达式等。 2. 面向对象编程(OOP):面试官可能会...

    JAVA_面试题集(99).doc

    JAVA技术面试题 1 1、开发Java程序步骤? 3 2、Java程序的注释分类? 3 3、Java 领域分为哪些? 3 4、怎么样理解JAVA的程序概念? 3 5、Java程序的基本框架是什么? 3 6、Java的基本类型有哪些? 3 7、变量命名规则? 3...

Global site tag (gtag.js) - Google Analytics