java基础之运算符
来源:互联网 发布:2017年伤感网络歌曲 编辑:程序博客网 时间:2024/06/06 21:01
1.按操作的数目划分
可分为一元运算符(单目)和多元运算符(多目),其中多目运算中有双目和三目。
单目运算符就是只有需要一个操作数的运算符, 如:--、++、+、-。示例:a++、a--
同理,双目运算符就是需要两个操作数的运算符, 如:+、-、*、/、= 等。示例:1+2
三目运算符只有一个 (? :)。 示例:a>b?max=a:max=b
1、自增(++)自减(--)运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数。
ublic class selfAddMinus{ public static void main(String[] args){ int a = 3;//定义一个变量; int b = ++a;//自增运算 int c = 3; int d = --c;//自减运算 System.out.println("进行自增运算后的值等于"+b); System.out.println("进行自减运算后的值等于"+d); } }
运行结果为:
解析:
int b = ++a; 拆分运算过程为: a=a+1=4; b=a=4, 最后结果为b=4,a=4
int d = --c; 拆分运算过程为: c=c-1=2; d=c=2, 最后结果为d=2,c=2
2、前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。
3、后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算 实例:
常见关于运算符的笔试题
1. &和&&的区别
1) &和&&都可以用作逻辑运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
2) &&具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式。
3) &可以用作位运算,当&操作符两边的表达式不是boolean类型时,&表示按位与操作。
2.不用中间变量交换 a,b的值(有多种方法,这里只介绍异或法)
int a=3, b=5;
a ^= b;
b ^= a;
a ^= b;
System.out.println(a); // 5
System.out.println(b); // 3
3. 判断一个数是基数还是偶数
// 将数值与1做按位与操作,如果结果是1则为基数,为0则为偶数
for(int i=0; i<100; i++){
if((i & 1) == 1){//把i转换成二进制按位比较
System.out.println(i+"是基数");
}else{
System.out.println(i+"是偶数");
}
}
4. 用最有效率的方法算出4乘以17等于多少
System.out.println(17 << 2); // 右移两位,相当于乘以4
如果遇到这种题目,看次方和二进制,如这题的4是2的2次方,17的二进制是10001,向右移两位之后是1000100,按1248的算法算回来之后就是68.
在比如8*3,按次方是8是2的3次方,那就是右移3位,那么3的二进制是11,移位之后是11000,算回来之后是不是24呢。
5. 判断一个数n是不是2的幂
int n = 64;
//这里使用的就说按位与,如64的二进制是1000000,而减一之后二进制是0111111,与之后的结果会是0
if((n & (n - 1)) == 0){
System.out.println(n + "是2的幂");
}else{
System.out.println(n + "不是2的幂");
}
阅读全文
0 0
- java基础之运算符
- JAVA基础之运算符
- java基础之运算符
- Java基础之运算符
- java基础之运算符
- java基础之运算符
- Java基础之运算符
- Java基础之运算符
- java基础之运算符
- Java基础之运算符
- Java基础之Java运算符大百科
- JAVA基础之流程控制 运算符
- Java 7之基础 - 常见运算符
- java基础之 赋值运算符
- java基础之运算符表达式,语句
- JAVA语法基础之运算符
- JAVA基础之三:运算操作符
- java基础之,位运算符>>
- java删除指定目录下指定格式文件
- Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?
- 指针习题
- 工作这么久这些软件你都用过吗?第三款说不定你到现在都不知道!
- 字节码:ASCII编码:单字节编码,ANSI编码:多字节编码,UNICODE编码:宽字节编码
- java基础之运算符
- linux常用实战命令(亲测血的教训,持续总结更新)
- Unity3D-gif转Texture2D
- 突然想写点什么~
- 史上最详细的Android Studio系列教程
- HashMap源码分析
- 二分查找
- 循环矩阵傅里叶对角化
- poj 3061