Learn Java - Chapter 2 操作符(Operator)

1、赋值操作符

= 赋值

eg:

int cadence = 0;
int speed = 0;
int gear = 1;

2、基本数学运算符

+     加 (两边是数值型变量或值作数学运算,其中一个为字符型变量或值作连接运算)

-     减

*     乘

/     除 (两个整数作除法,结尾取整,原文:Integer division rounds toward 0)

%     取余

3、一元运算符

+ 表示正数

- 表示负数

++ 自增运算 每次加1。在变量之前表示先+1,再使用该变量;在变量之后表示使用该变量后再+1

-- 自减运算 每次减1。在变量之前表示先-1,再使用该变量;在变量之后表示使用该变量后再-1

!逻辑运算符,取反

int i = 3;
i++;
// prints 4
System.out.println(i);
++i;			   
// prints 5
System.out.println(i);
// prints 6
System.out.println(++i);
// prints 6
System.out.println(i++);
// prints 7
System.out.println(i);

4、关系运算符

==      判断相等(基本类型根据值作对比,判断是否相等;引用类型根据对象引用的地址判断是否相等)
!=      判断不等于(同上)
>       greater than
>=      greater than or equal to
<       less than
<=      less than or equal to

以上关系运算符通常用作基本类型的比较,对象的比较通常使用对象的equals方法。

5、条件运算符

&& 且

||  或

int value1 = 1;
int value2 = 2;
if((value1 == 1) && (value2 == 2))
    System.out.println("value1 is 1 AND value2 is 2");
if((value1 == 1) || (value2 == 1))
    System.out.println("value1 is 1 OR value2 is 1");

6、类型检测

instanceof

用于判断一个实例是否是某个类(某个类或某个类的子类或某个接口)的实例。

class InstanceofDemo {
    public static void main(String[] args) {
 
        Parent obj1 = new Parent();
        Parent obj2 = new Child();
 
        System.out.println("obj1 instanceof Parent: "
            + (obj1 instanceof Parent));
        System.out.println("obj1 instanceof Child: "
            + (obj1 instanceof Child));
        System.out.println("obj1 instanceof MyInterface: "
            + (obj1 instanceof MyInterface));
        System.out.println("obj2 instanceof Parent: "
            + (obj2 instanceof Parent));
        System.out.println("obj2 instanceof Child: "
            + (obj2 instanceof Child));
        System.out.println("obj2 instanceof MyInterface: "
            + (obj2 instanceof MyInterface));
    }
}
 
class Parent {}
class Child extends Parent implements MyInterface {}
interface MyInterface {}

输出:

obj1 instanceof Parent: true
obj1 instanceof Child: false
obj1 instanceof MyInterface: false
obj2 instanceof Parent: true
obj2 instanceof Child: true
obj2 instanceof MyInterface: true

7、位移运算符

<<      左移运算
>>      右移运算
>>>     无符号右移运算
&       按位与
^       按位异或
|       按位或
~       按位取反(非)
时间: 2024-10-11 01:12:40

Learn Java - Chapter 2 操作符(Operator)的相关文章

Learn Java - Chapter 1 变量(Variables)

java语言定义的变量包含一下四种类型 实例变量(Instance Variables),非静态变量,在Class中声明的field,未使用static声明: 类变量(Class Variables ),静态变量,在Class中使用static标识: 本地变量(Local Variables),在一个方法中声明的变量: 参数(Parameters),方法定义的形参: 命名 大小写敏感: 不限长度: 以字母.数字.下划线和"$"符号组成,不可以以数字开头: 不可以是Java保留字 保留字

Learn Java - Chapter 1 变量(Variables)-数组(Arrays)

Java数组在被创建的时候确定数组长度.索引下标从0开始. 1.数组定义及初始化 int[] anArray;//定义 anArray = new int[2];//初始化 anArray[0] = 100;//赋值 anArray[1] = 200;//赋值    System.out.println("Element at index 0: " + anArray[0]);//使用 System.out.println("Element at index 1: "

Java的常用操作符

操作符用于接受一个或多个参数,并生成一个新的值.加号和一元的正号(+).减号和一元的负号(一).乘号(*).除号(/)以及赋值号(=)的用法和大多数编程语言都类似. 操作符作用于操作数,生成一个新值.另外,有些操作符可能会改变操作数自身的值,这被称为"副作用'.那些能改变其操作数的操作符,最普遍的用途就是用来产生副作用;但要记住,使用此类操作符生成的值,与使用没有副作用的操作符生成的值,没有什么区别.几乎是所有的操作符都只能操作"基本类型".,但"=".&

Learn Java for Android Development Second Edition 笔记(六)- Interface

Interface Java里用interface关键字,引入一种没有具体实现的类型. Declaring Interfaces interface一般以大写字母开头,able单词结束,如下例子: interface Drawable { int RED = 1; // For simplicity, integer constants are used. These constants are int GREEN = 2; // not that descriptive, as you wil

Think in Java(三):操作符

1. "==" 和 equals (1) == 用于判断引用对象的内存地址是否相同. (2) equals比较的也是地址, 但是如果你重写了equals方法, 那么它就可以比较对象的内容. 2. 关于sizeof C和C++的sizeof()用于获取数据需要占用多少字节的内存, 之所以需要sizeof是考虑到平台移植, 因为C和C++相同的数据类型在不同的机器上占用的内存长度不一样; 而Java不需要sizeof, 因为Java的数据类型在不同的平台上占用字节是一样的, Java是跨平

重载操作符 &#39;operator&#39;

operator 是 C++ 的(运算符的)重载操作符.用作扩展运算符的功能. 它和运算符一起使用,表示一个运算符函数,理解时应将  [operator+运算符] 整体上视为一个函数名. 要注意的是:一方面要使运算符的使用方法与其原来一致,另一方面扩展其功能只能通过函数的方式(c++中,"功能"都是由函数实现的). 使用时: [返回类型] [operator+运算符] (const ElemType&a)const  {...} 为什么需要重载操作符? 系统的所有操作符,一般情

Thinking in Java Chapter 13

From Thinking in Java 4th Edition String对象是不可变的.String类中每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象,以包含修改后的字符串内容.而最初的String对象则丝毫未动: import static net.mindview.util.Print.*; public class Immutable { public static String upcase(String s) { return s.toUpp

java的++和--操作符

只要是会java的都知道++和—操作符的用法,如 int i = 1; int j = i++; int k = ++i; 结果i为3,j为1,k为3. 那如下代码: int j = 0; for (int i = 0; i < 100; i++) { j = j++; } System.out.println(j); 输出结果又是多少呢?100?0? 正确答案是0.为什么呢? 要想搞明白这个问题,那来看看这段代码生成的字节码: [java] 0:   iconst_0 1:   istore_

C++重载操作符operator

operator是C++关键字,用于对C++进行扩展: 1.可以被重载的操作符:new,new[],delete,delete[],+,-,*,/,%,^,&,|,~,!,=,<,>,+=,<<,>>,<<=,>>=,++,!=,<=,>=,&&,||,++,--,->*,->,(),[] 不可以被重载的操作符:.  .* :: ?: 2.基类对赋值操作符(=)重载不能被派生类继承. “+”操作符重