JavaRush /Java блогу /Random-KY /Java өзгөрмөлөрү жана туруктуулары

Java өзгөрмөлөрү жана туруктуулары

Группада жарыяланган
Java тorн түшүнүү үчүн анын синтаксисин түшүнүү абдан маанилүү. Анын негизги, негизги курулуш материалдарынын бири өзгөрмөлөр болуп саналат.

Javaдагы өзгөрмө деген эмне

Javaдагы өзгөрмө - бул кийинчерээк программада колдонуу үчүн кээ бир маалымат маанисин сактай турган контейнер. Негизи, өзгөрмө Java тиркемесинин эң кичинекей бөлүнгүс бирдиги. Javaдагы өзгөрмөлөр эки түргө бөлүнөт: кичинекей маалыматтар үчүн (примитивдүү өзгөрмөлөр) жана татаалыраак, оор (маалымат өзгөрмөлөр) үчүн. Бүгүн биз өзгөрмөлөр маалымат маанисин сактаган биринчи учурду карап чыгабыз. Мындай өзгөрмөлөр примитивдүү деп аталат. Javaдагы примитивдик өзгөрмөлөр жана константалар - 1

Javaда өзгөрмөлөрдү жарыялоо

Бул мисалды карап көрөлү:
int x = 9;
Келгиле, эмнени көрүп жатканыбызды карап көрөлү: int- -2147483648ден 2147483647ге чейинки диапазондо жайгашкан бүтүн сандарды сүрөттөгөн өзгөрмөнүн түрү x- өзгөрмөнүн аталышы (биз аларды бири-биринен айырмалашыбыз керек, туурабы?) = кандайдыр бир өзгөрмөгө дайындоо белгиси, кээ бир value 9- анын дароо мааниси ;бул буйруктун аягы. Эми бардыгын бириктирели: intаталышы бар түрдөгү өзгөрмөнүн xмааниси бар экенин белгилейбиз 9. Бул мисал кыскартылган түрү бар, толук бир төмөнкүдөй көрүнөт:
int x;
x = 9;
Биринчи сапта биз өзгөрмөнүн жарыяланышын жана ага ат ыйгарылганын көрөбүз, башкача айтканда, муну менен биз JVMге өзгөрмө үчүн орун бөлүп берүүнү int(4 byte) жана ага ат берүүнү айтабыз x. Экинчисинде биз ага маани беребиз 9. Буга чейин анын демейки мааниси бар болчу, атап айтканда 0. Өзгөрмөлөрдү атоо жөнүндө бир нече сөз айтуу керек. Адатта, алар төмөнкү төө стorнде жазылган. Башкача айтканда, бизде адамдардын санын (адамдардын санын) сүрөттөгөн өзгөрмө болсо, анда ал үчүн ылайыктуу ат болот:
int countOfPeople;
Бул аталышта биринчи сөз кичине (кичине) тамга менен башталат жана ар бир кийинки сөз баш (баш) тамга менен башталат. Бул өзгөрмө аттары адатта бирден ашык сөздөн тургандыктан, бул ысымдарды окууну жеңилдетүү үчүн жасалат.

Өзгөрмөлөрдү кайра аныктоо

Өзгөрмөлөрдү жарыялоо мисалыбызга кайрылып көрөлү:
int x = 9;
xЭгерде биз бир жолу өзгөрмөгө маани койсок, бул программанын аткарылышы учурунда өзгөрмө дайыма мааниге ээ болот дегенди билдирбейт 9. Биз аны кайра жаза алабыз:
x = 4;
Баары дээрлик бирдей, бирок биз мындан ары ( int) түрүн кошпойбуз, анткени ал өзгөрмө жарыялоодо (анын бар экенин жарыялоодо) катталат. Андан кийин, биз аны кайра гана колдонобуз, мисалы, бул жерде биз анын үстүнөн жазууну көрөбүз (биз өзгөрмөбүзгө жаңы маанини коюп, эскинин үстүнө жазабыз). Бизде да өзгөрмө бар деп коёлу:
int y = 7;
Жана орнотуу менен: x = y; өзгөрмөнүн эски мааниси xжок кылынат, анын үстүнө маанинин көчүрмөсү жазылат y, тактап айтканда - 7. Бизге керектүү санга көбөйтүлгөн башка өзгөрмөнүн маанисин да орното аласыз:
x = y + 5;
Биздин өзгөрмө y7ге барабар болгондуктан, натыйжа x12ге барабар болот. Кызыгы, бул аракеттерди аткаруу мүмкүнчүлүгү:
x = x + 6;
Бул жерде биз эмнени көрүп жатабыз? Өзгөрмө x6га көбөйтүлгөн мурункуга барабар маани берилет, башкача айтканда, мындай болот: 12 + 6 = 18. Ошол эле жазууну калтырып кыскартууга болот x:
x =+ 6;

Өзгөрмөлөрдүн түрлөрү

Java тorндеги тиркеме класстардан жана an objectтерден турат. Келгиле, Java өзгөрмөлөрү эмне экенин карап көрөлү:
  • an object өзгөрмөлөрү;
  • жергorктүү өзгөрмөлөр;
  • класс өзгөрмөлөрү.
Javaдагы примитивдик өзгөрмөлөр жана константалар - 2Мисал классы катары биз ит классын "үрө" ыкмасы менен алабыз:
public class Dog {
   public void bark() {
   }
}

Object Variables

Өзгөрмөлөр класста жарыяланат, бирок методдо, конструктордо же блокто эмес.
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тин ичиндеги бардык нерсеге көрүнүп турат. Жогоруда айтылгандай, an object өзгөрмөлөрүнүн демейки маанилери бар. Сан үчүн демейки маани 0, логикалык (логикалык) үчүн - жалган, an objectке шилтемелер үчүн - нөл.

Жергorктүү өзгөрмөлөр

Бул өзгөрмөлөр методдордо, конструкторлордо же блоктордо жарыяланган.
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өзгөрмө тиркелет класстын аты. Демейки маани an object өзгөрмөлөрү менен бирдей. Сандар үчүн демейки 0, логикалык үчүн ал жалган; an object шилтемелер үчүн - null. Класстан канча an object түзүлбөсүн, дайыма бир статикалык өзгөрмө болот, анткени ал класска гана тиркелет. Класс өзгөрмөлөрү программа башталганда түзүлөт жана программа аткарылышын аяктаганда жок кылынат. Javaдагы статикалык өзгөрмөлөр көбүнчө константалар катары жарыяланганда колдонулат. Келгиле, алар жөнүндө кененирээк сүйлөшөлү.

Javaдагы константалар деген эмне

Туруктуу - бул өзгөрбөшү керек болгон берилген, туруктуу маани. Программалоодо туруктуулар деген эмне? Бул колдонмо иштеп баштаганга чейин белгилүү болгон кээ бир туруктуу маани жана ал codeдо бир жолу коюлат. Java тorнде константалар атайын сөз менен белгиленген өзгөрмөлөр болуп саналат - final:
final int VALUE = 54;
Бул жерде биз кандайдыр бир мааниге койгондон кийин өзгөртүлбөй турган өзгөрмө алабыз. Кеп константалардын өзгөрмөлөргө караганда алда канча жөнөкөй экендигинде. Алар ар дайым уникалдуу аныкталат жана эч качан өзгөрбөйт. Бир аз жогоруда биз өзгөрмөлөрдү атоо жөнүндө сөз кылдык жана константаларды атоонун өзгөчөлүктөрүнө көңүл бурушубуз керек. Туруктуу өзгөрмөлөрдө бардык сөздөр астыңкы сызык менен бөлүнгөн БАШ тамгалар менен жазылат.Мисалы _ , бизге бир нерсенин максималдуу маанисин сүрөттөгөн константа керек:
final int MAX_VALUE = 999;
Ошентип, кыскача айтканда: өзгөрмө бизге маалыматыбызды (же жайгашкан жердин дарегин) сактоо үчүн жер катары берилет, бул бизге тиркемени көзөмөлдөөгө мүмкүндүк берет. Примитивдүү түрдөгү өзгөрмөлөр белгилүү бир маалымат форматына, өлчөмүнө жана эстутумда сактала турган маанилердин диапазонуна ээ. Өзгөрмөлөрдү жайгашкан жери боюнча бөлүүгө болот: an object, жергorктүү, класс өзгөрмөлөрү. Өзгөрмөлөрдүн өзгөчө түрү бар - глобалдык өзгөрмөлөр болушу мүмкүн. Алардын масштабы бүт программа болуп саналат.
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION