Java 基础知识总结 (三、运算符)
三、Operators 运算符
Assignment Operators(赋值运算符)
= += -= %= *= /= <<= >>= >>>= &= ^= |=
public class ByteDemo {
public static void main(String[] args) {
byte b1=2;
byte b2=3;
b1=(byte)(b1+b2); //加法,转int
b1+=b2; //赋值,不转int
}
}
b1+=b2;与b1=b1+b2;是否完全等价?
答案是否定的。byte类型参数与运算时要先转换为int型,因此要进行强制类型转换。(可以把“b11+=b2;”看做是对“b1=(byte)(b1+b2);”的优化!)
Comparison Operators(比较运算符)
> >= < <= instanceof
Equality Operators(相同运算符)
== !=
Arithmetic Operators(算术运算符)
+ - * / %
Shift Operators(移位运算符)
>> << >>>
public class Test {
public static void main(String[] args) {
String s1 = Integer.toBinaryString(-1);
System.out.println(s1); // 11111111,11111111,11111111,11111111
int i1 = Integer.valueOf("1111111100000000", 2);
System.out.println(i1); // 65280
int i2 = i1 >> 1;
System.out.println(Integer.toBinaryString(i2)); // 01111111,10000000
int i3 = i1 << 1;
System.out.println(Integer.toBinaryString(i3)); // 00000001,11111110,00000000
int i4 = i1 >>> 1;
System.out.println(Integer.toBinaryString(i4)); // 01111111,10000000
// 零位扩展和符号位扩展
System.out.println(Integer.toBinaryString(-1 >> 1)); // 11111111,11111111,11111111,11111111
// -1
System.out.println(Integer.toBinaryString(-1 >>> 1)); // 01111111,11111111,11111111,11111111
// 2147483647
}
}
Bitwise Operators(位运算符)
& | ^(按位异或) ~(按位取反)
Logic Operators(逻辑运算符)
&& & || | !
Conditional Operators(条件运算符)
?:
public class Test {
public static void main(String[] args) {
boolean b = true;
int i = b ? 1 : 2;
System.out.println(i); // 1
}
}
Other operators
++ --
public class TestAction {
public static void main(String[] args) {
int i = 2;
System.out.println(i++); // 2
System.out.println(i); // 3
int a = i++ + i; // 3+4=7
System.out.println(a);
int b = i++ + ++i; // 3+5=10
i++;
System.out.println(b);
System.out.println(i); // 7
for (int j = 0; j < 1000; j++) {
i = i++;
}
System.out.println(i); // 7
}
}
Java 基础知识总结 (三、运算符)的更多相关文章
- java 基础知识(三)
Arraylist与Vector的区别 清浅池塘 程序员,专栏:Java那些事儿唯一作者,咨询前请先点详细资料 162 人赞同了该文章 这几天工作有点忙,有很多代码需要写,更新文章有点慢,说声抱歉 ...
- Java基础知识(三)
一.hashCode 与 equals (重要) 面试官可能会问你:"你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法?" 1 ...
- java基础知识(三)java关键字
关键字是电脑语言事先定义的,是特别意义的标识符,又叫保留字.用来表示一种数据类型或程序的结构等,关键字不能用作变量名.类名.方法名或参数.java目前共有50个关键字,其中"const&qu ...
- java基础知识拾遗(三)
1.类加载 bootstrap classloader -引导(也称为原始)类加载器,它负责加载Java的核心类. extension classloader -扩展类加载器,它负责加载JRE的扩展目 ...
- java基础知识(三)之数组
声明数组: 语法:数据类型[ ] 数组名://例:int[ ] scores; 或者 数据类型 数组名[ ]://例:int scores[ ];分配空间 语法:数组名 = new 数据类型 [ 数 ...
- Java基础知识陷阱(三)
本文发表于本人博客. 之前都讲了有关字符串的陷阱,那今天来说下关于静态这个东西,这分为静态变量.静态方法,先看下面的代码请问结果输出是什么?: class Person01{ private stat ...
- JAVA基础知识(三):input.nextLine() 和input.next()
next()方法在读取内容时,会过滤掉有效字符前面的无效字符,对输入有效字符之前遇到的空格键.Tab键或Enter键等结束符,next()方法会自动将其过滤掉:只有在读取到有效字符之后,next()方 ...
- Java基础知识陷阱系列
Java基础知识陷阱系列 今天抽空把Java基础知识陷阱有关的文章汇总于此,便于大家查看. Java基础知识陷阱(一) Java基础知识陷阱(二) Java基础知识陷阱(三) Java基础知识陷阱(四 ...
- java 基础知识二 基本类型与运算符
java 基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...
随机推荐
- 开发技巧-Java通过HttpProxy实现穿越
需求描述 在正常的项目开发需求中,连接远程服务器的场景一般有二: 1 自家实现的http服务器,api接口都已经约定好: 2 开发平台服务,通常如新浪.百度云等平台提供的r ...
- 生成freemarker静态页面的工具类
package cn.bocai.pc.util; import java.io.BufferedWriter;import java.io.File;import java.io.FileOutpu ...
- 【mysql】一维数据TopN的趋势图
创建数据表语句 数据表数据 对上述数据进行TopN排名 select severity,sum(count) as sum from widgt_23 where insertTstamp>=' ...
- 学习SQL的点点滴滴(二)删除临时表
select into 创建的表属于临时表,判断是否存在的方法 select c_adno,c_con_no into #temp from tb_contract IF OBJECT_ID( 'te ...
- 微分方程——基本概念和常微分方程的发展史
1.2 基本概念和常微分方程的发展史 自变量.未知函数均为实值的微分方程称为实值微分方程:未知函数取复值或变量及未知函数均取复值时称为复值微分方程.若无特别声明,以下均指实变量的实值微分方程. 1.2 ...
- 【转】css学习专题-BFC
css学习专题-BFC 转自:原文链接:css学习专题-BFC文章目录 BFC:Block Formatting Context. BFC就是一种布局方式,在这种布局方式下,盒子们自所在的 conta ...
- (转)JPEG图片数据结构分析- 附Png数据格式详解.doc
一.简述 JPEG是一个压缩标准,又可分为标准JPEG.渐进式JPEG及JPEG2000三种: ①标准JPEG:以24位颜色存储单个光栅图像,是与平台无关的格式,支持最高级别的压缩,不过,这种压 ...
- 织梦如何重新安装 织梦dir 二次安装
一般安装过一次织梦就不需要重新再去下载安装第二次了,我们可以在原有的基础上重新安装一次.这个是织梦cms后台自带的功能,还比较方便,下面小编就分享下如何重装织梦. 如果在本地重装要打开集成环境,在浏览 ...
- 使用不同用户对Oracle数据库进行异机恢复,失败,错误:Backup file not found in NetBackup catalog
最近做某数据库恢复演练,数据库版本是10.2.0.4,恢复控制文件一直报错,报错如下,经过反复折腾,原来恢复机上oracle用户不是oracle导致(我的是oraclev4),查看源库oracle用户 ...
- JSP三大指令
JSP三大指令1.page-->最复杂,<%@page language = "java" info = "xxx" ..%> *pageE ...