Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Π’ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Π’ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ опрСдСляСт мноТСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΅ΠΉ присвоСны ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ с нСю ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Ρ‹. Он Π»ΠΈΠ±ΠΎ фиксирован Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ соотвСтствуСт ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, прСдоставляСмых языком программирования (статичСская типизация), Π»ΠΈΠ±ΠΎ Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ соотвСтствуСт Ρ‚ΠΈΠΏΡƒ Ρ‚Π΅Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ содСрТит пСрСмСнная (динамичСская типизация).

Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ «Π’ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ» Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… словарях:

Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ β€” β€” [Π›.Π“.Π‘ΡƒΠΌΠ΅Π½ΠΊΠΎ. Англо русский ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ тСхнологиям. М.: Π“ΠŸ ЦНИИБ, 2003.] Π’Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ EN variable type … Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ тСхничСского ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°

Π’ΠΈΠΏ β€” (ΠΎΡ‚ Π³Ρ€Π΅Ρ‡. τυπος ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ, Ρ„ΠΎΡ€ΠΌΠ°, ΠΎΠ±Ρ€Π°Π·Π΅Ρ†) Π΅Π΄ΠΈΠ½ΠΈΡ†Π° расчлСнСния ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌΠΎΠΉ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Ρ‚ΠΈΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ: Π’ ВикисловарС Π΅ΡΡ‚ΡŒ … ВикипСдия

Π’ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ β€” Π’ области программирования Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (Π°Π½Π³Π». return type) опрСдСляСт ΠΈ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ ограничСния Π½Π° Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… языках программирования (особСнно это касаСтся языков со статичСской… … ВикипСдия

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… β€” (встрСчаСтся Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Π²ΠΈΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…) Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ понятиС Ρ‚Π΅ΠΎΡ€ΠΈΠΈ программирования. Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… опрСдСляСт мноТСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊ Ρ‚Π°ΠΊΠΈΠΌ значСниям ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, способ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ и… … ВикипСдия

Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… β€” ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒΡŽ допустимых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. [ИБО/МЭК 2382 15] [Π“ΠžΠ‘Π’ Π  52292 2004] Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏ ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ вмСстС с мноТСством допустимых Π½Π°Π΄ Π½ΠΈΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ [Π“ΠžΠ‘Π’ 28397 89] Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ … Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ тСхничСского ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°

Π’Π°Π»ΡŽΡ‚Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ β€” Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ 1 Π˜ΡΡ‚ΠΎΡ€ΠΈΡ 2 ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ 3 ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ использования Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… … ВикипСдия

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ (Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…) β€” Π£ этого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния, см. Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ (ΠΏΠΎΠΉΠ½Ρ‚Π΅Ρ€, Π°Π½Π³Π». pointer) пСрСмСнная, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ состоит ΠΈΠ· адрСсов ячССк памяти ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ адрСса.… … ВикипСдия

Π¦Π΅Π»ΠΎΠ΅ (Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…) β€” Π¦Π΅Π»ΠΎΠ΅, цСлочислСнный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… (Π°Π½Π³Π». Integer), Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… ΠΈ самых распространённых Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π² языках программирования. Π‘Π»ΡƒΠΆΠΈΡ‚ для прСдставлСния Ρ†Π΅Π»Ρ‹Ρ… чисСл. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ чисСл этого Ρ‚ΠΈΠΏΠ° прСдставляСт собой… … ВикипСдия

Π¦Π΅Π»Ρ‹ΠΉ Ρ‚ΠΈΠΏ β€” (Integer) ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… ΠΈ самых распространённых Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π² языках программирования. Π¦Π΅Π»Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹Π΅ (Π±Π΅Π· Π·Π½Π°ΠΊΠ°) ΠΈ Π·Π½Π°ΠΊΠΎΠ²Ρ‹Π΅ (со Π·Π½Π°ΠΊΠΎΠΌ). Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Ρ†Π΅Π»Ρ‹Ρ… чисСл опрСдСляСтся количСством Π±Π°ΠΉΡ‚ΠΎΠ² в… … ВикипСдия

ЦСлочислСнный Ρ‚ΠΈΠΏ β€” Π¦Π΅Π»Ρ‹ΠΉ Ρ‚ΠΈΠΏ (Integer) ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… ΠΈ самых распространённых Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π² языках программирования. Π¦Π΅Π»Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π·Π½Π°ΠΊΠΎΠ²Ρ‹Π΅ (со Π·Π½Π°ΠΊΠΎΠΌ) ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹Π΅ (Π±Π΅Π· Π·Π½Π°ΠΊΠ°). Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Ρ†Π΅Π»Ρ‹Ρ… чисСл опрСдСляСтся количСством… … ВикипСдия

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Java

Бинтаксис являСтся основой любого языка программирования. Java Π½Π΅ являСтся ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ссли Ρ‚Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅ΡˆΡŒΡΡ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΡΡ‚Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ с Π°Π·ΠΎΠ². Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π±Ρ‹Π²Π°ΡŽΡ‚ Π² языкС Java ΠΈ ΠΊΠ°ΠΊΠΎΠ²Ρ‹ основныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π΅Π±Π΅ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ пСрСмСнная, вСрнСмся ΠΊ ΡˆΠΊΠΎΠ»ΡŒΠ½ΠΎΠΌΡƒ курсу ΠΈ вспомним ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ:

Если ΠΌΡ‹ подставим Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊ Β«Ρ…Β», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ… = 1, Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ выраТСния Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ Β«2Β». БоотвСтствСнно, Ссли Ρ… = 2, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ выраТСния Π±ΡƒΠ΄Π΅Ρ‚ Β«3Β» ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Как видишь, всС достаточно просто. Β«Π₯Β» Π² нашСм случаС пСрСмСнная, ΠΊΡƒΠ΄Π° ΠΌΡ‹ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠŸΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΡ Π΅Π³ΠΎ Π² Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Π’ языкС программирования пСрСмСнная – это своСго Ρ€ΠΎΠ΄Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈΠ»ΠΈ ящичСк, ΠΊΡƒΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ Ρ‚Π°ΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΎΡΡŒ Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, ΠΏΠΎΠΊΠ° это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°ΠΌ Π½Π΅ потрСбуСтся для ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ вычислСний.

Π’ этом языкС программирования Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

Как Π²ΠΈΠ΄Π½ΠΎ, всСго ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… 8, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΈ дСвятый Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… – void. Но этот Ρ‚ΠΈΠΏ ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅. Познакомимся ΠΏΠΎΠ±Π»ΠΈΠΆΠ΅ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΈΠ· Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Π£ΠΆΠ΅ ΠΈΠ· названия понятно, Ρ‡Ρ‚ΠΎ Π² качСствС значСния Ρ‚Π°ΠΊΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ†Π΅Π»Ρ‹Π΅ числа. НапримСр, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ 5, 10, 25, 100 ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Π² зависимости ΠΎΡ‚ потрСбности Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π²ΠΈΠ΄ΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, нСслоТно ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ ситуации ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΈΠ· этих ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Но для закрСплСния ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ малСнький ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ Васи 5 апСльсинов, Π° Ρƒ ΠšΠ°Ρ‚ΠΈ ΠΈ Ани ΠΏΠΎ 3. НуТно ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ сколько всСго апСльсинов Ρƒ рСбят. НСтрудно Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ здСсь трСбуСтся использованиС цСлочислСнных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π°ΠΏΠ΅Π»ΡŒΡΠΈΠ½Ρ‹ Ρ†Π΅Π»Ρ‹Π΅ ΠΈ Π½Π΅ прСдполагаСтся, Ρ‡Ρ‚ΠΎ ΠΈΡ… Π±ΡƒΠ΄ΡƒΡ‚ Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° дольки.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΡƒΡŽ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π—Π΄Π΅ΡΡŒ Π²Π°ΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚Π° ΠΈΠ»ΠΈ иная цСлочислСнная пСрСмСнная. НапримСр, ΠΌΡ‹ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ количСство апСльсинов Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ 127. Π’ этом случаС, ΠΌΠΎΠΆΠ½ΠΎ смСло ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ byte.

Π”Π°Π»ΡŒΡˆΠ΅, прСдставим, Ρ‡Ρ‚ΠΎ Вася, ΠšΠ°Ρ‚Ρ ΠΈ Аня выросли ΠΈ стали Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ поставками апСльсинов. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ большС 1000 Π΅Π΄ΠΈΠ½ΠΈΡ† этого вкусного Ρ„Ρ€ΡƒΠΊΡ‚Π°. ΠžΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ byte ΠΌΡ‹ большС Π½Π΅ смоТСм. Если количСство апСльсинов Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 32767, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с short, Ссли большС с int ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² Java прСдставлСно 4 цСлочислСнных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ‡Π°Ρ‰Π΅ всСго Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ int. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ этот Ρ‚ΠΈΠΏ Π² языкС считаСтся ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим, ΠΊΠ°ΠΊ Π² Java ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ C# | Π’ΠΈΠΏΡ‹ ΠΈ Π²ΠΈΠ΄Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Π›ΡŽΠ±ΠΎΠΉ, Π΄Π°ΠΆΠ΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ программист сталкиваСтся с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ. Но Π·Π° каТущСйся простотой скрыт ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ пСрСмСнная?

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π²ΡƒΡ‡ΠΈΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ – это имСнованная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти.

Но Ρ‡Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ для нас. Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· вас ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌ с понятиСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Π°Π»Π³Π΅Π±Ρ€Π΅. Π­Ρ‚ΠΎ Ρ‚ΠΎΡ‚ самый X, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π² ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΈ. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ пСрСмСнная ΠΈΠΌΠ΅Π΅Ρ‚ схоТиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π­Ρ‚ΠΎ своСобразный псСвдоним, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅, нСизвСстноС, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊΡ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒ сСбС ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡ΠΊΡƒ. На этой ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡ΠΊΠ΅ написано Β«ΠŸΠΎΠ΄Π°Ρ€ΠΎΠΊΒ» ΠΈ это Π΄Π΅Π»Π°Π΅Ρ‚ эту ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡ΠΊΡƒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ. Π’Ρ‹ всСгда смоТСшь Π½Π°ΠΉΡ‚ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ эту ΠΊΠΎΡ€ΠΎΠ±ΠΊΡƒ ΠΏΠΎ этому ΠΈΠΌΠ΅Π½ΠΈ (ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡ΠΊΠΈ с Ρ‚Π°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ).

А Π²ΠΎΡ‚ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π² эту ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡ΠΊΡƒ Ρ‚Ρ‹ моТСшь всС Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ новСнький IPhone, ΠΈ милСнький ΠΊΠΎΡ‚Π΅Π½ΠΎΡ‡Π΅ΠΊ, ΠΈ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΊΡƒΠ΄Π° ΠΌΠ΅Π½Π΅Π΅ приятноС (ΠΊΠ°ΠΊ Π² Ρ„ΠΈΠ»ΡŒΠΌΠ΅ «БСмь»). ΠšΡΡ‚Π°Ρ‚ΠΈ, Ссли Π½Π΅ смотрСл этот Ρ„ΠΈΠ»ΡŒΠΌ, ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Ρƒ тСбя крСпкая психика ΠΈ Ρ‚Π΅Π±Π΅ большС 18 Π»Π΅Ρ‚.

И Π² дальнСйшСм Ρ‚Ρ‹ моТСшь ΠΊΠ°ΠΊ ΡƒΠ³ΠΎΠ΄Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с этой ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡ΠΊΠΎΠΉ. Π’ любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ‚Ρ‹ моТСшь ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Ρ‚ΡƒΠ΄Π° Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ (ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΊΠΈΠ½ΡƒΠ² ΠΎΡ‚Ρ‚ΡƒΠ΄Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ Π»Π΅ΠΆΠ°Π»ΠΎ Ρ€Π°Π½ΡŒΡˆΠ΅), ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ Π»Π΅ΠΆΠΈΡ‚, ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π²Π·ΡΡ‚ΡŒ ΠΈ Π²Ρ‹ΠΊΠΈΠ½ΡƒΡ‚ΡŒ эту ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡ΠΊΡƒ со всСм содСрТимым.

ΠŸΡ€ΠΈ этом Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ концСпция ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… это ΠΎΡ‡Π΅Π½ΡŒ слоТный ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ просто скрыт ΠΎΡ‚ программиста соврСмСнными ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ систСмами ΠΈ высокоуровнСвыми языками программирования.

Випизация ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

ИмСнно Ρ‚Π°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Ссли Π±Ρ‹ Π² Π½Π΅ сущСствовало Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ. Випизация – это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡ΠΊΠΈ ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΌΡƒ содСрТимому. Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ создаСм ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡ΠΊΡƒ, ΠΌΡ‹ ΠΊΡ€ΠΎΠΌΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ. И Ρ‚ΠΎΠ³Π΄Π°, Π² ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡ΠΊΡƒ для IPhone ΠΊΠΎΡ‚Π΅Π½ΠΎΡ‡ΠΊΠ° Ρ‚Ρ‹ ΡƒΠΆΠ΅ Π½Π΅ Π·Π°ΡΡƒΠ½Π΅ΡˆΡŒ.

Π­Ρ‚ΠΎ позволяСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ ошибок, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ Π±ΡƒΠ΄Π΅ΡˆΡŒ Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π² ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡ΠΊΠ΅, ΠΈ Π±ΡƒΠ΄Π΅ΡˆΡŒ Π³ΠΎΡ‚ΠΎΠ² ΠΊ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ Ρ‚Π΅Π±Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ сСбя вСсти с содСрТимым.

Π―Π·Ρ‹ΠΊΠΈ программирования условно ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚ΠΈΠΏΠ°:

Π‘ΠΈΠ»ΡŒΠ½ΠΎΡ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ – Ρ‚Π΅, Π³Π΄Π΅ вся ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π·Π° ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… лоТится Π½Π° программиста

Π‘Π»Π°Π±ΠΎΡ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ – Ρ‚Π΅, Π³Π΄Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ сам Ρ€Π΅ΡˆΠ°Π΅Ρ‚, ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ случаС.

Π―Π·Ρ‹ΠΊ C# относится ΠΊ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это Π»ΠΈΡˆΠ°Π΅Ρ‚ Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΎΠΉ гибкости ΠΊΠ°ΠΊ Ρ‚ΠΎΡ‚ ΠΆΠ΅ самый JavaScript (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ относится ΠΊΠΎ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ), Π½ΠΎ ΠΏΡ€ΠΈ этом Π΄Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ ошибок.

Π’ΠΈΠ΄Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² языкС C#

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΌΡ‹ приступим ΠΊ знакомству с основными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² языкС C# Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ вопрос – Π²ΠΈΠ΄Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. На самом Π΄Π΅Π»Π΅ ΠΈΡ… всСго Π΄Π²Π°:

БсылочныС – хранятся Π² ΠΊΡƒΡ‡Π΅ (слоТныС Ρ‚ΠΈΠΏΡ‹ ΠΈ классы)

Π—Π½Π°Ρ‡ΠΈΠΌΡ‹Π΅ – хранятся Π² стСкС (Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹)

ΠœΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° этой Ρ‚Π΅ΠΌΠ΅, Π½ΠΎ общая идСя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ:

Условно Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ сущСствуСт Π΄Π²Π° Π²ΠΈΠ΄Π° памяти для Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния:

Π‘Ρ‚Π΅ΠΊ (Stack) – быстрая ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π½ΠΎ сильно ограничСнная ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ

ΠšΡƒΡ‡Π° (Heap) – ΠΏΠ°ΠΌΡΡ‚ΡŒ, ограничСнная Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²ΠΊΠΈ, Π½ΠΎ ΠΏΡ€ΠΈ этом Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ мСдлСнная, Ρ‡Π΅ΠΌ стСк.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ нСслоТно ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ стСк Ρ…Ρ€Π°Π½ΠΈΡ‚ нСбольшиС ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ обСспСчиваСтся доступ с наибольшСй ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ, Π° Π² ΠΊΡƒΡ‡Π΅ хранятся слоТныС сущности, содСрТащиС большой объСм Π΄Π°Π½Π½Ρ‹Ρ….

Π’ΠΈΠΏΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² языкС C#

НачнСм со знакомства с Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΡ… Π½ΠΈΡ… Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Π΅):

Π­Ρ‚ΠΎ самыС распространСнныС ΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ это Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всС Ρ‚ΠΈΠΏΡ‹. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ быстродСйствии ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠΈ систСмных рСсурсов.

Π˜ΠΌΡΠšΠ»Π°ΡΡΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠŸΡ€ΠΈΠΌΠ΅Ρ€
sbyteSByteМалСнькоС Ρ†Π΅Π»ΠΎΠ΅ число со Π·Π½Π°ΠΊΠΎΠΌ

НадСюсь, Ρ‚Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ», Ρ‡Ρ‚ΠΎ для Ρ‚ΠΈΠΏΠΎΠ² float ΠΈ decimal ΠΏΡ€ΠΈ Π΄Ρ€ΠΎΠ±Π½ΠΎΠΌ числС добавляСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ Π»ΠΈΡ‚Π΅Ρ€Π° (F ΠΈ M соотвСтствСнно). Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² C# Π΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ числа хранятся Π² Ρ‚ΠΈΠΏΠ΅ double, Π° это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ компилятор ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ воспринимал эти числа. Для Ρ†Π΅Π»Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ это Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

ОбъявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² языкС C#

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ слСдуСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Π΅ Ρ‚ΠΈΠΏ ΠΈ имя, ΠΈ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ сразу ΠΆΠ΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ (Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ). БоотвСтствСнно, объявлСниС цСлочислСнной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π“Π΄Π΅ int – Ρ‚ΠΈΠΏ, i – имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, = β€” символ присваивания значСния, 42 – Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ; β€” символ окончания ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Данная Ρ„ΠΎΡ€ΠΌΠ° являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ, Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Аналогичным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ происходит объявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ².

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° var Π² языкС C#

Π’ΠΈΠΏ var ΠΏΠΎ своСй сути являСтся просто синтаксичСским сахаром. Он позволяСт Π½Π΅ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Π² объявлСнии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, получая Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Ρ‚ΠΈΠΏΠ΅ ΠΈΠ· контСкста. ΠŸΡ€ΠΎΡ‰Π΅ всСго это ΠΏΠΎΠ½ΡΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС компилятор ΠΈ Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΌ числом, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ справа ΠΎΡ‚ = стоит Ρ†Π΅Π»ΠΎΠ΅ число. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ силы программиста ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ var, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· контСкста, ΠΏΡ€ΠΈ этом ΠΎΠ½Π° всС Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ ΡΠΈΠ»ΡŒΠ½ΠΎΡ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎΠΉ. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Ссли Ρ‚Ρ‹ сначала объявишь ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅ число, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΡˆΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΉ строку, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡˆΡŒ ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° dynamic Π² C#

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС, компилятор Π½Π° этапС написания Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹, Π½ΠΎ СстСствСнно Π½Π° этапС выполнСния прилоТСния Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сообщСниС ΠΎΠ± ошибкС.

Π― Π΅Ρ‰Π΅ Ρ€Π°Π· Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Ρ‚Ρ€ΠΈΠΆΠ΄Ρ‹ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот Ρ‚ΠΈΠΏ, ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎΡΠΎΠ²Π΅Ρ‚ΠΎΠ²Π°Ρ‚ΡŒΡΡ с ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π΅Ρ‰Π΅ Ρ€Π°Π· ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π½Π΅ остаСтся Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот Ρ‚ΠΈΠΏ.

Π—Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

НСобходимо ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ всСх Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. ВывСсти ΠΈΡ… Π½Π° консоль. Π˜Π·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ свойства доступныС для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ΅ intellisense.

ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° ΠΌΠΎΠΉ YouTube-ΠΊΠ°Π½Π°Π», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΆΠΈΠ²Ρ‹Π΅ ΡƒΡ€ΠΎΠΊΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° языкС C#, Π° Ρ‚Π°ΠΊΠΆΠ΅ вступайтС Π² мою Π³Ρ€ΡƒΠΏΠΏΡƒ Π’ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅ ΠΈ Telegram-ΠΊΠ°Π½Π°Π». Π’Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΏΠΎ всСм языкам, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ IT-ΡŽΠΌΠΎΡ€. А Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ для программиста: ΠΊΠ°ΠΊ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ?

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Руководство ΠΏΠΎ JavaScript, Ρ‡Π°ΡΡ‚ΡŒ 3: ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, выраТСния, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹

БСгодня, Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ части ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° руководства ΠΏΠΎ JavaScript, ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… способах объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎ выраТСниях ΠΈ ΠΎΠ± особСнностях Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ прСдставляСт собой ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ присвоСно Π½Π΅ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. К ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, работая Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ с присвоСнным Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

Π‘Π°ΠΌΠ° ΠΏΠΎ сСбС пСрСмСнная Π² JavaScript Π½Π΅ содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΈΠΏΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π² Π½Π΅ΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ записав Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, строку, ΠΏΠΎΠ·ΠΆΠ΅ Π² Π½Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ число. Вакая опСрация ошибки Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚. ИмСнно поэтому JavaScript ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Β«Π½Π΅Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΒ» языком.

β–ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово var

Π”ΠΎ появлСния стандарта ES2015 использованиС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова var Π±Ρ‹Π»ΠΎ СдинствСнным способом объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Π’Π°ΠΊ, Ссли Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ строгий Ρ€Π΅ΠΆΠΈΠΌ (strict mode), ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Если строгий Ρ€Π΅ΠΆΠΈΠΌ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½, ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ нСявноС объявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. Π’ частности, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ пСрСмСнная, нСявно объявлСнная Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π² Π½Π΅ΠΊΠΎΠ΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, окаТСтся доступной ΠΈ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ функция Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΆΠ΅ оТидаСтся, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅ΠΌΡ‹Π΅ Π² функциях, Π½Π΅ «выходят» Π·Π° ΠΈΡ… ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹. Выглядит это Ρ‚Π°ΠΊ:

Π’ ΠΎΠ΄Π½ΠΎΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ нСсколько ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

ΠžΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (scope) Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ участок ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ доступна (Π²ΠΈΠ΄ΠΈΠΌΠ°) эта пСрСмСнная.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ, инициализированная с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова var Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, назначаСтся Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. Она ΠΈΠΌΠ΅Π΅Ρ‚ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости ΠΈ доступна ΠΈΠ· любого мСста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Если пСрСмСнная объявлСна с использованиСм ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова var Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΎ ΠΎΠ½Π° Π²ΠΈΠ΄Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, являясь для Π½Π΅Ρ‘ локальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±Π»ΠΎΠΊΠΈ (области ΠΊΠΎΠ΄Π°, Π·Π°ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹Π΅ Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки) Π½Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π½ΠΎΠ²Ρ‹Ρ… областСй видимости. Новая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости создаётся ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово var ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости, Π° Π½Π΅ Π±Π»ΠΎΡ‡Π½ΡƒΡŽ.

Если Π² ΠΊΠΎΠ΄Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ объявлСна нСкая пСрСмСнная, ΠΎΠ½Π° Π²ΠΈΠ΄Π½Π° всСму ΠΊΠΎΠ΄Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π”Π°ΠΆΠ΅ Ссли пСрСмСнная объявлСна с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ var Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΊΠΎΠ΄Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² JavaScript Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ поднятия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (hoisting). Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Β«ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅Ρ‚Β» объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π½ΠΎ Π½Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΡ… ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ источником ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρ‹, поэтому Π²ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ сСбС Π·Π° ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

β–ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово let

Если само слово Β«letΒ» каТСтся Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ понятным, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ вмСсто Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ слово Β«ΠΏΡƒΡΡ‚ΡŒΒ». Π’ΠΎΠ³Π΄Π° Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ let color = ‘red’ ΠΌΠΎΠΆΠ½ΠΎ пСрСвСсти Π½Π° английский Ρ‚Π°ΠΊ: Β«let the color be redΒ», Π° Π½Π° русский β€” Ρ‚Π°ΠΊ: Β«ΠΏΡƒΡΡ‚ΡŒ Ρ†Π²Π΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ красным».

НапримСр, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ:

β–ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово const

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ константС a нСльзя ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Но Π½Π°Π΄ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ссли a β€” это Π½Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ числа, Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, использованиС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова const Π½Π΅ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

Когда говорят, Ρ‡Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ записан ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½Π° самом Π΄Π΅Π»Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π² Π²ΠΈΠ΄Ρƒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ хранится ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π­Ρ‚Ρƒ Π²ΠΎΡ‚ ссылку ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π΅ удастся, Π° сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π²Π΅Π΄Ρ‘Ρ‚ ссылка, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово const Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠΌΠΌΡƒΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Оно просто Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ ΠΎΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ссылки Π½Π° Π½ΠΈΡ…, записанныС Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ константы. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это выглядит:

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

JavaScript ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Β«Π½Π΅Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΒ» языком, Π½ΠΎ это Π½Π΅ соотвСтствуСт Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌΡƒ полоТСнию Π΄Π΅Π». Π’ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΈ ΠΏΡ€Π°Π²Π΄Π°, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ значСния Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Π½ΠΎ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² JavaScript, всё-Ρ‚Π°ΠΊΠΈ, Π΅ΡΡ‚ΡŒ. Π’ частности, Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Ρ‘Ρ‚ ΠΎ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈ ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

β–ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ΠΎΡ‚ список ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… JavaScript:

ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· этого списка.

Π’ΠΈΠΏ number

ЗначСния Ρ‚ΠΈΠΏΠ° number Π² JavaScript прСдставлСны Π² Π²ΠΈΠ΄Π΅ 64-Π±ΠΈΡ‚Π½Ρ‹Ρ… чисСл Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.

Π’ ΠΊΠΎΠ΄Π΅ числовыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ прСдставлСны Π² Π²ΠΈΠ΄Π΅ Ρ†Π΅Π»Ρ‹Ρ… ΠΈ Π΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… чисСл Π² дСсятичной систСмС счислСния. Для записи чисСл ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ способы. НапримСр, Ссли Π² Π½Π°Ρ‡Π°Π»Π΅ числового Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π° имССтся прСфикс 0x β€” ΠΎΠ½ воспринимаСтся ΠΊΠ°ΠΊ число, записанноС Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния. Числа ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈ Π² ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ прСдставлСнии (Π² Ρ‚Π°ΠΊΠΈΡ… числах ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π±ΡƒΠΊΠ²Ρƒ e ).

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ записи Ρ†Π΅Π»Ρ‹Ρ… чисСл:

Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Подсказка ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠ΅ Number

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ скобки послС ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. Если ΠΈΡ… Π½Π΅ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, систСма Π½Π΅ выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π½ΠΎ, вмСсто ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π°, Π² консоли окаТСтся Π½Π΅Ρ‡Ρ‚ΠΎ, совсСм Π½Π΅ ΠΏΠΎΡ…ΠΎΠΆΠ΅Π΅ Π½Π° строковоС прСдставлСниС числа 5.

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Number ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ конструктора, создавая с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΎΠ²Ρ‹Π΅ числа (ΠΏΡ€Π°Π²Π΄Π°, Π² Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ Π΅Π³ΠΎ практичСски Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚), ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒΡŽ, Π½Π΅ создавая Π΅Π³ΠΎ экзСмпляры (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ β€” Π½Π΅ΠΊΠΈΠ΅ числа, прСдставляСмыС с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ). НапримСр, Π΅Π³ΠΎ свойство Number.MAX_VALUE содСрТит максимальноС числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, прСдставимоС Π² JavaScript.

Π’ΠΈΠΏ string

ЗначСния Ρ‚ΠΈΠΏΠ° string ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ символов. Π’Π°ΠΊΠΈΠ΅ значСния Π·Π°Π΄Π°ΡŽΡ‚ Π² Π²ΠΈΠ΄Π΅ строковых Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ², Π·Π°ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹Ρ… Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ.

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ значСния ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ Π½Π° нСсколько частСй, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ символ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ косой Ρ‡Π΅Ρ€Ρ‚Ρ‹ (backslash).

Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ строки Π² консоль. НапримСр, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ \n ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ символ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строки. Π‘ΠΈΠΌΠ²ΠΎΠ» ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ косой Ρ‡Π΅Ρ€Ρ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π² строки, Π·Π°ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹Π΅ Π² Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. Π­ΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ символа ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ \ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ систСма Π½Π΅ воспринимаСт Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ.

Π¨Π°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹

Π’ ES2015 появились Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹, ΠΈΠ»ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ строки. Они ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой строки, Π·Π°ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹Π΅ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ( ` ) ΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ интСрСсными свойствами.

НапримСр, Π² ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ΠΊΠΈΠ΅ значСния, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ вычислСния JavaScript-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

ИспользованиС ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½ΡƒΡŽ запись строковых Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ²:

Π’ΠΈΠΏ boolean

Π’ частности, Π»ΠΎΠΆΠ½Ρ‹ΠΌΠΈ значСниями ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ значСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ истинными.

Π’ΠΈΠΏ null

Π’ΠΈΠΏ undefined

β–ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹

ВыраТСния

ВыраТСния β€” это Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π° основС ΠΏΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Ρ… вычислСний Π½Π΅ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ JavaScript сущСствуСт нСсколько ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

АрифмСтичСскиС выраТСния

Π’ эту ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ выраТСния, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ вычислСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ числа.

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ выраТСния

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ вычислСния Ρ‚Π°ΠΊΠΈΡ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΡΠ²Π»ΡΡŽΡ‚ΡΡ строки.

ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Π΅ выраТСния

Π’ эту ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹, константы, ссылки Π½Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹.

Бюда ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова ΠΈ конструкции JavaScript.

ВыраТСния ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ массивов ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

ЛогичСскиС выраТСния

Π’ логичСских выраТСниях ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΈΡ… вычислСния ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ логичСскиС значСния.

ВыраТСния доступа ΠΊ свойствам

Π­Ρ‚ΠΈ выраТСния ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ свойствам ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

ВыраТСния создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

ВыраТСния объявлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

ВыраТСния Π²Ρ‹Π·ΠΎΠ²Π°

Π’Π°ΠΊΠΈΠ΅ выраТСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π Π°Π±ΠΎΡ‚Π° с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ

β–ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ½ΠΎΠ΅ наслСдованиС

JavaScript выдСляСтся срСди соврСмСнных языков программирования Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ½ΠΎΠ΅ наслСдованиС. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языков ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ модСль наслСдования, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° классах.

Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ JavaScript-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΅ΡΡ‚ΡŒ особоС свойство ( __proto__ ), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠΌ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ наслСдуСт свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ°.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ нас имССтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, созданный с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

ВсС свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° доступны ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΌΡƒ этот ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ. Π’ΠΎΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ выглядит ΠΈΡ… список для массива.

Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Подсказка ΠΏΠΎ массиву

Π£ Object.prototype ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° Π½Π΅Ρ‚.

Π’ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Π²Ρ‹ΡˆΠ΅, являСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ².

ΠŸΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ обращСния ΠΊ свойству ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ссли Ρ‚Π°ΠΊΠΎΠ³ΠΎ свойства ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Ρƒ самого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅Ρ‚, ΠΈΡ… поиск выполняСтся Π² Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ΅, ΠΏΠΎΡ‚ΠΎΠΌ β€” Π² ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ°, ΠΈ Ρ‚Π°ΠΊ β€” Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° искомоС Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, ΠΈΠ»ΠΈ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ² Π½Π΅ кончится.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ-конструкторы

Π’Ρ‹ΡˆΠ΅ ΠΌΡ‹ создавали Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΠΈΡΡ Π² языкС функциями-конструкторами (ΠΏΡ€ΠΈ ΠΈΡ… Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово new ). Π’Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ создаём Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ-конструктор. ΠŸΡ€ΠΈ Π΅Ρ‘ Π²Ρ‹Π·ΠΎΠ²Π΅ создаётся Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово this Π² Ρ‚Π΅Π»Π΅ конструктора. ΠœΡ‹ добавляСм Π² этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ свойство name ΠΈ записываСм Π² Π½Π΅Π³ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ конструктору. Π­Ρ‚ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ возвращаСтся ΠΈΠ· конструктора автоматичСски. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-конструктора ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мноТСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², свойства name ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ ΠΏΡ€ΠΈ ΠΈΡ… создании конструктору.

β–ΠšΠ»Π°ΡΡΡ‹

Π’ стандартС ES6 Π² JavaScript ΠΏΡ€ΠΈΡˆΠ»ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ понятиС ΠΊΠ°ΠΊ «класс».

Π”ΠΎ этого Π² JavaScript ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ лишь Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ½ΠΎΠ³ΠΎ наслСдования. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π½Π΅ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎ выглядСл для программистов, ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠΈΡ… Π² JS ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… языков. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² языкС ΠΈ появились классы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΠΏΠΎ сути, ΡΠ²Π»ΡΡŽΡ‚ΡΡ «синтаксичСским сахаром» для ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° наслСдования. Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, созданныС Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ способом, ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, созданныС с использованиСм классов, ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹.

ОбъявлСниС класса

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ выглядит объявлСниС класса.

НаслСдованиС, основанноС Π½Π° классах

ΠšΠ»Π°ΡΡΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ классы. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, созданныС Π½Π° основС Ρ‚Π°ΠΊΠΈΡ… классов, Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ исходного класса, ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΌ классС.

Если класс, Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰ΠΈΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ класс (наслСдник этого класса) ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄, имя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ совпадаСт с Ρ‚Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅ΡΡ‚ΡŒ Ρƒ класса-родитСля, этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ‚ прСимущСство ΠΏΠ΅Ρ€Π΅Π΄ исходным.

Π’ классах Π½Π΅ прСдусмотрСно Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (свойств), свойства создаваСмых с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ классов ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Π² конструкторС.

БтатичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹, описываСмыС Π² классС, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ, созданным Π½Π° основС этого класса, Π½ΠΎ Π½Π΅ ΠΊ самому классу. БтатичСскиС ( static ) ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ нСпосрСдствСнно ΠΊ классу.

ΠŸΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

Π’ JavaScript Π½Π΅Ρ‚ встроСнного ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ (частныС, Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅) ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Π­Ρ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с использованиСм Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠΉ.

Π“Π΅Ρ‚Ρ‚Π΅Ρ€Ρ‹ ΠΈ сСттСры

Π˜Ρ‚ΠΎΠ³ΠΈ

Π’ этом ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎ выраТСниях ΠΈ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π² JavaScript. Π’Π΅ΠΌΠΎΠΉ нашСго ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ! Если Π²Ρ‹ ΡƒΠΆΠ΅ Π΄Π°Π²Π½ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π½Π° JS, просим Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅ΡΡŒ ΠΊ появлСнию Π² языкС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова class.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Java: ΠΊΠ°ΠΊΠΈΠ΅ Π±Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Π΅ΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΈ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ссылки ΠΈ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹

РассказываСм, ΠΊΠ°ΠΊ дТависту Π½Π΅ Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒΡΡ Π²ΠΎ всСх этих byte, short, boolean, char ΠΈ String.

Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Основа любого языка программирования β€” Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΎΠΏΠ΅Β­Ρ€Π°Ρ†ΠΈΠΈ с Π½ΠΈΠΌΠΈ. Java Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык, поэтому Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π°Ρ‚ Π² Π½Ρ‘ΠΌ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠ΅.

Java слСдит Π·Π° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, выраТСния ΠΈ значСния соотвСтствовали своСму Ρ‚ΠΈΠΏΡƒ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ допустимы для ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, нСльзя провСсти с Π΄Ρ€ΡƒΠ³ΠΈΠΌ β€” Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ опрСдСляСт, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ.

Когда ΠΊΠΎΠ΄ Π½Π° Java компилируСтся, машина провСряСт соотвСтствиС Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² Π²ΠΎ всСх ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ…, конструкторах ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ…. Если Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΅ΡΡ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄Π½Π° нСдопустимая опСрация, компилятор Π½Π΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ Π΅Ρ‘ Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ количСство ошибок ΠΏΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим:

Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚, ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŒ Skillbox. ΠŸΠΈΡˆΠ΅Ρ‚ ΠΏΡ€ΠΎ Java.

КакиС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Π² Java

Π’ Java Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… дСлят Π½Π° Π΄Π²Π΅ большиС Π³Ρ€ΡƒΠΏΠΏΡ‹: ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΈ ссылочныС. Π’ состав ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (ΠΈΠ»ΠΈ просто ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ²) входят Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΠΎΠ΄Π²ΠΈΠ΄Π° ΠΈ восСмь Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…:

1) Ρ†Π΅Π»Ρ‹Π΅ числа ( byte, short, int, long);

2) числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ( float, double);

3) логичСский ( boolean);

4) ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ( char).

БсылочныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π΅Ρ‰Ρ‘ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ссылками. К Π½ΠΈΠΌ относятся всС классы, интСрфСйсы, массивы, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… String.

Π₯отя Ρƒ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² ΠΈ ссылок ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ, ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π΅ΡΡ‚ΡŒ сущСствСнныС различия. И Π³Π»Π°Π²Π½ΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ β€” Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Π½ΠΈΡ… хранится.

ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ пСрСмСнныСБсылочныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
Π₯ранят Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π₯ранят адрСс ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² памяти, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ (ΠΎΡ‚ΡΡŽΠ΄Π° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅).

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для доступа ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ (Π΅Π³ΠΎ нСльзя ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, Ссли Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅Ρ‚ ссылки)

Π‘ΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ присваиваниСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΡΠ‘ΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· конструкторы классов (присваиваниС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ создаёт Π²Ρ‚ΠΎΡ€ΡƒΡŽ ссылку Π½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚)
Π˜ΠΌΠ΅ΡŽΡ‚ строго Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ допустимых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉΠŸΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” null
Π’ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ ΠΊΠΎΠΏΠΈΠΈ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (это ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ)Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ пСрСдаётся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ссылки β€” опСрация выполняСтся Π½Π°Π΄ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ссылаСтся пСрСмСнная
ΠœΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ссылки Π½Π° любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ объявлСнного ΠΈΠ»ΠΈ совмСстимого Ρ‚ΠΈΠΏΠ°

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈ ссылочных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…:

ЗначСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

Как ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΈ, Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΅ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Оно присваиваСтся ΠΏΡ€ΠΈ Π΅Ρ‘ создании.

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

А Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ значСния ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ класса: ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ создадим класс Cat, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ weight Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ 0.0.

Π£ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² Π΅ΡΡ‚ΡŒ строгиС Ρ€Π°ΠΌΠΊΠΈ допустимых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ β€” для удобства ΠΌΡ‹ собрали ΠΈΡ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΊ названию Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ цСлочислСнныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

ЦСлочислСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π˜Ρ… основная Π·Π°Π΄Π°Ρ‡Π° β€” Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для вычислСний.

Π’ΠΈΠΏ byte. Π­Ρ‚ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΏΠΎ сСти.

Π’ΠΈΠΏ short. По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с byte Ρƒ Π½Π΅Π³ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ, Π½ΠΎ всё ΠΆΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ short Ρ€Π΅Π΄ΠΊΠΎ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ.

Π’ΠΈΠΏ int. Π’ языкС Java int β€” самый популярный Ρ‚ΠΈΠΏ цСлочислСнных Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈ вычислСниях Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ цСлочислСнныС Ρ‚ΠΈΠΏΡ‹ ( byte, short) Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΆΠ΅ памяти, сколько int.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ классов Π² Java ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ значСниями Ρ‚ΠΈΠΏΠ° int β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π»ΠΈΠ½Π° массива Π²Π½ΡƒΡ‚Ρ€ΠΈ класса String выраТаСтся цСлочислСнным Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ int:

Если пСрСмСнная Ρ…Ρ€Π°Π½ΠΈΡ‚ количСство элСмСнтов Π² коллСкциях List, Set ΠΈ Map, ΠΎΠ½Π° Ρ‚ΠΎΠΆΠ΅ относится ΠΊ Ρ‚ΠΈΠΏΡƒ int:

Π’ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния подсказываСт, сколько элСмСнтов ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² спискС ΠΈΠ»ΠΈ мноТСствС. ΠœΠ°ΠΊΡΠΈΠΌΡƒΠΌ для int β€” 2 147 483 647.

Π’ΠΈΠΏ long ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с большими цСлочислСнными значСниями.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ компилятор воспринимаСт Ρ†Π΅Π»ΠΎΠ΅ число ΠΊΠ°ΠΊ int, Π° 9 223 372 036 854 Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС Π΅Π³ΠΎ максимального значСния, поэтому Π² ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½ΡƒΠΆΠ½ΠΎ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ long.

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… double ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с дСсятичными числами.

Π’ΠΈΠΏ float ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ экономичный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ хранСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ.

Когда ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ Ρ‚ΠΈΠΏ float, язык Java воспринимаСт Π΅Ρ‘ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… double. Π§Ρ‚ΠΎΠ±Ρ‹ этого Π½Π΅ происходило, Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ символ f ΠΈΠ»ΠΈ F.

Π”Π°ΠΆΠ΅ Ссли Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… float ΠΈ double Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ значСния, язык Java ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΡ… ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, поэтому ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΡ‘ΠΌ памяти.

НС стоит ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ float, ΠΊΠΎΠ³Π΄Π° Π² вычислСниях Π½ΡƒΠΆΠ½Π° Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ большС пяти Π·Π½Π°ΠΊΠΎΠ² послС запятой. Oracle ΠΏΠΈΡˆΠ΅Ρ‚ ΠΎΠ± этом Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Β«Primitive Data TypesΒ».

ЛогичСский ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с логичСскими значСниями, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… boolean β€” это Π΅Π³ΠΎ СдинствСнноС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅. Π£ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° значСния: false (лоТь) ΠΈ true (истина).

Π’ Java boolean β€” ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ пСрСмСнная. Π­Ρ‚ΠΎ Π½Π΅ Π°Π½Π°Π»ΠΎΠ³ 1 ΠΈΠ»ΠΈ 0, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² JavaScript ΠΈ PHP.

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… char ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π»ΡŽΠ±Ρ‹Π΅ 16-разрядныС символы Unicode. Но ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ строго Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ‘ ‘, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ.

НС стоит ΠΏΡƒΡ‚Π°Ρ‚ΡŒ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈ строковыС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ β€” ‘ΠΆ’ Π½Π΅ Ρ€Π°Π²Π½ΠΎ «ΠΆ», ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… хранится Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… String. А это ΡƒΠΆΠ΅ Π½Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ².

ЗначСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для ссылочных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

Π’ ΠΏΠ»Π°Π½Π΅ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ссылочныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ². По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” null: это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ отсутствиС ссылки ΠΈΠ»ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ссылка Π½ΠΈ Π½Π° Ρ‡Ρ‚ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚.

Но Ссли Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ null, это ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ошибкС NullPointerException:

Π’ ссылочныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈ String β€” это класс ΠΈΠ· стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Java. Он Π½Π΅ относится ΠΊ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌ, Π½ΠΎ Π΅Π³ΠΎ повсСмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ тСкстовыС Π΄Π°Π½Π½Ρ‹Π΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования String:

Π‘Ρ‚Ρ€ΠΎΡ‡Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ»Π΅ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ +, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ.

Boxing ΠΈ unboxing β€” ΠΊΠ°ΠΊ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ² Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

Иногда с ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌΠΈ приходится Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ссылкС ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ список ΠΈΠ· чисСл (Π° списки Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ).

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π° Π΅ΡΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π΅ΠΌΡƒ ссылочный Ρ‚ΠΈΠΏ β€” Π΅Π³ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ классом-ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΎΠΉ. Π’ Ρ‚Π°ΠΊΠΈΡ… классах хранятся ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для прСобразования Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ константы ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌΠΈ.

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…ΠšΠ»Π°ΡΡ-ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠ°
byteByte
shortShort
intInteger
longLong
charCharacter
floatFloat
doubleDouble
booleanBoolean

БсылочныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈ) ΠΏΠΈΡˆΡƒΡ‚ с прописной Π±ΡƒΠΊΠ²Ρ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ классы. А Π² Java названия всСх классов Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с большой Π±ΡƒΠΊΠ²Ρ‹ β€” язык чувствитСлСн ΠΊ рСгистру.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ссылку Π½Π° ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΡƒ:

Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ valueOf, процСсс упаковывания становится ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ быстрСС, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ потрСбляСт мСньшС памяти, Π° конструктор всСгда создаёт Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

ΠšΠ»Π°ΡΡΡ‹-ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ с числами, ΠΈ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² коллСкциях.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ( byte, short, int, long, float, double, char ΠΈ boolean), ссылочныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ( String ΠΈ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅). Π’Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ, Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ значСния ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ расскаТСм, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с этими ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ арифмСтичСских ΠΈ логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² языка Java.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *