Java 变量和数据类型

Java中的变量是什么?

Java变量是在Java程序执行期间存储数据值的容器。每个变量都被指定了数据类型,该数据类型指明了它可以存储的值的类型和数量。变量是数据的内存位置名称。Java变量主要有三种类型:局部变量、实例变量和静态变量。

要在程序中使用变量,您需要执行 2 个步骤

  1. 变量声明
  2. 变量初始化

如何在Java中声明变量?

要声明一个变量,您必须指定数据类型并为变量指定一个唯一的名称。

Variable Declaration

其他有效声明的示例

int a,b,c;

float pi;

double d;

char a;

如何在Java中初始化变量?

要初始化一个变量,您必须为其分配一个有效值。

Variable Initialization

其他有效初始化的示例

pi =3.14f;

do =20.22d;

a=’v’;

您可以组合变量声明和初始化。

combine variable declaration and initialization

例子

int a=2,b=4,c=6;

float pi=3.14f;

double do=20.22d;

char a=’v’;

Java变量的类型

在Java中,有三种类型的变量

  1. 局部变量
  2. 实例变量
  3. 静态变量

1) 局部变量

局部变量是在方法体内声明的变量。

2) 实例变量

实例变量是在没有 static 关键字的情况下定义的。它们在任何方法、构造函数或代码块之外声明。这些变量特定于类的每个实例,被称为实例变量。

3) 静态变量

静态变量仅在类加载时初始化一次,在程序开始执行之前。这些变量由类的所有实例共享,并在任何实例变量之前初始化。

Java变量类型及示例

class Guru99 {
    static int a = 1; //static variable  
    int data = 99; //instance variable  
    void method() {
        int b = 90; //local variable  
    }
}

Java中的数据类型是什么?

Java中的数据类型被定义为指定符,它们分配变量或标识符可以存储的值的大小和类型。Java具有丰富的数据类型。Java中的数据类型可以分为两部分

  1. 原始数据类型:包括整数、字符、布尔和浮点数
  2. 非原始数据类型:包括类、数组和接口。

Java Data Types

原始数据类型

原始数据类型是预定义的,在Java语言中可用。原始值不与其他原始值共享状态。

有8种原始类型:byte、short、int、long、char、float、double 和 boolean

整数数据类型

byte (1 byte)
short (2 bytes)
int (4 bytes)
long (8 bytes)

Integer data types

浮点数据类型

float (4 bytes)

double (8 bytes)

文本数据类型

char (2 bytes)

逻辑

boolean (1 byte) (true/false)
数据类型 默认值 默认大小
byte 0 1 字节
0 2 字节
int 0 4 字节
long 0L 8 字节
float 0.0f 4 字节
double 0.0d 8 字节
boolean false 1 位
char ‘\u0000’ 2 字节

要点

  • 所有数字数据类型都是有符号的(+/-)。
  • 数据类型的大小在所有平台上保持不变(标准化)
  • Java中的char数据类型是2字节,因为它使用了UNICODE字符集。因此,Java支持国际化。UNICODE是一个字符集,涵盖了世界上所有已知的脚本和语言。

Java变量类型转换和类型转换

一种类型的一个变量可以接收另一种类型的值。这里有 2 种情况:

情况 1) 容量较小的变量被赋给容量较大的另一个变量。

Java Variables and Data Types

这个过程是自动的,并且是非显式的,称为转换

情况 2) 容量较大的变量被赋给容量较小的另一个变量。


Java Variables and Data Types

在这种情况下,您必须显式指定类型转换运算符。这个过程称为类型转换。

如果未指定类型转换运算符;编译器会给出错误。由于此规则由编译器强制执行,因此它会提醒程序员注意,他将要进行的转换可能会导致数据丢失,并防止意外丢失。

示例:理解类型转换

步骤 1) 将以下代码复制到编辑器中。

class Demo {
 public static void main(String args[]) {
  byte x;
  int a = 270;
  double b = 128.128;
  System.out.println("int converted to byte");
  x = (byte) a;
  System.out.println("a and x " + a + " " + x);
  System.out.println("double converted to int");
  a = (int) b;
  System.out.println("b and a " + b + " " + a);
  System.out.println("\ndouble converted to byte");
  x = (byte)b;
  System.out.println("b and x " + b + " " + x);
 }
}

步骤 2) 保存、编译和运行代码。

预期输出

int converted to byte
a and x 270 14
double converted to int
b and a 128.128 128

double converted to byte
b and x 128.128 -128