博客
关于我
Java中数据类型和运算符
阅读量:365 次
发布时间:2019-03-05

本文共 2017 字,大约阅读时间需要 6 分钟。

Java数据类型与运算符

在Java编程中,数据类型是程序中最基本的概念之一。Java的数据类型分为两大类:基本数据类型引用类型。基本数据类型包括数字、字符、布尔等,而引用类型则包括类、数组、枚举、接口等。

引用类型

引用类型的特点是可以用来存储对象、类、数组等。常见的引用类型包括:

  • 数组:用于存储多个相同类型的数据
  • :用来定义对象及其属性和方法
  • 枚举:用于定义常量值
  • 接口:定义类之间的契约
  • String:Java中的字符串类型

字符串操作

在Java中,String是一个特殊的引用类型。字符串在编译时会被存储在常量池中。例如:

String str = "hello";// "hello" 会被存储在常量池中String concat = "hello" + " world"; // 结果是一个新的字符串

需要注意的是,任何数据类型的字符串拼接都会返回一个字符串。

基本数据类型

基本数据类型又称为简单数据类型,包括以下几种:

整形类型

  • int:4字节,范围为-2^31 ~ 2^31 - 1。例如:
    int age = 18; // 可以存储整数int maxInt = Integer.MAX_VALUE; // 2^31 - 1
  • long:8字节,范围为-2^63 ~ 2^63 - 1。注意大小写,long类型必须写上L结尾。

双精度浮点型

  • double:8字节,用于存储高精度的小数值。例如:
    double pi = 3.141592653589793; // 高精度小数

    Java中,除法运算默认会返回double类型。

单精度浮点型

  • float:4字节,用于存储较低精度的小数值。例如:
    float f = 12.5f; // 必须加上`f`结尾,否则默认为`double`

字符类型

  • char:2字节,用于存储字符。Java使用Unicode字符集,因此可以表示超过ASCII范围的字符。例如:
    char c = 'A'; // 表示字符'A'

    需要注意的是,char类型不能表示负数,只能表示正数。

字节类型

  • byte:1字节,用于存储8位的无符号数。范围为-128 ~ 127

短整型类型

  • short:2字节,用于存储16位的无符号数。范围为-32768 ~ 32767

布尔类型

  • boolean:没有明确的大小,实际存储为1字节。默认值为false,可以通过赋值为truefalse来改变状态。

数据类型的特性

为什么正数的最大值+1就变成了最小值?

这个问题可以通过二进制来理解。例如,对于8位的byte类型,最大值是127(二进制01111111),最小值是-128(二进制10000000)。两者之和为255,即127 + 128 = 255。这是因为二进制数在溢出时,最高位的符号位会影响整个数值的范围。

final关键字

final是一个关键字,用于定义常量。final常量具有以下特点:

  • 在编译时,final常量的值就被确定下来。
  • 一旦定义,常量的值不能被修改。
  • 例如:

    final int MAX_VALUE = 1000; // 定义时就确定值为1000// MAX_VALUE不能再被修改或赋值

    类型转换与整型提升

    类型转换

    当将大类型赋值给小类型时,必须进行强制类型转换,否则会产生编译错误。例如:

    int a = 10;double b = a; // 需要强制转换为doubleb = (double)a; // 或者直接写a

    整型提升

    当两个不同类型的数进行运算时,Java会自动将较小的整型类型提升为较大的类型。例如:

    byte a = 10;byte b = 20;byte c = (byte)(a + b); // a和b会被提升为int类型

    在底层,CPU为了加速数据存取,会将操作分成4字节的单元进行处理。对于不足4字节的数据,会进行整型提升。

    运算符

    位运算符

    位运算符是Java中非常高效的运算符。常见的位运算符包括:

    • 按位与 &:两个位都为1时结果为1,否则为0。
    • 按位或 |:只要有一个位为1,结果为1。
    • 异或 ^:两个位不同时为1时结果为1。
    • 取反 ~:将0转换为1,将1转换为0。

    移位运算符

    移位运算符用于改变数值的位移位置。常见的移位运算符包括:

    • 左移 <<:左移n位,右边补0。
    • 右移 >>:右移n位,左边补符号位。
    • 无符号右移 >>>:右移n位,左边补0。

    移位运算在底层实现非常高效,是CPU的基本操作之一。

    条件运算符

    条件运算符是Java中的三元运算符,语法格式为:

    条件 ? 结果1 : 结果2

    例如:

    int result = a > b ? 1 : 0;

    总结

    Java的数据类型和运算符是编程中基础且重要的知识点。理解这些概念是掌握Java编程的关键。通过不断练习和总结,你会逐渐熟悉这些概念,并在实际编程中灵活运用。

    转载地址:http://ozqg.baihongyu.com/

    你可能感兴趣的文章
    将 github 中他人的 仓库 导入 码云中,从而 加快下载速度的 方式
    查看>>
    Java 类加载的过程 加载、验证、准备、解析、初始化
    查看>>
    JavaWeb---实现JavaBean来接收参数、请求转发、域对象
    查看>>
    瀚高数据库中 java代码类型与bit对应(APP)
    查看>>
    选择性估算器绕过行安全策略漏洞
    查看>>
    admin 修改数据报错
    查看>>
    PostgreSQL中的触发器
    查看>>
    对PostgreSQL数据库结构的宏观理解
    查看>>
    PostgreSQL事务可以包含DML、DDL、DCL
    查看>>
    Postgresql 日期和时间类型
    查看>>
    postgresql WAL相关参数
    查看>>
    xmin、xmax、cmin、cmax
    查看>>
    《卸甲笔记》-PostgreSQL和Oracle的数据类型的对比系列五:其它类型
    查看>>
    Postgresql系统表pg_attribute
    查看>>
    hstore键值存储
    查看>>
    比较操作符(一)
    查看>>
    查询某表格上次进行vacuum的时间
    查看>>
    Failed to execute vcredist_x64.exe
    查看>>
    invalid byte sequence for encoding
    查看>>
    Centos7.0系统上使用yum安装相关包时出现KeyboardInterrupt错误
    查看>>