`
xiaomogui
  • 浏览: 242764 次
  • 性别: 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 = += -= *= /= %= &= |= ^= ~= <<= >>= >>>=           从右向左

 

 

 

分享到:
评论

相关推荐

    2023黑马面试宝典-Java面试宝典大全-java面试宝典黑马

    Java面试宝典是Java程序员求职面试的重要参考资料,它涵盖了Java编程语言的核心概念、高级特性、设计模式、并发处理、框架应用、数据库交互等多个方面。以下将详细解析这些关键知识点: 1. **Java基础**:面试中,...

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

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

    Java面试宝典和2018Bat公司面试题

    本资源包"Java面试宝典和2018Bat公司面试题"包含了针对Java程序员精心整理的面试资料,旨在帮助求职者全面了解并掌握Java技术的核心知识点,以及在BAT(百度、阿里巴巴、腾讯)等知名互联网公司面试中可能遇到的问题...

    Java面试题2022

    在准备2022年的Java面试时,了解和掌握关键知识点是至关重要的。Java作为一款广泛应用的后端开发语言,其面试通常会涵盖基础语法、面向对象编程、集合框架、多线程、JVM内存管理、数据库交互以及开源框架等方面。...

    java面试宝典2017版

    Java面试宝典2017版是一份集大成的面试资源,专为准备Java相关职位面试的求职者量身打造。这份文档旨在帮助求职者系统性地复习和掌握Java编程语言的关键知识点,以应对各类面试挑战。以下将对这份资料中的主要知识点...

    2017java面试题

    为了在激烈的求职竞争中脱颖而出,理解和掌握Java面试中的常见问题至关重要。"2017java面试题"这个压缩包文件提供了丰富的资源,帮助Java开发者准备面试,深化对Java开发的理解。 文档"Java面试宝典2017.doc"可能...

    ( Java面试宝典2017版(1).zip ) PDF高清版

    《Java面试宝典2017版》是Java开发者在准备面试时的重要参考资料,它涵盖了Java编程语言的核心概念、框架、设计模式以及实际项目中的常见问题。这份PDF高清版不仅提供了全面的知识点梳理,还强调了面试过程中可能...

    2022最新java面试题大全

    Java 是一种广泛使用的编程语言,本文总结了 Java 面试中常见的知识点,涵盖了 Java 基础、字符串操作、数据类型、运算符、抽象类等方面的知识。 Java 基础 1. JDK 和 JRE 的区别:JDK(Java Development Kit)...

    java面试题总结资料

    在准备Java面试时,了解关键概念和技术是至关重要的。这份"java面试题总结资料"涵盖了多个Java核心领域的关键知识点,包括但不限于: 1. **基础语法**:理解基本的数据类型(如整型、浮点型、字符型和布尔型),...

    JAVA面试题 人事面试 Java技术面试

    1. **Java基础**:Java面试题-COREJAVA部分.txt可能会涵盖Java的基础语法,如数据类型、变量、运算符、流程控制语句,以及类、对象和封装等面向对象编程的概念。 2. **集合框架**:Java面试中,集合框架是必考知识...

    Java面试题和练习题

    本文将基于标题“Java面试题和练习题”以及描述中提到的内容,深入探讨Java相关的面试题和练习题,旨在帮助求职者或希望提升技能的开发者巩固知识,准备面试。 一、Java基础 1. Java的数据类型:了解Java的八种...

    Java面试突击-V3.0_Java面试文档_java面试_面试_

    《Java面试突击-V3.0》是一份专为Java工程师准备的面试指南,旨在帮助求职者在面试过程中更好地展示自己的技能和知识。这份文档详细涵盖了Java编程语言的各个方面,包括基础概念、进阶特性、并发处理、内存管理、...

    Java面试宝典.pdf

    Java面试宝典.pdf 以下是根据给定文件信息生成的相关知识点: Java语言的特点 1. 简单易学:Java语言有丰富的类库,易于学习和使用。 2. 面向对象:Java语言的最重要特性,让程序耦合度更低,内聚性更高。 3. 与...

    Java 面试题全集

    在面试准备中,掌握这些基础知识是至关重要的,它们能帮助面试者展示自己的编程能力和对Java语言的熟练应用。而Java技术面试题集的复习,有助于加深对这些知识点的理解和记忆,从而在面试中表现出色。

    java面试题目精选

    ### Java面试题目精选知识点梳理 #### 一、求职过程篇概览 - **1.1 程序员这个职业** - **职业感受**:介绍了作为一名程序员的职业体验,包括日常工作内容、工作压力等方面。 - **程序员是否吃青春饭**:讨论了...

    java面试试题 Java工程师面试试题

    以下是一些可能出现在Java面试中的关键知识点: 1. **Java基础**:面试通常会从Java的基础语法开始,如数据类型、变量、运算符、流程控制(if-else,switch,for,while)、类与对象、封装、继承和多态。面试者需要...

    java面试 java书籍

    为了在Java面试中脱颖而出,深入理解Java语言的核心概念和技术是至关重要的。以下是一些关键的Java面试知识点和相关书籍推荐。 1. **Java基础** - **语法与数据类型**:理解基本数据类型(如int、float、boolean等...

    Java面试题库,java面试题

    Java面试是每位求职者在进入IT行业,尤其是Java开发领域时必须经历的重要环节。这份"Java面试题库"包含了丰富的知识点,旨在帮助求职者更好地准备面试,提高成功几率。以下是一些关键的Java编程和面试相关知识点的...

Global site tag (gtag.js) - Google Analytics