网站首页 > 精选教程 正文
算术运算符
运算符含义+加法-减法*乘法/除法%取余++自增加1--自减减1
public static void main(String[] args) {
int a = 8;
int b = 2;
//加法,如果不加括号加号代表的是连接符
System.out.println("a连接b:"+a+b);
System.out.println("a+b="+(a+b));
//减法
System.out.println("a-b="+(a-b));
//乘法
System.out.println("a*b="+(a*b));
//除法
System.out.println("a/b="+(a/b));
//取余
System.out.println("a%b="+(a%b));
//自增
System.out.println("a++="+(a++));
//自减
System.out.println("b--="+(b--));
//自增和自减分为前增(减)和后增(减)
//前增(减)表示先增(减)然后再进行表达式运算
a = 8;
b = 2;
int x = a+++b;
System.out.println("a:"+a);
System.out.println("b:"+b);
System.out.println("x:"+x);
//后增(减)表示先表达式运算再增(减)
a = 8;
b = 2;
int y = a+b++;
System.out.println("a:"+a);
System.out.println("b:"+b);
System.out.println("y:"+y);
//如果出现变量类型不一致的情况下结果会自动类型转换
//转换的顺序为 byte -> short -> int -> long -> float -> double
int c = 2;
long d = 3L;
//这种可以
long e = c+d;
//这个会报错
//int f = c+d;
//算术符优先级是从左到右
//乘除>取余>加减
float f = 1+2+2*3/2+-4/2+10/2%3;
System.out.println("优先级运算符的结果:"+f);
}
关系运算符
关系运算符表示这个表达式成立或者不成立,用来执行想要执行的代码。除特殊情况下,比较的两个变量类型一定要一致,否则会出现不想要的结果
运算符含义==表示两个变量相等时要做的事!=表示两个变量不等式要做的事>表示左变量大于右变量要做的事<表示左变量小于右变量要做的事>=表示左变量大于等于右变量要做的事<=表示左变量小于等于右变量要左的事
public static void main(String[] args) {
int a = 1;
int b = 2;
if(a == b){
System.out.println("变量a等于变量b");
}else{
System.out.println("变量a不等于变量b");
}
if(a != b){
System.out.println("变量a不等于变量b");
}else{
System.out.println("变量a等于变量b");
}
if(a > b){
System.out.println("变量a大于变量b");
}else{
System.out.println("变量a不大于变量b");
}
if(a < b){
System.out.println("变量a小于变量b");
}else{
System.out.println("变量a不小于变量b");
}
if(a >= b){
System.out.println("变量a大于等于变量b");
}else{
System.out.println("变量a小于变量b");
}
if(a <= b){
System.out.println("变量a小于等于变量b");
}else{
System.out.println("变量a大于变量b");
}
}
位运算符
位运算主要用于二进制数字操作。
运算符含义&位与操作,两个数字的相对应位都是1的时候才是1|位或操作,两个数字的相对应位有一个是1的时候就是1^位非操作,两个数字的相对应位相同则位0,否则为1~位取反操作,位取反0变1,1变0<<位左移操作,右面的位补0>>位右移操作,如果符号位为0,则左面的位补0,如果符号位为1,则左面补1>>>位右移操作,忽略符号位,左面的位补0
这个实例需要引入guava,建议使用maven
package lesson1;
?
import com.google.common.base.Joiner;
import com.google.common.base.Splitter;
import com.google.common.base.Strings;
?
/**
* @author by 老IT
* @Classname BitOperator
* @Description TODO
* @Date 2020 2020/7/4 15:35
*/
public class BitOperator {
/**
* 主方法
* @param args
*/
public static void main(String[] args) {
int a = 1;
int b = 2;
System.out.println("变量a的二进制字符串显示:"+display(a));
System.out.println("变量b的二进制字符串显示:"+display(b));
System.out.println("变量a&b的值:"+(a&b));
System.out.println("变量a&b的二进制字符串显示:"+display(a&b));
System.out.println("变量a|b的值:"+(a|b));
System.out.println("变量a|b的二进制字符串显示:"+display(a|b));
System.out.println("变量a^b的值:"+(a^b));
System.out.println("变量a^b的二进制字符串显示:"+display(a^b));
System.out.println("变量~a的值:"+(~a));
System.out.println("变量~a的二进制字符串显示:"+display(~a));
System.out.println("变量a的左移2位的值:"+(a<<2));
System.out.println("变量a的左移2位的二进制字符串显示:"+display(a<<2));
System.out.println("变量b的左移1位的值:"+(b>>1));
System.out.println("变量b的左移1位的二进制字符串显示:"+display(b>>1));
int c = -2;
System.out.println("变量c的二进制字符串显示:"+display(c));
System.out.println("变量c>>1的值:"+(c>>1));
System.out.println("变量c>>1的二进制字符串显示:"+display(c>>1));
System.out.println("变量c>>>1的值:"+(c>>>1));
System.out.println("变量c>>>1的二进制字符串显示:"+display(c>>>1));
}
?
/**
* 显示int的二进制表示方式
* @param param
* @return
*/
private static String display(int param){
String value = Integer.toBinaryString(param);
String v = Strings.padStart(value,32,'0');
Iterable<String> iterable = Splitter.fixedLength(4).omitEmptyStrings().split(v);
return Joiner.on(" ").join(iterable);
}
}
?
逻辑运算符
运算符含义&&逻辑与运算符,当左右值或者两边的表达式都为真的时候,则为真|逻辑或运算符,当左右值或者表达式有一个为真时,则为真!逻辑非运算符,当值或者表达式为真时,则为假,当值或者表达式为假时,则为真
public static void main(String[] args) {
boolean a = true;
boolean b =false;
System.out.println("a&&b的值为:"+(a&&b));
System.out.println("a|b的值为:"+(a|b));
System.out.println("!a的值为:"+(!a));
}
赋值运算符
运算符含义=等于运算符+=左侧的变量值等于左侧变量的值加上右侧变量的值-=左侧的变量值等于左侧变量的值减去右侧变量的值*=左侧的变量值等于左侧变量的值乘以右侧变量的值/=左侧的变量值等于左侧变量的值除以右侧变量的值%=左侧的变量值等于左侧变量的值取余右侧变量的值<<=左侧的变量值等于左侧变量的值左移右侧变量的值>>=左侧的变量值等于左侧变量的值右移右侧变量的值&=左侧的变量值等于左侧变量的值按位与右侧变量的值^=左侧的变量值等于左侧变量的值按位非右侧变量的值|=左侧的变量值等于左侧变量的值按位或右侧变量的值
public static void main(String[] args) {
int a = 6;
int b = 2;
int c = a + b;
System.out.println("c的值为:"+c);
a = 6;
System.out.println("a+=b的值为:"+(a+=b));
a = 6;
System.out.println("a-=b的值为:"+(a-=b));
a = 6;
System.out.println("a*=b的值为:"+(a*=b));
a = 6;
System.out.println("a/=b的值为:"+(a/=b));
a = 6;
System.out.println("a%=b的值为:"+(a%=b));
a = 6;
System.out.println("a<<=b的值为:"+(a<<=b));
a = 6;
System.out.println("a>>=b的值为:"+(a>>=b));
a = 6;
System.out.println("a&=b的值为:"+(a&=b));
a = 6;
System.out.println("a^=b的值为:"+(a^=b));
a = 6;
System.out.println("a|=b的值为:"+(a|=b));
}
三元运算符 & instanceof
三元表达式 变量 = 真假表达式 ?表达式为真时的值:默认的值
instanceof 用于类型判断
public static void main(String[] args) {
int a = 1;
String c = a == 2 ? "真":"假";
System.out.println("三元表达式的值:"+c);
//整数包装类
Integer d = 0;
System.out.println("instanceof的值:"+ (d instanceof Integer));
}
运算符优先级
优先级按照表格的从上至下优先级越来越低
引用菜鸟教程里的数据
猜你喜欢
- 2024-11-17 项目中的参数限制、非空、以及集合中的验证,你真的会做吗
- 2024-11-17 方法和+=符号的运算
- 2024-11-17 Java运算符之比较运算符
- 2024-11-17 《Java开发手册灵魂13问》正式上线,带你剖析阿里巴巴的开发细节
- 2024-11-17 03_Java_基础_表达式
- 2024-11-17 如何在 Python 中使用三元运算符?
- 2024-11-17 三目运算符的空指针问题,终于被阿里巴巴开发手册收录了
- 2024-11-17 Elasticsearch:painless script语法编程和入门实战
- 2024-11-17 golang三元表达式
- 2024-11-17 Java数组案例
你 发表评论:
欢迎- 08-06AIDA64发布7.70正式版:首次支持PCIe 7.0,提前支持Zen 6
- 08-06C#语言编程案例-颜色码数制转换
- 08-06渐变配色工具——webgradients
- 08-06CSS颜色值的转换
- 08-06KDE Plasma 6.4桌面环境发布:增强多桌面布局、优化界面等
- 08-06生成引人注目色彩的小型Javascript脚本——randomColor
- 08-06CSS入门指南:核心概念与实用技巧
- 08-06软网推荐:自定软件窗口背景色保护眼睛
- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)