java学习-3.操作符
来源:互联网 发布:linux squid 地址 编辑:程序博客网 时间:2024/05/16 11:34
操作符
在最底层,Java的数据是通过使用操作符来操作的
优先级
最简单的就是先乘除后加减,也可以用括号明确地表示出计算顺序
赋值
赋值使用操作符”=”,意思是”取右边的值(即右值),把它赋值给左边(即左值)”
右值可以是任意何常数,变量或者表达式,左值必须是一个明确的已经命名的变量
1.给基本数据类型赋值
赋值时,是直接将一个地方的内容复制到了另一个地方
a=b;//将b的内容复制给a,如果接着改了a的内容,b不会受到影响
2.给对象赋值
将一个对象赋值给另一个对象时,实际上是将引用复制到另一个对象
c=d;//c和d都指向原本只有d指向的对象,如果修改c同时就修改了d
算术操作符
算术操作符通常包括加号(+),减号(-),除号(/),乘号(*)
整数除法会直接去掉结果的小数位,而不是四舍五入的圆整结果
自动递增和递减
递减操作符是–,递加操作符是++;
++a; //相当于a=a+1--a;//相当于a=a-1
这两种操作符各有两种使用方式,分别是前缀式和后缀式
1.前缀递增或前缀递减,会先执行运算,然后生成值
2.后缀递增或后缀递减,会先生成值,后执行运算
import static java until.*; public class AutoInc{ public static void main(String[] args){ int i=1; System.out.println("i:"+i); System.out.println("++i:"+ ++i); System.out.println("i++:"+ i++); System.out.println("i:"+i); System.out.println("--i:"+ --i); System.out.println("i--:"+ i--); System.out.println("i:"+i); } }/* output i:1 ++i:2 i++:2 i:3 --i:2 i--:2 i:1 *///:~
关系操作符
关系操作符生成的是一个boolean(布尔)结果,计算的是操作数的值的关系
如果是真实的,输出true,如果是假的,输出false
1.==和!=比较的是对象的引用
public class Equivalence { public static void main(String[] args){ Integer n1 =new Integer(47); Integer n2=new Integer(47); System.out.println(n1==n2); System.out.println(n1!=n2); } } /* output false true *///:~
2.equals()方法用来比较对象的内容
public class EqualMethod { public static void main(String[] args){ Integer n1 =new Integer(47); Integer n2 =new Integer(47); System.out.println(n1.equals(n2)); } }/*output true *///:~
逻辑操作符
逻辑操作符“与”(&&),“或”(||),“非”(!)
与,或,非只能用于布尔值,如果在应该使用String值的地方使用了布尔值,布尔值会自动跳转成合适的文本形式
短路
当一旦能够明确无误地确定整个表达式的值,就不再计算表达式余下的式子。
移位操作符
移位操作符的运算对象是二进制的”位”,只可用来处理整数类型
1.左移位操作符(<<)能按照操作符右侧指定的位数将操作符左边的操作数向左移动(低位自动补0)
2.”有符号”右移位操作符(>>)则按照操作符右侧指定的位数将操作符左侧的操作数向右移动若符号为正,在最高位插入0,反之插入1
对char,byte或者short类型的数值进行移位处理,在移位之前会被转换为int类型
移位操作符可以与等号组合使用,等号右边的表示要移动的位数
int i=1; i>>>=10;
三元操作符 if-else
这种与普通的if-else语句是不同的,表达式为
boolean-exp? value0:value1
如果boolean-exp的值为true,就计算value0,值如果为false,就计算value1
public class TernaryIfElse{ static int ternary(int i){ return i<10 ? i*100:i*10; } public static void main(String[] args){ print(ternary(9)); } } /* output 900 *///:~
类型转换操作符
在适当的时候,Java会将一种数据自动装换成另一种
要想执行类型转换,需要将希望得到的数据类型置于圆括号内
public class Casting{ public static void main(String[] args){ int i=200; long lng=(long)i; lng=i; long lng2=(long)200; lng2=200; i=(int)lng2; } }
参考书《java编程思想》
- java学习-3.操作符
- java学习---操作符
- java学习-操作符
- Java操作符----学习笔记
- Java学习笔记-操作符
- Java学习笔记——操作符
- java基础学习总结--操作符
- JAVA学习——操作符
- JAVA操作符学习过程(一)
- java操作符学习过程(二)
- java基础学习(二)操作符
- java操作符学习过程(三)
- java操作符学习过程(四)
- Java学习笔记3-操作符
- Eclipse java操作学习
- java IO操作学习
- java file 操作学习
- JAVA学习流操作
- 112. Path Sum
- 如何学习java ssh三大框架
- 在O(n)的时间复杂度内找出数组中出现次数超过了一半的数
- Ajax-入门
- Uboot启动分析笔记-----Stage1(start.S与lowlevel_init.S详解)
- java学习-3.操作符
- Spring Resource 资源
- KVO和通知机制
- 练习二 1008 猜数字问题
- 京东2016实习笔试糖果因子最大组合
- bzoj 1706 奶牛接力
- java学习-4.控制执行流程
- gradle学习笔记(二) Groovy基础
- 【USACO题库】2.4.2 Overfencing穿越栅栏