JAVA基础一之数据类型与运算符

本文深入解析Java中的数据类型,涵盖基本数据类型与引用数据类型的详细分类、特点及内存存储方式,探讨了数据类型转换、赋值及比较运算规则,并介绍了字符串、数组、包装器类型等高级概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据类型

  • 基本数据类型

    • 8种
    • 隐式转换和显式转换
  • 引用数据类型

    • 定义
      • 除基本数据类型外的其他类型
        • class声明
      • 广泛使用
    • 包装器类型
      • 自动拆装箱
      • 池操作
    • 字符串
      • 常用API
        • replace
        • substring
      • 不可变性
      • final
      • 字符串常量池
    • 数组
      • 类型说明
        • 本身为引用类型
        • 与存储的类型无关
      • 特点
        • 定长
        • 下标定位
        • 存储数据
      • 一维数组
        • 声明及使用
        • 遍历
      • 多维数组
      • Arrays工具类
        • sort
        • shuffle
    • null、枚举、注解
  • 赋值与比较

    • 基本数据类型
      • ==
    • 引用数据类型
      • equals
  • 数据类型概述

    • 划分数据类型的意义

      1. 不同变量有不同用途
        1. 根据数据类型,计算机可以把数据“合理”存放到内存
      2. 根据数据类型,计算机从内存中读取数据并确认取到的数据特征以及正确的处理
    • Java数据类型树

      • Java是强类型语言,任何常量或变量在Java中必须有确定的数据类型–脑海中浮现这棵树

        • 基本类型
        • 引用类型:类、接口、枚举、注解、数组、字符串、包装器类型
      • 堆、栈、常量池、方法区

        • 数据存放在内存中,Java内存大致分为

          堆:heap,运行时数据区,运行时动态分配内存、自动回收垃圾、存取速度慢
          栈:stack,数据共享,数据大小和生命周期必须确定,不够灵活。存取速度快
          方法区:method area,存储类型信息。
          常量池:constant pool,存储某类型的常量信息。
          
        • 基本数据类型与引用数据类型在内存中的存储位置

          • 函数方法中定义的基本数据类型变量存储在栈中
          • 引用数据类型的引用存放在栈中,而引用类型的实例存放在堆中
  • 基本数据类型

    • 基本数据类型分类
      • 分 数值型、字符型、布尔型 含8个类型
      • byte、short、char、int、long、float、double、boolean
    • 每种具体类型的长度及特点
      • 1 8 、2 16 、2 16、4 32、8 64、4 32、8 64 、1 8
    • 每种具体类型的默认值
      • 0 、 0 、 \u0000、 0 、 0 、 0.0 、 0.0 、false
    • 基本数据类型的显式和隐式转换
      1. 不同基本数据类型间可进行转换 除开boolean
      2. 小转大 直接转换 --即隐形转换
      3. 大转小 需强制转换–即显式转换
      4. boolean类型和数值类型间不可以转换(包括强转)
    • 基本数据类型的赋值及比较运算规则
      1. = 可以直接使用数值为数值型类型赋值,但注意不能超出数据类型的表示范围。
      2. 赋值时注意不要超过表示范围,否则会出现编译错误
      3. char类型使用’'引用单个字符赋值;也可使用非负整数赋值
      4. 小数默认为double类型
      5. 使用f/F显式表示float类型;d/D同理
      6. boolean只有true和false
  • 引用类型概述

    • 引用类型和基本数据类型的差异
      • 存放位置:基本数据类型在栈内存中,引用类型的引用存栈内存,内容存堆内存
      • 赋值:= new --但是包装器实例可以直接赋给基本数据类型,自动拆箱
    • 引用类型的赋值及比较运算
      • 除String、包装器类外,都需要使用new关键字----自动装箱以及常量池
      • 引用类型使用== !=进行比较,比较引用类型地址
      • 引用类型不能使用> 、>=、<= 、<进行比较
    • null、枚举类型、注解类型
      • 声明一个引用类型,却没有为其赋值,则此时变量为null
  • 包装器类型

    • 包装器类型的概念及作用
    • 8种包装器类
    • 自动装箱拆箱
      • 自动装箱拆箱中的池操作
  • 字符串类型

  • 数组

    • 数组的概念及作用

      • 数组:一组相同类型的数据的集合
      • 数组类型必须相同
      • 作为数据的容器
      • 数组中的数据都有一个索引值
    • Java中的数组特性

      • 数组是引用类型
      • 数组、类、接口、枚举、注解并列
      • Java的数组长度一经确定不能改变
        • 解释:即如果一个数组长度如果指定为10,那么最多存10个数据
      • 数组在内存中是连续分配,存取速度快
      • 数组元素、维数、基本类型或字符串一维数组的声明与初始化
      • 数组长度遍历排序、
      • 基本类型或字符串多维数组的使用

      ​运算符

  • 算术运算符

    • ±*/%
    • ++/–
  • +作字符串连接操作

  • 比较运算符

    • ==、!=、>、<、>=、<=
  • 位运算符

    • &、|、^、~、<<、>>、>>>
  • 逻辑运算符

    • &、|、&&、||、!、^
    • 短路
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值