JavaRush /Блоги Java /Random-TG /Тағйирёбандаҳо ва доимии Java

Тағйирёбандаҳо ва доимии Java

Дар гурӯҳ нашр шудааст
Барои фаҳмидани забони Java, фаҳмидани синтаксиси он хеле муҳим аст. Яке аз блокҳои асосии бунёдии он тағирёбандаҳо мебошад.

Дар Java тағирёбанда чист

Тағйирёбанда дар Java як контейнерест, ки метавонад барои истифодаи минбаъда дар барнома баъзе арзиши маълумотро нигоҳ дорад. Аслан, тағирёбанда хурдтарин воҳиди тақсимнашавандаи барномаи Java мебошад. Тағйирёбандаҳо дар Java ду намуд мешаванд: онҳое, ки барои додаҳои хурд пешбинӣ шудаанд (тағйирёбандаҳои ибтидоӣ) ва барои мураккабтар ва вазнинтар (тағйирёбандаҳои истинод). Имрӯз мо ба ҳолати аввалине, ки тағирёбандаҳо арзиши маълумотро нигоҳ медоранд, дида мебароем. Чунин тағирёбандаҳо ибтидоӣ номида мешаванд. Тағйирёбандаҳои ибтидоӣ дар Java ва доимӣ - 1

Эълон кардани тағирёбандаҳо дар Java

Биёед ба ин мисол назар андозем:
int x = 9;
Биёед бубинем, ки чӣ мебинем: int- навъи тағирёбанда, ки ададҳои бутунро дар диапазони -2147483648 то 2147483647 тавсиф мекунад x- номи тағирёбанда (мо бояд онҳоро аз ҳамдигар фарқ кунем, дуруст?) = аломати таъинот ба ягон тағирёбанда, баъзе арзиш 9- арзиши фаврии он ;охири ин фармон аст Ва ҳоло биёед ҳама чизро якҷоя кунем: мо муайян мекунем, ки тағирёбандаи навъи intдорои ном xдорои арзиш аст 9. Ин мисол шакли мухтасар дорад, шакли пуррааш чунин аст:
int x;
x = 9;
Дар сатри аввал мо эъломияи тағирёбандаро мебинем ва ба он ном дода мешавад, яъне бо ин мо ба JVM мегӯем , ки барои тағирёбанда int(4 byte) ҷой ҷудо кунад ва ба он ном гузорад x. Дар дуюм мо ба он арзиш медиҳем 9. Пеш аз ин, он арзиши пешфарз дошт, яъне 0. Дар бораи номгузории тағирёбандаҳо чанд сухан гуфтан меарзад. Одатан онҳо бо услуби шутури поёнӣ навишта мешаванд. Яъне, масалан, агар мо як тағирёбандае дошта бошем, ки шумораи одамонро (шумораи одамон) тавсиф мекунад, номи мувофиқ барои он хоҳад буд:
int countOfPeople;
Дар ин ном калимаи аввал бо ҳарфи хурд (хурд) оғоз мешавад ва ҳар як калимаи баъдӣ бо ҳарфи калон (калон) оғоз мешавад. Ин барои осон кардани хондани ин номҳо анҷом дода мешавад, зеро номҳои тағирёбанда одатан аз зиёда аз як калима иборатанд.

Аз нав муайян кардани тағирёбандаҳо

Биёед ба мисоли эъломияи тағирёбандаи худ баргардем:
int x = 9;
Агар мо як маротиба ба тағирёбанда арзиш гузорем, ин маънои онро надорад, ки ҳангоми иҷрои барнома тағирёбанда xҳамеша арзиши 9. Мо метавонем онро дубора нависем:
x = 4;
Ҳамааш тақрибан як хел аст, вале мо дигар навъи ( int)-ро илова намекунем, зеро он ҳангоми эълони тағирёбанда (эълон кардани мавҷудияти он) ба қайд гирифта мешавад. Баъдан, мо онро танҳо дубора истифода хоҳем кард, масалан, дар ин ҷо мебинем, ки он аз нав навишта мешавад (мо тағирёбандаи худро арзиши нав таъин карда, арзиши кӯҳнаро бар навишт мекунем). Фарз мекунем, ки мо низ як тағирёбанда дорем:
int y = 7;
Ва бо гузоштани: x = y; Қимати кӯҳнаи тағирёбанда xнест карда мешавад ва аз болои нусхаи арзиш y, яъне - 7. Шумо инчунин метавонед арзиши як тағирёбандаи дигарро таъин кунед, ки ба шумораи зарурии мо зиёд карда мешавад:
x = y + 5;
Азбаски тағирёбандаи мо yба 7 баробар буд, натиҷа xба 12 баробар хоҳад шуд. Ҷолибтар аст, ки қобorяти иҷрои ин амалҳо:
x = x + 6;
Мо дар ин ҷо чӣ мебинем? Ба тағирёбанда xқимате дода мешавад, ки ба гузашта 6 зиёд шудааст, яъне он хоҳад буд: 12 + 6 = 18. Худи ҳамон сабтро бо гузоштани кӯтоҳ кардан мумкин аст x:
x =+ 6;

Намудҳои тағирёбанда

Барнома дар Java аз синфҳо ва an objectҳо иборат аст. Биёед бубинем, ки тағирёбандаҳои Java чӣ гунаанд:
  • тағирёбандаҳои an object;
  • тағирёбандаҳои маҳаллӣ;
  • тағирёбандаҳои синф.
Тағйирёбандаҳои ибтидоӣ дар Java ва доимӣ - 2Ҳамчун синфи намуна, мо синфи сагро бо усули "аккос" мегирем:
public class Dog {
   public void bark() {
   }
}

Тағйирёбандаҳои an object

Тағирёбандаҳо дар синф эълон карда мешаванд, аммо на дар метод, созанда ё блок.
public class Dog {
public  int value = 9;
   public void bark() {
   }
}
Барои даъват кардани ин тағирёбанда, мо бояд аввал an object эҷод кунем:
Dog dog = new Dog();
dog.value;
Тағйирёбандаҳо танҳо пас аз сохтани an object сохта мешаванд (яъне пас аз сохтани an object бо истифода аз new). Дар an object, тағирёбандаҳои дохилӣ ҳамеша ба ҳама усулҳо, созанда ё чизе дар дохor ҳамон an object намоёнанд. Тавре ки дар боло зикр гардид, тағирёбандаҳои an object дорои арзишҳои пешфарз мебошанд. Барои адад арзиши пешфарз 0 аст, барои мантиқӣ (boolean) - бардурӯғ, барои истинод ба an object - нул.

Тағйирёбандаҳои маҳаллӣ

Ин тағирёбандаҳо дар усулҳо, конструкторҳо ё блокҳо эълон карда мешаванд.
public class Dog {
   public void bark() {
   int value = 9;
   }
}
Таѓйирёбандањои локалї танњо дар блоки codeи даъватшуда вуљуд доранд, ки дар охири он аз хотира тоза карда мешаванд. Онҳо танҳо дар дохor усули эълоншуда, созанда ё блок намоён мешаванд. Яъне, шумо наметавонед тағирёбандаро истифода баред, масалан, дар усули дигар. Тағирдиҳандаҳои дастрасӣ наметавонанд барои тағирёбандаҳои маҳаллӣ истифода шаванд. Агар тағирёбанда берун аз ҳудуди метод намоён набошад, онҳо чӣ маъно доранд? Ин навъи тағирёбанда вақте сохта мешавад, ки усул (ё созанда ё блок) даъват карда мешавад ва ҳангоми анҷоми он нобуд карда мешавад.

Тағйирёбандаҳои синф

Ин навъи тағирёбанда инчунин статикӣ номида мешавад. Онҳо бо калимаи тағирдиҳанда эълон карда мешаванд static, аммо берун аз доираи усул, созанда ё блок.
public class Dog {
public static  int value = 9;
   public void bark() {
   }
}
Ба тағирёбандаи мо занг занед:
Dog.value
Где Dog — это Name класса, к которому прикреплена переменная. Значение по умолчанию такое же, How и у переменных an object. Для чисел по умолчанию это 0, для boolean — false; для ссылок на an object — null. Статическая переменная всегда одна, независимо от того, сколько an objectов создано из класса, ведь она крепится только к классу. Переменные класса создаются при запуске программы и уничтожаются, когда выполнение программы завершено. Статические переменные в Java часто используются, когда объявляются How константы. О них поговорим подробнее.

What такое константы в Java

Константа — это заданные, фиксированные значения, которые не должны меняться. А что такое константы в программировании? Это некоторое постоянное meaning, которое известно до начала работы applications, при этом оно задается в codeе один раз. В Java константы — это переменные, обозначенные специальным словом — final:
final int VALUE = 54;
Здесь мы получаем переменную, которую нельзя изменить после задания ей Howого-либо значения. Дело в том, что константы гораздо проще, чем переменные. Они всегда однозначно определены и никогда не меняются. Немного выше мы говорor об именовании переменных, и нам стоит уделить внимание и особенностям именования констант. В константных переменных все слова пишутся БОЛЬШИМИ буквами, разделяемыми с помощью знака подчеркивания _ Например, нам нужна константа, описывающая максимальное meaning для чего-либо:
final int MAX_VALUE = 999;
Итак, подытожим: Переменная предоставляется нам How место хранения наших данных (or address места), что позволяет управлять приложением. У переменных примитивного типа есть определенный формат данных, размер, диапазон значений, которые могут храниться в памяти. Переменные можно разделять по местонахождению: переменные an object, локальные, класса. Существует особый вид переменных — константы, которые могут быть глобальными, переменными. Их область видимости — вся программа.
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION