ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях

ΠŸΠΎΡ‡Π΅ΠΌΡƒ слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ явного привСдСния Ρ‚ΠΈΠΏΠΎΠ²? (ΠΏΠΎ возмоТности)

ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ…, курсовых ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ здСсь.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° возмоТности привСдСния ΠΊ Π²ΠΈΠ΄Ρƒ диагонального прСобладания
Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… курсах числСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΏΡ€ΠΈ рассмотрСнии ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² простых ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ ЗСйдСля.

привСдСния Ρ‚ΠΈΠΏΠΎΠ²
МнС Π½Π°Π΄ΠΎ вывСсти Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° double. Но ui->w1->setText(c1) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ.

привСдСния Ρ‚ΠΈΠΏΠΎΠ²
здравствуйтС подскаТитС ΠΊΠ°ΠΊ привСсти Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ запроса linq ΠΊ полю items ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° combobox. Π²ΠΎΡ‚.

Π‘Ρ‚ΠΈΠ»ΠΈ привСдСния Ρ‚ΠΈΠΏΠΎΠ²
Π‘Ρ‚Ρ€ΠΎΠΊΠ° 38: Ρ‡Ρ‚ΠΎ Π·Π° странноС объявлСниС? ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² скобки. Π‘Ρ‚Ρ€ΠΎΠΊΠ° 39: Ρ‡Ρ‚ΠΎ Π·Π°.

Π’ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ слСдуСт Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ-Π±Ρ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠΎΠ² Π±Ρ‹Π»ΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ мСньшС. ΠŸΡ€ΠΎΡΡ‚ΠΎ для ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ количСства ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Но, Ссли ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² всС ΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Π΅Π³ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π· Ρ‚Π°ΠΊΠΈ Π»ΡƒΡ‡ΡˆΠ΅ Π΄Π΅Π»Π°Ρ‚ΡŒ явным.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· 1 ΠΌΠΈΠ½ΡƒΡ‚Ρƒ
А Π²ΠΎΠΎΠ±Ρ‰Π΅, интСрСсно, Ρ‡Ρ‚ΠΎ ΡΡ‚Π°Ρ€ΡˆΠΈΠ΅ Ρ‚ΠΎΠ²Π°Ρ€ΠΈΡ‰ΠΈ Π΄ΡƒΠΌΠ°ΡŽΡ‚ ΠΏΠΎ этому ΠΏΠΎΠ²ΠΎΠ΄Ρƒ.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· 22 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹
А ΠΈΠ· ΠΊΠ°ΠΊΠΎΠ³ΠΎ это источника Π²ΠΎΠΎΠ±Ρ‰Π΅ это ΠΌΠ½Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ явного привСдСния слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ?
Π§Ρ‚ΠΎ-Ρ‚ΠΎ Π³ΡƒΠ³Π» Π½ΠΈΡ‡Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ тСбя Π΅ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π² int, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅ΡˆΡŒΡΡ
Π·Π°ΠΏΠΈΡ…Π½ΡƒΡ‚ΡŒ Π² byte, зная, Ρ‡Ρ‚ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ случаС ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π°
Π½Π΅ наступит (Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ укладываСтся Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ byte).
ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€, СстСствСнно, Π±ΡƒΠ΄Π΅Ρ‚ Ρ€ΡƒΠ³Π°Ρ‚ΡŒΡΡ Π½Π° Ρ‚Π°ΠΊΠΎΠ΅. Но Ρ‚Ρ‹ ΡΡ‚Π°Π²ΠΈΡˆΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΠΊΠ°ΠΊ Π±Ρ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΡˆΡŒ Π΅ΠΌΡƒ: «ΡƒΡΠΏΠΎΠΊΠΎΠΉΡΡ, я знаю, Ρ‡Ρ‚ΠΎ дСлаю».

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ привСдСния Ρ‚ΠΈΠΏΠΎΠ², особСнно Π² стилС «C», ΠΊΡ€Π°ΠΉΠ½Π΅ опасны. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΈΡ….
Если это Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚ΠΎ хотя Π±Ρ‹ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ассСрт, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰ΠΈΠΉ
ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρ‹.

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

BestProg

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ². АвтоматичСскоС ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π² выраТСниях

Поиск Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… рСсурсах:

1. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ явноС ΠΈ автоматичСскоС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π² выраТСниях?

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ явноС ΠΈ автоматичСскоС (нСявноС).

ΠŸΡ€ΠΈ явном ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ² сама опСрация привСдСния задаСтся явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

ΠŸΡ€ΠΈ автоматичСском ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ Π΄Π²Π° условия:

⇑

2. Как выглядит явноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π² выраТСниях? ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π―Π²Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² позволяСт ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ присвоСниС нСсовмСстимых Ρ‚ΠΈΠΏΠΎΠ². ΠžΠ±Ρ‰Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° явного привСдСния Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ явного привСдСния Ρ‚ΠΈΠΏΠΎΠ².

⇑

3. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ автоматичСского привСдСния Ρ‚ΠΈΠΏΠΎΠ²

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1. АвтоматичСскоС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ цСлочислСнных Ρ‚ΠΈΠΏΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2. АвтоматичСскоС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3. АвтоматичСскоС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². Π’Π°ΠΊΠΎΠΉ случай Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½, Ссли ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой присваиваСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ цСлочислСнного Ρ‚ΠΈΠΏΠ°.

⇑

4. Как осущСствляСтся автоматичСскоС ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π² выраТСниях?

АвтоматичСскоС ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² происходит Π² выраТСниях. ΠŸΡ€ΠΈ этом, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‚ Π² выраТСниях, автоматичСски ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ³Π°ΡŽΡ‚ΡΡ ΠΊ Ρ‚ΠΈΠΏΠ°ΠΌ с большими Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

ΠŸΡ€ΠΈ автоматичСском ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π² выраТСниях:

⇑

5. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ продвиТСния ΠΈΠ· Ρ‚ΠΈΠΏΠ° byte Π² int Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ содСрТит ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ²-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° int (long)

Π’Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ:

Π’ Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ значСния 1000 ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠ° byte. Π‘Π½Π°Ρ‡Π°Π»Π° число 1000 приводится ΠΊ Ρ‚ΠΈΠΏΡƒ int. Но Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

Ρ‚ΠΎ Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ ошибка компиляции с Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ сообщСния:

Π’ этом случаС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π΅ помСщаСтся Π² Ρ‚ΠΈΠΏ byte:

Π’ΠΎΠ³Π΄Π° это число (5000) автоматичСски становится Ρ‚ΠΈΠΏΠΎΠΌ int ΠΈ компилятор выдаст сообщСниС ΠΎΠ± ошибкС.

Если ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ явноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ²:

Π’Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ относятся ΠΈ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠ² short ΠΈ char.

⇑

6. ΠŸΡ€ΠΈΠΌΠ΅Ρ€. ΠŸΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· Ρ‚ΠΈΠΏΠ° byte Π² Ρ‚ΠΈΠΏ int, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ содСрТит ΠΎΠΏΠ΅Ρ€Π°Π½Π΄-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° int

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΅ΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠ° int (Π° Π½Π΅ byte ) Π΄Π°ΠΆΠ΅ Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ помСщаСтся Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠ° byte. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ пСрСмСнная-ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ d Ρ‚ΠΈΠΏΠ° int.

Если ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ явноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ², Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ:

⇑

7. ΠŸΡ€ΠΈΠΌΠ΅Ρ€. ΠŸΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· Ρ‚ΠΈΠΏΠ° int Π² Ρ‚ΠΈΠΏ long

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ продвиТСния Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠ· int Π² long. Если ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² Π΅ΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠ° long, Ρ‚ΠΎ всС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ продвигаСтся ΠΊ Ρ‚ΠΈΠΏΡƒ long.

⇑

8. ΠŸΡ€ΠΈΠΌΠ΅Ρ€. ΠŸΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊ Ρ‚ΠΈΠΏΡƒ float

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ссли ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ float, Ρ‚ΠΎ всС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ продвигаСтся ΠΊ Ρ‚ΠΈΠΏΡƒ float (Ссли отсутствуСт Ρ‚ΠΈΠΏ double).

⇑

9. ΠŸΡ€ΠΈΠΌΠ΅Ρ€. ΠŸΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊ Ρ‚ΠΈΠΏΡƒ double

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ:

⇑

БвязанныС Ρ‚Π΅ΠΌΡ‹

⇑

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: тСория ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

Π ΡƒΠ±Ρ€ΠΈΠΊΠΈ

БвСТиС записи

ΠŸΡ€ΠΈ использовании ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² сайта, ссылка Π½Π° сайт ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°.

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

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ²

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ, Java являСтся строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком, Π° это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ каТдая пСрСмСнная ΠΈΠΌΠ΅Π΅Ρ‚ строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΡƒΠΆΠ΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ компиляции. Π’ΠΈΠΏ устанавливаСтся Π½Π° основС структуры примСняСмых Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ², ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² этих выраТСниях.

Рассмотрим, ΠΊΠ°ΠΊ Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ компилятор устанавливаСт Ρ‚ΠΈΠΏ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ выраТСния ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ прСобразования ( conversion ) Ρ‚ΠΈΠΏΠΎΠ² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ дСйствии.

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ простыС строки ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ многочислСнныС прСобразования, Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Π΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Часто Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΈ Ρ‚Π°ΠΊΠΈΠ΅ случаи, ΠΊΠΎΠ³Π΄Π° программисту Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ явно ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ выраТСния ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ подходящим ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ конструктором.

Вспомним ΡƒΠΆΠ΅ рассмотрСнный ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Рассмотрим сначала, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ.

Π’ΠΈΠ΄Ρ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠΉ

Π’ Java прСдусмотрСно сСмь Π²ΠΈΠ΄ΠΎΠ² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠΉ:

Рассмотрим ΠΈΡ… ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ВоТдСствСнноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅

Π‘Π°ΠΌΡ‹ΠΌ простым являСтся тоТдСствСнноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅. Π’ Java ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ выраТСния любого Ρ‚ΠΈΠΏΠ° ΠΊ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Ρ‚ΠΈΠΏΡƒ всСгда допустимо ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ выполняСтся.

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ тоТдСствСнноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅? Π•ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² особый Π²ΠΈΠ΄.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, с тСорСтичСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ любой Ρ‚ΠΈΠΏ Π² Java ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ, хотя Π±Ρ‹ Π² тоТдСствСнном. НапримСр, ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ boolean нСльзя привСсти Π½ΠΈ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ, ΠΊΡ€ΠΎΠΌΠ΅ Π½Π΅Π³ΠΎ самого.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΈΠ½ΠΎΠ³Π΄Π° Π² Java ΠΌΠΎΠ³ΡƒΡ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΈΠ΅ выраТСния, ΠΊΠ°ΠΊ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° справится с Ρ‚Π°ΠΊΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ всю Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ. Π’ этом случаС ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ тоТдСствСнным ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Ρ‚ΠΈΠΏΡƒ. Π­Ρ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ Π² структурС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°:

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΈ суТСниС)

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π²ΠΈΠ΄Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠΉ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ 7.1.

Π’Π°Π±Π»ΠΈΡ†Π° 7.1. Π’ΠΈΠ΄Ρ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠΉ.

простой Ρ‚ΠΈΠΏ, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΡΡΡ‹Π»ΠΎΡ‡Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅
простой Ρ‚ΠΈΠΏ, суТСниСссылочный Ρ‚ΠΈΠΏ, суТСниС

Π§Ρ‚ΠΎ всС это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚? НачнСм ΠΏΠΎ порядку. Для простых Ρ‚ΠΈΠΏΠΎΠ² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ осущСствляСтся ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠ΅Π½Π΅Π΅ Π΅ΠΌΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΊ Π±ΠΎΠ»Π΅Π΅ Π΅ΠΌΠΊΠΎΠΌΡƒ. НапримСр, ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° byte (Π΄Π»ΠΈΠ½Π° 1 Π±Π°ΠΉΡ‚) ΠΊ Ρ‚ΠΈΠΏΡƒ int (Π΄Π»ΠΈΠ½Π° 4 Π±Π°ΠΉΡ‚Π°). Π’Π°ΠΊΠΈΠ΅ прСобразования бСзопасны Π² Ρ‚ΠΎΠΌ смыслС, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ всСгда Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ Π²ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π² сСбя всС Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡΡŒ Π² старом Ρ‚ΠΈΠΏΠ΅, ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π΅ происходит ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ИмСнно поэтому компилятор осущСствляСт Π΅Π³ΠΎ сам, Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°:

Π’ послСднСй строкС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ b Ρ‚ΠΈΠΏΠ° byte Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΎ ΠΊ Ρ‚ΠΈΠΏΡƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ a (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, int ) автоматичСски, Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… дСйствий для этого ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ 19 ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰ΠΈΠΌΠΈ:

ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌ этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ прСобразования ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΡƒΠΆΠ°ΡŽΡ‰ΠΈΠΌΠΈ:

ΠŸΡ€ΠΈ суТСнии цСлочислСнного Ρ‚ΠΈΠΏΠ° ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ·ΠΊΠΎΠΌΡƒ цСлочислСнному всС ΡΡ‚Π°Ρ€ΡˆΠΈΠ΅ Π±ΠΈΡ‚Ρ‹, Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ Π² Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ, просто ΠΎΡ‚Π±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‚ΡΡ. НС производится Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ округлСния ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… дСйствий для получСния Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°:

Π­Ρ‚ΠΎ Π²Π΅Ρ€Π½ΠΎ ΠΈ для Ρ‚ΠΈΠΏΠ° char :

Π‘ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄ΠΎ цСлочислСнного являСтся Π±ΠΎΠ»Π΅Π΅ слоТной ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ. Она проводится Π² Π΄Π²Π° этапа.

ΠŸΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ описанный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡ‚ бСсконСчности ΠΊΠΎ всСм цСлочислСнным Ρ‚ΠΈΠΏΠ°ΠΌ:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠ° char Π² Π΄Π²ΡƒΡ… послСдних ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…. ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚ char ΠΊ int Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ точности, Π½ΠΎ позволяСт Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ символ, Π° Π΅Π³ΠΎ числовой ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для Π°Π½Π°Π»ΠΈΠ·Π°.

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΅Ρ‰Π΅ Ρ€Π°Π· ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ значСния Ρ‚ΠΈΠΏΠ° boolean ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² тоТдСствСнных прСобразованиях.

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

Pro Java

Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρ‹

21 Π°ΠΏΡ€. 2015 Π³.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π² Java

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π² Java это достаточно большая Ρ‚Π΅ΠΌΠ°, Π½ΠΎ ΠΌΡ‹ постараСмся Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Π΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎ ΠΈ вмСстС с Ρ‚Π΅ΠΌ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎ. Частично ΠΌΡ‹ ΡƒΠΆΠ΅ касались этой Ρ‚Π΅ΠΌΡ‹ ΠΊΠΎΠ³Π΄Π° рассматривали ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Java.

Π’ Java Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ прСобразования ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ†Π΅Π»Ρ‹ΠΌΠΈ значСниями ΠΈ значСниями с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ значСния Ρ†Π΅Π»Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΈ Ρ‚ΠΈΠΏΠΎΠ² с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π² значСния Ρ‚ΠΈΠΏΠ° char ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ соотвСтствуСт Ρ†ΠΈΡ„Ρ€Π΅ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ Unicode. ЀактичСски Ρ‚ΠΈΠΏ boolean являСтся СдинствСнным ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Π² Java, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ нСльзя ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ нСльзя ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² boolean.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π² Java Π±Ρ‹Π²Π°Π΅Ρ‚ Π΄Π²ΡƒΡ… Π²ΠΈΠ΄ΠΎΠ²: нСявноС ΠΈ явноС.

НСявноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² выполняСтся Π² случаС Ссли Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ условия:

ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях

Π’ΠΎ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ явноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ².

Π’Π°ΠΊ ΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ:

ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСнияхНо Ρƒ Ρ‚ΡƒΡ‚ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ свои нСбольшиС Π³Ρ€Π°Π±Π΅Π»ΡŒΠΊΠΈ. НапримСр Ссли прСобразуСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ int Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° float. И Ρƒ значСния int Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии большС Ρ‡Π΅ΠΌ 23 Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΡ… Π±ΠΈΡ‚Π°, Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° потСря точности, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ Ρ‚ΠΈΠΏΠ° float ΠΏΠΎΠ΄ Ρ†Π΅Π»ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΡ‚Π²Π΅Π΄Π΅Π½ΠΎ 23 Π±ΠΈΡ‚Π°. ВсС младшиС Π±ΠΈΡ‚Ρ‹ значСния int, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ помСстятся Π² 23 Π±ΠΈΡ‚Π° мантиссы float, Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Π±Ρ€ΠΎΡˆΠ΅Π½Ρ‹, поэтому хотя порядок числа ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ, Π½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ утСряна. Π’ΠΎ ΠΆΠ΅ самоС справСдливо для прСобразования Ρ‚ΠΈΠΏΠ° long Π² Ρ‚ΠΈΠΏ double.

Π Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰Π΅Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Java ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ Ρ‚Π°ΠΊ:

ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях

Π‘ΠΏΠ»ΠΎΡˆΠ½Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ прСобразования, выполняСмыС Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π¨Ρ‚Ρ€ΠΈΡ…ΠΎΠ²Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ говорят ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ потСря точности.

Π‘Ρ‚ΠΎΠΈΡ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ½ΠΈΡ‚ΡŒ ΠΏΠΎΡ‡Π΅ΠΌΡƒ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ Ρ‚ΠΈΠΏ byte Π½Π΅ прСобразуСтся автоматичСски (Π½Π΅ явно) Π² Ρ‚ΠΈΠΏ char, хотя Ρ‚ΠΈΠΏ byte ΠΈΠΌΠ΅Π΅Ρ‚ ΡˆΠΈΡ€ΠΈΠ½Ρƒ 8 Π±ΠΈΡ‚, Π° char 16, Ρ‚ΠΎΠΆΠ΅ самоС касаСтся ΠΈ прСобразования Ρ‚ΠΈΠΏΠ° short Π² char. Π­Ρ‚ΠΎ происходит ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ byte ΠΈ short Π·Π½Π°ΠΊΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π° char Π±Π΅Π· Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС трСбуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ явноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ компилятору Π½Π°Π΄ΠΎ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈ ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Π±ΠΈΡ‚ Ρ‚ΠΈΠΏΠΎΠ² byte ΠΈ short ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊ Ρ‚ΠΈΠΏΡƒ char.

ПовСдСниС Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ Ρ‚ΠΈΠΏΠ° char Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв совпадаСт с ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° char ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ значСния int ΠΈΠ»ΠΈ long. Однако Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ char Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°ΠΊΠ°, поэтому ΠΎΠ½ Π²Π΅Π΄Π΅Ρ‚ сСбя ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° short, нСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΠ±ΠΎΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Ρ€Π°Π²Π΅Π½ 16 Π±ΠΈΡ‚.

short s = ( short ) 0xffff ; // Π”Π°Π½Π½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ число –1
char c = ‘\uffff’ ; // Π’Π΅ ΠΆΠ΅ Π±ΠΈΡ‚Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ символ юникода
int i1 = s ; // ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° short Π² int Π΄Π°Π΅Ρ‚ –1
int i2 = c ; // ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ char Π² int Π΄Π°Π΅Ρ‚ 65535

Π‘ΡƒΠΆΠ°ΡŽΡ‰Π΅Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ (narrowing conversion) происходит, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ прСобразуСтся Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ ΡˆΠΈΡ€Π΅ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ. Π‘ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠ΅ прСобразования Π½Π΅ всСгда бСзопасны: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ значСния 13 Π² byte ΠΈΠΌΠ΅Π΅Ρ‚ смысл, Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ 13000 Π² byte Π½Π΅Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ byte ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ числа ΠΎΡ‚ βˆ’128 Π΄ΠΎ 127. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²ΠΎ врСмя ΡΡƒΠΆΠ°ΡŽΡ‰Π΅Π³ΠΎ прСобразования ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ потСряны Π΄Π°Π½Π½Ρ‹Π΅, Java компилятор Π²ΠΎΠ·Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΈΠ² любого Ρ‚Π°ΠΊΠΎΠ³ΠΎ прСобразования, Π΄Π°ΠΆΠ΅ Ссли ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ укладываСтся Π² Π±ΠΎΠ»Π΅Π΅ ΡƒΠ·ΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°:

int i = 13 ;
byte b = i ; // ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ это Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

ЕдинствСнноС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΡ€Π°Π²ΠΈΠ»Π° – присвоСниС Ρ†Π΅Π»ΠΎΠ³ΠΎ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π° (значСния Ρ‚ΠΈΠΏΠ° int) ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ byte ΠΈΠ»ΠΈ short, Ссли Π»ΠΈΡ‚Π΅Ρ€Π°Π» соотвСтствуСт Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π―Π²Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ явного прСобразования Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡Π½Π΅Π΅ говоря привСдСния Ρ‚ΠΈΠΏΠΎΠ² ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠΊΠ°Π·Π°Π½ Ρ‚ΠΈΠΏ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ происходит ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ – (type). НапримСр:

int i = 13 ;
byte b = ( byte ) i ; // ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ int Π² byte
i = ( int ) 13.456 ; // ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π° Ρ‚ΠΈΠΏΠ° double Π² int 13

Π’Π°Π±Π»ΠΈΡ†Π° прСдставлСнная Π½ΠΈΠΆΠ΅ прСдставляСт собой сСтку, Π³Π΄Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Ρ‚ΠΈΠΏΡ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈ способ прСобразования. Π‘ΡƒΠΊΠ²Π° N Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ прСобразования. Π‘ΡƒΠΊΠ²Π° Y ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰Π΅Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ выполняСтся автоматичСски. Π‘ΡƒΠΊΠ²Π° Π‘ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡΡƒΠΆΠ°ΡŽΡ‰Π΅Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅Π΅ явного привСдСния. НаконСц, Y* ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ автоматичСскоС Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰Π΅Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, Π² процСссС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Ρ… разрядов. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ int ΠΈΠ»ΠΈ long Π²ΠΎ float ΠΈΠ»ΠΈ double. Π’ΠΈΠΏΡ‹ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΈΠΌΠ΅ΡŽΡ‚ больший Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Ρ‡Π΅ΠΌ Ρ†Π΅Π»Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹, поэтому int ΠΈΠ»ΠΈ long ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ посрСдством float ΠΈΠ»ΠΈ double. Однако Ρ‚ΠΈΠΏΡ‹ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ числами ΠΈ Π½Π΅ всСгда ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΡ… разрядов Π² мантиссС, ΠΊΠ°ΠΊ Ρ†Π΅Π»Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹.

ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях

АвтоматичСскоС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π² выраТСниях

Π’Π°ΠΊ ΠΆΠ΅ стоит Π΅Ρ‰Π΅ Ρ€Π°Π· ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΎΠ± автоматичСском ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΈ) Ρ‚ΠΈΠΏΠΎΠ² Π² выраТСниях. ΠœΡ‹ с этим ΡƒΠΆΠ΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΊΠΎΠ³Π΄Π° рассматривали цСлочислСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Π½ΠΈΠΌΠΈ, Π½ΠΎ всС ΠΆΠ΅ стоит ΠΈ Ρ‚ΡƒΡ‚ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠ²ΠΎΠΈΠ»ΠΎΡΡŒ Π΅Ρ‰Π΅ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ это ΠΈΠΌΠ΅Π΅Ρ‚ нСпосрСдствСнноС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠ΅. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅ Π·Π½Π°ΠΊ @ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ любой допустимый ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ +, –, *, / ΠΈ Ρ‚.ΠΏ.

ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях

НСявноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π² выраТСниях совмСщСнного присваивания

Π₯ΠΎΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» ΠΈ относится ΠΊ нСявному ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ (ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡŽ) Ρ‚ΠΈΠΏΠΎΠ², Π΅Π³ΠΎ объяснСниС ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ Ρ‚ΡƒΡ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Ρ‚Π°ΠΊ ΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ автоматичСскоС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π² выраТСниях, Π° Π·Π°Ρ‚Π΅ΠΌ ΡƒΠΆΠ΅ нСявноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ². Π’ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΡ€Π΄Π΅Π±Π°Π»Π΅Ρ‚. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅ я Π΄ΡƒΠΌΠ°ΡŽ всС Ρ€Π°Π·ΡŠΡΡΠ½ΠΈΡ‚. Π’Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ объяснСнии Π·Π½Π°ΠΊ @ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ любой допустимый ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ +, –, *, / ΠΈ Ρ‚.ΠΏ.

ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях

Π­Ρ‚ΠΎ стоит ΠΏΠΎΡΡΠ½ΠΈΡ‚ΡŒ Π½Π° простом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

byte b2 = 50 ;
b2 = b2 * 2 ; // Π½Π΅ скомпилируСтся
b2 *= 2 ; //скомпилируСтся, хотя ΠΈ Ρ€Π°Π²Π½ΠΎΠ·Π½Π°Ρ‡Π½Π° b2 = b2 * 2

Вторя строка, привСдСнная Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½Π΅ скомпилируСтся ΠΈΠ·-Π·Π° автоматичСского Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ‚ΠΈΠΏΠΎΠ² Π² выраТСниях, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ b2*2 ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ int, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ происходит автоматичСскоС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° (цСлочислСнныС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ всСгда int). Π’Ρ€Π΅Ρ‚ΡŒΡ ΠΆΠ΅ строка спокойно скомпилируСтся, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² Π½Π΅ΠΉ сработаСт нСявноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π² совмСщСнном Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ присваивания.

Boxing/unboxing – ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ

Boxing ΠΈ unboxin – это Ρ‚ΠΎΠΆΠ΅ достаточно большая Ρ‚Π΅ΠΌΠ°, Π½ΠΎ ΠΎΠ½Π° достаточно простая.

Для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠ±Π΅Ρ€Ρ‚ΠΎΠΊ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ всС Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ сказано Π²Ρ‹ΡˆΠ΅.

Об классах ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ°Ρ… ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…, ΠΏΡ€ΠΈ Ρ€Π°Π·Π±ΠΎΡ€Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². Но Ρ‚ΠΎΠ³Π΄Π° это Π±Ρ‹Π»ΠΎ лишь ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

Π’Π°ΠΊ Π²ΠΎΡ‚, для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΅ΡΡ‚ΡŒ Π΅Π³ΠΎ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±Ρ€Π°Ρ‚, ΠΈ ΠΎΠ½ совсСм Π½Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ, Π° являСтся настоящим классом, с полями ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ. И для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠ°Ρ€ΠΎΡ‡ΠΊΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ автоматичСскоС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅.

ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, Ссли Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ матСматичСских вычислСний, Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это быстрСС ΠΈ экономнСС с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния рСсурсов, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π±Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

ΠŸΡ€ΠΈΠ²Π΅Π΄Ρƒ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Если ΠΏΠΎΠΊΠ° Π½Π΅ понятно Π·Π°Ρ‡Π΅ΠΌ это Π½ΡƒΠΆΠ½ΠΎ, Ρ‚ΠΎ это Π½Π΅ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎ, просто завяТитС ΡƒΠ·Π΅Π»ΠΎΠΊ Π½Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ.

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

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π² Java

ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСнияхкакиС Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСнияхкакиС Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСнияхкакиС Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСнияхкакиС Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСнияхкакиС Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях

ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях

ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях

Напомним, Ρ‡Ρ‚ΠΎ вся «Π’сСлСнная Java» состоит ΠΈΠ·:

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹:

АвтоматичСскоС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅

Ну, Ρ‡Ρ‚ΠΎ ΠΆ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ «Π°Π²Ρ‚оматичСскоС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅».

ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях

Π’Π°ΠΊ Π²ΠΎΡ‚, ΠΊ Ρ‡Π΅ΠΌΡƒ ΠΌΡ‹, собствСнно говоря, ΠΊΠ»ΠΎΠ½ΠΈΠΌ. К Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ совсСм Π½Π΅ просто Ρ‚Π°ΠΊ Π’Π°ΠΌ давались Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ допустимых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ объСм Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ памяти 🙂

Π”Π°Π²Π°ΠΉΡ‚Π΅, сравним, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях

Π­Ρ‚ΠΎ ΠΈ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ автоматичСского прСобразования. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ схСматичСски ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ:

ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ явных привСдСниях

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„–1

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

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

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