操作符笔记
来源:互联网 发布:播放器源码 编辑:程序博客网 时间:2024/06/18 18:08
操作符笔记-第一天
在最底层,Java中的数据是通过使用操作符来操作的。
Java是建立在C++基础之上的,所以C和C++程序员应该非常熟悉Java的大多数操作符。当然,Java也做了一些改进与简化。
3.2 使用Java操作符
操作符接受一个或者多个参数,并生成一个新值。几乎所有的操作符都只能操作“基本类型”。例外的操作符是“=”,”==”,!=”,这写操作符能操作所有的对象。除此之外,String类支持“+”,”+=”。
3.3 优先级
当一个i阿表达式中存在多个操作符时,操作符的优先级就决定了各部分的计算顺序。最简单的规则就是先乘除后加减。程序员经常会忘记某些优先规则,所以应该用括号明确规定计算顺序。
Java代码
- //: Precedence.java
- public class Precedenece {
- public static void main(String[] args) {
- int x = 1 , y = 2 , z = 3;
- int a = x + y - 2 / 2 + z;
- int b = x + ( y - 2 ) / ( 2 + z );
- System.out.println("a = "+a+"\tb = "+b);
- }
- }
- /* Output:
- * a = 5 b = 1
- *///:~
赋值使用操作符“=”。它的意思是取”右值“把它复制给”左值“。
1.”右值“可以是任何常数,变量或者表达式。
2.“左值”必须是一个明确的已命名的变量。
对基本数据类型的赋值是很简单的。基本类型存储了实际的数值,而并非指向一个对象的引用,所以在为其赋值的时候,是直接将一个地方的内容复制到另一个地方。
但是在为对象“赋值”的时候,情况却发生了变化。“将一个对象赋值给另一个对象”,实际上是将“引用”从一个地方复制到另一个地方。这意味着假若对象使用 c=d 那么c和d都指向原本只有d指向的对象。
Java代码
- //: Assignment.java
- // Assignment with objects is a bit tricky
- class Tank {
- int level;
- }
- public class Assignment {
- public static void main(String[] args) {
- Tank t1 = new Tank();
- Tank t2 = new Tank();
- t1.level = 9;
- t2.level = 48;
- System.out.println("t1.level:"+t1.level+"\tt2.level:"+t2.level);
- t1 = t2;
- System.out.println("t1.level:"+t1.level+"\tt2.level:"+t2.level);
- t1.level = 27;
- System.out.println("t1.level:"+t1.level+"\tt2.level:"+t2.level);
- }
- }
- /* Output:
- * t1.level:9 t2.level:48
- * t1.level:48 t2.level:48
- * t1.level:27 t2.level:27
- *///:~
3.4.1 方法调用中的别名问题
Java代码
- //: PassObject.java
- // Passing objects to methods may not be what you're used to .
- class Letter {
- char c;
- }
- public class PassObject {
- static void f (Letter y) {
- y.c = 'z';
- }
- public static void main(String[] args) {
- Letter x = new Letter();
- x.c = 'a';
- System.out.println("1.\tx.c: "+x.c);
- f(x);
- System.out.println("2.\tx.c: "+x.c);
- }
- }
- /* Output;
- * 1. x.c: a
- * 2. x.c: z
- *///:~
3.5 算术操作符
Java的算术操作符与其他大多数程序设计语言都是相同的。同时其也使用一种来自C和C++的简化符号同时进行运算与赋值操作(x+=4)。
一元减号用于转变数据的符号,而一元加号只是为了与一元减号相对应,但是它唯一的作用仅仅是将较小类型的操作数提升为 int。
3.6 自动递增和递减
递增(++)和递减(–)运算是两中相当不错的快捷运算。这连个操作符各有两种使用方式,通常称为“前缀式”和“后缀式”。“前缀式“会先执行运算,再生成值;”后缀式“会先生成值,再执行运算。
Java代码
-
- 1.//: AutoInc.java
- 2.// Demostrates the ++ and -- operators.
- 3.
- 4.public class AutoInc {
- 5. public static void main(String[] args) {
- 6. int i = 1;
- 7. System.out.println("i : "+i);
- 8. System.out.println("++i : "+(++i));
- 9. System.out.println("i : "+i);
- 10. System.out.println("i++ : "+(i++));
- 11. System.out.println("i : "+i);
- 12. System.out.println("--i : "+(--i));
- 13. System.out.println("i : "+i);
- 14. System.out.println("i-- : "+(i--));
- 15. System.out.println("i : "+i);
- 16. }
- 17.}
- 18./* Output:
- 19. * i :1
- 20. * ++i :2
- 21. * i :2
- 22. * i++ :2
- 23. * i :3
- 24. * --i :2
- 25. * i :2
- 26. * i-- :2
- 27. * i :1
- 28. *///:~
- 操作符笔记
- python 操作符笔记:
- 操作符笔记
- OOP笔记:操作符过载
- 【python笔记】切片操作符
- 3.操作符--python笔记
- C++重载操作符笔记
- Scala 自学笔记 操作符
- Java笔记:数据类型、操作符
- Java自学笔记-操作符
- SQL集合操作符笔记
- [RxJava笔记]RxJava操作符
- RxJava--操作符学习笔记
- Java笔记整理:操作符
- js学习笔记:操作符
- Java操作符----学习笔记
- RxJava操作符学习笔记
- scala学习笔记-操作符
- HDFS------hadoop fs -get命令的代码执行过程
- 循序渐进学习嵌入式Linux开发技术(转)
- Linux菜鸟入门级命令大全
- java中对Byte字符数组定长截取的方法
- jquery控制元素的显示和隐藏
- 操作符笔记
- java NIO Netty实现原理浅析(转)
- 算法 时间复杂度|空间复杂度
- 使IE6下PNG背景透明的七种方法任你选
- C++随机函数
- 最全的CSS浏览器兼容问题
- SurfaceView的基本使用
- Microsoft SQL Server2005—配置工具-SQL Server Configuration Manager 报一下错误
- 定期清理指定文件夾或指定文件的bat