
рдпрд╣ рдПрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реЛрдЧреА рдЬреЛ рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬреЛ рдЬрд╛рд╡рд╛ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдирдореВрдирд╛ рдХреЛрдб (рдЬреИрд╕реЗ рдореЗрдЯреНрд░реЛ, рдорд┐рдиреАрдмрд╕, рдХреИрдлреЗ, рдЖрджрд┐) рдореЗрдВ рдХрд╛рдо рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдПрдХ рдкреАрд╕реА рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИред
рдЗрд╕ рд╢реЗрдпрд░ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рддрдм рдкреИрджрд╛ рд╣реБрдИ рдЬрдм рдореИрдВ OCJP рдкреНрд░рдорд╛рдгрди рдХреА рддреИрдпрд╛рд░реА рдХрд░ рд░рд╣рд╛ рдерд╛ред рдЗрд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рдлрд▓ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ рдХрд┐ рд╣рдмреНрд░реЛрд╕реЛрдХреЗрдЯреАрд╡рд┐рдЯреА рдХреЗ рд╕рдореНрдорд╛рдирд┐рдд рд╕рджрд╕реНрдпреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рд╣реИред
рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд▓реИрдкрдЯреЙрдк рдирд╣реАрдВ рд╣реИ, рдФрд░ рдПрдХ рдХрдк рдЪрд╛рдп рдХреЗ рд╕рд╛рде рд░рд╕реЛрдИ рдореЗрдВ рдмреИрдардХрд░ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдкрд░ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдЪрд▓рд╛рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рдпрд╣ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реБрдЖ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдЙрджрд╛рд╣рд░рдг рдЖрдорддреМрд░ рдкрд░ рдХрдВрд╕реЛрд▓ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рджрд┐рдП рдЧрдП рд╣реИрдВред рдЕрджреНрднреБрдд рд╡реАрдбрд┐рдпреЛ рдЙрдкрдХрд░рдг рдЖрдкрдХреЛ рдЧреНрд░рд╣рдг рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ Android рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдХреНрд╖рдорддрд╛, рдЕрдлрд╕реЛрд╕, рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдВрд╕реЛрд▓ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдмрд┐рдВрджреБ рдЫреЛрдЯрд╛ рд╣реИ - UI рдирд┐рдпрдВрддреНрд░рдг рдкрд░ I / O рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ:
private static OutputStream mOutputStream = new OutputStream() { @Override public void write(int b) { MainActivity.getInstance().write((byte)b); } }; @Override public void onCreate(Bundle savedInstanceState) { ... System.setOut(new PrintStream(mOutputStream)); System.setErr(new PrintStream(mOutputStream)); ... }
рдХрдВрд╕реЛрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо
onResume()
рд╣реИрдВрдбрд▓рд░ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рд╕реЗ рдЕрд▓рдЧ рдереНрд░реЗрдб рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ:
@Override public void run() { try {
рдпрд╣рд╛рдВ рдЖрдк рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ
args
ред рдЙрджрд╛рд╣рд░рдг - 10 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП
BankTellerSimulation
рд╢реБрд░реВ
BankTellerSimulation
:
BankTellerSimulation.main(new String[] { "10" });
рдХрдИ рдереНрд░реЗрдбреНрд╕ рдХрд╛ рдХрд╛рдо рд╕рдорд░реНрдерд┐рдд рд╣реИ (
SimpleThreadsTest
):

HorseRace
рдФрд░
BankTellerSimulation
рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ (
рдЬрд╛рд╡рд╛ рдореЗрдВ рдерд┐рдВрдХрд┐рдВрдЧ рд╕реЗ рдмреНрд░реВрд╕ BankTellerSimulation
рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдП рдЧрдП) рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред
рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐рдпреЛрдВ
ErrorTest
рдЙрджрд╛рд╣рд░рдг:
class FuuuuuuException extends RuntimeException { public FuuuuuuException(String message) { super(message); } } ... throw new FuuuuuuException("!!!TROLLFACE!!!");
рд╣рдореЗрдВ рдПрдХ рдЕрдкрд╡рд╛рдж рдорд┐рд▓рддрд╛ рд╣реИ:

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐
рдЕрдВрдд рдореЗрдВ, рдкреВрд░реНрдгрддрд╛ рдХреЗ рд▓рд┐рдП, рдПрдХ рдХрдВрд╕реЛрд▓ рдЗрдирдкреБрдЯ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдм рддрдХ, Android рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдореЗрд░рд╛ рдЬреНрдЮрд╛рди рдорд╣рд╛рди рдирд╣реАрдВ рд╣реИред рдХрд┐рд╕реА рддрд░рд╣ рдореИрдВ
EditText
рдХреЛ рдкреБрд╢ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо рд╕рд╣реА рдирд╣реАрдВ рд╣реИ :)
рд▓рд╛рдЗрди рдЗрдирдкреБрдЯ рдкреНрд░реЙрдореНрдкреНрдЯ (
ReadingInputTest
):

рдЕрдЧрд▓рд╛:

рдореЗрдиреВ рдХрд╛рд░реНрдп
System.exit(0)
рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ
рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ ред
"рд╡рди-рдЯрд╛рдЗрдо" рдХрд╛рд░реНрдпрдХреНрд░рдоред рдмрд╛рд░-рдмрд╛рд░ рдкреБрдирд░рд╛рд░рдВрдн рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ (рдореИрдВ рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛)ред
рдХреНрдпрд╛
рд╕реНрдкрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдПрдХ рдмрдбрд╝рд╛ рд░рд╣рд╕реНрдпред
рдХреНрдпрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛
тАв
assert
рдЬрд╛рд╡рд╛ред рдпрд╛рдиреА рдСрдкрд░реЗрдЯрд░
assert "Cat".equals("Dog");
рдЕрдкрд╡рд╛рдж
java.lang.AssertionError
рдирд╣реАрдВ рдлреЗрдВрдХреЗрдВрдЧреЗред JUnit рд╣рдорд▓рд╛рд╡рд░реЛрдВ рдХреЗ рд╕рд╛рде рднреНрд░рдорд┐рдд рд╣реЛрдиреЗ рдХреА рдирд╣реАрдВ - рдЙрдирдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ
рдареАрдХ рд╣реИ! "
тАв
Console
рдХреНрд▓рд╛рд╕ред
тАв рдЗрдирдкреБрдЯ рдХреНрд╖реЗрддреНрд░ рд╣рдореЗрд╢рд╛ рдлреЛрдХрд╕ рдХреЛ рдкрдХрдбрд╝рддрд╛ рдирд╣реАрдВ рд╣реИред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╛рдЗрд▓реЗрдВ
рдЧреАрдерд╣рдм рд╕реЗ рд╕реНрд░реЛрдд рд▓рд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ рдФрд░ рдПрдХреНрд▓рд┐рдкреНрд╕ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ
рдЬрд╝рд┐рдк рд╕рдВрдЧреНрд░рд╣ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд░реНрдгрд┐рдд рдЙрджрд╛рд╣рд░рдг
com.examples
рдкреИрдХреЗрдЬ рдореЗрдВ рд╣реИрдВред рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдПрдХ рдирд┐рдпрдорд┐рдд рдкреАрд╕реА рдкрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд┐рдирд╛ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд╣рд░ рдЬрдЧрд╣ рднрд╛рдЧреЛ!)ред