当前位置:网站首页 > Java基础 > 正文

java语言基础运算



一、数据类型

定义:

就是用了保存数据的一个类型,一种数据类型,只能保存该类型数据值

作用:

  1. 只有了解数据类型,才能选择合适的类型存放数据,才能更好的利用计算机硬件资源(内存和硬盘等)。
  2. 不同的数据类型存放数据大小是不同的。
  3. 数据类型的使用方式就是用来声明一个变量,装数据的。

01

常用的整数类型是 int 和 long,byte 和 short 基本不用,常用的小数类型是 double,float 基本不用 ,因为 double 是不精确的,在实际开发中表示精确的小数我们使用 BigDecimal 类。

02

计算机存储数据:存储在硬盘【磁盘】,硬盘中的方式都是用的二进制数据的方式进行存储 000

计算机底层本质存储的数据形式就是二进制数据:例如 00101

1.1、基本数据类型

1.1.1、整型:

整数类型包含:byte、short、int、long

整数的默认类型为:int

03

为什么需要整数有四种类型?

因为不同的数据类型,占用的内存空间不一样,能够存储的值范围也就不一样

注意事项:

  1. byte的范围大小 [-128,127]
  2. long赋值时,因为整数默认是int类型,要转换为long类型的值,后面加上lL【建议写大写L】
  3. 如果超过了long的范围,用BigInteger的类来存放其值【后面学习】
  4. 同一个整数可以使用不同的进制表示

1.1.2、浮点型:

浮点数类型包括:float、double

浮点数默认类型为:double

浮点数可以理解位表示的小数;

04

注意事项:

  1. 直接赋值给float类型,需要加上Ff,因为默认类型都为double。
  2. 精度损失,如double d = 1.0 表示的是无限接近于1.0的一个小数,而不是真正的1.0。如果需要精确的表示一个小数,可以使用后面学到的BigDecimal。
  3. 单精度双精度区别:

    3.1对于单精度浮点数,运行速度相比double更快,占内存更小,

    3.2但是当数值非常大或者非常小的时候会变得不精确。

    3.3双精度比单精度表示的位数大 精确的位数多,简单地说, float表示的小数点位数少。

    3.4最近几天建议用double类型,而实际开发用BigDecimal类型表示小数。

1.1.3、字符类型:

05

单引号引起来的一个符号就是字符数据。例如:'a'

使用方式

  1. 'a'、’1’、’好’等最常用。
  2. 使用一个数字表示字符,参考下图中ASCII码表[字符编码]。关于ASCII码表请百度了解。
 
  1. 特殊字符使用

    表示回车符;

    表示换行符;

    表示相当于Table键制表符,;

    b表示退格键,相当于Back Space键;

    ’表示单引号;

    ” 表示双引号;

    表示一个斜杠。

注意:因为系统差异性,在不同的系统中 ,有时候 起作用,有时候 起作用。所以,一般建议: 连用,这样可以在任意系统中都可以换行。

06

1.1.4、布尔类型

07

只有两个值:true、false,不能使用:0和1表示。

位数占1位

1.2、引用数据类型

除了基本类型以外,几乎所有的其他类型都是引用类型。

如:java自带的类、我们自定义的类、接口、枚举、数组等都属于引用数据类型。

  1. 类 class2
  2. 接口 interface
  3. 枚举 enum
  4. 抽象类 abstract class
  5. 数组 数据类型[]

String 类是java中一种自带的引用数据类型,表示字符串数据。

 

二、基础语法和变量

2.1、基础语法

命名规范:

  1. 一般不建议使用$下划线_作为起始符号
  2. 见名知意:一般来说都是取一些有意义的单词。例如,age表示年龄
  3. 类名首字母必须大驼峰。大驼峰:首字母大写,后面每个单词首字母大写。

    例如:用户管理类 : UserManagement 大驼峰

  4. 方法名、变量名小驼峰。小驼峰:首字母小写,后面每个单词首字母大写

    用户名(成员)变量 : userName 小驼峰

    获取用户名方法 : getUserName() 小驼峰

  5. 不要以java中关键字、保留字、jdk中存在的类 命名

注释:

 

2.2、变量

概念:

​ 就是一个盒子(容器),用来装数据的。同一时间只能装一个数据。

变量是内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型),Java中每个变量必须先声明,后使用, 该区域的数据可以在同一类型范围内不断变化

08

(变量可以理解为装某种类型数据的容器,容器可以重复使用)

声明变量:

 

变量赋值:

 

eg:

 

注意事项:

  1. 此处的数据类型可以是Java中支持的所有的数据类型!
  2. 数据类型限定了变量可以存值的类型
  3. 赋值使用的 = 号,从右往左赋值
  4. 规范写法:= 两边都加上一个空格
  5. 变量一旦定义好了,可以反复使用
  6. 变量只可以存一个值,下次存值会覆盖上一次的值

三、数据类型的转换

定义:

​ 将数据从一种格式或结构转换为另一种格式或结构的过程

作用

  1. 节约内存空间 byte short int long
  2. 将一些类型转换为项目所需要的类型

3.1、自动隐式转换

定义:

​ 将小的数据类型转换大的数据类型

09

注意事项

  1. 在Java中,boolean类型与所有其他7种类型都不能进行转换。
  2. 其他 7种数据类型,它们之间都可以进行转换,但是可能会存在精度损失或者其他一些变化。
    byte -> short -> int -> long-> float-> double

    char -> int -> long-> float-> double

    byte与char 不能自动转换

    char与short不能自动转换

    由于小数(浮点数) 的存储方式,结构和整数不一样,所以,float哪怕是4个字节、

    long是8个字节,表示范围也大于long类型。知道就好无须深入研究。

    eg:

 

3.2、强制转换

定义:

​ 将大数据类型转为小数据类型

语法:

小数据类型 变量名 = (小数据类型)大类型值/大类型变量名

注意事项

  1. 高转低会导致精度丢失,有数据的溢出风险。溢出的时候,会以二进制进位。
  2. 实际开发中:应该要知道被强制转换的数据,是在一个已知的范围。
  3. int类型的具体的值,向byte、short、char类型转换的时候,值只要在其表示范围内,都会隐式转换。
  4. 编译只看类型不看值

eg:

 
 

4.3、表达式示例

四java语言基础运算、运算符

4.1、算术运算符

算数运算(Arithmetic Operation)

+ :加号。只有String字符串参与的加法运算,才有拼接功能,在String之前,表示加法 运算,之后,才表示连接

-:减号。

*:乘号。

/:除号。不能除0

%:模(也叫取余)相当于求余数。例如:10 % 3 ,表示求10除3的余数,结果是1

作用:1. 求余数 2. 找一个数的倍数 3. 可以拆分一个多位的数字

eg:

 

4.2、自增自减运算符

++(加加)、--(减减)

注意事项:

  1. 自增自减只能够用于变量,不能用于常量
  2. 自增自减运算的优先级比其他算术运算符
  3. 一般用在循环语句中

使用要点:

  1. 把整个表达式看成是一个整体
  2. ++i 表示运算完再赋值,i++ 表示先赋值再运算

eg:

 

4.3、复合赋值运算符

赋值运算(Assignment Operation):是优先级最低的一种运算,等 = 后边的所有运算完毕后,才执行赋值运算。

+=(加等)、-=(减等)、=(乘等)、/=(除等)、=*(等于)

语法:

 

注意事项

  1. 从右到左,把符号右边的值赋值到左边的变量中
  2. 上面符号看成是一个整体: 例如 += 看成是一个符号,不要看成两个。
  3. 赋值运算有强制转换功能,可以避免类型提升.会有溢出风险
 

4.4、比较运算符

比较运算 (Compare Operation) :结果一定是 boolean 类型

<(小于)、>(大于)、<=(小于等于)、>=(大于等于)

  • ==(等等于),比较基本类型,比较的是值是否相等 ;比较引用类型,比较的是值并且地址是否相等
  • !=(不等于),比较基本类型,比较的是值是否不相等 ;比较引用类型,比较的是值并且地址是否不相等

4.5、三目运算符

语法:
x ? y : z
描述:
x 一般为一个关系表达式。
如果 x 的值为 true,那么就取 y 的值否则就取 z 的值。
eg:


                            

  • 上一篇: java 基础 --
  • 下一篇: 高 java基础
  • 版权声明


    相关文章:

  • java 基础 --2025-04-02 10:58:04
  • java基础课时2025-04-02 10:58:04
  • java基础语法变量2025-04-02 10:58:04
  • java基础开发教程2025-04-02 10:58:04
  • java基础进阶源码2025-04-02 10:58:04
  • 高 java基础2025-04-02 10:58:04
  • java基础教学书2025-04-02 10:58:04
  • java基础 论文2025-04-02 10:58:04
  • 腾讯课堂java基础2025-04-02 10:58:04
  • Java为基础2025-04-02 10:58:04