English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En el lenguaje Java, todas las variables deben declararse antes de su uso. El formato básico de declaración de variables es el siguiente:
type identifier [ = value][, identifier [= value] ...] ;
Formato de descripción: type es el tipo de datos de Java. identifier es el nombre de la variable. Se pueden declarar múltiples variables del mismo tipo separadas por comas.
A continuación, se presentan algunos ejemplos de declaración de variables. Tenga en cuenta que algunos incluyen el proceso de inicialización.
int a, b, c; // Declarar tres enteros int: a、 b、c int d = 3, e = 4, f = 5; // Declarar tres enteros e inicializarlos byte z = 22; // Declarar e inicializar z String s = "w3codebox"; // Declarar e inicializar la cadena s double pi = 3.14159; // Se declaró la variable de punto flotante de doble precisión pi char x = 'x'; // Declarar la variable x con el valor de carácter 'x'.
Los tipos de variable que admite el lenguaje Java son:
Variable de clase: variable independiente del método, modificada con static.
Ejemplo de variable: variable independiente del método, pero sin modificador static.
Variable local: variable dentro del método de la clase.
public class Variable{ static int allClicks=0; // Variable de clase String str="hello world"; // Variable de instancia public void method(){ int i =0; // Variable local } }
Las variables locales se declaran en métodos, constructores o bloques de instrucciones;
Las variables locales se crean cuando se ejecuta un método, constructor o bloque de instrucciones, y se destruyen cuando finalizan su ejecución;
Los modificadores de acceso no se pueden usar para las variables locales;
Las variables locales solo son visibles en el método, constructor o bloque de instrucciones en el que se declaran;
Las variables locales se asignan en la pila.
Las variables locales no tienen un valor predeterminado, por lo que después de que se declara una variable local, debe inicializarse antes de poder utilizarse.
En el siguiente ejemplo, age es una variable local. Definida en el método pupAge(), su ámbito se limita a este método.
package com.w3codebox.test; public class Test{ public void pupAge(){ int age = 0; age = age + 7; System.out.println("La edad del perro es: " + age); } public static void main(String[] args){ Test test = new Test(); test.pupAge(); } }
El resultado de la compilación y ejecución del ejemplo anterior es el siguiente:
La edad del perro es: 7
En el siguiente ejemplo, la variable age no ha sido inicializada, por lo que se producirá un error en la compilación:
package com.w3codebox.test; public class Test{ public void pupAge(){ int age; age = age + 7; System.out.println("El edad del perro es : " + age); } public static void main(String[] args){ Test test = new Test(); test.pupAge(); } }
El resultado de la compilación y ejecución del ejemplo anterior es el siguiente:
Test.java:4:variable number might not have been initialized age = age + 7; ^ 1 error
La variable de ejemplo se declara dentro de una clase, pero fuera de métodos, constructores y bloques de instrucciones;
Después de que un objeto se ejemplifica, el valor de cada variable de ejemplo se determina;
La variable de ejemplo se crea en el momento de la creación del objeto y se destruye cuando el objeto se destruye;
El valor de la variable de ejemplo debe ser referenciado por al menos un método, constructor o bloque de instrucciones, permitiendo que el exterior obtenga información sobre la variable de ejemplo de estas formas;
La variable de ejemplo puede declararse antes o después de su uso;
El modificador de acceso puede modificar la variable de ejemplo;
La variable de ejemplo es visible para los métodos, constructores o bloques de instrucciones de la clase. Generalmente, la variable de ejemplo debe establecerse como privada. Se puede hacer visible para las subclases utilizando modificador de acceso;
La variable de ejemplo tiene un valor predeterminado. El valor predeterminado de las variables numéricas es 0, el valor predeterminado de las variables booleanas es false, y el valor predeterminado de las variables de tipo referencia es null. El valor de la variable se puede especificar en el momento de la declaración o en el constructor;
La variable de ejemplo se puede acceder directamente mediante el nombre de la variable. Pero en métodos estáticos y otras clases, debe usar el nombre completamente cualificado: ObejectReference.VariableName.
import java.io.*; public class Employee{ // Esta variable de instancia es visible para las subclases public String name; // Variable privada, visible solo en esta clase private double salary; //Asignar valor a name en el constructor public Employee(String empName){ name = empName; } //Establecer el valor de salary public void setSalary(double empSal){ salary = empSal; } // Imprimir información public void printEmp(){ System.out.println("Nombre: " + name); System.out.println("Salario: " + salary); } public static void main(String[] args){ Employee empOne = new Employee("w3codebox"); empOne.setSalary(1000.0); empOne.printEmp(); } }
El resultado de la compilación y ejecución del ejemplo anterior es el siguiente:
$ javac Employee.java $ java Employee Nombre: w3codebox Salario: 1000.0
Las variables de clase también se conocen como variables estáticas, que se declaran con la palabra clave static en la clase, pero deben estar fuera del método.
Independientemente de cuántos objetos cree una clase, la clase solo tiene una copia de las variables de clase.
Las variables estáticas se utilizan raramente además de ser declaradas como constantes. Las constantes son variables declaradas como public/Las variables de tipo private, final y static. Los valores de las constantes no pueden cambiarse después de la inicialización.
Las variables estáticas se almacenan en la zona de almacenamiento estático. Se declaran a menudo como constantes y raramente se utilizan variables estáticas declaradas de manera individual.
Las variables estáticas se crean cuando se accede a ellas por primera vez y se destruyen al final del programa.
tienen una visibilidad similar a la de las variables de ejemplo. Pero para que los usuarios de la clase puedan verlas, la mayoría de las variables estáticas se declaran como tipo public.
El valor por defecto es similar al de las variables de ejemplo. El valor por defecto de las variables numéricas es 0, el valor por defecto de las variables booleanas es false, y el valor por defecto de los tipos de referencia es null. El valor de la variable se puede especificar en el momento de la declaración o en el método constructor. Además, las variables estáticas también se pueden inicializar en el bloque de instrucciones estáticas.
Las variables estáticas pueden ser accedidas a través de:ClassName.VariableNamemétodo de acceso.
Las variables de clase declaradas como tipo public static final deben tener nombres en mayúsculas. Si las variables estáticas no son de tipo public y final, su forma de nombramiento es idéntica a la de las variables de ejemplo y las variables locales.
Ejemplo:
import java.io.*; public class Employee { //salary es una variable privada estática private static double salary; // DEPARTMENT es una constante public static final String DEPARTMENT = "desarrolladores"; public static void main(String[] args){ salary = 10000; System.out.println(DEPARTMENT+"Salario promedio:"+salary); } }
El resultado de la compilación y ejecución del ejemplo anterior es el siguiente:
Salario promedio de los desarrolladores:10000.0
Nota:Si otras clases desean acceder a esta variable, pueden hacerlo de la siguiente manera:Employee.DEPARTMENT。
En esta sección aprendimos los tipos de variables de Java, en el próximo capítulo presentaremos el uso de modificador de Java.