Java笔记(五)……运算符
算术运算符
算术运算符的注意问题:
如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。但被模数是负数就另当别论。
对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。
例如:int x=3510;x=x/1000*1000; x的结果是3
“+”除字符串相加功能外,还能把非字符串转换成字符串 ,
例如:System.out.println("5+5="+5+5);//打印结果是5+5=55
转义字符:
通过 \ 来转变后面字母或者符号的含义
\n:换行
\b:退格
\r:按下回车键。windows系统中,回车符是由两个字符来表示\r\n
\t:制表符
赋值运算符
符号:
= , +=, -=, *=, /=, %=
+和+=的区别:
1: short s = 4;
2: //两次运算,中间有一个提升过程,所以编译失败
3: s = s + 5;
4: //一次运算,只做赋值运算,内部有一个自动转换动作,所以编译通过
5: s += 5;
比较运算符
结果是boolean型
逻辑运算符
1: //与(&),有一方为假,结果为假
2: true & true = true;
3: true & false = false;
4: false & false = false;
5: //或(|),有一方为真,结果为真
6: true | true = true;
7: true | false = true;
8: false | false = false;
9: //异或(^),两边相同,结果为假
10: true ^ true = false;
11: true ^ false = true;
12: false ^ false = false;
13: //非(!)
14: !true = false;
15: !false = true;
&与&&(短路)的区别:
&:无论左边是什么,右边都运算
&&:如果左边为假,右边不运算
|与||的(短路)的区别:
|:无论左边是什么,右边都运算
||:如果左边为真,右边不运算
位运算符
>>(右移)即为除以2的N次幂
<<(左移)即为乘以2的N次幂
小技巧:
交换两个数的值(不经过第三方变量)
1: //通过第三方变量
2: int temp = n;
3: n = m;
4: m = temp;
5: System.out.println("n = "+n+";m = "+m);
6:
7: //有可能超出范围,有局限性
8: n = n + m;
9: m = n - m;
10: n = n - m;
11: System.out.println("n = "+n+";m = "+m);
12:
13: //利用位运算符
14: n = n ^ m;
15: m = n ^ m;
16: n = n ^ m;
17: System.out.println("n = "+n+";m = "+m);
位运算在进制转换的应用
1: class OperatorDemo2
2: {
3: //Hex码表
4: static char[] list = {'0','1','2','3','4','5',
5: '6','7','8','9','A',
6: 'B','C','D','E','F'};
7: public static void main(String[] args)
8: {
9: toHex(66660);
10: }
11: public static void toHex(int n)
12: {
13: //存在有效位,继续递归
14: if(n > 0)
15: //采用>>>而不是>>,因为>>对负数不安全
16: toHex(n>>>4);
17: //不存在有效位,则返回
18: if(n == 0)
19: return;
20: //提取并打印最低四位
21: System.out.print(list[n&0x0F]);
22: }
23: }
三元运算符
格式:
(条件表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
示例:
获取两个数中大数。
int x=3,y=4,z;
z = (x>y)?x:y;//z变量存储的就是两个数的大数。
Java笔记(五)……运算符的更多相关文章
- 疯狂java笔记(五) - 系统交互、System、Runtime、Date类
一.程序与用户交互(Java的入口方法-main方法): 运行Java程序时,都必须提供一个main方法入口:public static void main(String[] args){} publ ...
- java之jvm学习笔记五(实践写自己的类装载器)
java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类 ...
- Linux系统运维笔记(五),CentOS 6.4安装java程序
Linux系统运维笔记(五),CentOS 6.4安装java程序 用eclipse编译通的java程序,现需要实施到服务器.实施步骤: 一,导出程序成jar包. 1,在主类编辑界面点右健,选 ru ...
- C++基础 学习笔记五:重载之运算符重载
C++基础 学习笔记五:重载之运算符重载 什么是运算符重载 用同一个运算符完成不同的功能即同一个运算符可以有不同的功能的方法叫做运算符重载.运算符重载是静态多态性的体现. 运算符重载的规则 重载公式 ...
- 自学PHP笔记(五) PHP运算符
本文转发来自:自学PHP笔记(五) PHP运算符 首先我们需要了解运算符是什么,运算符是指的对变量.常量或者数据进行计算的一个符号,比如数学中学到的加减乘除等用来运算的代表符号,PHP中的运算符也是这 ...
- Java IO学习笔记五:BIO到NIO
作者:Grey 原文地址: Java IO学习笔记五:BIO到NIO 准备环境 准备一个CentOS7的Linux实例: 实例的IP: 192.168.205.138 我们这次实验的目的就是直观感受一 ...
- 菜鸡的Java笔记 第四 - java 基础运算符
数学运算符,逻辑运算,三目运算,位运算 double d2 = 314e2; //采用科学计数法的写法,表示10的2次方.= 31400.0 代码写的越简单越好 简化运算符 代码:x=x+y 可以 ...
- java笔记整理
Java 笔记整理 包含内容 Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...
- java的五种数据类型解析
不知道大家对java的简单数据类型是否了解,下面针对Java的五种类型简单数据类型表示数字和字符,进行详细的讲解和分析. 一.简单数据类型初始化 在Java语言中,简单数据类型作为类的成员变量声明时自 ...
随机推荐
- (转载)Delphi开发经验谈
Delphi开发经验谈 开发环境-------- Delphi 7是一个很经典的版本,在Win2000/XP下推荐安装Delphi 7来开发软件,在Vista下推荐使用Delphi 2007开发软件. ...
- sum_series() 求一列数的指定个数的数和(5个数字的和)
#include <stdio.h> #include <stdarg.h> /*用sum_series() 求一列数的指定个数的数和(5个数字的和)*/ double sum ...
- navigationController Pop回指定页面
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIn ...
- online web design tool
https://webflow.com/ http://css-tricks.com/snippets/ https://www.fluidui.com/demos
- <一> jQuery 简单介绍
jQuery 库位于一个 JavaScript 文件中,其中包含了所有的 jQuery 函数. 可以通过下面的标记把 jQuery 添加到网页中: <head> <script ty ...
- Discuz CDN优化方案
DZ整体来说CDN是有点蛋疼的,因为毕竟琐碎,貌似大部分帖子都没有说全,这里罗列一下,给在用的孩儿们一点参考: 1.在后台设置CSS/JS走CDN路径,具体[全局]-[性能优化]-[服务器优化] 2. ...
- 事件——《JS高级程序设计》
一. 事件流 1. 事件流描述的是从页面中接收事件的顺序 2. 事件冒泡(event bubble):事件从开始时由最具体的元素(就是嵌套最深的那个节点)开始,逐级向上传播到较为不具体的节点(就是Do ...
- win7 不能启动 memcached 总是反回failde to start service
原地址: http://zhidao.baidu.com/link?url=Ul9hJxFckU9IHWRy0pcxT11f2c0-p2uXkXhLria73mLNxYuV7IiaKYRtIl6vED ...
- POJ 3321 Apple Tree(树状数组)
点我看题目 题意 : 大概是说一颗树有n个分岔,然后给你n-1对关系,标明分岔u和分岔v是有边连着的,然后给你两个指令,让你在Q出现的时候按照要求输出. 思路 :典型的树状数组.但是因为没有弄好数组 ...
- android fragment嵌套fragment出现的问题:no activity
package com.example.fragmentNavigation2.fragment; import android.content.Context; import android.os. ...




