"рд╣рд╛рдп, рдЕрдорд┐рдЧреЛ. рдЖрдЬ рдмрд┐рд▓рд╛рдмреЛ рддреБрд▓рд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддреАрдмрджреНрджрд▓ рд╕рд╛рдВрдЧрдгрд╛рд░ рдЖрд╣реЗ."

рдкреБрдирд░рд╛рд╡реГрддреНрддреА - рез

рддреБрдореНрд╣рд╛рд▓рд╛ рдорд╛рд╣рд┐рддреА рдЖрд╣реЗ рдХреА, Java рдордзреНрдпреЗ рдХрд╛рд╣реА рдкрджреНрдзрддреА рдЗрддрд░ рдкрджреНрдзрддреАрдВрдирд╛ рдХреЙрд▓ рдХрд░рддрд╛рдд. рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдЬреЗрд╡реНрд╣рд╛ рдПрдЦрд╛рджреА рдкрджреНрдзрдд рдХреЙрд▓ рдХреЗрд▓реА рдЬрд╛рддреЗ, рддреЗрд╡реНрд╣рд╛ рддреНрдпрд╛рд╡рд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдпреБрдХреНрддрд┐рд╡рд╛рдж рджрд┐рд▓реЗ рдЬрд╛рддрд╛рдд, рдкрд░рдВрддреБ рддреА рдЪрд╛рд▓рдд рдЕрд╕рддрд╛рдирд╛ рдкрджреНрдзрддреАрдЪреЗ рд╕реНрдерд╛рдирд┐рдХ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореВрд▓реНрдпреЗ рдШреЗрддрд╛рдд.

"рдЙрд╣-рд╣рд╣."

"рдЖрдгрд┐ рдЬрд╕реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдорд╛рд╣рд┐рддреА рдЖрд╣реЗ, рд╡рд┐рд╡рд┐рдз рдкрджреНрдзрддреАрдВрдЪреЗ рдЕрдВрддрд░реНрдЧрдд рдЪрд▓ рдПрдХрдореЗрдХрд╛рдВрдкрд╛рд╕реВрди рд╕реНрд╡рддрдВрддреНрд░ рдЖрд╣реЗрдд."

"рдЙрд╣-рд╣рд╣."

"рдореНрд╣рдгреВрди рдПрдЦрд╛рджреА рдкрджреНрдзрдд рд╕реНрд╡рддрдГрд▓рд╛ рдХреЙрд▓ рдХрд░рддреЗ рддреНрдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдЪреА рдХрд▓реНрдкрдирд╛ рдХрд░рд╛. рдпрд╛рд▓рд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдореНрд╣рдгрддрд╛рдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде:"

рдЙрджрд╛рд╣рд░рдг
public static void main(String[] args)
{
 countDown(10);
}

public static void countDown(int x)
{
 if (x <= 0)
  System.out.println("Boom!");
 else
 {
  System.out.println(x);
  countDown(x - 1);
 }
}
рд╕реНрдХреНрд░реАрди рдЖрдЙрдЯрдкреБрдЯ:
10
9
8
7
6
5
4
3
2
1
Boom!

"рдореА рдкрд╛рд╣реВ рд╢рдХрддреЛ рдХреА рдкрджреНрдзрдд рд╕реНрд╡рддрдГрдЪ рдХреЛрдбрдордзреНрдпреЗ рдХреЙрд▓ рдХрд░рддреЗ, рдкрд░рдВрддреБ рдорд▓рд╛ рдкреНрд░рд╛рдорд╛рдгрд┐рдХрдкрдгреЗ рдХрд╛рдп рд╣реЛрдд рдЖрд╣реЗ рддреЗ рд╕рдордЬрдд рдирд╛рд╣реА."

"рдареАрдХ рдЖрд╣реЗ, рдЬреЗрд╡реНрд╣рд╛ рдПрдЦрд╛рджреА рд╡реЗрдЧрд│реА рдкрджреНрдзрдд рдмреЛрд▓рд╛рд╡рд▓реА рдЬрд╛рддреЗ рддреЗрд╡реНрд╣рд╛ рдШрдбрддреЗ рддреНрдпрд╛рдЪ рдЧреЛрд╖реНрдЯреАрдмрджреНрджрд▓."

"рдирд╛рд╣реА, рдореА рд╡рд┐рдЪрд╛рд░рдд рдЖрд╣реЗ рдХреА рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдЪреЗ рдХрд╛рдп рд╣реЛрддреЗ? рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдореВрд▓реНрдпрд╛рдВрд╕рд╣? рдЖрдгрд┐ рдЖрдкрдг рдкрджреНрдзрддреАрддреВрди рдХрд╕реЗ рдмрд╛рд╣реЗрд░ рдкрдбреВ? рдХрд┐рдВрд╡рд╛ рдЖрдкрдг рд╕рд░реНрд╡ рдХрд╛рд╣реА рдПрдХрд╛рдЪ рд╡реЗрд│реА рдмрд╛рд╣реЗрд░ рдкрдбреВ?"

"рдЪрд╛рдВрдЧреБрд▓рдкрдгрд╛ рджрдпрд╛рд│реВ рдЖрд╣реЗ. рд╣реЗ рд╕рд░реНрд╡ рдмрд░реЗрдЪ рд╕реЛрдкреЗ рдЖрд╣реЗ. рдХрд▓реНрдкрдирд╛ рдХрд░рд╛ рдХреА рд╕реНрд╡рддрдГрд▓рд╛ рдХреЙрд▓ рдХрд░рдгрд╛рд░реА рдкрджреНрдзрдд рдЕрдиреЗрдХ рд╡реЗрд│рд╛ рдЧреБрдгрд╛рдХрд╛рд░ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ. рдордЧ рдЖрдкрд▓реНрдпрд╛рдХрдбреЗ рд╕рдорд╛рди рдкрд░рд┐рд╕реНрдерд┐рддреА рдЕрд╕реЗрд▓:"

рдЖрд╡рд░реНрддреА рдкрджреНрдзрдд рдХреЙрд▓ рдЦрд░реЛрдЦрд░ рдХрд╛рдп рд╣реЛрддреЗ
public static void main(String[] args)
{
 countDown(10);
}

public static void countDown(int x)
{
 if (x <= 0)
  System.out.println("Boom!");
 else
 {
  System.out.println(x);
  countDown(x - 1);
 }
}
public static void main(String[] args)
{
 countDown1(10);
}

public static void countDown1(int x)
{
 if (x <= 0)
  System.out.println("Boom!");
 else
 {
  System.out.println(x);
  countDown2(x - 1);
 }
}
public static void countDown2(int x)
{
 if (x <= 0)
  System.out.println("Boom!");
 else
 {
  System.out.println(x);
  countDown3(x - 1);
 }
}
public static void countDown3(int x)
{
 if (x <= 0)
  System.out.println("Boom!");
 else
 {
  System.out.println(x);
  countDown4(x - 1);
 }
}

public static void countDown4(int x)
{
 if (x <= 0)
  System.out.println("Boom!");
 else
 {
  System.out.println(x);
  countDown5(x - 1);
 }
}
рд╕реНрдХреНрд░реАрди рдЖрдЙрдЯрдкреБрдЯ: рд╕реНрдХреНрд░реАрди рдЖрдЙрдЯрдкреБрдЯ:
3
2
1
Boom!
3
2
1
Boom!

"рджреБрд╕рд░реНтАНрдпрд╛ рд╢рдмреНрджрд╛рдВрдд, рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрд│реА рдЬреЗрд╡реНрд╣рд╛ рдПрдЦрд╛рджреА рдкрджреНрдзрдд (рд╕реНрд╡рддрдГрд╣реВрди) рдХреЙрд▓ рдХреЗрд▓реА рдЬрд╛рддреЗ рддреЗрд╡реНрд╣рд╛ рдирд╡реАрди рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдЬреЗ рдпрд╛ рдкрджреНрдзрддреАрд╕рд╛рдареА рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддрд╛рдд. рддреЗрдереЗ рдХреЛрдгрддреЗрд╣реА рд╕рд╛рдорд╛рдпрд┐рдХ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рдирд╛рд╣реАрдд."

"рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рд╕рд╣, рдирд╡реАрди рдореВрд▓реНрдпрд╛рдВрд╕рд╣, рдореЗрдердб рд╡рд┐рддрд░реНрдХрд╛рдВрдЪреА рджреБрд╕рд░реА рдкреНрд░рдд рдореЗрдорд░реАрдордзреНрдпреЗ рддрдпрд╛рд░ рдХреЗрд▓реА рдЬрд╛рддреЗ. рдЬреЗрд╡реНрд╣рд╛ рдЖрдкрдг рдЬреБрдиреНрдпрд╛ рдкрджреНрдзрддреАрдХрдбреЗ рдкрд░рдд рдпреЗрддреЛ, рддреЗрд╡реНрд╣рд╛ рддрд┐рдЪреА рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рддрд┐рдереЗ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддрд╛рдд. рджреБрд╕рд▒реНрдпрд╛ рд╢рдмреНрджрд╛рдВрдд, рдкреБрдирд░рд╛рд╡реГрддреНрддреА рджрд░рдореНрдпрд╛рди рдЖрдкрдг рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рджреБрд╕рд░реА рдкрджреНрдзрдд рдХреЙрд▓ рдХрд░рддреЛ, рдкрд░рдВрддреБ рдЖрдордЪреНрдпрд╛рд╕рд╛рд░рдЦрд╛рдЪ рдХреЛрдб! "

"рдореА рдкрд╛рд╣рддреЛ. рдЖрдгрд┐ рдЕрд╢рд╛ рдкрджреНрдзрддреАрдВрдордзреВрди рдмрд╛рд╣реЗрд░ рдкрдбрдгреЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ? рдХрджрд╛рдЪрд┐рдд рдПрдХ рдЙрджрд╛рд╣рд░рдг?"

"рдареАрдХ рдЖрд╣реЗ. рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣рдЬрд╛рд░ рд╢рдмреНрджрд╛рдВрдЪреЗ рдЖрд╣реЗ. "рд╣реЗ рддреБрдордЪреЗ рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ:"

рдЖрд╡рд░реНрддреА рдкрджреНрдзрдд рдХреЙрд▓ рдЖрд╡рд░реНрддреА рдкрджреНрдзрдд рдХреЙрд▓
public static void main(String[] args)
{
 print(3);
}

public static void print(int x)
{
 if (x <= 0)
  System.out.println("Boom!");
 else
 {
  System.out.println(x);
  print(x - 1);
  System.out.println(x);
 }
}
public static void main(String[] args)
{
 print1(3);
}

public static void print1(int x)
{
 if (x <= 0)
  System.out.println("Boom!");
 else
 {
  System.out.println(x);
  print2(x - 1);
  System.out.println(x);
 }
}

public static void print2(int x)
{
 if (x <= 0)
  System.out.println("Boom!");
 else
 {
  System.out.println(x);
  print3(x - 1);
  System.out.println(x);
 }
}

тАж
рд╕реНрдХреНрд░реАрди рдЖрдЙрдЯрдкреБрдЯ: рд╕реНрдХреНрд░реАрди рдЖрдЙрдЯрдкреБрдЯ:
3
2
1
Boom!
1
2
3
3
2
1
Boom!
1
2
3

"рдареАрдХ рдЖрд╣реЗ. рдорд▓рд╛ рд╡рд╛рдЯрддреЗ рдХреА рдорд▓рд╛ рд╕рдордЬрд▓реЗ рдЖрд╣реЗ. рдЖрдореНрд╣рд╛рд▓рд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддреАрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рдЖрд╣реЗ?"

"рдЕрдиреЗрдХ, рдЕрдиреЗрдХ рдХрд╛рд░реНрдпреЗ рдЖрд╣реЗрдд рдЬреА рдореВрд│ рдХрд╛рд░реНрдпрд╛рдкреНрд░рдорд╛рдгреЗрдЪ рд╡реЗрдЧрд│реНрдпрд╛ рдЙрдкрдХрд╛рд░реНрдпрд╛рдВрдордзреНрдпреЗ рд╡рд┐рднрд╛рдЧрд▓реА рдЬрд╛рдК рд╢рдХрддрд╛рдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рддреБрдореНрд╣рд╛рд▓рд╛ XML рдЭрд╛рдбрд╛рдЪреНрдпрд╛ рд╕рд░реНрд╡ рдШрдЯрдХрд╛рдВрдордзреВрди рдЪрд╛рд▓рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХрд╛рдордзреНрдпреЗ рдЕрдиреЗрдХ рдореВрд▓ рдШрдЯрдХ рдЕрд╕реВ рд╢рдХрддрд╛рдд рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛рдХрдбреЗ рддреНрдпрд╛рдВрдЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рдореВрд▓ рдШрдЯрдХ."

"рдХрд┐рдВрд╡рд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рдбрд┐рд░реЗрдХреНрдЯрд░реАрдордзреНрдпреЗ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдлрд╛рдЗрд▓реНрд╕рдЪреА рд╕реВрдЪреА рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕рд░реНрд╡ рдЙрдкрдбрд┐рд░реЗрдХреНрдЯрд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдореНрд╣рдгреВрди рддреБрдореНрд╣реА рдПрдХ рдкрджреНрдзрдд рд▓рд┐рд╣рд╛ рдЬреА рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рдбрд┐рд░реЗрдХреНрдЯрд░реАрдЪреНрдпрд╛ рдлрд╛рдЗрд▓реНрд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ. рдирдВрддрд░ рд╕рд░реНрд╡ рдЙрдкрдбрд┐рд░реЗрдХреНрдЯрд░реАрдВрдЪреНрдпрд╛ рдлрд╛рдЗрд▓реНрд╕ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рддреБрдордЪреА рдкрджреНрдзрдд рд╡рд╛рдкрд░реВрди рдХреЙрд▓ рдХрд░рд╛. рднрд┐рдиреНрди рдпреБрдХреНрддрд┐рд╡рд╛рдж: рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛."

"рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде:"

рд╕рд░реНрд╡ рдлрд╛рдЗрд▓реНрд╕ рдбрд┐рд░реЗрдХреНрдЯрд░реА рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рдЙрдкрдбрд┐рд░реЗрдХреНрдЯрд░реАрдордзреНрдпреЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рд╛
public static void main(String[] args)
{
 printAllFiles(new File("c:/windows/"));
}

public static void printAllFiles(File dir)
{
 for (File file : dir.listFiles())
 {
  if (file.isDirectory())
   printAllFiles(file);
  else
   System.out.println(file.getAbsolutePath());
 }
}

"рдУрд│ 8 - рдЖрдореНрд╣рд╛рд▓рд╛ dir рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрддреАрд▓ рд╕рд░реНрд╡ рдлрд╛рдИрд▓реНрд╕рдЪреА (рдЖрдгрд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛) рдпрд╛рджреА рдорд┐рд│рддреЗ."

"рд▓рд╛рдИрдиреНрд╕ 10-11 - рдЬрд░ рдлрд╛рдЗрд▓ рдЦрд░реЛрдЦрд░ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЕрд╕реЗрд▓, рддрд░ рдЖрдореНрд╣реА рдкреБрдиреНрд╣рд╛ printAllFiles рдХреЙрд▓ рдХрд░рддреЛ , рдкрд░рдВрддреБ рдпрд╛рд╡реЗрд│реА рджреБрд╕рд░реНрдпрд╛ рдпреБрдХреНрддрд┐рд╡рд╛рджрд╛рд╕рд╣: рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛."

"рдУрд│ 13 - рдЖрдореНрд╣реА рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рдлрд╛рдЗрд▓рдЪреЗ рдирд╛рд╡ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЛ."

"рдареАрдХ рдЖрд╣реЗ. рдорд▓рд╛ рд╕рдордЬрд▓реЗ рдЖрд╣реЗ. рдзрдиреНрдпрд╡рд╛рдж, рдмрд┐рд▓рд╛рдмреЛ."