您的位置:首页 > 房产 > 建筑 > 网站建设app小程序_网页被禁止访问_大型门户网站建设_网站推广软件免费

网站建设app小程序_网页被禁止访问_大型门户网站建设_网站推广软件免费

2025/1/1 20:07:46 来源:https://blog.csdn.net/ZSZ1805355272/article/details/144496709  浏览:    关键词:网站建设app小程序_网页被禁止访问_大型门户网站建设_网站推广软件免费
网站建设app小程序_网页被禁止访问_大型门户网站建设_网站推广软件免费
数据类型关键字内存占用取值范围说明默认值
字节型byte1 个字节(8 位)简洁形式:-27~ 27-1
完整表述:-128 ~ 127
小范围整数0
短整型short2 个字节(16 位)简洁形式:-215 ~ 215-1
完整表述:-32,768 ~ 32,767
中等范围整数0
整型int(默认)4 个字节(32 位)简洁形式:-231 ~ 231-1
完整表述:-2,147,483,648 ~ 2,147,483,647
默认整数类型
常用于计数器等场景
0
长整型long8 个字节(64 位)简洁形式:-263 ~ 263-1
完整表述:-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
大范围整数
如时间戳和大数运算
0L
单精度浮点数float4 个字节(32 位)科学计数法:± 1.4 × 10-45 ~ ± 3.4 × 1038单精度小数
6~7 位有效小数
0.0f
双精度浮点数double(默认)8 个字节(64 位)科学计数法:± 4.9 × 10-324 ~ ± 1.8 × 10308默认浮点类型
15~16 位有效小数
0.0d
字符型char2 个字节(16 位)简洁形式:0 ~ 216-1
完整表述
  最小值:\u0000 (十进制为 0)
  最大值:\uffff (十进制为 65,535)
单字符或 Unicode 编码'\u0000'
布尔类型boolean1 位(JVM 实现相关)truefalse逻辑判断,用于条件语句false

1.变量概述

变量是程序中用于存储数据的基本元素。在程序运行过程中,变量的值会根据操作和逻辑的不同而发生变化。每个变量都必须指定一个数据类型,用于限定它能够存储的数据形式和范围。

2.变量的数据类型

Java 提供了两类数据类型:基本数据类型引用数据类型

2.1 基本数据类型

Java 有 8 种基本数据类型,分为以下几类:

  • 整型

    • byte(1 字节,-128 ~ 127)
    • short(2 字节,-32,768 ~ 32,767)
    • int(4 字节,-2,147,483,648 ~ 2,147,483,647)
    • long(8 字节,-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807)
  • 浮点型

    • float(4 字节,单精度浮点数,6-7 位有效数字)
    • double(8 字节,双精度浮点数,15-16 位有效数字)
  • 字符型

    • char(2 字节,0 ~ 65,535,用于表示单个字符或 Unicode 编码)
  • 布尔型

    • boolean(1 位,truefalse

2.2 引用数据类型

引用数据类型包括:

  • (Class)
  • 数组(Array)
  • 接口(Interface)
  • 枚举(Enum)
  • 注解(Annotation)

引用数据类型存储的是对象的引用地址,而不是对象本身的数据。

3.变量的作用

变量用于存储数据,提供了一个保存信息并在程序执行期间进行操作的机制。通过变量,程序可以灵活地接收不同的值并执行计算。

4.变量的定义与赋值

  • 单独定义变量并赋值

    数据类型 变量名 =;
    
  • 先定义后赋值

    数据类型 变量名;
    变量名 =;
    
  • 连续定义多个变量并赋值

    数据类型 变量名1 =1, 变量名2 =2, 变量名3 =3;
    

    或者:

    数据类型 变量名1, 变量名2, 变量名3;
    变量名1 =1;
    变量名2 =2;
    变量名3 =3;
    

    示例:

    int i = 10,j = 20,k = 30;
    

5.变量的初始化与使用

初始化:变量在使用之前必须先被赋值,否则会导致编译错误。
使用规则:变量定义后,需根据需求对其进行赋值和修改。赋值时,右边的值将存储到左边的变量中。

6. 字符串类型

String 是一种引用数据类型,用于存储字符串数据。尽管它的使用方式与基本数据类型类似,但 String 实际上是一个类,而且它具有一些独特的特性:

  • 不可变性String 对象是不可变的(immutable)。一旦创建了 String 对象,它的内容就不能再被改变。如果对字符串进行任何修改(如拼接、替换等),会生成一个新的 String 对象,而不会修改原来的对象。

  • 常量池String 字符串常量池(String Pool)是 JVM 中的一项优化技术。在使用字面量创建字符串时,JVM 会首先检查常量池中是否已经存在相同的字符串。如果存在,直接引用该常量,而不是创建新的对象。这可以提高内存使用效率,并且加速字符串比较操作。

  • 赋值方式String 可以像基本数据类型一样直接赋值,无需显式地创建对象。例如:

    String str = "Hello, World!";
    

由于其不可变特性,String 类型在多线程环境中是安全的,因此它适用于一些需要线程安全的场景。

注意:因为 String 是不可变的,如果在大量字符串拼接的场景下频繁创建新的 String 对象,可能会导致性能问题。在这种情况下,建议使用 StringBuilderStringBuffer 类来代替。

7. 浮点数的精度问题

  • float

    • float 类型使用 32 位存储浮点数,符合 IEEE 754 单精度浮点数标准。它能够表示的数值范围大约是:
      ± 1.4 × 10^-45± 3.4 × 10^38,并且通常能表示最多 7 位有效数字
      由于精度有限,不适合用于需要高精度的计算。
  • double

    • double 类型使用 64 位存储浮点数,符合 IEEE 754 双精度浮点数标准。它能够表示的数值范围大约是:
      ± 4.9 × 10^-324± 1.8 × 10^308,并且通常能表示最多 15-16 位有效数字
      在大多数情况下,double 是默认的浮点数类型。

注意:在实际开发中,避免将 floatdouble 用于财务计算等高精度要求的场景。可以考虑使用 BigDecimal 类型来避免精度损失。

8. 变量作用域

变量的作用域决定了该变量在哪些区域内是有效的。作用域分为 局部作用域全局作用域。Java 中的作用域主要有以下两种:

  • 局部变量:在方法内部定义的变量,只能在当前方法或块内访问。
  • 全局变量(成员变量):在类中定义的变量,可以在类的任何方法中访问。

示例:作用域的使用

public class ScopeExample {// 类变量 (全局变量),属于整个类,类的任何方法都可以访问它int globalVar = 5;  // 类变量,所有方法中都可访问public void methodOne() {// 局部变量,在 methodOne() 方法内部定义,只能在该方法内使用int localVar = 10;  // 局部变量System.out.println("methodOne - localVar: " + localVar);  // 输出局部变量值,输出 10System.out.println("methodOne - globalVar: " + globalVar);  // 输出类变量值,输出 5}public void methodTwo() {// 另一个方法内部的局部变量int localVar = 20;  // 在 methodTwo 中定义的局部变量,作用域仅限于 methodTwoSystem.out.println("methodTwo - localVar: " + localVar);  // 输出局部变量值,输出 20System.out.println("methodTwo - globalVar: " + globalVar);  // 输出类变量值,输出 5}public void demonstrateScope() {// 在该方法内我们尝试访问前面方法中的局部变量 localVar// System.out.println(localVar);  // 编译错误:localVar 只在 methodOne 或 methodTwo 中有效,无法访问}public static void main(String[] args) {// 创建对象来调用类的实例方法ScopeExample example = new ScopeExample();// 调用 methodOne(),该方法输出局部变量 localVar 和全局变量 globalVarexample.methodOne();// 调用 methodTwo(),该方法输出另一个局部变量 localVar 和同一个全局变量 globalVarexample.methodTwo();// 调用 demonstrateScope(),尝试访问方法外的局部变量(会导致错误)example.demonstrateScope();  // 编译错误:无法访问局部变量 localVar}
}

9. 变量命名规则与规范

在 Java 中,合理的变量命名有助于提高代码的可读性和维护性。以下是一些常见的命名规则和规范:

  • 变量名的基本规则

    • 变量名必须以字母(a-z, A-Z)、下划线 _ 或美元符号 $ 开头。
    • 变量名可以包含字母、数字、下划线和美元符号,但不能包含空格。
    • 变量名不能使用 Java 关键字(如 intclass 等)。
  • 命名规范

    • 驼峰命名法(camelCase):通常使用小写字母开始,后续单词的首字母大写,例如:studentAgetotalAmount
    • 类名:类名通常使用 帕斯卡命名法(PascalCase),即每个单词的首字母大写,例如:StudentInfoUserProfile
    • 常量:常量名通常使用全大写字母,并用下划线分隔单词,例如:MAX_SIZEPI_VALUE
  • 命名的可读性和简洁性

    • 变量名应具有描述性,能够清晰表达其含义。避免使用无意义的命名,如 xtemp,而应使用具体的变量名,如 studentAgetotalAmount
    • 尽量避免使用类似于数字或字母容易混淆的字符,如 l1O0

示例

  • 变量名:studentAge(表示学生年龄)、totalAmount(表示总金额)。
  • 常量名:MAX_SIZE(表示最大大小)、PI_VALUE(表示圆周率值)。
  • 类名:PersonInfo(表示个人信息类)、OrderProcessor(表示订单处理类)。

遵循这些命名规则和规范可以使代码更易于理解和维护。

10.变量使用的注意事项

  • 未初始化的变量不能使用:变量在使用之前必须进行初始化,否则会出现编译错误。
  • 同一作用域内不能重复定义相同的变量:在同一作用域内,不能定义具有相同名字的变量。
  • 作用域访问:小作用域内的变量可以直接访问大作用域中的变量,但大作用域内的变量不能直接访问小作用域中的变量。

示例:

public class Example {public static void main(String[] args) {int i = 10;System.out.println(i);  // 输出 10int j;j = 20;System.out.println(j);  // 输出 20{int x = 1000;System.out.println(i);  // 输出 10}// System.out.println(x);  // 编译错误,x 只在局部作用域内有效}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com