数据类型

简介: Java数据类型分基本与引用两类,基本类型含四类八种:整数、浮点、字符、布尔。取值范围从小到大为byte→short→int→long→float→double,long和float赋值需加L/F标识。运算时小范围自动提升为大范围(隐式转换),反之需强制转换。字符串参与“+”即为拼接,字符运算按ASCII码转数字。扩展赋值如+=隐含强制类型转换。关系运算结果为boolean。逻辑运算符&&和||具有短路特性,提高效率。

数据类型:

Java语言的数据类型分为: 基本数据类型, 引用数据类型

基本数据类型的四类八钟(整数,浮点数,字符,布尔)

byte的取值范围: -128~127

整数和小数取值范围大小关系:

double>float>long>int>short>byte

long类型变量:需要加入L标识(大小写都可以)

float类型变量:需要加入F标识(大小写都可以)

六种运算符:

算术运算符, 自增自减运算符, 赋值运算符, 关系运算符, 逻辑运算符, 三元运算符

算术运算符

结论:

1,数字进行运算时,数据类型不一样不能运算,需要转成一样的,才能运算.

类型转换的分类:

1,隐式转换:取值范围小的数转化为取值范围大的数;

2,强制转换:取值范围大的数转化为取值范围小的数

隐式转换(规则):

1,取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算

2,byte short char三种类型的数据再运算的时候,都会直接先提升为int,然后再进行运算

强制转换:

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

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

(要转成什么样的数据类型就写在括号里)

3,数据过大进行强转就会发生错误,输出错误的答案

取值范围从小到大:

byte->short->int->long->float->double

字符串"+"操作

1,当"+"操作中出现字符串时,这个"+"是字符串连接符,而不是算术运算符了.会将前后的数据进行拼接,并产生一个新的字符串.

例如 "123" + 123 结果是"123123"

2,连续进行"+"操作时,从左到右逐个进行.

例如: 1 + 99 + "黑马" 结果是"100黑马"

只要有字符串参与+就是拼接的作用

字符 + 字符 (或者 字符 + 数字) 时,会把字符通过ASCII码表查询到对应的数字再进行计算.

扩展的赋值运算符隐含了强制类型转换

例如:

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

short s = 1;

//把左边和右边进行相加, 得到结果2, 再赋值给左边的变量

s += 1;

//等同于: s = (short) (s + 1);

关系运算符 == != > >= < <=

注意: 关系运算符的结果都是boolean类型, 要么是true, 要么是false. 千万不要把"=="误写成"=".

逻辑运算符

&, |, ^, !

注意事项:

1, & |, 无论左边 true false, 右边都要执行.

2, && ||,如果左边能确定整个表达式的结果,右边不执行.

​ &&: 左边为false,右边不管是真是假,整个表达式的结果一定是false.

​ ||:左边为true,右边不管是是真是假,整个表达式的结果一定是true.

相关文章
|
3月前
|
人工智能 自然语言处理 语音技术
Soul App联合西工大和上交大开源语音合成模型SoulX-Podcast,已登顶Hugging Face TTS趋势榜!
Soul AI Lab联合西工大、上交大开源SoulX-Podcast,支持中英粤川等多语种方言及副语言生成,可稳定输出超60分钟自然流畅的多人对话音频,已在Huggingface登顶TTS趋势榜。
631 0
Soul App联合西工大和上交大开源语音合成模型SoulX-Podcast,已登顶Hugging Face TTS趋势榜!
|
4月前
|
人工智能 JSON 测试技术
Dify入门实战:5分钟搭建你的第一个AI测试用例生成器
本文教你利用Dify平台,结合大模型API,5分钟内搭建一个无需编程基础的AI测试用例生成器。通过配置提示词、连接AI模型,实现自动输出覆盖正常、异常及边界场景的结构化测试用例,提升测试效率与质量,并支持集成到CI/CD流程,助力智能化测试落地。
|
存储 安全 Java
Java数组(Arrays)详解
Java 中的数组是一种用于存储固定数量同类型数据的高效数据结构,支持连续内存存储和随机访问。数组可以声明并初始化,通过索引访问和修改元素,获取长度,使用循环遍历,支持多维形式,并可通过 `Arrays` 类的方法进行复制和排序。数组具有固定大小和类型安全的特点,但需注意越界等问题。灵活运用数组能显著提升编程效率。
589 10
|
Java 测试技术 Android开发
SpringBoot如何写好单元测试
SpringBoot如何写好单元测试
|
XML Java 关系型数据库
SpringBoot整合ClickHouse
SpringBoot整合ClickHouse
1696 0
|
存储 关系型数据库 数据库
OceanBase数据库常见问题之修改日志盘的数据存储路径后控件不生效如何解决
OceanBase 是一款由阿里巴巴集团研发的企业级分布式关系型数据库,它具有高可用、高性能、可水平扩展等特点。以下是OceanBase 数据库使用过程中可能遇到的一些常见问题及其解答的汇总,以帮助用户更好地理解和使用这款数据库产品。
|
SQL Java 关系型数据库
SpringBoot+Mybatis Plus+ClickHouse入门教程
SpringBoot+Mybatis Plus+ClickHouse入门教程
1492 0
SpringBoot+Mybatis Plus+ClickHouse入门教程
|
Kubernetes API 调度
Pod无法调度到可用的节点上(K8s)
完成k8s单节点部署后,创建了一个pod进行测试,后续该pod出现以下报错: Warning FailedScheduling 3h7m (x3 over 3h18m) default-scheduler 0/1 nodes are available: 1 node(s) had untolerated taint {node-role.kubernetes.io/control-plane: }. preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling..
1385 0