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

02、字面量与变量

二、字面量与变量

文章目录

  • 二、字面量与变量
    • 1、字面量
      • 字面量类型
      • 扩展:特殊字符
    • 2、变量
      • 进制转换
    • 3、数据类型

1、字面量

字面量又叫做常量,字面值常量,告诉程序员数据在程序中的书写格式。

字面量类型

  • 整数类型(int):不带小数点的数字
  • 小数类型(double):带小数点的数字
  • 字符串类型(String):用双引号括起来的内容
  • 字符类型(char):用单引号括起来的内容,内容只能有一个
  • 布尔类型(Boolean):布尔值,表示真(true) 假(false)
  • 空类型(null):一个特殊的值,空值;只能以字符串的形式打印

扩展:特殊字符

\t:制表符 :在打印的时候,把前面字符串的长度补齐到8,或者8的整数倍。最少补1个空格,最多补8个空格。

\n:换行符

2、变量

在使用过程中,其值可能会改变的量。

变量的定义格式:

数据类型 变量名 = 数据值

​ 数据类型:为空间中存储的数据,加入类型限制

​ 变量名:为定义的空间命名

​ 数据值:存在空间里面的数值

进制转换

任意进制转十进制

系数 * 基数的权次幂 相加

​ 系数:每一位上的数字

​ 基数:当前进制数

​ 权:从右往左,依次为 0 1 2 3 …
在这里插入图片描述

十进制转其他进制

除基取余法:不断的除以基数(几进制,基数就是几)得到余数,直到商为0,再将余数倒着拼起来即可。

在这里插入图片描述

3、数据类型

基本数据类型

  • 整数
    • byte:-128~157
    • short:-32768~32767
    • int:-21亿~21亿
    • long :约等于19位数
  • 浮点数
    • float
    • double
  • ​ 字符
    • char
  • 布尔
    • boolean

取值范围大小关系:double > float > long > int > short > byte

类型转换的分类

隐式转换:取值范围小的数值 -> 取值范围大的数值

​ 又叫做:自动类型提升,小的会先提升为大的,在进行运算

​ 对于byte short char 三种数据类型在运算的的时候,都会直接提升为int,然后在进行运算

强制转换:取值范围大的数值 -> 取值范围小的数值

​ 如果把一个取值范围大的数值,赋值给取值范围小的变量,是不允许直接赋值的。如果一定要这么做 就需要加入强制转换

格式目标数据类型 变量名 = (目标数据类型) 被强转的数据

字符串的“+”操作:当“+” 操作中出现字符串时,这个“+” 是字符串的连接符,而不是算术运算符了。

​ 会将前后的数据进行拼接,并产生一个新的字符串。

​ 注:连续进行 “+” 操作时,从左到右逐个执行。

字符相加:当字符+字符字符+数字时,回吧字符通过ASCLL码表查询到对应的数字在进行计算。

​ 注:char+String=String ==》 ‘a’ + “bc” = abc

自增自减运算符

++a:先执行+1操作,在使用a

–a:先执行-1操作,在使用a

a++:先使用a,在进行+1操作

a–:先使用a,在进行-1操作

+=

a+=b => a=a+b

注:+=,-=,*=,/=,%= 底层都隐藏了一个强制类型转换

关系运算符

在这里插入图片描述

逻辑运算符

在这里插入图片描述

三元运算符

格式: 关系表达式 ?表达式1:表达式2

​ 关系表达式为 true 取表达式1,false 取表达式2

​ 注:整个三元运算符的结果必须要被使用

Eg: int a=1 , b=2

​ a>b ? a:b ====> 2

思考:三元运算符能否嵌套使用?

运算符的优先级

()的优先级最高

原码、反码与补码

原码:十进制数据的二进制表现形式,最左边是符号位,0为正,1为负。

反码:正数的补码反码是其本身,负数的反码是符号位保持不变,其余位取反。

补码:正数的补码是其本身,负数的补码是在其反码的基础上+1。

在这里插入图片描述

在这里插入图片描述

:正数的补码反码是其本身,负数的反码是符号位保持不变,其余位取反。

补码:正数的补码是其本身,负数的补码是在其反码的基础上+1。

在这里插入图片描述

在这里插入图片描述

http://www.lryc.cn/news/318936.html

相关文章:

  • docker的常用指令
  • 19 OpenCV 霍夫曼变换检测圆
  • leetcode代码记录(摆动序列
  • django学习笔记
  • Python环境安装及Selenium引入
  • 【gpt实践】实用咒语分享
  • Linux用户和权限
  • git svn混用
  • FPGA静态时序分析与约束(三)、读懂vivado时序报告
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Badge)
  • Python程序设计基础——代码习题
  • 代码随想录 贪心算法-中等题目-序列问题
  • pytest生成allure的报告
  • Python控制摄像头并获取数据文件
  • 免费分享一套SpringBoot+Vue自习室(预约)管理系统,帅呆了~~
  • mac删除带锁标识的app
  • PHP异世界云商系统开源源码
  • Vue生成Canvas二维码
  • JAVA基础—JVM内存结构基础需知
  • 【滤波专题-第8篇】ICA降噪方法——类EMD联合ICA降噪及MATLAB代码实现(以VMD-ICA为例)
  • jeecg 启动 微服务 更改配置本地host地址
  • 微服务day01 -- SpringCloud01 -- (Eureka , Ribbon , Nacos)
  • AI推介-大语言模型LLMs论文速览(arXiv方向):2024.03.10-2024.03.15
  • ThingsBoard Edge 安装部署
  • CSS进阶空间转换和 less
  • C/C++ 知识点:| 与 || 的区别
  • CSS中如何设置单行或多行内容超出后,显示省略号
  • PFA烧杯透明聚四氟乙烯刻度量杯
  • Redis底层数据结构之String
  • 【Maven学习笔记】Maven入门教程(适合新手反复观看学习)