# 正文之前

~（郑重声明：本文非原创，只是笔记，取自菜鸟编程！好东西，继续打CALL）~

# 正文

### 1、 下面的代码基本就已经表述了java绝大多数用到的运算符：

• 算术运算符
• 关系运算符
• 位运算符
• 逻辑运算符
• 赋值运算符
public class Test {
public static void main(String[] args) {
int a = 60; /* 60 = 0011 1100 */
int b = 13; /* 13 = 0000 1101 */
int c = 0;
c = a & b;       /* 12 = 0000 1100 */
System.out.println("a & b = " + c );

c = a | b;       /* 61 = 0011 1101 */
System.out.println("a | b = " + c );

c = a ^ b;       /* 49 = 0011 0001 */
System.out.println("a ^ b = " + c );

c = ~a;          /*-61 = 1100 0011 */
System.out.println("~a = " + c );

c = a << 2;     /* 240 = 1111 0000 */
System.out.println("a << 2 = " + c );

c = a >> 2;     /* 15 = 1111 */
System.out.println("a >> 2  = " + c );

c = a >>> 2;     /* 15 = 0000 1111 */
System.out.println("a >>> 2 = " + c );

c = a + b;
System.out.println("c = a + b = " + c );
c += a ;
System.out.println("c += a  = " + c );
c -= a ;
System.out.println("c -= a = " + c );
c *= a ;
System.out.println("c *= a = " + c );
a = 10;
c = 15;
c /= a ;
System.out.println("c /= a = " + c );
a = 10;
c = 15;
c %= a ;
System.out.println("c %= a  = " + c );
c <<= 2 ;
System.out.println("c <<= 2 = " + c );
c >>= 2 ;
System.out.println("c >>= 2 = " + c );
c >>= 2 ;
System.out.println("c >>= a = " + c );
c &= a ;
System.out.println("c &= 2  = " + c );
c ^= a ;
System.out.println("c ^= a   = " + c );
c |= a ;
System.out.println("c |= a   = " + c );

boolean e = true;
boolean d = false;
System.out.println("e && d = " + (e&&d));
System.out.println("e || d = " + (e||d) );
System.out.println("!(e && d) = " + !(e && d));

}
}

a & b = 12
a | b = 61
a ^ b = 49
~a = -61
a << 2 = 240
a >> 2  = 15
a >>> 2 = 15
c = a + b = 73
c += a  = 133
c -= a = 73
c *= a = 4380
c /= a = 1
c %= a  = 5
c <<= 2 = 20
c >>= 2 = 5
c >>= a = 1
c &= 2  = 0
c ^= a   = 10
c |= a   = 10
e && d = false
e || d = true
!(e && d) = true
[Finished in 1.6s]

### 2、 条件运算符（?:）

variable x = (expression) ? value if true : value if false
public class Test {
public static void main(String[] args) {
int a = 60; /* 60 = 0011 1100 */
int b = 13; /* 13 = 0000 1101 */

b = (a == 1) ? 20 : 30;
System.out.println( "Value of b is : " +  b );

// 如果 a 等于 10 成立，则设置 b 为 20，否则为 30
b = (a == 10) ? 20 : 30;
System.out.println( "Value of b is : " + b );

}
}

Value of b is : 30
Value of b is : 30
[Finished in 1.3s]

### 3、 instanceof 运算符

instanceof运算符使用格式如下：

( Object reference variable ) instanceof  (class/interface type)

String name = "James";
boolean result = name instanceof String; // 由于 name 是 String 类型，所以返回真

class Vehicle {}

public class Car extends Vehicle {
public static void main(String[] args){
Vehicle a = new Car();
boolean result =  a instanceof Car;
System.out.println( result);
}
}

Vehicle v2 = new Car();    // v2 是 Car 类型
• 子类是父类的类型，但父类不是子类的类型。
• 子类的实例可以声明为父类型，但父类的实例不能声明为子类型。

### 4、 Java运算符优先级

() [] . (点操作符)

+ + - ！〜

* /％

+ -

>> >>> <<

>> = << =

== !=

^

\

&&

\

\

？：

= + = - = * = / =％= >> = << =＆= ^ = \

=

# 正文之后

0 条评论

• ### 【计算机本科补全计划】Java学习笔记(四) 修饰符

正文之前 今天总算是把那个党员谈话给弄完了，三个学弟轮番跟我来聊天，讲自己的入党动机啥的，看到他们就仿佛看到了大一的自己，原来当时面对学长，面对这类事情，会紧张...

• ### 【计算机本科补全计划】Java学习笔记(八) Java数组

数组对于每一门编程语言来说都是重要的数据结构之一，当然不同语言对数组的实现及处理也不尽相同。Java 语言中提供的数组是用来存储--固定--大小的同类型元素。

• ### 【计算机本科补全计划】Java学习笔记(九) Java日期时间

### 1、 Java 日期时间 java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。第一...

• ### 【计算机本科补全计划】Java学习笔记(三) 数据类型

正文之前 Java的面向对象特性太明显了。先开篇告诉你我们的对象是啥意思，然后直截了当的告诉你，每个文件都是一个类。也就是说每个文件都可以给你传出来一种对象，然...

• ### 【计算机本科补全计划】Java学习笔记(七) 常用的类

正文之前 没辙，为了我的一个完整的教程，不得不忍痛继续写一些简单的东西，虽然这些网上都有，但是要纳进我的体系还是需要写进来的，以后自己要看了， 直接就可以看到了...

• ### 【计算机本科补全计划】Java学习笔记(六) 循环+分支结构

正文之前 这两节太弱了。基本大一的C++程序设计课就足够对付理解了。所以还是水一波吧，实在没办法，整个教程还是全部抄全吧。免得到时候新人小白入门的时候还要去看别...

• ### 【计算机本科补全计划】Mysql 学习小计（4）

正文之前 昨天终于把我苦命的毕业设计审批表送出去了。结果暑假的生产实习开始对账，我这儿又开始忙活了，还要签字，我有时候都在想要不全班代签一遍算了。不然真的揪心啊...

• ### 【计算机本科补全计划】Mysql 学习小计（3）

正文之前 想到自己每天中午还要玩一小时手机，就自责不已，今天看成甲的好好学习一书，颇有收获，晚上写给大伙看，现在还是谢谢 Mysql，到了后面感觉越来越难了呢！...

• ### 【计算机本科补全计划】Mysql 学习小计（2）

正文之前 昨天下午写了篇 Mysql学习小计，结果出乎意料的受欢迎？变相刺激了我多写点 Mysql？好吧，如尔所愿。我晚上反正还不知道学点啥，就把今天看的那个菜...