Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Инициализация переменных , типы переменных



Существует несколько классификаций типов переменных. Первый вид классификаций связан с типами данных, которые они(переменные) могут представлять. Все типы данных в Java возможно разделить на примитивные и ссылочные типы. Примитивными типами называются такие, для которых данные содержатся в одной ячейке памяти, и эта ячейка не имеет подъячеек.

Ссылочными типами называются такие, для которых в ячейке памяти (ссылочной переменной) содержатся не сами данные, а только адреса этих данных, то есть ссылки на данные. При присваивании в ссылочную переменную заносится новый адрес, а не сами данные. Но непосредственного доступа к адресу, хранящемуся в ссылочных переменных, нет. Это сделано для обеспечения безопасности работы с данными. В отличии от С++ в Java отсутствует возможность работы с указателями.Существуют следующие примитивные типы данных- char,short,byte,int,long,float,double,boolean. К ссылочным типам относятся ссылки на экз. любых классов, а также массивы любых типов данных, в том числе и простых. Примеры объявления и инциализации переменных приведены ниже:

Примитивные типы

2. Листинг:

2.1. char ch1=34;

2.2. char ch2, qw;

2.3. ch2=’q’;

2.4. byte byt1=7;

2.5. short shor1=32000;

2.6. int in1=12;

2.7. long lon1=12L;

2.8. float fl1=12.34f;

2.9. double db1=12.34;

2.10. boolean bool1=false;

Обратите внимание на строки 2.2-2.3- это пример отложенной инициализации, когда происходит только объявление переменной, а первоначальное значение присваивается далее в коде, но до первого обращения к переменной. При обращении к переменной после ее объявления, тип переменной не указывается.

Ссылочные типы

Листинг 3:

3.1. Human hum3=new Human();

3.2. Human hum4=new Human("Сидоров С.П.");

3.3. Human hum5=new Human("Ричард Бах",74, "г. Николаев,"+ "ул. Мархлевского 45",new Date(),"1234567890");

3.4. ArrayList ar_list1=new ArrayList();

3.5. int[] ar_int34=new int[10];

3.6. int[] ar_int38={1,3,2,56,45};

3.7. String str1="Это строка";

3.8. String str2=new String(str1);

3.9. String str3=new String("Это также строка");

Отличие объявления и инициализации ссылочных переменных заключается в использовании ключевого слова =new= вместе с одним из конструкторов класса. В строках 3.1-3.3 вы видите 3 разных способа создания экземпляров переменных, тип которых соответствует классу Human, при этом используются 3 разных вида конструктора этого класса. Все они(конструкторы) описаны в Листинге 1(1.16—1.31).

Синтаксис объявления и инициализации встроенных классов и классов собственной разработки, не отличается. Это видно на примере создания ссылки на экземпляр класса ArrayList(строка 3.4).

Некоторые особенности создания и инициализации экземпляров класса String и массивов видны в строках 3.5-3.9

Второй вид классификации переменных – по месту объявления. В зависимости от того в какой части класса объявлена переменная, необходимо, знать ряд особенностей их использования. Переменные класса или атрибуты класса объявляются при описании класса(пример –строки 1.10-1.14 Листинга 1). Обычно их инициализация происходит в конструкторах класса(Листинг 1 строка 1.9-1.31). Для них предусмотрена инициализация по умолчанию(она есть только у переменных класса). Так для атрибутов класа всех числовых типов, эти атрибуты инициализируются по умолчанию =0=, все ссылочные типы инициализируются нулевой ссылкой для которой предусмотрено ключевое слово =null= Локальные переменные – это переменные объявленные в теле любого метода класса или конструктора. Область видимости данных переменных начинается с момента объявления их в методе класса до конца метода. в котором они объявлены. Влиять на видимость локальной переменной в теле метода, возможно, с помощью фигурных скобок {}. Например:

Листинг 4.

4.1. public int metod1(){

4.2. int var_int=12;

4.3. {

4.4. String temp_str="значение 1";

4.5. }

4.6. int temp_str=45+var_int;

4.7. return temp_str;

4.8. }

На примере этого листинга, видно, что объявление переменной temp_str в методе строка 4.4 не мешает объявить переменную в строке 4.6 с таким же именем и другого типа, благодаря тому, что видимость переменной, объявленной в строке 4.3 ограничена областью {}(строка 4.3, 4.5). Наличие локальной области не мешает

Использовать переменную var_int в строке 4.6.





Дата публикования: 2015-04-06; Прочитано: 338 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...