рдЗрди рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЯреАрдо рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХрд░ рд░рд╣реА рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓, рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдПрдХ рдЬрдЯрд┐рд▓ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ рдФрд░ рдпрд╣ рд╡рд┐рдВрдбреЛрдЬрд╝, рд▓рд┐рдирдХреНрд╕ рдФрд░ рдореИрдХрдУрдПрд╕ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдЬреИрд╕реЗ рд╕реА, рд╕реА ++, рд╕реА # рдФрд░ рдЬрд╛рд╡рд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдЬрд╛рд╡рд╛ рдХреЛ рдХрдИ рд╕рдорд░реНрдерд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ PVS-Studio рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдХрдИ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ C ++ рдФрд░ C # рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рддреЛ PVS-Studio рдЕрднреА рднреА рдЬрд╛рд╡рд╛ рджрд░реНрд╢рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рд╣реИред рдмрд╣реБрддреЛрдВ рдиреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдирд╣реАрдВ рд╕реБрдирд╛, рдФрд░ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рд╕реБрдирд╛, рд╡реЗ рдЗрд╕рдХреА рд╕рднреА рдХреНрд╖рдорддрд╛рдУрдВ рд╕реЗ рдмрд╣реБрдд рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЬрд╛рд╡рд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рд▓реЙрдиреНрдЪ рдХреЗ рддрд░реАрдХреЛрдВ рдФрд░ рдЗрд╕рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред

рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рдирдХрд╛рд░реА
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЬрд╛рд╡рд╛ рд╕реНрдЯреИрдЯрд┐рдХ рдХреЛрдб рдПрдирд╛рд▓рд╛рдЗрдЬрд░ рдореЗрдВ рджреЛ рдореБрдЦреНрдп рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ: рдХрд░реНрдиреЗрд▓ рдЬреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЕрд╕реЗрдВрдмрд▓реА рд╕рд┐рд╕реНрдЯрдо (рдЧреНрд░реИрдбрд▓, рдореЗрд╡реЗрди) рдФрд░ рдЖрдИрдбреАрдИ (рдЗрдВрдЯреЗрд▓реАрдЬ рдЖрдИрдбреАрдИрдП) рдореЗрдВ рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧ-рдЗрдиред
рдкреНрд▓рдЧрдЗрдиреНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рдВрд░рдЪрдирд╛ (рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдХреНрд▓рд╛рд╕рдкреИрде рдХреЗ рд╕реЗрдЯ) рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╡реЗ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдХрд░реНрдиреЗрд▓ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВ - рдпрд╣ рдкрд╣рд▓реЗ рд▓реЙрдиреНрдЪ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕реНрд░реЛрддреЛрдВ рдФрд░ рдХреНрд▓рд╛рд╕рдкреИрде рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рд╕реАрдзреЗ рдЪрд▓рд╛рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИред
рдпрджрд┐ рдЖрдкрдХрд╛ рдХрдВрдкреНрдпреВрдЯрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд┐рд╕реНрдЯрдо рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: рд╡рд┐рдВрдбреЛрдЬ, рд▓рд┐рдирдХреНрд╕, рдореИрдХрдУрдПрд╕;
- рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рдХрд╛ рдиреНрдпреВрдирддрдо рд╕рдВрд╕реНрдХрд░рдг: рдЬрд╛рд╡рд╛ 8 (64-рдмрд┐рдЯ)ред рдиреЛрдЯ: рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдЧрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЬрд╛рд╡рд╛ рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИ;
- IntelliJ IDEA рдХрд╛ рдиреНрдпреВрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 2017.2 рд╣реИред
рдорд╛рд╡реЗрди рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрди
рдпрджрд┐ рдЖрдк рдЬрд┐рд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡рд╣ рдорд╛рд╡реЗрди рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рддреЛ рдЖрдк pvsstudio-maven-plugin рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЬреЗрдХреНрдЯ pom.xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдЬреЛрдбрд╝реЗрдВ:
<pluginRepositories> <pluginRepository> <id>pvsstudio-maven-repo</id> <url>http:
рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
mvn pvsstudio:pvsCredentials "-Dpvsstudio.username=USR" "-Dpvsstudio.serial=KEY"
рдЙрд╕рдХреЗ рдмрд╛рдж, рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╡рд┐рдВрдбреЛрдЬ рдпрд╛
рд▓рд┐рдирдХреНрд╕ рдкрд░
% APPDATA% / PVS-Studio-Java / PVS-Studio.lic рдпрд╛
~ / .config / PVS-Studio-Java / PVS-Studio.lic рдореЗрдВ MacOS рдФрд░ Linux рдкрд░
рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ ред
рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:
$ mvn pvsstudio:pvsAnalyze
<рд╡рд┐рд╢реНрд▓реЗрд╖рдХ> рдмреНрд▓реЙрдХ рдореЗрдВ, рдЖрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА
рдпрд╣рд╛рдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА
рд╣реИ ред
рдврд╛рд▓ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрди
рдпрджрд┐ рдЖрдк рдЬрд┐рд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡рд╣ рдЧреНрд░реИрдб рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рддреЛ рдЖрдк pvsstudio-gradle-plugin plugin рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ build.gradle рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреЛрдбрд╝реЗрдВ:
buildscript { repositories { mavenCentral() maven { url uri('http://files.viva64.com/java/pvsstudio-maven-repository/') } } dependencies { classpath group: 'com.pvsstudio', name: 'pvsstudio-gradle-plugin', version: '{VERSION_PVS_JAVA}' } }
apply plugin: com.pvsstudio.PvsStudioGradlePlugin pvsstudio { outputType = 'text' outputFile = 'path/to/output.txt' .... }
рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
./gradlew pvsCredentials "-Ppvsstudio.username=USR" "-Ppvsstudio.serial=KEY"
рдЙрд╕рдХреЗ рдмрд╛рдж, рд▓рд╛рдЗрд╕реЗрдВрд╕ рдЬрд╛рдирдХрд╛рд░реА, рд╕рд╛рде рд╣реА рдорд╛рд╡реЗрди рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде, рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдпрд╛
~ / .config / PVS-Studio-Java / PVS- рдореЗрдВ
% APPDATA% / PVS-Studio-Java / PVS-Studio.lic рдореЗрдВ
рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред MacOS рдФрд░ Linux рдкрд░
Studio.lic ред
рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:
$ ./gradlew pvsAnalyze
Pvsstudio рдмреНрд▓реЙрдХ рдореЗрдВ, рдЖрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА
рдпрд╣рд╛рдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА
рд╣реИ ред
IntelliJ рдЖрдИрдбрд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрди
PVS-Studio Java рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ IntelliJ IDEA рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧ-рдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЗрд╕ рдЖрдИрдбреАрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкреНрд▓рдЧ-рдЗрди рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
IDEA рдХреЗ рд▓рд┐рдП PVS-Studio рдкреНрд▓рдЧрдЗрди рдЗрдирд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
1) рд╡рд┐рд╢реНрд▓реЗрд╖рдг тЖТ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ тЖТ рд╕реЗрдЯрд┐рдВрдЧреНрд╕
2) рдкрдВрдЬреАрдХрд░рдг рдЯреИрдм:
рдЕрдм рдЖрдк рд╡рд░реНрддрдорд╛рди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рд▓рд╛рдЗрд╕реЗрдВрд╕
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╡рд┐рдХрд╛рд╕ рдЯреАрдореЛрдВ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ рдФрд░ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рдмреА 2 рдмреА рдЙрддреНрдкрд╛рдж рд╣реИред рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд╕рд╛рде рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк
рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХреБрдВрдЬреА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ
рд╣реИрдВ ред
рдпрджрд┐ рдЖрдк рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЫрд╛рддреНрд░ рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рддреЛ рдЖрдк рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдореБрдлреНрдд рд▓рд╛рдЗрд╕реЗрдВрд╕рд┐рдВрдЧ
рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЭреВрдареА рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХрд╛ рджрдорди
рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХрддрд╛ рдХрд╛ рдореБрдХрд╛рдмрд▓рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╡рд┐рднрд┐рдиреНрди рддрдВрддреНрд░реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
1. рдХреЛрдб рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:
void f() { int x = 01000;
2.
рджрдорди рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
3. @SuppressWarnings рдПрдиреЛрдЯреЗрд╢рди (....) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреБрдЫ рдПрдиреЛрдЯреЗрд╢рди рд╕реЗ рдЕрд╡рдЧрдд рд╣реИ рдФрд░ рдХреЛрдб рдкрд░ рдЪреЗрддрд╛рд╡рдиреА рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╣реА рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
@SuppressWarnings("OctalInteger") void f() { int x = 01000; }
рдирд┐рд╖реНрдХрд░реНрд╖
рд╣рдордиреЗ рдЕрднреА-рдЕрднреА рдЬреЛ рдЬрд╛рдВрдЪ рдХреА рд╣реИ рд╡рд╣ рдХреЗрд╡рд▓ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдмрддрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реЛрдирд╛рд░рдХреНрдпреВрдм рдФрд░ рдЗрддрдиреЗ рдкрд░ рдПрдХреАрдХрд░рдг рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЬрд╛рд╡рд╛ рдПрдХ рдпреБрд╡рд╛ рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬреЛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ:
- рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА рдЬрд╛рддреА рд╣реИ
- рдЕрд╡рд╕рд░реЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░
- рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрдирд┐рдпрдо рдЬреЛрдбрд╝реЗ рдФрд░ рд╕реБрдзрд╛рд░реЗ рдЧрдП,
- рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫред
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреА рдореМрдЬреВрджрд╛ рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдирдП рд▓реЛрдЧреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдпрд╛рдж рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ
рдмреНрд▓реЙрдЧ рдкрдврд╝реЗрдВред

рдпрджрд┐ рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЕрдВрдЧреНрд░реЗрдЬреА рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ рджрд░реНрд╢рдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЕрдиреБрд╡рд╛рдж рдХреЗ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рдореИрдХреНрд╕рд┐рдо рд╕реНрдЯреЗрдлрд╛рдиреЛрд╡ред
рдЬрд╛рд╡рд╛ рдХреЗ рд▓рд┐рдП рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реНрдЯреЗрдЯрд┐рдХ рдПрдирд╛рд▓рд╛рдЗрдЬрд░ рд╕реЗ рдЬрд╛рдиреЗрдВ