java基础(数据类型,运算符)

简介: java基础之数据类型(变量)java中存在的数据有常量和变量常量:在程序执行的过程中其值不可以发生改变 常量的分类字面值常量字面值常量的分类常量 描述字符串常量 用双引号括起来的内容整数常量 所有整数小数常...

java基础之数据类型(变量)

java中存在的数据有常量和变量

  • 常量:在程序执行的过程中其值不可以发生改变

    • 常量的分类
    • 字面值常量
  • 字面值常量的分类
常量 描述
字符串常量 用双引号括起来的内容
整数常量 所有整数
小数常量 所有小数
字符常量 用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号
布尔常量 较为特殊,只有true和false
空常量 null(数组部分)

-
- 自定义常量

  • 变量:在程序执行的过程中,在某个范围内其值可以发生改变的量
  • 定义格式:
    数据类型 变量名 = 变量值;
  • 定义变量原因:
    用来不断的存放同一类型的常量,并可以重复使用

java的数据类型

  • 有数据类型原因:Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间

  • Java中数据类型的分类

    • 基本数据类型
    • 引用数据类型
  • 基本数据类型分类(4类8种)

    • 整数型
数据类型 所占字节 范围
byte 占一个字节 -128到127 
short 占两个字 -2^15~2^15-1
int 占四个字节 -2^31~2^31-1
long 占八个字节 -2^63~2^63-1

- 浮点型

数据类型 所占字节 范围
float 占两个字节 -3.403E38~3.403E38
double 占四个字节 -1.798E308~1.798E308

- 字符型

数据类型 所占字节 范围
char 占两个字节 0~65535

- 布尔型
boolean

**小细节:**boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小

数据类型间的转换

自动:小到大
强制:大到小

Java中的默认转换规则

  • 自动

    • 取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算
  • 强转

    • 如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同

数据类型的取值范围

  • 进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型,其他类型进行混合运算的是小的数据类型提升为大的

byte <- short <- char <- int <- long <- float <- double

**注意:**float表示的数据范围比long的范围要大
原因

long:2^63-1
float:3.4*10^38 2*10^38 2*8^38 = 2*2^3^38 = 2*2^114 2^63-1

运算符

运算符:就是对常量和变量进行操作的符号。
分类:
- 算术运算符
- 赋值运算符
- 比较(关系或条件)运算符
- 逻辑运算符
- 位运算符
- 三目(元)运算符

1)算数运算符

算术运算符:+-*/%,++,–
++/–:自增1/自减1
1.1)单独使用时,在前在后无差别
1.2)若被使用时,在前在后有差别
1.2.1)++在后,先使用,后自增1
1.2.2)++在前,先自增1,后使用

  • 单独使用:

    • 放在操作数的前面和后面效果一样。
  • 参与运算使用:

    • 放在操作数的前面,先自增或者自减,然后再参与运算。
    • 放在操作数的后面,先参与运算,再自增或者自减。

注意事项:
- “+”号在java中有三种作用,代表正号,做加法运算,字符串的连接符
- 整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型
- /获取的是除法操作的商,%获取的是除法操作的余数

  • %运算符
    • 当左边的绝对值小于右边绝对值时,结果是左边
    • 当左边的绝对值等于右边或是右边的倍数时,结果是0
    • 当左边的绝对值大于右边绝对值时,结果是余数
    • %运算符结果的符号只和左边有关系,与右边无关
    • 任何一个正整数%2结果不是0就是1可以用来当作切换条件

2)关系运算符:

  • 2.1)>(大于),<(小于)

    • >=(大于或等于),<=(小于或等于)
    • ==(等于),!=(不等于)
  • 2.2)关系运算的结果为boolean型,

    • 关系成立则为true,关系不成立则为false

3)逻辑运算符:

  • 3.1)&&:短路与,两边都为真则为真,见false则false
    若左边的数为false,则发生短路(右边不走了)
  • ||:逻辑或,有一边为真则为真,见true则true
    若左边的数为true,则发生短路(右边不走了)

  • !: 逻辑非,非真则假,非假则真

  • 3.2)逻辑运算都是建立在关系运算基础之上的

    • 逻辑运算的结果为boolean型

4)赋值运算符

  • 4.1)简单赋值:=

    • 扩展赋值:+=,-=,*=,/=,%=
  • 4.2)建议使用扩展赋值,因其效率高

5)字符串连接运算符

  • 5.1)+:
    • +号两边若为数字,则做加法运算
    • +号两边任有一边为字符串,则做字符串拼接

6)条件/三目运算符:

  • 6.1)格式

    • boolean ? 数1 : 数2
  • 6.2)计算boolean的值:

    • 若为true,则整个表达式的结果为数1
    • 若为false,则整个表达式的结果为数2
相关文章
|
3月前
|
Java
Java运算符
Java运算符
51 12
|
3月前
|
Java
java基础(8)数据类型的分类
Java数据类型分为基本数据类型(8种)和引用数据类型。基本类型包括byte, short, int, long, float, double, boolean, char。每种类型有固定占用空间大小,如int占用4字节。字符编码如ASCII和Unicode用于将文字转换为计算机可识别的二进制形式。
74 2
|
20天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
43 4
|
18天前
|
存储 消息中间件 NoSQL
使用Java操作Redis数据类型的详解指南
通过使用Jedis库,可以在Java中方便地操作Redis的各种数据类型。本文详细介绍了字符串、哈希、列表、集合和有序集合的基本操作及其对应的Java实现。这些示例展示了如何使用Java与Redis进行交互,为开发高效的Redis客户端应用程序提供了基础。希望本文的指南能帮助您更好地理解和使用Redis,提升应用程序的性能和可靠性。
31 1
|
2月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
80 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
2月前
|
算法 Java 测试技术
🌟Java 零基础 | 详解 单目运算符
【10月更文挑战第14天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
42 7
|
2月前
|
Java 测试技术 开发者
🌟Java 零基础 | 深入理解三目运算符
【10月更文挑战第13天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
24 3
|
2月前
|
存储 Java 关系型数据库
[Java]“不同族”基本数据类型间只能“强转”吗?
本文探讨了不同位二进制表示范围的计算方法,重点分析了Java中int和char类型之间的转换规则,以及float与int类型之间的转换特性。通过具体示例说明了显式和隐式转换的条件和限制。
37 0
[Java]“不同族”基本数据类型间只能“强转”吗?
|
2月前
|
Java 测试技术 开发者
🌟Java零基础-Lambda运算符详解 🌟
【10月更文挑战第12天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
23 1
|
3月前
|
存储 Java Windows
java基础(9)数据类型中的char类型以及涉及到的转义字符
Java中的char类型可以存储一个中文字符,因为它占用两个字节。转义字符允许在代码中使用特殊字符,例如`\n`表示换行,`\t`表示制表符,`\\`表示反斜杠,`\'`表示单引号,`\"`表示双引号。可以使用`\u`后跟Unicode编码来表示特定的字符。
60 2
java基础(9)数据类型中的char类型以及涉及到的转义字符