Latest web development tutorials

Java типы переменных

На языке Java, все переменные должны быть объявлены перед использованием. Основной формат объявления переменной следующим образом:

type identifier [ = value][, identifier [= value] ...] ;

Формат Описание: тип типов данных Java. идентификатор является именем переменной. Вы можете использовать запятые, чтобы объявить несколько переменных одного и того же типа.

Вот некоторые примеры объявления переменных. Обратите внимание, что некоторые содержат процесс инициализации.

int a, b, c;         // 声明三个int型整数:a、 b、c
int d = 3, e, f = 5; // 声明三个整数并赋予初值
byte z = 22;         // 声明并初始化 z
String s = "w3big";  // 声明并初始化字符串 s
double pi = 3.14159; // 声明了双精度浮点型变量 pi
char x = 'x';        // 声明变量 x 的值是字符 'x'。

Язык Java поддерживает типы переменных:

  • Локальные переменные
  • переменная член
  • переменные класса

Java локальные переменные

  • Локальные переменные, объявленные в методе, конструктор или заявление блоков;
  • Локальные переменные, когда метод, конструктор, или блок операторов, которые будут выполняться для создания, когда они выполняются, то переменная будет уничтожена;
  • модификатор доступа не может быть использован для локальных переменных;
  • Локальные переменные, объявленные только в своих методах, конструкторах или блоков видимыми инструкция;
  • Локальные переменные размещаются в стеке.
  • Локальные переменные не имеют значения по умолчанию, так что локальная переменная объявлена, должна быть инициализирована, прежде чем они могут быть использованы.

Пример 1

В следующих примерах, возраст является локальной переменной. Определено в методе pupAge (), его объем будет ограничен этим способом.

package com.w3big.test;

public class Test{ 
   public void pupAge(){
      int age = 0;
      age = age + 7;
      System.out.println("小狗的年龄是: " + age);
   }
   
   public static void main(String args[]){
      Test test = new Test();
      test.pupAge();
   }
}

Приведенные выше примеры скомпилированные получены следующие результаты:

小狗的年龄是: 7

Пример 2

В приведенном ниже примере переменной возраста не инициализируется, поэтому при компиляции ошибки времени:

public class Test{ 
   public void pupAge(){
      int age;
      age = age + 7;
      System.out.println("小狗的年龄是 : " + age);
   }
   
   public static void main(String args[]){
      Test test = new Test();
      test.pupAge();
   }
}

Приведенные выше примеры скомпилированные получены следующие результаты:

Test.java:4:variable number might not have been initialized
age = age + 7;
         ^
1 error

переменные экземпляра

  • Переменные, объявленные в классе, но в методе методов строительства и заявлений за пределами блока;
  • Когда объект экземпляра, значение каждой переменной экземпляра определяется следовать;
  • В переменной экземпляра создается при создании объекта, когда объект уничтожается уничтожение;
  • Значение переменной экземпляра должно быть по крайней мере, метод, конструктор или Участок_программы ссылки, так что внешние переменные экземпляра можно получить информацию с помощью этих средств;
  • Переменные экземпляра могут быть объявлены перед использованием или после использования;
  • Модификатор доступа могут быть изменены переменные экземпляра;
  • Например метода переменной класса, конструктор или блок операторов это видно. При нормальных обстоятельствах должны быть сделаны частные переменные экземпляра. С помощью модификаторов доступа может сделать переменные экземпляра видимые к подклассу;
  • Переменные экземпляра имеют значения по умолчанию. Значение по умолчанию числовой переменной равно 0, значение по умолчанию булевой переменной является ложным, значение по умолчанию переменной ссылочного типа равна нулю. Значение переменной может быть задано в момент декларации, он также может быть задано в конструкторе;
  • Переменные экземпляра могут быть доступны непосредственно по имени переменной. Тем не менее, статические методы в других классах, вы должны использовать полное имя: ObejectReference.VariableName.

Пример:

import java.io.*;
public class Employee{
   // 这个成员变量对子类可见
   public String name;
   // 私有变量,仅在该类可见
   private double salary;
   //在构造器中对name赋值
   public Employee (String empName){
      name = empName;
   }
   //设定salary的值
   public void setSalary(double empSal){
      salary = empSal;
   }  
   // 打印信息
   public void printEmp(){
      System.out.println("name  : " + name );
      System.out.println("salary :" + salary);
   }

   public static void main(String args[]){
      Employee empOne = new Employee("Ransika");
      empOne.setSalary(1000);
      empOne.printEmp();
   }
}

Приведенные выше примеры скомпилированные получены следующие результаты:

name  : Ransika
salary :1000.0

Переменные класса (статические переменные)

  • Переменные класса, также известный как статической переменной в классе объявить статический ключевое слово, но снаружи должен находиться в процессе строительного метода и блока.
  • Является ли класс для создания целого ряда объектов, классы имеют только одну копию переменной класса.
  • В дополнение к статической переменной объявлен как константы используются редко. Константы объявляются как общедоступные переменные / частного, конечного и статического типа. После того, как константы инициализации не может быть изменен.
  • Статические переменные хранятся в статической памяти. Часто она объявлена ​​как константа, редко используется отдельно статические объявления переменных.
  • Статические переменные, когда программа начинает создавать, уничтожать в конце программы.
  • И переменные экземпляра имеют одинаковую видимость. Но пользователь класса можно видеть, большая часть статической переменной типа объявляется достоянием общественности.
  • По умолчанию и переменные экземпляра похожи. Числовая переменная Значение по умолчанию равно 0, значение Boolean по умолчанию является ложным, ссылочный тип значение по умолчанию равно нулю. Значение переменной может быть задано в момент декларации должны быть указаны в конструкторе. Кроме того, статические переменные также могут быть инициализированы в статических блоков операторов.
  • Статические переменные могут быть: ClassName.VariableName доступа.
  • переменная класса объявляется как публичным статическим финальным типом, имя переменной класса должны использовать заглавные буквы. Если статическая переменная не является общедоступной и последний тип, последовательное именование и называющие его переменные экземпляра и локальные переменные.

Пример:

import java.io.*;
public class Employee {
    //salary是静态的私有变量
    private static double salary;
    // DEPARTMENT是一个常量
    public static final String DEPARTMENT = "开发人员";
    public static void main(String args[]){
    salary = 10000;
        System.out.println(DEPARTMENT+"平均工资:"+salary);
    }
}

Приведенные выше примеры скомпилированные получены следующие результаты:

开发人员平均工资:10000.0

Примечание: Если вы хотите получить доступ другие типы этой переменной, к нему можно обращаться: Employee.DEPARTMENT.

В этой главе мы узнаем типы переменных Java, в следующем разделе мы представим использование Java-модификаторов.