当前位置: 首页 > news >正文

JavaSE核心知识点01基础语法01-02(基本数据类型、运算符、运算符优先级)

🤟致敬读者

  • 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉

📘博主相关

  • 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息

文章目录

  • JavaSE核心知识点01基础语法01-02(基本数据类型、运算符、运算符优先级)
    • 1. 基本数据类型
      • 1.1 自动类型转换(隐式)
      • 1.2 强制类型转换(显式)
    • 2. 运算符
        • 2.1 算术运算符
      • 2.2 赋值运算符
      • 2.3 比较(关系)运算符
      • 2.4 逻辑运算符
      • 2.5 位运算符
      • 2.6 三元运算符
    • 3. 运算符优先级


📃文章前言

  • 🔷文章均为学习工作中整理的笔记。
  • 🔶如有错误请指正,共同学习进步。

JavaSE核心知识点01基础语法01-02(基本数据类型、运算符、运算符优先级)

1. 基本数据类型

数据类型:基本数据类型、引用数据类型

基本数据类型:数值型(整数类型:byte、short、int、long,浮点类型:float、double)、布尔型(Boolean)、字符型(Char)
引用数据类型:类(class,其中包含String类型)、接口(interface)、数组([])

1.1 自动类型转换(隐式)

  • 特点
    代码不需要进行特殊处理,自动完成

  • 规则
    数据范围从小到大(小值赋给大值,即从小范围转大范围,如long a = 100)

  • 注意
    Boolean类型不能与其他数据类型运算
    byte、short、char之间不会相互转换,三者在计算时首先转换为int类型
    当任何基本数据类型的值和字符串进行连接运算(+)时,基本数据类型的值自动转为字符串类型

1.2 强制类型转换(显式)

  • 特点
    代码需特殊格式,不能自动完成

  • 规则
    数据范围从大到小(从数据范围大的值赋值给范围小的值,如int b = (int)100L)

  • 注意
    针对整数类型(byte、short、int、long)Java的整型常量默认为int型,声明long型常量后面需加L或者l
    针对浮点类型(float、double)Java浮点型常量默认为double型,声明float型常量需在其后加F或者f
    针对字符类型(char)Java char类型是可以进行运算的,对应有Unicode码
    针对布尔类型(boolean)Java布尔类型数据只允许取值true和false,无null
    布尔类型不可以转换为其他的数据类型

2. 运算符

2.1 算术运算符
运算符名称举例
+加法1+1=2
-减法2-1=1
*乘法1*2=2
/除法2/1=2
%取余5%3=2
++自增1int i=2;i++
--自减1int i=2;i--

自增自减运算符(++、–)

a++ 先赋值后运算

int a = 1;
int b = a++;
System.out.print(a);//a=2
System.out.print(b);//b=1

++a 先运算后赋值

int a = 1;
int b = ++a;
System.out.print(a);//a=2
System.out.print(b);//b=2

2.2 赋值运算符

运算符名称举例
=赋值c=a+b将把a+b得到的值赋值给c
+=加等于c+=a等价于c=c+a
-=减等于c-=a等价于c=c-a
*=乘等于c*=a等价于c=c*a
/=除等于c/=a等价于c=c/a
%=模等于c%=a等价于c=c%a

2.3 比较(关系)运算符

运算符名称举例结果
>大于a=3;b=2;a>btrue
<小于a=3;b=2;a<bfalse
>=大于等于a=3;b=2;a>=2true
<=小于等于a=3;b=2;a<=bfalse
==等于a=3;b=2;a==bfalse
!=不等于a=3;b=2;a!=btrue

注意:
>、<、>=、<=只支持左右两边操作数是数值类型
==、!=两边的操作数既可以是数值类型,也可以是引用类型
==比较基本数据类型时,比较的是值,比较引用数据类型时比较的是地址

2.4 逻辑运算符

运算符名称举例结果
&&a&&ba和b都为true则返回true
||a||ba和b任一位true则返回true
!!aa为false则返回true
^异或a^bab有且仅有一个为true则返回true

注意:
单&时,左边无论真假右边都进行运算
双&时,左边为真右边参与运算,左边为假右边不参与运算
|||的区别同上,左边为真右边不参与运算

2.5 位运算符

运算符含义
<<空位补0,被移除的高位丢弃,空缺位补0
>>被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1
>>>被移位二进制最高位无论是0或者是1,空缺位都用0补
&二进制位进行&运算,只有1&1时结果是1,否则是0
|二进制位进行|运算,只有0|0时结果是0,否则是1
^相同二进制位进行^运算,结果是0,1^1=0,0^0=0;不相同二进制位^运算结果是1,1^0=0,0^1=1
~正数取反,各二进制码按补码各位取反;负数取反,各二进制位按补码各位取反

位运算是直接对正数的二进制进行的运算

2.6 三元运算符

语法:

布尔表达式?表达式1:表达式2

布尔表达式为true,运算结果为表达式1,反之,结果为表达式2

int x = 20;
int y = 50;
int z = (x>y)?x:y;
//表示x大于y则取x,否则则取y,即取大值,上面的x20小于y50,故前面的布尔表达式为假,取值为y,z=50

3. 运算符优先级

一图了解运算符优先级
下表从上到下优先级从高到低的排序

从高到低的顺序运算符
L->R. () {} ; ,
R->L++ -- ~ !(data type)
L->R* / %
L->R+ -
L->R>> << >>>
L->R> < <= >= instanceof
L->R== !=
L->R&
L->R^
L->R|
L->R&&
L->R||
R->L? :
R->L= *= /= %=
L->R+= -= <<= >>=
L->R>>>= &= ^= |=

📜文末寄语

  • 🟠关注我,获取更多内容。
  • 🟡技术动态、实战教程、问题解决方案等内容持续更新中。
  • 🟢《全栈知识库》技术交流和分享社区,集结全栈各领域开发者,期待你的加入。
  • 🔵​加入开发者的《专属社群》,分享交流,技术之路不再孤独,一起变强。
  • 🟣点击下方名片获取更多内容🍭🍭🍭👇

相关文章:

  • 国产海光DCU及超算平台深度解析
  • Vue项目安全实践指南:从输入验证到状态管理的全方位防护
  • 笔记本电脑升级计划(2017———2025)
  • Springclound常用五大组件及其使用原理
  • [人机交互]理解与概念化交互
  • ARM介绍及其体系结构
  • Linux55yum源配置、本机yum源备份,本机yum源配置,网络Yum源配置,自建yum源仓库
  • SpringMVC 框架核心知识点详解与实战
  • 哈希算法、搜索算法与二分查找算法在 C# 中的实现与应用
  • 多语言笔记系列:Polyglot Notebooks 中使用 xUnit 单元测试
  • 数据结构实验8.1:图的基本操作
  • 第16章 监控和排除日志记录错误
  • 1. 设计哲学与核心价值
  • OpenCV第6课 图像处理之几何变换(仿射)
  • 【漫话机器学习系列】241.典型丢弃概率(Typical Dropout Probabilities)
  • 基于PPO的自动驾驶小车绕圈任务
  • qt csv文件写操作
  • Java面试深度解密:Spring Boot、Redis、日志优化、JUnit5及Kafka事务核心技术解析
  • APP 设计中的色彩心理学:如何用色彩提升用户体验
  • 【MATLAB例程】基于RSSI原理的Wi-Fi定位程序,N个锚点(数量可自适应)、三维空间,轨迹使用UKF进行滤波,附代码下载链接
  • 中国驻俄大使张汉晖人民日报撰文:共襄和平伟业,续谱友谊新篇
  • 沪幼升小网上报名明起开始,是否参与民办摇号怎么定?
  • 中国驻美大使谢锋:经贸关系不是零和游戏,滥施关税损人害己
  • 贵州游船侧翻248名消防员已在搜救
  • 中海油高管调整:刘永杰、刘小刚任副总裁
  • 人民日报今日谈:以青春之我,赴时代之约