写点什么

java 基础——运算符

作者:守夜人st
  • 2022 年 9 月 14 日
    云南
  • 本文字数:2463 字

    阅读完需:约 8 分钟

java基础——运算符

:house_with_garden:个人主页 :@ 守夜人st:rocket:系列专栏:Java...持续更新中敬请关注...:hear_no_evil:博主简介:软件工程专业,在校学生,写博客是为了总结回顾一些所学知识点


:airplane:推荐一款模拟面试,刷题,从基础走向大场面试:point_right: 开启你的刷题之路吧


Java 运算符


算数运算符


关系运算符


逻辑运算符


位运算符

赋值运算符

字符串连接运算符

int a = 100;int b = 200;// 这里的 + 两边都是数字,所以加法运算int c = a + b;System.out.println(a + "+" + b + " = "  + a + b);//100+200=100200System.out.println(a + "+" + b + " = "  + (a + b));//100+200=300
复制代码


  • 当 + 运算符两边都是数字类型的时候,求和。

  • 当 + 运算符两边的“任意一边”是字符串类型,那么这个+会进行字符串拼接操作。

其他运算符

除了前面介绍的主要运算符,Java 还有一些其他运算符。


三元运算符(? :)例如 x?y:z;,其中 x、y 和 z 都为表达式。


小括号起到改变表达式运算顺序的作用,它的优先级最高。


中括号数组下标。


引用号 (.)对象调用实例变量或实例方法的操作符,也是类调用静态变量或静态方法的操作符。


赋值号(=)赋值是用等号运算符(=)进行的。


instanceof:判断某个对象是否为属于某个类。


new :对象内存分配运算符。


箭头(->):**Java 8 新增加的,用来声明 Lambda 表达式


双冒号(::):**Java 8 新增加的,用于 Lambda 表达式中方法的引用。


此外,还有一些鲜为人知的运算符,随着学习的深入相信大家会有机会遇到的!

运算优先级


测试程序:


package com.shouyerenst;
public class Operator { public static void main(String[] args) { System.out.print("算数运算符:"); System.out.println("============================="); int i = 10; int j = 3; System.out.println(i+j);// 13 System.out.println(i-j);// 7 System.out.println(i*j);// 30 System.out.println(i/j);// 3 System.out.println(i%j);// 1 int a = 12; System.out.println(-a);// -12 int b = a++; System.out.println(b); //12 b = ++a; System.out.println(b); // 14 System.out.println("============================="); System.out.print("赋值运算符:"); System.out.println("============================="); int c = 1; int d = 2; c += d; System.out.println(c);// 3 c -= d; System.out.println(c);// 1 c *= d; System.out.println(c);// 2 c /= d; System.out.println(c);// 1 c %= d; System.out.println(c);// 1 System.out.println("============================="); //关系运算符 System.out.print("关系运算符:"); System.out.println("============================="); int value1 = 1; int value2 = 2; if (value1 == value2) { System.out.println("value1 == value2"); }if (value1 != value2) { System.out.println("value1 != value2"); }if (value1 > value2) { System.out.println("value1 > value2"); }if (value1 < value2) { System.out.println("value1 < value2"); }if (value1 <= value2) { System.out.println("value1 <= value2"); } System.out.println("============================="); System.out.print("位运算符:"); System.out.println("============================="); byte byteNum1 = 0B00110010; //十进制50 byte byteNum2 = 0B01011110; //十进制94 System.out.println("byteNum1 | byteNum2 = " + (byteNum1 | byteNum2)); // 0B01111110 (126) System.out.println("byteNum1 & byteNum2 = " + (byteNum1 & byteNum2)); // 0B00010010 (18) System.out.println("byteNum1 ^ byteNum2 = " + (byteNum1 ^ byteNum2)); // 0B01101100 (108) System.out.println("~byteNum2 = " + (~byteNum2)); // 0B10100001 (-95) System.out.println("byteNum1 >> 2 = " + (byteNum1 >> 2)); // 0B00001100 (12) System.out.println("a >> 1 = " + (byteNum1 >> 1)); // 0B00011001 (25) System.out.println("byteNum1 >> 1 = " + (byteNum1 >>> 2)); // 0B00001100 (12) System.out.println("byteNum1 << 2 = " + (byteNum1 << 2)); // 0B11001000 (200) System.out.println("byteNum1 << 1 = " + (byteNum1 << 1)); // 0B01100100 (100) int byteNum3 = -12; System.out.println("byteNum3 >>> 2 = " + (byteNum3 >>> 2));// 1073741821 System.out.println("byteNum3 >> 2 = " + (byteNum3 >> 2));// -3 }}
复制代码


运行结果:


算数运算符:=============================1373031-121214=============================赋值运算符:=============================31211=============================关系运算符:=============================value1 != value2value1 < value2value1 <= value2=============================位运算符:=============================byteNum1 | byteNum2 = 126byteNum1 & byteNum2 = 18byteNum1 ^ byteNum2 = 108~byteNum2 = -95byteNum1 >> 2 = 12a >> 1 = 25byteNum1 >> 1 = 12byteNum1 << 2 = 200byteNum1 << 1 = 100byteNum3 >>> 2 = 1073741821byteNum3 >> 2 = -3
复制代码

总结:

运算符优先级大体顺序,从高到低是:算术运算符→位运算符→关系运算符→逻辑运算符→赋值运算符。


==感觉不错的话,动手点个赞吧!==


发布于: 刚刚阅读数: 4
用户头像

守夜人st

关注

还未添加个人签名 2022.08.25 加入

还未添加个人简介

评论

发布
暂无评论
java基础——运算符_九月月更_守夜人st_InfoQ写作社区