Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ€ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ²Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 67

Автор Майкл ΠœΠΎΡ€Ρ€ΠΈΡΠΎΠ½

НаблюдСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

НаблюдСниС – это ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ°, которая ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ отслСТиваниС Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΡ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠ΄Π°. НаблюдаСмая пСрСмСнная – это пСрСмСнная, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ значСния ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ссли ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° с ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ, Ρ‚ΠΎ наблюдСниС Π·Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚. Однако Ссли Π²Ρ‹ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚Π΅ Π·Π° Π½ΠΈΠΌΠΈ ΠΏΡ€ΠΈ пошаговом Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°, Π²Ρ‹ смоТСтС Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠžΡ‡Π΅Π½ΡŒ часто Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ значСния Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ нСпрСдсказуСмо ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² контСкстС созданного ΠΊΠΎΠ΄Π° бСссмыслСнны. Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ проникновСния Π² исполнСниС ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ Π½Π°ΠΉΡ‚ΠΈ ошибки. ПошаговоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² сочСтании с наблюдСниСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… – это стандартный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ поиску ошибок с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°.

ИспользованиС Ρ‚ΠΎΡ‡Π΅ΠΊ останова

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

Π‘Ρ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈΠ³Ρ€

Π₯отя инструмСнты ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΡˆΠ»ΠΈ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ Π·Π°Ρ€ΠΈ программирования, основная Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ ΡƒΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΡŽ ошибок ΠΈ ΠΏΠΎ сСй дСнь Π»Π΅ΠΆΠΈΡ‚ Π½Π° Π²Π°ΡˆΠΈΡ… ΠΏΠ»Π΅Ρ‡Π°Ρ…. Π”ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎΠ± ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°Ρ… ΠΈ стандартных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ°Ρ… ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΊΠ°ΠΊ ΠΎ срСдствах, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ошибки, Π° Π½Π΅ ΠΊΠ°ΠΊ ΠΎ СдинствСнном срСдствС Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ ошибок. Для устранСния ошибок Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π±Π°Π³Π°ΠΆ Π·Π½Π°Π½ΠΈΠΉ, ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, инструмСнтов ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄Π°Ρ‡ΠΈ.

ΠžΡ‚Π»Π°Π΄ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ с ΠΎΡ…ΠΎΡ‚ΠΎΠΉ: Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π³Π΄Π΅-Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π΅Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ стратСгиСй. Π‘Ρ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ Π½Π° Π΄Π²Π΅ основныС Π³Ρ€ΡƒΠΏΠΏΡ‹ – ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ошибок ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ошибок. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΎΠ±Π΅ стратСгии ΠΈ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ с Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒΡŽ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ошибки.

ΠŸΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ошибок

ΠŸΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ошибок Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ Π½Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈΡ… появлСния Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ. ΠŸΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ошибок ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊ. Однако большоС число программистов Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ этой стратСгии ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π°, Π° Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ ΠΎΡ‚Π»Π°Π΄ΠΊΠΎΠΉ Π² ΠΊΠΎΠ½Ρ†Π΅. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ стратСгия прСдотвращСния ошибок Π±ΠΎΠ»Π΅Π΅ трудоСмкая Ρ€Π°Π±ΠΎΡ‚Π°, Ρ‡Π΅ΠΌ ΠΎΡ‚Π»Π°Π΄ΠΊΠ°. Π― ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽ эту ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ ΠΊΠ°ΠΊ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ этап Π±ΠΎΡ€ΡŒΠ±Ρ‹ с ошибками.

ΠŸΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ошибок ΠΈ ΠΈΡ… устранСниС ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ с Π²Π°ΠΊΡ†ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π±ΠΎΠ»Π΅Π·Π½ΠΈ, послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π΅ΠΉ Π·Π°Ρ€Π°Π·ΠΈΠ»ΠΈΡΡŒ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΡ‚Π΅Ρ€ΠΏΠ΅Ρ‚ΡŒ ΡƒΠΊΠΎΠ», Ρ‡Π΅ΠΌ ΡΡ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ с Π·Π°Π±ΠΎΠ»Π΅Π²Π°Π½ΠΈΠ΅ΠΌ. Π­Ρ‚Π° ΠΌΠ΅Ρ‚Π°Ρ„ΠΎΡ€Π°, Π½ΠΎ ΠΎΠ½Π° Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° ΠΊ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Ошибки ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ болСзням: ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ±Π΅Π΄ΠΈΠ»ΠΈ ΠΈΡ…, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ эту ΠΌΠ΅Ρ‚Π°Ρ„ΠΎΡ€Ρƒ ΠΊ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ опасно, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ошибки Π² ΠΊΠΎΠ΄Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ Π±ΠΎΠ»Π΅Π·Π½ΠΈ – Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ избавился ΠΎΡ‚ Π½Π΅Π΅, ΠΊΠ°ΠΊ ΠΎΠ½Π° вновь проявляСтся ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

РасставляйтС скобки явно

ΠžΡ‡Π΅Π½ΡŒ часто ошибки Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΈΠ·-Π·Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π― ΠΈ сам Π½Π΅ Ρ€Π°Π· ΠΏΠΎΠ»Π°Π³Π°Π», Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ помню, ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Ρƒ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ ошибся. ВзглянитС Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

int a = 37, b = 26; int n = a % 3 + b / 7 ^ 8

Если Ρƒ вас Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±Π΅Π· Ρ‚Π΅Π½ΠΈ сомнСния ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Π΅ΠΌΡƒ Ρ€Π°Π²Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ выраТСния, Ρ‚ΠΎ Π²Ρ‹ – счастливчик! Для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… это вСсьма рискованная строка ΠΊΠΎΠ΄Π°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Π²Π°Ρ‚ΡŒ мноТСство Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π² зависимости ΠΎΡ‚ порядка выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². На самом Π΄Π΅Π»Π΅ ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ СдинствСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ вычисляСтся Π² соотвСтствии с ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ языка программирования Java. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ‚ΡŒ порядок выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС вычислСний. Каково ΠΆΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅? Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· этой ситуации – ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скобки, Π΄Π°ΠΆΠ΅ Ссли Π² этом Π½Π΅Ρ‚ нСобходимости, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹ смоТСтС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ порядок выполнСния дСйствий. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Ρ‚ΠΎΡ‚ ΠΆΠ΅ самый ΠΊΠΎΠ΄, Π½ΠΎ ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½Π½Ρ‹ΠΉ скобками:

int a = 37, b = 26;

int n = ((a % 3) + (b / 7)) ^ 8;

Π‘ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ класса

Другая ошибка, которая свойствСнна ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈΠ³Ρ€ – это сокрытыС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ класса. Π‘ΠΎΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Β«ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒΡΡΒ», Ссли Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΌ классС Π΅ΡΡ‚ΡŒ новая одноимСнная пСрСмСнная. ВзглянитС Π½Π° ΠΊΠΎΠ΄, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π² листингС 16.1. Он Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π΄Π²Π° класса Weapon ΠΈ Bazooka.

Листинг 16.1. ΠšΠ»Π°ΡΡΡ‹ Weapon ΠΈ Bazooka

class Weapon {

int power;

int numShots;

public Weapon() {

power = 5;

numShots = 10;

}

public void fire() {

numShots–; //ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ numShots Π² классС Weapon ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°

}

}

class Bazooka : extends Weapon {

int numShots; //ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ numShots скрываСт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ numShots Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса Weapon

public Bazooka() {

super();

}

public blastEm() {

power–;

numShots -= 2; //ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ numShots класса Bazooka увСличиваСтся, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ сокрытая пСрСмСнная numShots класса Weapon остаСтся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΉ

}

}

Класс Weapon опрСдСляСт Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅: power ΠΈ numShots. Класс Bazooka, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΉ ΠΎΡ‚ класса Weapon, Ρ‚Π°ΠΊΠΆΠ΅ содСрТит ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ numShots, которая Π·Π°ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с этим ΠΊΠΎΠ΄ΠΎΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° конструктор класса Bazooka Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ конструктор класса Weapon (Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ super()), инициализируСтся пСрСмСнная numShots класса Weapon, a Π½Π΅ класса Bazooka. ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° blastEm() Π² классС Bazooka ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ видимая пСрСмСнная numShots, которая ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ инициализируСтся Π½ΡƒΠ»Π΅ΠΌ. Как Π²Ρ‹, вСроятно, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, Π² Π±ΠΎΠ»Π΅Π΅ слоТных классах ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Π­Ρ‚ΠΎ Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΎ рискС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π»Π΅Ρ‡Π΅Ρ‚ Π·Π° собой использованиС Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ

Одна ΠΈΠ· ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… стратСгий прСдотвращСния ошибок Π² Java – это ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ. Π­Ρ‚Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° основана Π½Π° ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ появлСния Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Ρ… сообщСний Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Β«ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹ΠΉΒ» ΠΊΠΎΠ΄, Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ try ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ catch. Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ «ошибка» ΠΏΠΎ своСй ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅ являСтся ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ, Π° конструкция catch называСтся Β«ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΒ».

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΡƒΠΆΠ΅ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ встрСчали Π² ΠΊΠ½ΠΈΠ³Π΅:

try {

//дСйствия

}

catch (Exception e) {

System.err.println(e);

}

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

...

Π‘ΠΎΠ²Π΅Ρ‚ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ

Java ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ стандартныС устройства Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для отобраТСния ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. System.err – это стандартноС «устройство» ошибок, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π²Ρ‹Π²ΠΎΠ΄Π° ошибок Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΈΠ»ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС эмулятора J2ME. ΠœΠ΅Ρ‚ΠΎΠ΄ println() Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ строку Π² стандартноС устройство.

ΠœΡ‹ обсудили лишь ΠΌΠ°Π»ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ). Π― Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ ΠΈ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΠΎΠ± ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π² Java написано достаточно ΠΌΠ½ΠΎΠ³ΠΎ, поэтому Ρƒ вас Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ трудностСй с поиском этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

ВыявлСниС ошибок

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

ИспользованиС стандартного Π²Ρ‹Π²ΠΎΠ΄Π°

Одна ΠΈΠ· самых старых ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊ поиска ошибок – это Π²Ρ‹Π²ΠΎΠ΄ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° ΠΎΠ΄Π½ΠΎ ΠΈΠ· устройств. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, вСроятно, покаТСтся Π²Π°ΠΌ Π°Ρ€Ρ…Π°ΠΈΡ‡Π½Ρ‹ΠΌ, ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ это Ρ‚Π°ΠΊ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ быстро Π²Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит Π² ΠΈΠ³Ρ€Π΅.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ стандартный ΠΏΡ€ΠΈΠ΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΡ‡Π΅Π½ΡŒ просто, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ System.out.println() Π² любом мСстС ΠΊΠΎΠ΄Π°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ стандартный Π²Ρ‹Π²ΠΎΠ΄ для выполнСния ΠΌΠ½ΠΎΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡ – ΠΎΡ‚ отслСТивания Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄ΠΎ выявлСния запускаСмых ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² – просто Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ println(), ΠΊΠΎΠ³Π΄Π° это Π½ΡƒΠΆΠ½ΠΎ. ΠžΡΡ‚Π΅Ρ€Π΅Π³Π°ΠΉΡ‚Π΅ΡΡŒ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ println() Π² Ρ†ΠΈΠΊΠ»Π΅ обновлСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° update(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ управляСт Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΌΠΈΠ΄Π»Π΅Ρ‚ΠΎΠ². Π’ этом случаС ΠΌΠ΅Ρ‚ΠΎΠ΄ println() ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΌΠΈΠ΄Π»Π΅Ρ‚Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹Π²ΠΎΠ΄ тСкста Π½Π° экран – достаточно мСдлСнная опСрация.