Java 变量与运算符

初识变量

  • 内存中的一个存储区域,该区域的数据可以在同一类型范围内不断变化
  • 变量的构成包含三个要素:数据类型变量名存储的值
  • Java 中变量声明的格式:数据类型 变量名 = 变量值

变量的数据类型

Java中变量的数据类型分为两大类:

  • 基本数据类型 :包括 整数类型浮点数类型字符类型布尔类型
  • 引用数据类型 :包括数组接口枚举注解记录

基本数据类型转换规则

在Java程序中,不同的基本数据类型(只有7种,不包含 boolean 类型)变量的值经常需要进行相互转换

转换的方式有两种:自动类型提升强制类型转换

自动类型提升

规则:将取值范围小(或容量小)的类型自动提升为取值范围大(或容量大)的类型

基本数据类型的转换规则如图所示:

强制类型转换

规则:将取值范围大(或容量大)的类型强制转换成取值范围小(或容量小)的类型

自动类型提升是Java自动执行的,而强制类型转换是自动类型提升的逆运算,需要我们自己手动执行

转换格式:数据类型1 变量名 = (数据类型1)被强转数据值

基本数据类型与 String 的运算

  1. 任意八种基本数据类型的数据与 String 类型只能进行连接 + 运算,且结果一定也是 String 类型
  2. String 类型不能通过强制类型 () 转换为其他的类型

运算符

运算符的分类:

  • 按照功能分为:算术运算符、赋值运算符、比较(或关系)运算符、逻辑运算符、位运算符、条件运算符、Lambda 运算符

    分类 运算符
    算术运算符(7个) +、-、*、/、%、++、--
    赋值运算符(12个) =、+=、-=、*=、/=、%=、>>=、<<=、>>>=、&=、|=、^=等
    比较(或关系)运算符(6个) >、>=、<、<=、==、!=
    逻辑运算符(6个) &、|、^、!、&&、||
    位运算符(7个) &、|、^、~、<<、>>、>>>
    条件运算符(1个) (条件表达式)?结果1:结果2
    Lambda运算符(1个) ->
  • 按照操作数个数分为:一元运算符(单目运算符)、二元运算符(双目运算符)、三元运算符 (三目运算符)

    分类 运算符
    一元运算符(单目运算符) 正号(+)、负号(-)、++、--、!、~
    二元运算符(双目运算符) 除了一元和三元运算符剩下的都是二元运算符
    三元运算符 (三目运算符) (条件表达式)?结果1:结果2

算术运算符

  • + 号两种用法
    • 第一种:对于 + 两边都是数值的话,+ 就是加法的意思
    • 第二种:对于 + 两边至少有一边是字符串的话,+ 就是拼接的意思

比较运算符

  • instanceof 后面在面向对象具体学习

逻辑运算符

  • 区分"&"和"&&":

    • 相同点:如果符号左边是true,则二者都执行符号右边的操作
    • 不同点:
      • & : 如果符号左边是false,则继续执行符号右边的操作
      • && :如果符号左边是false,则不再继续执行符号右边的操作

    建议:开发中,推荐使用 &&

  • 区分"|"和"||":

    • 相同点:如果符号左边是false,则二者都执行符号右边的操作
    • 不同点:
      • | : 如果符号左边是true,则继续执行符号右边的操作
      • || :如果符号左边是true,则不再继续执行符号右边的操作

    建议:开发中,推荐使用 ||

条件运算符

格式:(条件表达式)? 表达式1:表达式2

  • 与if-else的转换关系
    凡是可以使用条件运算符的地方,都可以改写为if-else结构
    开发中,如果既可以使用条件运算符,又可以使用if-else,推荐使用条件运算符。因为执行效率稍高
相关推荐
confiself9 分钟前
大模型系列——LLAMA-O1 复刻代码解读
java·开发语言
Wlq041513 分钟前
J2EE平台
java·java-ee
XiaoLeisj20 分钟前
【JavaEE初阶 — 多线程】Thread类的方法&线程生命周期
java·开发语言·java-ee
杜杜的man24 分钟前
【go从零单排】go中的结构体struct和method
开发语言·后端·golang
幼儿园老大*24 分钟前
走进 Go 语言基础语法
开发语言·后端·学习·golang·go
半桶水专家25 分钟前
go语言中package详解
开发语言·golang·xcode
llllinuuu26 分钟前
Go语言结构体、方法与接口
开发语言·后端·golang
cookies_s_s27 分钟前
Golang--协程和管道
开发语言·后端·golang
王大锤439128 分钟前
golang通用后台管理系统07(后台与若依前端对接)
开发语言·前端·golang
为什么这亚子29 分钟前
九、Go语言快速入门之map
运维·开发语言·后端·算法·云原生·golang·云计算