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
相关文章
|
1月前
|
存储 Java Go
【Java】(3)8种基本数据类型的分析、数据类型转换规则、转义字符的列举
牢记类型转换规则在脑海中将编译和运行两个阶段分开,这是两个不同的阶段,不要弄混!
172 2
|
1月前
|
Java Go 开发工具
【Java】(4)五种运算符的说明(&&、||、>=、>、<=、<)、4种控制语句(if、for、while、dowhile)、输入和输出说明
扩展类的赋值运算符不改变运算结果类型,假设最初这个变量的的类型byte类型,无论怎么进行加或追减,最终该变量的数据类型还是byte类型。注:一个表达式中有多个运算符,运算符有优先级,不确定的加小括号,优先级得到提升。当布尔表达式的结果是false的时候,选择表达式2作为整个表达式的执行结果。当布尔表达式的结果是true的时候,选择表达式1作为整个表达式的执行结果。当用户输入的时候,并且最终敲回车键的时候,键入的信息会自动赋值给a。并且,连接运算之后的结果还是一个字符串类型。表达式1 : 表达式2。
112 1
|
1月前
|
Java Go 开发工具
【Java】(2)Java数据类型阐述、基本数据类型的占用和范围、二进制的讲述
数据的一种表示形式。十进制表示满十进一原则。二进制表示满二进一原则。例如:十进制例如:二进制计算机在任何情况下都只能识别二进制。
97 0
|
2月前
|
安全 Java
使用Java多态性进行数据类型转换
以上示范了如何通过多态性来执行安全有效地对于Java对象间相互之间进行正确方式与场合下正确格式与条件限定内对于各个层级关系内部成员及其功能调取与应有操作处理过程,并通过 `instanceof`关键字确保了程序运行期间遵循逻辑合理并符合预设规则条件限定内正常工作流程而无需担忧潜藏风险问题出现可能带来影响结果质量问题情况存在可能。
103 12
|
8月前
|
存储 Java
# 【Java全栈学习笔记-U1-day02】变量+数据类型+运算符
本篇笔记主要围绕Java全栈学习的第二天内容展开,涵盖了变量、数据类型、运算符以及Scanner类的应用。首先介绍了变量的概念与命名规范,以及如何定义和使用变量;接着详细讲解了Java中的基本数据类型,包括整型、浮点型、字符型、布尔型等,并通过实例演示了数据类型的运用。随后,深入探讨了各类运算符(赋值、算术、关系、逻辑)及其优先级,帮助理解表达式的构成。最后,介绍了如何利用Scanner类实现用户输入功能,并通过多个综合示例(如计算圆面积、购物打折、变量交换及银行利息计算)巩固所学知识。完成相关作业将进一步加深对这些基础概念的理解与实践能力。
141 13
|
3月前
|
存储 缓存 算法
Java数据类型与运算符深度解析
本文深入解析Java中容易混淆的基础知识,包括八大基本数据类型(如int、Integer)、自动装箱与拆箱机制,以及运算符(如&与&&)的使用区别。通过代码示例剖析内存布局、取值范围及常见陷阱,帮助开发者写出更高效、健壮的代码,并附有面试高频问题解析,夯实基础。
|
4月前
|
存储 人工智能 JavaScript
Java中的数据类型转换
本文介绍了 Java 中常见的数据类型转换方法,涵盖字符串与整型、长整型、浮点型、布尔型及日期类型的相互转换,并讲解了可能出现的异常和处理方式。
214 0
|
5月前
|
人工智能 Java
Java运算符中的隐式转换
本文介绍了 Java 运算符中的隐式类型转换规则,涵盖算数、逻辑、位、关系、赋值及其他运算符。重点分析了算数和位运算符在处理小于 int 位长的数据时会自动转换为 int 类型的特性,并通过代码示例说明可能引发的类型不匹配错误。逻辑、关系、赋值及其他运算符则不涉及类型转换。总结指出,部分运算符在计算时会将小位长数据隐式转为 int 类型,结果也为 int。
|
5月前
|
人工智能 Rust Java
Java中的算数、关系、逻辑、条件、赋值 五大运算符详解
本文介绍了Java中的运算符及其优先级,包括算数运算符(如+、-、*、/、%、++、--)、关系运算符(如&lt;、&gt;、==、!=)、逻辑运算符(如&&、||、!)、条件运算符(三目运算符)和赋值运算符(如=、+=、-=等)。详细解释了每种运算符的功能与用法,例如自增自减运算符的特点、逻辑运算符的短路法运算以及位运算符的操作规则。最后还提供了运算符优先级表格,帮助开发者理解复杂表达式的计算顺序。文中提醒,在实际开发中,建议使用括号明确运算顺序以提高代码可读性。
257 0
|
8月前
|
Java
课时14:Java数据类型划分(初见String类)
课时14介绍Java数据类型,重点初见String类。通过三个范例讲解:观察String型变量、&quot;+&quot;操作符的使用问题及转义字符的应用。String不是基本数据类型而是引用类型,但使用方式类似基本类型。课程涵盖字符串连接、数学运算与字符串混合使用时的注意事项以及常用转义字符的用法。
224 9