SlideShare a Scribd company logo
Java farsi
‫ه ا‬




JAVA


 ١٣٨
         ‫دا‬
‫س داود د‬            ‫ر‬   ‫:‬    ‫د راه‬    ‫ا‬




                        ‫ن:‬     ‫د ور‬




       ‫ا‬      ‫ﺡ‬
       ‫د‬     ‫د‬
            ‫ی را‬
      ‫زاد‬
                   ‫را‬
‫‪James Gosling Mike ،Patrick Haughton ،Chris World ،Ed‬‬                                                                                                                    ‫و‬         ‫‪Java‬‬
         ‫از ٨١‬                ‫و‬                     ‫‪ sun‬ی ری‬                             ‫ا ار‬                     ‫ل ١٩٩١ در‬                            ‫‪ Shridon Frank‬در‬
‫.‬                             ‫ط(‬                                 ‫ز ن در ا ا ‪) Oak‬‬                                     ‫.ای‬               ‫ن ای د‬                  ‫ر‬                       ‫اوﻝ‬
              ‫رت‬                          ‫م داد و‬                         ‫اوﻝ‬            ‫ر ٦٩٩١ ای ز ن از‬                                                   ‫١٩٩١‬             ‫ی‬          ‫در‬
                                                                                                                                                                             ‫.‬          ‫ارا‬
    ‫ای‬        ‫ا ای‬            ‫ﺥ‬               ‫در ای ان ( و ی در‬                    ‫ا ) اﻝ‬                         ‫از ﺝ وا‬                                                         ‫ا ا‬
                                                                                                                                                               ‫د ا .‬             ‫ز ن ر‬
‫، ون‬                                      ‫،‬                      ‫،ﺥ‬               ‫، اﺝ ا ﺥ‬                                      ‫ی‬                                   ‫ادف ا‬           ‫ﺝ وا‬
                                                                                             ‫؟‬               ‫ا‬                  ‫ای‬           ‫ی وا‬           ‫ر و ... وﻝ‬                  ‫را‬
‫ط‬         ‫ه‬          ‫از‬               ‫ی‬             ‫وﻝ‬            ‫‪ Java‬ا‬             ‫ر‬           ‫از زوه‬                             ‫ی‬                  ‫:‬                     ‫ی‬
                                                                                                                                                                             ‫رت ن.‬
     ‫دﻝ‬            ‫، اﻝ‬           ‫ا‬           ‫ی در‬                ‫‪native compile‬‬                             ‫ه‬                                ‫ی‬        ‫: در‬                      ‫اﺝ ا ﺥ‬
                                      ‫.‬         ‫س‬                    ‫ان‬         ‫وت ن‬                 ‫ي ن وﻝ‬                              ‫ﺥ ر ای ز ن و ﻝ ي ا‬
‫‪Object Oriented‬‬                                                      ‫ا و‬         ‫ی ن روال‬                                                ‫ا‬          ‫ی‬           ‫:‬
                                                                                                                                 ‫.‬                          ‫‪ Programming‬ای‬
                                          ‫.‬                  ‫در‬                   ‫ا ا اد را‬                       ‫ی‬         ‫.‬                           ‫ً ای‬        ‫:ا‬
‫اي ای ز ن ‪ IDE‬وﺝ د‬                                               ‫ند‬             ‫از ا‬                 ‫،‬             ‫ر ‪IDE‬‬                                ‫:ا‬          ‫ر‬            ‫ون را‬
‫‪، NetBeans ، Eclipse‬‬                                             ‫ن‬        ‫‪ IDE‬ه‬                  ‫د‬                          ‫رد ن‬                  ‫در‬                     ‫ا‬         ‫دارد.‬
        ‫وا‬                    ‫‪ Text pad ، Web sphere ، Sun studio ، IntelliJ ، JBuilder‬و...‬
‫در‬            ‫ر‬           ‫ﺥ ر را‬                ‫.‬            ‫ا‬            ‫ً‬        ‫ف‬                     ‫،‬         ‫ﺥ ‪ GUI‬ا‬                                  ‫ر‬           ‫ر از را‬
                                                                                             ‫.‬           ‫ا‬              ‫ا‬                ‫ﺥ ره‬                   ‫ی‬                ‫‪ Java‬از‬
    ‫ه‬             ‫. وﻝ‬                                           ‫ر ده ن‬                ‫ی ای ی‬                    ‫د."‬            ‫از ا وز ﺥ اه‬                             ‫"‪ Java‬دا‬
    ‫. وﻝ ای‬                   ‫ر‬                ‫ان ه ی‬                         ‫ای ﺝ‬       ‫د‬               ‫ﺥ اه‬                            ‫ای‬        ‫ی‬        ‫ن،‬                     ‫رو‬
             ‫ن،‬           ‫ا‬                              ‫د‬        ‫ﺥ ر ‪Java‬‬               ‫و‬               ‫در زی‬                          ‫؟ از‬            ‫ا‬                    ‫ده از‬
    ‫ا‬        ‫ا ‪ Java‬را‬                                       ‫ا‬       ‫از‬         ‫ور ز ن، ‪ Sun‬ﺥ‬                                           ‫د،‬        ‫‪Java‬‬              ‫ه‬                   ‫در‬
‫ل روی اده و ز ی‬              ‫ی‬        ‫ا‬       ‫ل‬       ‫در‬                ‫داد.‬                      ‫ز ر‬
 ‫اوﻝ‬        ‫در وی ای‬    ‫دن‬   ‫پ‬                              ‫دن وی‬            ‫ا‬          ‫ی از ن و ه‬
     ‫ه‬      ‫زی د در‬    ‫ه‬              ‫ر‬            ‫ی‬                ‫ات، ‪Platform‬‬             ‫ای‬         ‫د.‬
                                                                                                  ‫د.‬
‫در‬       ‫دان ﺥ‬    ‫وا‬              ‫م وﺝ د ا ن ه‬              ‫،‬       ‫ر‬            ‫اﺝ‬     ‫م وﺝ د‬
‫وژ‬       ‫م وﺝ د‬       ‫نوی‬    ‫ن ‪ server‬ه‬        ‫م‬       ‫ان‬                        ‫،ه‬          ‫ا از‬       ‫ای ان‬
 ‫ﺥ رﺝ‬       ‫ه‬                 ‫،‬       ‫وژ ه ی‬                    ‫ه‬       ‫ا‬   ‫‪ enterprise‬در ای ان )‬            ‫ه‬
     ‫ﺥ ره‬    ‫ز ای ز ن و‬       ‫رد د‬        ‫را در‬        ‫ر‬        ‫ﺝ‬            ‫ی‬      ‫ن‬    ‫(‬              ‫د‬
                                          ‫ارا ده .‬                               ‫ین‬      ‫ی دا‬          ‫ن ا‬


‫٥٨٣١‬
            ‫دا‬
‫ان ................................................................................‬


      ‫ﺝ وا ........................................................................ ٢‬             ‫ری‬
  ‫......................................................................... ٢١‬
  ‫ه ........................................................... ٣٢‬                  ‫ا اع داد ه ،‬
  ‫ه .............................................................................. ٩٥‬
  ‫٨‬       ‫ﻝ ......................................................................‬       ‫رات‬
 ‫س ه ................................................................. ٦٣١‬                    ‫ی‬
‫وراﺙ ، ‪١٧١ .......................................................... Inheritance‬‬
‫ه .................................................................. ٧٠٢‬             ‫ه و را‬
 ‫٣٢‬         ‫زي ا اع ﺥ ن داد ه ....................‬                     ‫آ ، د‬            ‫ا اع داد‬
‫٨٢‬         ‫......................................................................‬            ‫ی ی‬
‫........................................................................ ٠٩٢‬          ‫ت وی‬             ‫ا‬
‫................................................................................. ٨١٣‬
      ‫.............................................................................. ١٣٣‬
Java                       ‫ﺕ ری‬



                                             :         ‫وی ای‬
                                     ‫ن‬           ‫ل ز ن و ر ده‬
                               java ‫ای د‬
           ‫ه‬Application ‫ه و‬Applet
                                             ‫ا‬
            (portability)
Java             ( Byte Code)            ‫ی‬
                          Java ‫در‬            ‫ا‬
                   Java        ‫ا‬     ‫ی ه‬
                   Java ‫ی‬            ‫ز نو‬
             ‫ه‬      ‫ی‬       ‫لو ر‬
                               Verifier
       (class loader) ‫س‬                  ‫ر‬
       ‫ه‬     ‫ا‬     ‫ودی ه‬        ‫از‬


                          .‫ی‬             ‫لز نوآر دهي ن‬          ‫در ای‬
‫‪Java‬‬               ‫ﺕ ری‬


‫ا د، ﺝ دار ز ن‬                                ‫ز نشی‬                        ‫ی‬       ‫د ، ز ن ‪++c‬‬                        ‫در اواﺥ ده ٠٨ و اوای ده ٠٩‬
‫و‬              ‫رد‬   ‫ز ن‬                  ‫ﺥ‬         ‫ی ن‬                                         ‫ر‬                           ‫. در وا‬                ‫ي‬           ‫ی‬                         ‫ه‬
                                                                                                                                    ‫د ا .‬             ‫ا‬           ‫را ﺥ د را‬
‫ا ای د‬                       ‫ا‬               ‫ﺥ د،‬                      ‫د از رت ز ن ‪ c‬و ر ی‬                                           ‫ا‬                        ‫د‬            ‫‪ ++c‬ز‬
                                                                                                                ‫ر رود .‬                  ‫ه‬                    ‫از‬           ‫و‬
‫ل ‪world wide‬‬                                  ‫ت‬                ‫.‬               ‫ه‬                                          ‫ه‬                   ‫، ا ای‬                                    ‫وﻝ‬
               ‫در‬       ‫دی‬               ‫ا‬                     ‫د . ای وا‬                                             ‫د ا‬                 ‫ر‬                            ‫‪ web‬و ای‬
                                                                                                                                                                      ‫.‬             ‫ی‬


                                                                                                                                                                    ‫ای د ‪java‬‬


    ‫م ا اره ی‬            ‫ا ی ای د‬                       ‫از ‪ Platform‬د‬                                            ‫ز ن‬               ‫ه ف اوﻝ از ای د ، ‪ java‬ی‬
         ‫را دا‬                       ‫ه‬             ‫ل‬           ‫وی ه و‬                  ‫ی‬                         ‫و‬        ‫اﻝ‬                      ‫د در و ی‬                     ‫ا ا‬
    ‫ای‬                       ‫.‬                     ‫د‬       ‫ﻝ ا‬                 ‫ان‬                       ‫و‬             ‫از ‪ cpu‬ه‬                        ‫. در وا و ی‬
‫ا .‬              ‫ای د‬                              ‫و‬       ‫ه ی در ی‬                                 ‫ا ای د‬             ‫++‪ C‬و‪C‬‬                                 ‫ز نهی‬                 ‫د‬
         ‫ا‬     ‫م‬             ‫ر‬           ‫د، وﻝ ای‬                      ‫ی‬            ‫ع ‪cpu‬‬                   ‫رو ه‬               ‫++‪ C‬را‬                     ‫ه‬               ‫ان‬
‫.‬                   ‫وز ن‬                       ‫ه ی‬                                 ‫ی‬           ‫و ای د‬                ‫ن ‪ CPU‬ا‬                  ‫ی ++ ‪ C‬ا‬                                   ‫ی‬
‫، ‪ Gosling‬و‬                              ‫ای‬        ‫ا ر‬             ‫.‬           ‫زا‬          ‫رد‬                   ‫ه ی‬            ‫و‬         ‫د‬                    ‫را‬          ‫ای ی‬
    ‫ا ی‬             ‫د‬            ‫وع‬           ‫از ‪ Platform‬را‬                                   ‫و‬                     ‫ز ن‬            ‫رو ی‬                  ‫ر او، ر‬
‫.‬            ‫اﺝ ا‬                             ‫ر‬            ‫ه‬                   ‫ع ‪ cpu‬و در‬                       ‫رو ه‬                                          ‫را دا‬             ‫ای د‬
             ‫ای ز ن،‬             ‫ه ف اوﻝ‬                   ‫ان‬                              ‫.‬             ‫ای د ‪ java‬ا‬                     ‫یً‬           ‫،‬            ‫ر ای‬
    ‫ای دﻝ‬                        ‫ا‬                     ‫د. وﻝ ای ه ف‬                                     ‫ی ی‬                    ‫ﺥ‬                      ‫لو ی‬                 ‫ا‬
‫ای ز ن دو ر و‬                                 ‫د.‬       ‫ح‬                   ‫د از ای‬              ‫ا‬           ‫ی‬          ‫و ی ﺥ‬                      ‫ز‬                ‫رﺥ‬           ‫ه‬
‫م‬                                ‫. ای ه ف‬                  ‫ر‬                               ‫ی ی نه‬                    ‫رو‬                                   ‫ا‬        ‫ای ه ف‬
                                                                                       ‫.‬            ‫ا‬                          ‫ز‬              ‫ه‬           ‫س ز رﺥ‬                         ‫ا‬
‫ان‬               ‫ن ‪world wide web‬‬                                       ‫ا‬            ‫ل ٤٩٩١ و‬                          ‫ان از‬                                 ‫‪ java‬را‬                   ‫ه‬
‫‪Java‬‬                    ‫ای دﻝ‬        ‫.‬            ‫ا وب ا‬                    ‫ل‬       ‫ز ن ای‬                    ‫‪ Java‬ی‬                             ‫ﺝ‬               ‫‪Sun‬‬                        ‫د. ه‬
‫اﺝ ا‬                                              ‫ه‬        ‫و‬                            ‫رو ه‬                                     ‫ه ی را دا‬                                     ‫ا ی ای د‬
    ‫ای‬        ‫ر دار . در وا‬                                             ‫ه‬                                                           ‫ر ان‬                           ‫و در ‪Web‬‬                              ‫دا‬
     ‫ﻝ ه‬               ‫در‬           ‫در ای د ی‬                           ‫ای‬                                            ‫ر‬                 ‫‪Java‬‬                       ‫ا‬                    ‫ا‬
‫وﺝ د دارد‬                           ‫ا ای‬                   ‫در ای د‬                           ‫ا‬                     ‫،ه ن‬                      ‫ن رو و ا‬                                               ‫و ی‬
    ‫ا ن ‪ Java‬ﺝ ﺥ د را از و ی‬                                                        ‫د. از ای‬                                    ‫ان ن را‬                                        ‫را‬           ‫و از ه‬
    ‫ل ٦٩٩١ ارا‬                ‫د از‬                 ‫ر‬                ‫ف آ د . ‪Java‬‬                                                        ‫ای‬               ‫ی‬                                  ‫و‬            ‫اﻝ‬
             ‫ا ن ن )!(‬                   ‫ه‬                     ‫دﻝ‬               ‫.‬        ‫ﺥ‬                            ‫ز ن‬               ‫ان ی‬                       ‫و از ه ن ا ا‬
                 ‫‪ Java‬را‬        ‫ه‬                         ‫ی ی‬           ‫د. وﻝ‬                        ‫ای‬           ‫ﺥ ره‬                       ‫دارا‬                  ‫ز ن‬             ‫ز‬                ‫دﻝ‬
‫‪Java‬‬                     ‫در‬              ‫و‬                              ‫وب‬                   ‫.ه‬                                     ‫ً‬                    ‫؟‬         ‫وب دا‬                                 ‫دﻝ‬
             ‫و‬         ‫ر د و در و ی اﻝ‬                                  ‫ه‬                        ‫ﻝ‬            ‫ا‬                                  ‫وﻝ ‪ Java‬را ی ز‬                                          ‫دا‬
    ‫وﻝ‬                  ‫ی‬                ‫ز ن‬               ‫د، ‪ Java‬ی‬                    ‫وب‬             ‫ا‬               ‫ان‬                                ‫ر ورد. در وا‬
                                                                                        ‫.‬                                               ‫و‬                ‫ﺥ و ا و ی اﻝ‬
                  ‫دا‬        ‫ا ن ای ز ن‬                          ‫.‬        ‫ا‬               ‫ت ﺥ د را از ‪ C‬و++ ‪C‬‬                                                               ‫ﺥ‬                    ‫‪Java‬‬
     ‫و‬                  ‫ی ن‬                       ‫ﺝ‬                         ‫++ ‪c‬‬             ‫ای‬                                     ‫ر ‪c‬وﺥ‬                              ‫د‬               ‫د از‬               ‫ا‬
         ‫از ﺥ اص ای دو ز ن را‬                                       ‫، ‪Java‬‬               ‫ه‬                             ‫ای‬               ‫و‬                ‫د.‬                ‫‪C++/ C‬‬
                                                                                    ‫.‬            ‫د ا‬              ‫د‬         ‫ا‬                            ‫ن ن دو‬                        ‫ر‬
             ‫ر‬          ‫++ ‪C‬‬                 ‫ای‬                ‫‪ Java‬را‬                   ‫ا‬                        ‫‪ Java‬و++ ‪C‬‬                                           ‫ه‬       ‫ه‬
‫ﺙ از ++‪C‬‬                    ‫‪Java‬‬                      ‫ا‬         ‫++‪ C‬دارد. در‬                               ‫و ی‬              ‫. ‪Java‬‬                           ‫ا‬         ‫را‬                   ‫وﻝ ای‬
             ‫ز ر‬                ‫ل ‪ Java‬ه‬                            ‫ا‬           ‫.‬       ‫از ‪ ++c‬دا‬                         ‫دی‬                                 ‫ی ن را ی‬                   ‫. وﻝ‬              ‫ا‬
                  ‫س‬         ‫‪ Java‬ا‬                         ‫، ﺥ د را‬                      ‫‪++c‬‬                  ‫ی‬                                  ‫ی‬                 ‫++‪ C‬ارد. وﻝ ا‬
         ‫ا‬       ‫ا ++‪C‬‬              ‫ی‬         ‫ﺝی‬           ‫ان ی‬                     ‫‪java‬‬                          ‫ای دو( ه‬                           ‫ه‬             ‫ه ه‬                                   ‫)‬
         ‫ت دی‬                       ‫ی‬             ‫اي‬                ‫ت ﺥ ص و ++‪C‬‬                                             ‫ي‬                ‫ی‬                ‫اي‬       ‫. ‪Java‬‬                   ‫ا‬
‫.‬                       ‫د‬     ‫ر ه ا‬                       ‫در‬                        ‫ل ه‬              ‫ز ن ه،‬                         ‫دو ای‬                    ‫. ه‬           ‫ا‬                        ‫ا‬
                                                           ‫:‬        ‫ی‬                                ‫دو دﻝ‬                      ‫ی‬                                  ‫ز نه‬                     ‫ر‬
                                                                                                 ‫.‬        ‫ا‬            ‫ات ﺝ د‬                                          ‫ز ر‬                  ‫١- ا‬
‫)‪.(Art of Programming‬‬                                       ‫ی‬                        ‫دن ه‬                                ‫٢- ا‬
     ‫دﻝ‬       ‫(ی‬               ‫ات ﺝ د‬                            ‫) ز ر‬                        ‫از ‪ Platform‬در ای‬                                           ‫ه‬                     ‫ز‬
‫در روش‬                     ‫د‬                      ‫ا‬                  ‫‪Java‬‬                      ‫د. ه‬                    ‫ب‬                       ‫‪Java‬‬                    ‫در‬
          ‫.‬       ‫ا‬            ‫ی ﺥ در‬                       ‫ای در ‪Java‬‬                            ‫ل‬       ‫ان‬                   ‫:‬           ‫ا‬         ‫ای د‬          ‫ی‬


                                                                                                                           ‫‪Applet‬ه و ‪Application‬ه‬


              ‫ر د .‬                   ‫ه‬                  ‫: ‪ Applet‬ه و‬                             ‫عه‬          ‫دو‬              ‫‪Java‬‬                    ‫ای د‬             ‫ه‬
      ‫ن اﺝ ا‬                                                     ‫و‬                            ‫رو ی‬                             ‫هی ه‬                       ‫ر د ،‬                     ‫ه‬
‫ی ز ن‬                                     ‫ای د‬           ‫ه‬                          ‫‪،Java‬‬                              ‫ر د ای د‬                           ‫ه‬                 ‫.‬
                      ‫.ا‬        ‫ه ا‬           ‫ز ن ه در ای د ا‬                            ‫دی‬       ‫‪Java‬‬                 ‫. وت‬                      ‫‪ C‬و++‪ C‬ه‬                           ‫ه‬
‫د.‬                ‫ن ای د‬                      ‫وب‬         ‫ور‬              ‫رو‬          ‫و اﺝ ا‬                       ‫ی ای‬             ‫ا ار ل از‬                                    ‫ا ا‬
‫ه و...(‬                         ‫،‬         ‫ی‬             ‫،‬                  ‫ه‬         ‫) ی‬                  ‫ه در ای‬                  ‫ی‬             ‫ی‬                          ‫ا‬       ‫ی‬
      ‫د‬                         ‫ان ای‬                   ‫ی ه را‬             ‫ای‬                 ‫وت ا‬                ‫د. وﻝ‬                    ‫و اﺝ ا‬                 ‫‪download‬‬
‫ه،‬            ‫دن ا‬              ‫ﺝﻝ‬            ‫ه‬        ‫د.‬        ‫ی‬              ‫ی‬                     ‫ی‬                ‫و‬           ‫ا‬                 ‫ه‬                      ‫ی‬       ‫ا‬
      ‫دا‬              ‫ا‬                       ‫ر د دی‬                 ‫ه‬                            ‫را در‬                                ‫دو‬             ‫ا‬             ‫‪Sun‬‬             ‫ا‬
                                                  ‫د .‬        ‫ه‬        ‫ا‬         ‫ا‬         ‫در‬              ‫ت‬                   ‫دن‬                              ‫و‬            ‫.ا‬


                                                                                                                                                                       ‫:‬            ‫ا‬


‫.‬         ‫رو و ه‬                    ‫ری‬         ‫ی‬            ‫، در وا‬                                               ‫د را از ای‬                                  ‫ی‬        ‫ه ز ن‬
                      ‫ی زی د‬              ‫از ‪ Java‬ر ان‬                               ‫؟‬                    ‫ای د‬                         ‫ا‬                  ‫ﺥ‬                     ‫ی ای‬
           ‫وی و‬                     ‫ا‬         ‫داد . ﺥ‬                ‫ن‬              ‫از ن‬                  ‫ات‬           ‫ﺥ‬                                  ‫ه از ای‬
‫ت‬             ‫ا‬                ‫هی‬                     ‫.وی‬                           ‫در‬        ‫ا‬       ‫ﺥ‬           ‫ﺝ‬            ‫ا‬
          ‫ه‬       ‫ور‬                ‫از ی‬              ‫. وﻝ ا‬                                                              ‫را از رو‬                            ‫ارزش و ﺥ‬
‫د و‬           ‫‪download‬‬                                ‫‪ Java‬را از ای‬              ‫ه‬            ‫نا‬              ‫ا‬           ‫ا‬                ‫.‬                  ‫د‬    ‫‪ Java‬ا‬
           ‫اﺝ ای ‪ Java‬و‬                                      ‫ه‬            ‫دن ا‬           ‫ود‬               ‫ی‬           ‫را از‬                    ‫. ‪ Java‬ای ا‬                      ‫اﺝ ا‬
‫ا‬     ‫لی‬                ‫ا‬        ‫.‬           ‫، ای د‬                                 ‫دی‬                                  ‫ا د‬                  ‫ا‬         ‫اﺝ ز از ی‬
‫از‬           ‫ان ی‬                ‫‪ Java‬را‬                      ‫ن را ارد. ای ﺥ‬                                               ‫رو‬            ‫د از ی ه‬                      ‫اﺝ ز ا‬
                                                                                                                           ‫.‬          ‫ن دا‬                ‫ط‬                ‫ی‬


                                                                                                                               ‫)‪(portability‬‬                           ‫ﺡ‬


‫) ‪Mac Os ،WinX‬‬                                                ‫ه‬                                                    ‫ه‬                       ‫دا‬                  ‫ر‬               ‫ه ن‬
             ‫ﺥ ص ن ه وﺝ د دار‬                             ‫ه‬                                          ‫هی‬                        ‫،‪Solaris ،UNIX‬و...( و ی‬
‫ه اﺝ ا‬                           ‫ای‬                ‫رو‬             ‫اه‬                                        ‫.ی‬                                        ‫ای‬                   ‫ا‬
              ‫در‬                ‫ا ای د ا‬             ‫‪Java‬‬                               ‫. را‬          ‫اﺝ ا ا‬           ‫و‬                              ‫ی‬            ‫ز‬           ‫د،‬
                                                                                ‫.‬                           ‫را‬                 ‫، ای‬        ‫د ا‬        ‫ﺥ د ای د‬                          ‫ه‬


                                                                                                                ‫‪Java‬‬                  ‫)‪( Byte Code‬‬                                  ‫ی‬


    ‫ی‬                                     ‫ﺥ وﺝ ای د‬                    ‫. در وا‬                   ‫‪ Java‬ا‬            ‫ی‬                ‫ان‬                         ‫دو‬
‫رات‬            ‫د‬                 ‫ی‬             ‫. ی‬        ‫ا‬             ‫ی‬                               ‫اﺝ ا )‪(executable‬‬                                          ‫‪ ، Java‬ی‬
‫ز ‪ Java‬ی ‪Java Virtual‬‬                                                       ‫ل اﺝ ا ‪) Java‬‬                         ‫در‬                                           ‫ا‬
     ‫در وا‬                      ‫ی.‬             ‫ب‬                            ‫ی‬            ‫ا‬                       ‫. ‪ JVM‬ی‬              ‫اﺝ ا ا‬                   ‫‪(Machine‬‬
    ‫ی‬         ‫ی‬            ‫را‬         ‫ی‬           ‫ﺥ وﺝ ای‬                               ‫د و‬             ‫ی‬         ‫‪Java‬‬          ‫ی‬                         ‫را‬                    ‫ا ا‬
     ‫ی‬                 ‫دا ، ﺥ وﺝ‬                          ‫ر‬            ‫.ه ن‬                            ‫‪ JVM‬اﺝ ا‬                       ‫،‬        ‫).‪ (class‬ا‬                           ‫ی‬
‫و‬                      ‫د‬        ‫ی ا‬                   ‫ی‬            ‫ا وز ، از‬                          ‫ز نه‬             ‫. در وا ا‬                ‫اﺝ ا ا‬                                  ‫ی‬
             ‫د از ‪JVM‬‬                         ‫د. وﻝ ا‬                   ‫ی ه‬                                 ‫ان ر ی‬                    ‫ن را‬        ‫و دﻝ‬                         ‫از‬
‫ان‬                 ‫،‬            ‫ای د ی‬                        ‫ای دﻝ‬                 ‫.‬        ‫ی‬         ‫‪ Java‬د‬              ‫دو ه ف‬                ‫ان‬                    ‫د‬
‫ز‬                 ‫د.‬        ‫‪ JVM‬اﺝ ا‬                      ‫و‬            ‫از د‬                          ‫و در ه‬                    ‫رو ه‬              ‫را‬
             ‫وﺝ د‬                             ‫ﺝ‬                   ‫ای‬        ‫ﺥ د داری . ﻝ ً‬                                                ‫رو‬      ‫‪JVM‬‬
        ‫نه ی‬               ‫، وﻝ ه‬                    ‫ق‬                 ‫دی‬                                   ‫ی‬                                  ‫ت ‪ JVM‬از ی‬                           ‫ﺝ‬
    ‫ی‬                                                     ‫‪Java‬‬                                   ‫د‬    ‫زم‬          ‫.ا‬                  ‫ن را ای د‬                    ‫ی‬                ‫ی‬
‫ای‬                     ‫و‬                   ‫ه‬                              ‫و‬                     ‫ا ‪ cpu‬ه‬                             ‫ی‬                                         ‫د، ی‬
     ‫اﺝ ا‬              ‫ان‬                   ‫ض‬               ‫. در‬                           ‫ﺥ‬             ‫ای را‬                               ‫ی‬                 ‫،ﺝا‬                     ‫ه‬
‫.‬            ‫ی‬             ‫دن د‬                                     ‫ا‬        ‫ﺥ ب‬                    ‫را‬      ‫ی‬         ‫وت،‬                    ‫ه‬              ‫ن در‬                   ‫ی‬                  ‫ی‬
‫‪،Java‬‬                             ‫. زی ا اﺝ ا ه‬                                  ‫ا‬         ‫رﺥ‬                    ‫در‬                  ‫ا‬           ‫د‬         ‫ان اد‬                                          ‫ه‬
                 ‫تو‬                 ‫ا‬                           ‫ز‬                                   ‫د‬       ‫ا ﺝ‬                 ‫و‬                ‫ل ‪ JVM‬ا‬                       ‫و‬                      ‫زی‬
                                                                                                                                                                   ‫د.‬              ‫را‬
     ‫ز‬                                  ‫ا‬                                    ‫ان ی‬                   ‫( را‬              ‫‪ ) Java‬ی‬                   ‫ی‬                                     ‫ای د‬
             ‫ﻝ‬         ‫.‬        ‫ر " ‪"run any where ,Write Once‬‬                                                                                                  ‫. ی‬                    ‫‪ Java‬دا‬
     ‫ی‬                            ‫و‬                                          ‫رو ه‬                   ‫‪ Java‬را‬                          ‫ا‬                   ‫ی ‪Java‬‬                        ‫‪ JVM‬و‬
‫‪ JVM‬اﺝ ا‬                                    ‫و‬                               ‫رو ه‬               ‫( را‬              ‫ن) ی‬          ‫. و ﺥ وﺝ‬                        ‫ی‬               ‫‪ Java‬ن را‬
                                                                                                                                                                                                 ‫.‬


                                                                                                                                                                   ‫در ‪Java‬‬                                ‫ا‬


         ‫.‬            ‫نا‬                            ‫د، ا‬                ‫ا‬        ‫ش‬                        ‫ز ن ‪ Java‬در ای‬                                  ‫ی د ی‬                            ‫از‬             ‫ی‬
                           ‫ار ﺥ‬             ‫توا‬                         ‫ا‬             ‫رد‬            ‫. اوﻝ‬                        ‫دی‬                  ‫از‬    ‫ا‬                                   ‫ﻝ ا‬
                 ‫ه‬          ‫ی ددا‬                   ‫د‬                                  ‫ی ا دﺥ‬                             ‫و‬     ‫اﻝ‬                   ‫ر‬                             ‫.‬
         ‫،‬             ‫ور‬               ‫ﺝ‬                                            ‫د ی‬                 ‫ت را‬                 ‫ای ا‬               ‫ون اﺝ ز‬                                        ‫ی‬         ‫ا‬
‫وف‬                          ‫ه‬                               ‫ا‬                         ‫دی‬           ‫. از دی‬            ‫د‬        ‫ﺥ دا‬                                    ‫ا‬                   ‫ا‬
‫،‬                      ‫ت ی ا‬                        ‫ا‬               ‫ه ری‬                                 ‫مه(ا ر‬                 ‫وی وس ه و‬                                  ‫ﺥ اب ر )‬
             ‫و ﺥ اه دا‬                      ‫و ر دا‬                          ‫ای وی وس ه‬                                    ‫ً‬              ‫.‬                                     ‫را د ر‬
                      ‫وی‬         ‫ورود ن دا‬                                  ‫دن‬         ‫ا‬       ‫در‬           ‫د‬                   ‫وی وس وارد‬                         ‫ی‬                                  ‫وا‬
     ‫ر‬                                          ‫ی‬               ‫ا‬                          ‫.ه‬                     ‫ود‬            ‫ن اﺝ ز ورود داد‬                                                ‫ا را‬
‫و‬                      ‫ن‬                                            ‫ً از ای ﻝ‬                       ‫د.‬                               ‫در ی ه‬                    ‫ﺥ ا‬                                   ‫ﺥ ا‬
                       ‫از ی‬             ‫ر‬               ‫ه‬                    ‫زم ا‬                           ‫ای‬        ‫د. ذ‬           ‫اه‬              ‫د‬      ‫نا‬                 ‫ز‬
‫د.‬               ‫اه‬               ‫ا‬                                                  ‫را ر ی‬                 ‫لا‬            ‫ا‬     ‫ﺥ د‬                                        ‫د‬           ‫ا‬
     ‫ه‬                     ‫و ی‬                          ‫ن را اﺝ ا‬                              ‫ر‬            ‫در ای‬                ‫ی اﺝ ای‬                    ‫ه‬                                  ‫ر ا‬
‫ی‬                  ‫ﺥ د‬                        ‫ذ‬            ‫ا‬     ‫راه‬                ‫اﺝ ای را ز‬                             ‫دارا‬                   ‫و‬            ‫اﻝ‬
                                                                                ‫د.‬            ‫ن را‬              ‫ا ﺝ‬                     ‫ا‬                            ‫ه‬


                                                                                                                          ‫‪Java‬‬                  ‫ا‬       ‫ی ه‬


                                                                        ‫:‬       ‫ا‬                                   ‫ر‬      ‫‪ Java‬از‬                  ‫ا‬
                                      ‫ن‬       ‫ی‬         ‫و‬                            ‫ا‬                 ‫ا‬            ‫ا‬            ‫ز ن‪Java‬‬                         ‫١-‬
                                                             ‫ارد.‬                   ‫ن را زی‬                 ‫ا‬           ‫، ا‬            ‫ای د‬
     ‫را زی‬                ‫ا‬               ‫ا‬                 ‫له‬         ‫رت و‬                                         ‫اﺝ ا‬         ‫هی‬                     ‫٢- ی‬
     ‫ای د‬                 ‫ﺥ اب ی‬                    ‫ی‬                       ‫ه ی را‬                ‫ی‬                 ‫ی ای ا‬       ‫ار ه ف ای‬
                                                                                                                    ‫ار ده .‬                             ‫ا را‬
          ‫ه د‬            ‫ودی‬                      ‫سه‬                                      ‫س ه )‪(class loader‬‬                                        ‫٣- ر‬
                                                                                                                                       ‫.‬                         ‫ا‬
 ‫ا‬                                ‫صا‬                    ‫٤- ‪(JAPI (Java Application Programming Interface‬‬
     ‫از‬           ‫دارد‬                ‫ا‬                     ‫ی ﺥ‬         ‫د. ای‬        ‫را‬                ‫ﺥ اب ر ‪ applet‬ه در‬                                            ‫ﺝ‬
                                                                                                                    ‫د.‬                                  ‫ی دی‬


                                                                                                                           ‫ی ‪Java‬‬                   ‫ز نو‬


          ‫،ه‬         ‫ا ءه‬                                   ‫لد‬          ‫ا‬                 ‫دارا ا‬                ‫ن‬              ‫ز ن ‪ c‬و ز ن هی‬
‫ای روش ه‬                                  ‫ء( ه‬      ‫از ا‬               ‫ا ء )ی‬                         ‫دن د‬               ‫ا ﺝ‬       ‫ی‬            ‫دارا رو‬
‫داری :‬                        ‫ا‬                   ‫د. در ای ز ن ه دو‬                           ‫م‬       ‫ه ا‬               ‫د از ا ر‬            ‫ا‬       ‫ً‬
                                                        ‫.‬        ‫ظ‬         ‫از ﺥ رج‬                    ‫ا ﺥ د را از د‬                                         ‫١- ه‬
‫را‬            ‫ا‬      ‫ا‬                                  ‫ا دارا ‪ Bug‬ه ی‬                        ‫،‬              ‫ه‬           ‫ز ن دارا ا ر‬                           ‫٢- ی‬
‫دن‬        ‫ل‬         ‫و‬             ‫ی‬                ‫ه از‬              ‫لا ر‬                ‫دا‬           ‫را‬                 ‫ا ازد. ‪ Java‬ای‬                     ‫ﺥ‬
 ‫ا ء وﺝ د دار ، وﻝ‬                                          ‫ا د‬        ‫ه‬        ‫. ه ز ه ای ا ر‬                             ‫ف‬            ‫‪JVM‬‬                      ‫ن‬
‫رای ه در ‪Java‬‬                             ‫ا‬                      ‫ا‬         ‫.ه‬                 ‫ل‬            ‫رت ‪ JVM‬د و‬                                       ‫ً‬
‫ر‬      ‫ود‬           ‫د و‬         ‫ًآ ل‬                           ‫را‬                          ‫،‬                       ‫ن‬            ‫رای ه را‬                             ‫ر‬                     ‫داری ،‬
                                                                                                                            ‫.‬                                ‫ا‬       ‫و‬            ‫را ر‬


                                                                                                                                                 ‫ه‬               ‫ی‬                ‫لو ر‬


                            ‫ﺥ د‬                            ‫ا‬           ‫داد و ن را‬                            ‫‪ Java‬را‬                     ‫ی‬               ‫دﺥ ا ر‬                             ‫ی‬            ‫ا‬
‫‪Java (Java Runtime‬‬                                     ‫ل اﺝ ا‬                          ‫در‬                    ‫،‬              ‫ی‬                ‫ه‬           ‫از اﺝ ا‬                       ‫؟‬
‫.‬      ‫ه‬            ‫ا‬       ‫ا س ا‬                              ‫د‬                                ‫د و‬                     ‫را ر‬                         ‫ً‬               ‫‪(Environment‬‬
          ‫د‬     ‫ودی ه ، ا‬                                              ‫ه،د‬                 ‫ا ر‬                              ‫ارد‬                                  ‫ا‬                     ‫ر‬                ‫ای‬
              ‫نه‬            ‫ر‬       ‫ه‬                  ‫اﺥ ا‬                    ‫(،‬                ‫ر‬           ‫ی ه‬                                         ‫ا‬           ‫ء)‬            ‫ز از ا‬
      ‫و‬        ‫ه در ‪،JRE‬‬                      ‫ی‬                    ‫ر‬                   ‫.‬                  ‫ن‬            ‫ر‬                 ‫زی‬                                  ‫دی‬        ‫ی‬            ‫وا‬
                                                                                                                                                 ‫د.‬                      ‫‪ Verifier‬ا م‬


                                                                                                                                                                                  ‫‪Verifier‬‬


‫م ‪Verifier‬‬                  ‫از ‪JRE‬‬                                     ‫ی‬               ‫،‬                          ‫را‬                ‫ارد ا‬                        ‫ا ای‬              ‫ه‬                ‫ی‬
‫رد‬        ‫ن‬        ‫اﺝ ای‬        ‫ا‬                          ‫و‬                           ‫ر‬                          ‫ای‬                 ‫ه‬                   ‫. ی‬                                    ‫ر‬
    ‫ای ای‬           ‫.‬               ‫در‬                     ‫ی‬           ‫نه و‬                    ‫ه و ر‬                   ‫ا اع را‬                                               ‫ار‬                 ‫ر‬
      ‫ﻝ را‬              ‫ه‬           ‫ی‬             ‫اﺝ ز ورود‬                                              ‫ه دا‬                   ‫ی‬            ‫ن ورود‬                           ‫را ی‬
       ‫نا‬          ‫ز‬        ‫د‬     ‫در‬              ‫وا‬                   ‫در ‪ Java‬ا‬                     ‫ا‬                 ‫ار‬                            ‫ا‬                   ‫ده . ‪Verifier‬‬
              ‫‪ JVM‬ﺥ د را از‬                        ‫ه‬                                            ‫ا ازد. دا‬                                    ‫ﺥ‬           ‫را‬                                ‫د، ا‬
              ‫ه م‬           ‫ا‬                ‫ای‬                ‫.‬               ‫ن‬           ‫نا‬                 ‫ا‬                 ‫ا‬                ‫د ای ،‬                           ‫‪ Sun‬دری‬
‫ان ‪Virtual Machine‬‬                                                         ‫م ا ار‬                         ‫ی‬                              ‫د و‬                                  ‫ً‬            ‫‪،Java‬‬
‫،‬              ‫ر‬                            ‫ه از ای‬                        ‫ی‬                    ‫.ه‬                 ‫‪Sun‬‬                           ‫ل‬                       ‫،‬
‫، از‬                    ‫ر‬       ‫ن را‬                                   ‫ه‬                                 ‫،‬              ‫ی‬           ‫ای‬                                                 ‫ا‬
‫داد ه را‬                                ‫ر‬              ‫،‬                           ‫د‬       ‫ا‬     ‫در‬                                      ‫نه و ی‬                              ‫ه، ر‬               ‫را‬
              ‫زد‬                ‫رت‬                     ‫ء ،‬                     ‫ا‬       ‫ه‬             ‫(و‬                ‫ا ر‬                   ‫ً از ‪int‬‬                    ‫)‬                      ‫ی‬
‫.‬     ‫ن را اﺝ ا‬                 ‫از ی‬          ‫ا‬        ‫، ون‬                                  ‫ا از ای ﻝ‬                                                ‫ای‬             ‫ارد.‬


                                                                                                              ‫س )‪(class loader‬‬                                         ‫ر‬


     ‫‪load‬‬              ‫در‬            ‫ی‬     ‫ی‬           ‫ی‬          ‫.و‬           ‫ا‬                     ‫نا‬               ‫از‬            ‫دی‬                ‫س،‬               ‫ر‬
                                                                                         ‫د:‬           ‫وارد‬             ‫ا‬                         ‫ود‬          ‫د، از‬
                                                                                                                                                                          ‫١-‬
                                                                                             ‫رد‬               ‫از ‪firewall‬‬                                              ‫٢-‬
                                                                                                                                                                     ‫٣- ای‬
              ‫ان ی‬              ‫. زی ا‬                     ‫دا‬                   ‫وت دی‬                     ‫ه‬                     ‫ا‬                                     ‫ﺝ‬
    ‫ن ارا‬                   ‫د‬        ‫ا‬    ‫ﺝ‬       ‫د و‬                      ‫ا‬        ‫ﺥ د را‬                    ‫ر‬                 ‫ی ، ای اﺝ ز را داری‬
      ‫. ر‬              ‫ی‬        ‫ﺥ د‬       ‫ور‬           ‫ا ‪ JRE‬ی‬                      ‫را‬               ‫دی‬       ‫ه‬                 ‫ان ر ،‬                           ‫.ی‬
‫ان‬            ‫ﺥ د را‬            ‫ده‬         ‫، اﺝ ز‬                          ‫وارد‬                                            ‫از‬            ‫س‬             ‫ی‬                      ‫ه‬
    ‫/ ﺥ وﺝ‬         ‫ورود‬          ‫ی ه‬              ‫ل داد ه‬                  ‫ان‬                    ‫.‬            ‫ی‬       ‫ﺝی‬                                   ‫از‬
                                     ‫از‬           ‫ای‬              ‫ا .‬                    ‫ی‬                            ‫سه‬                 ‫ان‬                      ‫،‬
‫ر‬     ‫د، اﺝ ز‬         ‫وارد‬                                 ‫از‬                            ‫از‬                            ‫ای ه‬                       ‫.‬        ‫وارد‬           ‫ا‬
‫‪public‬‬         ‫ه‬                  ‫ود ﺥ ص،‬                          ‫ی‬           ‫سه‬             ‫ن‬           ‫و‬            ‫را ارد.‬                              ‫ی ه‬
              ‫از‬            ‫ود ا‬           ‫از‬                   ‫س هی‬                         ‫دار .‬                     ‫د‬             ‫ود دی‬                   ‫سه‬
       ‫.ه‬            ‫را‬                  ‫ورود /ﺥ وﺝ‬                     ‫ی ه‬                  ‫ه‬            ‫ا‬                                  ‫،‬              ‫ر‬
     ‫ار‬            ‫)‪ (Package‬ﺝ ا‬                                ‫د، در ی‬                          ‫ر ار‬                               ‫از رو‬              ‫ه ‪Applet‬‬
                                          ‫.‬                                                      ‫از ی ی‬                    ‫ه‬             ‫ا‬                  ‫د. ی‬


                                                                                                                  ‫ه‬        ‫اپ‬            ‫ودی ه‬              ‫از‬


          ‫ا‬    ‫ودی ه‬                     ‫ﺥ ف دی‬                 ‫ارد.‬                     ‫د‬                ‫ه درس دﻝ اه در‬                                              ‫١- ا‬
          ‫و‬        ‫از ﺥ اص ز ن ‪ Java‬ا‬                                  ‫ی‬           ‫ودی‬               ‫، ای‬                           ‫ل‬             ‫ا‬   ‫ور‬
                                                                                                                           ‫د.‬                         ‫‪ verifier‬ر‬
‫د‬                ‫ن اﺝ ا‬      ‫رو‬                                        ‫ی ه‬                   ‫ﻝ‬                   ‫ه در ه‬             ‫٢- ا‬
    ‫ه‬             ‫. ی‬    ‫ی‬        ‫ن‬    ‫رو‬            ‫ی‬       ‫ا‬       ‫را‬            ‫از‬    ‫ی‬           ‫ه‬               ‫ا‬                         ‫ار .‬
    ‫وﺝ د دارد ی ﺥ ی ری‬                  ‫ی ی‬                              ‫ا‬         ‫ای‬    ‫.‬                       ‫رد ی‬                 ‫در‬                ‫ا‬
                                                                                                 ‫.‬                   ‫ات ن را‬                    ‫ﺥ ی‬
    ‫ی‬       ‫را‬               ‫ه‬        ‫اﺥ ا‬       ‫ی‬               ‫را ر ار‬                 ‫ه‬                               ‫ا‬                 ‫ه‬     ‫٣- ا‬
                                                                                                                                                ‫.‬
‫ت در‬                 ‫ا‬            ‫د‬   ‫ا ا‬                    ‫از ‪system.getProperty‬‬                               ‫ار‬          ‫ه اﺝ ز‬             ‫٤- ا‬
    ‫از ای‬        ‫ا‬           ‫‪ username‬ی ‪.directory home‬‬                                              ‫او دری‬                       ‫ی‬        ‫رد ر‬
                                                 ‫د.‬          ‫لا‬          ‫‪ Java‬در‬         ‫ن‬                   ‫ا‬                             ‫د‬    ‫ا‬
                                                         ‫را ار .‬                   ‫ت ا‬                           ‫ی‬            ‫ه اﺝ ز‬             ‫٥- ا‬
‫ﺝ ء‬             ‫‪ Thread‬ی ‪ Thread group‬را‬                         ‫ه‬            ‫اﺝ ز ای د ی‬            ‫،ا‬                      ‫٦- از ‪١ ١ Java‬‬
                                                                              ‫، ارد.‬                 ‫‪ Thread Group‬ﺥ د ن ا‬
‫ام از ا اع ‪،Security Manager ،Class Loader‬‬                                               ‫ه‬           ‫ی‬                   ‫ه اﺝ ز‬                 ‫٧- ا‬
                                                         ‫‪ SocketImplFactory ،ContentHandlerFactory‬ی‬
‫.‬           ‫د‬        ‫ا‬   ‫ﺝ د ا‬               ‫ی‬           ‫و ی از‬               ‫ار‬   ‫‪URLStreamHandlerFactory‬را‬
‫ای د‬             ‫ن ‪download‬‬            ‫از رو‬                                            ‫ار ط‬                 ‫ا ی‬                                ‫٨- ا‬
                                                                                                                                                    ‫.‬
                                                         ‫.‬       ‫ش‬           ‫از ٤٢٠١‬         ‫ی‬           ‫ر‬                    ‫ا‬                  ‫٩- ا‬
‫از ن‬                         ‫از‬        ‫ا ار‬                          ‫،‬        ‫ش‬    ‫رت‬            ‫ی‬               ‫اه‬                    ‫ا‬       ‫٠١- ا‬
                                                                                                             ‫.‬                        ‫‪download‬‬
‫:‬       ‫وی ای‬



‫د آ دن ن اي اﺝ ا‬       ‫د و‬            ‫ی‬
                         ‫ا‬        ‫ی‬       ‫آ‬
‫) ‪( Virtual Java Machine‬‬        ‫اﺝ اي ی ا‬
                             ‫اﺝ اي ی ا‬
     ‫) ‪( Grammatical Error‬‬        ‫ا‬               ‫ﺥ‬
                              ‫ل ) ‪( Bug‬‬           ‫ا‬
                  ‫ت ) ‪( Command‬‬
                                      ‫مﺥ‬
                               ‫ی ه‬            ‫ی‬


              ‫.‬    ‫ا‬             ‫آ‬                    ‫و‬   ‫ه ا ‪ ، CD‬م ا ار‬   ‫*‬
‫د‬     ‫را‬          ‫م ا ازي ‪ j2sdk-1_3_1_01-win‬آ‬              ‫ه ي ﺝ وا‬         ‫اﺝ اي‬      ‫ﺝ‬
‫آ .‬          ‫دﻝ ا‬         ‫م ا ار ه در‬      ‫ی‬      ‫را‬            ‫وی وز‬            ‫روي‬




           ‫ی ه ي ‪ java‬و ‪ javac‬در‬        ‫ﺥ اي آ‬          ‫ی‬                     ‫از ا م‬
                                                                 ‫د.‬          ‫روال زی‬
           ‫آ .‬     ‫ب‬     ‫آ د و ‪ Properties‬را ا‬     ‫را‬   ‫روي ‪ My Computer‬آ‬              ‫١–‬
             ‫آ .‬        ‫روي ‪ Environment Variables‬آ‬         ‫و‬     ‫‪ Advanced‬ر‬           ‫٢-‬
                 ‫بآ .‬     ‫‪ New‬را ا‬      ‫‪ System Variables‬دآ‬           ‫ق در‬        ‫٣ – در‬
‫آ .‬        ‫ی‬                   ‫ی ه ي ‪ java‬و ‪ javac‬در ن‬                  ‫يآ‬                 ‫ی‬                         ‫٤ – در ای‬
‫اي م‬           ‫د.‬      ‫ن‬       ‫زی‬                    ‫رآ‬         ‫ی‬            ‫.‬             ‫ﺥ ‪bin‬‬            ‫ی ه در‬                 ‫ای‬
                                                                         ‫بآ .‬             ‫را ا‬              ‫ه‬    ‫ا‬




                      ‫ه را ‪ ok‬آ .‬            ‫د.‬                 ‫ا‬       ‫ﻝ‬        ‫از ‪ ok‬آ دن ، ‪ Variable‬ق‬
                                                                    ‫.‬       ‫ا مر‬                                              ‫در ای‬
                                                           ‫ی.‬                               ‫اﺝ اي ی‬                            ‫ل‬
‫ن‬      ‫آ‬            ‫اي ا‬            ‫ط‬        ‫ت زی‬               ‫آ‬       ‫ﺝ دا‬               ‫ای‬           ‫ی‬            ‫از ن‬
‫و‬          ‫روش‬             ‫،‬        ‫آ‬    ‫د‬        ‫يا‬      ‫ﺝ واي دی‬               ‫از‬                 ‫آ د ای .‬                       ‫را‬
‫ات‬             ‫را در‬           ‫ت‬        ‫د. ﻝ ا ، ا‬        ‫وت ﺥ اه‬                              ‫ت‬     ‫وا‬                      ‫اﺝ اي‬
                                                                                          ‫ی .‬       ‫ه‬           ‫ی ﺥ د‬              ‫آ‬


                                                          ‫د آ دن ن اي ا ا‬                  ‫د و‬                           ‫ی‬     ‫ﺵ‬


                                                          ‫آ .‬       ‫زی را‬                           ‫زي ی‬             ‫د‬        ‫اي‬
‫‪Start > Programs > Accessories > Notepad‬‬

               ‫اي آ‬        ‫هي‬             ‫ا س‬          ‫ﺥ ای و‬                         ‫‪ notepad‬را ز آ .‬
                                                                                      ‫.‬        ‫ی‬   ‫اي را‬                     ‫دادی ،‬
                                                       ‫ب آ د ای :‬           ‫د را ا‬        ‫اي‬                                  ‫در ای‬
‫{ ‪class Example‬‬


‫{) ][ ‪public static void main ( String args‬‬
‫;)"‪System.out.println("This is First Program with JAVA Language‬‬
              ‫}‬
‫}‬

              ‫ی .‬               ‫‪ .java‬ذﺥ‬                       ‫را‬           ‫ی ‪File > Save as‬‬                   ‫از‬                           ‫از‬
                                                                                                                                            ‫:‬
‫د.‬       ‫‪ Example‬ﺥ اه‬                         ‫م‬            ‫در ای‬        ‫.)‬                   ‫م ‪class‬‬         ‫ی ه‬                               ‫١–ا‬
                                                                                                                                                         ‫(‬
 ‫ی .‬              ‫ﻝ ر ‪ bin‬ذﺥ‬                  ‫ی ه ي ‪ java‬و ‪ javac‬ی‬                              ‫در ه ن‬              ‫ا‬            ‫را‬             ‫٢–‬
          ‫،‬               ‫ی‬    ‫""‬                 ‫دو‬            ‫ن را در‬                  ‫ا‬      ‫ه‬             ‫م ی‬                    ‫ا‬          ‫٣–‬
                                         ‫د.‬            ‫ﺥ‬             ‫ی ‪source file‬‬               ‫ای‬           ‫"‪ ، "Example.java‬زی‬


     ‫ی ‪ text‬ﺥ ای آ آ ه ي ﺝ وا را‬                                     ‫‪ Notepad‬ی‬                ‫د از وی ای‬            ‫ا‬                               ‫ای‬
‫روي‬                   ‫ا‬          ‫ی را‬         ‫ی ت ای‬                ‫آ د ای .‬         ‫وف ی ‪ character‬در ن ذﺥ‬                               ‫رت‬
                  ‫ا‬             ‫را‬   ‫ی‬                             ‫ده . آ‬            ‫ی وی‬                ‫ی‬     ‫ه ی از ن‬                    ‫ر‬
         ‫ی آ د.‬               ‫‪byte code‬‬       ‫، ﻝ ا ی ن را‬                   ‫ا‬               ‫رت ی ذﺥ‬                        ‫اآ‬           ‫اﺝ ا آ ،‬
                                                           ‫.‬            ‫ی ﺝ وا‬           ‫آ‬               ‫ی آ‬                     ‫ا‬                  ‫ی‬


         ‫‪Example.class‬‬                                               ‫‪Javac‬‬                                   ‫‪Example.java‬‬



                  ‫ی آ ﺝ وا‬                                          ‫ی ﺝ وا‬       ‫آ‬                                      ‫ا‬
     ‫.‬                    ‫‪.class‬‬                  ‫ی آ ، ی‬                            ‫ی‬                   ‫آ دی‬                        ‫رآ‬        ‫ه ن‬
                                                               ‫:‬      ‫ي ﺥ اه دا‬                     ‫یی‬       ‫رت زی‬                              ‫ﻝ‬
Java Computation Model



                       javac Hello.java
 Java Source File
  Hello.java


                                           Java Class File
        java Hello                        Hello.class
                                        (portable byte code)

                                     JVM (Java virtual machine)
                                         Operating System



       Byte Code                    vs. Machine Code



    Java Source File                     C++ Source File
     Hello.java                           hello.cc

javac Hello.java                          gcc hello.cc
                                          -o hello.exe



     Java Class File
     Hello.class
   (portable byte code)

          JVM                         Executable hello.exe
    Operating System                     Operating System
‫ا‬               ‫ی‬        ‫آ‬


                                                   ‫:‬       ‫زی ‪ Command Prompt‬را اﺝ ا آ‬                                        ‫از‬
‫‪Start > run > cmd‬‬

‫داد‬    ‫ی‬             ‫ﺝ د در دای آ ري‬           ‫ی ه ي ﺝ واي‬                 ‫ر ‪DIR *.java‬‬         ‫د از د‬                    ‫ا‬
                                                                                                              ‫د.‬
                                                                                                                  ‫:‬
                                                       ‫:‬    ‫آ‬            ‫رت زی‬           ‫درای‬            ‫١ – اي‬
                                                                                                         ‫م درای :‬
                          ‫:‬   ‫د آ‬         ‫ر زی ا‬       ‫دای آ ري ه ي ی درای از د‬                     ‫٢ – اي ر‬
‫…  م دای آ ري م دای آ ري ‪Cd‬‬
                                         ‫ر زی آ ر د دارد :‬               ‫اي ﺥ وج از ی دای آ ري د‬                      ‫٣–‬
‫..‪cd‬‬

                                  ‫ر‬      ‫د از د‬    ‫ا‬       ‫ﺥ ‪ bin‬وی .‬              ‫ان‬           ‫آ‬        ‫را‬           ‫د‬
‫‪Javac Exmaple.java‬‬

‫دن‬         ‫از‬    ‫،‬            ‫ا‬                ‫ﺥ ی در‬                ‫ه‬      ‫ر‬    ‫ی آ . در‬            ‫را آ‬
                                                           ‫د.‬        ‫ﺥ‬      ‫ی آ ) ‪( .class‬‬           ‫‪ ، enter‬ی‬




                                                                ‫ی ‪Example.class‬‬
‫از‬              ‫د‬                     ‫را در‬        ‫د وی‬          ‫وارد‬       ‫‪ path‬را در‬                            ‫:‬
‫را‬              ‫ر دی‬      ‫ی‬       ‫ا‬       ‫د.‬       ‫ه‬            ‫مﺥ‬          ‫ر … ‪ javac‬ی‬             ‫وارد آ دن د‬
                                                                                                     ‫آ .‬




                                                   ‫) ‪( Virtual Java Machine‬‬                         ‫ا اي ی ا‬
‫ای ا‬     ‫د آ د. را دی‬                   ‫صا‬                       ‫ا ار‬               ‫ان از‬                        ‫ه ي ﺝ وا‬                  ‫اﺝ اي‬            ‫ﺝ‬
‫آ هي‬            ‫م ا ار ، ی‬                 ‫رت‬                ‫د. در ای‬               ‫د‬           ‫اي ای آ ر ا‬                         ‫م ا اره ي وی‬            ‫آ از‬
                         ‫را ا‬                   ‫آ . ای‬               ‫ن ه را اﺝ ا‬                        ‫ا‬           ‫،‬        ‫ﺝ وا ) ی ‪ ( .class‬را ﺥ ا‬
                     ‫ی آ ه ي ﺝ وا‬                                ‫.‬              ‫ت ن را ‪interpretation‬‬                                        ‫‪ interpreted‬و‬
             ‫ا اري‬               ‫آ ي‬                ‫. ه ی از‬                  ‫اﺝ ا‬              ‫ي‬                   ‫آ‬                ‫آ در ه‬              ‫اﺝ ای ا‬
‫روي‬                             ‫دا‬       ‫آ ه ﺥ ا‬                         ‫ه ي ﻝ ي ن‬                                       ‫تو‬                      ‫ﺝ وا آ‬
‫.‬               ‫ه ي ﺝ وا را دا‬                           ‫ا ی اﺝ اي‬                          ‫آ‬                           ‫ا اري ﺥ د‬                   ‫ت‬
‫) ‪( processor‬‬                        ‫داز‬        ‫ا‬        ‫ه‬           ‫ي‬              ‫آ‬                       ‫ﺝ وا در ه‬                        ‫رت‬                 ‫در ای‬
               ‫ه ي ﺝ وا را‬                          ‫اﺝ اي‬                 ‫دد آ و‬                            ‫ی‬           ‫زي ﺝ وا‬                                     ‫آ‬
                                                                                                                                                            ‫دار .‬
    ‫ا‬                ‫ه ي ﺝ وا‬                       ‫اﺝ اي‬             ‫ﺝ وا در‬                       ‫ون‬                         ‫آ‬         ‫داز‬             ‫ن دی‬
                                                                                        ‫ا ﺥ اه آ د.‬                            ‫ا ی را‬            ‫ن ، ای‬         ‫آ‬




             ‫اﺝ اي‬           ‫ﺝ وا در‬                     ‫م ا ار‬               ‫ا اري ون‬                                               ‫ه‬           ‫ر آ ذآ‬             ‫ه‬
    ‫ق دار ا‬                  ‫ت ی ی‬                   ‫از ﻝ ظ ع‬                           ‫ا اري ا‬                              ‫هي‬              ‫.‬           ‫ه ي ﺝ وا‬
    ‫ا اره‬                ‫م‬       ‫آ ه در‬              ‫ی‬       ‫د ، ای‬                     ‫ی‬           ‫آ‬           ‫ی‬             ‫ﺝ وا‬                 ‫آ ی‬              ‫ه‬
        ‫ا‬        ‫ا اره ی آ ی‬                                 ‫م‬       ‫ﺝ وا در‬                        ‫ی‬           ‫ﺝ‬                        ‫. در وا‬          ‫نه‬        ‫ی‬
‫آ ه را از‬            ‫ی‬          ‫ای‬         ‫،‬         ‫اﺝ ا‬                 ‫ﻝ‬     ‫ا‬       ‫ا اري ون ه‬                                   ‫ي‬               ‫م‬      ‫آ در‬
    ‫از د ی‬        ‫و اﺝ ا آ د و ای ی‬                                  ‫ان‬          ‫ا اري‬                              ‫ي‬                ‫م‬                    ‫ی ای‬
‫م‬           ‫ه ي ﺥ د را در‬                                    ‫ر‬            ‫ی ن ﺝ وا‬                                           ‫ن دی‬        ‫.‬       ‫ﺝ وا‬
    ‫اي ه‬             ‫ر‬               ‫ی‬         ‫و ای ی‬            ‫آ‬                                  ‫هي‬                        ‫ا اري و‬                ‫ي‬
                                                                                                                        ‫د.‬           ‫ب‬               ‫ی‬
‫ا اي ی ا‬


                                                ‫د.‬             ‫د‬        ‫ر ‪ java‬ا‬        ‫از د‬              ‫ا‬                ‫اي اﺝ اي‬
                                                                                                                   ‫‪java Example‬‬

‫ار‬       ‫ن در اﺥ ر‬                       ‫وﺥ‬     ‫آ‬             ‫ه‬         ‫ﺥ د را‬                   ‫ر‬            ‫از اﺝ اي ای د‬
                                                                                                                                    ‫د:‬




                                                                                                                                ‫:‬
    ‫در م ی‬            ‫،‬             ‫س‬                   ‫رگ و آ‬         ‫وف‬          ‫آ ﺝ وا‬                          ‫١ : ﺝ دا‬
‫د‬                ‫""‬                  ‫.ا‬         ‫اﺝ ا‬                   ‫‪java example‬‬                                        ‫ای ا‬           ‫ه.‬
                                                                   ‫.‬               ‫ن‬             ‫رگ و آ‬                    ‫دو‬             ‫پ‬
             ‫ز‬                    ‫ود ، در وا‬            ‫‪main‬‬           ‫اغ‬                   ‫اﺝ اي‬                  ‫٢ : ‪ JVM‬ﺝ‬
                                                                                                                   ‫.‬                  ‫‪main‬‬
                   ‫د.‬                           ‫يﺥ‬             ‫; در ا‬            ‫آ اﺝ ای ه‬                    ‫را‬       ‫د‬        ‫٣:آ‬
                 ‫ﺥ ا ی‬               ‫. ای ا‬         ‫ی‬     ‫رت د ا دار‬                    ‫ه را‬                           ‫آ‬             ‫٤:‬
                      ‫د.‬          ‫اﺝ ا‬          ‫ی‬         ‫ه‬                 ‫ط‬    ‫رﺥ‬              ‫را‬                         ‫د. ا ا‬
‫ی و اﺝ ا وارد‬             ‫آ‬         ‫آ تﺥ‬                           ‫روه‬                      ‫طﺥﻝ‬           ‫ار دادن ﺥ‬                  ‫٥:‬
                                                                                                                                    ‫آ .‬


                                                                        ‫) ‪( Grammatical Error‬‬                                   ‫ا‬


‫، در‬                      ‫ا‬         ‫ﺥ‬               ‫د ن را ا‬            ‫رت‬          ‫ه‬       ‫ﺝ وا ا‬             ‫ه‬            ‫ی‬                  ‫ا‬
       ‫ار دادن‬             ‫ر در ن ار دارد‬                 ‫د‬         ‫ﺥ‬                   ‫ر‬             ‫ذ‬            ‫ی‬            ‫ارد‬           ‫ای‬
                              ‫.‬               ‫ر راه ی‬              ‫د‬        ‫ﺥ‬      ‫را‬        ‫،‬       ‫واﺝ ﺥ‬                          ‫^ در زی‬
‫رات‬             ‫د‬      ‫م ی‬        ‫ﺝ وا ، ه‬              ‫ه‬      ‫دن‬           ‫ی‬           ‫د‬        ‫و‬                  ‫ا‬               ‫زم‬               ‫در ای‬
        ‫ر‬           ‫دن د‬          ‫ی‬                ‫نا‬                   ‫‪ Command Prompt‬د‬                                  ‫ی و اﺝ ا در‬
‫ر‬           ‫د‬                ‫ی‬                    ‫ﺥ ه‬       ‫م در ر‬              ‫ای اوﻝ‬           ‫دد.‬                    ‫مﺥ‬          ‫ای د‬
                                                       ‫ﺥ د وی .‬                 ‫اغ ی ا‬                            ‫د و‬           ‫ر‬           ‫ی را‬


                                                                                                                               ‫اﺵ ل ) ‪( Bug‬‬


    ‫ﺝ‬            ‫اﺝ ا‬                     ‫دد وﻝ‬         ‫اﺝ ا‬        ‫ی و ون ﺥ‬                         ‫ر‬        ‫د‬         ‫ون ﺥ‬            ‫ا‬                 ‫ا‬
‫ل)‬              ‫ل را ر ا‬              ‫ا‬                ‫ت‬                    ‫ی .‬              ‫ل‬       ‫نا‬                   ‫ی‬                           ‫ﺥ ا‬
                                                                                                                              ‫ی .‬           ‫‪( Debug‬‬


                                                                                                              ‫ت ) ‪( Comment‬‬                               ‫ﺕ‬


                ‫ده .‬                          ‫از ن‬                  ‫ی‬                 ‫در ر‬                ‫ه‬             ‫ی ﺝ‬         ‫تﺝ‬
        ‫ت‬             ‫دادن ا‬          ‫ﺝ‬                ‫و‬                ‫اﻝ ا‬                ‫دن‬       ‫ی و اﺝ ا‬                   ‫ا‬           ‫ت‬
                      ‫وی‬                      ‫ﺝ‬    ‫ا‬        ‫ت ز‬                                           ‫. در ه ﺝ‬              ‫ا‬           ‫ن‬         ‫ﺥ ا‬
                                 ‫ار ده .‬               ‫از */ و /*‬           ‫د‬                            ‫از // و ا‬            ‫ت را‬                    ‫د‬
                                                                        ‫.‬                    ‫ی‬            ‫ی‬               ‫تا‬                    ‫ﺝ :‬


                                                                                                                                                     ‫پ م‬


    ‫ی‬                   ‫ی‬        ‫رو‬           ‫رو‬                    ‫ﺥ‬             ‫ا‬          ‫ر ‪Command Prompt‬‬                                          ‫در‬
                                                                                                                    ‫:‬         ‫ح زی ا‬                   ‫ن‬
‫در‬               ‫زی‬         ‫ﺥ‬             ‫ی‬       ‫‪java Example.java ، javac Example.java‬‬                                            ‫ﺝ‬            ‫١–ا‬
                                                                                                                                                ‫د.‬
‫‪Exception in thread “main” java.long. NoClassDefenitionFoundError‬‬                                                                                         ‫:‬
‫‪Hello / java‬‬
‫د‬            ‫ه‬            ‫،‬     ‫ی‬     ‫‪javac Example ، javac Example.java‬‬                                  ‫ﺝ‬          ‫٢–ا‬
                                                        ‫ده .‬                 ‫ر را‬        ‫د‬                    ‫در‬
    ‫درج ^ در زی‬               ‫رگ را ر ی‬         ‫و‬               ‫وف‬                       ‫ا‬            ‫م‬       ‫ه‬      ‫٣–ا‬
                                                               ‫زد.‬            ‫ﺝ ﺥ‬            ‫را‬                      ‫ف‬
                                          ‫.(‬        ‫ا‬      ‫ض‬         ‫‪Hello.java‬‬                   ‫م‬   ‫ت زی‬              ‫) در‬




                      ‫ﺥ‬       ‫اوﻝ‬     ‫ن‬   ‫ر‬    ‫ده و‬             ‫ن‬     ‫ر را‬      ‫،ﺥ د‬              ‫: در ه م ﺥ‬
                                                                                                                     ‫د.‬
        ‫د.‬       ‫در‬   ‫زی‬                        ‫ا ش‬            ‫{ را‬     ‫س اوﻝ‬            ‫ی‬        ‫م‬   ‫در ه‬           ‫٤–ا‬




                                               ‫د.‬                                            ‫ا ش‬          ‫; را‬       ‫٥–ا‬




                                                                                                      ‫ی ه‬               ‫ی‬


‫و‬       ‫وی واﻝ ه‬                    ‫زی دارا‬    ‫م ا اره‬                ‫دار ،‬                  ‫ﺝ وا ا اع‬            ‫ی ه‬
‫ان از‬            ‫را‬   ‫ی‬             ‫. وﻝ ورژ‬              ‫ود ٥-٦ ه ار د ر‬                         ‫ی ورژن ن‬
                                                                                    ‫د.‬         ‫دا د‬                ‫ی ای‬
Jbuilder X – ١


.   Borland       ‫ﺥ‬    ‫م‬       ‫ای‬




                      ‫از‬   ‫ی‬
‫٢ – ‪EditPlus‬‬




‫:‬   ‫آ‬   ‫ی‬   ‫رت‬   ‫اي از اﺝ اي‬
‫ه‬                            ‫ا اع داد ه ،‬



                                                                              ‫:‬        ‫وی ای‬
                       ‫ﺝ وا‬         ‫ع داد ه‬                  ‫ی‬       ‫ل‬
                                             ‫ی‬       ‫ا اع داد ه‬
                                                                      ‫ا اد‬
                ‫ور‬                      ‫ر‬        ‫ا‬   ‫ا اع داد ه‬
                                                                 ‫ه‬       ‫را‬
                                                     ‫ﻝ‬               ‫داد ه‬
                            ‫ﻝ ال ه‬                               ‫ه د‬
                                                                 ‫ه‬
                                             ‫ی و ‪casting‬‬
                                                                     ‫رای ه‬
                            ‫ه‬           ‫رد ر‬         ‫در‬


‫و ا اع‬   ‫ا ار‬          ‫ز‬        ‫د‬           ‫ع،‬           ‫ی‬           ‫ع،‬       ‫ل‬   ‫ا ده ،‬             ‫ای‬    ‫در‬
‫ﺥ ن داد ه‬            ‫آ در‬           ‫ا‬            ‫رای ه‬                    ‫ا را‬    ‫د. ه‬         ‫ت اوﻝ ا ر‬
                                                                                   ‫.‬     ‫ا‬     ‫داد‬
‫وا‬        ‫ه و رای ه در‬                     ‫ا اع داد ه ،‬


‫ه و‬        ‫: ا اع داد ه ،‬                ‫ا‬           ‫صی‬        ‫ی ﺝ وااﺥ‬                     ‫رداز‬                       ‫ر‬                            ‫ای‬
‫آ .‬                    ‫زي رن ، از ا اع داد ه‬                                 ‫مز ن هي‬                      ‫ن‬        ‫ه‬        ‫رای ه . ﺝ وا‬
 ‫آ‬       ‫د آ .ه ن‬                 ‫ه و ای د رای ه ا‬                           ‫ی‬         ‫اي‬             ‫ا‬                ‫ع داد ه‬                 ‫ازای‬
                          ‫.‬   ‫ا‬              ‫و‬        ‫ف،آر‬          ‫رد ،‬              ‫ای‬                  ‫ش ﺝ وا‬             ‫ﺥ اه دی ،‬


                                                                                                ‫ع داد ه ي وا‬                      ‫آ لﺵ ی‬


      ‫ت در ن آ ل‬              ‫ع داده‬              ‫آ‬       ‫ا‬      ‫د آ ﺝ وا ز‬                      ‫ا اي آ ر‬                   ‫دره‬            ‫زم ا‬
 ‫آ ای‬                 ‫د. ای‬                           ‫م ﺝ وا از ای ا‬                  ‫وا‬              ‫ازا‬               ‫،‬        ‫د. دروا‬
‫دارد ، و ه ی از ا اع داد‬                         ‫رت‬           ‫دارد ، ه‬                           ‫،ه‬           ‫ای‬             ‫.‬                 ‫آ ری‬
‫از‬     ‫ی و‬        ‫ر‬               ‫دی ،‬           ‫م‬                  ‫،ه م‬                   ‫ا . دوم ای‬                   ‫ی‬              ‫د‬            ‫ه‬
‫د.‬            ‫ر‬           ‫ع داد ه‬            ‫ز ري‬             ‫ه ،‬            ‫اﺥ ا‬                    ‫ه در‬          ‫ار ل را‬                     ‫ی‬
‫د.‬           ‫ز ردر ﺝ وا ا م‬                      ‫ی ﺥ دآ ر ا اع داد ه ي‬                           ‫ازز ن ه ،‬                  ‫ﺥ‬          ‫ﺥ ف‬
‫ز ري ا اع داد ه‬               ‫ن از‬               ‫لا‬               ‫ه را ﺝ‬              ‫رت ه و را‬                    ‫م‬         ‫ﺝ وا‬          ‫ی‬        ‫آ‬
 ‫ی‬     ‫از ی ن آ‬               ‫ی‬              ‫آ‬         ‫ع داد ه ، ﺥ ه ی ه‬                                      ‫م‬        ‫آ .‬                     ‫ر‬
                                                                                                 ‫.‬                          ‫نه آ س‬


                                                                                                                   ‫ا اع داد ه ي پ ی‬


‫: ‪float ، char ، long ، int ، short ، byte‬‬                               ‫ا‬                  ‫ی‬        ‫ی درﺝ وا‬               ‫ع داد‬                   ‫ه‬
                                                                                                          ‫، ‪ double‬و ‪Boolean‬‬
‫د‬      ‫د واز ه دو واژ درای آ ب ا‬                                             ‫د‬        ‫ع داد ه ي ی ، داد ه ي‬                                    ‫ای‬
                                             ‫د:‬                 ‫ر و‬                   ‫ان‬         ‫ع داد ه را‬                     ‫. ای‬       ‫ا‬
‫آ ا اد آ‬                  ‫‪ int , short , byte‬و ‪ long‬ا‬                              ‫و‬             ‫– ای‬                     ‫• ا اد‬
                                                                                                                              ‫.‬               ‫دار‬
‫ا اد‬             ‫ی‬            ‫آ‬       ‫‪ float‬و ‪ double‬ا‬                          ‫و‬         ‫ور- ای‬                              ‫ري‬         ‫• ا اد ا‬
                                                                                                              ‫.‬                         ‫ري‬        ‫ا‬
                ‫ده در‬                 ‫اع‬    ‫ا‬         ‫ی‬           ‫آ‬         ‫‪ char‬ا‬                  ‫و‬                         ‫• آ راآ ه - ای‬
                                                                               ‫وف و ار م.‬                     ‫؛ از‬                      ‫آ راآ ه‬
‫دی ‪true/ false‬‬                        ‫ی‬     ‫اي‬       ‫اي‬       ‫ع وی‬          ‫آ‬            ‫‪ boolean‬ا‬                            ‫و‬         ‫ﻝ - ای‬            ‫•‬
                                                                                                                                          ‫.‬       ‫ا‬
‫رای ه ی ا اع آ س‬                                ‫ی و ی ای‬          ‫ر‬             ‫اي آ ه‬                        ‫ا‬                    ‫را‬                     ‫ارد‬
‫، ی وا س ا اع داد ه ي‬                                         ‫زی . ازای رو ، ا اع داد ه ي‬                                     ‫ه ي ﺥ ص ﺥ د ن را‬
                                                                                 ‫ده .‬                    ‫،‬                ‫آ‬         ‫ي راآ ای د‬                    ‫دی‬
            ‫ﺝ وا آ‬                    ‫آ .ا‬           ‫هي‬                ‫و‬            ‫ه‬     ‫دی وا‬                       ‫ی‬           ‫ا اع داد ه ي ی ،‬
‫آ در‬             ‫د اي ه‬               ‫ا اع داد ه ي‬                         ‫.‬                       ‫،ا ا اع داد ه ي ی ای‬                                       ‫ا‬
‫ی ا اع‬               ‫.‬         ‫، آ رای و زده ا‬                    ‫ای ا‬          ‫. دﻝ‬                     ‫ای‬                               ‫ي‬           ‫ز‬
                                                      ‫داد.‬                ‫ا از آ ه‬             ‫ه ، آ رای را‬                                   ‫داد ه ي ی‬
‫.‬               ‫دا‬                        ‫ود و ر ر ری‬                 ‫ی‬                        ‫ی‬        ‫اي‬                          ‫ا اع داد ه ي ی‬
‫اﺝ ا‬                     ‫ای‬       ‫ا س‬           ‫را‬                ‫ا از ا اد‬                    ‫ن‬     ‫ن ‪ C‬و ++‪ C‬ا‬                                  ‫ز نه ی‬
                                                                                                                                        ‫ور .‬               ‫اه‬
‫ود ا اع‬                  ‫ه ي ﺝ وا ،‬                   ‫ل‬       ‫ا‬                     ‫دا‬     ‫ز‬        ‫دﻝ‬            ‫.‬                           ‫ا ، ﺝ وا ای‬
    ‫. ای‬    ‫ا‬                 ‫اﺝ ا ، ٢٣‬                    ‫و ون ﺝ‬                        ‫ل ، ‪ int‬ه‬        ‫ان‬                        ‫.‬     ‫ا‬       ‫داد ه ﺙ‬
           ‫ری ي‬                ‫ا ل در‬                ‫ون ه‬             ‫زد آ ی‬                ‫اه‬      ‫ه ی را‬                                        ‫ن‬        ‫ا ا‬
‫آ ر ی در ﺥ از‬                         ‫ﺝ آه‬                ‫ا‬                         ‫ا از ا اد‬                                      ‫.ا‬                 ‫ه اﺝ ا‬
                                  ‫.‬        ‫وري ا‬          ‫ل‬       ‫ا‬                 ‫ن‬      ‫اي ر‬      ‫م ای آ ر‬                      ‫د، ا ا‬
                                                                          ‫دازی .‬               ‫ه ی ازا اع داد ه‬                               ‫ر‬                   ‫ای‬


                                                                                                                                                          ‫ا اد‬
‫م ای‬     ‫: ‪ int ، short ، byte‬و ‪.long‬‬                      ‫ا‬             ‫ی‬                       ‫د‬        ‫ر ع‬               ‫درز ن ﺝ وا‬
‫-‬          ‫دار»‬                         ‫. ﺝ وا از ا اد‬              ‫و‬                ‫دی‬         ‫؛‬         ‫دار ه‬                      ‫ع داد ه‬
    ‫وه‬                      ‫، ه ازا اد‬           ‫ي دی‬            ‫ري از ز ن ه ي آ‬                          ‫آ .‬                                  ‫«‬
                                 ‫اد‬         ‫آ ا‬     ‫سآ د‬            ‫ا ن ﺝ وا ا‬                           ‫آ .ا‬
‫اي‬                              ‫م ا اد‬              ‫آ د آ‬           ‫ر‬                  ‫،‬            ‫ص ای‬                   ‫.‬         ‫وري ه‬
     ‫آ ،‬               ‫داد ه ي ع ‪ int‬را‬                        ‫،آ‬                          ‫اﻝ‬                      ‫نر ر‬
                                                                                                                       ‫د.‬                 ‫آر د‬
‫ه و‬               ‫ضر ر‬          ‫و در‬                        ‫در‬                            ‫ي‬              ‫ار‬        ‫،‬                 ‫ل ا اد‬
‫د‬          ‫ا ازه ا از اي ا‬                   ‫ز ن اﺝ اي ﺝ وا‬                      ‫آ .‬                               ‫ر ي ن ع را‬
‫،‬           ‫ی . در‬     ‫ر ر‬              ‫ی‬         ‫ع داد‬                          ‫ر‬        ‫ه و‬                  ‫ای آ‬             ‫وط‬                 ‫آ ،‬
             ‫( ذﺥ‬      ‫)٨ و ١‬               ‫دی ٢٣‬         ‫رت‬                ‫، ‪ byte‬و‪ short‬را‬                           ‫ر‬        ‫از‬         ‫ی‬       ‫ا‬
‫د ا وزي‬              ‫رد ا‬     ‫هي‬             ‫آ‬            ‫ا آ ا از "‪ " word‬در‬                            ‫ی ،‬           ‫آ ر ی ا ای‬                      ‫آ‬
                                                                                                                            ‫.‬        ‫ا‬            ‫، ٢٣‬
             ‫دی ا اع داد ه ي‬                ‫ود‬      ‫لو‬         ‫،‬        ‫ا‬            ‫ن داد‬               ‫آ در ﺝ ول ذی‬                             ‫ه ن‬
                                                                                                                                ‫:‬             ‫ا‬
                                   ‫دی‬         ‫ود‬                                                              ‫ل‬                           ‫م‬
    ‫708,577,458,630,273,322,9 808,577,458,630,273,322,9-‬                                                                                 ‫‪long‬‬
                      ‫746,384,741,2 846,384,741,2-‬                                                             ‫٢٣‬                         ‫‪int‬‬
                                ‫767,23 867,23-‬                                                                 ‫١‬                         ‫‪short‬‬
                                   ‫721 821-‬                                                                    ‫٨‬                         ‫‪byte‬‬


                                                                             ‫دازی .‬                           ‫ه ی از‬                 ‫ر‬                 ‫ای‬


                                                                                                                                                  ‫‪Byte‬‬
‫آ‬             ‫دار ا‬                  ‫٨‬           ‫د‬                     ‫. ‪، byte‬‬            ‫، ‪ byte‬ا‬                     ‫ع ا اد‬            ‫ی‬             ‫آ‬
‫از داد‬               ‫مآر ﺝ ی‬             ‫صه‬                ‫ع ‪byte‬‬                 ‫هي‬                ‫.‬        ‫ود ن از ٨٢١- ٧٢١ا‬
 ‫داد ه ي ی ي ﺥ ص آ‬                             ‫مآ ر‬    ‫ه‬                  ‫ه‬            ‫.‬                     ‫وا‬             ‫ی‬    ‫ی‬                ‫هيی‬
          ‫.‬                  ‫وا‬       ‫،‬          ‫ز ر‬           ‫ی ا اع داد ه ي آ ر ﺝ وا‬                                                        ‫ا‬
 ‫ذی‬              ‫ل ، در‬       ‫ان‬           ‫.‬                   ‫ی‬         ‫آ ي ‪byte‬‬                       ‫د از آ‬          ‫ا‬        ‫ه‬            ‫ع‬         ‫ای‬
                                                                   ‫:‬                       ‫ی‬            ‫م ‪ b‬و ‪ c‬از ع ‪byte‬‬
      ‫; ‪byte b, c‬‬

                                                                                                                                              ‫‪Short‬‬


          ‫ود ن از ٨ ٧٢٣- ٧ ٧٢٣‬                             ‫.‬           ‫دار ا‬                            ‫١‬                   ‫د‬              ‫‪، short‬‬
      ‫ا‬                       ‫ی‬       ‫اآ‬        ‫د را در ﺝ وا دار ،‬                         ‫ی ا‬           ‫آ‬             ‫ع داد ه ا‬              ‫. ای‬
 ‫م ‪ ( big-endian‬ای‬                               ‫ی ارزش را دارد )‬                               ‫،‬                 ‫را‬                 ‫ی‬                  ‫آ‬
‫،آ ر د‬                        ‫ب‬      ‫اي آ‬        ‫ای‬    ‫ر‬                      ‫آ‬            ‫هي ١‬                       ‫درآ‬                ‫ع داد ه‬
                                                       ‫ه ي ‪ short‬ﺝ آ :‬                                            ‫ی‬     ‫ﻝ ی از‬                    ‫دار .‬
‫;‪short s‬‬
‫;‪short t‬‬

          ‫، از‬        ‫ی‬           ‫زي داد ه ي‬               ‫ذﺥ‬                         ‫آ‬         ‫ﺝ : " ‪ "Endianness‬واژ اي ا‬
‫ع ‪short‬‬               ‫اي داد ه ي‬               ‫٢ ی‬     ‫آ .ا‬                                ‫را‬                ‫‪ int ، short‬و ‪ ، long‬در‬
              ‫؟ ای‬        ‫ارزش آ‬          ‫ی ی‬          ‫ارزش‬                       ‫د؛ ی‬                  ‫ار‬     ‫درا ا‬             ‫،آ ا‬              ‫زم‬
              ‫ذﺥ‬            ‫ارزش‬               ‫آ ا ا ی‬                            ‫، ی‬           ‫ي ‪ big-endian‬ا‬                           ‫دآ‬
‫ن ‪ SPARS‬و ‪PowerPC‬‬                                 ‫هی‬                   ‫د. آ‬                ‫ار‬                ‫ارزش آ‬              ‫ی‬             ‫دو‬
                          ‫، از ع‬         ‫ي 68‪ x‬ای‬                             ‫هي‬                ‫وآ‬            ‫از ع "‪ "big-endian‬ه‬
                                                                                                                            ‫"‪."little-endian‬‬


                                                                                                                                                     ‫‪int‬‬


‫د و‬           ‫دار‬                    ‫ع داد ه ، ٢٣‬                       ‫. ای‬          ‫، ‪ int‬ا‬                 ‫ع داد ه ي‬                   ‫اوﻝ ی‬
‫ع ‪int‬‬           ‫هي‬            ‫.‬                ‫,٣٨ ,٧ ١, ٢‬                        ‫٧‬       ‫, ٣٨ , ٧ ١ , ٢-‬                       ‫از ٨‬           ‫ود‬
‫آر‬                             ‫رای ه‬           ‫ﺥ‬            ‫ان‬            ‫ه و‬       ‫اي آ ل‬                 ‫،‬        ‫آ ر ده ي دی‬              ‫و‬
             ‫ع ‪ short ، byte‬و‪ int‬و ا اد‬                            ‫از داد ه ي‬                      ‫ر‬                       ‫.ه‬                    ‫د‬
              ‫ی .‬         ‫‪ int‬ار ء‬                 ‫ت‬              ‫م‬       ‫ازا‬      ‫رت‬             ‫،آ‬                      ‫و آ ر دا‬          ‫ﻝ ال‬
‫رش ی‬            ‫اي‬        ‫آ ا ادي‬                   ‫ا‬                 ‫و در‬         ‫ع داد ه‬             ‫ی‬            ‫ی وآر‬                    ‫‪، int‬‬
‫د‬           ‫از ن ا‬        ‫ی‬              ‫داری ،‬                   ‫ت ا اد‬                  ‫ز‬        ‫ز داری و ی‬                  ‫رای ه‬            ‫ﺥ‬
 ‫ﺝ ی‬                  ‫ﺝ‬            ‫د از ‪ short‬ی ‪byte‬‬                       ‫آ ا‬      ‫ر‬                                ‫ای‬        ‫ا‬            ‫ی .‬
‫‪int‬‬         ‫ر ﺥ دآ ر‬                    ‫را‬         ‫وﺝ د ارد آ ﺝ وا‬                                ‫د،ا ه‬                                 ‫ي‬         ‫در‬
        ‫ا از )‬        ‫و‬                ‫ر را‬        ‫آ‬              ‫ع داد « ،‬        ‫آ »‬                         ‫دا‬          ‫ﺥ‬       ‫ار ء ه .‬
    ‫ی‬       ‫ن از ی‬                     ‫اي ه‬    ‫،‬                 ‫از ع ‪byte‬‬                    ‫آ‬            ‫ﺝ د ، رای ه ه‬                ‫ي‬            ‫ا‬
             ‫ازاي ه‬                ‫ی‬      ‫از٢ و‬                       ‫اي رای ه ي ع ‪ short‬و ‪int‬‬                             ‫دو‬               ‫د‬        ‫ا‬
                                                                                                                           ‫د (.‬             ‫د‬        ‫ا‬


                                                                                                                                         ‫‪Long‬‬


‫د آ ‪int‬‬                       ‫وا‬              ‫ای‬        ‫اي‬        ‫و‬        ‫دار ا‬                               ‫داد ه ي‬             ‫ی‬    ‫‪، Long‬‬
        ‫ود داد ه ي ع ‪ long‬آ‬                             ‫.‬         ‫رگ‬             ‫ا از آ‬       ‫،‬            ‫رد‬         ‫ار‬       ‫اري‬           ‫اي‬
        ‫،‬        ‫رگ زم‬                              ‫آ ا اد‬                 ‫ا‬     ‫ع ، ‪ long‬را اي‬                                ‫. ای‬     ‫رگ ا‬
                          ‫ت روزه ي‬                     ‫ر در‬           ‫آ‬             ‫ذی‬             ‫ل،‬               ‫ان‬              ‫.‬   ‫ﺥ ا‬
                                                                                                   ‫آ .‬                             ‫ﺥ اه آ د را‬

‫.‪// compute distance light travels using long variables‬‬
‫{ ‪class light‬‬
    ‫)][‪public static void main(string args‬‬                                          ‫{‬
              ‫;‪int lightspeed‬‬
              ‫;‪long days‬‬
              ‫;‪long seconds‬‬
              ‫;‪long distance‬‬
              ‫‪// approximate speed of light in miles per second‬‬
             ‫;000681 = ‪lightspeed‬‬
             ‫;0001 = ‪days‬‬                ‫//‬        ‫‪specify number of days here‬‬
seconds = days * 24 * 60 * 60;                         //    convert to seconds
               distance =             lightspeed * seconds;                // compute distance
               system.out.print("In " + days);
               system.out.print("days light will travel about");
                   system.out.println(distance                    + " miles.");
           }
    }

                                                                                :‫د‬        ‫ذی ﺥ اه‬                                ‫ﺥ وﺝ‬
          In 1000 days light will travel about 16070400000000 miles.

                   .‫اري آ د‬             int ‫ي از ع‬               ‫ان در‬               ‫ق را‬                            ‫آ‬       ‫ا‬       ‫وا‬


                                                                                ‫ﺵ ور‬                 ‫ري‬       ‫ا اع داد ه ي ا‬


            ‫را‬             ‫اي ارزی‬             ‫و‬                          real ‫ور، ا اد‬                          ‫ري‬              ‫ا اد ا‬
‫ن‬                                     ،‫ل‬           ‫ان‬        .   ‫وري‬                  ‫ري‬        ‫ا‬            ‫اري‬             ‫آ‬       ‫ه‬
‫د‬         ‫ما‬           ‫اری ن‬               ‫آ‬            ‫س ، ا ادي ه‬        ‫سوآ‬              ‫ن‬                 ‫ت‬                  ‫ﺝرو‬
‫ه و داد‬                   (IEEE-754) ‫ارد‬                     ‫ا‬        .        ‫ور ا‬                      ‫ري‬          ‫هيا‬             ‫از‬
    ‫اوﻝ‬        ‫ع‬     ‫ دو‬double ‫ و‬float .                     ‫ا‬   ‫زي‬        ‫د‬         ‫ور در ﺝ وا‬                      ‫ري‬          ‫هيا‬
    ‫در ذی‬            ‫ود‬      ‫لو‬            .                      ‫د و‬            ‫ري د‬               ‫ا اد ا‬           ‫ی‬       ‫آ‬       ‫ه‬
                                                                                                         :       ‫ا‬           ‫ن داد‬
                                 ‫دی‬            ‫ی‬        ‫ود‬                            ‫ل‬                                  ‫م‬
                    ١/٨ × e 308        4/9 × e −324                        ٦٤                         double
                    3/4 × e 38          1/4 × e −45                        ٣٢                            float


                                                                                     . ‫ا‬             ‫ر‬        ‫ای دو ع در ذی‬


                                                                                                                                 Float
‫د‬            ‫زي ا‬             ‫اي ذﺥ‬           ٣٢‫آ از‬                    ‫د ا‬               ‫د‬        ‫ري‬           ‫دی ا‬                    ‫ی‬    ، float
        «                          ‫»د‬             ‫ا از‬        ‫و‬            ‫ا‬        ‫ی‬         ‫ه‬           ‫ﺥ از داز‬                ‫د « در‬                 ‫آ . »د‬
    ‫ی‬           ،                   ‫رآ‬            ‫رگ ی‬        ‫ر‬                ‫دی‬         ‫آ‬       ‫زي ز دارد ، ا و‬                                       ‫ي ذﺥ‬
                                                                                                                                   .         ‫ﺥ اه‬              ‫در‬
‫ورت‬                                 ‫ود‬          ‫ري زم‬             ‫آ ﺝ ا‬                                   ‫وا‬                 ‫ ز‬float ‫ه ي ع‬
                    .‫د‬       ‫ﺥ اه‬                 ‫د رو‬                     ‫دی ارزي‬                        ‫ی‬        ‫اي‬       float ،                 .           ‫ا‬
                                                          :        ‫ا‬            ‫ن داد‬             ‫ در ذی‬float                          ‫دو‬       ‫ی‬        ‫ﻝ از‬
float hightemp,                           lowtemp;

                                                                                                                                                        double


‫اي‬                            ‫د ، از‬                          double ‫آ ي‬                          ‫آ‬                     ‫«،آ‬                             ‫اي »د‬
‫ﺥ از‬                     ‫« در‬                   ‫آ »د‬              ‫نا‬            ‫ا‬         ‫د. وا‬                         ‫د‬     ‫دی ا‬              ‫زي‬              ‫ذﺥ‬
.           ‫ا‬            ‫ی‬      ، ‫ا‬                                                     ‫ت ری‬                       ‫اي‬         ‫آ‬        ‫هي ر‬                  ‫داز‬
        ‫د‬                     ‫ز‬           ‫.و‬      ‫ ا‬double ‫ار‬                  ، sqrt()‫ و‬cos()،sin()‫ن‬                                       ‫ا ری‬
، ‫رگ‬                     ‫ر‬        ‫ی ی ا اد‬         ‫دازش و‬              ‫م‬       ‫وی ه‬                           ‫اري دا‬          ‫ت‬                     ‫ت در‬
                                                                                                              .‫د‬    ‫ی ﺥ اه‬                  ‫ی‬           double
                         : ‫آ‬          ‫د‬     ‫ا‬     ‫ی دای‬                                 ‫ اي‬double ‫ه ي‬                                  ‫ذی از‬             ‫آ‬
// compute the area of a circle.
class Area {
            public static void main (string args[]) {
                         double pi, r, a;
                             r = 10.8; // radius of circle
                             pi = 3.1416; // pi, approximately
                             a = pi * r * r; // compute area
                             system.out.println("Area of circle is" + a);
                    }
        }

                                                                                                                                                        ‫آ راآ ه‬
‫زان ++‪ C/C‬ی‬                              ‫د. ا ،‬                     ‫د‬         ‫زي آ راآ ه از ‪ char‬ا‬                                         ‫اي ذﺥ‬            ‫در ﺝ وا‬
                                                                                                                                                       ‫:‬         ‫ر‬           ‫ه‬
‫. در‬                             ‫. ا درﺝ وا ای‬          ‫ا‬           ‫ل ن٨‬                ‫آ‬           ‫ا‬                        ‫‪ char‬در ‪ ، C++ ، C‬د‬
‫آ راآ ه ي‬                            ‫آ ،‬         ‫آ .ی‬                   ‫د‬         ‫آ راآ ه ا‬                 ‫ی‬           ‫اي‬            ‫آ‬            ‫ض ﺝ وا از ی‬
            ‫ي‬                ‫ز‬    ‫ﺝ د در ه‬           ‫م آ راآ ه ي‬                            ‫ی‬               ‫ا‬                     ‫آ‬            ‫ا‬           ‫اﻝ‬                ‫آ‬
‫،‬               ‫،‬            ‫،ی‬              ‫ري از‬                  ‫آ راآ ه ي‬                                   ‫ع‬        ‫اﺝ‬           ‫آ دروا‬                    ‫. ی‬
    ‫ز دارد. از ای‬                   ‫١‬           ‫دﻝ‬          ‫ه‬       ‫ی.‬             ‫ر‬            ‫،‬               ‫ري و‬                  ‫،‬        ‫ي، ژا‬                ‫و،‬       ‫ا‬
‫ارد.‬        ‫وﺝ د‬                   ‫. ‪char‬‬        ‫ا‬          ‫٣‬                      ‫ود از‬                ‫.‬           ‫ا‬             ‫رو ‪ char‬در ﺝ وا ، ١‬
                    ‫ار دارد و‬           ‫٧٢١‬                     ‫ود‬           ‫ه ز در‬                     ‫ارد ا‬
                                                                                                        ‫َ‬                         ‫آ راآ ه ي ا‬
‫ار دارد. از‬                  ‫٢‬                  ‫ود‬              ‫)1-‪ (ISO-Latin‬در‬                                ‫شی‬                                  ‫آ راآ ه ي ٨‬
            ‫ا‬            ‫ﺝ ن‬                 ‫د در‬       ‫ا‬           ‫ﺝ‬         ‫ا‬
                                                                              ‫َ‬             ‫ن‬       ‫ا‬           ‫ﺥ‬            ‫اه‬           ‫اي‬        ‫ی آ ﺝ وا‬
‫اي‬          ‫آ‬            ‫د از ی‬         ‫،ا‬     ‫ی . اﻝ‬           ‫د‬           ‫اي آ راآ ه ا‬                    ‫آ‬            ‫آ از ی‬                    ‫ا‬                ‫،‬        ‫ا‬
                    ‫٨‬                 ‫ي آ آ راآ ه ی ن‬                         ‫ا‬        ‫ی ی‬              ‫،ا‬               ‫، ﻝ‬                       ‫نا‬               ‫ی‬        ‫ز‬
‫.‬       ‫ا‬               ‫وﺝ‬           ‫ا ل‬                ‫ي‬           ‫ارد،‬                    ‫. ا ای‬                  ‫ا‬        ‫، ري آ ر‬                           ‫ه‬        ‫ی‬
    ‫‪ http://www.unicode.org‬رﺝ ع آ .‬                                           ‫آ‬        ‫در ر ی‬                           ‫ت‬                 ‫ا‬            ‫ﺝ : اي آ‬
                                                                        ‫ده :‬           ‫ن‬        ‫ه ي ‪ char‬را‬                                   ‫زی آ ر د‬
‫.‪// demonstrate char data type‬‬
‫{ ‪class chardemo‬‬
        ‫{ )][‪public static void main (string args‬‬
                        ‫;2‪char ch1, ch‬‬
                        ‫‪ch1 = 88; // code for x‬‬
                        ‫;'‪ch2 =' y‬‬
                        ‫;)" :2‪system. out.print("ch1 and ch‬‬
                        ‫;)2‪system. out.println(ch1 + "" + ch‬‬
            ‫}‬
    ‫}‬

                                                                                                ‫:‬           ‫زی ا‬                                            ‫ﺥ وﺝ ای‬
‫‪ch1 and ch2: x y‬‬
‫،‬            ‫ف‪X‬ا‬                         ‫آ (‬        ‫) وی‬        ‫ار ا‬
                                                                ‫َ‬               ‫ی‬           ‫ار ٨٨ آ‬             ‫آ‬             ‫ﺝ دا‬
‫ار‬            ‫،٧٢١‬            ‫آ راآ ه ي ا‬
                              ‫َ‬                             ‫،‬              ‫آ‬            ‫ی .ه ن‬                                ‫1‪ch‬‬
‫هي ی «‬                    ‫م»‬           ‫دﻝ‬      ‫ه‬     ‫آ .‬        ‫ل‬       ‫آ ا‬         ‫آ راآ ه ي ی‬                           ‫را در‬
             ‫د.‬     ‫د ﺥ اه‬         ‫ا‬               ‫آ ر د ای ، در ﺝ وا‬               ‫ص آ راآ ه‬                   ‫در ﺥ‬              ‫آ در‬
     ‫اي‬                   ‫ا‬        ‫ارد‬       ‫ري از‬         ‫، ا در‬                           ‫داد ه ي ع ‪ ، char‬د‬                        ‫ا‬
    ‫ه‬        ‫را‬    ‫دو آ راآ‬            ‫ده‬      ‫ن‬      ‫ا‬                ‫. ای ا‬       ‫ه‬              ‫د‬        ‫ی‬         ‫آ‬     ‫آرآ‬
    ‫ذی‬             ‫ل،‬         ‫ان‬            ‫ده .‬     ‫آ راآ ي را ا ای‬                        ‫ار ی‬       ‫وی‬           ‫»ﺝ « )اد م( آ‬
                                                                                                                ‫ی:‬                ‫را در‬
‫.‪// char variables behave like integers‬‬
‫{ 2‪class charDemo‬‬
            ‫{ )][‪public staticvoid main (string args‬‬
                  ‫;1‪char ch‬‬
                  ‫;'‪ch1 =' x‬‬
                  ‫+ " ‪system. out.println ("ch1 contans‬‬                              ‫;)1‪ch‬‬
                  ‫1‪ch1++; // increment ch‬‬
                  ‫;)1‪system. out.println("ch1 is now" + ch‬‬
        ‫}‬
‫}‬

                                                                                        ‫:‬      ‫زی ا‬                               ‫ﺥ وﺝ‬
‫‪ch1 contains x‬‬
‫‪ch1 is now y‬‬


    ‫د. ای‬            ‫داد‬       ‫، 1‪ ch‬ا ای‬             ‫ی .‬                       ‫1‪ch‬‬           ‫ار ‪X‬‬          ‫،ا ا‬                    ‫در‬
    ‫آ‬         ‫)ی‬      ‫ا‬
                      ‫َ‬                ‫از ‪ X‬در‬             ‫آ راآ‬        ‫د؛ ی‬            ‫ن ‪ Y‬در1‪ch‬‬                     ‫ﺝ ذﺥ‬         ‫آر‬
                                                                                                                                     ‫(.‬


                                                                                                                             ‫داد ه ي‬
‫ی‬           .        ‫ا‬       ‫دی‬     ‫اي‬   ‫ م دارد‬boolean، ‫از ا اع داد ه ي ی در ﺝ وا‬                               ‫دی‬        ‫ی‬
‫هي‬                   ‫م‬           .‫داد‬         ‫ه‬          ‫ع‬      ‫ای‬    ‫ان‬                ‫ را‬true ‫ ی‬false‫ار‬             ‫از دو‬
                                                                          .a < b         ‫؛ از ﺝ‬    ‫ا‬        ‫اي ه‬              ‫را‬
            .            boolean ‫رت دار ، ی‬              for ‫ و‬if ‫ن‬           ‫رات آ ﻝ‬              ‫آ‬                 ‫ﺝ ت‬
                                                              : ‫ده‬        ‫ن‬        ‫ را‬boolean ‫ذی آ ر د‬
// demonstrate Boolean values.
class BoolTest {
        public static void main (string args[]) {
            boolean b;
            b = false;
            system. out.println("b is" + b);
            b = true;
            system. out.println("b is" + b);
            // a Boolean value can control the if statement
            if (b) system. out.println("This is not executed.");
            // outcome of a relational operator is a boolean value
            system. out.println("10>9 is" + (10>9));
        }
}

                                                                               :        ‫زی ا‬                         ‫ﺥ وﺝ‬
b is false
b is true
This is executed.
10> 9 is true



    ‫آ‬                        ‫آ‬        ‫،ه ن‬    ‫ای‬          .‫وﺝ د دارد‬                    ‫ﺝ در ر ای‬           ‫ﺝﻝ‬
    ‫ در ﺥ وﺝ‬false ‫ ی‬true، ‫د‬                        ‫داد‬    ‫ی‬    println()                 boolean ‫ار‬              ‫ی‬        ‫،و‬
                                                                                                       .‫د‬                 ‫ه‬
                    ‫آ . زي‬            ‫ آ ی‬if ‫رت‬      ‫اي آ ل‬           ‫ی‬             ‫ﻝ‬             ‫ار ی‬      ،        ‫دوم ای‬
                                                                                   :           ‫رت زی‬                 ‫رت‬
if (b == true) …
‫دﻝ ا‬                 ‫ه‬       ‫.‬        ‫ار ﻝ ا‬                     ‫<،ی‬                 ‫اي ، از ﺝ‬               ‫را‬                     ‫، ﺥ وﺝ ه‬                     ‫م ای‬
‫وري‬            ‫ا ن ٩>٠١‬                                       ‫ا ه يا‬                       ‫و ،‬                ‫.‬     ‫رت 9>01،‪ true‬ا‬                                            ‫آ‬
                               ‫.‬           ‫ي ﺥ ردار ا‬                                     ‫">" از اوﻝ ی‬                          ‫"+"‬                   ‫اآ‬           ‫،‬          ‫ه‬


                                                                                                                                                           ‫ال ه ي‬


     ‫،ی‬        ‫دي آ‬                ‫ار‬            ‫.ه‬            ‫ه ه‬                          ‫ع داد ه در‬                  ‫اوﻝ ی‬             ‫،‬            ‫ا اد‬                    ‫ا‬
‫م ا اد‬             ‫.‬           ‫ه‬                 ‫ال ه ي‬               ‫ل از ﻝ‬                          ‫ی . ١، ٢، ٣ و٢‬                      ‫ر‬                            ‫ﻝ ال‬
‫. دو‬                   ‫ي ٠١‬                    ‫د در‬           ‫ی‬                            ‫ه ی از‬                 ‫،ی‬            ‫له‬             ‫دی د‬        ‫،‬
‫ي‬         ‫ل)‬           ‫اد‬          ‫ي٨( وه‬                 ‫، ُآ ل )‬
                                                               ‫ا‬                      ‫د ه‬         ‫ا‬                         ‫در ﻝ ال ه ي‬                            ‫ي دی‬
‫ا اد‬                           ‫در‬                ‫د. وﺝ د‬                              ‫ار‬         ‫در ا اي ا اد ُآ ل‬
                                                                                                    ‫ا‬                                            ‫١(. در ﺝ وا ر‬
               ‫ﻝ ﺥ‬                             ‫٩٠‬             ‫ه در‬                         ‫ار‬         ‫. از ای رو ،‬                                ‫ﻝ‬                ‫ل‬          ‫د‬
‫ي‬              ‫ار دارد. ی‬                  ‫٧ ُآ ل‬
                                              ‫ا‬                                ‫ود‬               ‫ا آ ٩ در ﺥ رج از‬                          ‫،‬           ‫ی ﺥ اه‬                  ‫آ‬
‫" ‪"word‬ه ي‬                             ‫ﺥ‬         ‫آ‬            ‫لا‬          ‫اد‬              ‫زان ، ه‬                       ‫د‬       ‫رد ا‬          ‫اي ا اد‬                  ‫اوﻝ‬
                                                                              ‫دارد.‬                       ‫،‬                 ‫ً٨، ١ ،٢٣ و‬                ‫ب٨،‬
           ‫ل از‬                ‫اد‬          ‫ود ار م ه‬                  ‫.‬                    ‫ل ، وﺝ د‪ 0x‬در ا اي‬                             ‫اد‬     ‫ا اد ه‬
                                                      ‫.‬                   ‫١‬               ‫ی ٠١‬            ‫‪ (f‬ﺝ ی‬            ‫ای ‪) F A‬ی ‪a‬‬                        ‫،‬         ‫١ا‬
‫ن ع‬            ‫.‬           ‫ه‬               ‫٢٣‬                 ‫ار‬          ‫آ در ﺝ وا ،‬                               ‫ار‪int‬‬            ‫ﺝ ای د‬                ‫ﻝ ال ه ي‬
      ‫ا‬                                ‫آ‬              ‫از ﺥ د‬              ‫ا‬                 ‫د،‬                ‫ل‬     ‫ت در ﺝ وا آ‬                       ‫ه‬                 ‫ار‬
‫‪byte‬‬               ‫، از‬                    ‫ی داد ه ي ع‬                                ‫،‬               ‫م‬       ‫را ون وز ﺥ ي‬                                     ‫ی ﻝ ال‬
                    ‫ﺥ ی‬                ‫،ه‬                         ‫ع‬       ‫ود‬                ‫ال در‬         ‫ار ﻝ‬              ‫ی‬    ‫داد. و‬                        ‫ی ‪،long‬‬
‫اي‬         ‫داد. ا‬                              ‫‪، long‬‬                         ‫ی‬           ‫ان‬                      ‫را ه‬                 ‫، ی ﻝ ال‬                         ‫ی .ه‬
     ‫ار ن ﻝ ال از ع‬                              ‫آ‬        ‫آ‬                           ‫ی‬     ‫اي آ‬              ‫ا‬             ‫د از ی ﻝ ال ‪ ، long‬ی‬                               ‫ا‬
      ‫م‬    ‫ار ﻝ ال ا‬                       ‫(‬     ‫را‬               ‫ي)‬              ‫ا‬        ‫ف ‪) L‬ی ‪(l‬‬               ‫آ دن‬                ‫. ای آ ر ا‬                  ‫‪ long‬ا‬
‫ار‬         ‫ی‬           ‫ر‬       ‫ل ، ‪ 0X7ffffffffffffff‬ی 7085774586302733229 ،‬                                                                      ‫ان‬                    ‫د.‬
                                                                                                                                      ‫.‬        ‫ﻝ ال ع ‪ long‬ا‬
‫ري‬           ‫ال ه ي ا‬


         ‫. ای ا اد را‬                            ‫ري‬           ‫ا‬               ‫ل‬            ‫ا اد د‬           ‫ی‬        ‫ور،‬                      ‫ري‬            ‫ا اد ا‬
              ‫و‬           ‫دآ‬         ‫ارد، ی‬               ‫ا‬        ‫ﻝ‬       ‫داد. در‬          ‫ی‬               ‫د‬          ‫ارد ی‬             ‫رت ا‬                 ‫ان‬
                                                         ‫د.‬                  ‫داد‬       ‫ی‬        ‫ري‬      ‫ا‬                       ‫ر و در ﺥ‬               ‫ا‬
                                                                                            ‫٠‬         ‫ل،٠٢،٩ ١ ١٣،٧‬                                    ‫ان‬
‫ار‬            ‫، از‬               ‫د‬       ‫.در‬             ‫ارد ه‬               ‫رت ا‬                 ‫ور‬                       ‫ري‬            ‫اد ا‬      ‫ا‬          ‫ی‬
          ‫د‬           ‫،ا‬         ‫از ٠١ ا‬             ‫ا‬                 ‫ی‬       ‫يآ‬                ‫ور و‬                       ‫ري‬           ‫دا‬       ‫ارد ،‬            ‫ا‬
‫.‬                 ‫ی‬        ‫ا‬             ‫دآ ی‬                          ‫داد‬     ‫ی‬        ‫ل‬         ‫دد‬             ‫رت ‪)E‬ی ‪ (e‬وی‬                      ‫د. ان‬
                                             ‫.‬       ‫از ای ا اد ه‬                                 ‫، 50-951413 و 001+‪2e‬‬                             ‫32‪٠٢٢E‬‬
          ‫د‬           ‫ور ا‬                       ‫ري‬           ‫اي ﻝ ال ا‬                ‫«‬                    ‫ض از »د‬                      ‫ر‬                 ‫در ﺝ وا‬
‫ای . ا ودن ‪D‬‬                                     ‫ي‬       ‫ا‬        ‫آ دن ﻝ ال ه ي ‪ ، float‬ی ‪ F‬ی ‪ f‬را‬                                                ‫اي‬         ‫د.‬
‫م ای آ ر‬                   ‫ا‬     ‫آ . اﻝ‬                            ‫ی‬          ‫ر‬                 ‫ال ه ي ‪ double‬را‬                     ‫ﻝ‬       ‫ا‬                ‫ی ‪d‬‬
    ‫دی‬        ‫آ در‬              ‫ر‬        ‫د ، در‬                        ‫د‬       ‫ا‬                 ‫ض ‪ double‬از‬                             ‫. در‬          ‫ا‬           ‫ا‬
                                                                                                            ‫د.‬              ‫د‬        ‫ا‬           ‫‪ float‬از ٢٣‬


                                                                                                                                                  ‫ال ه ي‬


     ‫دی‬       ‫ﻝ وﺝ د دارد: ‪ true‬و‪. false‬‬                                               ‫ار‬        ‫دو‬     ‫.‬            ‫د ه‬        ‫ر‬          ‫ﻝ ال ه ي ﻝ‬
‫"١ "‬                  ‫ا‬        ‫ال ‪ true‬در ﺝ وا‬                    ‫.ﻝ‬                        ‫ی‬     ‫دي‬             ‫ی‬                   ‫ه‬           ‫‪ true‬و‪false‬‬
              ‫ﻝ‬       ‫هي‬                             ‫دی در ﺝ وا‬                        ‫. ای‬             ‫" ٠" ا‬                   ‫و ﻝ ال ‪false‬‬
                  ‫.‬        ‫د ه‬       ‫ا‬               ‫هي ﻝ‬                              ‫ر ي ﻝ ه ا‬                        ‫و ی در‬


                                                                                                                                    ‫ال ه ي آ راآ ي‬


‫ی . آ راآ ه ،‬                            ‫ر‬                   ‫آ‬             ‫آ راآ ه ي ی‬                          ‫هي‬         ‫آ راآ ه در ﺝ وا ، ای آ‬
          ‫ن "+" و"-"‬                     ‫هی‬                        ‫د و‬             ‫ی‬                             ‫ا اد‬           ‫آ‬         ‫ه‬        ‫١‬         ‫دی‬
‫م‬        ‫د.‬            ‫داد‬          ‫ی‬        ‫ل‬                        ‫. ه ﻝ ال آ راآ ي در‬                                                ‫دازش و ی ی‬
          ‫،‬             ‫ل‬                                      ‫در‬              ‫ان‬                   ‫را‬     ‫رؤی‬                               ‫آ راآ ه ي ا‬
                                                                                                                                             ‫َ‬
‫ان از " ‪escape‬‬                               ‫،‬                                          ‫اي آ راآ ه ی ه آ‬                                     ‫’‪’z’،’a‬و’@’.‬
                                                                                ‫ن وارد آ دن‬                   ‫دآ ا‬                   ‫د‬        ‫‪"sequence‬ا‬
‫.‪ ’ n‬ﺝ ي‬                  ‫ل‬                                 ‫"’ ﺝ ي آ راآ‬                 ‫زد؛‬           ‫اه‬           ‫رد ز را‬                    ‫آ راآ ه ي‬
‫رت‬                     ‫ار ی آ راآ‬                              ‫اي وارد آ دن‬             ‫ه‬                     ‫ﺝی.‬                                 ‫ی‬              ‫آ راآ‬
‫وارد آ .‬                ‫ر‬               ‫د‬                ‫اي آ راآ ه ي ُآ ل،از’’ و‬
                                                                    ‫ا‬                                    ‫ل وﺝ د دارد.‬                        ‫اد‬           ‫ُآ ل ی ه‬
                                                                                                                                                                 ‫ا‬
        ‫رر‬                      ‫’‪ ،’u‬و‬                  ‫ل‬      ‫اد‬    ‫اي ه‬      ‫.‬           ‫’‪’a‬ا‬              ‫ی‬        ‫ل،’141’‬                       ‫ان‬
‫آ راآ ه ي -‪ISO‬‬                                        ‫ف’‪’a‬در‬         ‫ل ،’1600‪،’u‬‬               ‫ان‬                ‫د.‬                 ‫ل وارد‬                     ‫اد‬       ‫ه‬
    ‫ای‬             ‫.‬        ‫ا‬           ‫ژا‬           ‫.’234‪ ’ua‬ه ی آ راآ‬                ‫٠ا‬                        ‫ی‬         ‫اآ‬           ‫،‬            ‫1-‪ Latin‬ا‬
                                                                                    ‫.‬       ‫ا‬            ‫ن داد‬              ‫آ راآ ه در ﺝ ول 1‬


                                                                                                                                 ‫ال ه ي رﺵ اي‬


‫ي‬             ‫ی‬                 ‫-‬                                     ‫ي دی‬      ‫ز‬               ‫ن‬         ‫اي در ﺝ وا ه‬                        ‫ﻝ ال ه ي ر‬
          ‫ن داد‬             ‫اي در ذی‬                     ‫ال ه ي ر‬      ‫ل از ﻝ‬                   ‫،‬        ‫لﺝ‬                                           ‫در‬         ‫آ راآ‬
                                                                                                                                                                 ‫.‬       ‫ا‬
‫"‪"Hello Word‬‬
‫"‪" twonlines‬‬
‫""‪""This is in quotes‬‬

‫ال ه ي آ راآ ي‬                          ‫اي ﻝ‬             ‫ل و "‪" escape sequence‬ه ی آ‬                                   ‫اد‬        ‫ارداده ي ُآ ل ه‬
                                                                                                                                       ‫ا‬
    ‫آ‬                   ‫د ا .‬                    ‫ا‬            ‫اي‬      ‫اي ﻝ ال ه ي ر‬                      ‫رت‬               ‫ه ن‬            ‫ا ،‬                         ‫ی‬
‫زو‬                      ‫ی در ی‬                        ‫آ ای ر‬          ‫آ نا‬          ‫، نا‬             ‫ه ي ﺝ وا ﺝ آ‬                             ‫ی در ر ر‬
                  ‫وﺝ د ارد.‬                      ‫ﺥ در ای‬        ‫ادا‬    ‫آ راآ‬                ‫،ه‬           ‫ي دی‬               ‫ﺥ فز‬                      ‫.‬     ‫ی‬            ‫ﺥ‬
‫رت‬                 ‫++‪، C/C‬‬                           ‫، از ﺝ‬   ‫ي دی‬      ‫ه در ﺥ ز‬                         ‫دا ،ر‬                   ‫آ‬                ‫ﺝ :ه ن‬
              ‫ه در وا‬               ‫.ر‬                         ‫. ا در ﺝ وا ای‬                        ‫زي‬               ‫د‬      ‫رای اي از آ راآ ه‬
، ‫آ‬            ‫زي‬        ‫د‬        ‫رت‬           ‫ه را‬    ‫ن ﺝ وا ر‬        ، ‫آ ﺥ اه دی‬             ‫.ه ن‬            ‫ه‬
.       ‫نا‬              ‫د از‬     ‫وه ا‬      ‫ه‬    ‫ر‬     ‫ه دارد آ ه‬        ‫اي ی ی ر‬            ‫ي زی دي‬


                                        Escape Sequence ‫آ راآ ه ي‬
                                                       ‫ح‬                   Escape Sequence
                                                       Octal character (ddd)                   ddd
                                       Hexadcimal Unicod character (xxxx)                   uxxxx
                                                                   Single quote                  ’
                                                                  Double quote                   "
                                                                        Backslash                
                                                                 Carriage return                 r
                                         New line (also known as line feed)                      n
                                                                        Form feed                f
                                                                                  Tab            t
                                                                        Backspace                b


                                                                                                      ‫ه‬


        ‫از ی‬    ‫آ‬            ‫و‬           ‫.ه‬     ‫ه ي ﺝ وا ه‬         ‫زي در‬          ‫ی ذﺥ‬         ‫ه ، وا‬
‫ود و‬           ‫ه داراي‬             ‫و ،ه‬          .           ‫ی‬     ( ‫ار اوﻝ )دﻝ ا‬           ‫، عو‬
    ‫د‬     ‫ا‬         ‫ی‬             ‫در‬          ‫آ آ ن‬                        ‫ود ه‬         .      ‫ته‬             ‫دور‬
                                                       . ‫ا‬         ‫ر‬      ‫در ذی‬                           .     ‫ا‬


                                                                            ‫ه‬           ‫آ دن‬    ‫ﺕ ی‬            ‫ﺵ‬
‫ه در ذی‬             ‫آ دن‬                ‫ی‬               ‫آ‬          .‫آ ر د‬                 ‫و‬        ‫ی‬           ‫ه را ی در ﺝ وا‬                           ‫ه‬
                                                                                                                                      :       ‫ا‬         ‫ورد‬
type identifier [ = value][, identifier [ = value]… ];


‫ ، م‬identifier .                    ‫ا‬        ‫ی ﺝ وا ، م ی آ س ی را‬                                ‫ی‬            ‫از ا اع داد ه ي‬                    ‫ ، ی‬type
،‫ار‬            ‫وي و ی‬                                  ‫آ دن ی‬                        ‫ی‬        ‫ان از‬                     ‫ه را‬              .        ‫ا‬
‫ع‬        ‫اري از ه ن‬                     ‫ی‬            ‫ارده‬            ‫رت‬                   ‫آ‬                        ‫دا‬       ‫ﺥ‬     .‫د‬               ‫ارده‬
                                                                                                               .                 ‫اي‬
        ‫از ی ی‬      ‫آ‬           ‫و‬           ‫را‬         ‫، م‬            ‫آ‬    ‫ی‬             ‫رد‬       ‫از ع‬                          ‫از ی‬                   ‫اي‬
         ‫ﺥ از‬           ‫آ‬       ‫آ‬            ‫ن ﺝ آ .د‬                               ‫هي‬                 ‫ی‬           ‫ل ذی از‬                        . ‫ﺝاآ‬
                                                                                                                        .       ‫ار اوﻝ ه‬               ‫داراي‬
int a, b, c;                                                               // declares three ints, a, b, and c.
int d = 3, e, f = 5;                                        // declares three more ints, initializing
                                                            // d and f.
byte z = 22;                                                // initializes z.
double pi = 3.14159                                         // declares an approximation of pi.
char x = ’x’;                                               // the variable x has the value ’x’.


‫ن‬        ‫. ﺝ وا ا‬           ‫ن‬                                       ‫ن ار آ‬           ‫ي در‬              ،           ‫آ‬        ‫ب‬      ‫هی آ ا‬
                                                                    . ‫ده‬                              ‫ه ی ازا اع داد ه را‬


                                                                                                                                ‫پ ی‬       ‫ارده او‬


    ‫ن‬     ‫، ا ﺝ وا ا‬            ‫ا‬                ‫د‬      ‫ار اوﻝ ا‬               ‫ان‬                 ‫، از ﺙ‬                         ‫ﻝ ي‬              ‫در‬         ‫ا‬
.        ‫اه آ د ا‬                                ‫ی‬      ‫در ز ن‬                      ‫ر ي‬                    ‫و‬       ‫ه را‬               ‫یي‬           ‫ارده‬
        ‫در د‬     ‫اﻝ اوی را‬                                      ‫ی‬    ‫لو‬         ‫آ‬    ‫ﺝ آ‬              ‫ذی‬           ‫آ‬                  ،‫ل‬          ‫ان‬
                                                                                              : ‫آ‬                                 ‫دی‬              ‫دو‬        ‫دا‬
// Demonstrate dynamic initialization.
class DynInit {
            public static void main(string args[]) {
‫;0.4 = ‪double a = 3.0, b‬‬
                       ‫‪// c is dynamically initialized‬‬
                       ‫;)‪double c = Math.sqrt(a * a + b *b‬‬
                       ‫;)‪system.out.println("Hypotenuse is" + c‬‬
               ‫}‬
 ‫}‬

        ‫دو ﺙ‬           ‫و‬        ‫،‪ a‬و ‪، b‬‬                               ‫. دو‬          ‫ا‬           ‫ی‬        ‫)‪ b،a‬و‪(c‬‬                                               ‫در ای‬
          ‫د از‬              ‫د) ا‬                        ‫ار ده‬                      ‫لو‬              ‫ر ی‬                       ‫ا .ا ،‪c‬‬                        ‫ارده‬
                                                                                                                                                      ‫رث(.‬
‫ي از آ س‬                          ‫آ‬           ‫ا‬          ‫د‬            ‫ه ي آ ر ﺝ وا )(‪، sqrt‬ا‬                                 ‫از‬         ‫دی‬        ‫از ی‬               ‫در‬
‫آ در‬               ‫آ ي ای آ ر ن ا‬                             ‫آ .‬                             ‫ن ﺥ دش را‬                      ‫وﺝ ر ر‬                             ‫‪Math‬‬
‫د ، از‬             ‫د‬        ‫ا‬         ‫ا‬                ‫ار ده‬           ‫ي آ در ز ن‬                              ‫ان از ه‬                           ‫ارده‬           ‫رت‬
                                                                                              ‫ی ﻝ ال ه .‬                     ‫ه ي دی‬                   ‫ه ،‬                ‫ﺝ‬


                                                                                                     ‫ه‬          ‫و دور ﺡ ت‬                                ‫ود د‬


‫ن‬        ‫ا . ا ، ﺝ وا ا‬                            ‫ی‬         ‫)(‪main‬‬                  ‫د ، در ا اي‬                ‫ا‬             ‫هي‬                  ‫م‬      ‫ل‬
‫زو‬             ‫ك ’{’‬                  ‫ه‬       ‫دا‬         ‫آ‬             ‫زد. ه ن‬                       ‫اه‬         ‫آ‬                 ‫ه را در ه‬                      ‫ی‬
‫كﺝ یي‬                  ‫رآ‬             ‫آ . از ای رو ، ه‬                                    ‫ود اي را‬             ‫ك،‬                  ‫د. ه‬                  ‫’}’ ﺥ‬
‫اي‬         ‫ه‬               ‫آ آ آ ام‬                           ‫ود‬                   ‫د. ه‬            ‫ود ﺝ ی ي ای د‬                             ‫،‬    ‫آ‬         ‫ز‬            ‫را‬
                           ‫د.‬                                ‫ءه‬            ‫ت ن‬             ‫. دور‬          ‫رؤی ه‬                                   ‫ي‬                  ‫ی‬
               ‫:‬   ‫آ‬              ‫ی‬           ‫ود ه را‬                 ‫از‬                       ‫، دو د‬         ‫ي دی‬                  ‫يآ‬             ‫ري از ز‬
         ‫ار . ا‬                           ‫ﺝ وا‬         ‫اي د‬                    ‫ل‬               ‫ﺥ‬              ‫ود ه ي ی‬                           ‫. ا ، ای‬                ‫و‬
    ‫د،ا‬                                            ‫ود‬             ‫ی‬            ‫دا‬         ‫ی‬     ‫ه ی وﺝ د دارد آ در‬                                    ‫ن ای د‬              ‫ا‬
‫ود‬             ‫آ . در ز ن ﺝ وا ، دو‬                                        ‫ی‬        ‫ی و‬            ‫ر‬                          ‫ی ا‬                  ‫م ای آ ر‬               ‫ا‬
    ‫ی‬              ‫ود ه ی آ‬                        ‫و‬                           ‫ی‬         ‫ی آ س‬                      ‫آ‬             ‫ود ه ی ه‬                  ‫،‬             ‫ا‬
 ‫ی‬        ‫ود آ س ،‬                        ‫ن‬       ‫،ا ،‬            ‫ا‬                       ‫ري‬              ‫ی‬             ‫ای‬          ‫.‬                       ‫ی‬
‫ل‬        ‫ا‬           ‫ی‬                          ‫ی‬     ‫ود‬                       ‫د دارد آ‬                                   ‫ت و وی‬                       ‫ﺥ‬
                                                                                           ‫ر .‬                         ‫ل‬            ‫ی‬            ‫، ای‬
      ‫ن‬           ‫ا‬    ‫د. ا‬                ‫ز‬         ‫د ز ن‬             ‫آ‬        ‫د،‬                       ‫ی‬             ‫ه‬                    ‫ود اي آ‬
                                                ‫.‬             ‫ار‬                ‫ود ن‬               ‫در‬              ‫،‬                 ‫ه ی دا‬                    ‫را‬
‫ی آ در ﺥ رج از‬                              ‫اي‬       ‫،‬                      ‫ی‬            ‫ود‬             ‫ه ی آ در ی‬                      ‫،‬        ‫رآ‬
  ‫ي را درون ی‬                              ‫. از ای رو، و‬                        ‫(‬             ‫)د‬        ‫رؤی‬        ‫ار دار ،‬                      ‫ود‬             ‫ن‬
‫ات‬                ‫وی‬              ‫د‬             ‫زی و ن را در‬                                  ‫ن را‬           ‫، در وا‬       ‫آ‬                ‫ی‬         ‫ود‬
‫زي را‬             ‫ن‬    ‫اي‬         ‫ود ، ی و ا س زم‬                                       ‫، ا‬                  ‫آ . در‬                              ‫ز‬
                                                                                                                                   ‫ز .‬                     ‫اه‬
‫، در‬          ‫آ‬        ‫آ را ای د‬                     ‫رآ‬        ‫ل،ه‬                  ‫ان‬              ‫.‬            ‫در‬            ‫ا‬                 ‫ود ه‬
‫و ،‬               ‫ود‬          ‫،‬       ‫ا‬              ‫ا‬                     ‫آ .و‬                ‫در ی را ای د‬                    ‫ود ﺝ ی‬                           ‫وا‬
     ‫و‬        ‫ود‬         ‫در‬                 ‫ی‬        ‫هي‬            ‫آ‬                      ‫ی‬        ‫د. ای‬                   ‫را در‬            ‫ود درو‬
‫دق‬                       ‫ای‬                ‫د. ا ،‬            ‫ﺥ اه‬          ‫رؤی‬                     ‫ود درو‬             ‫هي‬            ‫راﻝ‬          ‫اي د‬               ‫،‬
  ‫رؤی‬                   ‫و‬             ‫ود‬        ‫اي‬       ‫،‬                          ‫ی‬              ‫ود درو‬             ‫ه ی آ در‬                        ‫.‬
                                                                                                                                            ‫د.‬            ‫اه‬
                                            ‫ی :‬                ‫ذی را در‬                            ‫ود ه ي در ،‬                          ‫اي درك ﺙ‬
‫.‪// Demonstrate block scope‬‬
‫{ ‪class scope‬‬
      ‫{ )] [‪public static void main(string args‬‬
             ‫‪int x; // known to all code within main‬‬
             ‫;01 = ‪x‬‬
             ‫‪if (x == 10) { // start new scope‬‬
                  ‫‪int y = 20; // known only to this block‬‬
                  ‫.‪// x and y both known here‬‬
              ‫;)‪system.out.println("x andy: "+ x + "" + y‬‬
              ‫;2 * ‪x = y‬‬
         ‫}‬
         ‫‪// y = 100; // Error! y not known here‬‬
         ‫.‪// x is still known here‬‬
         ‫;)‪system.out.println("x is" + x‬‬
  ‫}‬
‫}‬


         ‫ا‬              ‫ی‬            ‫ود )(‪main‬‬                       ‫‪ x‬در ا اي‬                     ‫،‬           ‫ا‬                 ‫ت‬                   ‫آ در‬                         ‫ه ن‬
     ‫ی‬           ‫‪y‬‬                  ‫ك ‪، if‬‬            ‫. درون‬           ‫ا‬            ‫د‬              ‫ه ي درون )(‪main‬‬                              ‫راﻝ‬           ‫اي آ د‬                       ‫و‬
‫ك ﺥ دش‬                      ‫در ه ن‬                     ‫)‪(y‬‬              ‫، ن‬             ‫ا‬                  ‫ی‬           ‫ي‬         ‫ك‬          ‫ن در ای‬                   ‫.‬           ‫ا‬
‫ل‬            ‫«‬                      ‫»‬         ‫ك‬            ‫001=‪ y‬در ﺥ رج ن‬                                     ‫آ‬           ‫ا‬     ‫دﻝ‬         ‫ه‬        ‫.‬        ‫رؤی ا‬
    ‫اﺝ‬            ‫ی‬         ‫ﺥ يز نآ‬                             ‫داری ،‬                      ‫« را از ا اي ن‬                                  ‫د »‬                   ‫.ا‬              ‫ا‬
‫ان‬                    ‫ك ‪if‬‬               ‫. در‬              ‫(‬           ‫رؤی )د‬                      ‫ود اش‬                   ‫ون‬         ‫ا آ ‪ y‬در‬                ‫،‬                   ‫ﺥ اه‬
     ‫(،‬               ‫در‬            ‫ود‬            ‫،‬         ‫ك)ی‬                ‫ه ي درون ی‬                          ‫راﻝ‬         ‫اآ د‬             ‫د آ د،‬                        ‫از ‪ x‬ا‬
                                                                 ‫دار .‬                  ‫ﺥ د،د‬                              ‫ود‬         ‫در‬                 ‫ی‬            ‫هي‬
     ‫ی‬           ‫از‬                           ‫ه‬                 ‫آ د، ا‬         ‫ی‬         ‫اي‬                    ‫ه را در ه‬                    ‫ان‬                ‫ك‬                   ‫در ه‬
‫آ ، در ن‬                        ‫ی‬                     ‫ي را در ا اي ی‬                                ‫د. از ای رو، ا‬                         ‫د ﺥ اه‬                 ‫ا‬                   ‫ن‬
‫، در‬              ‫آ‬         ‫ی‬             ‫آ‬           ‫ي‬     ‫ي را در ا‬                         ‫د. ا ا‬                   ‫رؤی ﺥ اه‬                              ‫رت در آ‬
     ‫.‬           ‫اه دا‬                                ‫ند‬               ‫راﻝ‬         ‫د‬          ‫اآ ه‬                 ‫د،‬          ‫ی ﺥ اه‬                             ‫رت‬                       ‫ن‬
‫د‬            ‫ا‬             ‫ن‬              ‫ی‬           ‫از‬         ‫‪count‬‬                      ‫اآ‬             ‫،‬           ‫ا‬       ‫در‬      ‫رت زی‬                 ‫ل،‬               ‫ان‬
                                                                                                                                                                              ‫:‬
‫!‪// This fragment is wrong‬‬
‫!‪count = 100; // oops! cannot use count before it is declared‬‬
‫;‪int count‬‬



‫م‬            ‫وه‬                          ‫ن ای د‬                 ‫ود‬             ‫م ورود‬              ‫ه ه‬                     ‫:‬     ‫ﺝ آ‬             ‫ی‬                                    ‫ای‬
‫ارش را‬                  ‫ي‬                         ‫آ ه‬                      ‫ی‬           ‫. ای‬                        ‫د‬            ‫از‬         ‫ن‬         ‫ود‬               ‫ﺥ وج از‬
                        ‫ی‬                         ‫ه ی آ درون ی‬                          ‫ای‬             ‫.‬           ‫اه دا‬            ‫ود اش‬            ‫از ﺥ وج از‬
    ‫ي آ در ی‬                              ‫،‬                ‫.ه‬        ‫اه دا‬                         ‫اﺥ ا‬                          ‫ز‬          ‫ار ن را در ا‬                                    ‫،‬
                                                                                                                                ‫ار‬      ‫د،‬                            ‫ی‬           ‫ك‬
‫ود اش‬                                              ‫ته‬                ‫ﺥ اه داد. از ای رو، دور‬                                   ‫ك از د‬           ‫از ﺥ وج از‬                                 ‫را‬
‫ه م ورود‬                        ‫ر‬             ‫رت ه‬              ‫د، در ن‬                ‫ار ده‬                   ‫ی‬                ‫ي در‬                         ‫.ا‬           ‫ا‬                ‫وا‬
                  ‫ی :‬                          ‫ي را در‬                         ‫ل،‬             ‫ان‬               ‫د.‬                    ‫ارده‬                ‫ك ، از‬                   ‫ن‬
// Demonstrate lifetime of a variable.
class LifeTime {
         public static void main(string args[]) {
              int x;
              for (x = 0; x<3; x++) {
                          int y = -1; // y is initialized each time block is entered
                          system.out.println("y is :" + y); // this always prints -1
                          y = 100;
                           system.out.println("y is now : " + y);
                      }
              }
     }

                                                                :        ‫ا‬       ‫ن داد‬        ‫در ذی‬             ‫ﺥ وﺝ ای‬
y is: -1
y is now: 100
y        is: -1
y is now: 100
y is: -1
y is now: 100

.‫د‬                ‫ار ده‬         -١ y           ، for            ‫ه م ورود‬             ‫ر‬    ‫،ه‬                ‫آ‬        ‫ه ن‬
          . ‫ده‬                ‫ار ﺝ ی را از د‬       ‫،ا‬       ‫ی‬                    ‫ن‬       ١٠٠‫ار‬                   ‫وﺝ د‬
‫از‬        ‫ی‬       ‫يه م‬               ‫ان‬           ‫،ا‬                ‫در‬       ‫ا‬           ‫كه‬            ‫:ا‬         ‫و ﺥ ی‬
                          :               ‫ذی‬           ،‫ل‬       ‫ان‬           .‫آ د‬    ‫ی‬         ‫و‬      ‫ود‬        ‫هي‬
// This program will not compile
class scopeErr {
         public static void main(string args[]) {
                  int bar = 1;
                  {                                         // creates a new scope
                           int bar = 2 // compile time error – bar already defined!
                  }
         }
}

                                                                                                      casting ‫ﺕ ی و‬
‫ار‬     ‫ع‬             ‫ی‬                       ‫آ‬       ‫دا‬       ‫رت‬          ‫، در ن‬                            ‫زي دا‬                                      ‫ا‬
‫رت ﺝ وا‬                  ‫، در ن‬                      ‫ز ر‬          ‫ن دو ع‬          ‫.ا‬            ‫اول ا‬                       ‫ع دی‬              ‫ي از ی‬
    ‫ی‬                    ‫ن‬       ‫ا‬           ‫ل،ه‬             ‫ان‬            ‫م ﺥ اه داد.‬                ‫رت ﺥ دآ ر ا‬                         ‫ی را‬
‫و از ای رو،‬                          ‫ز ر‬                          ‫م داد ه ي‬                ‫‪ long‬وﺝ د دارد. ا‬                              ‫ی‬       ‫ار ‪int‬‬
‫‪byte‬‬           ‫اي ‪double‬‬                         ‫ی‬           ‫،ه‬          ‫ان‬                 ‫.‬                                ‫ر‬                ‫ی ت‬             ‫ه‬
‫اي ا اع داد ه ي‬                          ‫ی‬           ‫روی ه ي‬             ‫نآ‬            ‫، زه ا‬                               ‫.ﺥ‬        ‫ا‬                   ‫ی‬
‫ا اع‬                ‫ی‬            ‫ی‬       ‫د آ ؛‬               ‫م ای آ ر ی از"‪ " casting‬ا‬                          ‫اي ا‬        ‫ز ر وﺝ د دارد.‬
                                     ‫دازی .‬                  ‫ی ﺥ دآ ر و ‪casting‬‬                             ‫ر‬               ‫ز ر. ای‬               ‫داد ه ي‬


                                                                                                                             ‫دآ ر وا‬                ‫ﺕ ی ت‬


‫،‬                         ‫ای ذی‬                          ‫،‬        ‫ی‬                             ‫ي از ع دی‬                            ‫ع داد‬            ‫ی‬       ‫و‬
                                                                                                      ‫د:‬                ‫م‬     ‫ی ﺥ دآ ر ا‬
                                                                                                  ‫.‬         ‫ز ر‬             ‫ن دو ع‬                            ‫•‬
                                                                              ‫.‬        ‫أ‬        ‫از ع‬                ‫ر‬                ‫ع‬                        ‫•‬
‫ان‬             ‫د.‬                ‫م‬       ‫زي« ا‬           ‫رگ‬            ‫» ی ه ا‬                          ‫،‬           ‫ار‬           ‫ط‬            ‫ای دو‬           ‫ه‬
‫د‬            ‫ای ا‬            ‫،‬       ‫رگ ا‬                  ‫ا از آ‬        ‫دی ‪byte‬‬                 ‫اري‬            ‫اي‬               ‫ل ، ع ‪ int‬ه‬
                                                                      ‫ورت ارد.‬                    ‫ی‬         ‫رت‬                ‫رت ‪casting‬‬                      ‫از‬
‫ري‬            ‫وا‬                 ‫ا اد‬            ‫دي ، از ﺝ‬            ‫زي« ، ا اع داد ه ي‬                        ‫ر‬           ‫ی ته ا‬                  ‫اي »‬
‫‪ char‬ی ‪boolean‬‬                       ‫دي‬              ‫، ا اع داد ه ي‬               ‫.ا‬            ‫ز ره‬                    ‫ی ی‬          ‫ور،‬
                                             ‫.‬           ‫ز ر‬            ‫، ‪ char‬و ‪ boolean‬ی ی‬                                     ‫.ه‬                ‫ز ر‬
‫ه ي ع ‪byte‬‬                           ‫در‬                  ‫ﻝ ال‬          ‫ار ﺙ‬            ‫ی‬         ‫،و‬                      ‫از ای‬                ‫آ‬           ‫ه ن‬
                        ‫ده .‬         ‫م‬       ‫ی ﺥ دآ ر را ا‬                        ‫، ﺝ وا ز ه‬                                  ‫،‪ short‬ی ‪ long‬ذﺥ‬


                                                                                  ‫ز ر‬             ‫م ‪ casting‬اي ا اع داد ه ي‬                                    ‫ا‬
‫ز .‬                  ‫ف‬            ‫م زه را‬                      ‫ی ت‬                 ‫، ا ای‬                             ‫وا‬              ‫ی ت ﺥ دآ ر‬                         ‫ا‬
‫آ ؟‬                  ‫ده ،‬                             ‫‪byte‬‬                         ‫ی‬    ‫ار ‪ int‬را‬                     ‫اه ی‬                      ‫ل،ا‬          ‫ان‬
‫ع‬         ‫. ای‬       ‫از‪ int‬ا‬                      ‫ا آ ه ‪ byte‬آ‬                          ‫د،‬                    ‫م‬        ‫ر ﺥ دآ ر ا‬                            ‫ی‬          ‫ای‬
     ‫ار ‪int‬‬              ‫اآ‬       ‫د،‬                                   ‫زي«‬                   ‫آ‬       ‫ا‬         ‫ی ه‬                 ‫ی ت ه او ت ، »‬
                                                                                                                                       ‫َ‬
                                                               ‫.‬                   ‫ذﺥ‬                     ‫د در‬                                       ‫ی آ‬           ‫ر‬
 ‫ی‬               ‫د آ ،ی‬               ‫م ده ، ی از ‪ casting‬ا‬                                  ‫ز ر را ا‬                      ‫دو ع‬                      ‫ی‬             ‫اي‬
                                                       ‫:‬           ‫رت زی ا‬                       ‫مآر‬              ‫ا‬        ‫آ‬              ‫ی ا اع داد ه .‬
‫‪(target-type) value‬‬

     ‫د.‬          ‫ی‬       ‫ن‬        ‫ی‬                   ‫رد‬        ‫ار‬             ‫آ‬         ‫ع داد اي ا‬                            ‫آ‬                    ‫‪، target-type‬‬
‫ار‬                   ‫د.‬                   ‫م‬        ‫‪ byte‬ا‬              ‫‪ casting‬از‪int‬‬                              ‫رت زی ،‬                       ‫ل ، در‬            ‫ان‬
      ‫د‬      ‫ود ‪ byte‬و‬                                             ‫ی‬       ‫ارش از‬                ‫،‬            ‫ود ‪byte‬‬                       ‫از‬           ‫ر‬
                                                                                                     ‫د.‬                               ‫آ‬                           ‫وردن‬
‫;‪int a‬‬
‫;‪byte b‬‬
‫… //‬
‫;‪b = (byte) a‬‬

     ‫اي دی‬                    ‫ی‬       ‫،‬                    ‫ع‬           ‫ی‬           ‫ور‬                     ‫ري‬                   ‫ار ا‬             ‫ی‬                 ‫م‬     ‫ه‬
                                                                                                                                      ‫ش.‬            ‫د:‬             ‫م‬     ‫ا‬
‫ار‬          ‫ی‬        ‫. از ای رو، و‬                     ‫ري ه‬                ‫ا‬                                          ‫، ا اد‬               ‫دا‬            ‫آ‬         ‫ه ن‬
     ‫رود.‬                ‫ري از د‬              ‫ا‬                ‫ی ،‬                                         ‫ع‬               ‫ی‬          ‫ور‬                     ‫ري‬          ‫ا‬
‫د.‬        ‫، ١ ﺥ اه‬                  ‫ار‬            ‫،‬        ‫ی‬                                              ‫ی‬           ‫ار ٣٢/١‬                       ‫ل،ا‬           ‫ان‬
          ‫آ در‬               ‫از ن‬             ‫ر‬                                    ‫د‬     ‫ا از‬             ‫،ا‬           ‫. اﻝ‬           ‫ش داد ﺥ اه‬                  ‫٣٢/٠‬
‫ی .‬              ‫آه‬               ‫ع‬           ‫ود‬                               ‫ی‬        ‫ارش از‬            ‫رت‬                    ‫د ، در ن‬                     ‫ذﺥ‬
                                          ‫‪ casting‬دار :‬                            ‫ز‬     ‫ده آ‬              ‫ن‬               ‫ی را‬            ‫ع‬                 ‫ذی‬
‫.‪// Demonstrate casts‬‬
‫‪class conversion‬‬                      ‫{‬
      ‫{ )] [‪public static void main(string args‬‬
             ‫;‪byte b‬‬
             ‫;752 = ‪int i‬‬
             ‫;241.323 = ‪double d‬‬
system.out.println(" nconversion of int to byte.");
              b = (byte)           i;
              system.out.println("i and b" + i +" "+ b);
              system.out.println(" nconversion of double to int.");
              i = (int)            d;
              system.out.println("d and i" + d +" "                                     + i);
              system.out.println(" nconversion of double to byte.");
              b = (byte)           d;
              system.out.println("d and b"+ d + " " +b);
         }
}


                                                                      :        ‫ا‬             ‫ن داد‬            ‫در زی‬            ‫ﺥ وﺝ‬
conversion of int to byte.
i and b 257                1


conversion of double to int.
d and i           323.142          323


 conversion of double to byte.
d and b           323.142          67



‫ار ٧ ٢ در‬                  ‫ذﺥ‬        ‫" ﺝ‬casting"                  ‫آ .و‬                        ‫ر‬           ‫ی ت را‬       ‫ه ی از‬         ‫ای‬
‫د آ در‬                   ( byte ‫ود‬       )٢          ٢ ٧                            ،              ،‫د‬              ‫م‬    ‫ ا‬byte
‫رود و‬                ‫ري ن از د‬            ‫ا‬          ،‫د‬                   ‫ی‬    int ‫ی‬                  d       ‫.و‬       ‫ل،ی ا‬          ‫ای‬
                               .    ‫ل، ٧ ا‬          ‫آ در ای‬       ‫ی‬                ‫٢آه‬                                      ‫ارش‬


                                                                                   ‫رﺕ‬        ‫دآ ر ا اع داد ه در‬                ‫ارﺕ ء‬


    . ‫ر‬           ‫: در‬         ‫ا‬         ‫ه‬        ‫ای دی‬        ‫ع داد ه در‬                ‫ی‬        ،                ‫ت‬             ‫و‬
    ‫ز‬        ‫رد‬          ‫رات ، د‬         ‫ﺥ از‬       ‫ی . در‬                    ‫ل ذی را در‬                   ، ‫ای ا‬       ‫اي درك دﻝ‬
    ،‫ل‬       ‫ان‬           . ‫آ‬       ‫وز‬        ‫ه‬           ‫از‬     ‫ود ی‬              ‫ه او ت از‬                           ‫ار‬      ‫اي ی‬
                                                                                               :          ‫آ‬    ‫ر‬       ‫رت زی را‬
‫;04 = ‪byte a‬‬
‫;05 = ‪byte b‬‬
‫;001 = ‪byte c‬‬
‫;‪int d = a * b / c‬‬


      ‫ی ی ای‬        ‫اي‬        ‫آ .‬         ‫وز‬      ‫ه ي ع ‪byte‬‬                        ‫ود‬          ‫‪ a*b‬از‬                      ‫ﺝ‬
 ‫ر‬           ‫ع ‪ byte‬ی ‪ short‬را‬                 ‫هي‬               ‫،‬        ‫ر‬           ‫ارزی‬           ‫، ﺝ وا در‬
       ‫د از‪ int‬ا م‬             ‫‪ a*b‬ا‬                  ‫آ ﺝ‬                      ‫ی‬      ‫ده . ای‬               ‫‪ int‬ار ء‬        ‫ﺥ دآ ر‬
 ‫‪ a‬و‪b‬‬         ‫وﺝ د ای‬                   ‫)٠٠٠٢= ٠ * ٠ (‬                         ‫ﺝ‬            ‫‪ . byte‬از ای رو،‬                    ‫دو‬
                                                                    ‫د.‬       ‫ﺥ اه‬           ‫،‬        ‫ه دو از ع ‪ byte‬ه‬
         ‫ی‬     ‫وز ﺥ ي ز ن آ‬                      ‫ﺝ‬          ‫ا‬                ‫،ا‬       ‫ا‬         ‫ار ء ﺥ دآ ر‬
                         ‫د:‬               ‫وز ﺥ‬       ‫ﺝ‬          ‫زی‬           ‫ه در‬           ‫ل‬       ‫،‬            ‫ان‬             ‫د.‬
‫;05 = ‪byte b‬‬
‫;2 * ‪b = b‬‬          ‫//‬        ‫!‪Error! cannot assign an int to a byte‬‬



 ‫ن‬           ‫د. ا‬             ‫‪ byte‬ذﺥ‬                ‫در‬         ‫ار ا‬          ‫٢*٠‬               ‫ً‬           ‫آ‬         ‫ل‬         ‫در ای‬
 ‫‪int‬‬                      ‫،‬         ‫ی‬      ‫‪ int‬ار ء‬         ‫ر ﺥ دآ ر‬                  ‫رت‬                    ‫م ارزی‬        ‫ه ه‬
  ‫د از‪ casting‬در‬                ‫، ون ا‬            ‫ع ‪ int‬ا‬           ‫رت آ از‬                     ‫ی . از ای رو‬                    ‫ار ء‬
 ‫ل،‬           ‫نه‬         ‫،ه‬                      ‫ار در د‬             ‫ا‬             ‫. ای ا‬           ‫زي‬               ‫ذﺥ‬         ‫‪byte‬‬
                                                      ‫.‬         ‫دق ا‬          ‫، زه‬                  ‫ذﺥ‬                               ‫در‬
  ‫د‬      ‫ی ا‬         ‫‪casting‬‬               ‫ه داری ، ی از‬                      ‫ری‬                        ‫ا‬       ‫آ از‬        ‫ا‬        ‫در‬
                                                                                                    ‫ل زی :‬            ‫ن‬     ‫آ ؛ه‬
‫;05 = ‪byte b‬‬
‫)‪b = (byte‬‬          ‫;)2 * ‪(b‬‬

                                                                     ‫.‬       ‫٠٠١ ا‬          ‫و در‬                ‫ار‬     ‫ن‬                 ‫آ‬



                                                                                                ‫ارﺕ ء ا اع داد ه‬                     ‫ا‬
‫اي ار ء دارد آ در‬                             ‫ن‬             ‫ی‬        ، int           ‫ه‬short ‫ه و‬byte ‫ار ء‬                                 ‫و‬        ‫ﺝ وا‬
    ‫ و‬byte ‫دی‬             ‫م‬           ،       ‫ای‬                 :            ‫ح ذی ه‬                  ‫ا‬        ‫. ای‬                  ‫رات ر ی‬
‫ع‬           ‫ه از‬              ‫از‬          ‫ی‬        ‫،ا‬                .        ‫ی‬    ‫ ار ء‬int ،                             ‫اي آ‬                short
‫، در‬              float ‫ه از ع‬                              ‫از‬       ‫ی‬        ‫ی .ا‬        ‫ ار ء‬long                    ‫رت‬           ‫،آ‬            long
،            double ‫ه از ع‬                                  ‫از‬       ‫ی‬        ‫وا‬     ‫ی‬        ‫ ار ء‬float               ‫رت‬            ‫رت آ‬              ‫ن‬
                                                                                                              .‫د‬       ‫ ﺥ اه‬double ‫ه‬
        ‫د‬            ‫رت ار ء داد‬                    ‫ﺝ د در‬                    ‫دی‬   ‫ه ی از‬                          ‫ده آ‬         ‫ن‬            ‫زی‬
                                                                                     :             ‫دا‬                               ‫ن دی‬          ‫ر‬
class promote                     {
            public static void main(string args[ ]) {
                  byte b = 42;
                  char c = ’a’;
                  short s = 1024;
                  int i = 50000;
                  float f = 5.64f;
                  double d = .1234;
                  double result = (f * b) + (i / c) -                                              (d * s);
                  system.out.println((f *b) + " + " + (i / c) +" - "                                                             + (d * s));
                  system.out.println("result = " + result);
            }
    }

                                  : ‫دازی‬                                 ‫از‬          ‫ار ا اع داد ه در ای‬                        ‫د‬        ‫ر‬             ‫ای‬
double result = (f * b) + (i / c) -                                                  (d * s);



        ‫در ﺝ‬             .‫د‬                   float                  ‫ﺝ‬               ‫ی‬        ‫ ار ء‬float               b،f*b                      ‫در ﺝ‬
،d*s              ‫در ﺝ‬             .‫د‬                   ‫ی‬        int ‫ع‬                        ‫ﺝ‬           ‫و‬        ‫ی‬      ‫ ار ء‬int            c، i /c
             ‫ای‬     ‫ای‬    ‫ﺥ‬           ‫دو‬                     double                      ‫عﺝ‬       ‫و‬       ‫ی‬        ‫ ار ء‬double                s ‫ار‬
float‫ و‬int ‫و ی‬                                float                  .‫د‬                  ‫ر‬        double ‫ و‬int ، float                            ‫ار‬
             ‫ع‬       ‫آ‬        ‫ی‬           ‫ ار ء‬double                         double ‫ي ﺥ ی‬                    float                      .‫د‬       ‫ﺥ اه‬
                                                                                                                            .       ‫رت ا‬           ‫ی‬
‫رای ه‬


‫رت‬          ‫ك‬         ‫م‬     ‫ی ی‬        ‫از‬             ‫آ ارﺝ ع‬                 ‫عا‬       ‫هيه‬                 ‫وه از‬         ‫ه رای ،‬
‫ي‬                ‫يی‬             ‫رت‬              ‫را‬                 ‫ان رای ه ی از ا اع‬                        ‫د. در ﺝ وا‬
‫. رای ه‬          ‫ه‬          ‫د‬         ‫ﺥ د ن‬           ‫ی ای آ‬             ‫ه رای از‬                          ‫د. ه ی از‬          ‫ای د‬
                                       ‫.‬                   ‫ه‬                  ‫ت‬         ‫يا‬            ‫و‬     ‫اي‬                ‫روش‬
‫د ن در‬                    ‫د رای ه در ﺝ وا‬                      ‫.‬              ‫ی داری ، ا‬                  ‫++‪C/C‬‬           ‫ﺝ :ا‬
                                                                                                          ‫وت دارد.‬            ‫نز‬


                                                                                                            ‫ي‬        ‫رای ه ي ﺕ‬


‫رای اي ای د‬                ‫اي‬     ‫.‬        ‫عا‬        ‫ه يه‬                ‫از‬                       ‫ي« ، ا‬                 ‫ه رای »‬
    ‫رای ه ي‬           ‫ی‬         ‫مآ‬     ‫ی .‬          ‫ای د‬            ‫رد‬     ‫رای اي از ع‬                             ‫آ ،ا ا ی ی‬
                                                                                             ‫:‬            ‫رت زی ا‬             ‫ي‬
‫;] [‪type var-name‬‬



    ‫ده‬                          ‫ع داد ی ی‬            ‫آ . ع رای ،‬                             ‫ع رای را‬                ‫‪ type‬در ای‬
‫ع داد ه ی در رای‬                      ‫آ آ‬                          ‫آ . از ای رو ، ع رای‬                                   ‫رای را‬
    ‫ی‬        ‫ع ‪ int‬در زی‬          ‫م ‪ month-days‬از‬                        ‫ل، رای اي‬           ‫ان‬              ‫.‬       ‫ﺥ اه‬         ‫ذﺥ‬
                                                                                                                         ‫د:‬
‫;] [‪int month-days‬‬



    ‫د، ا در وا ه ز ه‬                       ‫رای اي ‪month-days‬‬                                          ‫ﺝ‬              ‫ی‬              ‫ا‬
        ‫ی‬   ‫د،‬             ‫ارده‬       ‫‪null‬‬          ‫، رای ‪ month-days‬آ‬                            ‫رای اي وﺝ د ارد. در‬
            ‫دی‬       ‫از‬     ‫ی‬     ‫رای اي‬             ‫‪ month-days‬را‬                      ‫اي‬        ‫.‬         ‫ار ا‬     ‫ون‬       ‫رای‬
                ‫‪month-days‬‬            ‫د از ‪ new‬ای د و ن را‬                         ‫ا‬    ‫رای را‬                ‫زی ، ی‬
                                                ‫.‬     ‫ا‬                            ‫اي‬    ‫اي‬           ‫وی‬            ‫ده . ‪، new‬‬
‫:‬          ‫رت زی ا‬                 ‫ي‬                ‫م آ ‪ new‬اي رای ه ي‬
‫;]‪array-var = new type [size‬‬

                ‫رای و‪، arry-var‬‬                                 ‫اد‬           ‫آ‬               ‫ع داد ه ، ‪size‬‬                           ‫آ‬                     ‫‪type‬‬
     ‫د‬         ‫رای ا‬                       ‫اي‬          ‫از‪new‬‬                 ‫اي‬    ‫،‬         ‫د. ی‬                             ‫رای‬             ‫آ‬            ‫رای ا‬
              ‫يآ‬                 ‫ی .‬                       ‫را‬            ‫داد‬                  ‫ی‬          ‫يآ‬                  ‫اد‬         ‫عو‬                ‫آ ، ی‬
         ‫. در ای‬                       ‫ارده‬                          ‫ر ﺥ دآ ر‬            ‫،‬          ‫ی‬                             ‫رای‬         ‫‪new‬‬                   ‫و‬
                          ‫د.‬                           ‫و ‪month-days‬‬                                 ‫ي از ا اد‬                         ‫رای ٢١‬               ‫لی‬
‫;]21[‪month-days = new int‬‬

 ‫.‬            ‫ا ر ﺥ اه دا‬                          ‫د‬       ‫رای اي از ٢١‬                ‫، ‪month-days‬‬                          ‫رت‬           ‫از اﺝ اي‬
                                                                ‫.‬        ‫ارده ﺥ اه‬                               ‫رای‬                      ‫م‬       ‫و،‬
 ‫.‬            ‫اي ا‬               ‫ی دو‬                            ‫رای‬     ‫: ای د ه‬            ‫آ‬           ‫ور‬         ‫را‬                            ‫ﻝ‬                 ‫ای‬
 ‫رای را‬                                 ‫، ی‬        ‫آ . دوم ای‬                ‫ی‬           ‫رد‬              ‫ي از رای‬                     ‫، ی‬             ‫ای‬
                                               ‫ده .‬                    ‫رای‬               ‫ده و ن را‬                                 ‫د از ‪new‬‬                     ‫ا‬
     ‫ی‬                       ‫م‬                ‫.ا‬       ‫ی‬                          ‫رت ی‬                       ‫م َ رای ه در ﺝ وا‬                    ‫ازای رو،‬
                                  ‫.‬        ‫ﺥ اه‬            ‫ر‬                      ‫ع‬                 ‫. ای‬            ‫ان‬            ‫،‬                        ‫ای ن‬
          ‫ا‬                  ‫را‬        ‫آ و ،‬                   ‫در‬                 ‫آ دن ای آ‬                              ‫رای ،‬                             ‫از‬
 ‫ان‬                  ‫د.‬                ‫ز‬                   ‫م رای ه از‬                  ‫. ای آ‬                    ‫دا‬               ‫د‬           ‫ه ی از‬
                      ‫ده .‬                             ‫‪month-days‬‬                                 ‫دو‬         ‫ار ٨٢ را‬                  ‫رت زی‬                ‫ل،‬
 ‫;82 = ]1[‪month-days‬‬

               ‫د.‬            ‫رم(‬                       ‫ر ٣)‬                  ‫در ای آ‬                    ‫ار ذﺥ‬            ‫ی‬                    ‫زی ه‬
 ‫;)]3[‪system.out.println(month-days‬‬

 ‫اد‬            ‫از‬              ‫، رای اي‬                         ‫ا . ای‬            ‫آر د‬                  ‫زی‬            ‫در‬                              ‫ﻝ‬         ‫م‬
                                                                                                              ‫آ .‬            ‫ای د‬                 ‫روزه ي ه‬
 ‫.‪// Demonstrate a one-dimensional array‬‬
 ‫‪class array‬‬                     ‫{‬
              ‫{ )] [‪public static void main(string args‬‬
                     ‫;] [‪int month-days‬‬
                     ‫;]21[‪month-days = new int‬‬
                     ‫;13 = ]0[‪month-days‬‬
                     ‫;82= ]1[‪month-days‬‬
month-days[2] = 31;
             month-days[3] = 30;
             month-days4] = 31;
             month-days[5] = 30;
             month-days[6] = 31;
             month-days[7] = 31;
             month-days[8] = 30;
             month-days[9] = 31;
             month-days[10] = 30;
             month-days[11] = 31;
             system.out.println("April has" + month-days[3] + " days.");
        }
}


    ‫آ‬        ‫ده . ه ن‬           ‫ی‬        ‫وری را‬         ‫اد روزه ي‬        ،           ‫آ‬        ‫را اﺝ ا‬             ‫ای‬     ‫و‬
، ‫وری‬             ‫اد روزه ي‬             ‫ای‬    ،‫د‬          ‫ز‬           ‫رای ه ي ﺝ وا از‬                    ‫، ای آ‬
                                                                             .           ‫ ی ٠٣ ا‬mounth-days[3]
            : ‫رت زی وﺝ د دارد‬                      ‫ﺥ د رای‬
                                                       ِ                         ‫رای‬                 ‫ی‬          ‫ا ن آ‬
int month-days[ ] = new int[12];

                       . ‫اي ﺝ وا ﺥ اه دی‬                ‫هي‬           ‫ً در‬                 ‫آ‬      ‫ا‬       ‫، رو‬          ‫روش‬
     ‫ه زی دي‬          ‫ی ا م ای آ ر‬            .‫د‬        ‫ارده‬     ،‫آ دن‬           ‫ی‬        ‫م‬    ‫ان ه‬           ‫رای ه را‬
         ‫دو آ د‬            ‫دی‬   ،‫اي ای آ ر‬         .‫د دارد‬       ‫اي ا اع داد ه ي ی و‬                      ‫م ن‬        ‫رو ا‬
. ‫آ‬           ‫ﺝ ا‬     ‫رای را از ی ی‬                     ‫دی‬      ،‫.آ ه‬                     ‫ﺝا‬         ‫از ی ی‬       ‫وآ‬
‫اي‬          ‫يآ‬             ‫اي‬           ‫يآ‬          ‫د‬            ‫اي ای د‬                      ‫ر ﺥ دآ ر‬                 ‫رای‬
              .      new‫د از‬             ‫ا‬   ‫. زي‬               ‫، وﺝ د دا‬            ‫آ‬                    ‫ارده اوﻝ‬
‫رای اي از‬           ‫ل زی‬    ،       ‫آ‬                   ‫اي ه‬    ‫اد روزه را‬                      ‫اي‬       ،‫ل‬     ‫ان‬
                                             : ‫آ‬         ‫ارده‬      ‫اد روزه‬                 ‫ای د و‬               ‫ع ا اد‬
// An improvied version of the previous program.
class AutoArray             {
        public static void main(string args[ ]) {
                  int month-days[ ] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31,
30, 31 };
                  system.out.println("April has" + month-days[3] + " days.");
‫}‬
‫}‬

                        ‫از ن را ﺥ اه دی .‬                    ‫ل‬        ‫، ه ن ﺥ وﺝ‬          ‫آ‬           ‫را اﺝ ا‬                            ‫و‬
‫و‬                 ‫ود رای‬             ‫دی در ﺥ رج از‬                   ‫ذﺥ‬     ‫د ا ام‬         ‫آ آ‬              ‫ل‬        ‫تآ‬             ‫ﺝ وا‬
    ‫دآ‬                   ‫ن‬           ‫ا‬     ‫آ‬       ‫ز ن اﺝ اي ﺝ وا آ ل‬                      ‫.‬                 ‫ارﺝ ع ا‬                     ‫ی‬
‫ز ن اﺝ اي ﺝ وا‬                             ‫ل،‬        ‫ان‬            ‫ار دار .‬        ‫ود ن‬             ‫ه ي رای در‬             ‫م ای آ‬
‫م‬            ‫دآ‬                  ‫ن‬         ‫ا‬     ‫آ‬          ‫ه ي ‪ mounth-days‬را آ ل‬                         ‫ار ه ی از ای آ‬
    ‫ود رای‬              ‫ﺥ رج از‬                             ‫اه‬            ‫ار دار . ا‬      ‫و ١١‬                        ‫در ز‬
    ‫اﺝ‬           ‫ﺥ يز ن‬                  ‫ل رای ( ،‬          ‫از‬       ‫ر‬     ‫اد‬     ‫ی ا‬          ‫اد‬     ‫)ا‬                  ‫دا‬             ‫د‬
                                                                                                                      ‫.‬            ‫ﺥ اه‬
‫اي از ا اد‬                                                  ‫آ . ای‬         ‫د‬     ‫يا‬             ‫رای‬        ‫آ از ی‬         ‫ل دی‬           ‫ی‬
                                                                                                            ‫آ :‬                         ‫را‬
‫.‪// Average an array of values‬‬
‫‪class Average‬‬                    ‫{‬
         ‫{ )] [‪public static void main(string args‬‬
                      ‫;} 5.41 ,4.31 ,3.21 ,2.11 ,1.01{ = ] [‪double nums‬‬
                      ‫;0 = ‪double result‬‬
                      ‫;‪int i‬‬


                      ‫)++‪for(i =0; i < 5; i‬‬
                          ‫;]‪result = result + nums[i‬‬


                  ‫;)5 / ‪system.out.println("Average is" + result‬‬
         ‫}‬
‫}‬

                                                                                                           ‫ي‬          ‫رای ه ي چ‬


         ‫ن رای ه ي‬                   ‫رای ه ه‬         ‫. ای‬        ‫ي در ﺝ وا، رای اي از رای ه ه‬                              ‫رای ه ي‬
‫وﺝ د دارد.‬                   ‫وت ﺝ‬               ‫آ ﺥ اه دی ،‬                     ‫.ا ،ه ن‬         ‫ر‬                     ‫ﻝ‬            ‫ي‬
     ‫دو آ و‬              ‫ه را‬            ‫از ای آ‬       ‫آ ،ه ی‬               ‫ی‬     ‫ي را‬                 ‫رای‬                         ‫اي‬
         ‫.‬        ‫ا‬          ‫ی‬       ‫م ‪twoD‬‬            ‫ي‬         ‫رای دو‬         ‫رت زی ی‬        ‫ل ، در‬           ‫ان‬             ‫.‬    ‫ی‬
int twoD[ ] [ ] = new int[4] [5]

‫ر‬                 ‫ی‬        . ‫ده‬                    twoD         ‫داد و ن را‬                      ‫× را‬          ‫رای‬     ‫ی‬        ‫رت‬
٣-١               ‫ن‬        ‫رای ه‬           ‫د. ای‬            ‫زي‬         ‫ د‬int ‫رت رای اي از رای ه ي ع‬
                                                                                                                          .‫د‬    ‫ﺥ اه‬
‫اري‬           ‫ر‬            ‫ی‬                   ‫و از‬        ‫را‬          ‫رای را از‬       ‫ای‬               ‫زی ، ه ی از‬
                                                                            : ‫ده‬            ‫ی‬         ‫دی را‬     ‫ن‬              ‫د و‬
// Demonstrate a two-dimensional array.
class TwoDArray                        {
         public static void main(string args[ ]) {
              int twoD[ ] [ ]= new int[4] [5];
              int i, j, k = 0;
              for(i=0; i < 4; i++)
                          for(j=0; j < 5; j++)                    {
                                twoD[i] [j] = k;
                                k++;
                           }
              for(i=0; i < 4; i++)                         {
                           for(j=0; j < 5; j++)
                                  system.out.print(twoD[i] [j] + " ");
                           system.out.println( );
                      }
              }
     }

                                                                                   :            ‫زی ا‬                            ‫ﺥ وﺝ‬
0        1    2       3    4
5        6    7       8    9
10       11       12       13     14
15       16       17       18     19



‫اول‬                                    ‫ا‬        ‫ده ، آ‬                        ‫ي‬                 ‫رای‬     ‫ی‬     ‫اي را‬                  ‫و‬
     . ‫ده‬                         ‫رﺝا‬                  ‫ا‬          ‫را‬        ‫ي دی‬   . ‫آ‬                      ‫ی ( را‬                   )
. ‫ی‬                             ‫رای‬        ‫ی‬       ‫م‬   ‫ه‬        twoD ‫اول‬                    ، ‫رت زی‬             ‫ل ، در‬         ‫ان‬
                                                                      . ‫ی‬                             ‫رد‬            ‫دوم‬
int twoD[ ] [ ]= new int[4] [ ];
    twoD[0] = new int[5];
    twoD[1] = new int[5];
    twoD[2] = new int[5];
    twoD[3] = new int[5];



                                                  ‫نه‬              ‫آ‬            ،       ‫را‬           ‫هي‬         ‫ای آ‬

                                            [0][0]        [0][1]         [0][2]        [0][3]           [0][4]



                                                 [1][0]         [1][1]       [1][2]         [1][3]        [1][4]
،                ‫هي‬    ‫ای آ‬
                 ‫آ‬                               [2][0]         [2][1]       [2][2]         [2][3]        [2][4]
             ‫ه‬


                                                 [3][0]         [3][1]       [3][2]         [3][3]        [3][4]
int twoD[] [] = new int[4] [5]; :                  ‫ض ای‬


    ‫م ای آ ر در‬       ‫ارد ، ا ا‬        ‫ی‬         ‫دوم رای ه ه‬                  ‫ﺝا‬                    ‫ل‬      ‫در ای‬           ‫ا‬
          ‫رد‬          ‫ا د رای ه را‬            ‫ل،و‬          ‫ان‬            .         ‫د‬            ‫ا‬                  ‫ای دی‬
    .      ‫اه دا‬      ‫اي ه ی از ا د‬                    ‫اد‬        ‫ه ن‬                     ‫ده ، ز‬
        ‫رای ه ی از رای‬        ‫ي دروا‬         ‫آ رای ه ي‬                ‫، از‬                  ‫از ای‬          ‫آ‬          ‫ه ن‬
    ‫ي‬       ‫رای دو‬     ‫زی ی‬            ،‫ل‬     ‫ان‬            .            ‫آ ل‬             ‫ل ه رای‬               ،       ‫ه ه‬
                                             .         ‫وي‬          ‫دوم‬       ‫آ آ در ن ا از ه ي‬                        ‫ای د‬
    // Manually allocate differing size second dimensions.
    class TwoDAgain            {
          public static void main(string args[ ]) {
               int twoD[ ] [ ]= new int[4] [ ];
               twoD[0] = new int[1];
               twoD[1] = new int[2];
‫;]3[‪twoD[2] = new int‬‬
                 ‫;]4[‪twoD[3] = new int‬‬
                 ‫;0 = ‪int i, j, k‬‬
                 ‫)++‪for(i=0; i < 4; i‬‬
                          ‫)++‪for(j=0; j <i+1; j‬‬                             ‫{‬
                                    ‫;‪twoD[i] [j] = k‬‬
                                    ‫;++‪k‬‬
                           ‫}‬
                  ‫)++‪for(i=0; i < 4; i‬‬                          ‫{‬
                          ‫)++‪for(j=0; j <i+1; j‬‬
                                    ‫;) (‪system.out.println‬‬
                           ‫}‬
                      ‫}‬
             ‫}‬

                                                                                     ‫:‬       ‫ا‬         ‫ن داد‬           ‫در ذی‬          ‫ﺥ وﺝ‬
    ‫0‬
    ‫2 1‬
    ‫5 4 3‬
    ‫9 8 7 6‬

                                           ‫.‬       ‫زی ا‬             ‫رت‬                   ‫د‬         ‫ای د‬                    ‫و‬       ‫رای اي آ‬


                                                       ‫]0[]0[‬
                                                       ‫]0[]1[‬       ‫]1[]1[‬
                                                       ‫]0[]2[‬       ‫]1[]2[‬               ‫]2[]2[‬
                                                       ‫]0[]3[‬       ‫]1[]3[‬               ‫]2[]3[‬         ‫]3[]3[‬


‫هي‬                ‫ري از‬               ‫اي‬               ‫ا‬        ‫(‬                ‫ل )ی‬                   ‫ي‬              ‫د از رای ه ي‬          ‫ا‬
‫ر آ ر ان‬              ‫ه ﺥ فا‬                           ‫ي در‬                 ‫ا آ وﺝ د رای ه ي‬                       ‫،‬                 ‫آ ر دي‬
‫ي‬       ‫رآر‬                    ‫ای‬         ‫ﺥ از‬             ‫در‬       ‫ا‬                            ‫ای وﺝ د ، رای ه ي‬              ‫د.‬     ‫ﺥ اه‬
‫آ‬                ‫دا‬       ‫ر ر‬                  ‫ي‬       ‫رای دو‬           ‫ز‬             ‫ل،ا‬         ‫ان‬           ‫.‬         ‫ار‬    ‫د‬      ‫رد ا‬
‫د‬         ‫رد ا‬        ‫ش‬               ‫م‬            ‫، رای اي آ‬                   ‫)ی‬                ‫ار دا‬                        ‫ﺥ از‬
                                    ‫ی .‬            ‫ر‬                ‫آ‬            ‫را‬               ‫رت رای ه ي‬               ‫( ، در ن‬
‫دی اوﻝ ه ی‬                       ‫ا‬   ‫م ای آ ر، آ‬             ‫اي ا‬    ‫.‬    ‫ا‬              ‫يه‬            ‫رای ه ي‬         ‫ارده‬
‫،‬               ‫ار ه‬        ‫دآ‬               ‫ای د‬            ‫ی‬          ‫زی‬           ‫. در‬     ‫ی‬     ‫دو آ د‬             ‫از ا د را‬
    ‫دی‬            ‫و‬         ‫آ‬                ‫ﺝ دا‬                  ‫.ه‬        ‫نا‬          ‫و‬        ‫هي‬          ‫ب ای آ‬
                                     ‫د آ .‬         ‫ارده اوﻝ ا‬            ‫اي‬          ‫ا‬             ‫ﻝ ال ، از ﺝ ت ﺝ ي‬
‫.‪// Initialize a two-dimensional array‬‬
‫‪class Matrix‬‬                ‫{‬
         ‫{ )] [‪public static void main(string args‬‬
            ‫{ = ] [ ] [‪double m‬‬
                        ‫,} 0*3 ,0*2 ,0*1 ,0*0 {‬
                        ‫,} 1*3 ,1*2 ,1*1 ,1*0 {‬
                        ‫,} 2*3 ,2*2 ,2*1 ,2*0 {‬
                        ‫} 3*3 ,3*2 ,3*1 ,3*0 {‬
                 ‫;}‬
                 ‫;‪int i, j‬‬
            ‫)++‪for(i=0; i < 4; i‬‬                         ‫{‬
                       ‫)++‪for(j=0; j <i+1; j‬‬
                                ‫;)" " + ]‪system.out.print(m[i] [j‬‬
                       ‫;) (‪system.out.println‬‬
                        ‫}‬
                  ‫}‬
            ‫}‬

                                                   ‫، ﺥ وﺝ ذی را ﺥ اه دی :‬                     ‫آ‬      ‫را اﺝ ا‬                 ‫ای‬     ‫و‬
‫0.0‬       ‫0.0‬         ‫0.0‬       ‫0.0‬
‫0.0‬       ‫0.1‬         ‫0.2‬       ‫0.3‬
‫0.0‬       ‫0.2‬         ‫0.4‬       ‫0.6‬
‫0.0‬       ‫0.3‬         ‫0.6‬       ‫0.9‬



                        ‫دی اوﻝ‬                      ‫اي آ در‬                   ‫از رای‬              ‫،ه‬               ‫رآ‬             ‫ه ن‬
                                                                                                         ‫د.‬        ‫ار‬        ‫،‬          ‫ا‬
    ‫زی ی‬                ‫دازی . در‬              ‫ي‬                 ‫از آ ر د رای ه ي‬                 ‫ل دی‬                 ‫ر‬            ‫ای‬
‫در ه ن‬                      ‫ه يه‬         ‫ب ای آ‬                                ‫د.‬            ‫× × ٣ ای د‬          ‫ي‬                ‫رای‬
                                ‫د.‬           ‫داد‬     ‫ی‬                              ‫ی ، ای‬        ‫د و در‬                ‫ذﺥ‬
‫.‪// Demonstrate a two-dimensional array‬‬
class ThreeDMatrix            {
    public static void main(string args[ ]) {
        int threeD[ ] [ ] [ ] = new int[3] [4] [5];
        int i, j, k;
        for(i=0; i <3; i++)
                  for(j=0; j <4; j++)
                         for(k=0; k < 5; k++)
                             threeD[i] [j] [k] = i * j * k;
        for(i=0; i <3; i++)           {
                  for(j=0; j <4; j++)     {
                         for(k=0; k < 5; k++)
                             system.out.print(threeD[i] [j] [k] + " ");
                         system.out.println( );
                   }
             }
        }


                                                       :‫د‬   ‫زی ﺥ اه‬         ‫ﺥ وﺝ‬
0   0   0    0     0
0   0   0    0     0
0   0   0    0     0
0   0   0    0     0


0   0   0    0     0
0   1   2    3     4
0   2   4    6     8
0   3   6    9     12


0   0   0    0     0
0   2   4    6     8
0   4   8    12    16
0   6   12   18         24


                                                       ‫روش دی ي اي ﺕ ی آ دن رای ه‬


                             :‫د آ د‬   ‫رای ا‬   ‫آ دن ی‬   ‫ی‬    ‫ان اي‬     ‫از روش دی ي‬
‫;‪type[ ] var-name‬‬

             ‫رای .‬              ‫م‬        ‫و‬                      ‫ار‬       ‫ع رای‬                   ‫از‬            ‫ه‬        ‫در ای روش ، آ و‬
‫;]3[‪int a1 = new int‬‬
‫;]3[‪int a2 = new int‬‬

                                                                                                         ‫:‬     ‫دل ه‬                 ‫ذی‬           ‫ری‬
‫;]4[ ]3[‪char twod1[ ] [ ] = new char‬‬
‫;]4[ ]3[‪char[ ] [ ] twod2 = new char‬‬



            ‫:‬         ‫.‬                  ‫ی‬     ‫ع‬        ‫ی رای ه‬                  ‫ن‬        ‫آ ه‬            ‫ا‬              ‫ا‬     ‫ای روش اي‬
‫‪int[ ] nums, nums2, nums3; // create three arrays‬‬



 ‫رت زی‬               ‫ن‬      ‫ه‬          ‫ل‬                    ‫آ .‬             ‫ی‬         ‫رای اي از ع ‪int‬‬                                        ‫رت‬
                                                                                                                                             ‫:‬         ‫ا‬
‫‪int name[ ], name2[ ], nume3[ ]; // create three arrays‬‬



       ‫.‬        ‫ا‬               ‫از ی‬            ‫ار‬              ‫ان‬              ‫رای‬    ‫آ دن ی‬                      ‫اي‬               ‫ای روش ه‬


                                                                                                               ‫در ر رﺵ ه‬                              ‫چ‬


                ‫ا اع داد ه و رای ه ه‬                                     ‫، در‬                    ‫ﺝ‬                 ‫ا‬            ‫آ‬                ‫ه ن‬
           ‫آ ﺝ وا از‬              ‫نا‬                   ‫ای‬        ‫. دﻝ‬       ‫ح‬          ‫ه ی داد ه ي ع ‪string‬‬                              ‫در ر ر‬
‫اي ﺝ وا‬             ‫آ داد ه ي ر‬               ‫نا‬            ‫ا‬           ‫ل. وا‬                                ‫آ - اﻝ‬
‫ر،‬                  ‫ی وه‬            ‫ر‬              ‫د‬            ‫از ا اع داد ه ي ی و‬                      ‫،ی‬                          ‫آ ‪string‬‬
‫از‬         ‫حآ‬             ‫و ارا‬                        ‫ض‬             ‫در‬          ‫ی .‬        ‫ر‬                          ‫رای اي از آ راآ ه‬
 ‫، ای‬                 ‫. ی‬           ‫ءه‬                          ‫هي‬          ‫ﺥ از وی‬                  ‫ی‬         ‫م‬             ‫ع داد ه ،‬                ‫ای‬
‫اي‬         ‫. ای وﺝ د ،‬                       ‫ار ﺥ اه‬                 ‫ر‬     ‫رد‬         ‫ه‬              ‫ر‬        ‫از‬         ‫و‬     ‫ع در ی‬
 ‫ارا‬        ‫ذی در ای‬                ‫حﺥ‬         ‫د آ ،‬                 ‫د ا‬        ‫هي‬        ‫از ر‬                ‫هي‬               ‫در‬        ‫ا‬
                                                                                                                                     ‫.‬           ‫ا‬
‫رای ه ي‬              ‫ا‬                         ‫د. ه‬                  ‫د‬        ‫اي ا‬        ‫هير‬                  ‫آ دن‬            ‫ی‬           ‫اي‬        ‫از ‪string‬‬
     ‫ان‬           ‫را‬                                    ‫ل‬                                ‫اي آ‬            ‫ير‬             ‫آ .ﺙ‬           ‫ی‬            ‫اي را‬       ‫ر‬
‫ع‬        ‫هي‬                  ‫ی‬            ‫ان‬             ‫ه ي ع ‪ string‬را‬                               ‫داد.‬                ‫ه ي ع ‪string‬‬
     ‫ن در)(‪println‬‬                        ‫ان ر‬                ‫ان‬                     ‫ءه ي ع ‪ string‬را‬                          ‫داد.‬                      ‫‪string‬‬
                                                                         ‫ﺝ آ :‬                ‫رت زی‬            ‫دو‬        ‫ل،‬        ‫ان‬                    ‫آ ر د.‬
‫;"‪string str =" this is a test‬‬
‫;)‪system.out.println(str‬‬



    ‫ی . ای‬                            ‫ن‬             ‫"‪"this is a test‬‬                    ‫آ ر‬              ‫از ع ‪ string‬ا‬                                ‫‪ str‬در ای‬
                                                                         ‫د.‬             ‫داد‬        ‫ی‬       ‫رت )(‪println‬‬                              ‫و‬          ‫ر‬



                                                                     ‫زان ++‪C/C‬‬                                ‫اي‬        ‫روه‬                 ‫اي در ر‬


          ‫از‬          ‫آ ای ز‬                   ‫دا‬           ‫رت‬               ‫، در ن‬                ‫++‪C/C‬‬                        ‫زان‬                       ‫از‬    ‫ا‬
‫د‬              ‫ای ا‬          ‫. دﻝ‬         ‫ا‬             ‫روه‬                   ‫ا ر اي‬               ‫ه‬       ‫آ . ا ، در ای‬                                      ‫روه‬
      ‫رت در‬                      ‫)ی‬                 ‫ز‬                ‫د از‬          ‫آ وا‬                                  ‫روه‬                ‫: ﺝ وا از‬           ‫ا‬
                         ‫،‬                          ‫ی‬            ‫د‬            ‫زان‬                                   ‫روه ی آ‬                         ‫، ﺝ وا از‬
‫ه ي ﺝ وا ا ن‬                                  ‫م ای آ ر‬           ‫اآ ا‬              ‫آ ،‬                     ‫روه‬             ‫ا از‬                      ‫آ (. ﺝ وا‬
 ‫آ‬                   ‫دا‬          ‫ﺥ‬            ‫ی )‬        ‫ن اﺝ ا‬                           ‫اﺝ اي ﺝ وا وآ‬                                                   ‫ده‬
     ‫ا‬            ‫درس ه ی آ‬                                              ‫ارﺝ ع دا‬                   ‫از‬         ‫ه در‬                ‫ا‬                 ‫روه‬
                                                                                              ‫(.‬           ‫ز ن اﺝ اي ﺝ وا‬                             ‫ﺥ رج از‬
     ‫رآ‬                               ‫ا‬                 ‫آ ،‬              ‫د‬     ‫روه ا‬                   ‫د اي از‬             ‫ر‬                ‫ن ++‪C/C‬‬
     ‫. ﺝ وا‬                           ‫ی . ا ای‬                ‫ر‬                ‫اي ﺝ وا‬                 ‫ﺝ‬            ‫، ای اد‬            ‫دادن‬              ‫آ از د‬
‫رو‬               ‫ی‬           ‫ز‬                 ‫،ه‬             ‫اﺝ ا‬                 ‫ود‬          ‫در‬          ‫و‬        ‫آ‬      ‫ا‬                    ‫ا‬        ‫اي‬
                                                                              ‫د.‬         ‫اه‬         ‫دي‬                  ‫و از آ ر د‬                   ‫اه دا‬
‫ه‬



                      ‫:‬   ‫وی ای‬


              ‫ه‬
              ‫ه‬
              ‫ه‬
    ‫ا‬   ‫را‬    ‫ه‬
‫ﻝ‬             ‫ه‬


              ‫؟‬
                  ‫م‬
             ‫ر د ا‬
‫آ د‬         ‫و زی‬      ‫ر‬       ‫ان‬            ‫ه ي ن را‬                     ‫زی دي دارد.‬                ‫هي‬          ‫ﺝ وا‬
‫را‬    ‫ای وی‬        ‫دارد آ‬          ‫ا‬                    ‫. ﺝ وا ه‬             ‫اي و‬           ‫، را‬          ‫،‬          ‫:‬
                                                                                                ‫آ .‬            ‫ی ی‬
‫ه‬      ‫و يﺝ‬            ‫.ا‬     ‫ي ‪ C#/C++/C‬آ ر‬               ‫نز‬            ‫ه در ﺝ وا ه‬                           ‫ﺝ :‬
                                                                                                          ‫وﺝ د دارد.‬


                                                                                                     ‫هيﺡ‬


‫د‬     ‫آر‬              ‫رود ، در ﺝ ت‬            ‫آر‬        ‫آ در ﺝ‬           ‫ر‬       ‫ه ن‬                      ‫هي‬
                                                                                                           ‫.‬



                                                                                                                     ‫+‬
                                                                                                                     ‫-‬
                                                                                            ‫ب‬                        ‫*‬
                                                                                                                     ‫/‬
                                                                                                                     ‫%‬
                                                                                        ‫ا‬       ‫ا‬                 ‫++‬
                                                                                        ‫و‬                         ‫=+‬
                                                                                   ‫و‬                              ‫=-‬
                                                                                       ‫ب و‬                        ‫=*‬
                                                                                   ‫و‬                              ‫=/‬
                                                                             ‫و‬                                    ‫=%‬
                                                                                            ‫آ ه‬                   ‫--‬



‫ع‬     ‫داد ه ي‬        ‫ان ه ا‬            ‫را‬     ‫.‬    ‫دي‬      ‫ی از ع‬                      ‫هي‬                 ‫هي‬
‫ن ‪ char‬در‬       ‫د،‬     ‫آر‬     ‫ع ‪char‬‬          ‫روي داد ه ي‬           ‫ان‬             ‫د،ا‬          ‫آر‬        ‫‪Boolean‬‬
                                                                ‫.‬                ‫‪int‬‬                 ‫زی‬        ‫ﺝ وا ا‬
‫پی‬       ‫هيﺡ‬


‫اي داد‬        ‫آ‬   ‫آ‬           ‫اي‬      ‫–ه ن‬        ،‫ب‬      ، ‫ی‬       ، ‫ی –ﺝ‬             ‫هي‬
  . ‫آ‬                 ‫ش را‬            ‫دارد آ‬       ‫می‬     ‫"-" ی‬            . ‫ر داری‬   ‫دي ا‬      ‫هي‬
         ،‫د‬            ‫د‬     ‫آر‬          ‫)/( داد ه ي‬                        ‫آ و‬            ‫دا‬    ‫ﺥ‬
                                                              .‫د‬     ‫ري ﺥ اه‬      ‫ا‬
‫ا اد‬              ‫وت‬              ‫ه‬     ‫ده . ای‬    ‫ن‬     ‫را‬          ‫هي‬           ، ‫د زی‬
                                                  . ‫ده‬    ‫ن‬        ‫ري را‬     ‫ا اد ا‬        ‫و‬
// Demonstrate the basic arithmetic operators.
class BasicMath {
public static void main(String args[] ){
// arithmetic using integers
System.out.println("Integer Arithmetic");
int a = 1 + 1;
int a = a * 3;
int a = b / 4;
int a = c - a;
int a =- d;
System.out.println("a = " + a);
System.out.println("a = " + b);
System.out.println("a = " + c);
System.out.println("a = " + d);
System.out.println("a = " + e);
// arithmetic using doubles
System.out.println("nFloating Point Arithmetic");
double da = 1 + 1;
double db = da * 3;
double dc = db / 4;
double dd = dc - a;
double de =- dd;
System.out.println("da = " + da);
System.out.println("db = " + db);
System.out.println("dc = " + dc);
System.out.println("dd = " + dd);
System.out.println("de = " + de);
}
}



                                      :        ‫رت زی ا‬         ‫ﺥ وﺝ‬       ‫از اﺝ اي‬
integer Arithmetic
a=2
b=6
c=1
d=-1
e=1
floating point arithmetic
da=2
db=6
dc=1.5
dd=-0.5
de=0.5



                                                                      ‫ﺕ‬


‫اي‬     ‫ان ه‬   ‫را‬        ‫دا . ای‬           ‫را‬                   ،%،
               .‫آ ر د‬             ‫اي ا اع داد ه ي‬        ‫ور ، و ه‬         ‫ري‬   ‫ا اد ا‬


// Demonstrate the % operator.
class Modulus {
public static void main(String args[] ){
int x = 42;
double y = 42.3;
System.out.println("x mod 10 = " + x % 10);
System.out.println("y mod 10 = " + y % 10);
}
}
‫:‬                ‫زی‬                           ‫ﺥ وﺝ‬
‫2 = 01 ‪X mod‬‬
‫52.2 = 01 ‪Y mod‬‬

                                                                                                         ‫هيﺕ‬


                      ‫را‬                 ‫ان ی‬            ‫د از‬            ‫ا‬     ‫اي دارد آ‬         ‫ه ي وی‬                ‫ﺝ وا‬
 ‫اوﻝ‬       ‫زي‬               ‫ارد زی در‬     ‫ن‬          ‫ر‬   ‫،‬      ‫دا‬                   ‫آ ا‬         ‫د. ه ن‬                ‫آ‬
                                                                                                                            ‫:‬
‫;4 + ‪a = a‬‬

                                                ‫:‬            ‫زی‬                 ‫ان‬         ‫را در ﺝ وا‬             ‫رت‬
‫;4 =+ ‪a‬‬

‫ار ‪a‬‬       ‫:‬       ‫نا‬      ‫رت ی‬      ‫د ه دو‬          ‫.‬   ‫ا‬           ‫د‬        ‫"=+" ا‬              ‫از‬         ‫رت‬         ‫در‬
                                                                         ‫ده .‬             ‫ا ای‬     ‫ا از ٤ وا‬               ‫را‬
                                                                                                  ‫:‬      ‫ل ه ی دی‬
‫;2 % ‪a = a‬‬
‫;2 =% ‪a‬‬

  ‫رت‬             ‫ﺝ د . از ای رو ، ه‬        ‫ی ي‬               ‫هي‬                 ‫م‬     ‫اي‬                     ‫هي‬
                                                                                                                  ‫زی‬
‫;‪var = var op expression‬‬

                                                             ‫آ د:‬             ‫ز ی‬      ‫رت زی‬                 ‫ان‬            ‫را‬
‫;‪var op= expression‬‬

                                                                             ‫دو ی دار .‬                      ‫هي‬
       ‫.‬       ‫دل ﺥ د ه‬      ‫"‬     ‫اآ " مآ‬          ‫د،‬            ‫ﺝ ی‬                ‫ري‬          ‫آر ی‬             ‫١ – در‬
 ‫ای‬        ‫ﺥ‬      ‫.‬       ‫دﻝ ن ا‬    ‫از‬          ‫ز ن اﺝ اي ﺝ وا ، آ ر‬                       ‫در‬         ‫زي‬          ‫٢– د‬
                                 ‫اي ﺝ وا ﺥ اه دی .‬           ‫هي‬                 ‫ه را در‬                 ‫ای‬        ‫د ی ا‬


                                                                                                       ‫وآه‬             ‫ا ای‬
‫ه‬                ‫آ ﺥ اه دی ، ای‬                          ‫.ه‬        ‫ه‬        ‫وآه‬          ‫ه ي ا ای‬                     ‫"++" و "--" ،‬
    ‫د ای‬                    ‫ور د‬           ‫ﺥ د را‬                 ‫ﺥ ا .‬        ‫ﺝ اب‬               ‫را آ‬           ‫دار آ‬             ‫وی‬                     ‫ﺥ‬
                                                                                                                 ‫آ .‬             ‫ز‬                        ‫دو‬
‫ﺥ د‬                   ‫از‬         ‫ی وا‬                   ‫آه‬           ‫ا ای .‬            ‫ﺥ د‬                           ‫، ی وا‬             ‫ا ای‬
                                                                                           ‫رت زی :‬               ‫ل،‬         ‫ان‬               ‫آه .‬
‫;1 + ‪x = x‬‬

                                         ‫آ د:‬            ‫ز ی‬        ‫رت ذی‬                        ‫ا ای‬                ‫د از‬        ‫ان ا‬                     ‫را‬
‫;++‪x‬‬

                                                                                                                                             ‫:‬            ‫ه‬
‫;1 – ‪x = x‬‬
‫;--‪x‬‬

‫(و‬                    ‫از‬                       ‫رت ‪) postfix‬‬                            ‫ا‬                 ‫آ‬           ‫ﺝ‬     ‫ه از ای‬                        ‫ای‬
    ‫ه‬           ‫ﻝ ي‬             ‫. در‬          ‫ده‬                         ‫،‬         ‫(‬               ‫از‬                       ‫ر ‪) prefix‬‬                    ‫ه‬
    ‫وی آ ه‬                 ‫ه ي ا ای‬                          ‫م ه ي ‪ postfix‬و ‪ prefix‬وﺝ د ارد. ا ، و‬                                                   ‫و‬
 ‫ای‬            ‫ار ،‬         ‫ﺙ‬           ‫، وﻝ‬        ‫ﺝ‬        ‫رت و‬             ‫، در ن‬                     ‫ر‬       ‫ﺝ ي‬             ‫از ی ﺝ‬
‫د‬          ‫ﺝ يا‬             ‫در ﺝ‬                ‫ار‬        ‫از‬        ‫از‬            ‫م ‪، prefix‬‬             ‫. در‬            ‫م وﺝ د ﺥ اه دا‬                   ‫دو‬
‫آر‬             ‫ﺝ ي‬              ‫در ﺝ‬                ‫ار‬        ‫م ‪، postfix‬‬           ‫ی . در‬                   ‫ی آه‬           ‫ا ای‬                     ‫د،‬
                                               ‫ل:‬            ‫ان‬          ‫د.‬                ‫داد‬                                  ‫د،و‬                   ‫د‬
‫;24 = ‪x‬‬
‫;‪y = ++x‬‬

    ‫ار ‪x‬‬                           ‫از‬              ‫ا ای‬             ‫اآ‬        ‫ی ،‬                            ‫‪y‬‬        ‫ار ٣٤‬              ‫ﻝ‬           ‫در ای‬
                                  ‫:‬                  ‫رت زی‬          ‫دل دو‬          ‫‪y= ++x‬‬                    ‫د. از ای رو‬                         ‫م‬    ‫‪y‬ا‬
‫;1 + ‪x = x‬‬
‫;‪y = x‬‬

                                                                                       ‫:‬                ‫رت زی‬                        ‫ل‬               ‫ا و‬
‫;24 = ‪x‬‬
‫;++‪y = x‬‬

                       ‫‪y‬‬         ‫ار ٢٤‬             ‫ای‬         ‫ی ،‬                                ‫ا ای‬                ‫از اﺝ اي‬                ‫ار ‪x‬‬
‫دل دو‬            ‫++‪y=x‬‬                    ‫،‬        ‫د. در ای‬                   ‫ار ٣٤ در ‪ x‬ذﺥ‬                      ‫ﻝ‬       ‫، در ه دو‬               ‫ی . اﻝ‬
                                                                                                                            ‫:‬        ‫رت ذی ا‬
‫;‪y = x‬‬
‫;1 + ‪x = x‬‬



                                                                                                                           ‫هي‬


‫‪char ، short ، int ، long‬‬                         ‫ا اع داد ه ي‬                ‫ان‬              ‫دارد آ‬                       ‫ی‬       ‫ﺝ وا‬
 ‫ای‬                 ‫آ .‬               ‫ﺥ د‬             ‫هي‬             ‫روي ی ی‬                                ‫آ ر د. ای‬          ‫و ‪byte‬‬
                                                                 ‫.‬        ‫ا‬             ‫ورد‬                      ‫ه در ﺝ ول‬



                                                                                                                ‫‪not‬‬                      ‫~‬
                                                                                                                ‫‪and‬‬                      ‫&‬
                                                                                                                ‫‪or‬‬                       ‫|‬
                                                                                                                ‫‪xor‬‬                      ‫^‬
                                                                                              ‫راﺱ‬                                       ‫>>‬
                                                                     ‫ا‬             ‫ﺹ‬          ‫راﺱ‬                                   ‫>>>‬
                                                                                                                                        ‫<<‬
                                                                                                  ‫و‬             ‫‪and‬‬                     ‫=&‬
                                                                                                  ‫و‬             ‫‪or‬‬                      ‫=!‬
                                                                                                  ‫و‬             ‫‪xor‬‬                     ‫=^‬
                                                                                        ‫و‬     ‫راﺱ‬                                   ‫=>>‬
                                                       ‫ا‬     ‫ﺹ‬                          ‫و‬     ‫راﺱ‬                                  ‫=>>>‬
                                                                                            ‫و‬                                       ‫=<<‬



      ‫ا‬        ‫،‬    ‫آ‬          ‫را دازش و ی ی‬                     ‫ه ي ا اد‬                     ‫،‬        ‫هي‬              ‫ی آ‬              ‫از‬
‫ﺝ وا‬           ‫ای‬       ‫، دا‬    ‫ص ای‬              ‫.‬                  ‫دی‬        ‫روي‬                    ‫داز‬             ‫ای‬       ‫ﺙ‬         ‫آ‬
          ‫وا‬         ‫ده ،‬         ‫ی‬      ‫را‬           ‫ا اد‬                ‫آ و‬                     ‫را ذﺥ‬               ‫دی‬
                                                                                                                                   ‫د.‬
‫ل،‬        ‫ان‬             ‫.‬             ‫داد‬    ‫ی‬              ‫ل‬                 ‫ا اد ی ي‬                     ‫و‬              ‫م ا اد‬
          ‫.‬             ‫از ٢‬     ‫ه ر ، ا‬                   ‫آ ارزش‬                      ‫ار ٢٤ ع ‪ 00101010 ، byte‬ا‬
‫ی‬         ‫. ای‬           ‫دار ه‬                             ‫از ‪ ، ( char‬ا اد‬                            ‫)‬                     ‫ا اع داد ه ي‬
        ‫م"‬            ‫اري‬             ‫روش ر‬                 ‫. ﺝ وا از‬                        ‫و‬                 ‫دی‬                    ‫ی‬             ‫ا‬                   ‫آ‬
     ‫ی ی ه‬            ‫ه )‬               ‫م‬       ‫س آ دن‬                    ‫ی‬        ‫از‬            ‫آ آ در ن ا اد‬                                 ‫د‬               ‫٢"ا‬
‫ل ، 24-‬          ‫ان‬           ‫.‬                 ‫داد‬        ‫ی‬       ‫،‬                    ‫ا ودن ی وا‬                               ‫(و‬                        ‫و‬
‫،و‬       ‫اش 10101011 ا‬                              ‫د ٢٤ ) ی 01010100 ( ، آ‬                                 ‫ه‬               ‫م‬        ‫س آ دن‬
 ‫ی ه‬              ‫اي ر‬        ‫، 01101011 (.‬                            ‫د)ی‬              ‫داد‬        ‫ی‬        ‫ن‬                    ‫ا ودن ی وا‬
                      ‫ای .‬                             ‫ی وا‬                   ‫سآ ،و‬                    ‫را‬               ‫م‬                      ‫،‬                   ‫د‬


                                                                                                                                               ‫هي‬


‫ن داد‬            ‫ت در ﺝ ول زی‬                         ‫ای‬               ‫از & ، | ، ^ و ~ .‬                  ‫ر‬                                   ‫هي‬
             ‫يه‬               ‫ی ی‬                   ‫هي‬                    ‫آ‬                  ‫دا‬            ‫ﺥ‬                ‫ذی‬             ‫. در‬                ‫ا‬
                                                                                                                                      ‫.‬                    ‫ل‬           ‫ا‬


                       ‫‪A‬‬                    ‫‪B‬‬              ‫‪A|B‬‬                ‫‪A&B‬‬                 ‫‪A^B‬‬                       ‫‪~A‬‬
                       ‫0‬                    ‫0‬                  ‫0‬                   ‫0‬                   ‫0‬                         ‫1‬
                       ‫1‬                    ‫0‬                  ‫1‬                   ‫0‬                   ‫1‬                         ‫0‬
                       ‫0‬                    ‫1‬                  ‫1‬                   ‫0‬                   ‫1‬                         ‫1‬
                       ‫1‬                    ‫1‬                  ‫1‬                   ‫1‬                   ‫0‬                         ‫0‬



                                                                                                                                                           ‫‪NOT‬‬


‫س‬         ‫ﺥ د را‬                  ‫هي‬            ‫م‬      ‫د،‬                                                      ‫‪ (~) NOT‬آ‬                               ‫ی‬
                                  ‫:‬         ‫زی ا‬                   ‫دل ی ي ن‬                      ‫د ٢٤ آ‬             ‫ل،‬               ‫ان‬                ‫آ .‬
‫01010100‬

                                                            ‫د:‬                 ‫ی‬        ‫زی‬                  ‫‪NOT‬‬                            ‫ل‬           ‫از ا‬
‫10101011‬
‫‪AND‬‬


‫رت در‬        ‫ای‬    ‫د ، در‬         ‫ی‬                  ‫،‬             ‫‪ (&) AND‬ی‬                ‫ه دو‬
                                                                     ‫د.‬                        ‫ت‬            ‫آ‬
        ‫01010100‬       ‫24‬
‫&‬       ‫11110000‬       ‫51‬
        ‫01010000‬       ‫01‬



                                                                                                           ‫‪OR‬‬


‫ه‬        ‫هي‬        ‫ه ی از‬             ‫آ آ‬            ‫آ‬        ‫اي‬            ‫ه را‬        ‫‪، (|) OR‬‬
                                                              ‫د:‬             ‫ی‬                     ‫،‬        ‫ی‬
        ‫01010100‬       ‫24‬
‫|‬       ‫11110000‬       ‫51‬
        ‫11110100‬       ‫74‬



                                                                                                       ‫‪XOR‬‬


‫،‬        ‫ی‬         ‫ی‬    ‫د‬        ‫آ آ‬             ‫آ‬       ‫اي‬               ‫ه را‬        ‫‪، (^) XOR‬‬
                                 ‫د.‬                                ‫رت ،‬          ‫ای‬    ‫د. در‬           ‫ی‬
        ‫01010100‬       ‫24‬
‫^‬       ‫11110000‬       ‫51‬
        ‫10100100‬       ‫73‬



‫آ .‬                          ‫،‬         ‫دوم‬                     ‫آ .ه‬          ‫ه د‬
                        ‫د.‬       ‫وا‬          ‫ه‬           ‫ت دازش‬              ‫اي ﺥ از‬                   ‫ای وی‬


                                                                                       ‫هي‬              ‫آر د‬
: ‫ده‬      ‫ن‬        ‫را‬                   ‫هي‬              ‫زی‬


// Demonstrate the bitwise logical operators.
class BitLogic {
public static void main(String args[] ){
String binary[] = {
"0000"/ "0001"/ "0010"/ "0011"/ "0100"/ "0101"/ "0110"/ "0111"/
"1000"/ "1001"/ "1010"/ "1011"/ "1100"/ "1101"/ "1110"/ "1111"
};
int a = 3; // 0 + 2 + 1 or 0011 in binary
int b = 6; // 4 + 2 + 0 or 0110 in binary
int c = a | b;
int d = a & b;
int e = a ^ b;
int f =( ~a & b )|( a & ~b);
int g = ~a & 0x0f;
System.out.println(" a = " + binary[a]);
System.out.println(" b = " + binary[b]);
System.out.println(" a|b = " + binary[c]);
System.out.println(" a&b = " + binary[d]);
System.out.println(" a^b = " + binary[e]);
System.out.println("~a&b|a&~b = " + binary[f]);
System.out.println(" ~a = " + binary[g]);
}
}

:        ‫ی يه‬     ‫اي دو ر‬                     ‫ﻝ‬       ‫ر‬         ‫ه‬       ‫ی‬      ‫ه ی دار آ‬               ‫ل‬        ‫ در ای‬b ، a
     &‫د|و‬                             ‫ا‬               d‫و‬c ‫ی‬                 ‫آ دن‬            . ٠-٠ ، ١-٠ ، ٠-١ ، ١-١
‫ی ي ا اد‬          ‫ی‬       ‫وي‬     ، ‫ م دارد‬binary ‫رای اي آ‬                          ‫.ر‬       ‫ه دری‬          ‫روي ه ی از‬
‫ی ي ه ی از‬                ‫ی‬           ‫اي ه‬                      ‫ل‬   ‫ه ي رای در ای‬                 ‫. ای آ‬       ‫٥١ ا‬
‫ ، در‬n ‫ار ی ي‬             ‫اي‬      ‫ر‬       ‫ی‬                 ‫ا‬       ‫ﺥ‬         ‫اي‬              ‫ن ده . رای‬              ‫ی را‬
     ‫آ‬    ‫ارش‬         ‫د‬           AND ، 0x0f (00001111)                            –a ‫ار‬      .‫د‬           ‫ ذﺥ‬binary[n]
‫ن‬         ‫در ذی‬               ‫داد. ﺥ وﺝ‬           ‫ی‬       binary ‫د از رای‬               ‫ا‬    ‫ان‬            ‫ی‬     ‫از ٦١ آ ه‬
                                                                                                           :     ‫ا‬       ‫داد‬
                  a = 0011
‫0110 = ‪b‬‬
                                ‫1110 = ‪a | b‬‬
                                ‫0100 = ‪a & b‬‬
                                ‫1010 = ‪a ^ b‬‬
                                ‫1010 = ‪~ a & b | a & ~ b‬‬
                                ‫0011 = ‪~ a‬‬



                                                                                                                                                         ‫چ‬                    ‫ﺵ‬


                                 ‫ت‬      ‫اد د‬          ‫ا از‬        ‫ش را‬                ‫هي‬                   ‫م‬        ‫)<<( ،‬                                        ‫د‬
                                                 ‫:‬           ‫ا‬      ‫ن داد‬            ‫ن در زی‬                   ‫آ‬                 ‫ده .‬            ‫ا ل‬
‫‪Value << num‬‬



‫م‬       ‫، "<<"‬                  ‫ا لی .ی‬                          ‫ار ‪ value‬ی‬               ‫آ‬            ‫ا‬                ‫اد د‬                    ‫آ‬                     ‫‪Num‬‬
‫ر‬           ‫ازاي ه‬               ‫ده .‬          ‫ا ل‬                                   ‫ا از ‪num‬‬                           ‫را‬                ‫رد‬        ‫ار‬        ‫هي‬
        ‫را‬                 ‫از‬                        ‫رود و ی‬                  ‫از د‬                                 ‫اﻝ‬                           ‫(،‬                ‫ل)‬          ‫ا‬
        ‫ل‬         ‫‪ int‬ا‬                      ‫ی‬       ‫"‬                    ‫"‬                    ‫آ و‬                                ‫ی‬            ‫د. ای‬                          ‫ا‬
‫از ع ‪long‬‬                                        ‫رو .‬                 ‫و ی از د‬                                      ‫از‬                    ‫از‬             ‫ه‬            ‫د،‬
                  ‫رو .‬                     ‫م از د‬        ‫و‬                           ‫از‬                ‫از‬                ‫ه‬                ‫رت‬             ‫، در ن‬
    ‫ی‬        ‫ﻝ‬                        ‫ار ﺥ دآ ر ﺝ وا‬                      ‫ده ،‬                         ‫ع ‪ byte‬و ‪ short‬را‬                                     ‫دی‬               ‫و‬
‫ع‬           ‫دی‬        ‫د،‬                   ‫ﺝ ي ارزی‬               ‫ی ﺝ‬          ‫،و‬         ‫دا‬               ‫آ‬                 ‫د. ه ن‬
    ‫ی‬       ‫د. ای‬                 ‫‪int‬‬          ‫اي‬        ‫ﺝ‬            ‫ی‬              ‫و‬             ‫.‬           ‫ی‬                 ‫‪ int‬ار‬             ‫‪ byte‬و ‪short‬‬
    ‫ه‬                      ‫هي‬           ‫دو‬               ‫دی ‪ short ، byte‬و ‪int‬‬                             ‫در‬                                                ‫آ‬
‫دی ‪ byte‬و ‪short‬‬                         ‫و ،‬                  ‫رو .‬                ‫ر ، از د‬                               ‫وی‬                               ‫از‬               ‫ز‬
            ‫هي‬              ‫. از ای رو،‬                          ‫رگ‬       ‫ن‬                                        ‫‪ int‬از‬                      ‫م ار‬      ‫ه‬
‫ع ‪ byte‬و‬                    ‫دی‬        ‫در‬                                  ‫م‬     ‫آ ا‬            ‫ا‬       ‫دﻝ‬               ‫ه‬         ‫.‬                               ‫ی‬
‫ل،‬           ‫ان‬                 ‫د.‬           ‫ع ‪ int‬را دی‬                                        ‫ی هي‬                         ‫ی‬        ‫آ‬                      ‫‪ short‬ی‬
         ‫و‬        ‫ی‬              ‫‪ int‬ار‬          ‫ار ا ا‬           ‫ه ، ن‬                                                  ‫ار ع ‪ byte‬را‬                                 ‫ی‬       ‫ا‬
‫،‬           ‫ار ‪byte‬‬               ‫"‬                      ‫"‬          ‫ر ن‬                   ‫آ ا‬                            ‫ی‬            ‫د. ای‬                   ‫داد‬
‫آ‬       ‫م ای آ ر ، ن ا‬                 ‫اي ا‬         ‫ی روش‬                    .‫ی‬                 ‫را دی‬                                  ‫ی‬               ‫ی‬
‫ن داد‬               ‫ل زی‬         ‫م در‬                   ‫ی آ . ای‬             byte               "casting" ‫د از‬              ‫دا ا‬               ‫را‬
                                                                                                                                           :        ‫ا‬
// Left shifting a byte value.
class ByteShift {
public static void main(String args[] ){
byte a = 64/ b;
int i;
i = a << 2;
b =( byte( )a << 2);
System.out.println("Original value of a :" + a);
System.out.println("i and b :" + i + " " + b);
}
}

                                                            :        ‫ا‬           ‫ن داد‬              ‫در ذی‬                 ‫از ای‬                 ‫ﺥ وﺝ‬
Orginal value of a: 64
I and b: 256                           0

( 0000 0000) ٦٤ ‫ار‬                         "                     "               ‫، دو‬           ‫ی‬           ‫ ار‬int           ‫اي ارزی‬            a‫ن‬
                           ‫از‬          b ‫ار‬             ، ‫د. ا‬                   i ‫اي‬           (1 0000 0000 ) ٢٥٦ ‫ار‬
        .       ‫ا‬    ‫ر‬          ‫از د‬               ‫از‬       ،‫ن‬           ‫ی‬                 .‫د‬                                      ‫ن ی‬              ،‫د‬
    ‫ان ی‬                 ‫زان از ای ا‬                        ،    ‫ار اوﻝ ا‬                   ‫ن‬          ‫ا‬     ‫، دو‬                      ‫ه‬             ‫ن‬
            ‫ی‬       ‫.ا‬            ‫ه‬            ‫ا‬        ‫ی‬       ‫آ .ا‬               ‫د‬            ‫ی در ٢ ا‬             ‫اي‬            ‫ی آر‬                 ‫ﺝی‬
    ‫ﺥ اه‬             ‫ار ن‬          ، ‫ل ده‬               ‫١٣ ی ٣٦ ( ا‬                 )                               ‫ﺥ ی‬                        ‫"ی " را‬
                                                                             :         ‫ا‬            ‫ن داد‬        ‫زی‬               ‫در‬                ‫. ای‬
// Left shifting as a quick way to multiply by 2.
class MultByTwo {
public static void main(String args[] ){
int i;
int num = 0xFFFFFFE;
for(i=0; i<4; i++ ){
num = num << 1;
System.out.println(num);
}
‫}‬
‫}‬

                                                                                             ‫:‬           ‫رت زی ا‬                                     ‫ﺥ وﺝ‬
‫809078635‬
‫6181473701‬
‫2363847412‬
‫23-‬

‫د. ه ن‬            ‫ی‬     ‫٢٣-‬         ‫"‬                          ‫"‬            ‫از ٤‬                         ‫ا‬          ‫ب‬         ‫ا‬        ‫د‬           ‫ار اوﻝ‬
    ‫د.‬                          ‫د‬         ‫،‬           ‫ی‬        ‫ل‬     ‫١٣ ا‬                        ‫"ی "‬                     ‫ی‬       ‫و‬                  ‫آ‬


                                                                                                                                           ‫را‬                ‫ﺵ‬


                       ‫ت‬       ‫اد د‬               ‫ا از‬             ‫ش را‬             ‫ي‬            ‫م‬           ‫)>>( ،‬               ‫را‬
                                      ‫:‬           ‫ا‬            ‫ن داد‬            ‫ن در زی‬              ‫آ‬             ‫ده .‬           ‫ا ل‬              ‫را‬
‫‪value >> num‬‬

‫،‬        ‫لی .ی‬             ‫ا‬    ‫را‬                         ‫ار ‪ value‬ی‬                    ‫آ‬           ‫ا‬             ‫اد د‬                ‫آ‬                ‫‪num‬‬
     ‫ده .‬        ‫ل‬     ‫ا‬       ‫را‬                                  ‫ا از ‪num‬‬              ‫را‬              ‫رد‬         ‫ار‬        ‫هي‬               ‫م‬     ‫">>"‬
         ‫د:‬           ‫ار ٨ در ‪ a‬ذﺥ‬                        ‫ده‬                        ‫را‬                               ‫ار ٢٣ را ٢‬                     ‫ل زی‬
‫;23 = ‪int a‬‬
‫8 ‪a = a >> 2; // a now contains‬‬

              ‫ه از د‬           ‫م ن‬            ‫،‬            ‫داد‬              ‫ود اش‬                ‫ﺥ رج از‬                 ‫ار‬            ‫هيی‬                   ‫و‬
     ‫ر‬        ‫از د‬             ‫ده و در‬                                     ‫را‬                 ‫ار ٥٣ را ٢‬                      ‫ل زی‬         ‫،‬            ‫رو .‬
                                                          ‫د.‬                    ‫ار ٨ در ‪ a‬ذﺥ‬                  ‫دا‬          ‫،‬        ‫را‬              ‫هي‬
‫;53 = ‪int a‬‬
‫8 ‪a = a >> 2; // a still contains‬‬

                                ‫ده :‬                  ‫ن‬        ‫ح‬       ‫و‬        ‫ت را‬          ‫ا اد ی ي ، ا‬                                 ‫ه ن‬           ‫ر‬
‫11000100‬                        ‫53‬
‫2 >>‬
‫00010000‬                        ‫8‬
‫دی‬                        ‫د–و‬                               ‫٢‬         ‫ار‬          ‫ده ، ن‬                             ‫را‬            ‫اري را‬             ‫رآ‬       ‫ه‬
    ‫د‬         ‫ا‬              ‫آر‬                   ‫٢‬                               ‫م‬    ‫اي ا‬            ‫ا‬                 ‫د. از ای وی‬                                ‫ا‬
                                ‫.‬                   ‫ﺥ رج‬                 ‫را‬            ‫ه از‬                ‫آ‬   ‫آ‬                 ‫ن‬           ‫، ی ا‬         ‫آ . اﻝ‬
                                         ‫ه آ‬                ‫ی‬                           ‫ده ،‬                             ‫را‬                     ‫اري را‬             ‫و‬
                  ‫. ای‬                    ‫ی‬       ‫ﺝی‬                ‫ی‬                                  ‫اي‬                    ‫و‬        ‫ا ،‬            ‫ین‬            ‫را‬
                             ‫دادن‬             ‫م‬       ‫ه‬                  ‫ا اد‬                                  ‫و‬                       ‫"‪"sign extension‬‬
    ‫ن داد‬                    ‫در ذی‬                ‫ی ي ای‬             ‫آ‬            ‫ا 4- ا‬          ‫ل ، 1>>8- ،‬                 ‫ان‬                ‫د.‬                 ‫را‬
                                                                                                                                                      ‫:‬        ‫ا‬
‫00011111‬                                       ‫8-‬
‫1>>‬
‫00111111‬                                       ‫4-‬

‫ا‬         ‫،‬                              ‫١-‬           ‫ه‬              ‫ده ،‬                         ‫را‬               ‫١- را‬               ‫آ ا‬       ‫ا‬         ‫ﺝﻝ ا‬
    ‫ی‬     ‫ﺝی‬                             ‫ه ي ی در‬                         ‫ه ار‬           ‫د‬                         ‫ی "‪"sign extension‬‬                              ‫آ‬
                                                                                                                                                               ‫.‬
‫ورت ارد.‬                                  ‫را‬                        ‫دی‬        ‫دادن‬            ‫م‬        ‫ه‬                         ‫ی ،‬        ‫م‬        ‫ه او ت ا‬
‫آ .‬                      ‫ی‬          ‫دﻝ‬        ‫ل‬        ‫اد‬       ‫ه‬             ‫ر‬       ‫ار ع ‪ byte‬را‬                  ‫زی ی‬                        ‫ل،‬        ‫ان‬
                   ‫د‬                              ‫‪0x0f‬‬          ‫ی ‪ AND‬آ دن‬                         ‫، از‬                 ‫از‬               ‫ار‬           ‫آ‬        ‫آ‬    ‫د‬
        ‫ان ای آ‬                                   ‫ار‬        ‫ان از‬                 ‫،‬        ‫د و در‬                       ‫"‪ "sign extension‬دی ا‬
                                                                                              ‫د.‬           ‫د‬       ‫لا‬            ‫اد‬     ‫رای آ راآ ه ي ه‬


‫.‪// Masking sign extension‬‬
‫{ ‪class HexByte‬‬
‫{) ][‪static public void main(String args‬‬
‫{ = ][‪char hex‬‬
‫,'7' ,'6' ,'5' ,'4' ,'3' ,'2' ,'1' ,'0'‬
‫'‪'8', '9', 'a', 'b', 'c', 'd', 'e', 'f‬‬
‫;}‬
‫1‪byte b =( byte )oxf‬‬
‫;)]‪System.out.println("b = ox" + hex[(b >> 4 )& oxof] + hex[b & oxof‬‬
‫}‬
‫}‬
‫:‬         ‫ا‬              ‫ن داد‬               ‫در زی‬              ‫ﺥ وﺝ‬
‫1‪b = 0xf‬‬



                                                                                                                                ‫ون‬            ‫را‬               ‫ﺵ‬


‫ر ﺥ دآ ر‬                ‫را‬                    ‫اﻝ‬                         ‫>> ،‬                       ‫دی ی ،‬                           ‫آ در‬              ‫ه ن‬
           ‫رد‬     ‫ار‬                         ‫ﺝ‬          ‫آ . ای آ ر‬                              ‫ن‬                ‫ار‬                      ‫از‬        ‫ر‬           ‫ه‬
    ‫ده آ‬                     ‫ي را‬            ‫ل،ا‬              ‫ان‬                       ‫د.‬                   ‫زم‬            ‫د. ا ، ه ای ا‬
    ‫. ای‬               ‫"‪ "sign extension‬ا‬                        ‫ز‬                      ‫ا‬               ‫،‬             ‫دي‬          ‫ار‬           ‫ی‬           ‫ی‬
            ‫ارد ،‬               ‫. در ای‬          ‫اول ا‬                   ‫ا‬         ‫و‬                                      ‫دی‬         ‫ای ه م آ ر‬
                                                       ‫ده .‬          ‫ا ل‬                                    ‫اﻝ‬                          ‫را‬             ‫ی ی‬
‫و‬               ‫ارده‬     ‫١-‬     ‫ل،‪a‬‬                    ‫. در ای‬               ‫ا‬              ‫ن داد‬                ‫ل زی‬            ‫د ">>>" در‬
‫و‬          ‫ا لی‬         ‫را‬                         ‫٤٢‬              ‫ار‬                   ‫د. ای‬                         ‫ی‬              ‫ای ، آ ٢٣‬
                ‫د. ی‬                   ‫‪ sign extension‬دی ا‬                                          ‫و‬                                                      ‫٤٢‬
                                                                                                                          ‫د.‬             ‫٥٥٢ در ‪ a‬ذﺥ‬
‫;1- = ‪int a‬‬
‫;42 >>> ‪a = a‬‬



            ‫ده‬         ‫آ رخ‬              ‫ا‬                           ‫ا‬              ‫ار‬           ‫ار م ی ي‬                        ‫در ذی‬                 ‫م‬       ‫ا‬
                                                                                                                                                   ‫ی :‬
‫111111111‬              ‫11111111‬              ‫11111111‬                        ‫‪11111111 -1 in binary as an int‬‬
‫42>>>‬
‫000000000‬              ‫00000000‬              ‫00000000‬                        ‫‪11111111 255 in binary as an int‬‬



    ‫دی‬      ‫اي‬            ‫اآ‬        ‫د،‬                    ‫وا‬                     ‫داری‬         ‫ا از اي آ دو‬                               ‫د >>> ا‬
     ‫تﺝ ي‬              ‫در ﺝ‬              ‫دی آ‬            ‫آ‬                        ‫دا‬          ‫ﺥ‬         ‫.‬        ‫ﺥ اه دا‬                       ‫٢٣ و ٤٦‬
           ‫ده و‬         ‫آ ‪ sign-extension‬رخ‬                                             ‫ی‬        ‫. ای‬        ‫ی‬                 ‫‪ int‬ار‬        ‫ر ﺥ دآ ر‬
    ‫ﺥ‬             ‫ا‬      ‫،‬      ‫د. ی‬               ‫م‬      ‫ا‬          ‫ار ٢٣‬                   ‫، در‬                ‫دی ٨ ی ٦١‬                ‫ﺝي‬
‫اي‬                 byte ‫ع‬              ‫دی‬         ‫در‬                ‫ون‬             ‫را‬                          ‫آ‬               ‫ر دا‬       ‫ا اد ا‬
    ‫اآ‬      ،                      ‫د. ا ای‬            ‫ز‬    ٧                           ‫، از‬               ‫ه‬            ‫ارده‬           ‫د‬    ‫م‬   ‫ا‬
                   :          ‫ا‬             ‫ای‬                 ‫زی‬             .‫د‬               ‫داد‬                     ٣٢ ‫ار‬          ‫در وا ی‬
// Unsigned shifting a byte value.
class ByteUShift {
static public void main(String args[] ){
char hex[] = {
'0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'a', 'b', 'c', 'd', 'e', 'f'
};
byte b =( byte )oxf1
byte c =( byte( )b >> 4);
byte d =( byte( )b >>> 4);
byte e =( byte(( )b & oxff )>> 4);
System.out.println(" b = ox"
+ hex[(b >> 4 )& oxof] + hex[b & oxof]);
System.out.println(" b >> 4 = ox"
+ hex[(c >> 4 )& oxof] + hex[c & oxof]);
System.out.println(" b >>> 4 = ox"
+ hex[(d >> 4 )& oxof] + hex[d & oxof]);
System.out.println("(b & oxof )>> 4 = ox"
+ hex[(e >> 4 )& oxof] + hex[e & oxof]);
}
}

         ، byte ‫ع‬             ‫دی‬        ‫آر‬                ‫>>> در‬                                ‫ده آ‬               ‫ن‬                  ‫ﺥ وﺝ ای‬
           ‫ارده‬            byte ‫ع‬           ‫ا‬      ‫ار دﻝ‬            ‫ی‬     b               ،      ‫ده . در ای‬               ‫م‬     ‫ه آ ري ا‬
sign ‫ر‬                 ‫رد ا‬             ‫م‬         ‫ا‬        ‫ﺥ‬        ،(        ٣ ‫ا از‬                 )b        ‫را‬                         .    ‫ا‬
‫ون‬              ‫، اﻝ‬                   ‫ه ن‬                               .( 0xff              ‫د)ی‬                      ‫ ذﺥ‬c ‫ در‬extension
sign                   ‫ن‬               ‫ی . ا در‬                                    d      ،      0x0f ‫رود‬                ‫ر‬      ‫،آ ا‬
            ‫ ذﺥ‬d ‫0 در‬xff ،                      ‫( رخ داد ا‬                         ‫از‬          ) int           b ‫م ار‬          ‫ ه‬extension
،                             ٨    ‫ن‬        AND ‫ی‬                   ‫ از‬b                 byte ‫ع‬           ‫ار‬              ‫ﺥ‬       ‫د. در ﺝ‬
.‫د‬                     ‫ ذﺥ‬c ‫، در‬                 0x0f ‫ی‬                                ‫د، و‬           ‫داد‬                 ‫را‬               ‫ر‬
‫اآ و‬        ،    ‫ا‬    ‫د‬           ‫>>> ا‬             ‫ از‬d             ‫اي‬   ‫آ‬            ‫ﺝ دا‬
                                                      .‫د‬                        ‫ آ دن‬AND ‫از‬
                 b = 0xf1
                 b >> 4 – 0xff
                 b >>> 4 = 0xff
                 ( b & 0xff ) >> 4 = 0x0f



                                                                                      ‫وﺕ‬         ‫هي‬


        ‫آ‬    ‫ه يﺝ يا‬                           ‫آ‬     ‫ه دار‬          ‫مآ‬      ‫ی ي‬            ‫ه ي‬        ‫م‬
‫ا از‬    ‫ را‬a ‫ار‬        ‫رت زی آ‬    ‫ل، دو‬         ‫ان‬             . ‫آ‬          ‫آ‬                ‫را‬
                                          :        ‫دل ی ی‬        ، ‫ده‬                  ‫را‬                 ٤
a = a >> 4;
a >>= 4;

    :   ‫دل ی ی‬        ، ‫ی‬             a        a OR b                ‫رت زی ه آ ﺝ‬            ‫ر دو‬          ‫ه‬
a = a | b;
a |= b;

‫اي‬                ‫و‬         ‫هي‬            ‫مآ‬               ‫و‬         ‫ای د‬                 ٤ ‫زی‬            ‫در‬
                                                               :‫د‬           ‫د‬     ‫ا‬        ‫دازش و ی ی‬
class OpBitEquals {
public static void main(String args[] ){
int a = 1;
int b = 2;
int c = 3;
a |= 4;
b >>= 1;
c <<= 1;
a ^= c;
System.out.println("a = " + a );
System.out.println("b = " + b );
System.out.println("c = " + c );
}
}
‫:‬       ‫ا‬          ‫ن داد‬             ‫در ذی‬                           ‫ﺥ وﺝ‬
‫3 = ‪a‬‬
‫1 = ‪b‬‬
‫6 = ‪c‬‬

                                                                                                            ‫اي‬              ‫ه ي را‬


    ‫آ . ای‬                        ‫دی‬                ‫ی‬               ‫را‬                     ‫ی‬       ‫اي ، را‬                  ‫ه ي را‬
‫ن‬       ‫اي در ذی‬           ‫ه ي را‬                        ‫آ .‬                       ‫ه را‬                             ‫وي و‬                ‫ه‬
                                                                                                                        ‫:‬           ‫ا‬              ‫داد‬



                                                                                                   ‫وي اﺱ‬                                           ‫==‬
                                                                                                       ‫اﺱ‬                                          ‫=!‬
                                                                                                   ‫از‬           ‫ر‬                                   ‫>‬
                                                                                                   ‫از‬               ‫آ‬                               ‫<‬
                                                                               ‫وي اﺱ‬                            ‫ر‬                                  ‫=>‬
                                                                               ‫وي اﺱ‬                                ‫آ‬                              ‫=<‬


‫رت‬       ‫در ﺝ ت ﺝ ي آ‬                      ‫اي‬            ‫ه ي را‬                ‫.‬         ‫ار ﻝ ا‬                 ‫ت، ی‬                     ‫ای‬
                       ‫.‬          ‫آر د‬           ‫ن‬           ‫هي‬                ‫ر در‬                ‫،وه‬              ‫آ‬           ‫ل‬        ‫‪ if‬را آ‬
‫ور ، آ راآ ه‬                      ‫ري‬       ‫، ا اد ا‬                 ‫ا اد‬             ‫داد ه در ﺝ وا ، از ﺝ‬                                     ‫ا اع‬
     ‫د. ﺝ دا‬                ‫ی‬     ‫وي )==( ی "=!"‬                               ‫د از‬            ‫ا‬   ‫ان‬                ‫ﻝ را‬                ‫دی‬         ‫و‬
         ‫: از‬                ‫دا‬        ‫ﺥ‬   ‫)‬         ‫ا‬                     ‫وي در ﺝ وا از دو "="‬                                          ‫آ‬
                ‫هي‬                  ‫ان‬          ‫دي را‬          ‫دی‬                  ‫د(.‬             ‫د‬        ‫ا‬                       ‫اي‬        ‫"="‬
‫ان‬           ‫ور و آ راآ ي را‬                         ‫ري ی‬         ‫،ا‬                 ‫هي‬                         ‫،‬           ‫د. ی‬               ‫ی‬
                                    ‫.‬           ‫آ‬         ‫وآ ا‬             ‫ر‬             ‫دآ آ ا‬                                 ‫د‬              ‫ی‬
 ‫رت ذی‬             ‫.‬       ‫ار ﻝ ا‬              ‫اي ، ی‬       ‫را‬                 ‫از‬                       ‫،‬                    ‫آ‬                ‫ه ن‬
                                                                                                                ‫:‬           ‫ه‬                       ‫آ‬
‫;4 = ‪int a‬‬
‫;1 = ‪int b‬‬
boolean c = a < b;

                              .‫د‬           ‫ ذﺥ‬c ‫( در‬           ‫ ا‬false ‫ ) آ‬a<b                          ‫ﻝ‬         ‫در ای‬
C/C++ ‫رت زی در‬           ‫آ . ا اع‬       ‫زی د‬                   ‫ را داری ، ﻝ‬C/C++                  ‫آر‬                    ‫ا‬
                                                                                                  : ‫اوﻝ‬           ‫ر‬
int done;
// …
if ( ! done ) … // valid in C/C++
if ( done ) … // but not valid in Java

                                            :             ‫رت زی‬                ‫را ی در ﺝ وا‬                  ‫رت‬
If ( done == 0 ) … // This is Java-style
If ( done != 0 ) …

‫ در‬True .           C/C++ ‫ن‬        ‫ در ﺝ وا ه‬false ‫ و‬true            ‫ی‬             ‫آ‬     ‫نا‬             ‫ا‬    ‫ای‬        ‫دﻝ‬
‫ در ﺝ وا‬false ‫ و‬True .        ‫ار‬                false ‫و‬         ‫ا‬              ‫ﻝ‬        ‫ار‬             ‫ ، ه‬C/C++
            ‫ی‬   ‫اي‬    ، ‫ای‬    . ‫ار‬                 ‫و‬                     ‫آ ار‬            ‫دي ه‬                     ‫دی‬
                                   . ‫د آ‬        ‫اي ا‬      ‫را‬                   ‫، ی از ی ی‬                               ‫و‬


                                                                                                        ‫هي‬


    Boolean ‫ه ي ع‬             ‫اي‬         ، ‫ا‬           ‫ن داد‬         ‫ﻝ آ در ای‬                          ‫هي‬
       ‫آ‬        ‫آ‬    ‫ه‬   ‫ را‬Boolean ‫ار ع‬           ‫ﻝ دو‬                  ‫هي‬                  ‫م‬     .        ‫د ه‬         ‫ا‬
                                                                .‫د‬       Boolean ‫ار ع‬                        ‫ی‬



                                                                                         AND                            &
                                                                                             OR                         |
                                                                                         XOR                            ^
                                                                          ‫ل آ‬           ‫ ا‬OR                           ||
                                                                         ‫ل آ‬           ‫ ا‬AND                           &&
                                                                                         NOT                            !
                                                                                       ‫ و‬AND                           &=
                                                                                        ‫ و‬OR                           |=
‫ و‬XOR             ^=
                                                                              ‫وي اﺱ‬                  ==
                                                                               ‫اﺱ‬                    !=
                                                                      ‫ ﺱ‬if-then-else                 ?:



‫روي‬        ‫د ن‬        ‫ن‬       ‫ﻝ ه‬      ‫دی‬      ‫روي‬       (^‫)&،|و‬                    ‫هي ﻝ‬        ‫د‬
!true == : ‫آ‬            ‫س‬       ‫ﻝ را‬            ‫"!" و‬            ‫د‬       .     ‫ا‬           ‫د‬   ‫هيی‬
:      ‫ا‬     ‫ن داد‬           ‫در ﺝ ول زی‬          ‫ت‬        ‫ه ی از‬              . !false == true ‫ و‬false
                  A             B           A|B          A&B          A^B               ~A
                 False        False         False        False         False            True
                 True         False         True         False         True         False
                 False         True         True         False         True             True
                 True          True         True         True          False        False



    ‫وت آ‬     ‫. ای‬        ‫ا‬     ‫ح‬       ‫از ای‬         ‫آ‬        ‫ ا‬BitLogic ‫ل‬         ‫دل‬      ‫ی‬   ‫زی‬
                                       : ‫آ‬                ‫ﻝ‬      ‫دی‬    ‫روي‬         ‫هي ی ي‬       ‫ﺝي‬
// Demonstrate the boolean logical operators.
class BoolLogic {
public static void main(String args[] ){
boolean a = true;
boolean b = false;
boolean c = a | b;
boolean d = a & b;
boolean e = a ^ b;
boolean f =( !a & b )|( a & !b);
boolean g = !a;
System.out.println(" a = " + a);
System.out.println(" b = " + b);
System.out.println(" a|b = " + c);
System.out.println(" a&b = " + d);
System.out.println(" a^b = " + e);
System.out.println("!a&b|a&!b = " + f);
System.out.println(" !a = " + g);
}
‫}‬

‫ع ‪Boolean‬‬                         ‫دی‬               ‫ه ،‬                         ‫، ﺥ اه دی آ ه ن ا‬                                       ‫از اﺝ اي ای‬
    ‫ﻝ‬       ‫دی‬           ‫اي‬            ‫ر‬           ‫ی‬   ‫،‬      ‫ا‬                    ‫آ از ﺥ وﺝ ذی‬                       ‫.ه ن‬                     ‫ل‬        ‫ا‬
                                                                               ‫:‬            ‫ار ﻝ ال ‪ true‬ی ‪ false‬ا‬                     ‫از دو‬        ‫ﺝ وا ،ی‬
                              ‫‪a = true‬‬
                              ‫‪b = false‬‬
                              ‫‪a | b = true‬‬
                              ‫‪a & b = false‬‬
                              ‫‪a ^ b = true‬‬
                              ‫‪a & b | a & ! b = true‬‬
                              ‫‪! a = false‬‬



                                                                                                               ‫اﺕ ل آ ﺕ‬                    ‫هي‬


    ‫وﺝ د ارد. ای‬                        ‫ي دی‬                 ‫يآ‬            ‫ري از ز‬                 ‫دارد آ در‬          ‫ﻝ ﺝﻝ‬                         ‫ﺝ وا دو‬
‫هي‬                       ‫ون‬                        ‫و‬        ‫ﻝ ه‬       ‫‪ AND‬و ‪OR‬‬                           ‫ي ﺙ ی دو‬                  ‫ر‬       ‫ه ،‬
            ‫،‬        ‫ا‬                                       ‫آ از ﺝ ول‬                       ‫ا .ه ن‬               ‫ﺥ‬           ‫"‬    ‫لآ‬          ‫"ا‬
‫ر،‬                   ‫ار ‪ .B‬ه‬                    ‫از‬                ‫،‬            ‫ارش ‪true‬‬              ‫آ ‪A‬‬              ‫‪ true‬ا‬            ‫‪ OR‬ز‬
‫ار ‪.B‬‬            ‫از‬                            ‫،‬           ‫ارش ‪false‬‬           ‫دآ ‪A‬‬                    ‫‪false‬‬              ‫‪ AND‬ز‬
‫رت‬              ‫، در ن‬                 ‫د آ‬             ‫م || و && ا‬             ‫ه از دو‬                   ‫م ه ي | و & ای‬                  ‫ﺝ ي‬                 ‫ا‬
‫آ ، در ن‬                                                                   ‫و‬                  ‫را‬                  ‫ﺝ‬                ‫ا‬      ‫ﺝ وا‬
                 ‫آ‬            ‫ا‬        ‫اي‬              ‫اه آ د. ای ا‬                          ‫را ارزی‬         ‫را‬                                ‫رت دی‬
‫ان‬               ‫.‬            ‫ا‬            ‫ر‬           ‫،‬              ‫وا‬                               ‫‪ true‬ی ‪ false‬دن‬                             ‫را‬
        ‫ا‬                 ‫لآ‬                ‫ا‬                 ‫د از ارزی‬                 ‫ا‬              ‫ده آ‬               ‫ن‬        ‫رت زی‬            ‫ل،‬
                     ‫:‬    ‫دی ﺥ‬                     ‫ﺥ اه‬       ‫ن در‬                      ‫آ‬      ‫آ‬         ‫ن‬            ‫ا‬                         ‫از ی‬
‫) 01 > ‪if ( denom != 0 && num / denom‬‬

‫ي "ز ن-اﺝ ا"‬                           ‫ل وز ا‬                ‫،ا‬        ‫ا‬            ‫د‬         ‫‪ ( && ) AND‬ا‬                    ‫لآ‬         ‫ما‬        ‫ن ار‬
‫‪AND‬‬                       ‫رش &‬                     ‫د از‬       ‫ا‬                ‫ای‬           ‫رود. ا‬           ‫دن ‪ denom‬از‬                                ‫دﻝ‬
‫ي‬        ‫،ا‬         ‫و در‬                         ‫ارزی‬                               ‫ف‬         ‫ه دو‬                  ‫ی‬             ‫،‬
                                                      ‫ی.‬                  ‫دن ‪denom‬‬                          ‫رت‬                   ‫"ز ن-اﺝ ا" در‬
‫‪ AND‬و‬          ‫لآ‬           ‫مه يا‬            ‫و آ ر داری ، از‬                         ‫ﻝ‬                          ‫آ‬            ‫ا‬     ‫در‬              ‫ﺥ با‬
‫ن‬        ‫اری . ا ، ای‬                                   ‫اي‬                     ‫دي را‬              ‫ي‬         ‫ر‬           ‫،و‬            ‫د آ‬              ‫‪ OR‬ا‬
                                            ‫ی :‬                      ‫رت زی را در‬                  ‫ل،‬            ‫ان‬                ‫ه دارد.‬                    ‫ا‬
‫;001 = ‪if ( c==1 & e++ < 100 ) d‬‬

    ‫ار ‪ c‬ا م‬        ‫دن‬           ‫از ی‬                   ‫ار ‪e‬‬              ‫آ آ ا ای‬                                       ‫د از & در ای‬                        ‫ا‬
                                                                                                                                                       ‫د.‬


                                                                                                                                               ‫ﺕ‬


‫ن‬       ‫در ﺝ وا ه‬                                 ‫د‬            ‫د.‬                  ‫ن داد‬          ‫"="‬
                                        ‫:‬        ‫رت زی ا‬                       ‫ن‬         ‫آ‬         ‫.‬       ‫يا‬                     ‫يآ‬               ‫ی ز‬
‫; ‪Var = expression‬‬

                                                             ‫.‬            ‫ز ر‬           ‫ع ‪expression‬‬                             ‫ع داد ‪ var‬ی‬
‫اي از‬         ‫ن ای د ز‬           ‫:ا‬                     ‫ن‬             ‫ا‬              ‫دارد آ‬            ‫ﺝﻝ‬               ‫وی‬                         ‫د‬
                ‫:‬     ‫ﺝ آ‬               ‫رت زی‬                ‫ل،‬           ‫ان‬             ‫زد.‬                ‫اه‬          ‫را‬                         ‫ت‬
‫;‪int x, y, z‬‬
‫;001 = ‪x = y = z‬‬                            ‫;001 ‪// set x, y, and z to‬‬

 ‫دن ای‬              ‫د. دﻝ‬             ‫٠٠١‬                        ‫ار ه‬           ‫رت‬               ‫د از ی‬             ‫ا‬                     ‫رت‬                ‫در‬
‫. از ای رو ،‬        ‫رت ا‬                    ‫را‬              ‫ن،‬                  ‫آ‬            ‫يا‬             ‫آ "="‬                         ‫نا‬                ‫وی‬
               ‫‪x‬‬      ‫ﺥ د‬                         ‫،و ن‬           ‫ی‬                           ‫‪y‬‬         ‫آ‬         ‫ار 001=‪ ١٠٠ ، z‬ا‬
‫وه از‬          ‫ك‬            ‫ار‬          ‫دادن ی‬               ‫اي‬                     ‫" روش‬                                    ‫د از "ز‬                   ‫ی .ا‬
                                                                                                                                      ‫.‬        ‫ه‬


                                                                                                                                            ‫؟‬
if- ‫ر ي‬          ‫ﺥ از ا اع ﺥ ص‬                      ‫ا ﺝ‬                  ‫دارد آ‬            ‫ی وی‬                                  ‫ﺝ وا‬
             ‫آ‬       ‫اول‬         ‫در‬        ‫ا‬        "‫"؟‬              .        ‫، "؟" ا‬                    ‫د. ای‬        then-else
    ‫ن‬    ‫آ‬         . ‫د آ‬     ‫ﺙ ي از ن ا‬                          ‫ا‬             ‫ن‬               ‫ی‬            ‫از‬             ‫،ا‬
                                                                                                        :         ‫رت زی ا‬
expression1 ? expression2 : experssion3

،       true ‫ن‬              ‫.ا‬            Boolean ‫ع‬                           ‫اي‬       ‫ا ه ﺝ‬                     experssion1
     ‫ ارزی‬experssion3 ‫رت‬                   ‫ای‬       ‫د ، در‬                        ‫ ارزی‬expersion2 ‫رت‬                            ‫در ن‬
    ‫ﻝ از آ ر د ؟ ﺝ آ‬                  .    ‫ﺝ ت نا‬             ‫ارزی‬                 ‫؟،ه ن‬                               .        ‫ﺥ اه‬
                                                                                                                                    :
ratio = denom == 0 ? 0 : num / denom

. ‫آ‬       ‫ال ﺝ‬                                  ‫ﺝ‬                ، ‫آ‬                       ‫رت را ارزی‬                 ‫ﺝ وا ای‬      ‫و‬
    ‫و‬            ‫ال و ":" ارزی‬                            ‫رت ﺝ‬            ‫، در ن‬                            ‫ا‬         denom         ‫ا‬
‫رت‬      ‫، در ن‬                    ‫ﻝ‬       denom        ‫د. ا‬              ‫ار‬        ‫د‬        ‫رد ا‬       "?" ‫ار آ‬              ‫ان‬
                      ‫د‬          ‫آر د‬           "?" ‫ار آ‬             ‫ان‬                ‫و‬               ‫از ":" ارزی‬                 ‫ﺝ‬
                                                                               . ‫ی‬                           ratio          "‫از "؟‬
‫ق اي‬                ‫از‬           ‫ده . ای‬        ‫ن‬     ‫? را‬                    ‫آ‬        ‫آ‬           ‫ه‬        ‫اي‬                  ‫در زی‬
                                                           . ‫آ‬            ‫د‬        ‫ا‬               ‫ی‬             ‫ار‬        ‫اري‬
// Demonstrate ?.
class Ternary {
public static void main(String args[] ){
int i, k;
i = 10;
k = i < 0 ?- i : i; // get absolute value of i
System.out.print("Absolute value of ");
System.out.println(i + " is " + k);
i = -10;
k = i < 0 ?- i : i; // get absolute value of i
System.out.print("Absolute value of ");
System.out.println(i + " is " + k);
}
}
‫:‬                ‫رت زی‬                          ‫ﺥ وﺝ ای‬
‫01 ‪Absolute value of 10 is‬‬
‫01 ‪Absolute value of- 10 is‬‬

                                                                                                          ‫ه‬             ‫ﺕ م‬


‫ده .‬        ‫ن‬       ‫ی‬      ‫ی‬          ‫ی اوﻝ ی‬            ‫ه ي ﺝ وا را از‬             ‫م‬                           ‫ﺝ ول زی‬
‫:‬                       ‫در ر‬           ‫ان‬                  ‫وﺝ د دارد آ‬             ‫اول ا‬                 ‫آ در‬       ‫آ‬     ‫د‬
‫در‬      ‫د‬           ‫،ا‬                      ‫ارد ﺝ ا ز‬         ‫).( ، ای‬                      ‫ه و‬          ‫ا ه ،آ و‬
‫.‬               ‫د‬   ‫آر‬                ‫می‬             ‫اي‬      ‫ا ه‬         ‫.‬     ‫ه‬             ‫ن‬           ‫ﺝ تﺝ يه‬
     ‫اي ارﺝ ع‬                      ‫زد. از‬           ‫اه‬    ‫رای ه را‬           ‫آ دن ای آ‬                    ‫ن‬     ‫ا‬       ‫آ و‬
                                                                                                ‫د.‬        ‫د‬     ‫ه ا‬
                                                                                        ‫ی‬
                                                                  ‫][‬                        ‫)(‬
                               ‫~‬                ‫~‬                 ‫--‬                        ‫++‬
                                                ‫%‬                  ‫/‬                        ‫*‬
                                                                   ‫-‬                        ‫+‬
                                               ‫<<‬                 ‫>>>‬                       ‫>>‬
                           ‫=<‬                   ‫<‬                 ‫>=‬                        ‫>‬
                                                                  ‫=!‬                        ‫==‬
                                                                                            ‫&‬
                                                                                            ‫^‬
                                                                                            ‫|‬
                                                                                            ‫&&‬
                                                                                            ‫||‬
                                                                                            ‫:?‬
                                                                  ‫=‪op‬‬                       ‫=‬

                                                                                    ‫ی‬                ‫ی‬


                                                                                                         ‫آر دپ ا ه‬
‫اري‬           ‫اي‬             ‫ده . ای ر ا‬             ‫ا ، ا ای‬                   ‫را آ در‬                  ‫م‬                 ‫ا ه‬
                       ‫ی :‬                 ‫رت زی را در‬          ‫ل،‬        ‫ان‬         ‫.‬     ‫وري ا‬             ‫دﻝ اه ن‬
‫3 + ‪a >> b‬‬

         ‫آ‬             ‫ف را‬                 ‫ن‬         ‫‪ a‬را‬               ‫د و‬              ‫‪b‬ا‬        ‫رت ا ا ٣ را‬                     ‫ای‬
    ‫د:‬         ‫ی‬       ‫رت زی دو ر‬                     ‫ا هيا‬              ‫د از‬        ‫ا‬    ‫ان‬         ‫رت را‬                     ‫ده . ای‬
‫)3 + ‪a >>( b‬‬

‫ن‬              ‫٣ را‬            ‫داد و‬        ‫آ‬         ‫ف را‬           ‫ي‪b‬‬                   ‫اه ا ا ‪ a‬را‬                          ‫ا ،ا‬
                                           ‫ار ده :‬          ‫ا‬     ‫رت زی در‬                 ‫رت را‬             ‫، ی‬           ‫آ‬         ‫ا‬
‫3 +) ‪( a << b‬‬

‫م‬        ‫دن‬            ‫اي رو‬        ‫ان ه‬             ‫ا ه را‬          ‫،‬               ‫دي ی‬       ‫م‬                               ‫و‬
‫ر‬                  ‫رت‬          ‫ﺥ ا ، درك ی‬            ‫را‬          ‫آ آ‬          ‫اي ه آ‬          ‫د.‬    ‫ر‬                ‫رت‬             ‫ی‬
‫ت‬        ‫ا از ا‬                     ‫رات‬                    ‫و رو‬            ‫ا هيا‬               ‫دن‬                ‫.ا‬        ‫ا‬
‫؟‬              ‫و درك‬          ‫ﺥ ا‬            ‫رات زی را‬          ‫از‬        ‫ل،آ ا‬           ‫ان‬        ‫ی.‬       ‫ي‬             ‫يﺝ‬
‫7 & ‪a | 4 + c >> b‬‬
‫)) 7 &) ‪( a |((( 4 + c )>> b‬‬

‫را‬                 ‫د‬                   ‫(‬        ‫ی‬               ‫ﺥ ا ا‬           ‫رآ‬         ‫ا ه )‬             ‫:‬        ‫دی‬             ‫ی‬
               ‫م ﺙ ي روي‬             ‫ا‬      ‫اي آ ه‬         ‫ا ه‬       ‫آ دن‬                ‫ای ، ا‬          ‫ده .‬                    ‫آه‬
                                                                                                                 ‫.‬     ‫اه دا‬
‫رات‬



                                    ‫:‬          ‫وی ای‬


                  ‫ب ﺝ وا‬    ‫رات ا‬
                      ‫ار‬     ‫رات‬
                          ‫رات ش‬
                      ‫ه‬     ‫ی ی ا‬




‫د.‬   ‫ار داﺥ‬   ‫و‬       ‫رات‬     ‫،د‬        ‫اﺝ ا‬       ‫ل‬   ‫در ای‬
‫رات آ‬


‫ات‬         ‫ا س‬                              ‫اي ه ای ﺝ ی ن اﺝ اي‬                      ‫رات آ ﻝ‬              ‫زي از‬                      ‫ه ز ن‬
          ‫ه ي ذی‬                ‫د‬     ‫ان‬              ‫ه ي ﺝ وا را‬                ‫رات آ ﻝ‬             ‫آ .‬               ‫د‬        ‫نا‬                ‫و‬
      ‫ده‬                ‫ن‬       ‫هی نا‬                       ‫ب،‬         ‫رات ا‬         ‫ش.‬         ‫ب ، اآ ار و‬                 ‫د:ا‬           ‫ي‬
‫بآ .‬                ‫ا‬                 ‫ی‬              ‫ﺝ يی و‬            ‫ی ﺝ‬            ‫ا س‬            ‫را‬                    ‫ه ي اﺝ ای‬
‫رات‬        ‫،‬            ‫)ی‬          ‫ار آ‬        ‫رت را‬                 ‫ی ی‬       ‫ده‬         ‫ن‬     ‫ه ا‬                       ‫ار ،‬       ‫رات‬
           ‫ده‬               ‫ن‬       ‫هی نا‬                        ‫ش،‬       ‫رات‬        ‫ده . (‬                       ‫ه را‬                ‫ار ،‬
                                                                                                 ‫.‬         ‫اﺝ ا‬             ‫ﺥ‬         ‫رت‬
     ‫وت وﺝ د دارد‬                               ‫.ا‬           ‫ي ‪C#/C++/C‬‬                ‫ز‬             ‫رات آ ﻝ ﺝ وا‬                         ‫ﺝ :‬
                                                                                          ‫رات ‪ break‬و ‪.continue‬‬                                   ‫وی‬


                                                                                                                  ‫وا‬        ‫ب‬        ‫رات ا‬


‫را‬             ‫اﺝ اي‬                 ‫رات‬         ‫آ : ‪ if‬و ‪ .switch‬ای د‬                                    ‫ب‬        ‫را‬           ‫ﺝ وا از دو د‬
                            ‫آ .ا‬                ‫ل‬     ‫آ‬      ‫ا‬        ‫ا ق‬             ‫اﺝ اي‬                        ‫آ‬         ‫ای‬       ‫ا س‬
‫و‬               ‫ر‬           ‫ﺝ د در ای دو د‬                  ‫ی ي‬       ‫ف‬      ‫رت و ا‬            ‫‪ C++/C‬را اری ، از‬                              ‫ی‬
                                                                                                              ‫.‬            ‫زد ﺥ اه‬


                                                                                                                                                  ‫‪if‬‬


‫د و اﺝ اي‬                   ‫د‬        ‫ان ا‬             ‫ر‬      ‫. از ای د‬          ‫در ﺝ وا ا‬                 ‫ب‬            ‫را‬         ‫ر ‪ if‬د‬           ‫د‬
      ‫:‬        ‫رت زی ا‬                      ‫ر‬        ‫ای د‬    ‫آ‬         ‫ﺝ ی ن ا اﺥ .‬             ‫وت‬                     ‫دو‬            ‫را‬
‫;1‪if( condition )statement‬‬
‫;2‪else statement‬‬
‫ار‬             ‫آ‬       ‫ر‬           ‫د‬        ‫دی ی‬              ‫ر‬         ‫د‬      ‫ی‬         ‫ا‬            ‫‪statement‬‬                      ‫ه‬         ‫درای‬
     ‫ی‬      ‫آ‬         ‫ا‬        ‫ر‬                   ‫ط(ه‬           ‫. ‪) condition‬‬                        ‫ك(‬                  ‫ی‬                ‫د)ی‬          ‫در آ‬
                                                          ‫.‬      ‫‪ else‬اﺥ ري ا‬                       ‫دا . ﺝ‬                    ‫ار ‪ boolean‬را‬
‫.(‬          ‫ار ‪true‬‬            ‫‪، condition‬‬                       ‫)‬                         ‫ای‬            ‫آ :ا‬             ‫رت زی آ ر‬                           ‫‪if‬‬
‫رت وﺝ د ( اﺝ ا‬                     ‫رت 2‪ ) statement‬در‬                                 ‫ای‬        ‫د. در‬                 ‫1‪ statement‬اﺝ ا‬
         ‫ل ، در‬           ‫ان‬           ‫.‬           ‫اه‬         ‫ه اﺝ ا‬              ‫ر‬        ‫ه دو د‬            ‫ای‬               ‫ه‬              ‫.‬          ‫ﺥ اه‬
                                                                                                                                                     ‫ی :‬
‫;‪int a, b‬‬
‫... //‬
‫;0 = ‪if(a > b )a‬‬
‫;0 = ‪else b‬‬

 ‫ﺥ اه‬                 ‫ا‬        ‫رت ‪b‬‬                ‫ای‬         ‫د. در‬                             ‫ا‬    ‫‪a‬‬            ‫،‬           ‫از ‪b‬‬                    ‫‪a‬آ‬           ‫ا‬
                                           ‫.‬                              ‫ا‬             ‫در ن وا‬                ‫ای دو‬              ‫ای‬                 ‫. در ه‬
‫اي‬          ‫ه ي را‬                                  ‫د‬                 ‫د‬           ‫ل ‪ if‬ا‬        ‫اي آ‬           ‫آ‬          ‫ر‬        ‫او ت ،‬                    ‫ﻝ‬
 ‫ی‬          ‫ل زی‬           ‫ن‬           ‫ان ه‬              ‫رت ‪ if‬را‬                 ‫وﺝ د ارد.‬               ‫ور‬                               ‫، ا از‬                  ‫ا‬
                                                                                                             ‫د:‬           ‫ل‬       ‫ﻝ ه آ‬
‫;‪boolean dataAvailable‬‬
‫... //‬
‫) ‪if( dataAvailable‬‬
     ‫;)(‪ProcessData‬‬
‫‪else‬‬
     ‫;)(‪waitForMoreData‬‬



     ‫د. ا‬        ‫ار‬        ‫از ‪ if‬ی ‪else‬‬                                       ‫ا‬            ‫ر‬        ‫ی د‬               ‫آ‬                     ‫دا‬           ‫ﺥ‬
‫آ در‬                  ‫ای‬           ‫ك اری ،‬                      ‫ای د ی‬             ‫زي‬          ‫ی ،‬        ‫ي داﺥ‬                   ‫رات‬            ‫اه د‬
                                                                                                                                       ‫:‬         ‫ا‬               ‫زی‬
‫;‪int bytesAvailable‬‬
‫... //‬
‫‪if( bytesAvailable‬‬                         ‫{ ) 0 >‬
     ‫;)(‪ProcessData‬‬
     ‫;‪bytesAvailable -= n‬‬
‫‪} else‬‬
     ‫;)(‪waitForMoreData‬‬



‫از‬         ‫ر‬     ‫‪bytesAvailable‬‬               ‫ا‬        ‫ك ‪ if‬اﺝ ا ﺥ اه‬               ‫ر داﺥ‬          ‫ل ، ه دو د‬              ‫در ای‬
                                                                                                                   ‫.‬
‫ر در‬           ‫ی د‬               ‫ز‬         ‫د از ‪، if‬‬      ‫ما‬       ‫د از آ د را ه‬                 ‫ی نا‬                  ‫ﺥ از‬
‫ر‬      ‫د‬         ‫ا‬   ‫ان‬      ‫ا‬         ‫د‬                   ‫ا . ای ا‬                         ‫را‬              ‫وﺝ د دا‬        ‫ه ﺝ‬
‫، ا ش‬                 ‫. در‬           ‫اه دا‬         ‫ا ش آ دن آ ده‬               ‫از‬       ‫ا‬         ‫دو‬              ‫ي را ا‬       ‫دی‬
‫ان‬         ‫.‬         ‫وز ﺥ ه‬                ‫از د ی رای‬          ‫،ی‬         ‫زا‬        ‫آ‬            ‫كه‬           ‫ی‬    ‫ی‬       ‫آ دن‬
                                                                    ‫ی :‬                 ‫زی از ی آ را در‬                    ‫ل‬
‫;‪int bytesAvailable‬‬
‫... //‬
‫‪if( bytesAvailable‬‬                   ‫{) 0 >‬
     ‫;)(‪ProcessData‬‬
     ‫;‪bytesAvailable -= n‬‬
‫‪} else‬‬
     ‫;)(‪waitForMoreData‬‬
     ‫;‪bytesAvailable = n‬‬



     ‫داﺥ ﺝ‬                       ‫ا‬    ‫ري‬          ‫ر ;‪bytesAvailable = n‬‬                     ‫آ د‬        ‫ا‬      ‫رو‬       ‫ﺥ‬
‫اي‬         ‫يﺥ ﻝ‬           ‫د داری آ‬                   ‫.ا‬    ‫نا‬         ‫ا‬                            ‫دد ، و ای‬       ‫‪ else‬اﺝ ا‬
‫ون‬         ‫دي وﺝ د دارد. ای آ‬                                  ‫ی‬     ‫ارد و راه وﺝ د ارد آ آ‬                            ‫ﺝ وا اه‬
‫رت‬                   ‫ل‬       ‫.‬        ‫اﺝ ا ﺥ اه‬                ‫ر‬          ‫م اﺝ ا‬    ‫،ا ه‬               ‫ی ﺥ اه‬          ‫آ‬
                                                                                                       ‫د:‬         ‫ح‬        ‫زی ا‬
‫;‪int bytesAvailable‬‬
‫... //‬
‫{ ) 0 > ‪if( bytesAvailable‬‬
     ‫;)(‪ProcessData‬‬
     ‫;‪bytesAvailable -= n‬‬
‫‪} else‬‬
‫;)(‪waitForMoreData‬‬
bytesAvailable = n;
}

                                                                                                               ‫ ه ي ﺕ در ﺕ‬if


if .‫د‬           ‫ار‬           ‫ دی‬else ‫ ی‬if ‫ي ، در ی‬           ‫ دی‬if ‫رت‬          ‫آ‬      ‫، نا‬             ‫در‬          if ‫ر از‬
،       ‫ی‬               ‫در‬       ‫رت‬           ‫ ه را‬if         ‫اوﻝ . و‬     ‫ر‬          ‫زي‬                        ‫ه ي در در‬
‫رت‬          ‫ی‬      ‫دی‬                 ‫ ه‬else ‫رت‬         ‫آ ه‬       ‫ری ن ا‬                   ‫ﺥ‬           ‫ی‬       ‫آ‬        ‫ا‬
    ‫ل زی‬           .‫، ارﺝ ع دارد‬                    ‫يه‬          ‫ دی‬else            ‫ آ‬else ‫ك‬            ‫ﺝ د در ه ن‬                if
                                                                                                                    :   ‫ﺝ آ‬
if(i == 10}(
     if( j < 20 ) a = b;
     if( k > 100 ) a = d; // this if is
     else a = c;                         // associated with this else
}
else a = d;                              // this else refers to if(i == 10)



‫اآ در ه ن‬               ،                if(j<20)        ‫ی‬     else ، ‫ده‬             ‫ن‬         ‫ت‬                    ‫آ‬            ‫ه‬
    else ‫ض ، ﺥ ی‬                 ‫در‬      .(     ‫ ا‬else ‫ ون‬if ‫ی‬            ‫دی‬             ‫ار ارد ) وﺝ د‬                       ‫ك‬
‫ در‬if ‫ی‬         ‫دی‬          ‫اآ‬    ، ‫ ارﺝ ع دارد‬if(k>100)                  ‫ داﺥ‬else .               ‫ا‬               if(i==10)
                                                                                                           .       ‫كا‬        ‫ه ن‬


                                                                                                        if-else-if ‫د ن‬


‫ﺥ ر‬         ‫. ای‬        ‫ا‬              ‫ ه ي در‬if ‫از‬                ‫ا سی‬              ‫رای‬       ‫ی‬                    ‫ﺥ ر‬           ‫ی‬
                                                        :               ‫رت زی‬              ‫و‬           ‫ ا‬if-else-if ‫د ن‬
if(condition)
    statement;
else if(condition)
    statement;
else if(condition)
    statement;
.
    .
    .
else
        statement;

                       if        ‫لآ‬      ‫ای آ‬   ‫از‬     ‫ی‬       ‫. دا‬                ‫اﺝ ا‬         ‫ی‬              ‫ از‬if ‫رات‬        ‫د‬
‫ام از‬            ‫ه‬          ‫.ا‬       ‫د ن رد ﺥ اه‬           ‫د،و‬                ‫ اﺝ ا‬if ‫ن‬             ‫ا‬       ‫ره‬     ‫( ، د‬true)
            ‫ط‬        ‫ان‬          ‫ی‬     else .      ‫ی اﺝ ا ﺥ اه‬        else ‫ر‬           ‫د‬            ،                      ‫ای‬
‫م‬           ‫ ا‬else ‫ر‬         ‫ﺥ ی د‬          ،                      ‫ای دی‬           ‫آ‬       ‫ا‬        ‫آ ،ی‬                 ‫ض‬
                 ‫ه‬           ،                  ‫ای‬         ‫ی‬   ‫و‬               ‫ی وﺝ د ا‬                 else      ‫.ا‬      ‫ﺥ اه‬
                                                                                                        .         ‫اه‬      ‫م‬     ‫ا‬
    ‫آ آ ی‬                        ‫د آ د‬     ‫ ا‬if-else-if ‫آ از د ن‬               ‫آ‬           ‫ه‬        ‫اي را‬              ، ‫در زی‬
                                                                      .       ‫ا‬            ‫وا‬           ‫در آ ام‬
// Demonstrate if-else-if statement.
class IfElse{
        public static void main(String args}( []
            int month = 4; // April
            String season;


            if(month == 12 || month == 1 || month == 2)
                season = "Winter";
            else if(month == 3 || month == 4 || month == 5)
                season = "Spring";
            else if(month == 6 || month == 7 || month == 8)
                season = "Summer";
            else if(month == 9 || month == 10 || month == 11)
                season = "Autumn";
            else
                season = "Bogus Month";


            System.out.println("April is in the" + season + ".");
        }
}

                                                                          :                ‫ار زی‬                   ‫ﺥ وﺝ ای‬
April is in the Spring.



    ‫اري‬                ‫ارد آ‬                ‫آ . ﺥ اه دی آ ه‬                  ‫را ز ی‬                    ‫اه ای‬             ‫ا‬
                                  .      ‫د ن اﺝ ا ﺥ اه‬              ‫ب داﺥ‬        ‫را‬     ‫ی د‬            ‫ ه ، ی و‬month


                                                                                                                    Switch


‫اي‬               ‫د اي ا‬           ‫ر را‬     ‫. ای د‬           ‫راه در ﺝ وا ا‬              ‫ب‬      ‫را‬        ‫ ، د‬switch ‫ر‬            ‫د‬
    ‫. ای روش ی‬                        ‫رت‬         ‫ار ی‬        ‫ا س‬            ‫ی آ‬               ‫ي‬             ‫اﺝ اي‬
‫ر‬        ‫د‬       ‫آ‬          .     ‫ ا‬if-else-if ‫رات‬           ‫از د‬      ‫ر‬     ‫هي‬                   ‫اي‬                     ‫ی‬    ‫ﺝی‬
                                                                                       :                ‫ار زی‬           switch
switch(expression}(
case value1:
    //statement sequence
    break;
case value2:
    //statement sequence
    break;
.
.
.
case valueN:
    //statement sequence
    break;
default:
    //default statement sequence
}

‫ در‬values              ‫دی‬        ‫از‬   ‫،ه ی‬              char ‫ ی‬int ، short ، byte ‫ع‬                    ‫ ی از‬expression
‫ ی ی ﻝ ال‬case ‫دی‬                         ‫. ه ی از‬            expression ‫ز ر‬                   ‫ ی از ع‬case ‫رات‬                   ‫د‬
     .           ‫اري‬             ‫ ی‬case ‫دی‬        (.          ،              ،        ‫ی ی ﺙ‬            ‫)ی‬       ‫د‬
‫رت‬           ‫دی ﻝ ال‬             ‫ه ی از‬       expression ‫ار‬                 : ‫آ‬               ‫ح ق‬             switch ‫ر‬          ‫د‬
             ‫آ‬              ‫اي‬             ‫د،آ‬          ‫ا‬      ‫ي‬             ‫ار‬            ‫.ا‬                       ‫ی‬        case
،               ‫ا‬       expression ‫ار‬          ‫ه‬      ‫از ﺙ‬        ‫ه‬       ‫.ا‬        ‫ اﺝ ا ﺥ اه‬case ‫ر‬         ‫ند‬
     ‫.ا‬        ‫ اﺥ ري ا‬default ‫ر‬             ‫،ا د‬       ‫( اﺝ ا ﺥ اه‬default) ‫ض‬                     ‫ر‬      ‫د‬
‫م‬        ‫يا‬     ‫دی‬            ‫ا‬                     ‫ وﺝ د ا‬default ‫و‬                         ‫ ه‬case ‫از‬          ‫ه‬
                                                                                                  .        ‫اه‬
               ‫ر را ی ن ده . ه‬         ‫ی د‬                   ‫د‬   ‫ ا‬switch ‫ر‬          ‫ داﺥ د‬break ‫رت‬             ‫از‬
‫ار‬        switch‫ر‬             ‫از آ د‬     ‫آ‬          ‫ﺥ اول‬        ‫ی ، اﺝ ا‬              ‫اﺝ‬    break ‫ر‬         ‫ی د‬
                         .‫د‬       ‫ ﺥ رج‬switch ‫رت‬        ‫آ ل از‬                 ‫. ی‬         ‫ﺥ اه‬        ،
                    :     ‫د ا‬      ‫د‬    ‫ ا‬switch ‫ر‬     ‫آ از د‬         ‫آ‬        ‫ه‬      ‫د اي را‬     ‫ل‬        ‫در زی‬
//A simple example of the switch.
class SampleSwitch{
     public static void main ( String args[] ) {
         for(int i=0; i<6; i++ )
           switch(i){
               case 0:
                    System.out.println("i is zero.");
                    break;
               case 1:
                    System.out.println("i is one.");
                    break;
               case 2:
                    System.out.println("i is two.");
                    break;
               case 3:
                    System.out.println("i is three.");
                    break;
               default:
                    System.out.println("i is greater then 3.");
           }
     }
}

                                                                 :                 ‫ار زی‬              ‫ﺥ وﺝ ای‬
i is zero.
i is one.
i is two.
i is three.
i is greater than 3.
i is greater than 3.



              i        ‫د و‬      case        ‫ا ﺙ‬   ‫آ ه‬      ‫را‬    ‫،د‬             ‫، داﺥ‬     ‫آ‬         ‫ه‬         ‫ری‬        ‫ه‬
      ‫ر‬       i         ‫از ای‬    .                ‫ا‬             ‫رات‬        ‫ی د‬        .        ‫، اﺝ ا ﺥ اه‬              ‫دا‬
‫رت‬                ‫ای‬       ‫د،و‬         ‫اه‬     expression ‫ار‬           ‫ا‬     case ‫دی‬            ‫ی از‬      ‫د،ه‬       ٣ ‫از‬
                                                                                               .‫د‬        ‫ اﺝ ا‬default
     ‫ي ادا‬             case             ‫، اﺝ اي‬       ‫فآ‬        ‫ را‬break         ‫.ا‬       ‫ اﺥ ري ا‬default ‫ر‬             ‫د‬
‫ان‬        .                ‫دا‬           ‫ در‬break ‫رات‬        ‫ ون د‬case ‫ی‬                    ‫ا‬            ‫. ه‬    ‫ﺥ اه ی‬
                                                                          : ‫ی‬             ‫ي را در‬                  ،‫ل‬
//In a switch/ break statements are optional.
class MissingBreak{
     public static void main(String args[] ){
       for(int i=0; i<6; i++ )
              switch(i}(
                   case 0:
                   case 1:
                   case 2:
                   case 3:
                   case 4:
                       System.out.println("i is less than 5");
                       break;
                   case 5:
                   case 6:
                   case 7:
                   case:٨
                   case 9:
                       System.out.println("i is less than 10");
                       break;
                   default:
                       System.out.println("i is 10 or more");
              }
}
:‫د‬        ‫ار زی ﺥ اه‬                    ‫ﺥ وﺝ ای‬
i is less than 5
i is less than٥
i is less than 5
i is less than 5
i is less than 5
i is less than 10
i is less than 10
i is less than 10
i is less than 10
i is less than 10
i is 10 or more
i is 10 or more

break ‫ر‬       ‫ی د‬        ‫ن‬    ‫ر‬                ، case ‫ه‬         ‫آ ، اﺝ ا‬               ‫ه‬          ‫ری‬           ‫ه‬
                                                               .‫د‬                    ( switch ‫ي‬            ‫)ی ا‬
 ‫ف‬     ‫ل‬               ‫د،ا‬                 ‫ا‬          ‫ﺥ‬                   ‫اي‬               ‫ل‬           ‫ﻝ‬    ‫در‬
 ‫ن دادن‬      ‫اي‬       .‫دارد‬       ‫ه ي وا‬             ‫زی دي در‬           ‫ آ ر ده ي‬break ‫ر‬                        ‫د‬
 ‫ل‬    ‫ل‬           ‫ط‬                              ‫ی‬     ‫ع ، دو ر‬                ‫ای‬              ‫آ ر ده ي وا‬
‫زي‬     ‫د‬          ‫آ‬       ‫د‬   ‫ ا‬switch ‫از‬                  ‫ی . ای روای ﺝ ی ه ن‬                     ‫ه‬           ‫را‬
                                                                                    . ‫ي را ارا ده‬          ‫ﺙ‬
//An improved version of the season program.
class Switch{
 public static void main(String args[]){
     int month = 4;
     String season;
     switch(month){
       case 12:
       case 1:
       case 2:
           season = "Winter";
           break;
       case 3:
       case 4:
       case 5:
           season = "Spring";
break;
             case 6:
             case 7:
             case 8:
                 season = "Summer";
                 break;
             case 9:
             case 10:
             case 11:
                 season = "Autumn";
                 break;
             default:
                 season = "Bogus Month";
        }
            System.out.println("April is in the" + season + ".");
    }
}


                                                                                        ‫ ﺕ در ﺕ‬Switch ‫رات‬


. ‫ی‬         ‫د‬        ‫ا‬    ‫ ﺥ رﺝ‬switch ‫ر‬          ‫ی د‬               ‫از‬              ‫ان‬    switch ‫از ی‬   ‫ا‬
    ‫ط‬            ‫ك‬        ‫آ‬   ‫ی‬       switch ‫ر‬    ‫د‬        ‫ی‬       ‫. از‬                 ‫ در‬switch ‫ﻝ را‬       ‫ای‬
switch           ‫ی آ در‬           ‫و‬    ‫ داﺥ‬switch ‫ در‬case ‫ي‬                    ‫ﺙ‬             ‫،ه‬        ‫ﺥ دش‬
             .       ‫ا‬        ‫يآ‬            ،‫ل‬        ‫ان‬       .          ‫اه‬        ‫ا ، ﺝ د‬       ‫ار‬       ‫ﺥ رﺝ‬
switch(count}(
    case 1:
        switch(target){ // nested switch
             case 0:
                 System.out.println("target is zero”);
                 break;
             case 1:// no conflicts with outer switch
                  System.out.println("target is one”);
                  break;
    }
‫;‪break‬‬
‫... // :2 ‪case‬‬

‫اه‬                          ‫ر1 ‪ case‬در ‪ switch‬ﺥ رﺝ‬                                       ‫د‬             ‫ر 1 ‪ case‬در ‪ switch‬داﺥ‬                            ‫د‬         ‫در ای‬
‫‪count‬‬                     ‫د. ا‬                        ‫ی‬          ‫ﺥ رﺝ‬                ‫‪ case‬ه در‬                                          ‫‪count‬‬                  ‫.‬               ‫دا‬
        ‫،‬            ‫رﺥ‬                   ‫.‬          ‫ﺥ اه‬         ‫ی‬          ‫‪ case‬ه ي داﺥ‬                                       ‫‪target‬‬            ‫،‬          ‫١‬             ‫ا‬
                                                                                             ‫:‬             ‫ﺝ ه‬                 ‫ر ‪switch‬‬           ‫از د‬                         ‫ﺝ‬
 ‫‪ if‬ه‬            ‫ﻝ‬    ‫ده ، در‬                     ‫م‬        ‫ا‬       ‫آ‬     ‫ز ی‬                     ‫ن ‪switch‬‬                       ‫وت ا‬         ‫١ - ‪if switch‬‬
‫رت و‬             ‫ار‬                                   ‫لی‬                 ‫آ ‪switch‬‬                          ‫آ .ی‬                     ‫رت ﻝ را ارزی‬                       ‫ع‬
                                                                                                       ‫دد .‬                ‫ه ي ‪ case‬ﺥ دش‬                     ‫از ﺙ‬               ‫ی‬
‫ر‪switch‬‬                   ‫،ی د‬                ‫. اﻝ‬                    ‫ن دا‬       ‫دی ی‬                      ‫ا‬               ‫‪ case‬در ‪switch‬‬                    ‫٢ - دو ﺙ‬
                      ‫.‬                   ‫ك دا‬                 ‫ي ‪case‬‬            ‫ا ﺙ‬                             ‫داﺥ ی ‪ switch‬ﺥ رﺝ‬                                   ‫ار‬
                ‫در‬         ‫از ‪ if‬ه ي‬                                   ‫از ی‬                  ‫ر آر‬                                   ‫ر ‪switch‬‬          ‫د‬        ‫٣ - ی‬
                                                                                                                                                                   ‫.‬            ‫ا‬
    ‫ی‬       ‫.آ‬                   ‫ی ﺝ وا‬                   ‫آر آ‬                       ‫زی ا رو‬                     ‫ﺝ ا‬                ‫ص ﺝﻝ‬                             ‫ﺥ ی‬
‫د‬                ‫آ‬         ‫ي ‪case‬‬                  ‫ه ی از ﺙ‬              ‫آ ،‬                       ‫ی‬       ‫ر ‪ switch‬را آ‬                 ‫ی د‬                  ‫ﺝ وا ه‬
‫رت‬              ‫ﺝ د در‬               ‫ار‬           ‫اﺝ ا ا س‬                       ‫ب‬               ‫اي ا‬           ‫زد آ‬                ‫و ی ﺝ ول ‪jump table‬‬
‫ر‬           ‫ی ،ی د‬                   ‫ب‬            ‫دی ا‬           ‫از‬     ‫ر‬            ‫و‬           ‫ن‬         ‫ی از‬                ‫ای ، ا‬        ‫د.‬                  ‫د‬              ‫ا‬
‫ر‬           ‫،‬                    ‫ي‬            ‫آ‬                  ‫دل و‬        ‫ر‬               ‫از ‪ if-else‬ه آ‬                              ‫ی‬                ‫‪switch‬‬
    ‫ي‬           ‫دا آ ﺙ‬                        ‫ن‬            ‫ای ر را ا م ده‬                              ‫در ا‬            ‫ی‬       ‫. آ‬       ‫اﺝ ا ﺥ اه‬                     ‫ی‬
    ‫ی‬       ‫.آ‬                   ‫ی‬                ‫اي آ‬           ‫رت ‪switch‬‬                             ‫د‬          ‫ع د و ی ﺥ‬                       ‫از ی‬        ‫‪case‬ه‬
                                                      ‫رات ‪ if‬ارد.‬                    ‫از‬                                         ‫ی‬            ‫ی را‬


                                                                                         ‫رات ﺕ ار ) ‪( Iteration Statements‬‬                                                     ‫د‬


                ‫را‬         ‫رات ن‬                  ‫از ‪ while ، for‬و‪ .do-while‬ای د‬                                           ‫ر‬         ‫ار در ﺝ وا‬           ‫رات‬                  ‫د‬
‫اري‬             ‫ر‬          ‫را‬             ‫راﻝ‬             ‫از د‬                   ‫ی‬                ‫آ‬        ‫دا‬                   ‫آ .ا‬          ‫، ای د‬
‫ا ﺥ اه دی ، ﺝ وا‬                 ‫ری‬      ‫ی.ه‬            ‫ت‬       ‫را‬     ‫ط ی‬             ‫ی‬        ‫ای‬     ‫آ .‬            ‫اﺝ ا‬
                                                   ‫.‬         ‫ا‬             ‫ی‬              ‫زه ي‬            ‫اي آ‬           ‫اي دارد آ‬


                                                                                                                          ‫‪While‬‬


                    ‫ر دا‬     ‫. ای د‬        ‫زي )‪ (looping‬در ﺝ وا ا‬                     ‫ر‬        ‫ی د‬               ‫‪ while‬ا‬
     ‫ای‬     ‫آ‬          ‫آ .‬      ‫ار‬        ‫ك را‬         ‫ری ی‬         ‫،ی د‬        ‫)‪(true‬‬                ‫،‬        ‫رت آ ل آ‬
                                                                                                 ‫:‬        ‫ار زی ا‬           ‫ر‬        ‫د‬
‫{) ‪while( condition‬‬
 ‫‪//body of loop‬‬
‫}‬

               ‫دا‬                    ‫رت‬            ‫. دا‬               ‫رت ﻝ‬        ‫ه‬        ‫ا‬           ‫ط ی ‪condition‬‬
‫ي‬           ‫ﺥ‬                   ‫،آ ل‬                    ‫ا‬             ‫ط‬               ‫.ه‬             ‫اﺝ ا ﺥ اه‬                       ‫،‬
‫د در‬            ‫ر‬      ‫ی د‬            ‫.ا‬         ‫ﺥ اه‬             ‫ار دارد ،‬     ‫ﺝ ري‬            ‫از‬                          ‫آيآ‬
                                                       ‫.‬         ‫وري ا‬            ‫د از ا وه‬               ‫،ا‬         ‫ار‬         ‫ل‬
    ‫"‪"tick‬‬           ‫د ﺥ‬       ‫آ د و د‬                      ‫٠١ را‬         ‫‪ while‬وﺝ د دارد آ‬                          ‫ی‬      ‫در ای‬
                                                                                                               ‫آ .‬         ‫پ‬        ‫را‬
‫.‪//Demonstrate the while loop‬‬
‫{ ‪class While‬‬
     ‫{)][‪public static void main(String args‬‬
           ‫;01 = ‪int n‬‬
           ‫‪while(n‬‬           ‫{) 0 >‬
                ‫;) ‪System.out.println("tick" + n‬‬
                ‫;--‪n‬‬
           ‫}‬
      ‫}‬
‫}‬

                               ‫"‪ "tick‬را ا م ﺥ اه داد :‬                        ‫آ ،د‬        ‫را اﺝ ا‬                   ‫ای‬             ‫ه‬
‫01 ‪tick‬‬
‫9 ‪tick‬‬
‫8 ‪tick‬‬
‫7 ‪tick‬‬
tick 6
tick 5
tick 4
tick 3
tick 2
tick 1

    ‫ط ا ای‬         ‫،ا‬             ‫ارزی‬           ‫ي‬       ‫ﺥ د را در‬                        ‫رت‬            while               ‫ی‬      ‫از‬
println()        ‫اﺥ ا‬      ، ‫زی‬           ‫ل ، در‬          ‫ان‬           .     ‫اه‬           ‫اﺝ ا‬                     ،
                                                                                                        .     ‫اه‬        ‫اﺝ ا‬        ‫ه‬
int a = 10, b = 20;
while(a > b)
System.out.println("This will not be displayed”);

        ‫ري آ‬     ‫د‬         ‫ر‬      ‫. زی ا د‬                         ‫ا‬         ‫در ﺝ وا‬               ‫دی‬           ‫ ی ه‬while
        ‫زی را در‬             ،‫ل‬      ‫ان‬      .       ‫ا‬             ‫در ﺝ وا‬            ‫آ‬            ‫ا‬          ‫، از‬          ;
                                                                                                                            : ‫ی‬
//The target of a loop can be empty.
class NoBody {
public static void main(String args[]){
int i/ j;
i = 100;
j = 200;
//find midpoint between i and j
while(++i < --j); // no body in this loop
System.out.println("Midpoint is" + I );
}
}


    ‫آ و ﺥ وﺝ زی را ﻝ ﺥ اه‬                        ‫ا‬       ‫ را‬j ‫ و‬i             (midpoint)                                            ‫ای‬
                                                                                                                                :‫آ د‬
Midpoint is          150

        . ‫ی‬          ‫ آ ه‬j ‫ار‬      ‫و‬      ‫ ا ای‬i ‫ار‬         .               ‫ را‬while                     ‫آر‬                      ‫در ای‬
،        j ‫ار ﺝ ی‬       ‫از‬      ‫نآ‬        ‫ ه‬i ‫ار ﺝ ی‬                   ‫.ا‬                      ‫ی‬            ‫ی ی‬        ‫ار‬       ‫ای دو‬
    .     ‫ﺥ اه‬                  ،‫د‬        j ‫از‬       ‫ر‬         ‫ی‬       ‫وي‬         i       ‫.ا‬            ‫ار ﺥ اه‬
‫آ‬               ‫ا‬            ‫.) ی‬                    ‫دی اوﻝ ‪ i‬و ‪j‬‬                    ‫دآ‬           ‫اري را‬              ‫،‪i‬‬          ‫ه م ﺥ وج از‬
‫، زي‬                                        ‫ری‬           ‫.(ه‬          ‫ار اوﻝ ‪j‬‬           ‫از‬           ‫آ آ ‪i‬آ‬                    ‫آر‬            ‫ای روی ه‬
‫اي‬                           ‫ا . در آ ه ي‬                  ‫ا ق‬                  ‫رت‬        ‫ت داﺥ ﺥ د‬                         ‫،آ‬
        ‫ت ﺥ د را دا‬                             ‫ﺝ‬    ‫آ‬     ‫ی ی‬           ‫ا ی‬       ‫رت آ ل آ‬                   ‫آ‬       ‫ﺝ وا ، و‬           ‫دی‬
                                                                           ‫.‬             ‫ي‬       ‫آ‬        ‫ون‬          ‫ﻝ‬           ‫هيآ‬              ‫،‬


                                                                                                                                             ‫‪Do-While‬‬


            ‫ا‬                                                       ‫‪ while‬در ا ا‬                  ‫ی‬       ‫آ لآ‬                        ‫رت‬           ‫ا‬
        ‫رت دی‬                        ‫د.‬     ‫ی ر اﺝ ا‬           ‫ا‬                   ‫،‬      ‫ای‬              ‫در‬      ‫ی‬         ‫ه‬         ‫د. ا‬             ‫اﺝ ا‬
‫، ﺝ وا‬                                    ‫آ .ﺥ‬        ‫را ز ی‬              ‫ي‬      ‫در ا‬      ‫رت ی ن ده‬                        ‫ی‬           ‫تﺥ‬             ‫، در‬
        ‫ا‬               ‫‪ do-while‬ه ار‬                              ‫ده .‬         ‫آ ر را ا م‬            ‫ه‬       ‫آ آ د‬                           ‫اي را‬
                ‫.‬            ‫ا‬             ‫ار‬             ‫ي‬        ‫ن در ا‬                ‫رت‬       ‫آ ، زی ا‬                 ‫ﺥ د را اﺝ ا‬                 ‫ی ر‬
                                                                                                                  ‫:‬             ‫رت زی ا‬            ‫ن‬     ‫آ‬
‫{ ‪Do‬‬
‫‪//body of loop‬‬
‫;)‪}while(condition‬‬

                        ‫رت‬                  ‫ارزی‬                   ‫د ،‬         ‫را اﺝ ا‬                ‫‪ do-while‬ا ا‬                       ‫ار از‬           ‫ه‬
‫رت‬                      ‫ای‬           ‫. در‬           ‫اﺝ ا ﺥ اه‬              ‫،‬       ‫)‪(true‬‬                 ‫رت‬               ‫ای‬     ‫دازد. ا‬              ‫ﺥ د‬
‫.‬                       ‫ﻝ‬            ‫رت‬             ‫ی ی‬       ‫ط‬           ‫ه ي ﺝ وا ،‬                      ‫آ‬                ‫د.‬                 ‫ین‬
‫ده .‬                             ‫ن‬        ‫‪ do-while‬را‬                      ‫)‪ (tick‬وﺝ د دارد آ‬                         ‫از‬         ‫دی‬     ‫روای‬       ‫ی‬     ‫ای‬
                                                                                   ‫د:‬          ‫ﺥ اه‬                                           ‫ﺥ وﺝ ای‬
‫.‪//Demonstrate the do-while loop‬‬
‫{ ‪class DoWhile‬‬
‫{)][‪public static void main(String args‬‬
‫;01 = ‪int n‬‬
‫{‪do‬‬
‫;)‪System.out.println("tick" + n‬‬
‫;--‪n‬‬
‫;) 0 > ‪}while ( n‬‬
}
}

           ‫ان ن را‬              ‫،ا‬           ‫ا‬                             ‫از‬            ‫،ا‬                    ‫ﺝ د در‬
                                                                      :‫د‬             ‫ی‬         ‫رت زی دو ر‬                ‫آ را ي‬
do {
System.out.println("tick " + n);
} while (--n > 0);

‫رت‬             ‫را در ی‬              ‫اي‬           ‫ و ز ی‬n          ‫آه‬            ، (--n>0) ‫رت‬                   ، ‫ل‬         ‫در ای‬
    n ‫د و‬                  ‫ اﺝ ا‬n ‫ر‬              ‫. ا ا د‬             ‫ي ا‬        ‫ار‬             ‫د ن‬             .     ‫ا‬
    ‫د. ا‬               ‫ی‬                         ‫ار‬        ‫دا . ای‬              n        ‫ار ﺝ ی را‬         ‫داد و‬          ‫را آ ه‬
                  .‫د‬           ‫ین‬                ‫رت‬        ‫ای‬        ‫ی . در‬              ‫ادا‬         ،               ‫از‬     ‫ر‬
           ‫ی‬               ‫، زی ا‬        ‫ا‬       ‫د‬     ‫ر‬             ‫ب‬      ‫ه م دازش ا‬                   ‫ ی‬do-while
‫رات‬        ‫اي د‬   ‫د را‬        Help                     ‫ي را آ ی‬                 .‫د‬        ‫ی ر اﺝ ا‬         ‫ا‬                    ‫ی‬
                                                 : ‫ی‬              ‫آ در‬          ‫زي‬             ‫ب در ﺝ وا د‬           ‫ار و ا‬
//Using a do-while to process a menu selection
class Menu}
public static void main(String args[])
throws java.io.IOException{
char choice;
do {
System.out.prinln("Help on:”);
System.out.prinln(" 1 .if”);
System.out.prinln(" 2 .switch”);
System.out.prinln(" 3 .while”);
System.out.prinln(" 4 .do-while”);
System.out.prinln(" 5 .forn”);
System.out.prinln("Choose one:”);
choice =( char )System.in.read();
} while(choice < ‘1’ || choice > ‘5’ );
System.out.println("n”);
switch(choice){
case ’1’:
System.out.println("The if:n”);
System.out.println("if(condition( statement;”);
System.out.println("else statement;”);
break;
case ‘2’:
System.out.println("The switch:n”);
System.out.println("switch(expression){“);
System.out.println(" case constant:”);
System.out.println(" statement sequence;("
System.out.println(" break;”);
System.out.println(“ //…”);
System.out.println(“}”);
break;
case ’3’:
System.out.println("The switch:n”);
System.out.println(while(condition )statement; ”);
break;
case ‘4’:
System.out.println("The do-while:n”);
System.out.println("do {”);
System.out.println(" statement; ”);
System.out.println("} while( condition );”);
break;
case ‘5’:
System.out.println("The for:n”);
System.out.print("for(init; condition ;iteration)”);
System.out.println(" statement;”);
break;
}
}
}

                   :   ‫آ‬      ‫ه‬     ‫را‬   ‫ای‬            ‫ﻝ‬   ‫اآ ن ی اﺝ اي‬
Help on:
1. if
2. switch
3. while
4. do-while
5.for
Choos one:
4
‫:‪The do-while‬‬
‫{ ‪do‬‬
‫;‪statement‬‬
‫;)‪} while (condition‬‬

‫،‬                 ‫را وارد آ د‬                                    ‫ی‬            ‫ی‬     ‫آر‬           ‫ی ای‬               ‫اي‬               ‫‪do-while‬‬                    ‫، از‬                  ‫در‬
     ‫ا‬         ‫ی‬                ‫ی‬               ‫. از‬             ‫ن ﺥ اه‬                 ‫دا ا‬           ‫آر‬               ‫رت ،‬                  ‫ای‬        ‫د. در‬                  ‫د‬            ‫ا‬
‫در ر‬                   ‫دی‬                       ‫.‬           ‫دا‬                    ‫م ای‬         ‫اي ا‬             ‫در ی ، ‪ do-while‬ﻝ آ‬                                     ‫ی‬        ‫ی ر‬
              ‫)(‪ system.in.read‬ﺥ ا‬                                       ‫اﺥ ا‬                         ‫آ‬                 ‫آ آ راآ ه از‬                         ‫آ‬        ‫ل:د‬                  ‫ای‬
                                                                                         ‫.‬       ‫ل در ﺝ وا ا‬                 ‫از ا ورودي آ‬                             ‫. ای ی‬
     ‫از‬           ‫،ا‬            ‫آ ل‬                 ‫ي‬                    ‫ي‬                     ‫ي ‪ I/O‬ﺝ وا‬                                ‫رو‬                       ‫ر‬                         ‫ا‬
             ‫. ای‬           ‫ا‬               ‫د‬           ‫ا‬        ‫آ ر‬                ‫ی‬        ‫وردن‬                       ‫اي‬                     ‫)(‪ system.in.read‬در ای‬
               ‫دا‬                               ‫د‬       ‫ان‬               ‫ه‬         ‫ﺥ ا . ) آ را‬                     ‫ارد‬                  ‫آ راآ ه را از ورودي ا‬
                        ‫ورود‬                        ‫.( و‬                            ‫ی‬          ‫‪char‬‬        ‫ی ‪casting‬‬                              ‫از‬    ‫دﻝ‬        ‫ه‬         ‫،و‬
         ‫،‬                                             ‫ه‬             ‫ا ار ل را‬                        ‫ای‬            ‫،‬            ‫ا‬            ‫ﺥ‬              ‫نی‬           ‫ض،ه‬
                                                                                                                        ‫ر ده .‬                     ‫‪ ENTER‬را‬                            ‫ی‬
         ‫ه‬                              ‫و‬                   ‫.‬                            ‫را‬       ‫ر‬         ‫ا‬                    ‫ل ورود ﺝ وا‬                              ‫دن‬       ‫ر‬
‫ن از‬                    ‫ای‬          ‫دی‬                  ‫د.‬               ‫ﺥ اه‬                                   ‫و‬                    ‫ا‬        ‫ﺝ وا ،‬         ‫ه‬          ‫وا‬             ‫وا‬
‫د‬             ‫ی از ‪ throws.java.io.IOExeption‬ا‬                                                                  ‫،‬            ‫ا‬                ‫د‬        ‫)(‪ system.in.read‬ا‬
                                                                                                                                                                                   ‫.‬


                                                                                                                                                                                   ‫‪for‬‬


‫رت‬                  ‫ر‪for‬‬            ‫د‬           ‫آ‬                ‫.‬           ‫ر روان ا‬             ‫و‬         ‫ﺥ ر ر‬                             ‫‪ for‬ی‬               ‫ﺥ اه دی آ‬
                                                                                                                                                                      ‫:‬          ‫زی ا‬
‫{) ;‪for(initialization; condition ;iteration‬‬
‫‪//body‬‬
‫{‬

‫ي‬             ‫ح‬         ‫‪for‬‬                     ‫د‬                    ‫.‬            ‫ده‬                  ‫زي‬            ‫د،‬               ‫ار‬                ‫ر ی‬        ‫ی د‬                       ‫ا‬
‫د.‬                  ‫اﺝ ا‬                    ‫ار ده اوﻝ در‬                                 ‫د‬             ‫وع‬               ‫ر‬                ‫اي اوﻝ‬                   ‫آ‬         ‫.و‬              ‫ا‬
‫ان ی‬            ‫آ ،آ‬                   ‫را‬             ‫آ ل‬                   ‫ار‬          ‫آ‬      ‫رت ا‬               ‫ی‬             ‫، ای‬
‫ی ر‬                 ‫ار ده اوﻝ‬          ‫رت‬            ‫آ‬        ‫ا‬        ‫ا‬             ‫را ا م ﺥ اه داد.‬                     ‫،آ ل‬             ‫ر‬
    ‫. ای‬           ‫رت ﻝ‬            ‫ط ی ی‬                 ‫د . ای‬                 ‫ار‬             ‫رد ارزی‬       ‫ط‬                 ‫د.‬          ‫اﺝ ا‬
‫)‪(true‬‬                   ‫رت‬            ‫آ .ا‬               ‫ی‬       ‫ار ه ف‬                  ‫را‬       ‫آ ل‬                    ‫ار‬
‫ار‬                   ‫،‬    ‫د.‬             ‫ین‬                                               ‫.ا‬       ‫اﺝ ا ﺥ اه‬                               ‫،‬
‫آ ل را‬                   ‫ار‬        ‫آ‬         ‫ا‬       ‫ر‬                                    ‫د . ای‬             ‫اﺝ ا‬              ‫)‪(iteration‬‬
‫آ ،‬                 ‫را ارزی‬              ‫رت‬              ‫،ا ا‬              ‫ار ﺥ اه‬                           ‫ده .‬                  ‫ی آه‬    ‫ا ای‬
    ‫. ای‬           ‫ر )‪ (pass‬اﺝ ا‬             ‫ار را در ه‬               ‫رت‬             ‫ا م‬          ‫آ و‬            ‫را اﺝ ا‬
                                         ‫دد .‬        ‫)‪(false‬‬                                     ‫رت‬               ‫ی‬            ‫ر داد‬       ‫روال‬
           ‫:‬       ‫د آ د ا‬         ‫‪ for‬ا‬                 ‫آ از ی‬                      ‫"‪ "tick‬را‬               ‫در زی روای ﺝ ی ي از‬
‫.‪//Demonstrate the for loop‬‬
‫{ ‪class ForTick‬‬
‫{)][‪public static void main(String args‬‬
‫;‪int n‬‬
‫{)--‪for(n=10; n>0; n‬‬
‫;)‪System.out.println("tick" + n‬‬
‫}‬
‫}‬


                                                                                    ‫‪for‬‬         ‫در ﺡ‬     ‫لﺡ‬                    ‫ه‬               ‫ﺕ ی‬


‫ز د و آر د‬                    ‫رد‬             ‫اي ه ن‬                    ‫آ ،‬                ‫‪ for‬را آ ل‬                      ‫يآ ی‬                  ‫ﻝ‬
‫ن‬          ‫‪ for‬ا‬          ‫ار ده اوﻝ‬                           ‫را داﺥ‬                 ‫ان ن‬           ‫،‬    ‫ﻝ‬                 ‫دی ي ارد. در‬
‫‪n‬‬              ‫ی‬      ‫آ ل‬                ‫آ‬       ‫آ‬                ‫ه‬        ‫را‬                      ‫ه ن‬        ‫ل در ای‬              ‫ان‬      ‫د.‬
                                                                       ‫.‬        ‫ا‬         ‫ن‬      ‫‪ for‬ا‬            ‫ان ی ‪ int‬در داﺥ‬
‫.‪//Declare a loop control variable inside the for‬‬
‫{ ‪class ForTick‬‬
‫{)][‪public static void main(String args‬‬
‫‪//here/ n is declared inside of the for loop‬‬
‫)--‪for(int n=10; n>0; n‬‬
System.out.println("tick" + n);
}
}

                ‫ی د دا‬     ‫را ی‬                   ‫،ی‬       ‫آ‬         ‫ن‬     ‫ ا‬for             ‫را داﺥ ی‬                   ‫ی‬              ‫ه‬
‫ود‬                     ‫و‬        ‫ی .)ی‬             ‫د، ین‬                   ‫ ا م‬for ‫ر‬          ‫د‬              ‫ه‬           ‫و ن‬             :
            ‫اه از ای‬            ‫د. ا‬                                     ‫ت ن‬      for        ‫. ( ﺥ رج از‬            ‫ ا‬for
‫ن‬      ‫ ا‬for               ‫را داﺥ‬          ‫ی ن‬         ،           ‫د آ‬     ‫ا نا‬          ‫در ﺝ ي دی ي از‬                        ‫آ ل‬
                                                                                                                              . ‫ی‬
       ‫ی ن ﺝ وا ن‬                          ‫، اآ‬        ‫رد ز‬               ‫ﺝ ي دی ي‬                ‫آ ل‬               ‫آ‬        ‫ای‬        ‫در‬
‫ل‬           ‫آ‬      ‫آ‬        ‫ه‬       ‫د را‬                   ‫ی‬         ‫ل ، در ای‬      ‫ان‬        . ‫آ‬           ‫ن‬       ‫ ا‬for ‫را داﺥ‬
    ‫، داﺥ‬                ‫رد ز‬       ‫ن ﺝ ي دی ي‬                 ،          ‫آ ل‬            ‫آ‬        ‫آ‬   ‫دد. د‬                 ‫ا اد اول‬
                                                                                                        .       ‫ا‬       ‫ن‬         ‫ ا‬for
//Test for primes.
class FindPrime {
public static void main(String args[]){
int num;
boolean isPrime = true;
num = 14;
for(int i=2; i <= num/i; i++){
if((num % i )== 0 ){
isPrime = false;
break;
}
}
if(isPrime )System.out.println("Prime”);
else System.out.println("Not Prime”);
}
}

                                                                                                  Comma              ‫د از آ‬             ‫ا‬


‫ و‬initialization ‫ار ده اوﻝ‬                                 ‫ر در‬           ‫از ی د‬              ‫ی‬       ‫ی آ‬                         ‫ای‬
      : ‫ی‬                  ‫ي را در‬                 ‫ﺝ د در‬                  ،‫ل‬      ‫ان‬         .             (iteration) ‫ار‬
class Sample {
public static void main(String args[]){
int a, b;
b = 4;
for(a=1; a<b; a++){
System.out.println("a = " + a);
System.out.println("b = " + b);
b--;
}
}
}

                  ‫ی‬     ‫د. از‬           ‫آ ل‬           ‫دو‬          ‫ار ط‬                     ،                 ‫ری‬       ‫ه‬
‫ه دو را در‬              ‫ا‬       ،    ‫ادار آ‬          ‫رت د‬         ‫ را‬b       ‫ي ای‬         ،‫د‬          ‫ادار‬           ‫دو‬
     ‫ا‬                 ‫دو ی‬     ‫اي ای‬        ‫اي ای ر دارد‬         ‫ﺝ وا راه‬                 ‫.ﺥ‬            for ‫ر‬        ‫د‬
‫ار‬        ‫ي‬       ‫ر را در‬       ‫ی د‬             ‫ده‬      ‫ن‬     ‫ا‬           ‫، ﺝ وا‬          ‫ را آ ل آ‬for                 ‫ی‬
         ‫يﺝا‬      ‫ر‬     ‫از د‬        ‫ی آ‬          ‫ر را‬       ‫ار ده . ه د‬             for         ‫ار‬     ‫ده اوﻝ و‬
                                                                                                                   . ‫آ‬
     :‫د‬       ‫ي‬       ‫رت زی آ‬           ‫ان‬            ‫آ را از‬           ‫،ﺥ‬     ‫د از آ‬          ‫را ا‬          for
//Using the comma.
class Comma {
public static void main(String args[]){
int a, b;
for(a=1, b=4; a<b; a++, b--){
System.out.println("a = " + a);
System.out.println("b + " = b);
}
}
}

         ‫ار‬            ‫آ .ه رآ‬                   ‫ و را‬b‫ و‬a ‫دی‬           ، ‫ار ده اوﻝ‬                   ،‫ل‬           ‫در ای‬
    ‫. ﺥ وﺝ ای‬           ‫( اﺝ ا ﺥ اه‬itration) ‫ار‬                    ‫در‬     ‫آ‬                    ‫رﺝا‬      ‫د ، دو د‬
                                                                                     :               ‫ار زی‬
a=1
b=4
‫2=‪a‬‬
‫3=‪b‬‬

              ‫ی‬    ‫آ‬          ‫،‬            ‫آ در ای ز‬                ‫دا‬                     ‫ی داری ،‬                      ‫‪C++/C‬‬                     ‫:ا‬
             ‫. در ﺝ وا ،‬          ‫ر‬        ‫. ا در ﺝ وا ای‬                       ‫د ا‬        ‫ا‬               ‫ي‬         ‫رت‬                      ‫آ در ه‬         ‫ا‬
                                            ‫.‬                ‫ل‬          ‫ا‬         ‫‪for‬‬                  ‫در‬            ‫آ‬           ‫ا‬           ‫ی ﺝ اآ‬        ‫آ‬


                                                                                                                   ‫‪for‬‬            ‫از اﺵ ل ﺡ‬


    ‫ده . دﻝ‬             ‫رت و آ ر ي ن را ا ای‬                        ‫آ آ‬                                                          ‫ادي‬          ‫‪ for‬از‬
‫ار ،‬          ‫طو‬        ‫ارده اوﻝ ، ز ن‬                                            ‫ارد آ‬                    ‫آ ﻝ و‬                 ‫ف ی ي نا‬                   ‫ا‬
‫اي ه ه ف‬               ‫‪for‬‬                      ‫،‬                 ‫. در‬                ‫ار‬           ‫د‬        ‫رد ا‬         ‫اي ه ن اه اف‬
                                                    ‫.‬              ‫ل ﺝ‬                                 ‫.‬       ‫د ه‬           ‫ا‬                        ‫رد‬
    ‫ارد ای‬         ‫،ﻝ و‬                ‫ر‬        ‫.‬       ‫ا‬                   ‫رت‬                 ‫ط‬                                         ‫ی‬     ‫از رای‬       ‫ی‬
        ‫طآ لآ‬             ‫،‬       ‫ی . در‬                ‫دی ه ف ز ی‬                             ‫ﺥ‬            ‫را‬               ‫آ ل‬                  ‫رت ،‬
        ‫ی :‬               ‫زی را در‬              ‫ل،‬           ‫ان‬             ‫.‬          ‫رت ﻝ‬                    ‫ع‬         ‫ه‬           ‫ا‬            ‫‪for‬‬
‫;‪boolean done = false‬‬
‫{)++‪for(int i=1; !done; i‬‬
‫...//‬
‫;‪if(intettupted ()) done=true‬‬
‫}‬

‫ﺥ اه داد.‬          ‫د ، اﺝ ا را ادا‬          ‫دل ‪true‬‬               ‫ﻝ ‪done‬‬                                         ‫‪ for‬ز‬                       ‫ل،‬         ‫در ای‬
    ‫ه‬        ‫‪ for‬را‬           ‫يﺝﻝ‬                       ‫از‬         ‫دی‬           ‫آ . اآ ن ی‬                           ‫ار ‪ i‬را ر‬                    ‫ل‬        ‫ای‬
          ‫،‬           ‫ف‬           ‫ار‬        ‫ار ده اوﻝ و‬                          ‫رت‬            ‫ی ه دو‬                    ‫ی‬           ‫ا‬            ‫آ .‬
                                                                                                                                             ‫ي:‬
‫.‪//Parts of the for loop can be empty‬‬
‫{ ‪class ForVar‬‬
‫{)][‪public static void main(String args‬‬
‫;‪int i‬‬
‫;‪boolean done = false‬‬
‫;0 = ‪i‬‬
‫{);‪for (;!done‬‬
‫;)‪System.out.println("i is" + i‬‬
‫;‪if(i == 10 )done = true‬‬
‫;++‪i‬‬
‫}‬
‫}‬
‫}‬

‫ي‬            ‫ﺥ از‬              ‫ا .‬        ‫ﺥ رج از ‪ for‬ا ل ی‬                            ‫ار‬        ‫ار ده اوﻝ و‬                      ‫ر ي‬                      ‫در ای‬
            ‫ارد ، ا در‬                    ‫ارز‬       ‫ه‬      ‫ﻝ‬                     ‫د‬      ‫ل‬         ‫در ای‬                     ‫.ا‬         ‫ه‬         ‫‪for‬‬
    ‫ط اوﻝ‬             ‫ل،ا‬            ‫ان‬        ‫د.‬        ‫ﺥ اه‬           ‫د‬            ‫ر آ را و‬             ‫وﺝ د دارد آ ای روش‬                               ‫ای‬
            ‫ات‬          ‫وی‬                          ‫ار‬                      ‫ي از‬            ‫و در ﺝ ي دی‬                           ‫رت‬           ‫رت ی‬
      ‫د،‬                                    ‫ل ا ق ا د در داﺥ‬                            ‫ا‬             ‫و‬                       ‫رت‬                     ‫آ ل‬
‫‪for‬‬           ‫ي‬                      ‫از‬     ‫دی‬          ‫اری . اآ ن ی‬                            ‫‪for‬‬            ‫را در‬                    ‫آ ای‬           ‫ا‬
‫ود )‬                       ‫ی‬                    ‫اری ،‬                       ‫‪ for‬را‬                                      ‫ه‬     ‫آ .ا‬               ‫ه‬              ‫را‬
                                                    ‫ل:‬         ‫ان‬           ‫د ( ای د آ د ای .‬                               ‫ین‬              ‫اي آ ه‬
‫{);;( ‪for‬‬
‫...//‬
‫}‬

        ‫.ا‬        ‫ا‬                   ‫ن‬              ‫اي ی ن‬                                 ‫، زی ا ه‬            ‫ﺥ اه ی‬             ‫ا ادا‬                        ‫ای‬
    ‫، ا اآ‬            ‫ود ه‬                          ‫می‬                                      ‫ن‬             ‫ي‬     ‫داز‬                    ‫ه‬                    ‫ﺥ‬
‫ودي‬          ‫اي دار .‬            ‫ي وی‬               ‫و ت ین‬                       ‫آ‬          ‫هی ه‬                        ‫ود در وا‬               ‫هي‬
‫وﺝ د دارد‬              ‫ل‬                  ‫ود‬                        ‫ی‬                        ‫ی‬        ‫اي ی ن دادن‬                  ‫ﺥ اه دی ، راه‬
                                                                        ‫آ .‬                 ‫د‬         ‫ا‬             ‫ﻝ‬                       ‫رت‬         ‫آ از‬


                                                                                                               ‫‪for‬‬          ‫‪ for-each‬از ﺡ‬                       ‫ﺵ‬


     ‫ﺝی‬                                   ‫ی ای روی ن ا‬                       ‫.‬                   ‫زی‬                     ‫‪for‬‬            ‫از‬         ‫دی‬
        ‫ی .‬                                     ‫،‬              ‫ای‬       ‫.‬        ‫ی‬                            ‫ﺝ د‬             ‫ه‬        ‫و رو‬                ‫زم‬
‫‪For ( type itr-var :collection) statement-block‬‬
‫ن را ی‬        ‫ی‬            ‫ار ا‬        ‫ م‬int-var ، ‫ع‬                           Type
collection ‫د‬     ‫ن ای د‬   ‫ا‬   ‫ﺥ ا‬                 .            ‫دری‬       ‫ا‬     ‫از ا ا‬   ‫ی‬
                                                                         .‫د‬
                                                               :       ‫ﺝ آ‬      ‫ل زی‬
//use a for-each style for loop.
Class ForEach{
Public static void main (String args[]){
Int nums[] = {1,2,3,4,5,6,7,8,9,10};
Int su, = 0;
//use for-each style for to display and sum the values
for ( int s, nums ){
system.out.println("value is: " + x );
sum +=x;
}
system.out.println("summation : " + sum );
}
}

                                                      :       ‫رت زی ا‬              ‫ﺥ وﺝ‬
Valu is : 1
Valu is : 2
Valu is : 3
Valu is : 4
Valu is : 5
Valu is : 6
Valu is : 7
Valu is : 8
Valu is : 9
Valu is : 10
Summation : 55



                                                          ‫ي‬        ‫ﺕ ار در رای ه ي چ‬


                                             .‫د‬                    ‫ل‬         ‫ای آ ر د ی‬
//use for-each style for on a two-dimensional array.
Class foreacha {
Public static void main ( String args[]){
Int sum = 0;
Int nums[][] = new int[3][5];
//give nums some values
for ( int i = 0 ; i<3 ; i++ )
for ( int j = 0 ; j<5 ; j++ )
nums[i][j] = (i+1)*(j+1);
//use for-each for to display and sum the values
for ( int x[] : nums ){
for ( int y : x )
system.out.println("value is: " + y );
sum += y;
}
}
system.out.println("Summation: ") + sum);
}
}

                                                   :   ‫رت زی ا‬   ‫ﺥ وﺝ‬
Valu is : 1
Valu is : 2
Valu is : 3
Valu is : 4
Valu is : 5
Valu is : 2
Valu is : 4
Valu is : 6
Valu is : 8
Valu is : 10
Valu is : 3
Valu is : 6
Valu is : 9
Valu is : 12
Valu is : 15
Summation : 90
‫ه ي ﺕ درﺕ‬           ‫ﺡ‬


        ‫ی‬    ‫ه را دارد. ی‬           ‫ا ن در آ دن‬                      ‫، ﺝ وا‬           ‫ی‬        ‫ي‬        ‫ز‬       ‫آ‬
        ‫ه ي ‪ for‬در‬              ‫ي‬            ‫ل ، در‬             ‫ان‬          ‫.‬        ‫ار ﺥ اه‬    ‫دی ي‬                  ‫داﺥ‬
                                                                                                                     ‫ا :‬
‫.‪//Loops may be nested‬‬
‫{ ‪class Nested‬‬
‫{)][‪public static void main(String args‬‬
‫;‪int i, j‬‬
‫++ (}‪for(i=0; i ;١٠>i‬‬
‫++(‪for(j=i; j ;١٠>j‬‬
‫)"."(;‪System.out.print‬‬
‫();‪System.out.println‬‬
‫}‬
‫}‬
‫}‬

                                                                                                      ‫رات پ ش‬


     ‫رات ، آ ل را‬        ‫. ای‬                 ‫رت ش ‪return ، continue ، break‬‬                                    ‫ﺝ وا از‬
                                                                ‫ده .‬            ‫نا ل‬           ‫دی ي از‬


                                                                                                                ‫‪Break‬‬


                                                                                     ‫ر آ ر د دارد :‬         ‫ر‬        ‫ای د‬
      ‫رت ‪ switch‬ی ن‬             ‫ت‬     ‫از‬      ‫رات در ی‬                 ‫اﻝ‬       ‫اﺝ اي‬       ‫ر آ دی ی‬             ‫١–ه‬
                                                                                                                 ‫.‬
‫را‬     ‫را‬       ‫ی‬    ‫ا‬          ‫د از ‪break‬‬           ‫ا‬      ‫،‬           ‫اي ﺥ وج از‬          ‫د از ‪break‬‬              ‫٢–ا‬
      ‫آ .و‬       ‫ف‬        ‫‪body‬‬              ‫ﺝ د در‬         ‫رات‬                   ‫و‬             ‫و از ﺝ‬                ‫ین‬
‫ل‬      ‫وآ‬     ‫ی نر‬                  ‫د ، اﺝ اي‬                               ‫رت ‪ Break‬در ی‬        ‫اﺝ اي‬
                                       ‫د.‬                ‫ه ای‬          ‫از‬        ‫رت‬                             ‫اﺝ اي‬
‫ای آ ر را دار و در‬                ‫و‬         ‫رات‬      ‫د‬        ،                 ‫ﺝ ین‬                        ‫ر‬        ‫ای د‬
                                                                           .         ‫د ا‬         ‫ا‬         ‫ای ﺥ ص‬
‫درك‬              ‫، وﺝ د‬        ‫ ا‬goto ‫رت‬           ‫ : ﺝ وا‬goto             ‫ان‬                break ‫د از‬              ‫٣–ا‬
     ‫ي‬           ‫ی ﺝ‬        ‫زي ه ي آ‬         ‫و از ﺥ از‬             ‫ د ار ا‬goto ‫ه ي‬                    ‫رو‬         ‫ا‬      ‫و‬
‫ را‬goto ‫ه ن آ ر‬               ‫اي دی‬         break ‫ر‬           ‫ع از د‬       ‫ای‬              ‫آ د ا‬            ‫آ ، ﺝ وا‬
    ‫اي ه‬         ‫د.ای آ ر‬                   ‫ك‬             ‫ر از اﺝ اي ی ی‬                 ‫اﺝ ا ای د‬          . ‫م ده‬      ‫ا‬
‫ای ي‬         break .‫د‬                  ‫اﺝ ا از آ‬     ‫آ‬                 ‫ا‬                     .       ‫ی ا‬         ‫آ ا‬
                       :‫د‬        ‫د‬     ‫م زی ا‬        ‫ر‬    ‫. ای د‬           ‫اه‬        ‫ت ن‬               ‫ را ون‬goto
Break label;

                                                          .                     ‫رد‬       ‫ك‬           ‫ن ده‬        Lable
//using break as a civilized form of goto.
Class Break{
    Public static void main ( String args[] ){
       Boolean t = true;
       first: {
             second: {
                 third: {
                     system.out.println("Before the break.");
                     if(t) break second;        // break out of second block
                     system.out.println("This won't execute");
                 }
                 system.out.println("This won't execute");
             }
             system.out.println("This is after second block.");
         }
     }
}

                                                                                     :       ‫م زی ا‬                  ‫ﺥ وﺝ‬
Before the break.
This is after second block.

                                        .       ‫در‬       ‫هي‬        ‫از آ ر د ه ﺥ وج از‬                       ‫دی‬       ‫٤-ی‬
// using Break to exit from nested loops
class BreakLoop4{
public static void main( String args[]){
         outer: for( int i=0; i<3; i++ ){
             System.out.print("Pass " + I + ":");
             for ( int j=0; j<100; j++ ){
                 if ( j==10 ) break outer;              // exit both loops
                 System.out.print(j + " ");
             }
             System.out.println("This will not print");
         }
         System.out.println("Loops complete");
     }
}

                                                                               :      ‫ار زی ا‬      ‫ﺥ وﺝ از‬
Pass 0 : 0 1 2 3 4 5 6 7 8 9 loops complete.



                                                                                                   Continue


    ‫اه‬               ‫ا‬            ‫د. ی‬   ‫ار‬       ‫ا‬     ‫ن‬        ‫از ر‬              ‫د اﺝ اي‬          ‫زم‬       ‫ه‬
             ‫ار ﺝ ري‬         ‫اي‬      ‫ ن‬body           ‫رات‬               ‫دازش‬        ‫ی ،ا‬     ‫ادا‬         ‫اﺝ اي‬
                 ‫ﺝ‬       ‫ل‬   ‫آ‬           ‫ل‬    ‫ا‬    do-while ‫ و‬while ‫ه ي‬                 ‫رت در‬            ‫د. ای‬
                 ‫ﺝ‬           ‫ و‬iteration                        ‫ آ ل‬for        ‫د. در‬                 ‫آ لآ‬
    .‫د‬                   ‫ دی ا‬continue ‫از‬         ‫رات‬       ،             ‫د. در ه‬            ‫ ه ای‬for ‫رت‬
// Demonstrate continue.
Class Continue {
     Public static void main ( String args[] ){
         for ( int i=0; i<10; i++ ){
             System.out.print(i + " ");
             if ( i%2 == 0 ) continue;
                                 System.out.println(" ");
         }
     }
}
‫ون‬           ‫،‬                           ‫ی ﺥ .ا‬              ‫ار ‪ I‬زوج ا‬               ‫دآ‬                ‫ر‬         ‫%‬               ‫د از‬         ‫ا‬
                                                 ‫:‬           ‫زی ا‬             ‫ی . ﺥ وﺝ‬                  ‫ﺝ ی ادا‬                   ‫پ آ راآ‬
‫1 0‬
‫3 2‬
‫5 4‬
‫7 6‬
‫9 8‬

                                                                 ‫د آ د.‬       ‫ا‬                      ‫ان از‬              ‫ر ‪break‬‬          ‫د‬
      ‫رات ای د‬                 ‫از‬                     ‫ن ﺝ وا‬                  ‫رت ‪ break‬در ا‬                      ‫اي‬          ‫آ ر ده ي در‬
     ‫ار زود از‬                  ‫اي آ‬         ‫ای وی‬            ‫اي‬        ‫،ا‬                             ‫آ ر ده‬                 ‫اي‬         ‫دارد آ‬
‫اه‬        ‫م ای آ ر‬              ‫اي ا‬        ‫اي‬        ‫ﺥ ری‬            ‫رت ‪ continue‬روش‬                        ‫،‬          ‫ز‬
                                                                                                                                  ‫.‬      ‫د ا‬


                                                                                                                                      ‫‪Return‬‬


             ‫ل اﺝ ا‬                 ‫ز دا ن آ‬                           ‫رود. ی‬           ‫آر‬                   ‫ی از ی‬                    ‫اي ز‬
                  ‫.‬        ‫ا‬         ‫ي‬               ‫ش‬           ‫ان‬           ‫رت‬            ‫، ای‬                 ‫د. ی‬                  ‫اﺥ ان‬
‫اﺥ ان‬                 ‫رو‬                 ‫ان آ ل اﺝ ا را در ه ﻝ‬                               ‫ه‬       ‫رت ‪ return‬در‬                 ‫د از‬         ‫ا‬
                 ‫ده .‬               ‫د را را ی ن‬                       ‫ي آ در ن اﺝ ا‬                  ‫ز دا . از ای رو اﺝ اي‬


                                                                                                                      ‫ت‬           ‫د از ا‬           ‫ا‬


     ‫اه‬                        ‫هي‬                    ‫اي آ ل‬                       ‫ر‬                      ‫ت ی‬                ‫آ دن ا‬           ‫ادار‬
 ‫آ ‪، throw ، try‬‬                            ‫ای ا‬             ‫.‬        ‫اﺝ ا ا‬                ‫یي‬           ‫ی وی‬               ‫ورد آ داراي‬
 ‫ود‬          ‫ای‬            ‫اي ادار ﺥ ه و‬                           ‫ه ي وا‬              ‫ان‬          ‫، ‪ finally ، throws‬و ‪ catch‬را‬
                                                                       ‫ی.‬                   ‫ه ی ن در‬                         ‫در‬
      ‫آ‬                              ‫د، ا‬                        ‫ی روش‬             ‫و‬             ‫،‬      ‫ی ن‬                       ‫اآ‬               ‫ا‬
‫دت را آ ر‬                  ‫، ی ای‬            ‫ه‬           ‫ی‬                ‫ل‬            ‫در ﺝ وا‬         ‫.و‬          ‫دا‬        ‫را‬        ‫ی آ ﺥ‬
‫ی . ای‬           ‫ب‬        ‫ئ‬     ‫ی ا‬              ‫ا‬        ‫،‬                     ‫ا‬                 ‫ی روش‬                     ‫اری . و‬
                                                                        ‫.‬      ‫ا‬           ‫ت‬                 ‫ي اي ادار‬                         ‫ا‬
‫زي‬        ‫ب‬      ‫اي ا‬                                ‫ان ی‬           ‫ئ در ﺝ وا ی‬                    ‫رات ادار آ دن ا‬                        ‫:د‬
‫را‬        ‫اري‬       ‫شآ د و‬                     ‫را‬                   ‫م ده ،‬              ‫ای ر را ا‬             ‫د. ا‬
                                                                                                                         ‫زی .‬


                                                                                                                              ‫ت‬            ‫ادار ا‬


‫ی آ‬                     ‫ا‬            ‫آ در ز ن اﺝ ا در‬                    ‫ا‬                         ‫ای‬          ‫)‪ (exception‬ی‬                       ‫ا‬
     ‫يآ‬          ‫يآ‬             ‫. در ز‬       ‫اﺝ ا ا‬              ‫ئی ﺥ ي‬                    ‫ا‬            ‫رت دی‬            ‫د.‬                ‫دث‬
‫از‬                      ‫آ ل و ادار‬                  ‫رت د‬            ‫ی‬         ‫،ﺥ ه‬             ‫آ‬                              ‫را‬          ‫ادار ا‬
‫.‬         ‫ی ا‬               ‫و‬                   ‫ر‬                   ‫. ای‬            ‫)‪ (error codes‬و‬                       ‫ی آ هيﺥ‬
‫اﺝ ا‬          ‫يآ د و ی ی ﺥ ي‬                              ‫ت در دازش ﺝ‬                          ‫در ﺝ وا از وز ای‬                            ‫ادار ا‬
                                                                                                   ‫ی.‬              ‫ای‬              ‫را در د ي‬


                                                                                                                               ‫ل ادار ا‬            ‫ا‬


 ‫اي از آ‬            ‫( را آ در‬             ‫ی ﺥ‬             ‫ی )ی‬               ‫طا‬          ‫آ ی‬             ‫ا‬              ‫در ﺝ وا،‬               ‫ی ا‬
‫ئ را‬          ‫آ نا‬                   ‫دی‬             ‫ئ ای د‬           ‫طا‬             ‫ی‬      ‫آ .و‬                                    ‫،‬       ‫دث‬
‫د . )‪(Thrown‬‬                     ‫ب‬        ‫د ،‬        ‫را ای د‬         ‫آ نﺥ‬                 ‫و در رو‬                  ‫آ ای د‬
       ‫رت ، در‬              ‫ی و ی از ن ر آ . در ه‬                            ‫ئ را ﺥ دش ادار‬                    ‫ا‬          ‫ا‬              ‫ن روش‬
                                 ‫ا‬        ‫ت‬           ‫د.ا‬                    ‫دازش‬        ‫)‪ (caught‬و‬                                ‫ئ‬           ‫اي ا‬
‫ت‬             ‫ﺝ د ی .ا‬                ‫آ هي‬                      ‫رت د‬              ‫ن دارد‬       ‫،وی ا‬                          ‫اﺝ اي ﺝ وا ﻝ‬
‫ودی ي‬             ‫وی‬                       ‫ز ن ﺝ وا‬              ‫آ از ا‬                  ‫ﺝ وا ﺥ ه ي ا‬                                      ‫ب‬
‫اي‬                      ‫د‬            ‫ت ﻝ‬             ‫.ا‬         ‫ه‬              ‫ار ،‬                          ‫اﺝ ای ﺝ وا را زی‬
                             ‫.‬             ‫د‬         ‫ی روش ا‬                 ‫اﺥ ا‬              ‫ای ﺥ‬                     ‫دن ﺥ‬             ‫ارش‬
‫ و‬throws ، throw،catch ، try: ‫د‬                         ‫ل‬       ‫واژ آ ي ا‬                         ‫در ﺝ وا‬                ‫ادار ا‬
‫اي‬           ‫ی‬       ‫اي آ‬            ‫رات‬       ‫ده . د‬                 ‫را‬         ‫د‬                    ‫رﺥ‬             .finally
‫دث‬       ‫ئ‬           ‫كی ا‬            ‫داﺥ ای‬      ‫.ا‬                   try ‫ك‬               ‫ن ده داﺥ ی‬                 ‫ت‬          ‫ا‬
     ‫و ن را و‬                catch              ‫را‬          ‫ا ای ا‬                       ‫.آ‬           ‫ب ﺥ اه‬             ،‫د‬
‫اﺝ اي ﺝ وا‬                            ‫ر ﺥ دآ ر‬                                   ‫ت ﻝ‬              ‫ی.ا‬            ‫ادار‬
                                                                                                       .                 ‫ب‬
.    ‫آ‬           ‫د‬     ‫ ا‬throw ‫، از واژ آ ي‬             ‫بآ‬                 ‫رت د‬            ‫ئ را‬            ‫ی ا‬          ‫اي ای‬
.‫د‬                    throws         ‫ی ﺝ‬              ‫د ی‬         ‫ب‬         ‫ون از ی روش‬                        ‫ی آ‬         ‫ه ا‬
     ‫ار داد‬          finally ‫ك‬        ‫د در ی‬     ‫دا ي ی روش اﺝ ا‬                     ‫از‬       "       ‫ی آ‬         ‫ه آ يآ‬
                                       :              ‫رت زی‬       ‫ئ‬         ‫ك ادار ا‬              ‫ی‬                       .‫د‬

try {
// block of code to monitor for errors
}
catch( Exception Type1 exOb ){
// exception handler for Exception Type1
}
catch( Exception Type2 exOb ){
// exception handler for Exception Type2
}
//...
finally {
// block of code to be executed before try block ends
}


                                                                             .       ‫ا‬        ‫دث‬           ‫آ‬      ‫ی ا‬           ‫ا‬


                                                                                                                         ‫ا اع ا‬


‫ در‬throwable ‫ای‬                  .            throwable ‫ی از آ س آ ر‬                          ‫زی آ‬              ‫ا اع ا‬          ‫آ‬
‫ دو‬throwable ‫از‬                            . ‫ار دارد‬        (exception) ‫ئ‬                ‫آ سا‬          ‫ا‬                  ‫ي‬
‫ﺥ‬         ‫ان ی‬                         ‫،‬    ‫آ‬                 ‫ا‬             ‫ﺥ‬        ‫دو‬         ‫ت را‬           ‫زی آ س وﺝ د دار آ ا‬
    ‫د‬        ‫د،ا‬                ‫ی‬              ‫هي آر‬                      ‫ی آ‬            ‫ای ا‬           ‫اي‬       ‫. ای آ س‬       ‫‪ Exception‬ا‬
‫ﺥ د ن را‬                   ‫ر‬            ‫ئ‬        ‫ا اع ا‬           ‫زی‬                              ‫از ای آ س ، زی آ‬                  ‫د.ه‬
‫ان ‪ RuntimeException‬وﺝ د‬                                                   ‫از ‪Exception‬‬                      ‫اه‬    ‫ی . ی زی آ س‬                ‫ای د‬
‫"‬                              ‫"‬               ‫اردي‬      ‫و‬        ‫ی‬                       ‫هی آ‬                    ‫اي‬   ‫ع‬     ‫ت ای‬            ‫دارد . ا‬
             ‫د.‬                     ‫ی‬          ‫ر ﺥ دآ ر‬               ‫،‬                    ‫رای " را در ن‬                       ‫زي‬        ‫ی‬       ‫و"‬
             ‫ر اری .‬                    ‫آ آ ا‬                 ‫ی‬           ‫را‬                   ‫آ ا‬           ‫ان ‪ Error‬ا‬                  ‫ﺥ دی‬
‫اﺝ ای وا‬                                             ‫ت از ع ‪Error‬‬                         ‫.ا‬                                        ‫دي‬         ‫ای‬
‫د.‬                 ‫د‬           ‫و آ ر دار ، ا‬                  ‫اﺝ اي ﺝ وا‬                                ‫ﺥ د‬        ‫ن دادن ﺥ ه ی آ‬              ‫اي‬
    ‫ي‬                               ‫در‬               ‫ت ع ‪Error‬‬                       ‫.ا‬             ‫اي از ای ﺥ ه‬                         ‫ری ي‬
                                                 ‫ی .‬          ‫، ﺝ د‬                                ‫ار‬                          ‫ري آ‬


                                                                               ‫‪Uncaught Exceptions‬‬                                       ‫ت‬          ‫ا‬


        ‫در‬                 ‫آ‬           ‫ا‬             ‫ی‬      ‫ن ادار‬                   ‫ت را در‬                 ‫ا‬         ‫زی آ‬              ‫از ای‬
             ‫رت ا‬               ‫ی‬                    ‫ي در‬         ‫د‬                  ‫.‬        ‫ا‬              ‫ا‬     ‫ت‬        ‫م ادار ا‬     ‫رت‬
                                                                                    ‫د.‬                                 ‫ی ﺥ ي‬                        ‫آ‬

‫{ 0‪class Exc‬‬
‫{) ][‪public static void main(String args‬‬
‫;0 = ‪int d‬‬
‫;‪int a = 42 / d‬‬
‫}‬
‫}‬


‫،‬             ‫زد ی‬                 ‫ر‬            ‫را‬                         ‫م‬        ‫اي ا‬           ‫شﺥ د‬           ‫اﺝ اي ﺝ وا‬                        ‫و‬
‫اﺝ اي‬                                      ‫. )‪ (throws‬ای آ ر‬                    ‫آ‬             ‫ب‬          ‫ن را‬          ‫ﺥ و‬       ‫ﺝی ي‬               ‫ا‬
                       ‫ا‬        ‫ی ادار آ‬                      ‫د، ی‬              ‫ب‬                   ‫دد ، زی ا ی ر آ ی ا‬                  ‫0‪EXC‬‬
‫ل‬            ‫د. درای‬               ‫اي ن آ ري ا م‬                                    ‫)‪ (caught by an exception handler‬و‬
‫ادار آ‬              ‫ئ‬          ‫ای ا‬         ‫د ای ،‬                      ‫ﺥ د ن را‬              ‫ا‬        ‫ادار آ‬           ‫،‬
                  ‫آ‬           ‫.ه ا‬         ‫ا‬                  ‫اﺝ اي ﺝ وا‬                                         ‫اه‬      ‫ض‬
          ‫. ادار آ‬            ‫دازش ﺥ اه‬             ‫ض‬                    ‫ادار آ‬           ‫ی‬        ‫د ، در‬
‫)‪(stack tracer‬‬             ‫ده ، ی ردی ب‬                   ‫ی‬     ‫د‬                  ‫ئ را‬           ‫آ ا‬        ‫ض،ی ر‬
                  ‫آ .‬             ‫را ﺥ‬              ‫ی و‬         ‫پ‬         ‫ئا قا د‬                 ‫اي آ در ن ا‬                  ‫از‬
‫زی را‬             ‫د‬           ‫اﺝ اي ﺝ وا ‪ JDK‬اﺝ ا‬                                      ‫ل ق‬                       ‫ه‬                ‫ای‬
                                                                                                             ‫آ :‬              ‫ﻝ‬

‫‪java.lang.ArithmeticException :/ by zero‬‬
‫)4:‪at Exc0.main(Exc0.java‬‬


‫م آ س ، 0‪ ،EXC‬م روش ، ‪ ،main‬م ی ، ‪EXC0.java‬و‬                                                                ‫ی آ‬               ‫ﺝ‬
‫ع‬       ‫ی آ‬            ‫د‬          ‫ا .ه‬                                   ‫د ای‬       ‫در ردی‬           ‫ر ﺥ ،٤،ه‬
         ‫ان ‪Arithmetic Exception‬‬                              ‫ی زی آ س از ‪Exception‬‬                              ‫ب‬                 ‫ا‬
                      ‫ری‬      ‫.ه‬          ‫عﺥ ی ا قا د ا‬                            ‫ده آ‬                              ‫د‬    ‫آ ﺥ‬
‫اﺝ ا‬      ‫نﺥ هي‬                    ‫ا اع‬             ‫آ آ‬                  ‫ئ آ ر را‬         ‫عا‬            ‫ی‬        ‫دادی ، ﺝ وا‬
                                                                     ‫.‬      ‫ی‬                 ‫،‬              ‫ﻝ‬                ‫آ ا‬
‫ده .‬          ‫ی‬        ‫ا را‬          ‫وز ﺥ‬                      ‫ي روش آ‬            ‫اﺥ ا‬                       ‫ه‬           ‫ردی ب‬
    ‫آ‬                 ‫را‬   ‫آ ه نﺥ‬               ‫آ‬         ‫ه‬     ‫را‬          ‫ل‬     ‫از‬     ‫ل ، ی روای دی‬                   ‫ان‬
                                                                                   ‫ﺝ ا از )(‪: main‬‬                    ‫ا در رو‬

‫{ 1‪class Exc‬‬
‫{() ‪static void subroutine‬‬
‫;0 = ‪int d‬‬
‫;‪int a = 10 / d‬‬
‫{) ][‪public static void main(String args‬‬
‫;()‪Exc1.subroutine‬‬
‫}‬
‫}‬
‫اﺥ ا‬                       ‫ده آ‬      ‫ن‬        ‫ئ‬           ‫ضا‬                      ‫از ادار آ‬                                 ‫ردی ب ر‬
                                                                                                          ‫:‬        ‫ا‬       ‫در‬        ‫ی‬               ‫آ‬

‫‪java.lang.ArithmeticException :/ by zero‬‬
‫)4:‪at Exc1.subroutine(Exc1.java‬‬
‫)7:‪at Exc1.main(Exc1.java‬‬


    ‫ان‪Subroutine‬‬                      ‫ﺥ ٧ روش ‪ main‬وﺝ د دارد آ‬                                       ‫، ی‬                            ‫ری‬               ‫ه‬
‫ل زدای )‪(debugging‬‬                    ‫اي ا‬     ‫اﺥ ان‬                 ‫.‬       ‫ا‬            ‫در ﺥ ٤‬              ‫وز ﺥ‬                       ‫و‬            ‫ا‬
                                     ‫ا .‬          ‫ﺥ‬                 ‫را آ‬          ‫ا‬            ‫د‬              ‫، زی ا‬            ‫ا‬                    ‫آ‬


                                                                                                      ‫د از ‪ try‬و‪catch‬‬                                 ‫ا‬


     ‫ل زدای‬         ‫اي ا‬     ‫اﺝ اي ﺝ وا‬                                      ‫اه‬                ‫ضا‬                          ‫ادار آ‬                     ‫ا‬
        ‫ی‬      ‫م ای آ ر دو‬         ‫ی .ا‬      ‫ﺥ د ن ادار‬              ‫ی ا‬                  ‫ل نه‬                              ‫،ا‬               ‫ا‬
‫.‬           ‫ﺥ اه‬            ‫ﺥ ﺥ دآ ر‬             ‫، ای ر‬           ‫را داری . دوم ای‬              ‫ﺥ‬             ‫ن‬        ‫ا‬     ‫دارد. اول ای‬
             ‫ردی ب‬     ‫وی‬                  ‫ا ن‬                ‫آ ،‬          ‫وز‬             ‫ﺥ ی‬                          ‫ر آ در‬            ‫ه‬            ‫ا‬
    ‫ي‬           ‫ﺝ‬             ‫.ﺥ‬              ‫در‬          ‫و‬         ‫ا ن‬                   ‫آ ر ان‬              ‫اآ‬            ‫ی ،‬              ‫پ‬
                                                                                           ‫.‬        ‫د ا‬        ‫ر‬             ‫ﻝ‬                       ‫از‬
    ‫ﺥ اه‬             ‫د آ ي را آ‬            ‫اﺝ ا ، ﺥ‬               ‫و ادار ی ﺥ ي‬                        ‫ي از ای و‬                      ‫اي ﺝ‬
            ‫ك،ی ﺝ‬            ‫از ای‬                    ‫ار ده .‬            ‫ك ‪try‬‬             ‫ده )‪ (monitor‬داﺥ ی‬                                    ‫ی‬
‫ﻝ ای ر‬                     ‫اي ای‬     ‫آ .‬                      ‫د‬          ‫ی‬       ‫را آ‬               ‫عا‬             ‫ار ده آ‬               ‫‪catch‬‬
    ‫آ‬            ‫‪catch‬‬        ‫ك ‪ try‬و ی ﺝ‬             ‫ی‬             ‫آ در‬              ‫آ‬        ‫ي را‬                        ‫ن ده ،‬                    ‫را‬
                 ‫آ .‬         ‫را دازش‬                              ‫ﺥ ي‬                           ‫‪ ArithmeticException‬ﻝ‬

‫{ 2‪class Exc‬‬
‫{) ][‪public static void main(String args‬‬
‫;‪int d/ a‬‬
‫.‪try { // monitor a block of code‬‬
‫;0 = ‪d‬‬
‫;‪a = 42 / d‬‬
‫;)".‪System.out.println("This will not be printed‬‬
‫‪} catch( ArithmeticException e ){ // catch divide-by-zero error‬‬
‫;)".‪System.out.println("Division by zero‬‬
‫}‬
‫;)".‪System.out.println("After catch statement‬‬
‫}‬
‫}‬


                                                                                          ‫:‬                    ‫ار زی‬                        ‫ﺥ وﺝ ای‬

‫.‪Division by zero‬‬
‫.‪After catch statement‬‬


‫ئ‬             ‫ا‬    ‫رآ ی‬           ‫د. ه‬            ‫اﺝ ا‬              ‫ك ‪ try‬ه‬                   ‫)(‪ println‬داﺥ‬             ‫اﺥ ا‬         ‫ی آ‬                   ‫د‬
‫رت‬                ‫آ .‬         ‫ل‬    ‫ك ‪ catch‬را آ‬                      ‫ك ‪try‬‬            ‫ت ﺥ رج از‬                 ‫،ا‬              ‫د،‬               ‫ب‬
‫دد .‬                     ‫ك ‪try‬‬               ‫از ی ‪catch‬‬                   ‫ای اﺝ ا ه‬                   ‫د‬                 ‫، ‪ catch‬اﺥ ا‬
‫ر ‪catch‬‬                 ‫رآ د‬             ‫ی .ه‬              ‫در‬        ‫ی‬         ‫ای ، ﺥ "‪"This will not be printed‬‬
    ‫ﺥ اه‬          ‫آ ‪ try/catch‬ادا‬                               ‫آ‬                             ‫ي‬            ‫ﺥ‬                ‫د،آ ل‬                     ‫اﺝ ا‬
                                                                                                                                                 ‫.‬         ‫ی‬
‫ن‬                  ‫ود‬        ‫‪catch‬‬           ‫وﺝ‬        ‫ده .‬                           ‫)‪(unit‬‬              ‫ر‪ try‬و ‪ catch‬و ی وا‬                            ‫ی د‬
    ‫ا‬              ‫ر ‪catch‬‬          ‫ا .ی د‬                                    ‫ر ‪try‬‬            ‫از د‬                         ‫آ‬           ‫ا‬        ‫را‬        ‫د‬
              ‫رات در‬              ‫ﻝ د‬        ‫در‬            ‫د ،‬            ‫‪ try‬را‬              ‫ر دی‬        ‫ی د‬                       ‫ب‬           ‫ئ‬          ‫ا‬
‫ا وه‬                    ‫. ی‬                            ‫‪try‬‬                        ‫آ‬   ‫را‬          ‫داد ای . د‬                    ‫ر‬           ‫ﺥ‬     ‫‪ try‬آ‬
‫ر‬            ‫از ‪try‬روي ی د‬               ‫ا‬            ‫.(‬             ‫ار‬           ‫ك‬            ‫ی داﺥ ی‬                         ‫.)ی‬                         ‫ا‬
                              ‫.‬      ‫ا‬                 ‫در روای 2.0.1 از‪ JDK‬ز‬                                         ‫ی . ای‬             ‫د‬        ‫دا‬
              ‫و‬                   ‫ی رااز‬          ‫طا‬             ‫آ‬                ‫ﺥ ‪ catch‬ی ای‬                      ‫ه ف اآ ﺝ ت ﺥ ش‬
‫ي‬                       ‫ل ، در‬      ‫ان‬        ‫.‬       ‫د ا‬            ‫ا ق‬              ‫ه‬        ‫ی ﺥ‬          ‫ده آ‬         ‫را ادا‬                  ‫ري‬
                  ‫ی ی‬                ‫د‬       ‫آ . ن دو‬                         ‫را آ‬        ‫د‬                     ‫د‬      ‫‪ for‬دو‬               ‫ار‬             ‫ه‬
        ‫د.‬              ‫ار‬    ‫ی در ‪a‬‬          ‫د . ﺝ اب‬                        ‫د‬       ‫د ٥٤٣٢١ ا‬                        ‫اي‬       ‫و ﺝ اب ن‬
‫ار‬           ‫و‬                     ‫د، نﺥ‬          ‫"‬                               ‫ﺥ ي"‬                                 ‫ت‬             ‫ه ی از‬                ‫ا‬
                                                                          ‫.‬       ‫ی‬            ‫ادا‬             ‫و‬           ‫ار‬                        ‫ا‬     ‫‪a‬‬
// Handle an exception and move on.
import java.util.Random;
class HandleError {
public static void main(String args[] ){
int a=0/ b=0/ c=0;
Random r = new Random)(;
for(int i=0; i<23000; i++ ){
try {
b = r.nextInt)(;
c = r.nextInt)(;
a = 12345 /( b/c);
} catch( ArithneticException e ){
System.out.println("Division by zero.");
a = 0; // set a to zero and continue
}
System.out.println("a :" + a);
}
}
}


                                                                                        ‫از ی ا‬          ‫ﺕ‬      ‫ی‬


     ‫ری‬        ،           ‫( را ﻝ‬              ‫ی‬      object              ) ، toString()‫ روش‬Throwable
     ‫ر دادن ا‬         ‫د‬         ‫ﺥ‬   ‫ا‬          . ‫دا‬            ‫ئ را‬        ‫از ا‬                    ‫در‬       ‫ی ر‬
،‫ل‬        ‫ان‬       . ‫اری‬        ‫ی‬           println() ‫ر‬    ‫را در ی د‬                    ‫ن ، ای‬     ‫ر‬    ‫ان ی‬
                           .‫د‬           ‫ی‬    ‫رت زی دو ر‬           ‫ان‬             ‫را‬              ‫ در‬catch ‫ك‬

catch( ArithmeticException e ){
System.out.println("Exception :" + e);
a = 0; / set a to zero and continue
}


    ‫د،ه‬        ‫ ﺝ وا اﺝ ا‬JDK                            ‫ی ،و‬          ‫ی‬     ‫ﺝی‬          ‫ای روای را در‬              ‫و‬
                                                   : ‫ﺥ اه داد‬    ‫ی‬        ‫ي را‬        ‫، م‬                   ‫ﺥ ي‬
Exception :java.lang.ArethmeticException :/ by zero




    ‫ای‬        ‫ی‬     ‫ارد، ا در‬            ‫ارزش ﺥ‬            ‫در ای‬            ‫ا‬           ‫از ی ا‬                      ‫ی‬            ‫ا ی‬
                         . ‫ل زدای‬        ‫ما‬     ‫تی ه‬           ‫مآر ا‬                ‫صه‬                      ‫ا‬           ‫ر ارز‬

                                                                                                        ‫ چ‬catch ‫ت‬

             ‫اي ادار‬    . ‫ی‬         ‫ﺝ د‬           ‫ا‬     ‫از ی‬            ‫آ‬           ‫آ‬            ‫از ی‬           ‫ا‬                     ‫در‬
‫ئ‬           ‫وت از ا‬     ‫ع‬       ‫ی آ ه آ ام ی‬                       catch            ‫ﺝ‬       ‫دو ی‬        ‫ا‬               ،        ‫ای‬
         ‫د، و اوﻝ‬        ‫ن‬      ‫ا‬             catch ‫ر‬     ‫د،ه د‬                     ‫ب‬       ‫ئ‬        ‫ی ا‬                ‫.و‬
‫ر‬          ‫از اﺝ اي ی د‬         .    ‫، اﺝ ا ﺥ اه‬                   ‫دا‬                     ‫عا‬         ‫ع ن‬                ‫ري آ‬           ‫د‬
‫ ادا ﺥ اه‬try/catch ‫ك‬                ‫از‬         ‫و اﺝ اي‬                      ‫ا‬                  ‫رات‬          ‫ی د‬             ، catch
                                          : ‫ا ازد‬        ‫را ام‬                  ‫ئ‬         ‫ي دو ع ا‬                           .         ‫ی‬

// Demonstrate multiple catch statements.
class MultiCatch {
public static void main(String args[] ){
try {
int a = args.length;
System.out.println("a = " + a);
int b = 42 / a;
int c[] = { 1 };
c[42] = 99;
} catch(ArithmeticException e ){
System.out.println("Divide by 0 :" + e);
} catch(ArrayIndexOutOfBoundsException e ){
System.out.println("Array index oob :" + e);
}
System.out.println("After try/catch block.");
}
}
‫د‬      ‫ز‬        ‫ن‬          ‫هي ﺥ‬                ‫ون را‬                   ‫ا‬                 ‫د، ای‬                              ‫وي‬          a ‫ن‬
 ‫ﺝ د‬         ‫ن‬         ‫ن ﺥ‬              ‫ر‬        ‫ی‬         ‫.ا‬           ‫" ﺥ اه‬                                  "            ‫ا‬     ‫ی‬
    ‫ده . ا‬       ‫ت‬     ‫را‬                                  ، ‫ار ده‬                   ‫از‬           ‫ر‬       ‫اري‬           ‫دل‬        ‫ را‬a ‫وری و‬
‫ع‬      ‫ از‬C ‫ن رای‬           ، ‫دد‬                ArrayIndexOutOfBoundsException                                                                      ‫ای‬
. ‫ی‬      ‫ب‬           C[42]         ‫اري را‬                          ‫آ‬        ‫ش‬                 ‫ن‬           ‫،ه‬            ‫ل1ا‬            ‫ داراي‬int
                            :      ‫آ‬             ‫ه‬         ‫اﺝ اي ه دو را را‬                                         ‫ﻝ‬            ‫ﺥ وﺝ‬         ‫در ای‬

C:>java MultiCatch
a = 0
Divide by 0 :java.lang.ArithmeticException :/ by zero
After try/catch blocks.
C:>java MultiCatch TestArg
a = 1
Array index oob java.lang.ArrayIndexOutOfBoundsException :42
After try/catch blocks.


‫ئ‬       ‫يا‬           ‫آ زی آ‬             ‫ا‬              ‫ا‬           ،    ‫آ‬        ‫د‬        ‫ا‬                catch ‫رات‬                   ‫از د‬         ‫و‬
‫ر‬      ‫آ ی د‬           ‫ا‬        ‫ان دﻝ‬           ‫. ای‬               ‫ار‬                    ‫هي‬               ‫از ه ی از آ س‬                         ‫ی‬
 ‫ع را ﺥ اه‬           ‫ي ن‬         ‫ت ن ع و زی آ‬                               ‫آ ،ا‬              ‫د‬       ‫ا‬        ‫ آ از ی آ س‬catch
       ‫ن زی آ س‬                        ‫ی ،ه‬                ‫ی‬           ‫از آ س‬            ‫ی زی آ س‬                       ‫ای ، ا‬           .
‫ي را در‬                ،‫ل‬        ‫ان‬         .          ‫ا‬       ‫ﺥ‬            ‫س‬        ‫د‬                     ‫و ، در ﺝ وا ، آ‬                    . ‫ر‬
                                                                                                                                  : ‫ی‬

/* This program contains an error.
A subclass must come befor its superclass in
a series of catch statements .If not/
unreachable code will be created and a
comple-time error will result.
*/
class SuperSubCatch {
public static void main(String args[] ){
try {
int a = 0;
int b = 42 / a;
} catch(Eeception e ){
System.out.println("Generic Exception catch.");
}
/* This catch is never reached because
ArithmeticException is a subclass of Exception .*/
catch(ArithmeticException e ){ // ERROR - unreachable
System.out.println("This is never reached.");
}
}
}


         ‫ی دو‬             ‫آ‬     ‫آ‬               ‫دری‬        ‫مﺥ‬                    ‫،ی‬       ‫ی آ‬        ‫را آ‬                  ‫اه ای‬                       ‫ا‬
‫زی آ س از‬                 ‫ ی‬ArithneticException                         ‫ی‬          ‫. از‬         ‫نا‬         ‫ر‬               catch ‫ر‬                    ‫د‬
         ‫ از ﺝ‬Exception ‫ي‬                           ‫ﺥ هي‬                 ‫ آ‬catch ‫ر‬                   ‫د‬      ‫، اوﻝ‬          ‫ ا‬Exception
    ‫اه‬        ‫اﺝ ا‬         ‫ ه‬catch ‫ر‬            ‫د‬         ‫دو‬                     ‫. ی‬           ‫ را ادار‬ArithneticException
                              . ‫ده‬          ‫ را‬catch ‫رت‬                      ‫دو‬                          ‫ف آ دن ای‬                ‫اي‬          ،


                                                                                                           try ‫رات ﺕ درﺕ ﺵ‬                            ‫د‬


try ‫ك ی‬                  ‫ان داﺥ‬         ‫ را‬try ‫ر‬               ‫ی د‬                 ‫د.ی‬           ‫ان در‬                   ‫ را‬try ‫رات‬                   ‫د‬
                          ‫رت روي‬            ‫ن‬             ،‫د‬                 ‫ وارد‬try ‫ر‬          ‫رآ ی د‬                  ‫ار داد. ه‬                    ‫دی‬
          ،         ‫ﺥص‬              ‫اي ی ا‬          catch              ‫ی ادار آ‬                          ‫ داﺥ‬try ‫ر‬         ‫ی د‬           ‫د. ا‬
‫ار‬              ‫رد ﺝ‬                 ‫ اي ی‬try ‫ي‬                    ‫ر‬         ‫د‬        ‫ط‬        catch           ‫و ادار آ‬                  ‫دور زد‬
     ‫آ‬         ‫ز‬         ‫دوی‬            catch ‫رات‬                      ‫ازد‬        ‫ی‬       ‫ای‬     ‫ی‬         ‫اوم‬       ‫ﻝ‬          ‫د . ای‬
                     ‫ا‬     catch ‫رات‬            ‫از د‬               ‫ه‬         ‫،ا‬            ‫م‬     try                ‫رات در‬                ‫د‬           ‫آ‬
‫ﻝ را‬               ‫آ . در زی‬           ‫ئ را ادار‬               ‫اﺝ اي ﺝ وا ﺥ دش ا‬                                            ،                     ‫ا‬
                                        :           ‫د ا‬        ‫د‬        ‫ ا‬try                  ‫رات در‬            ‫آ از د‬                   ‫ه‬

// An example of nested try statements.
class NestTry {
public static void main(String args[] ){
try {
int a = args.length;
/* If no command-line args are present/
the following statement will generate
a divide-by-zero exception .*/
int b = 42 / a;
System.out.println("a = " + a);
try { // nested try block
/* If one command-line arg is used/
then a divide-by-zero exception
will be generated by the following code .*/
if(a==1 )a = a/(a-a); // division by zero
/* If two command-line args are used/
then generate an out-of-bounds exception .*/
if(a==2 ){
int c[] = { 1 };
c[42] = 99; // generate an out-of-bounds exception
}
} catch(ArrayIndexOutOfBoundsException e ){
System.out.println("Array index out-of-bounds :" + e)
}
} catch(ArithmeticException e ){
System.out.println("Divide by 0 :" + e);
}
}
}


    ‫رت زی‬                  . ‫ده‬    ‫يﺝي‬      ‫ را داﺥ دی‬try ‫ك‬        ‫آ ،ی‬         ‫ه‬            ‫ری‬             ‫ه‬
            "        ‫ی ا‬       ‫آ‬   ‫ن اﺝ ا‬       ‫يﺥ‬        ‫را ون ر‬                   ‫آ .و‬                   ‫آر‬
‫ن‬           ‫نﺥ‬       ‫ر‬     ‫ی‬            ‫د . اﺝ اي‬       ‫ ای د‬try        ‫ك ﺥ رﺝ‬                    "
       ‫ك داﺥ‬     ‫ن‬       . ‫آ‬       ‫ ﻝ‬try        ‫ك در‬      ‫" را از داﺥ‬                    "             ‫ی ا‬
    ‫ادار ﺥ اه‬        ‫د و در‬         ‫ ر داد‬try        ‫ك ﺥ رﺝ‬             ‫دا‬          ‫ئ را‬               ‫ای ا‬
    ‫ود رای " از داﺥ‬            "   ‫ی ،ی ا‬   ‫ن اﺝ ا‬       ‫يﺥ‬          ‫را ون ر‬                          ‫.ا‬
‫ت‬        ‫اي وﺝ د دار آ ه ی از‬               ‫. در زی اﺝ اه ي‬        ‫ ﻝ ﺥ اه‬try                ‫ك داﺥ‬
                                                                             : ‫ده‬    ‫ن‬            ‫ق را‬
C:>java NestTry
Divide by 0 :java.lang.ArihmeticException :/ by zero


C:>java NestTry One
a = 1
Divide by 0 :java.lang.ArihmeticException :/ by zero


C:>java NestTry One Two
a = 2
Array index out-of-bounds:
java.lang.ArrayIndexOutOfBoundsException :42


         ‫ا‬     try ‫رات‬     ‫دن د‬           ‫در‬          ،         ‫روش ه وﺝ د دا‬              ‫اﺥ ا‬           ‫ا‬
‫ك‬        ‫ی روش را درون ی‬          ‫اﺥ ا‬         ‫ا‬     ،‫ل‬   ‫ان‬        .   ‫ا ق‬            ‫ن‬      ‫ی‬     ‫رو‬
‫درون‬try ،      ‫ﻝ‬   ‫ وﺝ د دارد . در ای‬try           ‫ر دی‬   ‫م ده . درون ن روش ی د‬                   ‫ ا‬try
‫د . در‬        ‫در‬    ‫آ‬        ‫اﺥ ا‬        ‫ آ روش را‬try          ‫ك ﺥ رﺝ‬       ‫ن داﺥ ی‬           ‫روش ه‬
     nesttry() ‫ اﺥ روش‬try                ‫ك در‬        ‫آ در ن‬     ‫آ‬       ‫ه‬     ‫را‬                     ‫زی‬
                                                                                   .       ‫نآ د ا‬

/* Tyr statements can be implicitly nested via
calls to methods .*/
class MethNestTry {
static void nesttry(int a ){
try { // mested try block
/* If one command-line arg is used/
then a divide-by-zero exception
will be generated by the following code .*/
if(a==1 )a = a/(a-a); // division by zero
/* If two command-line args are used/
then generate an out-of-bounds exception .*/
if(a==2 ){
int c[] = { 1 };
c[42] = 99; // generate an out-of-bounds exception
}
} catch(ArrayIndexOutOfBoundsException e ){
System.out.println("Array index out-of-bounds :" + e)
}
}
public static void main(String args[] ){
try {
int a = args.length;
/* If no command-line args are present/
the following statement will generate
a divide-by-zero exception .*/
int b = 42 / a;
System.out.println("a = " + a);
nesttry(a);
} catch(ArithmeticException e ){
System.out.println("Divide by 0 :" + e);
}
}
}


                                                                       .           ‫ا‬        ‫ل‬       ‫ه ن‬         ‫ﺥ وﺝ‬


                                                                                                               Throw


    ‫را دی ای . ا‬        ‫ب‬    ‫اﺝ اي ﺝ وا‬                                    ‫آ‬                ‫ا‬                   ‫ل‬
       . ‫ی‬    ‫ب‬      throw ‫ر‬          ‫د از د‬      ‫ا‬   ‫ی‬          ‫ر‬         ‫ئ را‬             ‫ا ی ا‬
                                                                       :                    ‫ار زی‬      throw

ThrowThrowableInStance;


    ‫زی آ س از‬        ‫ ی ی‬throwable ‫ع‬             ‫از‬             ‫ ی ی‬Throwable Instance                              ‫در ای‬
       throwable‫از‬           ‫ي‬         ‫نآ‬       ‫ ، ه‬char ‫ ی‬int                 ، ‫د‬          ‫. ا اع‬        throwable
       ‫وردن ی‬           ‫اي‬            ‫. دو‬       ‫د‬    ‫تا‬             ‫ان ا‬               ‫ا‬        ‫ و‬object ‫ و‬string
     ‫ئﺝ ی‬          ‫ و ی ای د ی‬catch          ‫داﺥ ﺝ‬         ‫را‬        ‫د از ی‬            ‫ وﺝ د دارد : ا‬throwable
‫ي‬       ‫رات‬       ‫د.د‬                    throw ‫ر‬          ‫از د‬                         ‫ ﺝ ی ن اﺝ ا‬new .
catch‫ر‬        ‫د ی د‬              ‫ار‬            ‫رد ﺝ‬   try                      ‫ك‬        ‫ی‬       ‫. دی‬      ‫اه‬        ‫اﺝ ا‬
‫ر‬    ‫ند‬         ‫دآ ل‬                                 ‫.ا‬              ‫دا‬                    ‫عا‬             ‫دآ‬       ‫ا‬
،‫د‬             ‫ار‬           ‫رد ﺝ‬        try               ‫ي‬        ‫ر‬    ‫د‬       ،‫د‬          ‫ا‬                      ‫د.ا‬
‫ض‬                       ‫ادار آ‬          ،‫د‬    ‫ا‬      ‫اي‬        ‫آ‬             catch      ‫ه‬           ‫ﺥ .ا‬       ‫ر اﻝ‬          ‫وه‬
          ‫ه‬                        ‫ی‬     ‫آ . در ای‬            ‫را پ‬            ‫داد و ردی ب‬                             ‫ئ‬           ‫ا‬
‫دا‬        ،‫د‬             ‫ئ را‬          ‫اي آ ای ا‬      ‫ی . ادار آ‬                ‫ب‬       ‫را ای د و‬               ‫آ ی ا‬            ‫آ‬
                                                               .‫د‬           ‫ب ﺥ اه‬              ‫و‬          ‫ادار آ‬         ‫ن را‬

// Demonstrate throw.
class ThrowDemo {
static void demoproc )({
try {
throw new NullPointerException("demo");
} catch(NullPointerException e ){
system.out.println("Caught inside demoproc.");
throw e; // rethrow the exception
}
}
public static void main(String args[] ){
try {
demoproc)(;
} catch(NullPointerException e ){
System.out.println("Recaught :" + e);
}
}
}


                ‫ا‬          ‫ ی‬main() ، ‫ك دارد . اول‬                     ‫اي آ ر ی ﺥ ي‬                            ‫دو‬                ‫ای‬
     ‫دی‬             ‫ی‬      demoproc() ‫آ . روش‬                           ‫اﺥ ا‬        ‫)( را‬demoproc                     ‫آ و‬
‫ را‬NullpointerException ‫ﺝ ی از‬                                 ‫ی‬               ‫د و‬                   ‫را‬        ‫ا‬         ‫ادار آ‬
‫ار‬                  .     ‫ب ﺥ اه‬              ‫دا ا‬        .        ‫ﺥ اه‬             ‫ي‬           ‫آ آ روي ﺥ‬                ‫ب‬
                                                                                                           .        ‫زی ﺥ اه‬

Caught inside demoproc
Recaught :java.lang.NullPointerException :demo
‫د ﺝ‬                    ‫ارد ﺝ وا ای د‬                   ‫ا‬        ‫ا‬      ‫از ا‬          ‫ی‬                     ‫ده‬                ‫ن‬                  ‫ه‬
                                                                                                          ‫:‬                      ‫ای ﺥ دا‬             ‫ي‬

‫;)"‪+ throw new NullPointerException("demo‬‬


       ‫د .آ‬           ‫ﺥ‬            ‫از ‪NullpointerException‬‬                                           ‫ی‬                  ‫د‬            ‫، ‪ new‬ا‬              ‫در ای‬
       ‫ر‬      ‫را‬           ‫ی‬         ‫وی‬          ‫ون را‬                  ‫دار : ی‬      ‫ز‬           ‫اﺝ اي آ ر ﺝ وا دو‬                                  ‫ت‬          ‫ا‬
‫. را‬          ‫آ آ ا‬                                  ‫را‬        ‫نی ر‬                ‫د، ر‬                        ‫د‬            ‫دوم ا‬              ‫از‬        ‫اي . و‬
‫د‬             ‫د‬       ‫)(‪ print‬ی )(‪ println‬ا‬                     ‫ن‬          ‫ر‬       ‫ان ی‬              ‫ئ‬              ‫آ‬            ‫ی .و‬
       ‫اﺥ ا‬            ‫ی‬                ‫ان‬                          ‫را ه‬             ‫ر‬           ‫ی . ای‬             ‫در‬               ‫ی‬               ‫ر‬      ‫، ای‬
                                             ‫ورد .‬                                   ‫‪Throwable‬‬                                       ‫)(‪ getMessage‬آ‬



                                                                                                                                                    ‫‪Throws‬‬


‫آ ، ن روش ی ای ر ر‬                                        ‫ئ را دارد و ن را ادار‬                           ‫ای د ی ا‬                             ‫ی روش‬           ‫ا‬
                  ‫ت‬            ‫ا‬        ‫اﺥ ا ن ن روش ﺥ د ن را در‬                                         ‫اي آ‬                    ‫ی‬                      ‫ﺥ د را‬
‫‪throws‬‬                ‫د. ی ﺝ‬                 ‫م‬           ‫ن روش ا‬          ‫‪ Throws‬در ا‬                         ‫نی ﺝ‬                            ‫ی . ای ر‬
       ‫اي آ‬       ‫آ . ای ر‬                ‫ي‬                     ‫ی و‬            ‫ب‬                 ‫ا‬             ‫آ ی روش‬                                   ‫ا اع ا‬
‫ط‬          ‫ت‬               ‫از ا اع ‪ Error‬ی ‪ ، RuntimeException‬ی ا‬                                                       ‫،‬            ‫وري ا‬          ‫ت‬          ‫ا‬
       ‫ی ، ی در ﺝ‬                   ‫ب‬                ‫ا‬         ‫روش‬         ‫آ ی‬                           ‫ی ا‬                ‫.آ‬           ‫ي‬           ‫زی آ‬
‫.‬          ‫ﺥ اه‬                    ‫د ، ی ﺥ ي )‪(compile-time‬‬                                  ‫م‬       ‫ای ر ا‬                 ‫.ا‬            ‫ن‬         ‫‪ throws‬ا‬
              ‫:‬       ‫رت زی ا‬                    ‫،‬         ‫‪throws‬‬              ‫ﺝ‬                 ‫ن روش آ در‬                              ‫ی ا‬

‫‪type method-name(parameter-list )throws exception-list‬‬
‫{‬
‫‪// body of method‬‬
‫}‬
‫ا‬            ‫آ ی روش‬               ‫ا‬        ‫از ا‬   ‫آ‬         ‫ﺝا‬           ‫ ی‬exception-list              ‫در ای‬
        ‫ا‬               ‫ئ را آ‬     ‫آ ی ا‬        ‫ش‬      ‫آ‬     ‫ا‬                    ‫يی‬       ‫ل‬       . ‫ی‬     ‫ب‬
‫ن‬            ‫را ا‬            ‫ای‬    ‫آ‬                ‫ را‬throws         ‫ی ﺝ‬      ‫ن‬       .‫ی‬      ‫ب‬          ،‫د‬
                                                                         :   ‫اه‬        ‫ی‬       ‫آ‬           ، ‫ی‬

// This program contains an error and will not compile.
class ThrowsDemo {
static void throwOne )({
System.out.println("Inside throwOne.");
throw new IllegalAccessException("demo");
}
public static void main(String args[] ){
throwOne)(;
}
}


            ‫نآ‬      ‫ا‬       ‫ﺝ د وری . ا ا ، زم ا‬                 ‫ل ، ی دو‬          ‫دن ای‬           ‫ی‬     ‫اي آ‬
‫ی . دوم ، روش‬                     ‫ب‬        ‫ را‬IllegalAccessException ‫آ‬             ‫ا‬       ‫ رو‬throwOne()
                                  .‫د‬       ‫را‬    ‫ی آ ای ا‬         ‫ی‬     try/catch ‫ر‬         ‫ ی ی د‬main()

// This is now correct.
class ThrowsDemo {
static void throwOne )(throws IllegalAccessException {
System.out.println("Inside throwOne.");
throw new IllegalAccessException("demo");
}
public static void main(String args[] ){
try {
throwOne)(;
} catch( IllegalAccessException e ){
System.out.println("Caught " + e);
}
}
}


                                                       : ‫آ‬            ‫، ﺥ وﺝ زی را ﻝ‬                     ‫اﺝ اي ای‬
‫‪inside throwOne‬‬


‫‪caugh java.lang.IllegalAccessException: demo‬‬




                                                                                                                                                 ‫‪Finally‬‬


                        ‫آ‬           ‫ا‬            ‫لو‬           ‫يا‬              ‫، اﺝ ا در روش‬                                 ‫ب‬        ‫ت‬                       ‫ا‬     ‫و‬
‫،‬                 ‫ي‬                 ‫آ‬          ‫روش‬           ‫ای‬               ‫ده .‬                       ‫روش را‬                      ‫آ ﺝ ین‬                        ‫ﺥ‬
                ‫دد . در ﺥ رو‬                             ‫م‬            ‫روش‬             ‫د‬                      ‫ئ‬         ‫ا‬        ‫ن دارد آ ی‬                   ‫ا‬
‫م‬        ‫د وه‬               ‫م ورود ز‬             ‫را ه‬        ‫ی روش ی‬                      ‫لا‬       ‫ان‬            ‫ی .‬                 ‫ا‬
‫ئ‬          ‫ادار ا‬                                ‫د‬            ‫ی را‬            ‫آيآ‬                        ‫ی‬                      ‫د،‬       ‫ﺥ وج ن را‬
‫ی آ .‬                       ‫ل و ع را‬                ‫ای ا‬                      ‫ا‬       ‫د. واژ آ ي ‪finally‬‬                                 ‫ا‬
    ‫از آ‬        ‫و‬                           ‫ك ‪try/catch‬‬               ‫ی‬           ‫از ای‬            ‫آ آ‬               ‫ك آ ای د‬                    ‫‪ Finally‬ی‬
‫د‬           ‫د‬           ‫ب‬               ‫ئ‬     ‫ی ا‬        ‫ك ‪finally‬‬                ‫.‬           ‫ك ‪ try/catch‬اﺝ ا ﺥ اه‬                                  ‫آ‬
‫از‬          ‫ه‬       ‫ا‬                       ‫ك ‪ finally‬اﺝ ا ﺥ اه‬                   ‫د‬       ‫ب‬         ‫ي‬            ‫ی ا‬            ‫.ا‬       ‫، اﺝ ا ﺥ اه‬
                                                                          ‫.‬                    ‫ا‬                 ‫ئ‬              ‫رات ‪ catch‬ا‬                         ‫د‬
    ‫دد‬                  ‫اﺥ ا‬                 ‫ك ‪try/catch‬‬                      ‫ی‬       ‫آ از داﺥ‬                   ‫ا‬         ‫دی‬     ‫روش‬                ‫ی‬             ‫ه‬
                    ‫‪ finally‬ه‬                  ‫ی ،ﺝ‬                               ‫ر‬       ‫د‬        ‫ی آ‬                           ‫ئ‬           ‫ا‬           ‫ی‬
    ‫و‬      ‫هي ی‬                         ‫د‬           ‫اي‬            ‫ا‬               ‫ر‬       ‫. ای‬               ‫ي روش اﺝ ا ﺥ اه‬                                      ‫از‬
            ‫از‬                      ‫آ دن‬            ‫درا اي ی روش ه ف‬                                 ‫ا‬                ‫آ‬              ‫ی‬           ‫زاد آ دن‬
         ‫ی ﺝ‬        ‫ا‬           ‫م‬           ‫ر ‪try‬‬        ‫.ا ه د‬                   ‫‪ finally‬اﺥ ري ا‬                      ‫.ﺝ‬                        ‫ر‬               ‫دادن‬
         ‫ﺝ د در‬             ‫روش‬              ‫اي وﺝ د دارد آ‬                           ‫. در ای‬                        ‫‪finally‬‬         ‫‪catch‬ی ی ﺝ‬
                            ‫.‬           ‫ون اﺝ اي ﺝ ت ‪ finally‬ﺥ د ه‬                                   ‫از‬               ‫ده آ ه‬                 ‫ن‬               ‫را را‬

‫.‪// Demonstrate finally‬‬
‫{ ‪class FinallyDemo‬‬
‫.‪// Through an exception out of the method‬‬
‫{() ‪static void procA‬‬
‫{ ‪try‬‬
System.out.println("inside procA");
throw new RuntimeException("demo");
} finally {
System.out.println("procA's finally");
}
}
// Return from within a try block.
static void procB )({
try {
System.out.println("inside procB");
return;
} finally {
System.out.println("procB's finally");
}
}
// Execute a try block normally.
static void procC )({
try {
System.out.println("inside procC");
} finally {
System.out.println("procC's finally");
}
}
public static void main(String args[] ){
try {
procA();
} catch( Eeception e ){
System.out.println("Exception caught");
}
procB();
procC();
}
}


finally    ‫.ﺝ‬         ‫ را‬try ‫م‬      ‫ر‬       ،‫ئ‬     ‫بی ا‬        procA() ، ‫ل‬    ‫در ای‬
‫ اﺝ ا‬return ‫ر‬   ‫ی د‬       procB()       ‫ط‬        try ‫ر‬   ‫د.د‬      ‫روي ﺥ رج را اﺝ ا‬
‫ر‬       ‫د . در)(‪ procC‬د‬                ‫ی اﺝ ا‬                    ‫)(‪procB‬‬               ‫از ای‬     ‫‪finally‬‬            ‫د.ﺝ‬
          ‫.‬     ‫ا‬        ‫ن اﺝ ا‬        ‫ك ‪ finally‬ه‬               ‫د.ا‬               ‫اﺝ ا‬        ‫و ون ﺥ‬                   ‫ر‬        ‫‪try‬‬
‫‪ try‬اﺝ ا‬            ‫ا س‬        ‫ك ‪finally‬‬            ‫،‬            ‫ك ‪ finally‬ی ‪ try‬ه ا‬                           ‫ی‬    ‫ی د وري : ا‬
                              ‫:‬    ‫آ‬         ‫ه‬          ‫را‬                    ‫از‬               ‫. در زی ﺥ وﺝ‬                     ‫ﺥ اه‬

‫‪inside procA‬‬
‫‪procA's finally‬‬
‫‪Exception caught‬‬
‫‪inside procB‬‬
‫‪procB's finally‬‬
‫‪inside procC‬‬


                                                                                                     ‫وا‬        ‫تﺕ آر‬                  ‫ا‬



    ‫آ .‬             ‫ی‬     ‫ئ را‬         ‫ی آ سا‬             ‫ارد ‪ ، java.lang‬ﺝ وا‬                   ‫م ا اري ا‬                          ‫داﺥ‬
‫ع‬   ‫ي‬           ‫ت زی آ‬             ‫ی ای ا‬                        ‫.‬        ‫د‬        ‫ا‬           ‫ﻝ ي‬        ‫در‬            ‫از ای آ‬
‫‪throws‬‬                    ‫در ه‬         ‫ارد‬          ‫و ﻝ و‬            ‫.‬                 ‫ارد ‪RuntimeException‬‬                           ‫ا‬
‫‪(unchecked‬‬                ‫ل‬       ‫تآ‬         ‫را ا‬        ‫. در ز ن ﺝ وا ، ای‬                               ‫ی روش‬             ‫ط‬
        ‫ت را ادار‬          ‫آ آ ی ی روش ای ا‬                          ‫ل‬    ‫ی آ‬            ‫. زی ا آ‬                  ‫)‪exception‬‬
              ‫د ای . ﺝ ول 2 ن ا‬                          ‫را در ﺝ ول 1‬                   ‫ی .‬           ‫ب‬            ‫را‬           ‫آ ی‬
    ‫ط‬         ‫‪throws‬‬               ‫ا و ی در ی‬                        ‫ی‬    ‫‪java.lang‬‬                   ‫آ آ‬                            ‫را‬
‫د ، ا ﺥ دش ن را‬                   ‫ت را ﻝ‬                ‫از ای ا‬          ‫ا ی‬       ‫ن روش‬             ‫،ا‬                         ‫روش‬
‫. ﺝ وا‬                  ‫)‪(checked exceptions‬‬                     ‫ل‬       ‫تآ‬               ‫ت را ا‬           ‫. ای ا‬               ‫ادار‬
         ‫ن آ س ﺝ وا‬                ‫هي‬               ‫آ‬        ‫آ آ‬               ‫ی‬        ‫ت را‬          ‫از ا‬         ‫ع دی‬         ‫ی‬
                                                                                                                            ‫.‬        ‫ه‬

                         ‫‪ RuntimeException‬در ﺝ وا‬                          ‫يآ ل‬                 ‫زی آ‬

                                                             ‫ا‬                                                                        ‫ﺕ‬
                              ‫‪ArithmeticException‬‬                                                          ‫ﺕ‬       ‫ي،‬           ‫ي‬
ArrayIndexOutOfBoundsException                                 ‫ود ا‬        ‫رج از‬               ‫ی رای‬
            ArrayStoreException              ‫ز ر‬     ‫ع‬         ‫رای از ی‬                    ‫ی‬    ‫ب‬          ‫ا‬
              ClassCastException                                                            cast ‫ﺕ ی‬
       IllegalArgumentException                      ‫اي‬        ‫د ﺵ‬         ‫زا‬                  ‫ن‬       ‫ر‬
                                                                        ‫د ی روش‬                  ‫ا ا‬
     IllegalMonitorStateException            ‫ن‬                      ،‫ز‬                     ‫ت ﺵ‬
                                          (unlocked thread) .                                      ‫روي ی‬
     IllegalThreadStateException                     ‫و‬     ‫ز ر‬            ‫ﺵ‬               ‫ت در ا‬
                                                                                               ‫ري‬
     IndexOutOfBoundsException                       ‫ود ا‬          ‫رج از‬              ‫ی‬    ‫ا اع‬
         NegativeArrayException                                     ‫ی ا از‬                ‫رای ای د ﺵ‬
            NullpointerException                           ‫ﺕ‬             ‫از ی‬                      ‫آر د‬
        NumberFormatException                    ‫ر‬             ‫ی‬         ‫ی رﺵ‬                        ‫ﺕ ی‬
               SecurityException                                              ‫ا‬             ‫ﺕ ش اي‬




                   ‫آ ر در ﺝ وا‬          ‫تآ ل‬         ‫ا‬

                                    ‫ا‬                                                                   ‫ﺕ‬
        ClassNotFoundException                                                    ‫ا‬            ‫آ سپ ا‬
    CloneNotSupportedException.                           ‫ی ﺵ آ را‬                         ‫ﺕ ش اي ﺕ‬
                                                      .            ‫زي‬      ‫ را پ د‬Cloneable
           IllegalAccessException                         ‫ی آ سا رﺵ ا‬                                  ‫د‬
           InstantiationException                ‫ﺕ ش اي ای د ی ﺵ از ی آ س ی ی‬
                                                                                                       ‫را‬
            InterruptedException                 ‫ دی‬thread ‫ی‬               ‫ ﺕ‬thread ‫ی‬                   ‫ﺕ‬
           NoSuchFieldException                                           ‫در ا‬                 ‫مو د‬
         NoSuchMethodException                                            ‫در ا‬                 ‫مو د‬


                             ‫دﺕ ن‬        ‫ط‬       ‫ئ‬         ‫يا‬             ‫دن زی آ‬                   ‫ای د‬
‫اه ا اع‬            ‫ل دارد‬             ‫،ا‬        ‫آ‬             ‫ت آ ر ﺝ وا اآ ﺥ ه ي رای را ادار‬                                                  ‫ا‬          ‫ا‬
 ‫را ادار‬           ‫هي‬                 ‫در‬                               ‫ای‬           ‫ﺥ د ن را ای د آ‬                            ‫ط‬               ‫ئ‬          ‫ا‬
  ‫ی‬     ‫ی ) آ اﻝ‬              ‫ی‬       ‫ی زی آ س از ‪Exception‬‬                           ‫:‬           ‫د ا‬          ‫ر‬           ‫م ای ر‬                  ‫آ .ا‬
 ‫د‬      ‫ي را‬        ‫وا "‬               ‫ار‬               ‫ﻝ و‬      ‫ي‬          ‫.) زی آ‬                       ‫زی آ س از ‪Throwable‬‬
                                                                                                                                        ‫زي آ .‬
‫ي‬       ‫ای آ س از رو‬                   ‫آ . اﻝ‬                   ‫ی‬      ‫اي ﺥ د‬                  ‫رو‬                  ‫آ س ‪ Exception‬ه‬
‫ای د‬           ‫ی‬                  ‫ت‬             ‫ا‬        ‫آ‬            ‫د. ی‬           ‫‪ Throwable‬ارث‬                                                   ‫اه‬
               ‫س‬            ‫و در د‬                  ‫ی‬         ‫‪Throwable‬‬               ‫آ‬              ‫ی ه‬           ‫آ د ای ، داراي رو‬
‫را در‬      ‫از ای رو‬                    ‫اه ی ی‬                    ‫ا‬                 ‫ن داد ای . ه‬                     ‫را در ﺝ ول زی‬
                                                                      ‫ی .‬          ‫ی آ ای د آ د ای ، ﻝ‬                                      ‫يا‬            ‫آ‬


                                       ‫‪Throwable‬‬                               ‫ی‬      ‫ي‬          ‫رو‬


                                                                                                                                                    ‫ح‬
                   ‫)(‪ThrowablefillinStackTrace‬‬                                     ‫ی ردی ب‬                ‫ی ﺵ ‪ Throwable‬را آ ﺵ‬
                                                                                                ‫دا .‬                           ‫ا‬            ‫ﺵ پ‬           ‫ﺕ‬
                                                                                              ‫دا پ ﺕ ب ﺵ د .‬                       ‫ا‬                ‫ای ﺵ‬
                                  ‫)(‪StringgetMessage‬‬                                                 ‫دا‬             ‫ئ را‬                ‫از ا‬              ‫ﺕ‬
                             ‫)(‪VoidprintStackTrace‬‬                                                            ‫ده‬           ‫ی‬           ‫را‬          ‫ردی ب پ‬
                                           ‫)(‪StringtoString‬‬                                    ‫دا آ‬                 ‫ﺵ از ع ‪ string‬را‬
 ‫د.‬        ‫)(‪ println‬ا ا‬                        ‫و‬       ‫اي ﺵ ‪throwable‬‬                    ‫ی‬      ‫م‬        ‫ه‬         ‫. ای‬                    ‫ﺵ ﺡ از ا‬


 ‫د‬      ‫از ن زی آ س ا‬                           ‫آ و‬             ‫ن‬     ‫ي ی زی آ س ﺝ ی از ‪ Exception‬ا‬                                                  ‫ل‬
‫ی . ای زی آ س ، روش)(‪ tostring‬را‬                                      ‫ی روش ار ل‬                     ‫ط را‬            ‫ی‬                              ‫آ‬
         ‫در ی .‬         ‫ی‬         ‫ئ‬         ‫ا‬                    ‫ده‬         ‫د از ‪ ()println‬اﺝ ز‬                      ‫ا‬         ‫آ ،و‬                       ‫ﻝ‬

‫.‪// This program creates a custom exception type‬‬
‫{ ‪class MyException extends Exception‬‬
private int detail;
MyException(int a ){
detail = a;
}
public String toString )({
return "MyException[" + detail + "]";
}
}
class ExceptionDemo {
static void compute(int a )throws MyException {
System.out.println("Called compute(" + a + ")");
if(a > 10)
throw new MyException(a);
System.out.println("Normal exit");
}
public static void main(String args[] ){
try {
compute(1);
compute(20);
} catch( MyException e ){
System.out.println("Caught " + e);
}
}
}


    ‫آ . ای زی‬        ‫ی‬    MyException ‫ان‬                 Exception ‫ل ی زی آ س از‬                   ‫ای‬
              ‫ ا‬tostring() ‫و ی روش‬       ‫ز‬       ‫ی‬       ‫: ای زی آ س‬            ‫د ا‬      ‫آ سﺥ‬
‫م‬             ‫روش‬    ‫ ی‬ExceptionDemo ‫ده . آ س‬                    ‫ی‬   ‫ئ را‬        ‫ار ا‬        ‫دارد آ‬
     ‫را‬   ‫آ‬     ‫آ .و‬      ‫ب‬     ‫ را‬MyException ‫ئ‬               ‫آ آ ی‬                  compute()
‫. روش‬           ‫ب ﺥ اه‬     ‫ئ‬    ‫،ا‬      ١٠ ‫از‬        ‫ر‬       compute()      ‫ط‬                  ‫د‬
    ‫)( را‬compute         ، ‫ده‬    ‫ار‬    MyException ‫اي‬            ‫ئ‬     ‫ا‬    ‫ ی ادار آ‬main()
‫ﺝ د در آ‬            ‫ن دادن دو‬   ‫ز اي‬         ‫ار‬          ‫ی‬     ‫از ٠١ ( و‬    ‫ز)آ‬         ‫ار‬         ‫ی‬
                                             :       ‫رت زی ا‬                . ‫آ‬           ‫اﺥ ا‬
Called compute(1)
Normal exit
Called Compute(20)
‫سه‬                           ‫ﺵ ی‬



                                                                 ‫:‬             ‫وی ای‬


                                                ‫لآ سه‬            ‫ا‬
                                           ‫آ دن‬      ‫ی‬
                               ‫ه ي ارﺝ ع‬
                       ‫ا (‬            ‫ی‬    ‫ه )ﺝی‬
                                               ‫‪ Constructor‬ه‬
                                               ‫آ ي ‪this‬‬          ‫آ‬
                           ‫د‬    ‫ا‬                ‫ي‬           ‫ز‬
                                                ‫)(‪finalize‬‬
                                                 ‫آ س ‪Stack‬‬




‫ل‬       ‫(،آ‬   ‫)‬       ‫زی‬       ‫اﺥ ا‬        ‫و‬     ‫ی‬                       ‫ع داد ا ا‬        ‫و‬       ‫در ای‬
    ‫ی‬             ‫ز‬                 ‫و زی‬        ‫، ار ل را‬            ‫ا‬         ‫ص‬     ‫اﺥ‬       ‫،‬     ‫زی‬
‫ل آ سه‬                 ‫ا‬


     ‫آ آ ز ن ﺝ وا‬                ‫ه‬                 ‫ﺥ ر‬             ‫آ ي ﺝ وا ﺝ ي دار . آ سه ،‬                                ‫آ سه در ه‬
‫، آ سه‬                   ‫آ . ی‬                 ‫ی‬            ‫ه را‬                 ‫و ه‬                 ‫اآ‬    ‫،‬      ‫ا‬             ‫ﺥ‬        ‫روي ن‬
‫اه در‬          ‫آ‬                         ‫ده . ه‬                         ‫ا را در ﺝ وا‬                       ‫زي‬                   ‫ی وا س‬
                                                   ‫١‬
                                         ‫د.‬        ‫ن‬          ‫در ی آ س‬                   ‫ی‬           ‫زي آ ،‬           ‫ه ي ﺝ وا د‬
‫ع ﺝ ی ي از داد ه را‬                  ‫آ‬          ‫نا‬                     ‫ی در ر آ سه ی د‬                         ‫اي آ‬             ‫ی‬            ‫ی‬
‫ع‬     ‫ءه ي‬          ‫اي ای د‬          ‫ان‬                ‫ن‬           ‫ی‬        ‫از‬           ‫ع ﺝ ی را‬          ‫آ . داد ه ي‬                       ‫ی‬
                                                               ‫٢‬
‫-‬        ‫ءه‬           ‫.وه‬            ‫ءا‬                ‫اي ی‬            ‫آ ر رد. از ای رو، ه آ س، اﻝ ی‬                                         ‫رد‬
    ‫ﺥ اه دی‬         ‫،ا‬       ‫اي از ی آ س ا‬                             ‫ء،‬            ‫نه‬          ‫ی.‬        ‫ر‬           ‫اي٣ از ی آ س‬
                                                        ‫.‬              ‫آر د‬                  ‫ﺝيی ی‬                     ‫و‬             ‫آ دو واژ‬
‫آ دن‬                  ‫د. ای آ ر‬                                ‫ن‬            ‫مد‬       ‫و‬       ‫آ ، ه‬                ‫ی‬        ‫را‬            ‫آ‬        ‫و‬
        ‫د. ا‬          ‫آ ، ا م‬                                ‫روي ن داد ه‬                     ‫آ‬        ‫هی‬    ‫داد ه ي درون ن و رو‬
‫آ س-‬                ‫،ا‬           ‫رو ه ی داد ه‬                                ‫در‬                  ‫ا‬         ‫د‬     ‫ري از آ سه ي‬
‫آ ﺥ اه دی ، رو ه ي‬                             ‫.ه ن‬                                  ‫، ه دو را‬             ‫ح در آ ره ي وا‬                    ‫هي‬
                                                              ‫آ .‬                ‫ی‬       ‫داد ه ي ن را‬                       ‫ه آ س، را‬
                ‫ر‬            ‫ا‬                ‫د. آ سه‬                       ‫ی‬        ‫آ ي ‪Class‬‬                 ‫د از آ‬       ‫ه آ س ا‬
                         ‫.‬       ‫ا‬            ‫ن داد‬           ‫ه آ س در ذی‬                    ‫ی‬                         ‫(‬            ‫ًه‬            ‫)و‬
‫{ ‪Class classname‬‬
‫;1‪Type instrance-variable‬‬
‫;2‪Type instance-variable‬‬
‫…‪II‬‬
‫;‪Type instance-variableN‬‬


‫{)‪Type methodname1(parameter-list‬‬
‫‪//body of method‬‬
‫}‬
‫{)‪Type methodname2(parameter-list‬‬

‫1‬
  ‫.‪- encapsulated‬‬
‫2‬
  ‫.‪- template‬‬
‫3‬
  ‫.‪- instance‬‬
‫‪//body of method‬‬
‫}‬
‫… //‬
‫{)‪Type methodnameN(parameter-list‬‬
‫‪//body of method‬‬
         ‫}‬
‫}‬
                         ‫٤‬
‫.‬                            ‫«‬                       ‫،»‬                     ‫ی‬        ‫ه ی ، آ در ه آ س‬                                 ‫داد ه ی ، ی‬
     ‫ی‬       ‫ه ی آ در ه آ س‬                              ‫ه و‬              ‫رآ ،‬                ‫.‬              ‫ه ﺝي‬                ‫در‬        ‫ه‬            ‫رو‬
‫اي ه آ س‬                          ‫ی‬         ‫هي‬               ‫آ سه ،‬                  ‫د. در‬                   ‫ي٥ آ س‬                   ‫،ا‬
         ‫ه ه‬         ‫دار . از ای رو، ای‬                          ‫د‬              ‫و‬     ‫آ‬       ‫ه آر‬                           ‫روي‬           ‫آ‬             ‫ه‬
                                                             ‫آ .‬                     ‫د از داد ه ي ه آ س را‬                        ‫ا‬                      ‫آ‬
‫از ی آ س‬                         ‫آ ه‬             ‫، نا‬                       ‫ﺥ ا‬                        ‫ه ي ه آ س،‬                              ‫ای‬       ‫دﻝ‬
‫ء،‬           ‫ه دارد. از ای رو، داد ه ي ه‬                                  ‫ﺥ ص ﺥ د را‬                  ‫ء از ی آ س(، آ‬                      ‫،ه‬            ‫)ی‬
                                       ‫.‬             ‫ن‬       ‫ی‬       ‫ء دی‬            ‫و ﺥ ص ﺥ د ن د و داد ه ي ی‬                                          ‫ﺝا‬
‫دآ آ س‬                                     ‫ي‬                          ‫ز‬             ‫)(‪ main‬ار .‬                          ‫ز‬       ‫آ سه ي ﺝ وا‬
‫م )(‪main‬‬              ‫ي‬                ‫ز‬         ‫ً‬       ‫و ، َﻝ ه ا‬
                                                              ‫ا‬                       ‫.‬           ‫ن‬              ‫زی‬                   ‫،‬         ‫رد‬
                                                                                                                                           ‫ار .‬
‫.‬                ‫ی‬               ‫رﺝا‬                     ‫و‬                      ‫ذﺥ‬        ‫ه در ی‬            ‫زي‬           ‫د‬       ‫آ سو‬
‫ه آ س ی آً‬                                 ‫د،‬             ‫رگ‬         ‫ر‬          ‫ای د ی ه ي ‪java‬‬                          ‫ه او ت‬                     ‫ای ا‬
                                                                                                        ‫د.‬           ‫ی‬            ‫ی وا‬              ‫در ی‬


                                                                                                                                  ‫د‬       ‫ی آ س‬


‫-‬            ‫ی‬   ‫م ‪Box‬‬                           ‫اي ای آ ر آ‬              ‫آ ،‬             ‫ز‬       ‫د‬     ‫ل‬        ‫ی‬           ‫آ سه را‬                ‫ﻝ‬
‫، ‪Box‬‬                ‫ل‬       ‫. در‬           ‫م ‪ height, width‬و ‪ depth‬ا‬                                                            ‫آ داراي‬                 ‫آ‬
                                            ‫(.‬        ‫ن ا ود ﺥ اه‬                      ‫هی‬              ‫)ا در ی‬               ‫ا‬                  ‫ه‬

‫4‬
    ‫.‪- instance variable‬‬
‫5‬
    ‫.‪- member‬‬
‫{ ‪Class Box‬‬
‫;‪double width‬‬
‫;‪double height‬‬
‫;‪double depth‬‬
‫}‬

‫ل ﺥ ص،‬                 ‫آ . در ای‬          ‫ی‬         ‫، ه آ س، ع ﺝ ی ي از داد ه را‬                                                     ‫آ‬              ‫ه ن‬
‫ع ‪Box‬‬             ‫ءه‬         ‫ی‬     ‫اي‬         ‫م‬         ‫. از ای‬        ‫ا‬                       ‫د، ‪Box‬‬                       ‫ع ﺝ ی ي آ ای د‬
‫٦‬
       ‫ای د ی اﻝ‬                   ‫ه آ سﺝی‬                   ‫ی‬             ‫ری آ‬                     ‫ﺥ‬             ‫ا‬           ‫.‬      ‫د ﺥ اه‬              ‫ا‬
                                                                                          ‫د.‬            ‫ای د‬                ‫ء وا‬             ‫د؛ ی‬
             ‫د آ .‬        ‫زی ا‬            ‫ن‬         ‫ه‬       ‫را‬         ‫از‬        ‫ی‬             ‫د،‬       ‫ء ‪ Box‬ای د‬                       ‫ی‬          ‫اي‬
‫‪Box mybox new BOX ( ); // create a Box object called mybox‬‬

‫. از ای رو،‬              ‫اي از ‪ Box‬ای د ﺥ اه‬                      ‫ان‬              ‫، ‪mybox‬‬                    ‫اﺝ ا‬            ‫رت‬                   ‫از‬
                                                             ‫.‬             ‫ی « از آ س ‪ Box‬ای د ﺥ اه‬                                  ‫»‬              ‫ی وا‬
    ‫دآ‬           ‫ای د‬              ‫آ‬      ‫اي از ی آ س را ای د‬                                           ‫آ ه‬                 ‫ذآ ا‬      ‫زم‬            ‫زه‬
‫. از‬         ‫در ن آ س ﺥ اه دا‬                           ‫ی‬        ‫هي‬                            ‫ﺥ ص ﺥ دش را از ه ی از‬
‫ه ي ‪ height, width‬و‬                                     ‫ه ي ﺥ ص ﺥ دش را از‬                                    ‫ء ‪، Box‬‬                    ‫ای رو، ه‬
    ‫. ای‬     ‫د آ‬        ‫٧ ).( ا‬                     ‫ی از‬          ‫ه‬               ‫ای‬                    ‫اي د‬            ‫.‬         ‫‪ depth‬ﺥ اه دا‬
‫ار ٠٠١ را‬                  ‫ل، اي‬          ‫ان‬                ‫آ .‬                       ‫«‬                      ‫م»‬             ‫ء را‬         ‫، م‬
                                  ‫د آ :‬            ‫رت زی ا‬                 ‫ده ، از‬                       ‫‪ width‬از ‪mybox‬‬
‫;001=‪mybox.width‬‬

‫ء‬          ‫اي از ‪ width‬آ در‬                        ‫ار ٠٠١ را‬                  ‫آ آ‬                                   ‫ی‬        ‫اي آ‬                 ‫رت‬
‫ه و‬                                ‫اي د‬           ‫).(‬                       ‫ر آ ، از‬                    ‫ده .‬                                 ‫‪ mybox‬ا‬
                                                                                 ‫د.‬                 ‫د‬    ‫ءا‬                 ‫ﺝ د در ی‬              ‫هي‬
‫دو‬         ‫آ ا‬              ‫ی‬      ‫. ای‬       ‫ه ﺥ اه دا‬                                   ‫ه ي ﺥ ص ﺥ دش را از‬                                  ‫ء‬          ‫ه‬
‫ه ي ﺥ ص ﺥ د ن را از ‪ height, width‬و‬                                          ‫،‬            ‫، ه ی از‬                           ‫ء ع ‪ Box‬دا‬
‫-‬          ‫ء ای د‬         ‫هي ی‬                          ‫آ در‬           ‫ا‬              ‫آ‬        ‫ا‬         ‫ا‬              ‫.‬     ‫‪ depth‬ﺥ اه دا‬
                                              ‫.‬         ‫اه دا‬                ‫ء دی‬          ‫هي‬                                 ‫ﺙ ي‬              ‫.ه‬

‫6‬
    ‫.‪. Template‬‬
‫7‬
    ‫.‪. dot‬‬
‫آ دن ﺵ ءه‬               ‫ﺕ ی‬           ‫ﺵ‬


‫اي‬              ‫عﺝی‬           ‫ی‬           ‫آ ، در وا‬                       ‫را ای د‬                    ‫آ‬        ‫،و‬        ‫ح داد‬                      ‫آ در‬               ‫ه ن‬
‫د‬           ‫ءه ی از ن ع ا‬                                   ‫آ دن‬           ‫ی‬           ‫اي‬            ‫ا‬            ‫عﺝی‬               ‫د. از ای‬            ‫داد ه ای د‬
 ‫، ی‬            ‫ای‬                ‫.‬               ‫اي ا‬                ‫ی دو‬                               ‫ءه ي ی آ س،‬                            ‫ن‬       ‫،ر‬        ‫آ . ا‬
‫ض،‬              ‫در‬            ‫د.‬                        ‫ء‬             ‫ی‬        ‫ی‬                               ‫آ . ای‬           ‫ی‬         ‫عآ س‬              ‫ي از‬
        ‫ی‬                 ‫ی‬               ‫ی‬              ‫،‬       ‫. دوم ای‬                       ‫ء ارﺝ ع دا‬                  ‫ی‬         ‫ا‬             ‫آ‬        ‫يا‬
‫د‬           ‫ا‬        ‫ا‬            ‫ده . ای آ ر را‬                                                         ‫ن‬       ‫وری و ن را‬                    ‫د‬    ‫ء‬        ‫از‬           ‫وا‬
        ‫در ز ن اﺝ ا(‬                          ‫ی )ی‬           ‫ر‬                 ‫اي را‬                     ‫‪، new‬‬                  ‫‪ new‬ا م ده .‬                              ‫از‬
‫د. از‬                    ‫ذﺥ‬                        ‫در‬                              ‫دا . ای‬                       ‫ن را‬                ‫ده و‬                             ‫ء‬
                                              ‫.‬     ‫ی‬                          ‫ر ی‬                   ‫ءه ي ع آ س در ﺝ وا ی‬                               ‫م‬       ‫ای رو،‬
‫د‬           ‫از ع ‪ Box‬ا‬                                       ‫ی‬        ‫اي‬           ‫رت زی‬                            ‫ي‬           ‫ه ي زی از‬                                 ‫در‬
                                                                                                                                                            ‫:‬         ‫ﺥ اه‬
‫;) ( ‪Box mybox = new Box‬‬

    ‫ن دادن ه ی‬                ‫ان اي‬                              ‫را‬            ‫رت‬           ‫ا .‬               ‫آ‬             ‫رت‬            ‫در‬                              ‫دو‬
                                                                                                             ‫آ د:‬       ‫ز ی‬           ‫رت زی‬                       ‫ا‬       ‫از‬
‫‪Box mybox; // declare reference to object‬‬
‫‪Mybox = new Box ( ) ; // allocate a Box object‬‬

‫از اﺝ اي‬                 ‫د.‬                         ‫ی‬            ‫از ع ‪Box‬‬                                      ‫ان‬               ‫، ‪mybox‬‬                     ‫ح‬             ‫در‬
    ‫ه‬           ‫ه ز‬                       ‫آ‬             ‫نا‬                         ‫آ‬            ‫ﺥ اه‬           ‫ار ‪ null‬در ‪ mybox‬ذﺥ‬                              ‫ای ﺥ ،‬
‫وز‬                                                ‫د از ‪ mybox‬در ای‬                              ‫اي ا‬         ‫ا ام‬               ‫ارﺝ ع ارد. ه‬                    ‫ء وا‬
‫ن‬                                     ‫و‬             ‫ء وا‬                                    ‫ﺝ‬            ‫دوم ه‬          ‫.‬           ‫ی ﺥ اه‬           ‫ﺥ يز نآ‬
    ‫آ‬       ‫د آ‬          ‫اي ا‬                           ‫از ‪mybox‬‬                   ‫ا‬            ‫دوم،‬                ‫از اﺝ اي‬               ‫د.‬           ‫‪mybox‬‬
‫-‬           ‫اري‬          ‫را‬               ‫ء ‪ Box‬وا‬                                               ‫ً‬            ‫. ا ‪mybox‬‬                   ‫ء ‪ Box‬ا‬                ‫ی ی‬
                                                                                                                                                                      ‫آ .‬


                                                                                                                        ‫ﺵ‬           ‫ه ي ار ع‬                               ‫ﺕ‬
‫ر داری‬            ‫ا‬                     ‫ء‬               ‫ه ي ارﺝ ع‬                       ‫د‬             ‫د،‬           ‫ا م‬                                     ‫و‬
                                                            ‫ده ؟‬        ‫ا م‬                           ‫رت زی‬            ‫دو‬       ‫آ‬               ‫وت دارد.‬
‫;) ( ‪Box b1 = new Box‬‬
‫;1‪Box b2 = b‬‬

‫2‪b‬‬           ‫ن ارﺝ ع دارد.‬                         ‫آ 1‪b‬‬                    ‫اي از‬                                ‫آ‬      ‫ر آ‬                           ‫ا‬
‫ی ي‬              ‫و‬            ‫ءه ي ﺝ ا‬                      ‫آ 1‪ b‬و 2‪b‬‬                ‫آ‬                           ‫ا‬          ‫،‬       ‫ی .ی‬
‫، 1‪ b‬و 2‪b‬‬                     ‫رات‬           ‫از اﺝ اي‬                  ‫ض،‬           ‫در‬           ‫.‬                ‫ر در‬               ‫ارﺝ ع دار . ا ، ای‬
     ‫ی آ‬                                           ‫ﺝ‬        ‫1‪ b‬و 2‪b‬‬                             ‫.‬         ‫ء ارﺝ ع ﺥ اه دا‬                       ‫ی‬        ‫ه دو‬
        ‫آ 1‪b‬‬                      ‫ه ن‬              ‫د آ 2‪b‬‬                               ‫ً‬                  ‫د.‬               ‫ء اوﻝ‬      ‫از‬                ‫آ دن‬
                 ‫ی 2‪، b‬‬                 ‫ء از‬               ‫در‬                       ‫. از ای رو، ه‬                          ‫ن ارﺝ ع دارد، ارﺝ ع دا‬
                              ‫.‬     ‫ءه‬                 ‫ی‬        ‫ا آ ه دو‬                ‫،‬       ‫ا‬         ‫ن ارﺝ ع دارد، ﺙ ﺥ اه‬                       ‫آ 1‪b‬‬


                                                                                                                                                ‫ه‬


‫ر‬            ‫ه‬        ‫ع‬                     ‫ه ٩.‬           ‫ه٨ و‬                             ‫:‬                                 ‫ً از دو‬                ‫آ سه‬
                          ‫.‬        ‫ﺝ ي داد ا‬                    ‫ف ی ي زی دي را در‬                         ‫ا آ ﺝ وا رت و ا‬                   ‫،‬        ‫ده‬
                                                                                                      ‫:‬         ‫رت زی ا‬                         ‫ه‬        ‫آ‬
‫{ )‪Type name(parameter-list‬‬
             ‫‪// body of method‬‬
    ‫}‬

‫ا ه ی از ا اع‬                                   ‫دا . ‪Type‬‬                      ‫ز‬                ‫آ آ‬                        ‫ع داد ه ی را‬              ‫‪،Type‬‬
‫ي را‬                                    ‫آ .‬            ‫ا اع آ سه ی آ ﺥ د ن ای د‬                                      ‫، از ﺝ‬                         ‫رد ر‬
              ‫د. از ه‬                                       ‫‪name‬‬               ‫و‬                      ‫. م‬             ‫دا ، ‪ type‬ی ‪void‬‬
‫ﺝ د در‬               ‫اي ا م‬                  ‫اردي آ‬              ‫از‬                     ‫د آ ؛ اﻝ‬                ‫ان م ا‬                  ‫ا‬            ‫ي‬
        ‫(ا‬            ‫زوﺝ ی ) ع و‬                                      ‫ا . ‪،Parameter-list‬‬                             ‫د‬        ‫ود ﺝ ري ا‬                    ‫ه ن‬
‫نه ي‬             ‫ار ر‬                   ‫آ‬          ‫هی ه‬                    ‫ً‬        ‫ه ا‬             ‫. را‬               ‫ﺝا‬           ‫از ی ی‬           ‫آ‬         ‫آ‬


‫8‬
    ‫.‪- instance variable‬‬
‫9‬
    ‫.‪- method‬‬
‫، ای‬                 ‫ي ا‬             ‫را‬                 ‫آ .‬            ‫ن دری‬            ‫اﺥ ا‬          ‫را ه م‬                          ‫ار ﻝ‬
                                                                                                          ‫د.‬         ‫ﺥ ﻝ ﺥ اه‬
‫د‬          ‫ا‬       ‫اري را‬          ‫،‬          ‫از ‪void‬‬                        ‫اﺥ ا‬           ‫از‬                 ‫ار‬         ‫ع‬           ‫هی آ‬
                                                               ‫دا :‬          ‫اﺥ ان ز‬                      ‫رو‬          ‫رت ‪return‬‬                ‫از‬
‫;‪Return value‬‬

                                                                       ‫د.‬               ‫دا‬                ‫آ‬          ‫اري ا‬            ‫‪، Value‬‬


                                                                                                      ‫آ س ‪Box‬‬                           ‫ا ودن‬


‫رت رخ‬                      ‫، ا ای ا‬               ‫ا‬     ‫ً در‬   ‫آ‬           ‫وي داد‬                     ‫ای د آ سه ی آ‬                             ‫ا‬
‫در آ سه‬                        ‫ی‬          ‫هي‬                           ‫اي د‬         ‫ه‬            ‫از‬            ‫ا‬                  ‫ده . در‬
     ‫آ . ای ا‬                ‫ی‬           ‫آ سه را‬                       ‫د‬     ‫ه ، را‬              ‫،‬                 ‫. در‬       ‫د ﺥ اه‬            ‫ا‬
                   ‫آ س را‬                        ‫ﺥ ره ي داد اي‬     ‫ي‬               ‫ده‬            ‫ن‬        ‫آ سه ا‬                      ‫ای د آ‬
‫ز ،‬                 ‫اه‬      ‫داد ه را‬                    ‫هی آ د‬          ‫ی‬               ‫و‬            ‫ی.‬        ‫ن‬              ‫ف‬         ‫هي‬
                      ‫ار‬         ‫د‬        ‫رد ا‬        ‫ر داﺥ‬           ‫ﺥ د آ سه‬                            ‫هی آ‬                    ‫ی‬      ‫ا ن‬
                                                                                                                          ‫.‬       ‫ا‬       ‫اه‬
                                                      ‫آ .‬      ‫ز‬   ‫آ س ‪Box‬‬                  ‫ي‬         ‫آ ر ﺥ د را ا ودن‬                         ‫ای‬
‫{ ‪Class box‬‬
‫;‪Double width‬‬
‫;‪Double height‬‬
‫;‪Double depth‬‬


‫‪// display volume of a box‬‬
‫{ ) ( ‪Void volume‬‬
‫;)"‪System.out.print ("volume is‬‬
‫;)‪System.out.print(width *height*depth‬‬
               ‫}‬
‫}‬


‫3‪Class BoxDemo‬‬                       ‫{‬
‫{ ) ][ ‪Public staticvoid main (string args‬‬
Box mybox1 = new Box ( ) ;
Box mybox2 = new Box ( ) ;


// assign values to mybox1's instance variables
mybox1.width = 10;
mybox1.height = 20;
mybox1.depth = 15;


/*assign different values to mybox2's
Instance variables */
Mybox2.width = 3;
Mybox2.height = 6;
Mybox2.depth = 9;


//display volume of first box
Mybox1.volume ( ) ;


//display volume of second box
Mybox2.volume ( ) ;
     }
}

                         .     ‫نا‬     ‫ی‬        ‫ل‬       ‫ﺥ وﺝ‬         ‫آ اﻝ‬       ‫ا‬           ‫در ذی ورد‬            ‫ﺥ وﺝ‬
Volume is 3000.0
Volume is 162.0

‫ه‬                ‫ی‬       ‫د آ در ه ن آ س‬                    ‫ا م‬      ‫رو‬       ‫و‬         ‫ه‬                        ‫د‬           ‫و‬
.‫د‬       ‫).( ا م‬              ‫د‬           ‫ءو‬       ‫م‬   ‫ی‬     ‫رت ی ای آ ر از‬                 ‫، در ن‬        ‫ا‬             ‫ی‬
،        ‫ه‬               ‫ط‬        ‫از ه ن آ س‬                 ‫دآ‬          ‫ا م‬         ‫رو‬        ‫و‬     ‫ای آ ر‬      ‫ا ،و‬
‫دق‬                   ‫ه‬       ‫. در ر‬            ‫. ای‬         ‫ارﺝ ع‬                  ‫ر‬           ‫ه‬          ‫رت‬     ‫در ن‬
                                                                                                                    .        ‫ا‬


                                                                                                     ‫دی‬       ‫ز دا ن‬


             :                            ‫ﺥ‬    ‫ه وﺝ د دارد آ ی‬             ‫از اﺥ ا‬             ‫دی‬     ‫در ر‬                  ‫دو‬
‫ز ر‬            ‫،‬         ‫ا‬                                   ‫ی‬          ‫آ در‬                        ‫ی‬                  ‫اﺥ ا‬                 ‫از‬               ‫ع داد ه ي‬
‫ار‬                ‫ا‬          ‫،‬           ‫دا ، ‪Boolean‬‬                        ‫ز‬                    ‫اري آ ی‬                  ‫ع‬                ‫ل، ا‬         ‫ان‬            ‫.‬
                                                                                                                                            ‫را ز دا .‬
‫آ در‬                           ‫ل(، ی‬                   ‫ً ‪ vol‬در ای‬           ‫)‬                ‫اﺥ ا‬           ‫از‬                     ‫ار‬               ‫آ‬         ‫دری‬
                                                                                              ‫.‬         ‫ز ر‬                ‫،‬        ‫ا‬                                  ‫ی‬


                                                                                                                                        ‫ی‬        ‫ه ي پ را‬             ‫ا ودن‬


‫ه،ا ن‬                   ‫. را‬                             ‫ه ای‬                         ‫ار ، ا‬                     ‫را‬            ‫ز‬            ‫ه‬        ‫ﺥ از‬                          ‫ا‬
‫روي ا اع‬                         ‫ا‬                ‫ی‬     ‫ه ي را‬               ‫،‬       ‫ز .ی‬                        ‫اه‬        ‫ه را‬                      ‫ن‬
                      ‫اي درك ای‬              ‫.‬          ‫ار‬        ‫د‬      ‫رد ا‬                           ‫ً‬             ‫ای‬            ‫آ ، و ی در‬                         ‫داد ه‬
                                             ‫دا :‬            ‫د ٠١را ز‬                ‫ور‬            ‫زی ،‬               ‫ﺝ آ .‬                       ‫د زی‬        ‫ر‬            ‫ل‬
            ‫) (‪Return I + 1 * i; int square‬‬
‫{‬
        ‫;01 * 01 ‪Return‬‬
‫}‬

        ‫،ا ا‬            ‫ود ا‬             ‫ر‬            ‫دا ، ا آ ر د ن‬                      ‫د ٠١ را ز‬                            ‫ور‬                ‫وا ً‬          ‫ای‬                  ‫ا‬
‫رت‬                ‫آ ، در ن‬                        ‫ل زی دری‬               ‫ن‬           ‫ي را ه‬                 ‫را‬                 ‫ده‬                  ‫اي‬                 ‫را‬
                                                                                                                      ‫د.‬                             ‫ر‬        ‫)(‪square‬‬
‫‪Int square (int‬‬                          ‫)‪i‬‬
‫{‬


        ‫}‬

‫،‬           ‫دا . ی‬           ‫د را ز‬                          ‫اﺥ ا‬        ‫ن‬           ‫اري آ‬                  ‫ور ه‬                        ‫)(‪ square‬ای‬                            ‫ی‬
              ‫د‬          ‫ور ه‬                ‫د ٠٠١ ،‬             ‫ﺝي‬              ‫آ‬        ‫ا‬             ‫ل‬         ‫ر اي‬                           ‫ه‬            ‫)(‪square‬‬
                                                                                                                                                  ‫آ .‬                          ‫را‬
‫،‬        ‫ر از را‬                     ‫.‬           ‫ﺥ ردار ا‬                ‫ﺥ‬            ‫ن از اه‬                ‫و ر‬                ‫دو واژ ارا‬                        ‫ی‬
‫-‬              ‫اري را دری‬                    ‫د،‬                  ‫اﺥ ا‬                  ‫دوو‬                            ‫ی‬                                  ‫آ‬        ‫يا‬
    ‫آ‬         ‫اري ا‬            ‫ن،‬            ‫ر از ر‬                ‫ی.‬            ‫ر‬                      ‫، ‪ i‬را‬                          ‫ل، در‬            ‫ان‬                ‫آ .‬
١٠٠ ‫د‬             ، square(100) ‫ل، در‬              ‫ان‬         .‫د‬         ‫ن ار ل‬                    ‫زي‬     ‫ل‬     ‫ه م‬
         . ‫آ‬                  ‫ار را دری‬      ‫، ن‬i      ‫ ، را‬square()           ‫د .در‬               ‫د‬      ‫نا‬       ‫ان ر‬


                                                                                                        ‫ ه‬Constructor


    ‫ای‬       ‫آ‬       ‫ار ده‬        ،‫ه م ای د‬           ‫ءه ﺥ د ن را‬                  ‫ﺥ‬         ‫اه‬        ‫ﺝ وا ای ا ن را‬
                                      .‫د‬       ‫م‬     ‫ ا‬constructor ‫د از ی‬            ‫ی ا‬          ‫ارده ﺥ دآ ر، از‬
‫آ در ن ار‬                       ‫مآ‬         ‫آ . م ن‬        ‫ار ده‬       ‫ای د‬                 ‫ء را‬          ‫ ، ی‬constructor
‫از‬           constructor ‫. ه‬                  ‫ه‬                   ‫ا ي‬        ‫ﺥ ر‬                  ‫د و از‬       ‫ن‬     ‫دارد ی‬
                                              .‫د‬          ‫اﺥ ا‬    ‫ء‬     ‫ای د‬                  ‫ر ﺥ دآ ر‬             ، ‫ی‬
     ‫آ‬               ‫ء را در ه ن ا اي آ ر‬                ‫ی‬   ‫داﺥ‬             ‫آ و‬            ‫ه‬constructor             ‫ای و‬
‫د و‬              ‫ا‬        ‫ء‬      ‫را‬
                                 ً     ، ‫آ‬         ‫اي از آ س را ای د‬             ‫آ‬          ‫رو‬         ،( ‫) ار ده اوﻝ‬
                                                                                       .               ‫اي دا‬       ‫ار ده‬
/*Here, Box uses a constructor to initialize the dimensions of a box.
*/
Class Box {
Double width;
Double height;
Double depth;


//This is the constructor for Box.
Box ( )               {
System.out.printIn("Constructing Box");
Width = 10;
Height = 10;
depth = 10;
}


/// compute and return volume
Double volume ( )                      {
Return width * height * depth;
         }
}


Class        BoxDemo6 {
Public static void main (String args [] )                       {
//declare,allocate, and initialize Box objects
Box mybox1 = new Box ( ) ;
Box mybox2 = new Box ( ) ;


Double vol;


//get volume of first box
Vol=mybox1.volume ( ) ;
System.out.println("Volume is " + vol);


//get volume of second box
Vol=mybox2.volume ( ) ;
System.out.printLn("volume is " + vol);
        }
}

                                            :‫د‬   ‫زی ﺥ اه‬            ‫د، ی ن‬            ‫اﺝ ا‬               ‫و‬
Constructing Box
Constructing Box
Volume is 1000.0
Volume is 1000.0

    ‫و‬        ‫ ه دو ه م ای د‬mybox2 ‫ و‬mybox1 ،                             ‫آ‬                ‫آ‬         ‫ه ن‬
‫ ا د‬Constructor ‫آ‬              ‫ی‬     ‫ا . از‬         ‫ار ده‬       ،‫ م دارد‬Box() ‫ آ‬constructor
.       ‫ﺥ اه‬    ‫ا‬     mybox2 ‫ و‬mybox1               ، ‫ده‬             ‫ه‬            ‫م‬       ‫01 ×01×01 را‬
         .     ‫د ن ا‬                        ‫ی‬       ‫ﺥ‬       ً       Box() ‫ در‬printLn() ‫رت‬
‫ء‬       ‫اي‬     ‫ارده اوﻝ را‬              ً           .‫اه داد‬          ‫ی‬       ‫ي را‬     ‫ ه‬constructor
                                                                                           . ‫ده‬     ‫ا م‬
‫آ وا ٌ رخ‬             .    ‫وري ا‬    ‫از م آ س‬            ‫ا ه‬     ‫ا وﺝ د‬        ‫آ‬       ‫س‬        ‫ا‬         ‫ای‬
                    ، ‫زی‬      ‫د. از ای رو، در‬           ‫ آ س اﺥ ا‬constructor ‫آ‬                ‫ده ، ن ا‬
Box mybox1 = new Box ( );
‫)ی‬        ‫ﺥ دآ سا‬            ‫دآ ه م‬                   ‫‪ constructor‬آ س‬                            ‫اﺥ ا‬        ‫ﺝ‬      ‫)(‪newBox‬‬
     ‫آ . ﺝ وا ای آ ر را‬                      ‫ی‬                 ‫اي آ‬        ‫ی ً‬              ‫‪constructor‬اي را‬                     ‫)(‪ ( Box‬و‬
‫ل ‪، Box‬‬                      ‫ي‬        ‫ر‬    ‫در‬                   ‫آ‬          ‫ا‬       ‫دﻝ‬           ‫ه‬     ‫ده .‬       ‫ضا م‬                        ‫ر‬
              ‫م‬    ‫ض،‬            ‫آ د. ‪constructor‬‬                   ‫آر‬             ‫ﺥ‬            ‫‪ constructor‬د ،‬                  ‫ی‬               ‫آ‬
‫اي‬                 ‫ضا‬             ‫آ . ‪Constructor‬‬                        ‫ارده‬                             ‫ر ﺥ دآ ر‬                   ‫ه را‬
         ‫آ . و‬            ‫آ ی‬                    ‫اي آ سه ي‬                 ‫ً‬                     ‫آ ، ا‬               ‫د آ ی‬           ‫آ سه ي‬
‫آر د‬                    ‫ض دی‬                ‫آ ، ‪constructor‬‬                             ‫ی‬           ‫‪ constructor‬ﺥ ص ﺥ د ن را‬
                                                                                                                                      ‫د.‬


                                                                                                      ‫ی‬     ‫‪ Construdtor‬ه ي پ را‬


‫-‬            ‫ء ‪ Box‬ا م‬           ‫اي‬       ‫ار ده اوﻝ را‬                         ‫) )(‪(Box‬‬                     ‫ل‬    ‫‪constructor‬‬                     ‫ا‬
     ‫ﺥ‬        ‫اي‬         ‫د ل رو‬            ‫د. ی‬            ‫ن ﺥ اه‬      ‫ی‬                    ‫م‬       ‫ـا د‬                    ‫ان‬              ‫ده ، ا‬
             ‫هی‬    ‫اي ا م ای آ ر، ا ودن را‬                     ‫ن‬                   ‫. را‬              ‫ن‬           ‫ا د‬        ‫ءه ي ‪Box‬‬
‫ن ن‬                        ‫ﺝ‬      ‫م ای آ ر‬            ‫س زد ای ، ا‬              ‫ً‬            ‫آ ا‬             ‫.ه ن‬           ‫‪ constructor‬ا‬
         ‫ا‬          ‫ی‬        ‫ی‬    ‫رش ﺝ ی ‪ ، Box‬ی ‪ constructor‬را‬                                           ‫ل، در‬        ‫ان‬              ‫د.‬
                                                       ‫آ .‬                     ‫ه‬        ‫اد را‬            ‫را ا س‬                      ‫آ ا ده‬
‫.‪//This is the constructor for box‬‬
‫)‪Box (double w, double h, double d‬‬                                    ‫{‬
‫;‪Width = w‬‬
‫;‪Height = h‬‬
‫;‪Depth = d‬‬
‫}‬

                                                                                                                       ‫آ ي ‪this‬‬                  ‫آ‬


    ‫اه‬        ‫اي‬    ‫. ﺝ وا‬       ‫لآ د ا‬               ‫را‬        ‫دار آ‬                               ‫ارﺝ ع‬        ‫ز‬     ‫ه‬         ‫ه او ت‬
‫ان‬                      ‫د از ‪ this‬در ه‬            ‫ا‬        ‫.‬   ‫آ د ا‬           ‫ی‬         ‫آ ي ‪ this‬را‬                 ‫ن، آ‬        ‫ای ا‬        ‫ﺥ‬
‫ل‬               ‫اي ن‬                 ‫دارد آ‬                     ‫ارﺝ ع‬            ‫، ‪ this‬ه‬          ‫د. ی‬           ‫ء ﺝ ري ارﺝ ع‬
                          ‫د.‬        ‫د‬     ‫ان از ‪ this‬ا‬              ‫،‬        ‫ز‬        ‫از آ س ﺝ ري‬                      ‫. ه ﺝ آ ارﺝ ع‬                           ‫ا‬
             ‫رش زی از )(‪ Box‬ﺝ آ .‬                                           ‫ي ارﺝ ع دارد،‬                      ‫‪this‬‬          ‫ای‬               ‫اي درك‬
‫.‪// A redundant use of this‬‬
‫)‪Box(double w, double h, double d‬‬                                            ‫{‬
‫;‪This.width = w‬‬
‫;‪This.height = h‬‬
‫;‪This.depth = d‬‬
‫}‬

    ‫،ا‬           ‫رد ا‬               ‫د از ‪this‬‬            ‫آ .ا‬           ‫آر‬            ‫رش‬       ‫ن‬       ‫رش از )(‪ Box‬د ً ه‬                                      ‫ای‬
‫ا ﺥ ا ، ارﺝ ع ﺥ اه‬                            ‫را‬               ‫آ‬                      ‫رش، ه‬            ‫. ‪ this‬در ای‬               ‫ا‬                  ‫ً‬        ‫آ‬
                          ‫د.‬             ‫وا‬      ‫ارد‬           ‫، ا در ی‬            ‫رد ا‬        ‫ل‬         ‫آ ر د ن در ای‬                          ‫.ا‬        ‫دا‬


                                                                                                        ‫د‬          ‫ا‬              ‫يﺡ‬                     ‫زپ‬


‫از‬           ‫ا‬                 ‫،‬    ‫ی‬                      ‫ی‬       ‫ر‬             ‫‪new‬‬             ‫د از‬          ‫ا‬        ‫ءه‬                ‫ی آ‬             ‫از‬
‫-‬        ‫زاد‬               ‫دهي‬            ‫اي ا‬                                    ‫و‬                ‫د‬           ‫از‬                     ‫آ‬                  ‫ﺥ د‬
‫را‬                        ‫داد‬                 ‫ر ی‬                      ‫ءه ی آ‬          ‫++‪، C‬‬            ‫، از‬           ‫ﺥ از ز‬                  ‫د. در‬
‫-‬        ‫د‬            ‫يا‬           ‫د. ﺝ وا از روی دی‬                ‫‪ ، delete‬زاد‬                   ‫د از‬        ‫ا‬              ‫رت د‬                        ‫ی‬
‫اي ا م ای آ ر‬                           ‫آ از ن‬                     ‫ده .‬      ‫ای ن ا م‬          ‫ر ﺥ دآ ر‬                  ‫زي را‬                ‫آ ؛ زاد‬
                 ‫ه‬         ‫؛و‬           ‫حا‬         ‫ای‬      ‫د ن‬               ‫د، ‪ garbage collection‬م دارد.‬                                       ‫د‬             ‫ا‬
‫ن‬                    ‫د و‬           ‫رد ز‬                 ‫ء دی‬           ‫دآ‬         ‫ض‬        ‫،‬            ‫ء وﺝ د ا‬                          ‫ی‬              ‫ارﺝ‬
‫ءه‬               ‫دن‬                ‫از‬     ‫زي‬              ‫ﺥ ف ++‪ ، C‬دی‬                  ‫د. در ز ن ﺝ وا،‬                                         ‫ز‬
                     ‫د.‬            ‫ا م‬              ‫اﺝ اي‬               ‫در‬         ‫و‬       ‫و‬            ‫رت‬                        ‫. ای آ ر‬


                                                                                                                              ‫)(‪Finalize‬‬
‫ل،‬            ‫ان‬                    ‫دن دار .‬                    ‫از‬          ‫تﺥص‬                     ‫ا م‬              ‫ز‬        ‫ءه‬         ‫ه او ت ﺥ از‬
‫آ ، در ن‬                            ‫د‬         ‫ﺥ ص، ا‬                    ‫ی ی‬          ‫‪ handle‬ی‬                        ‫ﺝ وا ، از‬                              ‫از‬                          ‫ا‬
‫ی . ﺝ وا‬                                 ‫ن‬             ‫ا‬         ‫ن ن‬           ‫ء، از زاد‬                ‫از زاد زي ن‬                                     ‫ا‬                 ‫رت‬
‫م‬                      ‫د از ای‬                ‫ا‬        ‫م ‪ funalization‬دارد.‬                                              ‫ای ،‬                      ‫ای‬            ‫ی ی‬           ‫اي‬
‫ًا م‬                       ‫ء،‬              ‫زي ی‬             ‫از زاد‬                    ‫در‬                ‫آ‬                     ‫را‬             ‫تﺥ‬                            ‫ا‬
                                                                                                                                                                           ‫.‬
              ‫آ .‬               ‫ی‬         ‫)(‪ finalize‬را‬                         ‫ا‬      ‫م در ه آ س، آ‬                                         ‫زي ای‬                    ‫د‬        ‫اي‬
‫)(‪finalize‬‬                          ‫ﺥ ا . در‬                ‫ا‬     ‫از ن آ س‬                              ‫را ه م زی‬                            ‫ز ن اﺝ اي ﺝ وا ای‬
‫آ از‬                            ‫.‬             ‫ءا م‬                   ‫دن ی‬            ‫از‬                 ‫ی‬        ‫آ‬        ‫آ‬                   ‫را‬                          ‫ی ن‬
‫ءه ی را‬                         ‫و‬             ‫وب اﺝ ا‬                 ‫ر‬             ‫د را دارد،‬                   ‫ا‬                       ‫ي‬                  ‫ز‬              ‫ﻝ‬
     ‫ی‬            ‫از‬                                    ‫ر‬            ‫دو‬              ‫رت‬                                       ‫ارﺝ‬        ‫آ آ دی‬                                         ‫ﺝ‬
‫»ز ن اﺝ اي«‬                                       ‫ء،‬            ‫از زاد آ دن ه‬                               ‫د. در‬                  ‫ارﺝ ع‬                     ‫ءه‬                     ‫ی‬
                                                                                    ‫ﺥ ا .‬           ‫ا‬        ‫ء‬        ‫)(‪ finalize‬را اي ن‬                                           ‫ﺝ وا‬
                                                                                            ‫:‬           ‫ا‬            ‫ن داد‬           ‫در زی‬                       ‫ای‬       ‫آ‬
         ‫)(‪Protected void finalize‬‬
         ‫{‬
         ‫‪//finalization code here‬‬
         ‫}‬
                                                                                                    ‫٠١‬
‫رو ه ي‬                                  ‫)(‪finalize‬‬                          ‫آ از د‬              ‫ا‬           ‫اي‬                     ‫آ ي ‪، protected‬‬                                      ‫آ‬
                                                                                                             ‫آ .‬         ‫ي‬           ‫ﺥ رج از ه ن آ س ﺝ‬
‫ً‬            ‫د.‬                     ‫اﺥ ا‬           ‫ءه‬                     ‫ي‬           ‫از ز‬                               ‫آ )(‪finalized‬‬                       ‫ا‬                 ‫ا‬
                           ‫د.‬                     ‫اﺥ ا‬                 ‫د، ای‬           ‫ار‬       ‫ود اش‬                    ‫ء در ﺥ رج از‬                            ‫آ ی‬                    ‫ز‬


                                                                                                                                     ‫ه‬        ‫‪ Overload‬آ دن‬


‫د،‬                     ‫ی‬        ‫ه م در ی آ ش‬                              ‫از دو‬             ‫دو و ی‬                            ‫اه‬     ‫ن‬        ‫در ز ن ﺝ وا ای ا‬
     ‫دآ‬                                 ‫ارد‬                     ‫در ای‬                ‫وت‬                       ‫هي‬              ‫را‬         ‫ی‬                  ‫ای‬            ‫وط‬
‫01‬
     ‫.‪- specifier‬‬
‫از‬        ‫ی ی‬          ‫د. ای‬                      method overload ، ‫ی‬                            ‫ای‬       ‫ا و‬         Overload ، ‫ه‬
                                                 . ‫آ‬                    ‫م‬     ‫ر‬             ‫ن‬         ‫ی‬       ‫آ ﺝ وا از‬        ‫ی ا‬       ‫رو‬
     ‫ای‬          ‫اي‬        ‫نه‬            ‫اد ر‬          ‫د، ﺝ وا از ا اع و ی‬                      ‫ل‬         ‫اي‬        overload                 ‫و‬
‫از‬         overload ‫ه‬                    ،‫، از ای رو‬            ‫ا‬             ‫اﺥ ا‬               overload ‫ه‬                 ‫رش از‬       ‫آ ام‬
      ‫ه‬              ‫دی ي آ ای‬               ‫ع‬                ‫وت دار . ا‬               ‫ی ی‬                ‫ه‬     ‫اد را‬        ‫عو‬             ‫ﺝ‬
. ‫آ‬                  ‫آ ی‬                 ‫ی‬        ‫اي‬      ‫ی‬             ‫دی‬        ‫ع‬         ‫،ا‬            ‫وت‬            ‫ا‬           ‫ا‬
    ‫آ آ‬          ‫ي را اﺝ ا‬               ،‫د‬               ‫اﺝ‬        ‫ه‬                  ‫ای‬        ‫اﺥ ا‬          ‫رت‬           ‫آ ﺝ وا‬           ‫و‬
                 .             ‫دا‬                  ‫اﺥ ا‬        ‫رت‬           ‫د در‬       ‫رد ا‬           ‫نهي‬           ‫ر‬       ‫هي ن‬        ‫را‬
                                                       : ‫ده‬        ‫ن‬        ‫ه را‬       ‫ آ دن‬overload ‫ی‬                       ‫د زی‬       ‫ل‬
/ / Demonstrate method overloading.
class overload Demo                          {
      void test ( )                  {
           system.out.println ("No parameters");
      }
/ /        overload test for one integer parameter.
void test (int                      a)        {
          system.out.println ("a:                         "        + a ) ;
/ /        overload test for two integer parameters.
void test (int                      a, in         b)
          system.out.println ("a and b:                                 "    +     a    +        "        " +   b);
}
/ / overload test for a double parameter
double test (double                          a)    {
     system.out.printl ("double                               a:       " + a);
     return a *a;
           }
}
class overload                 {
          public static void main (strain gags [ 1)                                              {
               overload Demo                 ob        = new overload Demo ( ) :
               double result ;


/ / call all versions of test ( )
ob.test ( ) ;
‫; )01( ‪ob.test‬‬
‫;)02,01( ‪ob.test‬‬
‫;)52.321( ‪result = ob.test‬‬
‫: )52.321( ‪system.out.println ("Result of ob.test‬‬                                                                            ‫; )‪" + result‬‬
            ‫}‬
‫}‬


‫‪No parameters‬‬
‫:‪a‬‬               ‫02‬
‫01 :‪a and b‬‬                          ‫02‬
‫52.321 :‪double a‬‬
‫5265.09151 :)52.321( ‪Result of ob.test‬‬

‫رش ن‬                                      ‫.‬      ‫ا‬            ‫‪overload‬‬                       ‫ر‬           ‫آ ، ) ( ‪test‬‬                                ‫آ‬           ‫ه ن‬
            ‫م دو را‬              ‫رش‬              ‫دارد،‬                   ‫از ع ا اد‬                   ‫را‬            ‫ی‬         ‫رش دوم‬             ‫ي ارد،‬            ‫را‬
    ‫از ع ‪ double‬دارد.‬                                 ‫ا‬        ‫ی‬                 ‫رم‬          ‫رش‬           ‫آ ،و‬                    ‫دری‬                ‫از ع ا اد‬
‫اي‬               ‫د‬        ‫رد ا‬           ‫نهي‬              ‫ر‬                       ‫د، ﺝ وا‬                      ‫اﺥ ا‬          ‫اي‬         ‫‪overload‬‬                       ‫و‬
‫.‬                    ‫د‬           ‫ه‬                   ‫آ ای‬                ‫آ . ا ، زي‬                            ‫ر‬        ‫را‬        ‫هي‬            ‫اﺥ ا ، و را‬
    ‫د، ای‬             ‫ل‬          ‫ی‬       ‫يآ‬                        ‫را‬                    ‫ای ،‬            ‫ﺥ از‬              ‫ی ﺥ دآ ر ا اع داد ه در‬
                                                                                                                                                             ‫آ .‬
        ‫ی‬            ‫آ ای‬            ‫آ ، نا‬                                  ‫م‬       ‫ر‬           ‫ه از‬              ‫ی ‪ overload‬آ دن‬                           ‫ای‬    ‫دﻝ‬
‫آ . در‬                    ‫زي‬             ‫« را د‬                         ‫ن، ل »ی را ،‬                       ‫ی‬           ‫آ ﺝ وا از‬            ‫از راه ی ا‬                 ‫ی‬
‫وﺝ د‬                       ‫رش از ای‬                           ‫ً دو ی‬                 ‫آ ،‬                               ‫ی آ از ‪ overload‬آ دن‬                        ‫ز‬
                 ‫) ( ‪ abs‬در ز ن ‪ C‬ر‬                                     ‫ل،‬       ‫ان‬              ‫وت دارد.‬                    ‫ن ري ی ی‬                        ‫دارد آ‬
            ‫ع ‪ long‬را‬                                ‫د‬          ‫ی‬                ‫ر‬       ‫دا ، و ) ( ‪labs‬‬                                   ‫را‬            ‫د‬             ‫ی‬
‫دا . از‬                              ‫ور را‬                              ‫ري‬            ‫ار ا‬           ‫ی‬                 ‫ر‬           ‫دا ، و ) ( ‪fabs‬‬
‫ً‬            ‫ا‬                       ‫ه‬           ‫آ ، وﺝ د‬                                        ‫ه‬       ‫ی آ ز ن ‪ C‬از ‪ overload‬آ دن‬
‫آ ر را از‬                            ‫.و‬                   ‫ی ﺥ ص ﺥ د ن را دا‬                              ‫ده ، ا ه ی از ا‬                             ‫م‬   ‫ی آرا‬
    ‫ی‬            ‫،ا‬        ‫نا‬            ‫ی‬                ‫م‬                      ‫آ .ا‬        ‫،‬           ‫آ وا ً ه‬                 ‫از‬
                 ‫هي ر‬                    ‫اآ‬          ‫ی،‬                      ‫در ﺝ وا‬                 ‫ری . ای و‬                         ‫ﺥ‬        ‫را‬           ‫م‬
‫ارد آ س ه ي‬                                  ‫ا‬            ‫م ) ( ‪ abs‬را در آ‬                          ‫ي‬         ‫د آ .‬              ‫آ ا‬            ‫از م‬        ‫ا‬
‫داد ه ‪overload‬‬                                  ‫ی ی ا اع‬               ‫اي‬             ‫در آ س ‪match‬‬                                 ‫ﺝ وا وﺝ د دارد. ای‬
                 ‫د.‬             ‫اﺥ ا‬                  ‫رش‬            ‫د آ آ ام‬                                      ‫ن‬         ‫ا س ع ر‬                     ‫. ﺝ وا‬      ‫ا‬
     ‫ی‬      ‫ه را از‬                                 ‫هي‬                           ‫ند‬             ‫آ ا‬                   ‫نا‬            ‫ﺥ‬        ‫ارزش ‪overload‬‬
‫م‬         ‫آ ا‬          ‫ا‬                                       ‫ی‬    ‫. از ای رو، م ‪abs‬‬                                 ‫ﺥ ا‬           ‫اه‬       ‫ك‬          ‫آر د م‬
‫ب‬          ‫ای ا‬            ‫اي ه ی از‬                      ‫را‬            ‫رد‬       ‫رش ﺥ ص‬                           ‫آ‬        ‫ی ا‬           ‫آ‬         ‫د. ای و‬
         ‫ری .‬               ‫ﺥ‬            ‫د را‬              ‫م‬       ‫آ ا‬                                   ‫ی‬            ‫ز‬                     ‫ان‬                 ‫آ ،و‬
‫رد‬         ‫از آ ره ي‬                 ‫ی‬          ‫ا‬              ‫ي ن‬           ‫ر‬        ‫از‬         ‫آ ،ه ی‬                     ‫ي را ‪overload‬‬                           ‫و‬
                 ‫ی ی‬             ‫ی‬                  ‫ه ي ‪overload‬‬                           ‫ای‬                                       ‫م ده . ه‬           ‫ن را ا‬
         ‫ﺥ د اﻝ ء آ‬             ‫ﺥ‬          ‫ه‬          ‫ی ‪ overload‬آ دن‬                                ‫آ ر،‬                           ‫وﺝ د ارد. ا از‬
‫را‬                         ‫هي‬                   ‫ا‬              ‫ك‬         ‫د از م‬                      ‫ا‬                 ‫. از ای رو، ا‬               ‫ا‬      ‫را‬
                                                                   ‫م ه .‬          ‫د ای آ ر را ا‬                                              ‫‪ overload‬آ ، ا‬


                                                                                                              ‫‪ Overload‬آ دن ‪Constructor‬ه‬


‫، در‬                  ‫ﻝ ‪ overload‬آ . در‬                                 ‫هي‬            ‫ن‬              ‫ه‬        ‫ا‬                 ‫ه ي ‪ Constructor‬را‬
             ‫ا‬              ‫،‬        ‫‪ constructor‬ه ي ‪overload‬‬                                                ‫آ ره ي وا‬              ‫ط‬            ‫آ سهي‬
                                                                                           ‫د.‬            ‫ل ﺥ اه‬                 ‫ً‬       ‫آ‬         ‫ی ،‬           ‫ر‬


                                                                                                                      ‫ان پ را‬                    ‫د از ﺵ ءه‬          ‫ا‬


‫د آ د ای . ا ، ار ل‬                                 ‫ه ا‬             ‫ان را‬                        ‫د‬           ‫از ا اع داد ه ي ی و‬                         ‫ل‬
          ‫زی را در‬                   ‫آ‬                ‫ل،‬           ‫ان‬             ‫.‬             ‫اول ا‬                 ‫وه‬            ‫ه ه در‬                   ‫ءه‬
                                                                                                                                                             ‫ی:‬
‫.‪/ / objects may be passed to methods‬‬
‫‪Class test‬‬                  ‫{‬
         ‫‪Int‬‬     ‫; ‪a . b‬‬


‫‪Test (in‬‬                   ‫‪i, int‬‬          ‫)‬          ‫{‬
a = i;
             b = j ;
}
/ / return true if o is equal to the invoking object Boolean equals
(test              o)       {
             in (o.a        = = a & & o.b = = b)                                 return true;
             else return false;
         }
}
class passob                          {
             publics static void main (string agrs [ ]) {
             test ob1= new test (100 , 22) ;
             test ob2 = new test (100 , 22) ;
             test ob3 = new test (-1 , -1);


             system.out.println ("ob1 = = ob2: " + ob1.equals (ob2) ) ;


             system.out.println (: ob1 = = ob3: " + ob1.equals (ob3) ) ;
     }
}


ob1= = ob2: true
ob1 = = ob3: false



     ‫ی‬           ‫ء را‬       ‫دن دو‬                   ‫ا‬      ،Test              ‫ در‬equals ( )           ، ‫آ‬                       ‫آ‬             ‫ه ن‬
    ‫دی‬             ‫آ .ا‬                   ‫ی‬             ‫ء ار ﻝ‬          ‫را‬             ‫لآ‬        ‫ء‬   ،      ‫دا . ی‬                  ‫را‬            ‫و‬
                 ،‫رت‬             ‫ای‬                ‫د. در‬        ‫ ﺥ اه‬true ،                  ‫ار‬      ‫رت‬        ‫، در ن‬               ‫ن‬         ‫ی‬
                                                                                                                  .‫د‬       ‫ ﺥ اه‬false ‫ن‬
‫ط‬                  ‫ه‬constructor ‫د از‬                            ‫ا‬     ،‫ء‬         ‫ع‬     ‫هي‬        ‫اوﻝ ی آ ر ده ي را‬                       ‫از‬       ‫ی‬
         ‫ی‬                      ‫ار ده اوﻝ‬                      ‫آ‬       ‫ءه ي ﺝ ی ي ﺥ اه دا‬                  ‫ای د‬        ‫ز‬    ً‫ﻝ‬           .‫د‬
             ‫آ‬     ‫ی‬      ‫اي‬constructor ‫م ای آ ر ی‬                                    ‫اي ا‬   .       ‫ﺝ د‬     ‫ءه ي‬          ‫از‬        ‫نی‬           ‫ه‬
‫رش زی از‬                    ،‫ل‬                ‫ان‬               . ‫آ‬         ‫دری‬       ‫ان را‬            ‫از ع آ س ﺥ دش را‬
             :‫زد‬            ‫اه‬            ‫را‬            ‫ء دی‬         ‫د از ی‬          ‫ء ا‬         ‫ار ده اوﻝ ی‬           ‫ن‬    ‫ ا‬Box ‫آ س‬
Class Box               {
double width;
    double height;
    double depth;


/ / construct clone of an object
Box (Box ob)      {       / / pass object to constructor
    width = ob.width;
    height = ob.height;
    depth = ob.depth;
}
/ / constructor used when all dimensions specified
Box (double w, double             h, double d) {
    width = w;
    height = h;
    depth = d;
}
/ / constructor used when no dimensions specified
Box ( )     {
    width = -1;       /       /   use -1 to indicte
    height = -1; /            /   an uninitialized
    depth = -1;       /       / box
}


/   / constructor used when cube is created
Box (double 1en)          {
    width = height = depth = 1en;
}


/   / compute and return volume
double volume ( )             {
        return with * height * depth;
    }
}


class overloadcons 2P
public static void main (string args [ ])             {
/ / create boxes using the various constructors
Box mybox1= new box (10 , 20 , 15);
Box mybox2= new box ( );
Box mycube = new box (7) ;


Box myclone = new box (mybox1) ;


Doble vo1;


/ / get volume of first box
vo1 = mybox1.volume ( ) ;
system.out.println ("volume of mybox1 is " + vo1) ;
/ / get volume of second box
vo1= mebox2.volume ( ) ;
system.out.print1n ("volume of mybox2 is " + vo1) ;


/ / get volume of cube
vo1 = mycube.volume ( ) ;
system.out.print1n ("volume of clone is " +vo1) ;
         }
}

                                                                                            ‫ه‬       ‫رو ار ل پ را‬                   ‫ه د‬


‫وﺝ د‬                 ‫و‬           ‫ی‬         ‫نه‬       ‫اي ار ل ر‬               ‫زي دو روش‬                      ‫ر آ ، در ه ز ن‬
        ‫را‬               ‫ن‬           ‫ار ر‬       ،‫روش‬           ‫م دارد. در ای‬           "call-by-value" ،                       ‫دارد. روش‬
‫ن‬            ‫ر‬           ‫ﺙ ي‬          ‫،ه‬            ‫ل‬      ‫ا‬          ‫آ در را‬           ‫ا‬           ، ‫ای‬    .‫د‬                 ‫آ‬       ‫و‬
        ‫ن )و‬             ‫ر‬            ،‫" م دارد. در ای روش‬call-by-reference" ،‫. روش دوم‬                                         ‫اه دا‬
‫ﺥ د‬                           ‫اي د‬          ‫و‬       ‫در‬                 ‫د. از ای‬                 ‫ار ل‬       ‫را‬            (‫ن‬        ‫ار ر‬
‫آ در‬                 ‫ا‬          ‫آ‬               ‫ی‬        ‫د. ای‬              ‫د‬      ‫ا‬        ‫اﺥ ا‬      ‫رت‬        ‫در‬                 ‫ن‬        ‫ر‬
.        ‫ا‬           ‫ﺙ ﺥ اه‬             ‫و‬           ‫اﺥ ا‬         ‫اي‬     ‫د‬        ‫رد ا‬           ‫ن‬     ‫ر‬    ،              ‫ل‬        ‫ا‬       ‫را‬
. ‫آ‬              ‫د‬           ‫د، از ه دو روش ا‬                  ‫ي آ ار ل‬                              ‫آ ﺥ اه دی ، ﺝ وا‬                  ‫ه ن‬
    ‫د‬        ‫ا‬                ‫آ ، از روش‬            ‫ي ار ل‬                      ‫از ا اع داد ه ي ی را‬                     ‫در ﺝ وا ی‬              ‫و‬
‫در ﺥ رج از‬                      ‫ده ، ز‬          ‫ن رخ‬             ‫ر‬      ‫آ‬         ‫دری‬           ‫اي را‬            ،‫د. از ای رو‬
                                                                                                                     .        ‫اه دا‬
‫ءه‬            ‫اآ‬         ، ‫آ‬                  ‫ي‬                  ‫ر‬                      ‫آ ،و‬            ‫ي ار ل‬            ‫را‬           ‫و‬
‫ع‬     ‫ي از‬                        ‫آ و‬                  ‫دا‬        ‫ﺥ‬        .             ‫" ار ل‬call-by-reference" ‫روش‬
‫را‬                 ‫ای‬        ‫د. از ای رو، و‬                      ‫ء ای د‬             ‫ی‬                               ، ‫آ‬        ‫آ س ای د‬
‫ن‬        ‫آ ر‬                 ‫ارﺝ ع ﺥ اه‬                     ‫ه ن‬           ،‫ن‬        ‫آ‬         ‫دری‬          ‫آ ، را‬         ‫ي ار ل‬
     "call-by-reference" ‫روش‬                                ‫ءه‬            ‫آ‬               ‫ی‬            ‫ن ارﺝ ع دارد. ای‬         ‫ش‬
     ‫د‬         ‫رد ا‬          ‫ء‬            ،                 ‫ل‬        ‫ءا‬                 ‫آ در‬               ‫ا‬    .          ‫ه ار ل‬
                        :‫ی‬                ‫زی را در‬                       ،‫ل‬    ‫ان‬             .        ‫ن ﺙ ﺥ اه دا‬              ‫ان ر‬
/ / objects are passed by reference.
Class test                   {
         in     a, b ;


     test (int                   i, int       j)       {
              a = i ;
              b = j ;
}
 /       / pass an object
     void meth (Test o)                            {
     o.a * = 2;
     o.b = 2 ;
     }
}
Class callbref                      {
         public satic void main (straing arges [                                              ])       {
              Test ob = new Test (15 , 20);


          System.out.println ("ob.a and ob.b before call:                                                      " +
                                                   ob.a +            "    "    + ob.b) ;
ob.meth (ob) ;


system.out.pritln ("ob.a and ob.b after call:                                                      "       +
                                          ob.a +            "    "       + ob.b) ;
     }
}
ob.a and ob.b before call: 15                               20
ob.a and ob.b after call: 30                            10

        ‫د، ﺥ د‬              ‫ار ل‬              ‫ی‬                         ‫آ و‬     ‫ا‬                ‫اي ﺝ ﻝ‬        ‫ان‬
‫ء‬            ،‫ار ل‬              ‫ار در د‬           ‫ی آ‬       ‫د. ا ، از‬         ‫" ار ل‬call-by-value" ‫رت‬
                    .       ‫ن ارﺝ ع ﺥ اه‬                ‫ر‬               ‫ء‬    ‫ه ن‬          ‫ار ن‬         ‫ارﺝ ع دارد، آ‬
                                                                   ‫دا‬       ‫ه ز‬         ‫ان ﺥ وﺝ‬            ‫ءه ی آ‬
    . ‫آ‬            ‫ا اع آ س ه ی را آ ای د‬                       ‫از داد ه را ز دا ؛ از ﺝ‬                   ‫ا اع‬        ‫ه‬
‫ز‬        ‫ان ﺥ وﺝ‬                   ‫را‬             ،                         ‫ در‬incrByTen ( )              ،‫ل‬     ‫ان‬
               .        ‫ا‬          ‫لآ‬         ‫ء‬       ‫ در‬a ‫ار‬     ‫از‬            ‫ در ن، ٠١ وا‬a ‫ار‬           ‫دا آ‬
/   / Returning an object.
class Test
         int a ;


         Test (in i)                {
              a = I ;
     }
     Test incrByTen (                     )       {
                   Test temp = new Test (a+10) ;
                   Return temp;
    }
}
Class Retub                 {
    Public static void main (string args [                                   ] )    {
             Test ob1 = new Test (2) ;
             Test ob2 ;


             ob2 = ob1.incrByTen ( ) ;
             system.out.println ("ob1.a: + ob1.a) ;
             system.out.println ("ob2.a: + ob2.a) ;
             ob2 = ob2.incrByTen ( );
              system.out.println ("ob.a after second increase:                                     "
                                              + ob.a) ;
         }
}
ob1.a : 2
ob2.a: 12
ob2.a after second increase: 22

    ‫آ‬         ‫، زي‬                       ‫داد‬                        ‫ر ی‬                   new ‫د از‬            ‫ا‬           ‫ءه‬        ‫م‬            ‫ی آ‬          ‫از‬
‫ود‬           ‫ء از‬           ‫ن‬       ‫ان ﺥ رج‬                    ،      ‫ء در ن ای د‬                   ‫يآ‬                ‫اﺝ اي‬                 ‫ینی‬          ‫دﻝ‬
‫ت ن‬               ‫، دور‬                  ‫ﺥ د دا‬                      ‫ء را در ﺝ ی از‬                                   ‫آ‬         ‫ز‬           .                  ‫د‬
          » ‫اﺝ اي‬                         ‫ن در‬                       .           ‫ء‬                  ‫ارﺝ‬           ‫دی‬           ‫.ه‬               ‫ﺥ اه ی‬        ‫ادا‬
                                                                                 .‫د‬          ‫د « ، زاد‬                ‫ا‬                     ‫ي‬             ‫ز‬


                                                                                                                                                  ‫ز‬

                                                                                                      ١١
‫آ دن‬          ‫ی‬         ‫ی‬       ،        ‫ز‬                     ‫ر از‬              . ‫آ‬                                      ‫ز‬                           ‫ﺝ وا از‬
        ‫ده‬        ‫ن‬    ‫ه ا‬           ‫آ‬         ‫ا‬                     ‫«ﺥ‬               ‫ز‬         ».                        ‫ﺥ دش‬                                  ‫ی‬
                                               ١٢
                       .‫د‬                                      ‫ا ، ز‬              ‫ا‬       ‫ي آ ﺥ دش را‬                     . ‫ا‬           ‫ا‬        ‫ﺥ د ن را‬
‫د‬            ‫آ ری ه‬                       ‫. روش‬                    ‫آ ری ا اد ا‬                       ،«                   ‫ز‬             »              ‫لآ‬
                                                   :       ‫ا‬             ‫ن داد‬            ‫« در ذی‬         ‫ز‬                    » ‫د از روش‬                 ‫ا‬
/ / A simple example of recursion.
Class Factorial                     {
             /      / this is a recusive function
             int fact (int n)                          {
                      int result ;

                    if (n == = 1) return 1;
                    result = fact (n-1) * n;
                  return result ;
              }
}


class Recursion {
             public static void main (staring args [                                                 ])           {
                    Factorial f = new Factorial ( );


11
     - Recursion.
12
     - Recursive.
‫; ) )3( ‪system.out.printl ("Factorial of 3 is " + f.fact‬‬
                        ‫; ) )4( ‪system.out.printl ("Factorial of 4 is " + f.fact‬‬
                        ‫; ) )5( ‪system.out.printl ("Factorial of 5 is " + f.fact‬‬
                    ‫}‬
‫}‬

              ‫ه در‬             ‫ﺝ ی و را‬                             ‫هي‬               ‫ز‬     ‫رد‬            ‫ي‬         ‫ﺥ ا ،‬              ‫ا‬   ‫ي ﺥ د را‬                    ‫و‬
‫ین‬                 ‫د.‬              ‫ه ي ﺝ ی از ا ا اﺝ ا‬                                           ‫ه‬                  ‫اﺝ ای‬                 ‫ی ،و‬
             ‫دا‬                ‫ه از روي‬                     ‫و را‬           ‫ی‬               ‫هي‬                  ‫اﺥ ا ،‬                ‫رت‬        ‫ه‬             ‫ن‬        ‫ر‬
     ‫دآ‬                            ‫ً‬                  ‫ی .ا‬                 ‫ادا‬           ‫در ﺥ د‬           ‫اﺥ ا‬          ‫ز‬                 ‫، و اﺝ ا از‬
                                                       ‫دار .‬               ‫ﺝ و‬            ‫آ رو‬               ‫په ،‬                ‫ن‬        ‫ه‬             ‫هي ز‬
‫از‬                                 ‫ر«٣١ ا‬                   ‫»‬       ‫دﻝ‬               ‫ا‬               ‫ه‬         ‫ري از رو‬                        ‫ي ز‬               ‫ر‬
                   ‫ري از ای‬                     ‫د.‬      ‫اﺝ ا‬               ‫اري‬            ‫ﻝ ي‬             ‫از‬            ‫ري آ‬          ‫،‬            ‫يا‬        ‫اﺥ ا‬
‫ي زم‬                       ‫ن‬           ‫د.‬                                 ‫ری‬                     ‫ا‬             ‫(‬            ‫هي ز‬              ‫) اي‬           ‫اﺥ ا‬
      ‫ﺝ‬             ‫ﺝی‬          ‫اﺥ ا‬             ‫رت‬                 ‫دوه‬                                      ‫از‬                 ‫هي‬          ‫ه و‬         ‫اي را‬
                    ‫د. ا‬           ‫اﺝ‬                   ‫د‬       ‫آ‬                ‫ن دارد‬         ‫د، ا‬               ‫ه‬                 ‫ﺝ ی ي از ای‬                 ‫ای د‬
     ‫ان ای‬                 ‫ً ی‬                   ‫.ا ،ا‬               ‫ﺥ اه‬                ‫وز ا‬         ‫ز ن اﺝ اي ﺝ وا‬                           ‫رخ ده ،‬                ‫ا‬
                                            ‫.‬                            ‫ن، در‬       ‫د‬         ‫رد ا‬                ‫ز‬            ‫رو‬                  ‫،‬
 ‫د‬            ‫و‬                ‫ي‬            ‫ر‬          ‫ان‬                      ‫د از‬        ‫ا‬          ‫آ‬            ‫نا‬                ‫هي ز‬                    ‫ی ا‬
 ‫د‬            ‫ل،‬        ‫ان‬                      ‫د.‬      ‫اري ﺥ د ن ای د‬                           ‫دﻝ ي‬                                ‫ری ه را‬            ‫ي از اﻝ‬
         ‫ر‬                         ‫.‬        ‫ً د ار ا‬                ‫اري آ‬            ‫روش‬             ‫زي ‪QuickSort‬‬                                  ‫زي اﻝ ری‬
‫.و‬                                          ‫ي ز‬                     ‫را‬     ‫‪،AI‬‬                                         ‫وی‬        ‫،‬            ‫ﺥ از‬                    ‫آ‬
     ‫.‬            ‫اري ا‬         ‫ي‬                ‫از روش‬                        ‫ي از ا اد‬              ‫اي‬                    ‫ز‬             ‫، روش‬         ‫ای‬       ‫ﺥ‬
‫اري را‬                                      ‫د آ‬              ‫رت ‪ If‬ا‬             ‫، ی در ﺝ ی از ن‬                            ‫ی‬                 ‫هي ز‬                    ‫و‬
             ‫،ه‬                ‫اﺥ ا‬             ‫از‬           ‫م ه ،‬               ‫ای آ ر ا‬                ‫د ﺥ دش ز دا . ا‬                            ‫اﺥ ا‬         ‫ون‬
                                ‫. در‬                 ‫اول ا‬      ‫ر‬              ‫م آ ر ای روش‬                    ‫ه‬        ‫. ای ﺥ‬                ‫اه‬        ‫ي ز‬
         ‫ا‬              ‫را‬         ‫،و‬                 ‫ت درون ن‬                   ‫ا‬       ‫ردی‬      ‫در‬                ‫د آ‬          ‫رت ) ( ‪ Println‬ا‬                    ‫از‬
                                                                                 ‫آ .‬                  ‫ﺥ‬             ‫رت وز ه‬                   ‫اﺝ اي ن را در‬

‫31‬
     ‫.‪- Overhead‬‬
‫آ لد‬                       ‫اي‬


     ‫ی ی‬        ‫را دازش و‬                           ‫هی آ‬              ‫رو‬       ‫زي«٤١، داد ه را‬               ‫دا ، » ن‬                      ‫آ‬                ‫ه ن‬
‫. از‬             ‫ي ه دارد: آ ل د‬                         ‫دی‬                           ‫زي« ﺥ‬        ‫زد. ا ، » ن‬                                      ، ‫آ‬
‫رد‬         ‫يآ س‬                     ‫ا‬           ‫ا‬                     ‫ي‬               ‫آ آ ام‬       ‫آ لآ‬            ‫ا‬          ‫زي‬               ‫ن‬            ‫ی‬
        ‫د در‬           ‫از آ ر‬               ‫ا‬                         ‫ل در وردن د‬              ‫آ‬              .                   ‫دا‬                    ‫د‬
                                                                                                                                   . ‫يآ‬                          ‫ﺝ‬
                       ١٥
 ‫د‬         ‫رد ا‬             «              ‫د‬                  »            ‫و‬    ‫يی آ س‬                  ‫ه آ از ا‬                               ‫د‬
 ‫اه‬         ‫را‬              ‫ه يد‬                         ‫از‬                            ‫د. ﺝ وا‬                         ‫آ دن ن‬                  ‫ی‬            ‫اي‬
                                                                                                                                           .         ‫ﺥ ا‬
            ‫د‬                            ‫. ﺝ وا ه‬protected , private, public ‫از‬                               ‫ر‬        ‫ﺝ وا‬                    ‫د‬
     ‫دآ‬            ‫ل‬            ‫ا‬          ‫ز‬         ،protected                        ‫د‬            .        ‫آ د ا‬       ‫ی‬         ‫را‬
                                                                                                                         .             ‫ح‬                    ‫وراﺙ‬
            ‫رت ن‬                    ‫د، در ن‬                       ‫ی‬        public                       ‫و‬         ‫ي از ی آ س‬                                     ‫و‬
                       ‫و‬            ‫ي از ی آ س‬                                 ‫د. و‬        ‫ﺥ اه‬          ‫د‬         ‫ي‬         ‫دی‬            ‫ه رو‬
            ‫د‬          ‫ي آ س ﺥ دش‬                             ‫ی ا‬                           ‫رت‬          ‫د، در ن‬                        ‫ی‬            private
                                                                                                                                               .‫د‬           ‫ﺥ اه‬
public int I ;
private double j ;
private int myMethod (ina a, char b)                                                  { /      / . . .



       ‫دی‬         ‫رش‬                 ،               ‫ل‬            ‫در ی‬                ‫آ لد‬              ‫آر د‬                                   ‫ی‬            ‫اي‬
                                                                                                        .‫ی‬               ‫ را در‬stack ‫آ س‬
class stack {
      / * Now, broth stack and tos are private. This means
                 that they cannot be accidentally or maliciously
                  altered in a way that would be harmful to the stack.


14
     - encapsulation.
15
     - access specifier.
* /
private int stack [ ] = new int [10] ;
private int tos ;
/       / Initialize top-of-stack
Stack ( )           {
tos = -1
}
/       / push an item onto the stack
void push (int item)                        {
        if (tos = = 9)
system.out.println (stack is full.");
else.
        Stack [++tos] = item ;
}
/       / pop an item from the stack
int pop ( )                 {
if (tos <0) {
             system.out.println ("stack underflow.") ;
             return 0;
}
             else
                 return stack [tos - -] ;
         }
}

        ‫، آ‬tos ‫، و ه‬               ‫ا‬        ‫اري‬         ‫اي‬         ‫، آ‬stack ‫ه‬       ‫آ ، ای‬                      ‫آ‬          ‫ه ن‬
    ‫ا . ای‬              ‫ی‬        private ‫رت‬               ،‫د‬              ‫آر د‬               ‫روي‬                    ‫ﺥ‬      ‫ان‬
Private .                               ‫ی‬         ‫د‬       pop ( ) ‫ و‬push ( ) ‫د از‬              ‫ون ا‬         ‫آ‬                   ‫ی‬
‫اري آ در‬                    ‫ار ن‬        ‫ي‬                ‫و‬            ‫ي‬              ‫ن از دی‬               ‫، از د‬tos        ‫ﺥ‬
                                                             . ‫آ‬     ‫ي‬       ‫،ﺝ‬          stack ‫ود رای‬                   ‫ﺥ رج از‬
          ‫رد د‬      ‫از ه ن آ س ﺥ دش‬                                ‫در ار ط‬          ‫از ی آ س ی‬                      ‫ً، ه‬
‫ی و ون ارﺝ ع‬                           ‫دآ‬       ‫ی را ای د‬           ‫ان ا‬     ‫ن وﺝ د دارد آ‬             ‫د. ا ، ای ا‬          ‫ار‬
static ‫آ ي‬                  ‫از آ‬        ‫ا‬             ‫اي ای د ای‬      .       ‫د‬      ‫ا‬       ،‫از آ س‬                ‫ﺥ‬
    ‫ی‬        static ‫رت‬                  ‫ي از ی آ س‬                         ‫د آ .و‬        ‫ا‬             ‫ی‬            ‫در ا اي‬
‫ور‬                              ‫از ه ن آ س، و ون ارﺝ ع ه‬                          ‫از ای د‬          ‫ن‬                ‫د، د‬
‫آ‬          ‫د، ن ا‬             ‫ی‬        static ‫رت‬                         ، ‫ا‬                  ‫ه را‬             ‫ه وه‬               ‫د. ه‬       ‫ﺥ اه‬
                                                                             .                ‫اﺥ ا‬                             ‫از ای د ه‬              ‫ی‬
        ‫.و‬                        ‫هي‬            ً           ‫د‬                     ‫ی‬           static ‫رت‬                        ‫هی آ‬
.‫د‬               ‫ای د‬            ‫اي از ن‬                 ‫ه‬                            ‫ی‬           static                   ‫ه ی از آ س ی‬
               . ‫ار‬         ‫اك‬        ‫ا‬    ‫را‬           ‫ ی‬static ‫ه ي‬                              ،‫ه ي ن آ س‬                      ‫م‬        ،‫ض‬         ‫در‬
                                   : ‫ودی دار‬                        ‫ی‬        ،                     ‫ی‬         static ‫رت‬                     ‫هی آ‬
                                                                            . ‫ا‬           ‫ا‬            ‫ا‬       ‫ را‬static ‫ه ي‬                 ‫ی‬
                                                                                                  . ‫ آ ر آ‬static ‫داد ه ي‬                              ‫ی‬
‫ط‬                ‫وراﺙ‬       supper ‫آ ي‬              ‫)آ‬              ‫د آ‬           ‫ ا‬super ‫ ی‬this ‫از‬                    ‫ا‬              ‫ان‬          ‫ه‬
                                                                                  .           ‫ا‬            ‫ح داد‬                      ‫د و در‬
     ‫آ را‬               ‫ا‬    ، ‫ت داری‬               ‫م‬           ‫ا‬           ‫ ز‬static ‫ه ي‬                           ‫ار اوﻝ‬                  ‫اي‬             ‫ا‬
‫ل‬         .‫د‬      ‫آ س اﺝ ا‬            ‫م ر اري اوﻝ‬                       ‫ه‬                 ‫ی‬        ً ‫د‬             ‫آ‬       ‫ی‬      static ‫رت‬
‫ار‬         ‫ ) اي‬static ‫ك‬                  ‫ و ی‬static                             static                    ‫ده آ ی‬          ‫ن‬       ‫را‬            ‫زی آ‬
                                                                                                                                 :‫ده اوﻝ ( دارد‬
/        / Demonstrate static variable, methods, and blocks.
class useStatic {
         static int a = 3 ;
         static int b;
         static void meth (int x)                       {
               system.out.println ("x = " +x)
               system.out.println ("a = " + a)
               system.out.println ("b = " +b)
}
static            {
               system.out.println ("static block initialized.");
               b = a* 4;
}
         Public static void man (string args [ ] ) {
         meth (42) ;
     }
}
١٦
.                   ‫ اﺝ ا‬static ‫رات‬              ‫م‬   .‫د‬                 ‫ ر اري‬UseStatic ‫آ س‬                             ‫ای‬
      ‫ی‬        ‫را‬           )‫د‬              ‫ اﺝ ا‬static ‫ك‬                   ،    ‫ی‬                       a      ٣ ‫ار‬         ،
‫د، و‬                       ‫اﺥ ا‬       main ( )          . ‫ی‬                      b        a*4             ‫ار‬          ‫ده (، و ﺥ‬
            ‫، دو‬println ( ) ‫رت‬                       . ‫آ‬          ‫ ار ل‬x ‫اي‬               meth( )            ‫اﺥ ا‬      ‫م‬     ‫٢ را ه‬
                                                 . ‫ده‬         ‫ی‬         ‫ را‬x                    ‫ر‬             ‫( و ه‬b ‫ و‬a) static
                                                                            :    ‫ا‬         ‫ن داد‬             ‫در ذی‬                ‫ﺥ وﺝ‬
Static block initialized
x = 42
a = 3
b = 12

                    ‫از ه‬              ، ‫ا‬        ‫ی‬        ‫آ‬       ‫ان در ﺥ رج از آ‬                   ‫را‬        ‫ه ي ای‬             ‫ه و‬
‫ن‬              ‫از‬           ‫)٠( را‬                            ‫مآ سو‬                   ‫ا‬     ‫م ای آ ر آ‬               ‫اي ا‬    .‫د‬       ‫آر‬
، ‫ا‬             ‫ا‬        ‫ی را از ﺥ رج آ س ﺥ دش‬                     ‫ای‬           ‫اه‬                  ،‫ل‬         ‫ان‬            .        ‫ی‬
                                                     : ‫م ده‬        ‫زی ا‬          ‫مآ‬        ‫د از‬          ‫ای آ ر را ا‬              ‫ا‬
Classname.method ( )

                                                                                                               ‫رای ه‬             ‫وري‬


‫اي در‬           ‫وی‬                    ‫آ ﺥ‬        ‫ا‬   ‫دﻝ‬       ‫ه‬         .            ‫زي‬         ‫ء د‬            ‫رت‬                ‫رای ه‬
‫اد‬         ،         ‫رای ـ ی‬          ‫ی . ا از ه‬                   ‫از ن‬                     ‫رای ه وﺝ د دارد آ‬                             ‫را‬
                ‫م رای ه ای‬              .    ‫ ن ا‬length                         ‫ا ، در‬       ‫ذﺥ‬              ‫ي آ در رای‬
      : ‫ده‬           ‫ن‬       ‫را‬              ‫زی ای ﺥ‬               .‫د‬       ‫در ن ﺥ اه‬               ‫را دار ، و ا از رای ه‬
/         / This program demonstrates the length array member.
class Length                      {
          public static void main (string args [ ] )                                        {
               int a1 [ ] = new int [10] ;
               int a2 [ ] = {3, 5, 7, 1, 8, 9, 44, -10}
               int a3 [ ] = {4, 3, 2, 1} ;
               system.out.printl ("length of 1 is " + al.length) ;
               system.out.printl ("length of 2 is " + al.length) ;
               system.out.printl ("length l of 3 is " + al.length) ;

16
     - Load.
‫}‬
‫}‬


‫01 ‪length of a1 is‬‬
‫8 ‪length of a2 is‬‬
‫4 ‪length of a3 is‬‬

        ‫دا‬              ‫ﺥ‬        ‫.‬     ‫ا‬                ‫داد‬     ‫ی‬         ‫آ ، ا از ه ی از رای ه‬                                                          ‫آ‬           ‫ه ن‬
‫ار ن‬                   ‫ي آ در رای وﺝ د دار ، ارد.‬                                              ‫اد‬                         ‫ار‬        ‫ار ‪ length‬ه‬                  ‫آ‬
                                                         ‫آ د.‬           ‫ان در رای ذﺥ‬                             ‫آ‬            ‫يا‬               ‫اد‬            ‫ی‬
                                                                                                             ‫و در‬                  ‫آ سه ي داﺥ‬                ‫اي‬
‫آ سه ،آ سه ي‬                                              ‫ای‬        ‫؛‬     ‫ا‬             ‫اه‬                   ‫ن ای د ی آ س در ه آ س دی‬                                      ‫ا‬
‫د.‬                 ‫ود‬            ‫ار دار ،‬               ‫آ در ن‬                ‫ود آ‬                      ‫ود ای آ س ه‬                       ‫د.‬                         ‫در‬
               ‫ﺥ‬            ‫اي ‪A‬‬        ‫رت ‪B‬‬                    ‫د، در ن‬                    ‫ی‬            ‫آ س ‪ B‬و در آ س ‪A‬‬                                 ‫از ای رو، ا‬
‫ا ،‬                      ‫ی‬           ‫آ در ن‬                    ‫يآ‬             ‫ا‬        ‫د، ا در ﺥ رج از ن ﺥ . ای آ سه‬                                                 ‫ﺥ اه‬
               ‫و‬                  ‫يآ‬                ‫ا‬           ‫و‬        ‫ي ‪ .private‬ا در آ س‬                                        ‫ا‬     ‫دار ، از ﺝ‬                       ‫د‬
                                                               ‫ارد.‬                ‫،د‬               ‫ا‬                ‫ی‬        ‫آ در ﺥ دش‬                      ‫يآ‬            ‫ا‬
     ‫،آ سه ی‬                      ‫. آ س ه ي در ي ای‬                               ‫ای‬                ‫و‬        ‫وﺝ د دارد: ای‬                ‫ع آ س در‬                     ‫دو‬
‫، ی از‬                       ‫ه‬       ‫ن ای آ س ه ای‬                        ‫د.‬                    ‫د‬        ‫ا‬                ‫ی‬         ‫اي‬     ‫آ از ‪static‬‬                     ‫ه‬
           ‫،‬           ‫.ی‬                  ‫دا‬                 ‫،د‬                   ‫ی‬            ‫آ در ن‬                         ‫يآ‬          ‫ا‬        ‫ء‬            ‫ی ی‬
      ‫دﻝ‬                 ‫. آ س ه ي در ي ای‬                                             ‫دا‬                ‫ي نآ سد‬                           ‫ا‬        ‫ً‬                  ‫ا‬
                                                                                       ‫.‬                     ‫ار‬           ‫د‬        ‫رد ا‬        ‫رت‬                ‫ودی‬
                        ‫ای‬            ‫ای آ س ه ،‬                        ‫ع از آ س ه ي در ، آ س ه ي داﺥ ٧١ ه‬                                                       ‫ی‬
‫ه ن روش ﺥ ص‬                                     ‫ا‬             ‫دار ، و‬              ‫ه ي آ س ﺥ رﺝ ﺥ د د‬                                      ‫ه و‬               ‫م‬             ‫و‬
‫ً در‬               ‫آ‬     ‫. از ای رو، ه آ س داﺥ‬                                                 ‫ارﺝ ع دا‬                        ‫ً‬           ‫،‬        ‫ای‬        ‫ي‬            ‫ا‬
                                                                                                             ‫.‬           ‫ﺥ دا‬                   ‫ود آ س در‬




‫71‬
     ‫.‪- Inner‬‬
‫ ی‬Outer ‫ده . آ س‬                        ‫ن‬        ‫را‬       ‫د از ی آ س داﺥ‬           ‫وا‬     ‫ی‬                  ‫زی‬
‫ در ن‬Inner ‫م‬                          ‫ دارد و آ‬test () ‫م‬           «         » ‫، ی‬outer-x ‫م‬              «                        »
                                                                                                        .‫د‬                ‫ی‬
/ / Demonstrate an inner class.
class outer                  {
         int outer-x = 100 ;


         void test ( )                 {
              Inner inner= new Inner ( );
              inner.display ( ) ;
/ / this is an inner class
Class Inner                  {
         void display ( )                   {
              system.out.printl ("display: outer-x = " + outer – x) ;
         }
     }
}


class InnerClassDemo {
         public static void main (string args [ ] )                                    {
              outer outer = new outer ( ) ;
              outer.test ( );
         }
}


display: outer-x = 100

، ‫ای‬           .‫د‬                ‫ی‬         outer ‫ود آ س‬            ‫ در‬Inner ‫م‬               ‫، ی آ س داﺥ‬               ‫در ای‬
                     .                ‫دا‬             ‫ د‬outer-x          ً              ‫ا‬          Inner ‫ه ي آ س‬               ‫رو‬
         ‫رو‬              .       ‫ا‬           ‫ﺥ‬        outer ‫ود آ س‬          ‫در‬         Inner ‫آ آ س‬           ‫ا‬        ‫ا‬
‫ی ﺝ وا ﺥ ی را‬                        ‫ی،آ‬        Inner ‫اي از آ س‬             ‫ای د‬       ‫ ا ام‬outer ‫در ﺥ رج از آ س‬
‫در‬            : ‫ار‬                               ‫ی‬            ‫ر آ ، آ س ه ي در ، و‬                     .‫ﺥ اه داد‬              ‫ی‬
                                                          .             ‫ﺥ‬        ، ‫ا‬          ‫ی‬      ‫ود اي آ در ن‬
‫ای‬                 ‫دارد، ا‬                ‫،د‬         ‫ا‬               ‫ی‬      ‫آ در ن‬                        ‫يآ‬            ‫ما‬                   ‫ه آ س داﺥ‬
‫ا و در آ س‬                            ‫ﺥ‬       ‫ود ه ن آ س‬                        ‫در‬                   ‫ي آ س داﺥ‬                   ‫.ا‬                  ‫دق‬
                                                                                                                        ‫.‬                ‫د‬       ‫ا‬             ‫ﺥ رﺝ‬
    ‫د، ا ه م ی ی‬                                      ‫آر د‬                    ‫ه ي روز‬                               ‫آ س ه ي در در‬                                       ‫ا‬
                                                                                        ‫.‬                      ‫وا‬           ‫ه وا ً‬               ‫روی اده در ا‬
‫از ﺝ وا‬                ‫د از‬           ‫د. ا‬        ‫ز‬          ‫ت 0.1 ﺝ وا‬                                           ‫د از آ س ه ي در در‬                                    ‫ا‬
                                                                                                                                     ‫.‬       ‫ا‬            ‫ز‬        ‫١/١‬


                                                                                                                                 ‫آ س ‪String‬‬                        ‫ر‬


    ‫رز ای‬              ‫ی . دﻝ‬             ‫ر‬            ‫آ س ه ي ﺝ وا‬                                  ‫اوﻝ ی آ س در آ‬                          ‫ً‬            ‫‪ String‬ا‬
                                ‫ی .‬           ‫ر‬              ‫زي‬                    ‫از‬                ‫ر‬                      ‫ه‬        ‫آ ر‬              ‫نا‬
        ‫آ ، در وا‬               ‫اي آ ای د‬                   ‫آ ه ر‬                  ‫ا ، نا‬                 ‫ه‬       ‫ی در ر ر‬                   ‫يآ‬
‫ل در‬             ‫ان‬             ‫ی .‬           ‫ر‬              ‫ء‬           ‫هيه‬             ‫ير‬               ‫ﺙ‬         ‫.‬       ‫از آ س ‪ String‬ا‬
                                                                                                                                                     ‫رت زی ،‬
‫;)"‪System.out.println ("This is a string, too‬‬

    ‫، روش ی ی‬                             ‫ی .ﺥ‬           ‫ر‬               ‫اي‬         ‫ر‬            ‫ﺙ‬             ‫"‪"This is a string, too‬‬                                 ‫ر‬
         ‫ي دی‬                ‫يآ‬           ‫ﻝ « در ز‬                   ‫ه ي»‬               ‫ی ی ر‬                 ‫ن‬         ‫اي در ﺝ وا ه‬                      ‫ير‬            ‫ﺙ‬
                                                                               ‫.‬        ‫اه دا‬                                   ‫ای از ای ﺝ‬                     ‫،‬        ‫ا‬
    ‫ی‬                   ‫ع ‪،String‬‬                 ‫ءه ي‬               ‫آ‬         ‫نا‬           ‫ای‬        ‫ه‬           ‫ی در ر ر‬                   ‫آ‬                         ‫دو‬
    ‫ای‬               ‫د. ا‬       ‫اه‬                                       ‫اي‬          ‫ءه ي ‪،String‬‬                        ‫از ای د‬                          ‫.ی‬           ‫ه‬
                                ‫:‬                      ‫ای‬        ‫دو دﻝ‬             ‫ی،ا‬                        ‫ودی ﺝ ي‬                        ‫ا‬            ‫ع‬
                 ‫آ‬          ‫ﺝ ی ي ای د آ‬                             ‫ا‬                  ‫،ه‬                        ‫اي دا‬          ‫ر‬                    ‫ز‬            ‫ا‬
                                                                                                                            ‫.‬                    ‫رد‬           ‫ات‬
‫ه‬            ‫ر‬              ‫ن‬       ‫آ ا‬           ‫ا‬              ‫ی‬       ‫م ‪ StringBuffer‬در ﺝ وا‬                                 ‫‪String‬‬                             ‫آ‬
‫م‬        ‫ا‬            ‫ه ه ز در ﺝ وا‬                      ‫ر‬           ‫ط‬             ‫دازش‬              ‫م آ ره ي‬               ‫ای‬           ‫زد،‬                  ‫ه‬        ‫را‬
                                                         ‫(.‬          ‫ا‬              ‫ر‬        ‫دوم آ ب‬                    ‫)‪ StringBufeer‬در‬                               ‫ه‬
‫ن‬             ‫ر‬         ‫د از‬           ‫ی روش، ا‬                 ‫ه وﺝ د دارد.‬                        ‫اي ای د ر‬                          ‫روش ه ي‬
                                                                                                                              ‫:‬        ‫ل زی ا‬
‫; "‪String mystring = this is a test‬‬

      ‫،‬       ‫زا‬           ‫ه‬       ‫آ آر در‬             ‫ای‬            ‫در ه‬        ‫ا‬             ‫ء ‪ ،String‬ن را‬                     ‫از ای د ی‬
                                                                                                                                       ‫ی.‬       ‫آر‬
          ‫اي اد م دو ر‬             ‫. از ن‬       ‫ا‬               ‫ی‬        ‫ءه ي ع ‪String‬‬                           ‫اي‬     ‫"+" در ﺝ وا‬
                                                                         ‫رت زی ،‬                        ‫ل،‬        ‫ان‬          ‫د.‬            ‫د‬       ‫ا‬
‫; "‪String my string = "I" + "like" + "Java‬‬

                                                                    ‫د.‬           ‫ن "‪ "I like Java‬در ‪MyString‬‬                                    ‫ذﺥ‬
‫)( ‪length‬‬                      ‫اﺥ ا‬          ‫آ .‬        ‫ر‬           ‫را‬         ‫وي دو ر‬                  ‫ا‬             ‫د از )( ‪equals‬‬            ‫ا‬
‫ﺝ د در‬                 ‫آ راآ‬       ‫ا‬          ‫د از )( ‪ charAt‬ه‬                       ‫ا‬       ‫وری .‬           ‫د‬           ‫لی ر‬               ‫ا‬
‫:‬         ‫ا‬           ‫ن داد‬        ‫در ذی‬               ‫ای‬       ‫آ‬              ‫وری .‬            ‫د‬       ‫را‬        ‫در ر‬            ‫رد‬
‫)‪boolean equals (String object‬‬
‫) ( ‪in length‬‬
‫)‪char charAt (in index‬‬



                                                                                                ‫ن‬                 ‫نهي‬              ‫د از ر‬           ‫ا‬


     ‫اي ن ار ل آ . ای آ ر‬                                   ‫م اﺝ اي ی‬            ‫را ه‬                       ‫دآ ا‬              ‫ه او ت زم‬
                                                                                 ‫٨١‬
     ‫نﺥ‬               ‫ر از ر‬            ‫د.‬       ‫م‬     ‫)( ‪ main‬ا‬                         ‫ن‬           ‫نهيﺥ‬                ‫د از ار ل ر‬                ‫ا‬
              ‫ن‬            ‫در ﺥ‬              ‫از م‬           ‫ً‬              ‫،‬                 ‫م اﺝ اي‬         ‫آ ه‬          ‫ا‬              ‫ن، ا‬
     ‫ـ ای‬             ‫نا‬       ‫ً‬       ‫ه ي ﺝ وا آ‬                   ‫ن در‬                     ‫نه يﺥ‬                ‫ر‬                 ‫.د‬
                  ‫.‬            ‫اري‬           ‫)( ‪main‬‬                ‫اي در رای ‪ String‬ار ﻝ‬                              ‫رت ر‬             ‫ت‬           ‫ا‬


                                                                                                    ‫ل‬            ‫نهي‬           ‫‪ :Varargs‬ر‬




‫81‬
     ‫.‪- Command-line‬‬
‫اد‬             ‫ز‬       ‫آ آ‬              ‫د‬    ‫ه ی را‬                       ‫آ ای د‬                     ‫ﺝ وا ا ود ا‬                     ‫ﺝ ی ي را‬                        ‫5 ‪ ،J2SE‬وی‬
‫و از آ ت ‪variable-length‬‬                                              ‫ا‬                             ‫، ‪varargs‬‬                   ‫ن دار . ای وی‬                            ‫ي ر‬
‫‪ variable-arity‬ی‬                        ‫،‬        ‫ا‬                        ‫نهی‬                   ‫اد ر‬              ‫يآ‬            ‫.‬         ‫ا‬                          ‫‪arguments‬‬
                                                                                                                       ‫د.‬                              ‫‪varargs‬‬                     ‫ً‬
‫ل،‬        ‫ان‬                 ‫ی .‬         ‫ر‬                    ‫ل‬                    ‫،‬                                        ‫نهيی‬                       ‫اد ر‬              ‫آ‬             ‫ای‬
‫و‬         ‫ر، م ی ، و‬                                     ‫رود، م آ ر ي، آ‬                                    ‫آر‬                           ‫ای‬        ‫ل‬            ‫ري ا‬           ‫يآ‬
              ‫دی‬       ‫از‬      ‫ا‬                     ‫ﺥ از‬                               ‫م‬            ‫رت‬               ‫، ا در‬                      ‫ز ﺥ اه دا‬                   ‫را‬
‫ض در‬                          ‫دی‬            ‫نه ی آ‬                        ‫ر‬                      ‫ا‬                     ‫ای‬                         ‫د آ . در‬                    ‫ضا‬
                                                                                            ‫د.‬           ‫را ار ل‬                              ‫د‬        ‫ا‬                      ‫ص‬                ‫ﺥ‬
    ‫آ‬         ‫وﺝ د دا‬                   ‫ل‬            ‫نهي‬                      ‫ر‬         ‫اي ی ی‬                    ‫5 ‪ ،J2SE‬دو روش‬                                          ‫از‬
‫د،‬                      ‫و‬               ‫نه آ‬                  ‫اد ر‬                 ‫اآ‬                ‫،ا‬          ‫ای‬                 ‫د.‬            ‫ی‬         ‫ﺥ‬            ‫ام از‬                  ‫ه‬
‫ت‬             ‫از‬       ‫ري ه ی‬                        ‫رت ‪overload‬‬                                                  ‫از‬                     ‫ي‬             ‫ر‬         ‫رت‬                ‫در ن‬
‫اي‬                     ‫د، ا‬                              ‫ای‬           ‫ﺥ از‬              ‫اي‬           ‫ای روش‬                         ‫.ا‬                  ‫ای د‬                   ‫اﺥ ا‬
                                                                                                                  ‫.‬         ‫ودي آ ر د دا‬                             ‫ر‬                 ‫ای‬
‫.‬                  ‫د‬    ‫يا‬          ‫د، از روش دی‬                                        ‫ی‬            ‫ر‬      ‫نه،‬                 ‫اد ر‬                       ‫اآ‬         ‫ای آ‬                     ‫در‬
          ‫.‬            ‫ار ل‬                      ‫رای‬                      ‫و‬                     ‫اري‬               ‫ن ه در رای اي‬                                 ‫در ن روش، ر‬
                                                                  ‫.‬                                      ‫)...(‬                                          ‫ل‬                ‫نه‬                    ‫ر‬
     ‫.ا‬                 ‫دا‬              ‫ل‬                         ‫را‬           ‫ی‬            ‫ا‬        ‫ر «ه‬                   ‫ه ي»‬                   ‫را‬            ‫ا‬                              ‫ه‬
     ‫زی‬        ‫ی‬       ‫ل،‬          ‫ان‬                ‫.‬                    ‫را‬            ‫، ﺥ ی‬                     ‫ی‬         ‫م‬       ‫ی ه‬                         ‫ل‬                          ‫را‬
                                                                                                                                                   ‫:‬            ‫لا‬                     ‫ً‬        ‫آ‬
‫{ )‪int doIt (int a, int b, double c, int … vals‬‬

                                                                      ‫.‬                 ‫را‬            ‫آ ‪ varargs‬ی ﺥ ی‬                                                    ‫دا‬            ‫ﺥ‬
‫ز‬         ‫‪varargs‬‬                  ‫را‬        ‫ی‬                ‫:‬                    ‫ن‬                          ‫ی‬         ‫وﺝ د دارد آ‬                         ‫ي‬         ‫ودی دی‬
                                                                                            ‫:‬        ‫ا‬        ‫در‬            ‫رت زی‬                     ‫ل،‬         ‫ان‬                ‫.‬               ‫ا‬
‫)‪int doIt (int a, int b, double c, int … vals, double … morevals‬‬
‫!‪{ / / Error‬‬

                                                                                                ‫.‬        ‫زا‬                     ‫‪ Varargs‬دوم‬                           ‫را‬                   ‫ی‬
Varargs ‫ه ي‬   ‫ آ دن‬Overload


‫ل، در‬    ‫ان‬       .‫د‬   Overload ‫ا‬                ‫دار را‬    ‫ل‬      ‫ن‬   ‫هی آ ر‬
                                :    ‫ا‬       Overload      vaTest()    ، ‫زی‬
/ / varargs and overloading
class varArgs3     {
    Static void vaTest (int… v)          {
        System.out.print ("vaTest (int …): " +
                            " Number of args: " + v/length +
                            " Contents: " );
    for (int x : v)
        system.out.print (x + "      ");
    system.out.println ( ) :
}
static void vaTest (boolean …v) {
        system.out.print ("vaTest (boolean …) " +
                       " Number of args: " + length +
                       " Contents: " ) ;
for (boolean x : v)
        system.out.print (x + " ");


        system.out.print ( ) ;
}
Static void vaTest (String msg, int … v) {
        system.out.print ("vaTest (String, in …) : " +
                       " msg + v.length +
                       " Contents:       ") ;
for (int x : v)
        system.out.print (x +       " ");


    system.out.print ( );
}
public static void main (staring args [ ] )
{
    vaTest (1, 2, 3) ;
    vaTest (" Testing: ', 10, 20) ;
vaTest (true, false, false);
 }
}


         vaTest (int …): Number of arags: 3 contents: 1 2 3
         vaTest (string, int …): Testing:: 2 contents: 10 20
         vaTest (int …): Number of arags: 3 contents: true false false



‫ع‬        ،   ‫ای‬         . ‫ده‬   ‫ن‬         ‫ را‬varargs ‫ه ي‬       ‫ آ دن‬overload ‫ه دو روش‬            ‫ای‬
‫ و‬vaTest (int …) ‫ه ي‬               ‫ص‬        ‫. در ﺥ‬                    ‫ا‬    varargs   ‫داد ه ي را‬
     ‫د‬             "..." ‫آ وﺝ د‬                ‫دا‬    ‫ﺥ‬    .     ‫ا‬         ‫ ه‬vaTest (Boolean …)
                                    .‫د‬     ‫ﺥ رد‬                     ‫رت رای اي از ع‬         ‫را‬
             .    ‫ﻝ ا‬          ‫را‬        ‫، ا ودن ی‬varargs ‫ه ي‬         ‫ آ دن‬overload ‫اي‬   ‫روش دوم‬
‫وراﺙ‬                    bb


                Inheritance



                                       :   ‫وی ای‬
                           ‫وراﺙ‬
          super ‫آ ي‬         ‫آر دآ‬
                         Multilevel
    ‫ ه‬Constructor        ‫اﺥ ا‬     ‫ز ن‬
                ‫ه‬   ‫ آ دن‬Override
     ‫ه‬    ‫( ی ي‬dispatch) ‫زی‬
                ‫؟‬        ‫هيﻝ‬       ‫ا‬
(abstract) ‫د‬        ‫ي‬     ‫د از آ‬       ‫ا‬
               ‫ وراﺙ‬Final ‫د از‬         ‫ا‬
                        Object ‫آ س‬
‫ی ي‬              ‫، زی ا ا ن ای د‬                           ‫ا‬                     ‫ی‬              ‫هي‬             ‫از‬    ‫وراﺙ را ی‬
    ‫زی آ‬                   ‫آ س‬            ‫ی‬       ‫ا‬                 ‫،‬        ‫د از وراﺙ‬               ‫ا‬   ‫ورد .‬          ‫را ﺝ د‬            ‫ا‬
            ‫ا‬        ‫ا‬     ‫ی . ای آ س‬                           ‫ی‬           ‫را‬                   ‫ا م‬                   ‫كی‬         ‫ي‬           ‫وی‬
           ‫د ﺥ دش‬                         ‫ه ی را آ‬                               ‫و ه آ س ارث‬                         ‫رث د‬             ‫ی آ‬
      ‫د را آ س‬                    ‫د‬           ‫رث‬            ‫آ‬                    ‫ﺝ وا ، آ‬                 ‫ی . در روش‬                      ‫ن ا‬
‫را زی آ س‬                ‫ارث ي را ا م داد و ارث د ا‬                                              ‫آ‬        ‫.آ‬             ‫)‪(superclass‬‬
‫از ی "‬                    ‫و‬                            ‫ای ، ی " زی آ س " روای‬                                    ‫.‬           ‫)‪(subclass‬‬
     ‫آ س‬                                      ‫ي‬       ‫و رو‬                   ‫هي‬                   ‫. زی آ س ، آ‬               ‫"ا‬       ‫آ س‬
                                                        ‫آ .‬                           ‫ا‬        ‫د ﺥ د را‬                     ‫را رث د و‬


                                                                                                                               ‫وراﺙ‬


‫د از واژ آ ي‬               ‫ی آ س را ا‬                       ‫ی‬                        ‫د آ‬             ‫دن از ی آ س ، ﺥ‬              ‫اي ارث‬
     ‫ن‬          ‫د اي را‬       ‫ل‬       ‫،‬                ‫ای‬               ‫آ‬        ‫اي‬           ‫ار ده .‬     ‫ي‬          ‫‪extends‬در آ س دی‬
     ‫آ .د‬          ‫‪ B‬ای د‬         ‫م‬               ‫م ‪ A‬و ی زی آ س‬                                         ‫يی آ س‬                       ‫ده .‬
            ‫د.‬      ‫ی زی آ س از ‪ A‬ای د‬                                           ‫د‬        ‫از واژ آ ي ‪ extends‬ا‬                        ‫آ‬       ‫آ‬

‫.‪// A simple example of inheritance‬‬
‫.‪// Create a superclass‬‬
‫{ ‪class A‬‬
‫;‪int i, j‬‬
‫{() ‪void showij‬‬
‫;)‪System.out.println("i and j :" + i + " " + j‬‬
‫}‬
‫}‬
‫.‪// Create a subclass by extending class A‬‬
‫{ ‪class B extends A‬‬
‫;‪int k‬‬
‫{() ‪void showk‬‬
‫;)‪System.out.println("k :" + k‬‬
‫}‬
void sum )({
System.out.println("j+j+k :" +( i+j+k));
}
}
class SimpleInheritance {
public static void main(String args[] ){
A superOb = new A)(;
B subOb = new B)(;
// The superclass may be used by itself.
superOb.i = 10;
superOb.j = 20;
System.out.println("Contents of superOb :");
superOb.showij)(;
System.out.println)(;
/* The subclass has access to all public members of
its superclass .*/
subOb.i = 7;
subOb.j = 8;
subOb.k = 9;
System.out.println("Contents of subOb :");
subOb.showj)(;
subOb.showk)(;
System.out.println)(;
System.out.println("Sum of i/ j and k in subOb:");
subOb.sum)(;
}
}


                                           :     ‫ار زی‬   ،   ‫ﺥ وﺝ ای‬
Contents of superOb:
i and j :10 20


Contents of subOb:
i and j :7 8
k :9
‫:‪Sum of i/ j and k in subOb‬‬
‫42: ‪i+j+k‬‬


‫.‬            ‫‪A‬ا‬             ‫ی‬                ‫ي‬     ‫آ س‬               ‫ا‬     ‫آ‬                ‫، زی آ س ‪ B‬در‬                                      ‫ری‬          ‫ه‬
‫ی .‬                  ‫اﺥ ا‬        ‫و )(‪ showij‬را‬                  ‫دا‬             ‫‪i‬و‪ j‬د‬                ‫ا‬            ‫آ ‪subob‬‬                   ‫ا‬    ‫دﻝ‬
‫از ‪ B‬د ، ارﺝ ع‬                                             ‫آ‬             ‫‪ i‬و‪ j‬و ه‬               ‫ر‬           ‫ان‬           ‫داﺥ ‪()sum‬‬                         ‫ه‬
            ‫دا‬                   ‫و‬            ‫"‬        ‫نی آ سآ‬                 ‫،ا ه‬                         ‫ي‪B‬‬         ‫‪A‬آ س‬                     ‫د.ا‬
        ‫ی‬        ‫را‬             ‫ان ﺥ د ن آ س‬                     ‫آ‬                      ‫اي ی زی آ س ان‬                        ‫دن‬                    ‫.آ س‬
    ‫.‬                 ‫ي ی زی آ س دی‬                        ‫ا آ س‬               ‫و ، ی زی آ س‬                            ‫ار داد .‬            ‫د‬        ‫رد ا‬
                     ‫:‬          ‫رت زی ا‬                ‫د،‬            ‫ارث‬        ‫ن ی ‪ class‬آ از ی آ س‬                               ‫ا‬

‫{ ‪class subclass-name extends superclass-name‬‬
‫‪// body of class‬‬
‫}‬


‫.ﺝ وا از ا ل‬                         ‫آ‬   ‫ی‬         ‫ا‬                 ‫ی آ س‬                  ‫،‬   ‫آ‬           ‫آ ای د‬                ‫اي ه زی آ‬
‫وت‬               ‫ﺝ وا ++‪C‬‬                         ‫آ . ) از ای‬                           ‫د‬       ‫ی آ س‬                     ‫ی آ س‬                       ‫وراﺙ‬
‫از‬           ‫ا‬                       ‫ی‬   ‫ا‬             ‫آ‬                 ‫. )‬    ‫ن ی ا‬                   ‫ا‬        ‫آ‬         ‫آ در ن وراﺙ‬                     ‫ا‬
            ‫.ا ،ه‬                        ‫ي ی زی آ س دی‬                      ‫آ در ن ی زی آ س ، آ س‬                                 ‫وراﺙ ای د آ‬
                                                                                    ‫.‬           ‫ي ﺥ دش‬                 ‫ا آ س‬                               ‫آ‬


                                                                                                                     ‫و وراﺙ‬            ‫ا‬                   ‫د‬


        ‫ی‬        ‫ا‬          ‫ا‬            ‫،ا‬                 ‫يﺥ د‬           ‫س‬                ‫ا‬       ‫آ‬                ‫ی زی آ س در‬                           ‫ا‬
                 ‫ل،‬             ‫ان‬       ‫.‬                 ‫دا‬             ‫ا ،د‬              ‫ن‬           ‫ان ‪ private‬ا‬              ‫آ‬            ‫از آ س‬
                                                                                    ‫ی :‬                      ‫د آ س زی را در‬                            ‫ا‬

‫‪/* In a class hierarchy/ private members remain‬‬
‫.‪private to their class‬‬
‫‪This program contains an error and will not‬‬
‫.‪compile‬‬
‫/*‬
// Create a superclass.
class A {
int i; // public by default
private int j; // private to A
void setij(int x/ int y ){
i = x;
j = y;
}
}
// A's j is not accessible here.
class B extends A {
int total;
void sum )({
total = i + j; // ERROR/ j is not accessible here
}
}
class Access {
public static void main(String args[] ){
B subOb = new B)(;
subOb.setij(10/ 12);
subOb.sum)(;
System.out.println("Total is " + subOb.total);
}
}


           ‫د‬       ‫ ر‬B‫ در‬sum() ‫ داﺥ روش‬j           ‫زی ا ارﺝ ع‬      ‫اه‬            ‫ی‬        ‫آ‬                ‫ای‬
      ‫ئ آ س ﺥ دش‬        ‫ی ا‬               ،   ‫ن‬    ‫ ا‬private ‫ان‬     j        ‫ی‬           ‫. از‬         ‫ﺥ اه‬
                                     . ‫ن ار‬          ‫د‬       ‫ه‬          ‫و زی آ‬                ‫ا‬            ‫د‬
    ‫ﺥ اه‬       ‫اي آ س ﺥ دش اﺥ‬             ‫ن‬   ‫ ا‬private ‫ان‬        ‫آ سآ‬                     ‫ی د وري : ی‬
           ،   ‫آ‬   ‫زی‬         ‫از ﺝ‬        ‫اي آ ه ي ﺥ رج از آ‬                                      ‫د . ای‬
                                                                        .‫د‬           ‫اه‬                    ‫د‬


                                                                                     ‫ﺕ‬            ‫ل‬        ‫ی‬
‫ن ﺥ اه‬   ‫را‬       ‫وراﺙ‬    ‫رت وا‬        ‫دازی آ‬              ‫ل‬     ‫ی‬      ‫اﺝ ز ده‬
    ‫رم‬             ‫ی‬          ‫ش ی‬       ‫ي‬      Box ‫آ س‬      ‫ی‬       ‫، روای‬   ‫داد . در ای‬
depth،height ، width                ‫،آ س ﺝ ی‬         ‫د. ی‬       ‫ را در‬weight ‫م‬
                                                       .‫د‬       ‫ ﺥ اه‬box ‫ وی‬weight ‫و‬

// This program uses inheritance to extend Box.
class Box {
double width;
double height;
double depth;
// construct clone of an object
Box(Box ob ){ // pass object to constructor
width = ob.width;
height = ob.height;
depth = ob.depth;
}
// constructor used when all dimensions specified
Box(double w/ double h/ double d ){
width = w;
height = h;
depth = d;
}
// constructor used when all dimensions specified
Box )({
width =- 1; // use- 1 to indicate
height =- 1; // an uninitialized
depth =- 1; // box
}
// compute and return volume
double volume )({
return width * height * depth;
}
}
// Here/ Box is extended to include weight.
class BoxWeight extends Box {
double weight; // weight of box
// constructor for BoxWeight
BoxWeight(double w/ double h/ double d/ double m ){
width = w;
height = h;
depth = d;
weight = m;
}
}
class DemoBoxWeight {
public static void main(String args[] ){
Boxweight mybox1 = new BoxWeight(10/ 20/ 15/ 34.3);
Boxweight mybox2 = new BoxWeight(2/ 3/ 4/ 0.076);
double vol;
vol = mybox1.volume)(;
System.out.println("Volume of mybox1 is " + vol);
System.out.println("Weight of mybox1 is " + mybox1.weight);
System.out.println)(;
vol = mybox2.volume)(;
System.out.println("Volume of mybox2 is " + vol);
System.out.println("Weight of mybox2 is " + mybox2.weight);
}
}


                                                     :                  ‫رت زی‬             ‫ﺥ وﺝ ای‬
Volume of mybox1 is 3000
Weight of mybox1 is 34.3


Volume of mybox2 is 24
Weight of mybox2 is 0.076
Boxweight


‫اي‬       . ‫آ‬             ‫ را ا‬weight                     ‫د و‬            ‫ را رث‬Box ‫ت‬                   ‫آ‬
          . ‫ی‬      ‫دا ای د‬    ‫ را‬Box ‫ﺝ د در‬          ‫ﺝ ا‬        ‫ارد آ آ‬          ‫ور‬    Boxweight
                  .‫ی‬         ‫اه اف ﺥ ص ﺥ دش را‬           ‫ش ده‬            ‫ري‬      ‫ را‬Box   ‫د‬       ‫ا‬
     ‫آ‬   ‫ای د آ‬        ‫آ س‬     ‫ی ری‬              ‫آ‬       ‫آ‬          ‫ا‬    ‫ای‬     ‫وراﺙ‬          ‫ی‬       ‫ی‬
    ‫اي‬   ‫ان از ن‬                ، ‫ی‬     ‫ی‬     ‫ئ را‬           ‫از ا‬                ‫ك ی‬      ‫ي‬           ‫ﺥ‬
‫ا‬                 ‫د . ه زی آ س‬                   ‫د‬       ‫ا‬                  ‫ي‬             ‫اد از زی آ‬            ‫ای د ه‬
    ‫رث‬               Box ‫ي ، از‬              ‫ل ،آ س‬                 ‫ان‬   .   ‫ی‬                ‫ي ﺥ دش‬                         "   ‫د‬
                                                       .     ‫ا‬           ‫در ن ا‬         (color)           ‫ر‬        ‫د وی ﺥ‬

// Here/ Box is extended to include color.
class ColorBox extends Box {
int color; // color of box
ColorBox(double w/ double h/ double d/ double c ){
width = w;
height = h;
depth = d;
color = c;
}
}


‫ان‬                       ، ‫آ‬     ‫ی‬     ‫را‬        ‫ی‬                  ‫ی آ وﺝ‬       ‫ای د‬            ‫ی آ س‬          ‫د وری آ ه‬
                ‫د‬             ‫د . ه زی آ س ﺥ‬                ‫ارث‬                  ‫ي‬           ‫آ‬           ‫اي‬        ‫از ن آ س‬
    .                ‫ا‬        ‫وراﺙ‬     ‫م آ‬                 ‫آ . ای‬            ‫د ﺥ دش را ا‬                                ‫ي‬        ‫ﺥ‬
        ‫ی‬           ‫ط‬          ‫ارﺝ ع‬             ‫ی ی‬        ‫زی آ س ارﺝ ع‬                ‫ی‬         ‫ا‬             ‫آ س‬              ‫ی‬
،               ‫از ن آ س‬                         ‫ي‬          ‫ه ی از زی آ‬            ،         ‫ارﺝ‬         ‫ان‬        ‫را‬        ‫آ س‬
‫ل‬               ‫ان‬        .      ‫ا‬     ‫د‬     ‫و‬              ‫از وراﺙ آ‬     ‫ای ، ای ﺝ‬               ‫ري از‬       ‫د . در‬
                                                                                            : ‫ی‬               ‫رد زی را در‬        ،

class RefDemo {
public static void main(String args[] ){
Boxweight weightbox = new BoxWeight(3/ 5/ 7/ 8.37);
Box plainbox = new Box)(;
double vol;
vol = weightbox.volume)(;
System.out.println("Volume of weightbox is " + vol);
System.out.println("Weight of weightbox is " +
weightbox.weight);
System.out.println)(;
// assign BoxWeight reference to Box reference
‫;‪plainbox = weightbox‬‬
‫‪vol = plainbox.volume)(; // OK/ volume )(defined in Box‬‬
‫;)‪System.out.println("Volume of plainbox is " + vol‬‬
‫‪/* The following statement is invalid because plainbox‬‬
‫/*. ‪dose not define a weight member‬‬
‫‪// System.out.println("Weight of plainbox is " + plainbox.weight‬‬
‫}‬
‫}‬


‫ا ئ‬             ‫و ‪ plainbox‬ی ارﺝ ع‬                               ‫ئ ‪ Boxweight‬ا‬              ‫ا‬            ‫‪ weightbox‬ی ارﺝ ع‬                                 ‫در ای‬
‫ان‪ plainbox‬را‬                             ‫،‬        ‫‪ Boxweight‬ی زی آ س از ‪ Box‬ا‬                                             ‫ی‬           ‫. از‬            ‫‪Box‬ا‬
‫ارﺝ ع و‬                  ‫ع‬           ‫آ‬         ‫ای ا‬                  ‫د.‬                ‫ئ ‪weightbox‬‬                                 ‫ان ی ارﺝ ع‬
         ‫.ی‬         ‫ه‬                ‫د‬         ‫ئ‬            ‫آ آ ام ا‬                   ‫آ‬             ‫ا‬        ‫ن ارﺝ ع‬                  ‫آ‬               ‫ع‬
                             ‫ارﺝ ع آ س‬                           ‫ی‬    ‫ئ زی آ س ،‬                          ‫ی‬       ‫ط‬            ‫ی ارﺝ ع‬                          ‫ه‬
‫.‬                        ‫ی‬                ‫آ س‬                    ‫داری آ‬            ‫ئد‬                    ‫ی از‬              ‫ن‬                               ‫د،‬
     ‫ی‬         ‫آ‬         ‫و‬                         ‫دا‬                ‫‪ weight‬د‬           ‫ا‬                 ‫آ ‪plainbox‬‬                         ‫ا‬        ‫دﻝ‬
    ‫زی ا ی آ س‬                   ‫آ‬            ‫س‬        ‫، ن را ا‬           ‫آ‬    ‫ن‬            ‫آ .ا‬                   ‫‪ Boxweight‬ارﺝ ع‬
‫.‬         ‫اه دا‬              ‫اش‬                   ‫زی آ س‬                           ‫ارد ا‬                              ‫اي‬                ‫ه وا‬
    ‫اي ی‬        ‫.‬        ‫ا‬               ‫رج‬                 ‫از‬                ‫ﺝ د در‬            ‫آ ﺥ ی ﺥ از آ‬                                 ‫ا‬        ‫دﻝ‬
           ‫م‬        ‫ای‬       ‫ي‬            ‫اآ‬       ‫،‬                 ‫دا‬        ‫‪ weight‬د‬                               ‫ن ارد‬             ‫ارﺝ ع ‪ Box‬ا‬
                                                                                                                      ‫.‬        ‫ا‬                 ‫ی‬         ‫‪Box‬‬


                                                                                                                  ‫آ ي ‪super‬‬                           ‫آر دآ‬


‫زي‬             ‫، د‬           ‫ي آ ا ن دا‬                     ‫آ رای و ر‬           ‫از ‪Box‬‬                             ‫ي‬               ‫آ‬             ‫ﻝ ي‬            ‫در‬
    ‫ه ي ‪ height ، width‬و‬                                     ‫ی‬        ‫ر‬       ‫‪Boxweight‬‬                       ‫ز‬       ‫ل ،‬              ‫ان‬              ‫.‬
‫ي‬          ‫در آ س‬                    ‫ا‬    ‫آ هي‬                       ‫آ . ای ا‬               ‫ار ده اوﻝ‬                     ‫‪depth‬و در ‪ ()Box‬را‬
               ‫ی زی آ س ی د‬                            ‫ای‬        ‫د ﻝ دارد‬          ‫،‬        ‫آ را‬                   ‫آ آ‬                   ‫ا‬           ‫را دو‬
     ‫آ‬        ‫ای د آ‬             ‫ﺥ اه ی آ س‬                           ‫وﺝ د دار آ‬                ‫ای‬            ‫.ا‬                   ‫ئ دا‬                ‫ای ا‬
‫اي ی زی آ س‬                              ‫ای ، راه‬                ‫اري آ . در ای‬              ‫زي ﺥ دش را ﺥ دش‬                                  ‫ت د‬                ‫ﺝ‬
‫ارده‬        ‫را‬            ‫وی‬     ‫دا‬                ‫ﺥ دش د‬           ‫ط‬         ‫هي‬            ‫ای‬                         ‫وﺝ د ارد‬
    ‫آ‬                                 ،        ‫ ا‬oop ‫اوﻝ‬                     ‫زي ی ﺥ‬        ‫ل‬         ‫آ‬    ‫ی‬        ‫ی . از‬             ‫اوﻝ‬
        ‫ی‬                ‫زم‬           ‫.ه‬                    ‫آ د‬        ‫اه‬                      ‫اي ای‬                         ‫ﺝ وا را‬
super ‫د از واژ آ ي‬                        ‫ا‬    ‫ی ، ای ر را‬                  ‫ﺥ دش ارﺝ ع‬              ‫ي‬     ‫آ س‬              ‫زی آ س‬
. ‫آ‬             ‫اﺥ ا‬          ‫را‬     ‫آ س‬           ‫ز‬        ‫ن‬        ‫دارد . اوﻝ‬                 ‫ دو‬super . ‫ده‬                     ‫م‬     ‫ا‬
                 ‫زی آ س‬                        ‫ی‬                ‫آ‬       ‫آ س‬               ‫ی‬               ‫رد‬                ‫ن‬         ‫دو‬
                                                                                                     .‫د‬                ‫د‬     ‫،ا‬         ‫ا‬


                                                                                                              super ‫د از‬                ‫ا‬


    ‫د از ای‬          ‫را ا‬                  ‫ي‬       ‫آ س‬                            ‫ی‬       ‫ز‬     ‫ا روش‬                  ‫ی زی آ س‬
                                                                                              : ‫ی‬         ‫اﺥ ا‬         super

                                                                                           super( parameter-list);

    ‫در آ س‬           ‫ز‬                ‫آ‬            ‫ي ا‬          ‫را‬       ‫ه‬        ‫آ‬            parameter-list                     ‫در ای‬
        ‫ز‬        ‫ی‬       ‫داﺥ‬         ‫ر اﺝ ا‬             ‫د‬           ‫ی ه ار اوﻝ‬            super() .                ‫ز‬       ‫رد‬
                                                                                                               .           ‫زی آ س‬
            ‫ی‬                 ‫روای‬    ‫ای‬               ‫،وه‬                   ‫د‬        ‫ ا‬super() ‫از‬                          ‫ی آ‬
                                                                         : ‫ی‬              ‫ را در‬Boxweight() ‫از آ س‬

// BoxWeight now uses super to initialize its Box attributes.
class BoxWeight extends Box {
double weight; // weight of box
// initialize width, height, and depth using super)(
BoxWeight(double w, double h, double d, double m ){
super(w, h, d); // call superclass constructor
weight = m;
}
}
‫ده . ای‬                ‫م‬     ‫ و ا‬d ‫ و‬h ،w ‫ه ي‬                  ‫را‬       ‫ را‬super()                ‫اﺥ ا‬         Boxweight()                ‫در ای‬
    width ‫دی‬                          ‫از ای‬       ‫د‬        ‫ا‬                Box()             ‫ز‬            ‫ن‬              ‫اﺥ ا‬                 ‫آ ر‬
‫دی اوﻝ را‬                      ‫ ﺥ دش ای‬Boxweight                    ‫آ . دی‬                 ‫ار ده اوﻝ‬                ‫ و را‬depth‫،و‬height ،
‫ی‬         ‫ار ده اوﻝ‬                   ‫را‬weight ‫د ﺥ د‬                              ‫ار‬                   ‫ا‬       ‫آ‬          . ‫آ‬             ‫ار ده‬
                    . ‫زد‬        private ‫دی را‬                  ‫ی ای‬         ‫رت‬             ‫ارد در‬                   ‫ را زاد‬Box                     ‫. ای‬
      ‫ا‬               ‫ن‬         ‫ز‬         ‫ن‬           ‫د.ا‬               ‫اﺥ ا‬           ‫ن‬          ‫ر‬                super() ،              ‫ل‬        ‫در‬
     ‫اﺥ ا‬              ‫آ س‬                             ‫ی‬                ‫د از ه‬             ‫ را ا‬super() ‫ان‬                       ،                      ‫ا‬
‫ان‬          .                    ‫دا‬                            ‫ر‬        ‫آ‬        ‫ا‬          ‫د،ه‬                    ‫اي آ اﺝ ا‬          ‫ز‬       .‫د‬
‫ق‬         ‫اي‬          ‫ن را‬            ‫ز‬           ‫ وﺝ د دارد آ‬Boxweight‫از‬                             ‫زي آ‬          ‫د‬       ‫ی‬        ‫ل ، در ای‬
‫د از‬            ‫ا‬      super()                ‫ﻝ‬       ‫ی . در ه‬               ‫اه‬        box            ‫نی‬              ‫ﺥ‬              ‫نو‬
Box ‫ و داﺥ‬depth ‫ و‬width , height ‫آ‬                                           ‫آ‬         ‫د. د‬                    ‫اﺥ ا‬         ‫ی‬        ‫ي‬              ‫ر‬
                                                                                                      . ‫ا‬           ‫در‬               ‫رت اﺥ‬

// A complete implementation of BoxWeight.
class Box {
private double width;
private double heght;
private double deoth;
// construct clone of an object
Box(Box ob ){ // pass object to constructor
width = ob.width;
height = ob.height;
depth = ob.depth;
}
// constructor used when all dimensions specified
Box(double w, double h, double d ){
width = w;
height = h;
depth = d;
}
// constructor used when no dimensions specified
Box (){
width =- 1; // use- 1 to indicate
height =- 1; // an uninitialized
depth =- 1; // box
}
// constructor used when cube is created
Box(double len ){
width = height = depth = len;
}
// compute and return volume
double volume (){
return width * height * depth;
}
}
// BoxWeight now fully implements all construtors.
class BoxWeight extends Box {
double weight; // weight of box
// construct clone of an object
BoxWeight(BoxWeight ob ){ // pass object to consructor
super(ob);
weight = ob.weight;
}
// constructor used when all parameters are specified
Box(double w, double h, double d, double m ){
super(w, h, d); // call superclass constructor
weight = m;
}
// default constructor
BoxWeight (){
super();
weight =- 1;
}
// constructor used when cube is created
BoxWeight(double len, double m ){
super(len);
weight = m;
}
}
class DemoSuper {
public static void main(String args[] ){
BoxWeight mybox1 = new BoxWeight(10 .20 .15 .34.3);
BoxWeight mybox2 = new BoxWeight(2, 3, 4, 0.076);
BoxWeight mybox3 = new BoxWeight(); // default
BoxWeight mycube = new BoxWeight(3, 2);
BoxWeight myclone = new BoxWeight(mybox1);
double vol;
vol = mybox1.vilume();
System.out.println("Volume of mybox1 is " + vol);
System.out.println("Weight of mybox1 is " + mybox1.weight);
System.out.println();
vol = mybox2.vilume();
System.out.println("Volume of mybox2 is " + vol);
System.out.println("Weight of mybox2 is " + mybox2.weight);
System.out.println();
vol = mybox3.vilume();
System.out.println("Volume of mybox3 is " + vol);
System.out.println("Weight of mybox3 is " + mybox3.weight);
System.out.println();
vol = myclone.vilume();
System.out.println("Volume of myclone is " + vol);
System.out.println("Weight of myclone is " + myclone.weight);
System.out.println();
vol = mycube.vilume();
System.out.println("Volume of mycube is " + vol);
System.out.println("Weight of mycube is " + mycube.weight);
System.out.println();
}
}


                                          : ‫آ‬       ‫ﺥ وﺝ زی را ﻝ‬   ‫ای‬
Volume of mybox1 is 3000
Weight of mybox1 is 34.3


Volume of mybox2 is 24
Weight of mybox2 is 0.076


Volume of mybox3 is- 1
Weight of mybox3 is- 1


Volume of myclone is 3000
Weight of myclone is 34.3


Volume of mycube is 27
Weight of mycube is 2


                                         :           ‫ دا‬Boxweight() ‫در‬               ‫ز‬            ‫ای‬           ‫ي‬               ‫ﺝ‬
// construct clone of an object
BoxWeight(BoxWeight ob ){ // pass object to constructor
super(ob);
weight = ob.weight;
}


‫و‬          ‫ا‬         ‫اﺥ ا‬        Box ‫ع‬        ‫از‬     Boxweight ‫ز ع‬                            ‫ی‬        super() ‫آ‬       ‫ﺝ آ‬
‫آ س‬                    ‫،ی‬         ‫ذآ‬          ‫ری‬      ‫آ .ه‬             ‫اﺥ ا‬          ‫( را‬Box ob) Box                  ‫ز‬
، ‫ای‬            . ‫ار داد‬     ‫د‬      ‫رد ا‬      ‫از ن آ س‬                           ‫ه‬       ‫اي ارﺝ ع‬             ‫ان‬          ‫را‬
                      Box         ‫ر ده . اﻝ‬          Box     ‫ز‬         ‫را‬Boxweight                            ‫دی ی‬     ‫در‬
                                                                                         . ‫ه دارد‬             ‫ئ ﺥ دش‬               ‫ا‬
‫ را‬super() ‫ی زی آ س‬                        ‫ی .و‬       ‫ور‬     ‫ را‬super()          ‫ط‬                ‫ه آ ي‬               ‫اﺝ ز ده‬
     ‫ای‬         . ‫آ‬              ‫اﺥ ا‬      ‫ﺥ د را‬            ‫ي‬        ‫آ س‬        ‫ز‬                ‫آ ، در ا‬             ‫اﺥ ا‬
          ‫، ارﺝ ع‬            ‫اﺥ ا‬       ‫يآ س‬         ‫در‬          ‫ار‬                  ‫ي‬            ‫آ س‬         ‫ه ار‬super()
    ‫ ی ه ار‬super                    ‫.ه‬        ‫دق ا‬     ‫ه‬                     ‫ا‬                         ‫در ی‬          ‫آ . ای ا‬
                                         .‫د‬          ‫زی آ س اﺝ ا‬         ‫ز‬            ‫آ داﺥ ی‬                 ‫ري‬       ‫د‬       ‫اوﻝ‬


                                                                                                       super ‫آ ر د‬             ‫دو‬


‫ي‬              ‫آ س‬         ‫ ه ار‬super           ‫ای‬     ، ‫آ‬        ‫ آ ر‬this               ‫ودي‬              super                ‫دو‬
    ‫رت زی‬            ‫ای آ ر د‬                        . ‫آ‬         ‫د ، ارﺝ ع‬                ‫د‬            ‫آ در ن ا‬           ‫زی آ‬
                                                                                                                          :        ‫ا‬
Super .member

super            ‫. ای دو‬                  ‫روش ی ی‬      ‫ی‬        ‫ا‬         member ،        ‫در ای‬
‫را در‬    ‫ه نا‬           ‫ئ ی زی آ س ، ا‬      ‫ا‬        ‫آ ر د دارد آ در ن ا‬            ‫ای‬    ‫اي‬
                 : ‫ی‬        ‫د آ س را در‬         ‫ا‬           ‫ز . ای‬                        ‫آ س‬

// Using super to overcome name hiding.
class A {
int i;
}
// Create a subclass by extending class A.
class B extends A {
int i; // this i hides the in A
B(int a, int b ){
super.i = a; // i in A
i = b; // i in B
}
void show )({
System.out.println("i in superclass :" + super.i);
System.out.println("i in subclass :" + i);
}
}
class UseSuper {
public static void main(String args[] ){
B subOb = new B(1, 2);
subOb.show)(;
}
}


                                                : ‫ده‬        ‫ی‬        ‫ﺥ وﺝ زی را‬                ‫ای‬
i in superclass :1
i in subclass :2


i           ‫ند‬   ‫ ا‬super ‫زد ، ا‬    ‫ن‬      ‫ ر را‬A ‫ در‬i               ‫ ر‬B‫ در‬i                     ‫ا‬
super‫ان از‬             ‫ﺥ اه دی ه‬   ‫ری‬      ‫ورد . ه‬         ‫ﺝ د‬            ‫در آ س‬          ‫ی‬
                            . ‫ا‬          ‫ی زی آ س‬                   ‫ی آ‬       ‫رو‬   ‫اﺥ ا‬   ‫اي‬
(Multilevel)              ‫اﺕ چ‬                  ‫ای د ی‬


      ‫ﺝ ا‬         ‫.آ‬                 ‫ﻝ ا‬            ‫ی وراﺙ‬    ‫ی‬           ‫زی آ‬           ‫ا‬              ‫ا‬
    ‫آ س‬       ‫لا‬       ‫ان‬        .       ‫د آ‬        ‫ا‬   ‫ي ی آ س دی‬       ‫ان آ س‬          ‫آ از ی زی آ س‬
     ‫.و‬       A ‫ و ی زی آ س از‬B‫ا ی زی آ س از‬                               C                      ‫ دا‬C‫ و‬B ،A
‫ه يﺥ د‬        ‫آ س‬           ‫ﺝ د در آ‬           ‫ي‬        ‫ﺥ‬    ‫، ه زی آ س آ‬         ‫ا‬       ‫ا ق‬      ‫ای‬
                  .‫د‬          ‫ و را رث‬A‫ و‬B‫ه ي‬                  ‫ﺝ‬     ‫ آ‬C ، ‫ای‬         ‫د . در ای‬         ‫را رث‬
          ‫زی آ س‬             ‫د‬       ‫ا‬         ‫ان ی آ س‬            Boxweight ‫ي ، زی آ س‬                     ‫در‬
‫ارث‬        ‫ را‬Box ‫ و‬Boxweight ‫ي‬                         ‫ﺥ‬    ‫ آ‬shipment . ‫ی‬      ‫ را ای د‬shipment ‫ان‬
    . ‫آ‬     ‫اري‬        ‫ﻝ را‬               ‫ی‬     ‫ا‬       ‫آ ه ی آ‬            ‫نا‬         cost ‫م‬            ‫د وی‬

// Extend BoxWeight to include shipping costs.
// Start with Box.
class Box {
private double width;
private double height;
private double depth;
// construct clone of an object
Box(Box ob ){ // pass object to constructor
width = ob.width;
height = ob.height;
depth = ob.depth;
}
// constructor used when all dimensions specified
Box(double w, double h, double d ){
width = w;
height = h;
depth = d;
}
// constructor used when no dimensions specified
Box )({
width =- 1; // use- 1 to indicate
height =- 1; // an uninitialized
depth =- 1; // box
}
// constructor used when cube is created
Box(double len ){
width = height = depth = len;
}
// compute and return volume
double volume(){
return width * height * depth;
}
}
// Add weight.
class BoxWeight extends Box {
double weight; // weight of box
// construct clone of an object
BoxWeight(BoxWeight ob ){ // pass object to constructor
super(ob);
weight = ob.weight;
}
// constructor used when all parameters are specified
BoxWeight(double w, double h, double d, double m ){
super(w, h, d); // call superclass constructor
weight = m;
}
// default constructor
BoxWeight (){
super)(;
weight =- 1;
}
// constructor used when cube is created
BoxWeight(double len, double m ){
super(len);
weight = m;
}
}
// Add shipping costs
class Shipment extends BoxWeight {
double cost;
// construct clone of an object
Shipment(Shipment ob ){ // pass object to constructor
super(ob);
cost = ob.cost;
}
// constructor used when all parameters are specified
BoxWeight(double w, double h, double d, double m, double c ){
super(w, h, d); // call superclass constructor
cost = c;
}
// default constructor
Shipment (){
super();
cost =- 1;
}
// constructor used when cube is created
BoxWeight(double len, double m, double c ){
super(len, m);
cost = c;
}
}
class DemoShipment {
public static void main(String args[] ){
Shipment shipment1 = new Shipment(10, 20, 15, 10, 3.41);
Shipment shipment2 = new Shipment(2, 3, 4, 0.76, 1.28);
double vol;
vol = shipment1.volume();
System.out.println("Volume of shipment1 is " + vol);
System.out.println("Weight of shipment1 is " + shipment1.weight);
System.out.println("Shipping cost :$" + shipment1.cost);
System.out.println();
vol = shipment2.volume();
System.out.println("Volume of shipment2 is " + vol);
System.out.println("Weight of shipment2 is " + shipment2.weight);
System.out.println("Shipping cost :$" + shipment2.cost);
}
}
‫:‬                            ‫رت زی‬                                   ‫ﺥ وﺝ ای‬
‫0003 ‪Volume of shipment1 is‬‬
‫01 ‪Weight of shipment1 is‬‬
‫14.3$: ‪Shipping cost‬‬


‫42 ‪Volume of shipment2 is‬‬
‫67.0 ‪Weight of shipment2 is‬‬
‫82.1$: ‪Shipping cost‬‬


    ‫د‬           ‫‪ Box‬و ‪ Boxweight‬ا‬                                     ‫ی‬            ‫ي‬                    ‫ا از آ‬                        ‫وراﺙ ، ‪shipment‬‬                             ‫ﻝ‬
                  ‫ی . ای‬              ‫اي آ ر د ﺥ ص ﺥ دش ز دارد ، ا‬                                                           ‫آ‬             ‫تا‬                    ‫ا‬          ‫ی و‬
‫.‬               ‫ﺝ د ورد ا‬                     ‫را‬        ‫د از آ ه ي‬                          ‫د‬             ‫نا‬             ‫. وراﺙ ا‬                ‫از ارزش وراﺙ ا‬
        ‫ی‬        ‫ﺝ د در دی‬                ‫ز‬            ‫ده ، )(‪ super‬ه ار‬                                         ‫ن‬           ‫را‬        ‫دی‬                             ‫لی‬              ‫ای‬
    ‫.‬               ‫اﺥ ا‬     ‫‪ Boxweight‬را‬                     ‫ز‬           ‫آ . )(‪ super‬در ‪shipment‬‬                                                    ‫ارﺝ ع‬                  ‫آ س‬
            ‫ا‬                ‫.در ی‬                     ‫اﺥ ا‬       ‫ﺝ د در ‪ Box‬را‬                                          ‫ز‬            ‫)(‪super‬در ‪Boxweight‬‬
‫ه‬               ‫ی ن را‬               ‫زی آ‬          ‫آ‬          ‫،‬            ‫ه‬               ‫را‬               ‫ز‬                 ‫آ س‬            ‫ز‬               ‫ی‬         ‫آ س،ا‬
‫ز‬           ‫ه ي ﺥ دش را‬               ‫ی زی آ س را‬                                          ‫را . ای ا‬                             ‫ي ﺥ )‪(up the line‬‬                                ‫را‬
                                                                  ‫.‬            ‫ﺥ اه دا‬                                   ‫،‬                 ‫ز ا‬                                        ‫دا‬
    ‫‪ Boxweight ، Box‬و ‪shipment‬‬                                             ‫آ س،‬                             ‫ا‬                          ‫،آ‬                ‫ل‬            ‫: در‬
    ‫. ا در ﺝ وا ، ه‬                   ‫ا‬                 ‫اي را‬                          ‫ﻝ‬                ‫. ای‬                      ‫ن داد‬              ‫ی‬               ‫در ی‬             ‫ه‬
‫،‬                 ‫. در‬           ‫ی‬        ‫آ‬        ‫وﺝ ا‬                   ‫ار‬       ‫آ س ی در ی ي ﺥ ص ﺥ د ن‬                                                                   ‫ی از‬
                         ‫.‬            ‫آ‬        ‫ا‬              ‫در ای د‬                           ‫ی ا‬                  ‫و‬            ‫ی‬         ‫د از ی ي ﺝ ا‬                               ‫ا‬

                                                                                                                     ‫‪ Constructor‬ه‬                           ‫ز ن ا ا‬


                        ‫را‬   ‫ا‬                     ‫آ‬          ‫نآ‬               ‫ز‬           ‫د،‬                        ‫آ س ای د‬                ‫ا‬                              ‫ی‬         ‫و‬
‫م‪B‬وی آ س‬                                  ‫ل ، ی زی آ س‬                             ‫ان‬                   ‫?‬                             ‫اﺥ ا‬                                        ‫ده‬
    ‫آ‬            ‫ای ا‬        ‫?‬            ‫د، ی ﻝ‬                  ‫اﺥ ا‬             ‫‪B‬‬                ‫ز‬           ‫از‬           ‫‪A‬‬         ‫ز‬     ‫م‪ ،A‬ی‬
    ‫زی آ س‬                       ‫ن از آ س‬                                                           ‫ن‬            ‫ز‬           ‫آ س،‬                ‫ا‬                              ‫در ی‬
‫زی آ س‬        ‫ز‬    ‫آ در ی‬    ‫ري‬    ‫د‬       ‫ ی اوﻝ‬super() ‫ن‬               ‫و‬       .               ‫اﺥ ا‬
    ‫د.ا‬       ‫دی‬   ‫د‬   ‫ ا‬super() ‫د ، ﺥ ا‬                 ‫ر‬           ‫ه‬               ‫د ، ای‬        ‫اﺝ ا‬
     ‫ه ی از زی آ‬        ‫ون را‬     ‫ز‬        ‫ضی‬                ‫ز‬               ‫د‬           ‫د‬    ‫ا‬super()
          :         ‫ن اﺝ ا‬   ‫ز‬         ‫ز‬      ‫ده آ‬       ‫ن‬       ‫ي‬                   .        ‫اﺝ ا ﺥ اه‬

// Demonstrate when constructors are called.
// Create a super class.
class A {
A (){
System.out.println("Inside A's constructor.")
}
}
// Create a subclass by extending class A.
class B extends A {
B (){
System.out.println("Inside B's constructor.")
}
}
// Create another subclass by extending B.
class C extends B {
C (){
System.out.println("Inside C's constructor.")
}
}
class CallingCons {
public static void main(String args[] ){
C c = new C();
}
}


                                                     :           ‫ح زی‬                         ‫ﺥ وﺝ ای‬
Inside A's constructor
Inside B's constructor
Inside C's constructor
‫در ر ن‬           ‫.ا‬                ‫اﺥ ا‬        ‫ن‬                     ‫ن‬       ‫ز‬       ‫آ ،‬            ‫ه‬           ‫ری‬         ‫ه‬
      ‫نی آ س‬             ‫.‬             ‫ن اﺝ ا‬                                ‫ز‬        ‫ا‬      ‫آ‬              ‫،‬        ‫آ‬
‫ز‬      ‫ن‬       ‫اي اﺝ ا‬       ‫آ‬       ‫ار ده اوﻝ‬                ‫ارد ، ه‬            ‫ه‬     ‫يﺥ د‬              ‫زی آ‬
‫زی آ س د‬                         ‫م‬     ‫ار ده اوﻝ ا‬                  ‫زه‬                          ‫، ﺝ ا از و ا‬               ‫دا‬
                                                                    ‫د.‬       ‫م‬       ‫ای ، ی اول ای آ ر ا‬                   ‫و‬


                                                                                            ‫ه‬       ‫‪ Override‬آ دن‬


‫ﺝ د‬        ‫ع ی روش‬           ‫ی روش در ی زی آ س ه ن م و‬                               ‫آ س،و‬           ‫ا‬                   ‫در ی‬
‫ﺝ د در‬         ‫ن روش در زی آ س ، روش‬                    ‫ی‬                ‫،‬                ‫ي ﺥ د را دا‬           ‫در آ س‬
     ‫از داﺥ ی‬            ‫ی روش ﻝ‬           ‫ی .و‬         ‫ي‬          ‫وي ن ﺝ‬             ‫د ی از‬             ‫را ﻝ‬        ‫آ س‬
‫،‬          ‫ی‬     ‫زی آ س‬                   ‫از ن روش آ‬        ‫روای‬     ‫د ، ه ار‬                       ‫اﺥ ا‬        ‫زی آ س‬
‫رد‬     ‫.‬        ‫ن ﺥ اه‬       ‫د ،‬           ‫ی‬       ‫از ه ن روش‬        ‫آ آ س‬                ‫د و روای‬         ‫ارﺝ ع ﺥ اه‬
                                                                                            ‫ی :‬                 ‫زی را در‬

‫.‪// Method overriding‬‬
‫{ ‪class A‬‬
‫;‪int i, j‬‬
‫{) ‪A(int a, int b‬‬
‫;‪i = a‬‬
‫;‪j = b‬‬
‫}‬
‫‪// display i and j‬‬
‫{)( ‪void show‬‬
‫;)‪System.out.println("i and j :" + i + " " + j‬‬
‫}‬
‫}‬
‫{ ‪class B extends A‬‬
‫;‪int k‬‬
‫{) ‪B(int a, int b, int c‬‬
‫;)‪super(a, b‬‬
‫;‪k = c‬‬
}
// display k -- this overrides show )(in A
void show (){
System.out.println("k :" + k);
}
}
class Override {
public static void main(String args[] ){
B subOb = new B(1, 2, 3);
subOb.show(); // this calls show )(in B
}
}


                                          :          ‫ار زی‬                 ‫ای‬                   ‫ﻝ‬
K : 3

B ‫ آ داﺥ‬show ‫از‬          ‫د ، روای‬             ‫اﺥ ا‬   B‫ع‬            ‫ئ از‬          ‫ روي ی‬show()             ‫و‬
       ‫ن‬   ‫ ، روای ا‬B ‫ داﺥ‬show() ‫آ ، روای‬                ‫د. ی‬         ‫ار‬    ‫د‬          ‫رد ا‬           ‫ی‬
                                                                                 . ‫آ‬            ‫ را ﻝ‬A ‫در‬
    ‫، ای آ ر را‬          ‫دا‬         ‫د‬         ‫ﻝ‬          ‫يی‬         ‫آ س‬         ‫روای‬          ‫ﺥ اه‬        ‫ا‬
show() ‫ي‬          ‫آ س‬   ‫ روای‬B ‫از‬       ‫ل ، در ای روای‬        ‫ان‬      . ‫م ده‬           ‫ ا‬super ‫د از‬       ‫ا‬
    ‫اﺝ ز‬     ‫هي‬          ‫آ‬      ‫. ای ا‬        ‫ﺥ اه‬    ‫اﺥ ا‬         ‫زی آ س‬          ‫ط‬            ‫داﺥ روای‬
                                                                           . ‫در ی‬         ‫ی‬          ‫ده‬

class B extends A {
int k;
B(int a, int b, int c ){
super(a, b);
k = c;
}
void show (){
super.show(); // this calls A's show)(
System.out.println("k :" + k);
}
}
:    ‫آ‬        ‫ه‬     ‫ی ، ﺥ وﺝ زی را‬          ‫ی‬   ‫ﺝی‬          ‫ را در‬A ‫ای روای از‬     ‫ا‬

i and j :1 2
k:3


      ‫روش‬       ‫آ .ﻝ‬         ‫اﺥ ا‬        ‫ را‬show() ‫ي‬   ‫آ س‬     ‫ روای‬super.show()،     ‫در ای‬
‫دو روش‬           ،                  ‫.ا‬       ‫ن‬    ‫ع دو روش ی‬   ‫و‬    ‫آ ا‬     ‫ا‬   ‫ا ق‬      ‫ز‬
      ‫ل‬          ‫ح‬       ‫ل ، ای روای ا‬       ‫ان‬    .    ‫( ﺥ اه‬overioaded)       ‫د ا‬      ‫ﺥ‬
                                                                          :‫ی‬          ‫را در‬

// Methods with differing type signatures are overloaded -- not
// overridden.
class A {
int I, j;
A(int a, int b ){
i = a;
j = b;
}
// display i and j
void show (){
System.out.println("i and j :" + i + " " + j);
}
}
// Create a subclass by extending class A.
class B extends A {
int k;
B(int a, int b, int c ){
super(a, b);
k = c;
}
// overload show)(
void show(String msg ){
System.out.println(msg + k);
}
}
class Override {
public static void main(String args[] ){
‫;)3 ,2 ,1(‪B subOb = new B‬‬
‫‪subOb.show("This is k :"); // this calls show )(in B‬‬
‫‪subOb.show(); // this calls show )(in A‬‬
‫}‬
‫}‬


                                                                        ‫:‬                   ‫ار زی‬                         ‫ای‬                     ‫ﻝ‬
‫3:‪This is k‬‬
‫2 1: ‪i and j‬‬


‫ع ن‬               ‫ن ی ی‬          ‫وت‬                                 ‫د. ای‬              ‫اي‬          ‫ر‬      ‫را‬              ‫روای )(‪ show‬در‪ B‬ر ی‬
     ‫نا‬                     ‫)ی‬                    ‫ای‬           ‫د.‬                    ‫ي را‬      ‫را‬        ‫،آ ه‬                      ‫ﺝ د در ‪A‬‬              ‫از ع‬
                                                                                                                                         ‫ا .‬             ‫(ا ق‬

                                                                                                         ‫ه‬            ‫ﺕ زی )‪ (dispatch‬پ ی ي‬


     ‫ی‬            ‫در‬          ‫ای‬          ‫،‬        ‫ي م وﺝ د ا‬                          ‫ارداد‬           ‫ا از ی‬             ‫ي‬                ‫رو‬         ‫در ﻝ‬        ‫ا‬
                 ‫روش‬        ‫.ﻝ‬                         ‫د. ا ای‬                       ‫ارزش‬           ‫وي و‬              ‫آ‬                          ‫ﻝ ، ار‬
                       ‫. ای ی‬           ‫ی ي روش " ا‬                  ‫" زی‬              ‫رت در ﺝ وا ی‬                       ‫ه‬         ‫از‬         ‫ا سی‬              ‫ده‬
         ‫ی ، از‬             ‫ضز نآ‬                 ‫اﺝ ا ، در‬                      ‫در‬            ‫ﻝ‬                  ‫اﺥ ا‬                ‫نی‬                 ‫آ‬        ‫ا‬
         ‫را در‬                     ‫ن‬      ‫آ ﺝ وا‬                ‫ا‬        ‫ی‬       ‫ن‬             ‫ا‬        ‫ی ي روش‬                    ‫د. زی‬
                                                                                                             ‫ی.‬                    ‫زي‬          ‫اﺝ ا د‬
         ‫ا‬               ‫ارﺝ ع آ س‬                                  ‫:ی‬                ‫وع‬                          ‫ا‬            ‫ار ی‬             ‫را‬
    ‫ي‬            ‫رو‬         ‫اﺥ ا‬        ‫د آ د و‬            ‫ا‬                 ‫ی . ﺝ وا از ای وا‬               ‫ئ زی آ س ارﺝ ع‬                                  ‫ی‬
         ‫ی ی ارﺝ ع آ س‬                            ‫از‬                 ‫ی روش ﻝ‬                 ‫د.و‬                           ‫اﺝ ا از‬               ‫را‬               ‫ﻝ‬
‫،‬            ‫ا‬        ‫ا ق‬        ‫اﺥ ا‬         ‫آ‬         ‫در ز‬                 ‫ئ ارﺝ ع‬               ‫ا س ع‬                  ‫د، ﺝ وا‬                        ‫اﺥ ا‬
                                                                            ‫د.‬        ‫آ آ آ ام روای از روش ی اﺝ ا‬
‫ا اع‬                    ‫د.و‬                   ‫م‬    ‫اﺝ ا ا‬                    ‫روش ،‬           ‫ﺥ ص از ی‬              ‫روای‬                          ‫ای ،‬
‫.‬                ‫ﺥ اه‬       ‫اﺥ ا‬                       ‫روش ﻝ‬             ‫از ی‬                ‫، روای ي‬                              ‫رﺝ ع‬              ‫ا‬
    ‫آ آ ام‬                          ‫ارﺝ ع ) آ‬                       ‫ع‬            ‫(‬      ‫ا‬          ‫ئ ارﺝ ع‬                     ‫ع‬        ‫، ای‬     ‫رت دی‬
‫ی روش ﻝ‬           ‫در‬      ‫ی آ س‬        ‫ای ا‬       .‫د‬   ‫ی اﺝ ا‬         ‫روای از روش ﻝ‬
‫ارﺝ ع آ س‬           ‫ی ی‬        ‫ئ از‬   ‫ا‬         ‫آ ا اع‬         ‫ز‬    ،        ‫ی زی آ س‬
    .     ‫ن روش اﺝ ا ﺥ اه‬                       ‫ي‬      ‫روای‬             ‫ار‬    ‫رد ارﺝ ع‬
                  : ‫ه‬     ‫ن‬               ‫ی ي روش را‬      ‫زی‬   ‫آ‬         ‫ه‬    ‫ﻝ را‬       ‫در ای‬

// Dynamic Method Dispatch
class A {
void callme (){
System.out.println("Inside A's callme method");
}
}
class B extends A {
// override callme)(
void callme (){
System.out.println("Inside B's callme method");
}
}
class C extends A {
// override callme)(
void callme (){
System.out.println("Inside C's callme method");
}
}
class Dispatch {
public static void main(String args[] ){
A a = new A(); // object of type A
B b = new B(); // object of type B
C c = new C(); // object of type C
A r; // obtain a reference of type A
r = a; // r refers to an A object
r.callme(); // calls A's version of callme
r = b; // r refers to a B object
r.callme(); // calls B's version of callme
r = c; // r refers to a C object
r.callme(); // calls C's version of callme
‫}‬
‫}‬


                                                                                            ‫:‬                     ‫ار زی‬                         ‫ﺥ وﺝ ای‬
‫‪Inside A's callme method‬‬
‫‪Inside B's callme method‬‬
‫‪Inside C's callme method‬‬


‫آ .‬            ‫م ‪ B‬و‪ C‬و را ای د‬                               ‫م ‪ A‬و دو زی آ س ن‬                                    ‫ي‬         ‫ی آ س‬                         ‫ای‬
‫د . درون روش )(‪main‬‬                                   ‫در ‪A‬‬                 ‫ن‬       ‫)(‪ callme‬ا‬                 ‫ﻝ‬         ‫ي ‪ B‬و‪ C‬و‬                    ‫زی آ‬
‫.‬          ‫ا‬            ‫ن‬    ‫ی ارﺝ ع از ع ‪ A‬م ‪ r‬ا‬                                   ‫ا .ه‬                  ‫ن‬        ‫از ع ‪ B، A‬و‪ C‬ا‬                           ‫ا‬
     ‫داد و از ن ارﺝ ع اي اﺥ ا‬                                        ‫‪ r‬را‬               ‫ه ی از ا اع ا‬                   ‫ی ارﺝ ع‬
‫از )(‪callme‬‬                  ‫ده ، روای‬            ‫ن‬                         ‫ای‬                   ‫ری‬           ‫آ .ه‬                 ‫د‬       ‫)(‪callme‬ا‬
                    ‫،‬             ‫ار‬       ‫رد ارﺝ ع‬                  ‫اﺥ ا‬         ‫آ در ز ن‬                        ‫ع‬                ‫د‬       ‫ی اﺝ ا‬           ‫آ‬
‫روش‬                 ‫اﺥ ا‬                                         ‫م‬    ‫‪r‬ا‬          ‫ارﺝ ع ی‬                 ‫ع‬                                ‫ای‬       ‫د.ا‬
                                                                                         ‫ی .‬                  ‫اﺝ‬       ‫‪A‬‬       ‫ط‬            ‫)(‪callme‬‬
    ‫در ﺝ وا‬                   ‫ي ﻝ‬           ‫ده آ رو‬                                              ‫ه‬                ‫++‪C‬‬              ‫آ‬            ‫: آ‬
                                                          ‫.‬          ‫زي )‪ (virtual functions‬در ++‪ C‬ه‬                                            ‫ا‬


                                                                                                                        ‫ﺵ ؟‬                ‫هي‬             ‫چ ا‬


      ‫ده .‬              ‫اﺝ ا را‬                               ‫از‬                  ‫ﺝ وا اﺝ ز‬                        ‫يﻝ‬          ‫آ رو‬                   ‫ه‬
    ‫اﺝ ز‬                    ‫ی آ س‬            ‫ﻝ‬            ‫: ای‬        ‫ا زم ا‬            ‫ئ‬             ‫ی‬                   ‫اي‬           ‫ی دﻝ‬
    ‫زی‬         ‫،و‬            ‫ك‬              ‫ت نآ س‬                               ‫اي آ‬           ‫ی آ‬                       ‫ی را‬          ‫رو‬          ‫ده‬
‫ي‬          ‫ی . رو‬             ‫ی‬        ‫را‬        ‫رو‬           ‫ﺥ ی آ‬                         ‫زی ي‬              ‫د‬           ‫ده‬           ‫آ س ه اﺝ ز‬
           ‫از وﺝ‬             ‫ان ی‬           ‫ی روش " را‬                 ‫و‬          ‫" ی را‬                  ‫اي ﺝ وا ا‬            ‫ي‬       ‫را دی‬                ‫ﻝ‬
                                                                                                                       ‫ی .‬         ‫زي‬           ‫د‬
         ‫ه و زی آ‬                 ‫آ آ س‬               ‫ا‬              ‫، درك ای‬                                              ‫آر د‬             ‫از آ‬
‫آ س‬             ‫آ .ا‬                   ‫آ‬          ‫ر‬                        ‫تآ‬                    ‫ه آ از‬                                ‫ا‬                    ‫ی‬
‫ی ،‬              ‫د‬        ‫ا‬                ‫ر‬                    ‫ا‬           ‫آ ی زی آ س‬                      ‫اﺝ ا‬      ‫د، آ‬              ‫د‬          ‫ا‬         ‫ر‬
    ‫ده ، آ‬                    ‫ي ﺥ دش را‬                         ‫رو‬      ‫ی‬        ‫ف‬          ‫ا‬              ‫زی آ س‬                  ‫آ . ای ا‬                      ‫ی‬
                 ‫يﻝ‬           ‫رو‬           ‫وراﺙ‬             ‫آ‬                   ‫ای ،‬            ‫ورد .‬          ‫را ﺝ د‬                           ‫ن ی را‬               ‫ه‬
    ‫د‬        ‫ا‬                 ‫ي‬               ‫زی آ‬                 ‫آ‬            ‫ی را آ‬               ‫رو‬                       ‫ا‬                        ‫،ی آ س‬
                                                                                                                      ‫ی.‬               ‫ی‬           ‫را‬            ‫ﺥ اه‬
‫ای را‬                                  ‫ا‬       ‫آ‬                ‫ی ا‬                     ‫ی‬             ‫از ر‬          ‫اﺝ ا ی‬                 ‫ی و‬
‫هي‬                    ‫رت آ‬                     ‫ده‬           ‫. ای ا ار ا ای‬                      ‫د ا‬        ‫يآه‬             ‫دو‬                  ‫د‬        ‫ا‬
        ‫ی‬    ‫آ‬        ‫ز‬        ‫ون‬              ‫يﺝی‬                      ‫ه يآ‬                ‫ي روي‬              ‫رو‬     ‫اﺥ ا‬             ‫اي‬          ‫ﺝ د‬          ‫آ هي‬
                                                       ‫.‬        ‫آ‬                      ‫د و زی را‬                    ‫ی را‬           ‫ﻝ‬       ‫در‬                    ‫د‬


                                                                                                                                       ‫روش‬              ‫ر دن‬


        ‫يی‬                         ‫.‬       ‫آ‬               ‫آ ،‬              ‫د‬     ‫روش ا‬               ‫آ از ﻝ‬               ‫ل‬               ‫ی‬                ‫اﺝ ز ده‬
    ‫آ . ای‬                     ‫ي را ذﺥ‬                     ‫دو‬                   ‫آ آ ا دا‬                   ‫م ‪ Figure‬را ای د‬                                      ‫آ س‬
‫آ .‬                            ‫را‬                  ‫ی‬                    ‫آ آ‬                 ‫ی‬         ‫م ‪ ()area‬را‬          ‫ی روش‬                            ‫ه‬
‫ن ‪Triangle‬‬                         ‫ن ‪ Rectangle‬و دو‬                             ‫آ . اوﻝ‬                        ‫، دو زی آ س از ‪Figure‬‬
‫و‬                     ‫ی‬                                         ‫آ‬                ‫ري ﻝ‬            ‫)(‪ area‬را‬            ‫. ه ی از ای زی آ‬                               ‫ا‬
                                                                                                                               ‫دان آ .‬                      ‫را‬

‫.‪// Using run-time polymorphism‬‬
‫{ ‪class Figure‬‬
‫;1‪double dim‬‬
‫;2‪double dim‬‬
‫{) ‪Figure(double a, double b‬‬
‫;‪dim1 = a‬‬
‫;‪dim2 = b‬‬
‫}‬
‫{)( ‪double area‬‬
‫;)".‪System.out.println("Area for Figure is undefined‬‬
‫;0 ‪return‬‬
‫}‬
}
class Rectangle extends Figure {
Rectangle(double a, double b ){
super(a, b);
}
// override area for rectangle
double area (){
System.out.println("Inside Area for Rectangle.");
return dim1 * dim2;
}
}
class Triangle extends Figure {
Triangle(double a, double b ){
super(a, b);
}
// override area for right triangle
double area (){
System.out.println("Inside Area for Triangle.");
return dim1 * dim2 / 2;
}
}
class FindAreas {
public static void main(String args[] ){
Figure f = new Figure(10, 10);
Rectangle r = new Rectangle(9, 5);
Triangle t = new Triangle(10, 8);
Figure figref;
figref = r;
System.out.println("Area is " + figref.area))(;
figref = t;
System.out.println("Area is " + figref.area))(;
figref = f;
System.out.println("Area is " + figref.area))(;
}
}


                                             :      ‫ار زی ا‬   ‫ای‬
‫.‪Inside Area for Rectangle‬‬
‫54 ‪Area is‬‬
‫.‪Inside Area for Triangle‬‬
‫04 ‪Area is‬‬
‫.‪Area for Figure is undefined‬‬
‫0 ‪Area is‬‬




‫اي‬              ‫آ‬             ‫ی را‬           ‫ی‬         ‫ن‬        ‫اﺝ ا ، ا‬                                      ‫وراﺙ و‬                       ‫دو‬                     ‫ی‬           ‫از‬
‫از‬              ‫ﻝ ،ا‬        ‫د ، وﺝ د دارد . در ای‬                                   ‫د‬        ‫،ا‬                        ‫،ا‬                       ‫ئ‬        ‫عا‬               ‫ی‬
                ‫ئ را‬          ‫ن‬                  ‫ان‬                 ‫)(‪area‬‬                  ‫اﺥ ا‬                  ‫د،‬                        ‫ئ‬              ‫‪Figure‬ی‬
‫ن‬           ‫ی‬          ‫د ،ه‬           ‫رد ا‬                  ‫ه‬               ‫از ع‬                              ‫ت‬                ‫ای‬          ‫ط‬               ‫ورد . را‬
                                                                                                                                                                      ‫.‬        ‫ا‬

                                                                                                       ‫د )‪(abstract‬‬                        ‫ي‬             ‫د از آ‬                ‫ا‬


‫را ون‬                      ‫ﺥ ر ی ا اع‬                  ‫ی آ‬                  ‫ی‬                  ‫اه ی آ س‬                                ‫وﺝ د دارد آ‬                    ‫ای‬
     ‫ای د آ‬                ‫ﺥ اه ی آ س‬                           ‫ه‬               ‫ی .ی‬           ‫ن‬         ‫،ا‬       ‫از ه رو‬                        ‫زي آ‬             ‫د‬            ‫ی‬
 ‫ﺥ اه‬                 ‫اك ا‬               ‫ی‬            ‫زی آ‬              ‫آ‬                    ‫آ آ‬         ‫ی‬        ‫را‬                                          ‫ی‬                ‫آ‬
                 ‫د.ی‬           ‫ه ی از زی آ س ه وا ار‬                                                                           ‫ت ای‬             ‫آ دن ﺝ‬                ‫و‬
‫اي‬                     ‫آ .ی‬              ‫ی‬           ‫ی را‬            ‫زي‬                 ‫د‬      ‫ی‬              ‫ی آ زی آ‬                          ‫رو‬                             ‫آ‬
     ‫اي ی‬                      ‫زي‬            ‫د‬             ‫ا ی ای د ی‬                              ‫آ ی آ س‬                     ‫ا‬            ‫ای ز‬                  ‫و ع ای‬
     ‫. ای‬           ‫ن)‪ (place holder‬ا‬                        ‫ار‬                     ‫د ی‬                ‫‪ ()area‬ﺥ‬            ‫ی‬           ‫.‬                 ‫روش را ا‬
‫هيﺥص‬                          ‫م ای د آ‬           ‫ده . ه‬                         ‫ی‬           ‫د و‬                    ‫ئ را‬                    ‫ا اع‬                       ‫روش‬
             ‫در‬                   ‫ی‬          ‫روش ه‬                  ‫ی‬       ‫ا‬                      ‫ل‬                   ‫آ س ﺥ د ، ﺥ اه دی آ‬
     ‫ی .ی‬              ‫ادار‬       ‫ا‬              ‫ی‬         ‫ای را و‬                          ‫. ای‬              ‫يﺥ د ا‬                        ‫)‪ (context‬آ س‬
    ‫ای‬              ‫ای روش در ﺥ‬                      ‫ی .ا‬               ‫ارش‬                 ‫م ه ار)‪(warning‬‬                                ‫آ ی‬           ‫ی ای ا‬
         ‫ا‬             ‫.‬                 ‫روش دا‬                 ‫،ا‬              ‫ا‬                  ‫)‪(debugging‬‬                     ‫ل زدای‬            ‫ا‬                ‫ﺥص‬
‫د.‬              ‫دار‬        ‫ن زی آ س‬                   ‫ای‬                            ‫زی آ س ﻝ‬                           ‫ی‬           ‫آ‬                     ‫ی دا‬                 ‫رو‬
‫ارد . در‬                ‫ی‬              ‫د، ای آ س ه‬                ‫ی‬        ‫‪()area‬‬          ‫ی .ا‬                       ‫آ س ‪ Triangle‬را در‬
‫ي‬           ‫رو‬              ‫آ‬            ‫ی آ ی زی آ س در‬                                                   ‫ل راه ه‬                      ‫ﻝ ،‬                  ‫ای‬
‫.‬           ‫د ‪ abstract method‬ا‬                            ‫روش‬                  ‫اي ای‬       ‫ﺝ وا‬               ‫آ . را‬               ‫وري را ﻝ‬
             ‫ي‬              ‫ع ‪ ، abstract‬رو‬                  ‫حآ‬            ‫دن ا‬                            ‫و‬          ‫زی آ‬                       ‫ا‬
        ‫ه‬         ‫د ، زی ا‬                ‫ق‬        ‫ه ‪ subclasser responsibilty‬ا‬                                      ‫ای رو‬         ‫ی .‬                   ‫را ﻝ‬
    ‫ی‬            ‫را ﻝ‬              ‫زی آ س ی‬                ‫ای ی‬            ‫ار .‬             ‫اي در آ س‬                                   ‫زي‬               ‫د‬
‫ن ی روش‬                         ‫اي ا‬     ‫ی .‬       ‫د‬       ‫را ا‬           ‫در آ س‬               ‫ی‬               ‫روای‬        ‫د‬        ‫ا‬                    ‫ن‬
                                                                                     ‫ی .‬       ‫د‬           ‫زی ا‬                             ‫د ، از‬

‫;)‪abstract type name( parameter-list‬‬

                  ‫آ در‬                  ‫.ه آ‬           ‫ا‬                    ‫روش‬                    ‫در ای‬         ‫آ‬             ‫ه‬            ‫ری‬               ‫ه‬
‫د‬           ‫ان‬              ‫نی آ س‬              ‫اي ا‬       ‫دد .‬       ‫ن‬     ‫دا‬          ‫ان‬             ‫، ی‬             ‫د‬           ‫روش‬                   ‫ی ی‬
    ‫د‬       ‫نآ سا‬                      ‫از واژ آ ي ‪ abstract‬در ﺝ ي واژ آ ي ‪ class‬در ا اي ا‬                                                            ‫د‬       ‫،‬
    ‫د ی‬             ‫ی آ س‬                      ‫د.ی‬         ‫ان ای د‬                             ‫ده‬               ‫اي ی آ س‬                ‫ی .‬
‫، زی ا ی آ س‬                            ‫د ه‬        ‫ون ا‬               ‫نا‬        ‫د.‬      ‫زي‬                     ‫‪new‬‬                                   ‫ر‬
‫ي‬           ‫ي ای‬            ‫د ی رو‬             ‫ن‬       ‫ز‬          ‫ا‬                     ‫.ه‬             ‫ا‬              ‫ی‬            ‫رآ‬                ‫د‬
‫ﺝ د در‬              ‫د‬              ‫ي‬      ‫رو‬         ‫د ی ی آ‬                ‫ی . ه زی آ س از ی آ س‬                                       ‫ن‬        ‫دا‬
‫ل د‬                     ‫د . در ای‬         ‫ن‬        ‫ان ی ‪ abstract‬ا‬                   ‫ی ، و ی ﺥ دش‬                    ‫زي‬        ‫را د‬                  ‫آ س‬
‫آ ن‬                         ‫ار‬         ‫از ن ی آ س‬                     ‫آ‬     ‫آ‬           ‫ه‬          ‫د‬           ‫اي از ی آ س ی روش‬
                                                                                                           ‫آ :‬             ‫زي‬       ‫روش را د‬

‫.‪// A Simple demonstration of abstract‬‬
‫{ ‪abstract class A‬‬
‫;)(‪abstract void callme‬‬
‫‪// concrete methods are still allowed in abstract classes‬‬
‫{)( ‪void callmetoo‬‬
‫;)".‪System.out.println("This is a concrete method‬‬
‫}‬
‫}‬
‫{ ‪class B extends A‬‬
‫{)( ‪void callme‬‬
‫;)".‪System.out.println("B's implementetion of callme‬‬
‫}‬
‫}‬
‫{ ‪class AbstractDemo‬‬
‫{) ][‪public static void main(String args‬‬
‫;)(‪B b = new B‬‬
‫;)(‪b.callme‬‬
‫;)(‪b.callmetoo‬‬
‫}‬
‫}‬


‫ن‬           ‫،ا‬             ‫ذآ‬       ‫ری‬         ‫.ه‬        ‫ا‬         ‫ن‬        ‫ا‬                ‫از آ س ‪ A‬در‬                              ‫آ ه‬        ‫ﺝ آ‬
‫م‬                        ‫روش وا‬          ‫:آ س‪A‬ی‬               ‫دی‬                ‫د وﺝ د ارد . ی‬                          ‫آ س‬           ‫زي ی‬
        ‫ا‬            ‫د‬          ‫ي‬         ‫.آ‬        ‫لا‬                  ‫آ‬           ‫آ . ای ا‬                  ‫زي‬             ‫د‬   ‫)(‪callmetoo‬را‬
                                                     ‫.‬             ‫زی‬           ‫د‬                    ‫ی ، در‬                      ‫را‬                  ‫دا‬
‫اي ای د‬                     ‫د، ا از‬            ‫د‬     ‫ئا‬        ‫زي ا‬                         ‫اي‬       ‫د‬            ‫ي‬          ‫ان از آ‬                      ‫ا‬
    ‫د‬        ‫ی ا‬           ‫اﺝ ا از‬                           ‫د زی ا روش ﺝ وا اي‬                               ‫د‬        ‫ان ا‬                  ‫ارﺝ ت‬
‫ی آ س‬                     ‫ای ، ی ا ن ای د ی ارﺝ ع‬                               ‫.‬           ‫زي ﺥ اه‬                ‫د‬             ‫از ارﺝ ت آ س‬
            ‫د.‬           ‫زی آ س ا ر‬                      ‫ی‬     ‫د از ن ارﺝ ع‬                      ‫ا‬            ‫ری‬                      ‫د وﺝ د دا‬
                                                                            ‫ي ﺥ اه دی .‬                       ‫ل‬        ‫را در‬      ‫د از ای ﺝ‬               ‫ا‬
    ‫م‬                ‫ن‬     ‫ده .‬                ‫آ س ‪ Figure‬را‬                            ‫ا‬                ‫د،‬            ‫آ س‬            ‫د از ی‬         ‫ا‬
        ‫ي ای‬               ‫وﺝ د ارد ، روای‬                          ‫ی‬               ‫ي‬       ‫دو‬                    ‫ی‬               ‫اي‬         ‫ی‬
    ‫آ‬            ‫ا‬          ‫ان‬           ‫آ . ای اﻝ‬            ‫ن‬         ‫د داﺥ ‪ Figure‬ا‬                                ‫ان ی‬       ‫‪ ()area‬را‬
                                                    ‫ی .‬            ‫از ‪ Figure‬ی )(‪ area‬را ﻝ‬                                             ‫ي‬         ‫آ‬        ‫آ‬

‫.‪// Using abstract methods and classes‬‬
‫{ ‪abstract class Figure‬‬
‫;1‪double dim‬‬
‫;2‪double dim‬‬
‫{) ‪Figure(double a, double b‬‬
‫;‪dim1 = a‬‬
‫;‪dim2 = b‬‬
}
// area is now an abstract method
abstruct double area();
}
class Rectangle extends Figure {
Rectangle(duoble a, double b ){
super(a, b);
}
// override area for rectangle
double area (){
System.out.println("Inside Area for Rectangle.");
return dim1 * dim2;
}
}
class Triangle extends Figure {
Triangle(double a, double b ){
super(a, B);
}
// override area for right triangle
double area (){
System.out.println("Inside Area for Teriangle.");
return dim1 * dim2 / 2;
}
}
class AbstractAreas {
public static void main(String args[] ){
// Figure f = new Figure(10, 10); // illegal now
Rectangle r = new Rectanlge(9, 5);
Triangle t = new Triangle(10, 8);
Figure figref; // this is OK/ no object is created
figref = r;
System.out.println("Area is " + figref.area))(;
figref = t;
System.out.println("Area is " + figref.area))(;
}
}
‫ع ‪Figure‬‬               ‫ئ از‬    ‫نا‬          ‫نا‬    ‫ا‬     ‫ده ، دی‬           ‫ن‬           ‫درون )(‪main‬‬                               ‫ری‬           ‫ه‬
     ‫ي ‪ Figure‬ی )(‪ area‬را ﻝ‬                      ‫زی آ‬       ‫.آ‬           ‫دا‬              ‫رت‬           ‫ن اآ ن‬           ‫وﺝ د ارد ،‬
‫آ .‬                ‫ی آ )(‪ area‬را ﻝ‬               ‫ی زی آ س ای د‬                       ‫آ‬            ‫اي اﺙ ت ای ا ،‬                    ‫ی .‬
                                       ‫آ .‬             ‫ی دری‬        ‫ی ﺥ ي ‪ complle-time‬در ز ن آ‬
‫ع‬            ‫ارﺝ ع از‬              ‫ی‬   ‫ا‬             ‫از ع ‪ Figure‬وﺝ د ارد، ا‬                                 ‫ن ای د ی‬           ‫ا‬            ‫ا‬
         ‫ا‬        ‫و ان‬             ‫ن‬   ‫‪ Figure‬ا‬              ‫ان ارﺝ‬             ‫‪fighref‬‬                  ‫ی .‬           ‫‪Figure‬ای د‬
‫د.‬            ‫از ‪ ، Figure‬ارﺝ ع‬                       ‫از ه آ س‬                           ‫ی‬       ‫ان‬              ‫د از ن‬             ‫ا‬        ‫آ‬
‫ی در ز ن اﺝ ا‬                 ‫ه ي ‪override‬‬             ‫رش از‬         ‫آ ام‬            ‫ای‬           ‫دادی ،‬                       ‫ری‬           ‫ه‬
                              ‫د.‬           ‫رت‬        ‫قآ سه‬                ‫ه ي ارﺝ ع‬                          ‫ی‬      ‫، از‬                ‫ل‬


                                                                                                      ‫وراﺙ‬       ‫د از ‪Final‬‬                  ‫ا‬


     ‫دار. دو آ ر د دی‬              ‫ا‬       ‫ی ﺙ‬            ‫اي ای د‬         ‫آ ر د دارد . اول‬                        ‫واژ آ ي ‪final‬‬
‫آ دن‬            ‫از ﻝ‬           ‫اي‬      ‫د از ‪final‬‬          ‫.ا‬            ‫ﺥ اه‬                ‫ر‬    ‫و‬          ‫ه‬     ‫وراﺙ‬             ‫ط‬
    ‫آ‬         ‫ی وﺝ د دار‬           ‫،ا ز‬          ‫ﺝ وا ا‬      ‫هي ر‬               ‫از ﺝ‬              ‫آ دن روش ی‬              ‫ﻝ‬         ‫ﻝ‬       ‫در‬
‫ان‬            ‫ی روش ، ‪ final‬را‬              ‫ز آ دن ﻝ‬                ‫اي‬        ‫دی .‬           ‫روش‬        ‫و عﻝ‬                   ‫ﺥ اه‬
     ‫ا‬           ‫ان ‪final‬‬              ‫ن‬        ‫يا‬     ‫ی . رو‬                             ‫ن ن‬         ‫وع ا‬        ‫در‬                    ‫ی ا‬
                                                                ‫:‬        ‫‪ final‬ا‬             ‫ن ده‬        ‫ي‬                 ‫.‬                 ‫ﻝ‬

‫{ ‪class A‬‬
‫{)( ‪final void meth‬‬
‫;)".‪System.out.println("This is a final method‬‬
‫}‬
‫}‬
‫{ ‪class B extends A‬‬
‫.‪void meth (){ // ERROR! Can't override‬‬
‫;)"!‪System.out.println("Illegal‬‬
‫}‬
‫}‬
‫د.ا‬              ‫ان ن را در ‪ B‬ﻝ‬                      ‫،‬           ‫ن‬      ‫ان ‪ final‬ا‬          ‫ن )(‪meth‬‬
           ‫ان ‪ final‬ه‬                        ‫ن‬        ‫يا‬            ‫د . رو‬        ‫ی ﺥ ي ‪ complle-time‬ﺥ اه‬                                        ‫،‬
                                                                                               ‫:‬       ‫د‬               ‫ا ای‬                  ‫ا‬
‫اﺥ ا ‪inline‬‬                ‫ی از‬         ‫،آ‬            ‫اه‬             ‫ی زی آ س ﻝ‬                               ‫دا آ‬             ‫ی‬        ‫نآ‬
‫ا آ‬              ‫ی ﺝ وا‬             ‫آ‬      ‫دا‬                  ‫اﺥ ا‬       ‫‪final‬‬            ‫آ‬            ‫ی‬      ‫د. و‬            ‫زاد‬
     ‫آ‬         ‫اﺥ ا‬        ‫در روش‬                ‫ی‬     ‫)‪ (inline‬آ آ‬                ‫درون ﺥ‬                    ‫اي زی روال‬             ‫را‬       ‫ی‬
‫ی ‪. Inlining‬‬                   ‫ف‬        ‫اﺥ ان روش را‬                   ‫ه ی ه ا ی‬                    ‫ی ي‬                        ‫ی ،و ی‬
‫رت ی‬                  ‫را‬     ‫رو‬           ‫اﺥ ا‬         ‫، ﺝ وا‬                 ‫ر‬        ‫.‬           ‫ي ‪ final‬ا‬        ‫رو‬         ‫ی‬         ‫ی‬
     ‫ی‬         ‫. ا از‬                   ‫را ‪late binding‬‬                       ‫آ . ای‬                    ‫و‬          ‫اﺝ ا‬        ‫و در ز ن‬
           ‫و‬           ‫ی‬     ‫ان در ز ن آ‬                       ‫را‬     ‫اﺥ ا‬         ‫د،ی‬                ‫ان ﻝ‬            ‫ي ‪ final‬را‬             ‫رو‬
                                                                                   ‫.‬                 ‫د . ای را ‪early binding‬‬


                                                                                   ‫ي از وراﺙ‬                   ‫د از ‪ final‬اي‬                     ‫ا‬


‫ن‬        ‫از ا‬          ‫ر‬     ‫م ای‬       ‫اي ا‬         ‫ی .‬        ‫ارث دن از ی آ س‬                               ‫اه‬           ‫ا‬                 ‫ه‬
    ‫آ‬            ‫ر‬          ‫ان ‪final‬‬           ‫دن ی آ س‬                 ‫ن‬         ‫ی .ا‬          ‫د‬      ‫آ س از واژ آ ي ‪ final‬ا‬
    ‫ان ه‬         ‫نی آ س‬                   ‫آ ا‬          ‫دا‬                 ‫.‬         ‫ن‬          ‫ان ‪ final‬ا‬                 ‫ي ن را‬             ‫رو‬
           ‫د و اي‬                   ‫ی آ‬          ‫ن ی آ س ‪abstract‬‬                              ‫زا‬              ‫‪abstract‬و ه ‪final‬‬
         ‫ه‬       ‫ل از آ س ‪ final‬را‬                         ‫ی‬    ‫. در ای‬                 ‫يﺥ د‬                ‫زی آ‬                   ‫زی‬        ‫د‬
                                                                                                                                         ‫:‬       ‫آ‬

‫{ ‪final class A‬‬
‫...//‬
‫}‬
‫.‪// The following class is illegal‬‬
‫‪class B extends A { // ERROR! Can't subclass A‬‬
‫...//‬
‫}‬
‫ن‪A‬‬              ‫ز‬               ‫دن ‪ B‬از‪ A‬ز‬              ‫، ارث‬                    ‫ت"‬                          ‫از "‬              ‫ری‬                ‫ه‬
                                                                                  ‫.‬         ‫ا‬          ‫ن‬              ‫ان ‪ final‬ا‬


                                                                                                              ‫آ س ‪Object‬‬


‫.‬    ‫ا‬      ‫ی‬           ‫ﺝ وا‬         ‫‪object‬‬             ‫صی‬        ‫‪ The object class‬ی آ س‬                                              ‫آ س‬
    ‫ي دی‬     ‫آ‬          ‫يآ‬      ‫‪ object‬آ س‬               ‫.ی‬     ‫ي ‪ object‬ه‬                 ‫زی آ‬               ‫ي دی‬                    ‫آ‬          ‫آ‬
‫از ه آ س دی ي ارﺝ ع‬                       ‫ی‬     ‫ا‬             ‫ارﺝ ع ع ‪object‬‬                             ‫ی‬                      ‫. ی‬              ‫ا‬
‫ع‬     ‫از‬                ‫،ی‬            ‫زي‬        ‫د‬       ‫ان آ س‬         ‫رای ه‬                    ‫ی ای‬           ‫،‬                 ‫ی .ه‬
    ‫آ .آ‬            ‫ی‬        ‫ي را‬     ‫ي‬       ‫ی . ‪ Object‬رو‬        ‫ه رای اي ارﺝ ع‬                                 ‫ا‬             ‫‪object‬‬
                                                    ‫.‬     ‫ه‬        ‫د‬                        ‫در ه‬                          ‫ه‬                  ‫ی‬


                                                                                                                                 ‫د‬
                               ‫)(‪object clon‬‬                                     ‫ﺵ‬          ‫آ آ ﺕ‬                     ‫ی ي ای د‬                   ‫ﺵ‬
                                                                                                                      ‫.‬         ‫ه نﺵ ا‬
           ‫) ‪boolean equals ( Object object‬‬                                           ‫ﺵ دی‬               ‫آ آ ی ﺵ‬                                 ‫ﺕ‬
                                                                                                              ‫.‬           ‫ی‬      ‫وي ا‬
                                      ‫)(‪void finalize‬‬                            ‫د در‬            ‫ون ا‬             ‫ی ﺵ‬                ‫از ای‬
                                                                       ‫د.‬                  ‫د، ا ا‬                     ‫د ار‬                       ‫چ‬
                                     ‫)(‪class get class‬‬                 ‫.‬         ‫اري‬              ‫ا ا‬         ‫آ س ی ﺵ را ﺡ‬
                                     ‫)(‪int hash code‬‬                             ‫اﺵ ئ ا ان را‬                             ‫آ ‪ hash‬ه ا‬
                                                                                                                  ‫آ .‬                ‫دان‬
                                          ‫)(‪void notify‬‬                         ‫ر روي ﺵ‬            ‫ا اي ی رﺵ در ﺡ ل ا‬
                                                                                      ‫د.‬                     ‫را از‬              ‫ا ان آ‬
                                    ‫)(‪void notify All‬‬                  ‫ر روي‬               ‫رﺵ ه ي در ﺡ ل ا‬                           ‫ا اي آ‬
                                                                           ‫د.‬                    ‫را از‬            ‫ﺵ ئ ا ان آ‬
                                    ‫)(‪string to string‬‬                     ‫را‬     ‫ﺵ ئا‬                 ‫آ‬                      ‫رﺵ اي آ ﺕ‬
                                                                                                                              ‫دا .‬
‫)(‪void wait‬‬                    ‫از ا ا‬     ‫)‪ (thread‬دی‬         ‫روي ی‬
       ‫) ‪void wait ( long milliseconds‬‬                                                                 ‫.‬
    ‫)‪Void wait ( long milliseconds, int nanoseconds‬‬

‫.‬                ‫ن‬    ‫ان ‪ final‬ا‬            ‫ي )(‪ ()notify All ، notify() ، getclass‬و ‪ wait‬و‬                    ‫رو‬
                                     ‫ی :‬         ‫دو روش د‬            ‫ی .‬          ‫ارد را ﻝ‬    ‫ی‬        ‫ا‬
     ‫دو‬      ‫د وا‬            ‫ی‬        ‫را ی ی‬           ‫ي دو‬       ‫)(‪equals‬‬         ‫)(‪ equals‬و )(‪. tostring‬‬
‫دا .‬                  ‫رت ‪ false‬را‬           ‫ای‬    ‫دا و در‬             ‫، ای روش ‪ true‬را‬                 ‫دل ه‬
          ‫، را‬             ‫آ روي ن اﺥ ا‬           ‫از‬                      ‫اي آ در‬       ‫روش )(‪ to string‬ر‬
‫ر ﺥ دآ ر‬                    ‫د از )(‪println‬‬        ‫ا‬           ‫ئ‬       ‫ی‬       ‫ه‬         ‫دا . ای روش ه‬
       ‫نآ‬            ‫م ای آ ر‬        ‫آ .ا‬         ‫ای روش را ﻝ‬             ‫ري از آ‬       ‫.‬    ‫ﺥ اه‬       ‫اﺥ ا‬
           ‫ز .‬         ‫د‬     ‫،‬   ‫آ‬     ‫ه ی آ ای د‬             ‫اي ع‬                ‫را‬              ‫ده‬       ‫ن‬    ‫ا‬
‫ه و را‬



                                                   ‫:‬   ‫وی ای‬
                       ‫ن‬        ‫ل ز ن و ر ده‬
                                ‫ه و را‬
                     ‫ه ‪packages‬‬
                                      ‫ی‬   ‫ی‬
             ‫م ‪CLASS PATH‬‬                 ‫درك‬
   ‫‪Access protection‬‬              ‫د‬
                       ‫ه‬         ‫وارد آ دن‬
                     ‫‪interfaces‬‬                   ‫را‬
                     ‫دن ی را‬              ‫ی‬
                               ‫زي را‬          ‫د‬
‫ی ارﺝ ت را‬     ‫زی از‬       ‫د‬                       ‫د‬
               ‫)‪(partial‬‬         ‫زي‬           ‫د‬
                               ‫ر دن را‬
                               ‫ه در را‬
‫ه و را‬

            ‫ي‬               ‫هي‬            ‫اري‬              ‫اي‬         ‫آ‬             ‫ه‬           ‫اي آ‬               ‫و‬           ‫ه )‪، (packages‬‬
    ‫م‬            ‫ی آ س‬               ‫ده‬        ‫اﺝ ز‬                                ‫ل،ی‬          ‫ان‬            ‫.‬                    ‫د‬        ‫ا‬            ‫آ‬            ‫ا‬
‫ای آ س ی آ س‬                              ‫از ای‬        ‫ا‬         ‫ون‬            ‫ی‬          ‫ﺥ د ذﺥ‬                   ‫د آ ن را در‬                       ‫‪ list‬ای د‬
            ‫ا‬               ‫رت‬            ‫ه‬            ‫.‬              ‫دا‬                ‫در ﺝ ي دی ي‬                                ‫م ‪ list‬و ذﺥ‬                       ‫دی‬
                                                   ‫.‬                      ‫آ س ﺝ ی وارد‬                    ‫ی‬                ‫ی‬           ‫ر‬         ‫و‬                ‫ذﺥ‬
‫زي‬               ‫را از د‬             ‫را‬       ‫ده‬           ‫اﺝ ز‬                    ‫د از واژ آ ي ‪ ، interface‬ﺝ وا‬                                     ‫ی ا‬             ‫از‬
    ‫ی آ‬           ‫از رو‬                       ‫ی‬    ‫ا‬              ‫د از ‪interface‬‬                     ‫ا‬        ‫ی .‬          ‫د‬                ‫نآ‬               ‫ط‬
        ‫ه‬        ‫ی .ﺥ د ‪ interface‬ا‬                                       ‫را‬             ‫زي‬          ‫د‬            ‫ی آ س‬                    ‫اي ی ی‬                ‫در‬
    ‫،ا ی‬             ‫د ‪ abstract‬ه‬                  ‫ي‬              ‫آ‬                        ‫را‬        ‫.ا‬                        ‫ی‬       ‫زي را‬             ‫ع د‬
            ‫ی.ا ،ی آ س‬                    ‫زي‬       ‫را د‬               ‫از ی را‬                    ‫ا‬                ‫دار : ی آ س‬
                                                                ‫د.‬        ‫( ارث‬                 ‫دی‬            ‫)‬            ‫ي‬        ‫ا از ی آ س‬
‫.‬                   ‫ﺝ وا‬                  ‫در ی‬              ‫ا‬               ‫)‪ (interfaces‬دو‬                            ‫ه )‪ (packages‬و را‬
            ‫ر‬        ‫ي داﺥ‬                ‫از ) ی آ (‬                  ‫ی‬                 ‫ا در‬                      ‫ﺝ وا‬                 ‫ی‬        ‫،ی‬       ‫رآ‬
                                                                                                                                                     ‫:‬               ‫زی‬
                                          ‫) اﺥ ري ( ‪A single package statement‬‬                                                         ‫اي‬            ‫ر‬           ‫ی د‬
                        ‫رات وارد ) اﺥ ري ( ‪Any number of import statements‬‬                                                                      ‫اد د‬             ‫ه‬
    ‫ان ‪ ) public‬اﺝ ري ( ‪A single public class declaration‬‬                                                                                  ‫نآ س‬              ‫ی ا‬
                                                                      ‫) اﺥ ري (‬                  ‫اي‬                            ‫ي اﺥ‬             ‫اد آ‬             ‫ه‬
                                                                  ‫‪Any number of classes private to the package‬‬
                        ‫.‬        ‫ا‬        ‫نآ س‬              ‫ا‬         ‫ارد ی‬             ‫از ای‬        ‫ی‬                     ‫ه‬           ‫ﻝ ي‬           ‫ل در‬


                                                                                                                                   ‫ه ‪packages‬‬


            ‫.ی‬               ‫ص )‪(name space‬‬                                        ‫ي م‬                   ‫ﻝ از آ س را از ی‬                            ‫مه‬
‫د. ون‬               ‫ي‬            ‫ﺝ‬            ‫از اﺥ ط‬                               ‫د‬     ‫دا‬                           ‫م‬           ‫اي ه آ س ی ی‬
‫ری‬               ‫و‬         ‫ﺥ اه‬                     ‫د ر‬                   ‫از‬            ‫،‬                ‫يا‬                 ‫ی ی‬    ‫اي‬                       ‫ی را‬
             ‫راه ه‬             ‫ز‬            ‫اﺥ ر آ . ه‬                                      ‫و‬                               ‫د،ا‬          ‫اي ه آ س‬
‫م‬            ‫د د و‬                                      ‫ر‬                 ‫آ‬             ‫ب‬         ‫اي ی آ س ا‬                                 ‫ی آ‬
‫ﺝ وا‬                     ‫اه آ د . ﺥ‬                 ‫ا‬           ‫دم‬            ‫ی ن‬                             ‫ی‬                          ‫ب‬        ‫ي ا‬               ‫آ‬
    ‫ی ی‬                  ‫ﺝ )‪ (chunks‬و‬                            ‫ت‬                      ‫ي مآ س‬                            ‫ي‬              ‫اي‬
‫اري و ه‬                    ‫ه ی روش‬                      ‫.‬        ‫ی ‪ package‬ا‬                              ‫ه ن‬                      ‫.ای‬        ‫اه ورد ا‬
     ‫آ‬       ‫آ‬       ‫ی‬               ‫ی را داﺥ ی‬                           ‫آ‬         ‫ا‬                ‫.‬     ‫ی يا‬                   ‫آ ل روی‬                           ‫ی‬
     ‫ی‬       ‫را‬            ‫ئآ‬        ‫ا‬      ‫ا‬                             ‫.ه‬                              ‫د‬                      ‫آ ه ي ﺥ رج از‬
         ‫ي‬           ‫آ‬         ‫. ای ا‬                       ‫ار دا‬                   ‫ه ن‬                  ‫ی ا‬              ‫ض روی‬              ‫در‬             ‫آ‬       ‫آ‬
‫ان‬        ‫اي دی‬          ‫ت را‬            ‫ن ا‬        ‫ا‬                         ‫دا‬        ‫از ی ی‬                ‫ه درو‬                 ‫ی‬        ‫ده‬             ‫ن‬       ‫ا‬
                                                                                                                                         ‫.‬          ‫ي‬               ‫ا‬


                                                                                                                                                        ‫ی‬       ‫ﺕ ی‬


                                                                                                                  ‫:‬         ‫نا‬      ‫ر‬                       ‫ای د ی‬
‫ن‬        ‫.ه آ سا‬                         ‫ﺝ وا‬                   ‫ر در ی‬              ‫د‬           ‫ان اوﻝ‬            ‫ن ‪package‬‬                       ‫د ی‬               ‫ﺥ‬
‫ي م را‬                     ‫ر ‪ package‬ی‬                  ‫.د‬            ‫ﺥ اه دا‬                                                            ‫ن ی‬            ‫داﺥ‬
          ‫ی ،ا‬            ‫ف‬        ‫ق را‬         ‫ر‬           ‫د‬        ‫.ا‬                            ‫ن ذﺥ‬               ‫داﺥ‬          ‫آ آ آ‬                        ‫ی‬
‫اي‬        ‫ض‬                                ‫ارد. ا‬                     ‫ا‬        ‫،آ ه‬                               ‫ار‬        ‫ض‬                       ‫آ س در‬
‫آ .‬                      ‫آ ی‬       ‫ه ي آ ر دي وا‬                               ‫اي‬               ‫،ا‬        ‫ا‬                         ‫و‬         ‫هي آ‬
                                                                     ‫آ .‬                    ‫ی‬                 ‫اي آ ه ي‬                       ‫اآ او ت ، ی‬
                                                                           ‫:‬            ‫رت زی ا‬                       ‫ر ‪package‬‬              ‫د‬

‫;‪package pkg‬‬


 ‫م‪Mypackage‬‬                                         ‫ي ی‬               ‫ر‬            ‫ل ، د‬             ‫ان‬               ‫.‬     ‫ا‬           ‫‪ pkg‬م‬               ‫در ای‬
                                                                                                                                             ‫آ :‬             ‫ای د‬

‫;‪package MyPackage‬‬
‫ل‬         ‫ان‬                ‫آ .‬               ‫د‬      ‫ه ا‬                ‫زي‬              ‫اي ذﺥ‬                         ‫ﺝ وا از دای آ ری ي ی‬
        ‫، ی در ی‬                 ‫آ‬        ‫ن‬        ‫از ‪ Mypackage‬ا‬                            ‫ان‬             ‫ی آ‬                ‫اي آ‬             ‫ی ي .‪class‬‬
    ‫ای‬            ‫،‬             ‫سا‬        ‫ر‬          ‫. د وری آ ﺝ وا‬                               ‫م ‪ Mypackage‬ذﺥ‬                                      ‫دای آ ري‬
                                                                    ‫.‬                ‫دا‬                           ‫ا‬                ‫دای آ ري ی د‬                           ‫ا‬
 ‫ر‬           ‫.د‬                  ‫ن ‪package‬‬               ‫ر ی‬        ‫د‬       ‫ی‬                ‫ی‬     ‫از ی‬                ‫ن وﺝ د دارد آ‬                                   ‫ای ا‬
                          ‫آ ام‬        ‫ی‬           ‫در ی‬          ‫ی‬           ‫ي‬           ‫آ آ آ‬                                      ‫د‬             ‫‪ package‬ﺥ‬
‫اول‬                   ‫از ه ن‬                         ‫را از ای‬           ‫ﺝ د در ی ي دی‬                       ‫ي‬         ‫ی آ‬               ‫ر‬         ‫دار . ای د‬
         ‫د‬                      ‫اد زی دي از ی‬             ‫روي‬               ‫ه ي د ي وا‬                  ‫ري از‬                  ‫آ .‬                             ‫،‬
                                                                                                                                                                   ‫.‬
‫را از‬                      ‫ه‬      ‫د ا‬              ‫زی . اي ا م ای ر ، ﺥ‬                            ‫ه‬            ‫از‬         ‫ا‬                          ‫ی‬            ‫ا‬
         ‫ر ‪package‬‬                      ‫ی د‬                             ‫زی .‬          ‫ﺝا‬                ‫د از ی‬                 ‫ا‬        ‫ی اش و‬                            ‫ا‬
                                                                                                                       ‫:‬               ‫ار زی ا‬

‫;]]3‪package pkg1[.pkg2[.pkg‬‬


         ‫ن‬            ‫ا‬              ‫لی‬       ‫ان‬         ‫د.‬                      ‫ﺝ وا‬                           ‫ی در ی‬                                    ‫ا‬
                                                                                                                                                                   ‫ان‬

‫;‪package java.awt.image‬‬


                  ‫روي ی‬                       ‫ی در ‪ javaawtimage ، java/awt/image‬ی ‪java:awt:image‬‬
‫ی .‬          ‫ب‬              ‫ا‬     ‫د‬           ‫ﺥ د را ﺥ‬                      ‫د. ا‬             ‫‪ ، windows ، unix‬ی ‪ Macintosh‬ذﺥ‬
    ‫ا‬                     ‫در ن ذﺥ‬                 ‫دای آ ري آ آ‬                   ‫ا‬      ‫ای‬             ‫ده‬             ‫را‬                 ‫ی‬        ‫ا‬            ‫ا‬
                                                                                                                                                ‫ده .‬                     ‫را‬


                                                                                                            ‫م ‪CLASS PATH‬‬                                                ‫درك‬


             ‫ي در ر‬                                      ‫، زم ا‬              ‫آ‬                         ‫د از ی‬          ‫اي ا‬                 ‫ﻝ‬                 ‫از ای‬
‫آ ل‬                               ‫ت از‬              ‫ري از‬               ‫ه‬                    ‫.ا‬                 ‫‪ CLASS PATH‬دا‬
‫ت‬                        ‫دن‬        ‫ی و اﺝ ا‬                ‫،ا ه مآ‬                     ‫آ‬                    ‫ي م را‬                  ‫و اﺥ ط‬                           ‫د‬
                ‫ان ری‬                                      ‫در‬                    ‫ن‬         ‫ی . زی ا‬                         ‫اﺝ‬               ‫ی‬        ‫و‬
     ‫ه‬          ‫د. آ ن‬                      ‫‪ CLASS PATH‬آ ل‬                                             ‫ﺝ وا و‬          ‫ی‬        ‫آ‬                               ‫ا‬
‫اﺝ ز‬                ‫م ای ر‬             ‫آ دی .ا‬                     ‫ذﺥ‬      ‫ن و ون ا‬                    ‫ضی‬                                 ‫را در ی‬                    ‫آ‬
‫دن از آ س‬                     ‫ا‬    ‫،‬            ‫ﺝ وا را روي‬                        ‫د و‬                 ‫ی‬        ‫را آ‬             ‫آ‬           ‫د‬            ‫داد‬
    ‫ل‬     ‫ﺝ ري در‬                      ‫آ د زی ا‬                    ‫آر‬                      ‫ا‬           ‫ی . ای‬          ‫ن ، اﺝ ا‬                       ‫روي ﺥ‬
‫رت‬                 ‫ار دارد آ اﻝ‬                 ‫‪CLASS PATH‬‬                                                 ‫در‬               ‫ض )٠(‬                          ‫آر و‬
           ‫ط‬             ‫ه‬                  ‫و‬     ‫.ا‬           ‫ا‬             ‫ی‬         ‫اﺝ اي ﺝ وا‬                                       ‫اي‬        ‫ض‬
                                                                                                                ‫د.‬         ‫اه‬                    ‫را‬             ‫آر‬
‫ﺥ ر‬         ‫ن‬       ‫م ‪ test‬ای د آ د ای .‬                                         ‫م ‪ packTest‬در ی‬                       ‫آ ی آ س‬                        ‫ضآ‬
‫ان ‪ test‬ای د‬                           ‫ی دای آ ري‬                            ‫دا‬                            ‫هي‬                       ‫ی‬             ‫دای آ ري‬
‫ار‬       ‫‪ test‬را دای آ ري ﺝ ري‬                      ‫ا‬              ‫ا‬      ‫ده .‬             ‫ار‬          ‫د و ‪ PackTest.java‬را در ن‬
‫د آ ‪ PackTest.class‬در‬                                                      ‫ی . ای ا‬                    ‫ی‬        ‫و ‪PackTest.java‬را آ‬                                 ‫ده‬
‫م‬         ‫ﺝ وا ی‬              ‫،‬    ‫‪ packTest‬را اﺝ ا آ‬                              ‫آ‬           ‫ش‬                ‫د. و‬             ‫دای آ ري ‪ test‬ذﺥ‬
‫آ اآ ن آ س‬                        ‫نا‬        ‫آ . دﻝ‬                 ‫ارش‬             ‫"‪"can't find class packTest‬‬                                                      ‫ﺥ‬
‫ن‬         ‫ان ‪packTest‬‬                       ‫د‬              ‫ا‬                 ‫. دی‬              ‫ا‬                ‫م ‪ test‬ذﺥ‬                             ‫ق را ی‬
            ‫و ه‬          ‫ی‬        ‫ن ارﺝ ع‬                          ‫ا‬                   ‫ب‬           ‫ا‬        ‫ن آ س‬                       ‫ی . ی‬             ‫ارﺝ ع‬
‫د.‬                 ‫م ‪ test.packTest‬ﺥ ا‬                                  ‫ي ﺝ ا آ . ای آ س اآ ن ی‬                                     ‫از دی‬                 ‫ی‬         ‫را‬
‫‪"can't find‬‬                            ‫مﺥ‬         ‫نی‬               ‫،ه‬      ‫د آ‬          ‫از ‪ test.packTest‬ا‬                                ‫شآ‬                  ‫ا ا‬
     ‫آ‬             ‫دری‬        ‫مﺥ‬            ‫نی‬         ‫ه‬           ‫ای‬     ‫د . دﻝ‬           ‫ﺥ اه‬             ‫"‪ class test/ppackTest‬دری‬
           ‫ي‬       ‫د وری آ ‪ CLASS PATH‬در‬                                           ‫.‬       ‫ا‬                     ‫‪CLASS PATH‬‬                                         ‫در‬
                                                  ‫د:‬                     ‫زی را در‬                      ‫ي‬          ‫د.‬                 ‫ار‬          ‫آ س‬            ‫ا‬
‫‪. ;C:java classes‬‬



‫د و‬            ‫ل‬    ‫ل آ ر ﺝ ري را آ‬                     ‫دای آ ري در‬                            ‫ی‬            ‫اﺝ اي ﺝ وا‬                                               ‫آ‬
         ‫ای ا‬                ‫ی .‬       ‫ل‬        ‫‪ standard java developers kit‬را آ‬                                                   ‫دای آ ري‬                        ‫ه‬
test ‫ل آ ر ﺝ ري وﺝ د ارد زی ا در ﺥ د دای آ ري‬                   ‫ در دای آ ري در‬test ‫آ دای آ ري‬
                                                :          ‫ب ﺥ اه دا‬          ‫دو ا‬       ‫ار داری . در ای‬
    ‫و ی ای‬     ‫آ‬       ‫ را ز ی‬javatest.packTest ‫داد و‬                   ‫را‬                    ‫دای آ ری ي ی‬
             . ‫ی‬            ‫ ا‬CLASS PATH                               ‫آ س را‬             ‫ا‬           ‫ي‬
    ‫ار ده و ﺝ وا ی در‬             ‫د‬     ‫رد ا‬    ‫ را از ه دای آ ري‬packTest javatest                        ‫ا‬
‫م‬            ‫ﺥ د ن در ی دای آ ري‬               ‫روي آ‬        ‫ل،ا‬         ‫ان‬      .‫د‬     ‫ا ﺥ اه‬     ‫ را‬class.
. ;C:myjava; ‫ ﺥ د را روي‬CLASS PATH                                ،         ‫لآ ر‬      ‫ در‬C:mmyjava
                                                                             . ‫ار ده‬    C:javaclasses


                                                                                          ‫ل آ ﺕ از‬            ‫ی‬


                   :    ‫آ‬    ‫د را ز ی‬           ‫ای‬     ‫ا‬       ،               ‫دا‬      ‫را در‬                  ‫ا‬

// A simple package
package MyPack;
class Balance {
String name;
double bal;
Balance(String n/ double b ){
name = n;
bal = b;
}
void show (){
if(bal<0)
System.out.print("-->> ");
System.out.println(name + " :$" + bal);
}
}
class AccountBalance {
public static void main(String args[] ){
Balance current[] = new Balance[3];
current[0] = new Balance("K .J .Fielding"/ 123.23);
current[1] = new Balance("Will Tell"/ 157.02);
‫;)33.21 -/"‪current[2] = new Balance("Tom Jackson‬‬
‫;()‪for(int i=0; i<3; i++ )current[i].show‬‬
‫}‬
‫}‬


       ‫ار ده .‬      ‫م ‪Mypack‬‬                   ‫و ن را در ی دای آ ري‬             ‫ی را ‪Mypack/java‬‬                                 ‫ای‬
 ‫در دای آ ري ‪Mypack‬‬                         ‫.‪class‬‬          ‫ی‬   ‫ی آ‬             ‫ی آ .‬                  ‫ی را آ‬
‫د از‬            ‫ا‬   ‫آ ، اﻝ‬          ‫اﺝ اي آ س ‪ Account Balance‬را ز ی‬                               ‫.‬                        ‫ار‬
                                                                                                       ‫ي‬           ‫ن‬             ‫ﺥ‬

‫‪java MyPack.AccountBalance‬‬


‫ي‬          ‫در دای آ ري‬               ‫ن را اﺝ ا آ ، زم ا‬               ‫ﺥ اه ای‬             ‫آ و‬                           ‫د دا‬
‫ار داد‬                   ‫ر‬      ‫‪ CLASS PATH‬ﺥ د را‬                                       ‫و ی ای‬                     ‫‪Mypack‬‬
                                                                                                                        ‫.‬
    ‫. ای‬        ‫‪ Mypack‬ا‬            ‫از‬             ‫دادی ، ‪ Account Balance‬اآ ن‬                                     ‫ری‬            ‫ه‬
‫د‬          ‫نا‬       ‫از ای ﺥ‬         ‫ا‬                ‫د. ی‬   ‫ﺥ دش اﺝ ا‬           ‫ا‬              ‫آ‬               ‫ا‬            ‫ان‬
                                                                                                                        ‫ی .‬
‫‪Java AccountBalance‬‬



                                                                 ‫‪Access protection‬‬                                 ‫د‬


‫ئه نآ س‬                  ‫ی ا‬                ‫‪ private‬در ی آ س‬                ‫ی‬              ‫آ د‬                     ‫دا‬
‫ﺥ اه دی ،‬           ‫ری‬         ‫ا ای . ه‬                     ‫آ لد‬      ‫دی ي‬          ‫ه‬          ‫.‬           ‫ا‬            ‫وا ار‬
‫ی ي‬             ‫روي روی‬         ‫ي‬                  ‫اي اﺝ ز آ ل ﺥ ب‬                       ‫ي از‬              ‫ح‬                ‫ﺝ وا‬
                               ‫ی.‬             ‫اه‬     ‫ه‬      ‫و‬      ‫، زی آ‬           ‫ي داﺥ آ‬                ‫ه و رو‬
‫و‬          ‫ي مو‬                         ‫د و در‬       ‫زي‬     ‫ل‬    ‫اي آ‬       ‫ه ه دو و ی‬                             ‫و‬             ‫آ‬
‫.‬          ‫ه‬        ‫هي‬          ‫ی‬       ‫و‬          ‫اي آ‬     ‫و‬    ‫ان‬     ‫ه‬       ‫.‬                          ‫ه و رو‬
‫د در ﺝ وا‬                ‫ی وا‬            ‫.آ سآ‬                  ‫اي داد ه و آ ه‬             ‫و‬            ‫ان‬                       ‫آ‬
‫ئ‬               ‫ی يا‬         ‫ي اي روی‬                     ‫ر‬      ‫ه ، ﺝ وا‬                ‫و‬            ‫آ‬                            ‫ظ‬       ‫.‬    ‫ا‬
                                                                                                          ‫:‬           ‫آ د ا‬                ‫آ س‬
                                                                                                                       ‫در ه ن‬              ‫زی آ‬
                                                                                                              ‫در ه ن‬                ‫زی آ‬
                                                                                                              ‫هي‬              ‫در‬           ‫زی آ‬
                                                           ‫.‬     ‫ه‬             ‫در زی آ‬            ‫و‬               ‫در ه ن‬            ‫ی آ‬        ‫آ‬


‫از‬                                 ‫اه آ‬           ‫‪ public ، private‬و ‪ protected‬و‬                              ‫ی‬           ‫د‬
    ‫. ﺝ ول زی ای‬                   ‫ه‬     ‫ی‬                ‫ز ای‬       ‫رد‬                  ‫د‬                        ‫ح‬            ‫ﻝ‬     ‫هي‬
                                                                                              ‫.‬        ‫ن داد ا‬                 ‫ت را ی‬          ‫ار‬
     ‫‪public‬‬                  ‫‪protected‬‬             ‫‪Nomodifier‬‬                 ‫‪private‬‬
            ‫‪Yes‬‬                ‫‪Yes‬‬                    ‫‪Yes‬‬                       ‫‪Yes‬‬                                   ‫ه نآ س‬
            ‫‪Yes‬‬                ‫‪Yes‬‬                    ‫‪Yes‬‬                       ‫‪No‬‬                                    ‫زی آ س ه ن‬
            ‫‪Yes‬‬                ‫‪Yes‬‬                    ‫‪Yes‬‬                       ‫‪No‬‬                                ‫زی آ س ه ن‬
            ‫‪Yes‬‬                ‫‪Yes‬‬                     ‫‪No‬‬                       ‫‪No‬‬                                 ‫هي‬              ‫زی آ س‬
            ‫‪Yes‬‬                 ‫‪No‬‬                     ‫‪No‬‬                       ‫‪No‬‬                        ‫هي‬                  ‫زی آ س‬


‫رت‬                   ‫ان ن را‬            ‫،ا‬                                ‫ا‬            ‫در ﺝ وا‬                    ‫آ لد‬                          ‫ا‬
‫.‬           ‫ا‬           ‫د‬          ‫د از ه ﺝ ی‬          ‫ن‬       ‫ان ‪ public‬ا‬                   ‫يآ‬               ‫د.ه‬              ‫ی‬       ‫د‬   ‫ي‬
    ‫ی‬           ‫.و‬             ‫روی‬               ‫د ﺥ رج از آ س ﺥ دش‬                     ‫ن‬         ‫ان ‪ private‬ا‬                     ‫يآ‬          ‫ه‬
        ‫ی‬       ‫و‬           ‫اي زی آ‬                  ‫، ن‬                      ‫ی و رو‬                              ‫تد‬
    ‫ﺥ اه‬                ‫.ا‬         ‫ضا‬                          ‫. ای د‬           ‫روی ا‬                     ‫ﺝ د در ه ن‬                   ‫ي‬       ‫آ‬
    ‫رت زی‬                      ‫از آ س‬                     ‫ی آ‬             ‫آ‬              ‫ﺝ ري و‬                       ‫، ﺥ رج از‬                 ‫ی‬
                       ‫ی .‬     ‫ن‬        ‫ان ‪ protected‬ا‬               ‫را‬           ‫ن‬          ‫،‬                ‫روی‬              ‫ا‬       ‫آ س در‬
‫ی آ س‬                   ‫. )‪ (public‬و‬                  ‫ضو‬                      ‫دارد :‬                          ‫د‬           ‫دو‬           ‫ی آ س‬
                ‫ی آ سد‬             ‫.ا‬        ‫ا‬        ‫د‬          ‫ي‬        ‫ه آ دی‬                  ‫د،‬                  ‫ن‬   ‫ان ‪ public‬ا‬
                ‫د.‬      ‫ﺥ اه‬             ‫د‬                ‫ی آ ه ي داﺥ ه ن‬                                         ‫،‬                ‫ض دا‬
:                 ‫ل از د‬            ‫ی‬


    ‫ل‬      ‫ده . ای‬      ‫ن‬            ‫را‬                ‫هي آ ل د‬                 ‫ا‬       ‫ط‬             ‫آ ت‬                 ‫يآ‬          ‫ل‬
‫وت ، زم‬                 ‫دو‬           ‫ط‬         ‫ي‬         ‫آ آ‬                ‫. د دا‬              ‫آ سا‬              ‫و‬          ‫داراي دو‬
        ‫ و ذﺥ‬p2‫ و‬p1‫ل‬             ‫در ای‬             ‫د‬    ‫ا ن م‬                           ‫از‬          ‫در دای آ ری ی آ‬                         ‫ا‬
                                                                                                                            .
. samepackage ‫ و‬Derived ، protection : ‫آ‬                                                ‫ی‬        ‫آ س‬                            ‫اوﻝ‬
     n        . ‫آ‬            ‫ی‬           ‫ز‬               ‫ت‬             ‫ را در ه ی از‬int                      ‫ر‬            ‫آ س‬             ‫اوﻝ‬
    n-‫ و‬protected ‫ان‬             ،n-pro ، private ‫ان‬                    m-pri .             ‫ا‬       ‫ن‬       ‫ضا‬
                                                                                            .               public ‫ان‬                 pub
‫ا‬             ‫از ی آ س د‬                        ‫ه ی در ی‬                    ‫آ‬                   ‫ل‬       ‫ي در ای‬             ‫ه آ س‬
        ‫ی ﺥ‬          ‫د از‬            ‫ا‬                   ‫ی‬        ‫،آ‬         ‫ودی ي د‬                ‫ﻝ ظ‬               ‫آ‬           ‫آ .ﺥ‬
    ‫ی را آ‬           ‫ار دارد آ‬                          ‫از ه ی از ای ﺥ ط‬                        . ‫ا‬         ‫ﺥ رج‬                      ‫// از‬
    Derived ‫آ س‬          ‫ی . دو‬                              ‫را‬    ‫ی‬                ‫اﺝ ز د‬                  ‫از‬               ‫ای‬           ‫از‬
        ‫ را‬Derived               ‫لد‬             ‫. ای‬      ‫ ا‬p1            ‫ در ه ن‬protection ‫زی آ س از‬                                       ‫ی‬
                         .           ‫ ا‬private ‫ آ ی‬n-pri                   ‫زد‬           ‫ار‬            protection ‫ي در‬
          ‫در ه ن‬       ‫، ا‬                   protection ‫زی آ س از‬                   ‫ ی‬Samepackage ‫آ س‬
                                 .           ‫ﺥ اه دا‬              ‫ د‬n-pri           ‫ه‬               ‫آ‬        ‫ای‬           ‫ار دارد و‬
package p1;
public class Protection {
int n = 1;
private int n_pri = 2;
protected int n_pro = 3;
public int n_pub = 4;
public Protection (){
System.out.println("base constructor");
System.out.println("n = " + n);
System.out.println("n_pri = " + n_pri);
System.out.println("n_pro = " + n_pro);
System.out.println("n_pub = " + n_pub);
}
}

                                                                                    : Derived.java ‫ی‬

package p1;
class Derived extends Protection {
Derived (){
System.out.println("derived constructor");
System.out.println("n = " + n);
// class only
// System.out.println("n_pri = " + n_pri);
System.out.println("n_pro = " + n_pro);
System.out.println("n_pub = " + n_pub);
}
}

                                                                            : Samepackage.java ‫ی‬

package p1;
class SamePackage {
SamePackage (){
Protection p = new Protection)(;
System.out.println("same package constructor");
System.out.println("n = " + p.n);
// class only
// System.out.println("n_pri = " + p.n_pri);
System.out.println("n_pro = " + p.n_pro);
System.out.println("n_pub = " + p.n_pub);
}
}

‫ دو‬p2 ‫در‬            ‫ی‬      ‫آ . دو آ س‬            ‫ه‬         ‫ را‬p2        ‫ی‬      ‫دی‬       ‫ی‬          ‫اآ ن آ‬
‫آ س‬     ‫. اوﻝ‬      ‫داد ا‬       ‫ا را‬         ‫ار‬        ‫ﺙ‬                      ‫آ لد‬           ‫را آ‬       ‫ای‬
‫هي‬             ‫آ‬           ‫. ای آ س د‬     ‫ ا‬p1.protection ‫ ی زی آ س‬protection 2                             ‫ی‬
n_‫( و‬          ‫ ا‬private ‫ن‬     ) n-pri ‫از‬            ‫ورد‬                    ‫ را‬p1.protection       ‫ط‬
‫اﺝ ز‬      ‫ض‬                ‫آ‬       ‫د دا‬     .    ‫ا‬         ‫ن‬    ‫ضا‬                             ‫يآ‬
، ‫ی‬     ‫. در‬        ‫هيا‬        ‫از زی آ س ه ي‬               ‫ده‬      ‫را‬           ‫از داﺥ آ س ی‬                ‫د‬
‫دد‬      ‫ن‬   ‫ ا‬public ‫ان‬      ‫ آ‬n-pub             ‫ی‬            otherpackage ‫آ س‬
                                                                                  .       ‫ﺥ اه دا‬
                                                                    : Protection2.java ‫ی‬

package p2;
class Protection2 extends p1.Protection {
Protection2 (){
System.out.println("derived other package constructor");
// class or package only
System.out.println("n = " + n);
// class only
// System.out.println("n_pri = " + n_pri);
System.out.println("n_pro = " + n_pro);
System.out.println("n_pub = " + n_pub);
}
}


                                                                  : OtherPackage.java ‫ی‬

package p2;
class OtherPackage {
OtherPackage (){
p1.Protection p = new p1.protection)(;
System.out.println("other package contryctor");
// class or package only
System.out.println("n = " + p.n);
// class only
// System.out.println("n_pri = " + p.n_pri);
// class/ subclass or package only
// System.out.println("n_pro = " + p.n_pro);
System.out.println("n_pub = " + p.n_pub);
}
}


‫از‬   ‫ا‬        ‫وﺝ د دارد آ‬      ‫دو ی ز ی‬    ‫، در ای‬    ‫آ‬   ‫را ز ی‬           ‫ای دو‬           ‫ی‬       ‫ا‬
                  : ‫ن داد ای‬     ‫ را در زی‬p1     ‫اي‬           ‫ی‬    ‫از ای‬   ‫ی .ی‬       ‫د‬        ‫ا‬
// Demo package p1.
package p1;
// Instantiate the various classes in p1.
public class Demo {
public static void main(String args[] ){
Protection ob1 = new Protection();
Derived ob2 = new Drived();
SamePackage ob3 = new SamePackage();
}
}


                                                                              :                   ‫ار زی‬       p2 ‫اي‬           ‫ی ز ی‬

// Demo package p2.
package p2;
// Instantiate the various classes in p2.
public class Demo {
public static void main(String args[] ){
Protection2 ob1 = new


                                                                                                                 ‫ه‬            ‫وارد آ دن‬


‫ی از‬             ‫ي‬           ‫اي ﺝ ا آ دن آ‬                      ‫ﺥ‬                ‫و‬        ‫ه وﺝ د دا‬              ‫آ‬        ‫ل ای ا‬
             ‫ه ذﺥ‬             ‫ي آ ر ﺝ وا در‬                     ‫آ‬    ‫اآ‬              ‫آ‬                    ‫ا‬           ،        ‫ه‬      ‫ی ی‬
‫ي‬            ‫آ‬      ‫اي ﺝ وا وﺝ د ار . آ‬                             ‫يه‬            ‫ض ون م ، آ‬                                  ‫. در‬
        ‫ه ی آ‬                 ‫ي داﺥ‬              ‫نآ‬     .                         ‫ه ي داراي م ذﺥ‬                     ‫ارد در ﺥ‬            ‫ا‬
    ‫از ه‬                 ‫آ‬                   ‫م‬    ‫ی‬         ‫ا‬            ،               ‫ده‬       ‫هيﺥ دآ‬                       ‫می ا‬
،       ‫دﻝ‬           .               ‫آ‬       ‫ی ، آ ري آ‬              ‫د‬       ‫ا‬       ‫ی‬        ‫آ‬         ‫اي ه ی آ‬          ‫د‬            ‫ﺝا‬
    ‫ه‬            ‫ی آ‬                     ‫ي‬       ‫اي وردن آ‬           ( ‫ ) وارد آ دن‬import ‫ر‬                      ‫د‬                 ‫ﺝ وا در‬
‫ر‬            ‫ن‬       ‫د از ا‬          ‫ا‬            ،‫د‬        ‫آ ی ر وارد‬                        ‫.ه آ‬                    ‫ض روی‬            ‫در‬
         ‫و از‬            ‫ی نا‬                    ‫اي‬         ‫را‬           ‫ ی و‬import ‫ر‬                   ‫.د‬     ‫ارﺝ ع ا‬
‫د آ س‬                         ‫داری‬                ‫د.ا‬                ‫ﺝ وا‬            ‫آ‬              ‫ی‬           ‫زي‬             ‫دی‬
             . ‫ده‬            ‫را آ ه‬          ‫زی دي از آ ر ی‬                  import ‫ر‬             ‫ی ،د‬         ‫ا ن ارﺝ ع‬               ‫در‬
‫وﺝ د دا‬                ‫ر ‪ ) package‬ا‬                 ‫از د‬                               ‫رات ‪import‬‬                        ‫ﺝ وا ، د‬                   ‫ی‬        ‫در ی‬
‫ار‬           ‫ر ‪import‬‬                  ‫د‬                        ‫.‬                     ‫ار‬       ‫ه آ س‬                   ‫ط‬               ‫ی‬        ‫از‬               ‫(و‬
                                                                                                                                                         ‫:‬            ‫زی ا‬
‫;)*| ‪import pkg1[pkg2](.classname‬‬



    ‫آ‬        ‫ﺥ رﺝ ا‬                         ‫داﺥ‬                         ‫و 2‪ pkg‬م ی‬                                                        ‫1‪ pkg‬م ی‬                    ‫در ای‬
‫وﺝ د ارد‬                               ‫ا‬                            ‫ص‬            ‫در ﺥ‬                   ‫ودی‬                 ‫.ه‬            ‫ا‬      ‫ﺝا‬                    ‫ی‬
‫ی را‬               ‫، ی ی ‪classname‬‬                          ‫ی‬        ‫د . در‬                    ‫ل‬        ‫ا‬                  ‫ی‬                   ‫اردي آ‬                      ‫،‬
    ‫ی ﺝ وا ی آ‬                         ‫ده آ آ‬            ‫ن‬              ‫آ‬        ‫آ‬         ‫د‬           ‫ر )*( ا‬                 ‫و ی از ی‬             ‫آ‬
                                              ‫ده :‬              ‫ن‬           ‫آ ر را‬                     ‫آ ه دو‬                         ‫ی . ای‬            ‫را وارد‬

‫;‪import java.util.Date‬‬
‫;*.‪import java.io‬‬


             ‫ی‬                 ‫صآ ا‬                    ‫ده‬           ‫ی را ا ای‬              ‫ز نآ‬                   ‫ا‬               ‫ر‬           ‫د از‬           ‫ط:ا‬           ‫ا‬
‫د‬            ‫ﺥ اه ا‬                    ‫ی آ‬             ‫مآ‬           ‫ی‬            ‫ر‬                 ‫ا‬              ‫دﻝ‬               ‫ی .‬          ‫رگ را وارد‬
         ‫ي‬             ‫اﺝ ا ی ا از آ‬                     ‫د‬                  ‫ﺙ ي روي‬                     ‫ر ه‬             ‫د از‬           ‫،ا ا‬                  ‫ی‬         ‫ی‬
             ‫م ‪ java‬ذﺥ‬                                  ‫ارد ﺝ وا داﺥ در ﺝ وا در ی‬                                      ‫يا‬             ‫آ‬        ‫.آ‬            ‫اه دا‬
‫ل،‬                 ‫ر‬           ‫.‬                   ‫م ‪ java.lang‬ذﺥ‬                                  ‫‪java‬‬                    ‫ز ن در ی‬                  ‫. ا ا‬
‫ﺝ د‬                ‫ن ﺝ وا ون ا‬                         ‫وارد ﺥ اه آ د ا‬                                      ‫ز دا‬            ‫را آ‬               ‫ی آ‬                ‫ه‬
        ‫اي آ‬               ‫ی‬       ‫ﺥ دآ‬                             ‫ر‬                      ‫د ، ﻝ ا ای‬                 ‫د ﺥ اه‬              ‫ا‬      ‫در ‪java.lang‬‬
         ‫هي‬                            ‫يآ‬         ‫ي در‬               ‫آ ﺥ‬               ‫دل ن ا‬                 ‫ﻝ‬            ‫. ای‬        ‫ه وارد ﺥ اه‬
                                                                                                                                                        ‫د:‬            ‫ار‬
‫;*.‪import java.lang‬‬


        ‫ار دا‬          ‫ر وارد آ د ای ،‬                      ‫د از‬             ‫ا‬        ‫آ‬        ‫و‬                  ‫در دو‬            ‫ه نا‬              ‫ی آ س‬                 ‫ا‬
    ‫د‬        ‫را ا‬                  ‫از ن آ‬          ‫ی‬        ‫آ‬                    ‫ای‬            ‫،‬                      ‫)‪(silent‬‬             ‫آ‬         ‫ی‬           ‫،آ‬
    ‫ی‬          ‫ر‬                   ‫ی‬         ‫ر‬          ‫و‬               ‫اﺝ‬           ‫ی ﺥ ي ‪compile-time‬‬                                    ‫ﻝ ،‬           ‫ی . در ن‬
‫،‬        ‫آ‬             ‫د‬           ‫مآ سا‬           ‫ی . ه ﺝ ی از ی‬                              ‫ن را ذآ‬                  ‫ت‬                        ‫مآ سه ا‬
.      ‫ن‬          ‫آ‬     ‫ا‬                         ‫ی . آ در‬       ‫د‬     ‫ا‬    ‫آ‬      ‫از م آ‬        ‫ا‬
                                 : ‫آ‬          ‫د‬      ‫ ا‬import ‫ر‬        ‫، از ی د‬           ‫ل ای‬   ‫ان‬

import java.util.*;
class MyDate extends Date {
}


                                         :‫د‬        ‫ار زی ﺥ اه‬         import ‫ر‬      ‫ل ون د‬           ‫ه ن‬

class MyDate extends java.util.Date {
}


‫ا در‬       ‫ن‬   ‫ ا‬public ‫ان‬           ‫آ‬        ‫در داﺥ‬             ‫نا‬        ،‫د‬      ‫وارد‬          ‫ی‬     ‫و‬
‫ﺥ اه آ س‬          ‫لا‬        ‫ان‬   .                    ‫ﺝ د در آ وارد‬         ‫ي‬      ‫زی آ‬          ‫س‬     ‫د‬
‫اي آ ر ده ي‬            ‫ان ی آ س‬          ، ‫ن داد ای‬          "         ‫ آ‬Mypack           ‫ از‬Balance
‫د و ن را‬        ‫ ا‬public ‫ان‬      ‫ی ن را‬              ،       ‫س‬        ‫ در د‬Mypack ‫ﺥ رج از‬
                                                         : ‫ار ده‬           ‫رت زی‬     ، ‫در ی ﺥ دش‬
package MyPack;
/* Now/ the Balance class/ its constructor/ and its
show )(method are public .This means that they can
be used by non-subclass code outside their package.
*/
public class Balance {
String name;
double bal;
public Balance(String n/ double b ){
name = n;
bal = b;
}
public void show (){
if(bal<0)
System.out.print("-->> ");
System.out.println(name + " :$" + bal);
}
}
‫ای‬       ‫ز‬                        ‫.ه‬                     public ‫ان‬                     ‫ اآ ن‬Balance ‫، آ س‬                                           ‫ری‬                 ‫ه‬
             ‫آ ه‬                  ‫ا‬         ‫ان‬               ‫. ای‬                  public ‫ان‬                        ‫ در ن‬show() ‫آ س و روش‬
Test             ‫ل ، در ای‬                 ‫ان‬            .          ‫ه‬              ‫د‬               Mypack                   ‫ع آ ي ﺥ رج از‬                   ‫ه‬
             : ‫ی‬              ‫د‬        ‫ ا‬Balance ‫از آ س‬                                ‫در ا‬                ‫و‬        Mypack                   ‫ وارد آ‬Balance

import MyPack.*;
class TestBalance {
public static void main(String args[] ){
/* Because Balance is public/ you may use Balance
class and call its constructor .*/
Balance test = new Balance("J .J .Jaspers"/ 99.88);
test.show(); // you may also call show)(
}
}


‫وز‬       ‫ا‬       ‫آ‬                          ‫و‬            ‫ دا‬Balance ‫ را از آ س‬public                                                     ،                  ‫ان ی‬
                                                                                                                                                         . ‫آ‬


                                                                                                                                        Interfaces                     ‫را‬


‫ر‬        ‫زي ن آ س‬                          ‫ی آ س را از د‬                               ‫را‬          ‫ا‬           ، interface ‫د از واژ آ ي‬                                ‫ا‬
‫ري ی‬                 ‫ی ی آ س‬                                                ‫ا‬                  interface ‫د از‬               ‫ا‬           ‫ی .ی‬        ‫د‬                      ‫آ‬
                   ‫فو‬                       ‫ا‬                  ‫از‬           ‫اه آ د. را‬                                  ‫ا‬                          ‫ا م ده ، ا‬
‫د . در‬                    ‫ن‬            ‫ا‬            ‫ون‬                  ‫ي‬        ‫و رو‬                  ‫ه‬           ‫هي‬                        ‫،ا‬         ‫ه‬                  ‫آ‬
‫زي‬           ‫د‬                             ‫آ در ر‬                   ‫آ‬       ‫ی‬              ‫ی‬       ‫را‬      ‫ا‬            ‫آ‬           ‫ا‬         ‫ان‬        ‫، ای‬
‫ن‬        ‫ا‬                            ‫ادي از آ‬                  ‫د،ه‬                    ‫ی‬               ‫ر آ را‬       ‫ز .ه‬                      ‫اي‬                   ‫ﺥ د‬
 ‫را‬              ‫اد را‬                 ‫ه‬        ‫ا‬               ‫آ س‬              ‫، ی‬                   ‫ی . ه‬       ‫زي‬           ‫د‬       ‫ را‬interface                   ‫را‬
                                                                                                                                             .‫ی‬     ‫زي‬             ‫د‬
‫را ای د‬              ‫را‬                              ‫ی‬          ‫ي‬           ‫رو‬         ‫آ‬                       ‫زي ی را ، آ س ی‬                          ‫د‬       ‫اي‬
‫د از واژ‬                  ‫ا‬           .‫ی‬                 ‫زي ﺥ دش را‬                            ‫د‬       ‫ت‬       ‫ﺝ‬            ‫زاد ا‬            ‫ی.ا ،ه آ‬
‫ی روش‬               ‫و‬   ‫" ی را‬                ‫از ﺝ‬              ‫اآ‬               ‫ده‬            ‫ا ن‬                        ‫آ ي ‪ ، interface‬ﺝ وا‬
‫اﺝ ا‬           ‫ي ی ي روش در‬                              ‫از‬     ‫ی‬           ‫ر‬                  ‫وری . را‬                         ‫را‬                  ‫" در‬
    ‫اﺥ ا‬            ‫آ س دی‬               ‫ی روش از ی آ س‬                           ‫اي ای‬           ‫ل،‬                      ‫ر‬     ‫.‬                    ‫ا‬
       ‫ا‬       ‫ی ﺝ وا‬            ‫آ‬       ‫ری‬          ‫،‬               ‫ر دا‬                  ‫ی‬    ‫د ، ه دو آ س ی در ز ن آ‬
    ‫آ س ده‬                   ‫ی‬                   ‫ی‬             ‫ی . ای ا‬               ‫را ی‬              ‫ز ري رو‬                     ‫د و‬        ‫را آ ل‬
‫ای )‪ (functionality‬در‬                            ‫ر‬                                         ‫. در ی‬            ‫ﺥ اه‬                               ‫و‬        ‫ای‬
‫ي‬          ‫س زی آ‬                ‫ق ، در د‬                               ‫ری‬        ‫رود‬                            ‫و‬             ‫آ س‬         ‫ا‬
       ‫ي‬            ‫ﺝ‬                          ‫وز‬         ‫از‬                          ‫ا‬                 ‫. را‬                   ‫ار ﺥ اه‬          ‫ي‬
‫وراﺙ را‬             ‫ا‬                ‫و‬         ‫اي از رو‬                          ‫ی روش ی‬                ‫ی‬                     ‫ار ط‬               ‫ور .‬
‫اي‬     ‫ا ،‬              ‫ار‬                ‫از آ‬           ‫و‬              ‫ا‬                 ‫در‬            ‫را‬            ‫ی‬        ‫ور . از‬           ‫ﺝ د‬
‫وﺝ د‬           ‫زي ه ن را‬                 ‫ن د‬             ‫،ا‬         ‫ه‬                 ‫آ س‬           ‫ا‬                                     ‫ی آ‬            ‫آ‬
                                          ‫زد .‬                 ‫ین‬           ‫را‬        ‫را‬        ‫رت وا‬                     ‫آ‬     ‫اي ا‬            ‫دارد. ای‬
                                                                                                                                                 ‫:‬
       ‫ور آ در‬                   ‫ﺝ د‬          ‫ري از آ ر ده را‬                         ‫اي‬        ‫زم‬               ‫ای‬             ‫ان‬        ‫، ن‬            ‫را‬
                ‫.‬        ‫++‪ C‬ﺥ اه‬                              ‫در ز‬                        ‫وراﺙ‬         ‫ن‬                       ‫ر از‬       ‫رت‬            ‫ای‬


                                                                                                                               ‫دن ی را‬               ‫ﺕ ی‬


           ‫:‬                 ‫رت زی‬                   ‫ی را‬                             ‫د.‬                     ‫ی‬            ‫ی آ س‬                  ‫ی را‬

‫{ ‪access interface name‬‬
‫;)‪return-type method-name1(parameter-list‬‬
‫;)‪return-type method-name2(parameter-list‬‬
‫;‪type final-varname1 = value‬‬
‫;‪type final-varname2 = value‬‬
‫...//‬
‫;)‪return-type method-nameN(parameter-list‬‬
‫;‪type final-varnameN = value‬‬
‫}‬
‫آ‬        ‫رود. و‬                     ‫ر‬                  ‫ی ا‬            ‫)‪ (access‬ی ‪ public‬ا‬                                  ‫،د‬               ‫در ای‬
                ‫ی ا‬             ‫اي‬                      ‫و را‬              ‫ل‬      ‫ضا‬                                  ‫د‬             ‫،‬                   ‫را‬                 ‫د‬
‫د‬               ‫ن‬       ‫ان ‪ public‬ا‬                         ‫آ‬           ‫د. و‬         ‫س ﺥ اه‬               ‫، در د‬               ‫م‬           ‫نا‬      ‫اي آ در ن ا‬
    ‫ي نه‬                ‫و‬            ‫ا‬        ‫د. ‪ name‬ه ن م را‬                            ‫د ﺥ اه‬            ‫ا‬        ‫ه آ دی ي‬                               ‫،‬        ‫، را‬
‫ي‬        ‫.ا‬                      ‫داراي‬                 ‫ن‬        ‫يا‬             ‫آ رو‬           ‫ر د. ﺝ آ‬                        ‫ان‬                ‫ي را‬
          ‫:‬         ‫ده‬                   ‫ي‬      ‫ور رو‬                           ‫دو‬               ‫ار‬         ‫از ‪ parameter-list‬ی );(‬
‫.‬               ‫وﺝ د ا‬                     ‫داﺥ ی را‬                                   ‫ي‬         ‫اي رو‬                                   ‫زي‬         ‫د‬            ‫ه‬         ‫ا‬
        ‫ه را‬                ‫ی .‬               ‫زي‬        ‫د‬       ‫را‬         ‫رو‬         ‫، ی آ‬                      ‫ی را‬                           ‫آ در‬                ‫ه آ‬
    ‫آ‬               ‫. ی‬                  ‫‪ final‬و‪ static‬ه‬                         ‫ر‬                   ‫د.‬         ‫ن‬        ‫،ا‬            ‫ت را‬            ‫ان داﺥ ا‬
    ‫ار ده‬           ‫،‬           ‫ار ﺙ‬               ‫ی‬        ‫ی‬              ‫ه‬              ‫.‬                              ‫زي‬             ‫د‬        ‫آ س‬
‫ر‬           ‫ه‬               ‫و‬            ‫رو‬        ‫،آ‬                     ‫ن‬          ‫ان ی ‪ public‬ا‬                   ‫ﺥ دش‬                   ‫را‬     ‫.ا‬                   ‫اوﻝ‬
                                                                                                                          ‫د.‬            ‫‪ public‬ﺥ اه‬
    ‫آ آ‬                 ‫ی‬        ‫د را‬                  ‫ل ی را‬                  ‫آ . ای‬                ‫ه‬          ‫را‬       ‫را‬        ‫ی‬             ‫ﻝ از ی‬         ‫اآ ن‬
         ‫د.‬                     ‫را‬                 ‫د‬                     ‫را‬          ‫آ ی‬         ‫م ‪ ()callback‬ا‬                                   ‫رو‬                    ‫در‬

‫{ ‪interface Callback‬‬
‫;)‪void callback(int param‬‬
‫}‬




                                                                                                                                                  ‫زي را‬                 ‫پ د‬


‫ی .‬           ‫زي‬            ‫د‬            ‫را‬     ‫ن را‬            ‫ا‬              ‫ی آ س‬                  ‫ی ،ی ی‬                       ‫ی‬         ‫را‬         ‫ر را‬             ‫ه‬
‫ي‬        ‫رو‬                 ‫و‬                      ‫آ س‬              ‫ی‬     ‫‪ implements‬را در‬                           ‫،ﺝ‬            ‫زي ی را‬                  ‫د‬       ‫اي‬
        ‫ﺝ‬                       ‫آ س آ در‬                        ‫ی‬                              ‫ی .‬         ‫را ای د‬                 ‫را‬                               ‫ی‬
                                                                                      ‫:‬                    ‫رد زی‬                       ‫،‬         ‫‪implements‬ا‬

‫]‪access class classname [extends superclass‬‬
‫{ ]]...‪[implements interface [/interface‬‬
// class-body
}


‫را‬               ‫از ی را‬               ‫ی آ س‬                ‫د. ا‬                  ‫د‬        ‫"ا‬            ‫ی ا‬             ‫ ا‬public ‫( ی‬access)                    ‫در ای‬
        ‫ی آ س دو را‬                         ‫.ا‬        ‫آ‬      ‫ﺝا‬              ‫از ی ی‬          ‫آ‬                       ‫ی‬    ‫را‬          ‫ی ، را‬          ‫زي‬            ‫د‬
        ‫وی‬                       ‫ن‬      ‫ن روش ی‬                        ، ‫ی‬      ‫زي‬           ‫، د‬                 ‫آ‬        ‫ن‬        ‫را ا‬         ‫را آ روش ی‬
    ‫ی‬                ‫آ‬       ‫زي‬         ‫د‬        ‫را‬       ‫ی آ ی را‬                    ‫. رو‬           ‫د ﺥ اه‬                   ‫ا‬      ‫ن ه ی از را‬
                         ‫ع‬       ‫ی‬               ‫زي ی د‬                 ‫د‬       ‫ع روش‬                ‫ی‬                   ‫.ه‬          ‫ن‬        ‫ ا‬public ‫ان‬
    ‫د اي‬                 ‫ل از آ س‬                 ‫ی‬       ‫. در ای‬                     ‫ز ري دا‬                ‫و‬                    interface       ‫ی‬        ‫در‬
                                                               : ‫ی‬                    ‫زي‬         ‫ را د‬callback                       ‫آ را‬        ‫آ‬              ‫ه‬

class Client implements Callback {
// Implement Callback's interface
public void callback(int p ){
System.out.println("callback called with " + p);
}
}


.            ‫ا‬               ‫ن‬       ‫ ا‬public                 ‫د‬                        ‫د از‬              ‫ا‬           callback() ‫آ‬                          ‫دا‬           ‫د‬
    .                ‫ن ﺥ اه‬           ‫ ا‬public ‫ان‬                  ،        ‫آ‬         ‫زي‬         ‫د‬           ‫را‬          ‫آ ی روش را‬               ‫ی د وري : و‬
                 ‫ا‬           ‫آ ا‬         ‫ز و ه رای ا‬                         ‫،ه‬        ‫آ‬         ‫زي‬                  ‫د‬    ‫را‬         ‫ی آ را‬                ‫اي آ‬
‫ را‬callback ‫زي‬                              ‫د‬         client ‫ي از‬                 ‫ل ، روای‬                   ‫ان‬           . ‫ی‬             ‫ی‬     ‫اي ﺥ د ن‬
                                                                       : ‫ی‬                       ‫ را ا‬nonIfaceMeth() ‫ا م داد و روش‬

class Client implements Callback {
// Implement Callback's interface
public void callback(int p ){
System.out.println("callback called with " + p);
}
void nonIfaceMeth (){
System.out.println("Classes that implement interfaces " +
"may also define other members/ too.");
}
‫}‬




                                                                           ‫ت را‬                 ‫ی ار‬         ‫زی از‬           ‫پ د‬                            ‫د‬


    ‫ع آ س از ی را‬                 ‫يی‬                ‫آ‬       ‫نآ‬         ‫ا‬               ‫ان ارﺝ ت‬                    ‫ه ی را‬                      ‫ا‬
‫ان در‬           ‫آ را‬          ‫زي‬           ‫د‬       ‫را‬          ‫ن‬       ‫ا‬           ‫آ را‬                ‫اي از آ‬               ‫ی .ه‬                  ‫د‬        ‫ا‬
‫،‬    ‫آ‬          ‫اﺥ ا‬     ‫از ای ارﺝ ت‬                        ‫ی ی‬            ‫ی روش را از‬                       ‫د. و‬            ‫ي ذﺥ‬                      ‫ن‬
    ‫. ای ی‬        ‫ﺥ اه‬     ‫اﺥ ا‬        ‫،‬            ‫ن ارﺝ ع‬                    ‫آ‬         ‫را‬            ‫وا‬           ‫ا س‬                                ‫روای‬
         ‫رد ﺝ‬     ‫رت ی‬             ‫اﺝ ا‬                 ‫د در‬       ‫ی اﺝ ا‬               ‫آ‬         ‫. رو‬                  ‫ه ي آ ي را‬                     ‫از ﺝ‬
‫،‬          ‫اﺥ ا‬        ‫را روي ن‬             ‫از آ ي آ رو‬                        ‫دی‬       ‫ده‬             ‫اﺝ ز‬              ‫آ‬   ‫دو‬                        ‫ار‬
    ‫در ر‬          ‫دا‬     ‫زي‬                ‫ون ای‬             ‫ی ی را‬                     ‫ا از‬                        ‫اﺥ ا‬         ‫.آ‬                    ‫ای د‬
    ‫ارﺝ ع آ س‬            ‫د از ی‬                ‫ا‬               ‫دازش‬                    ‫ی . ای‬               ‫زی‬      ‫،‬                 ‫"‪"callee‬دا‬
                                                                               ‫.‬       ‫زی آ س ا‬                     ‫ی‬                 ‫اي د‬
‫ل در‬         ‫ر روش‬            ‫ا‬        ‫ی‬           ‫اﺝ ا، در‬                ‫ل ی روش در‬                            ‫ي ی‬         ‫نﺝ‬            ‫ط:‬               ‫ا‬
‫ر‬            ‫از را‬                 ‫ا‬               ‫د، ی‬                            ‫ر‬     ‫ي )‪(over head‬‬                                         ‫ﺝ وا ،‬
‫ي روش ‪ ()callback‬را از‬                         ‫ل‬        ‫.‬          ‫د‬           ‫در آ ه ي ‪ performance-critical‬ا‬                                              ‫ا‬
                                                                           ‫:‬                    ‫اﺥ ا‬        ‫ارﺝ ع را ،‬                     ‫ی ی‬

‫{ ‪class TestIface‬‬
‫{) ][‪public static void main(String args‬‬
‫;)(‪Callback c = new Client‬‬
‫;)24(‪c.callback‬‬
‫}‬
‫}‬


                                                                                            ‫:‬                    ‫ار زی‬                    ‫ای‬

‫24 ‪callback called with‬‬


          ‫ای وﺝ د ی‬       ‫.‬        ‫‪callback‬‬                 ‫آ از ع را‬                             ‫ی‬         ‫ري‬           ‫‪C‬‬            ‫آ‬            ‫آ‬        ‫د‬
‫د‬        ‫روش )(‪ callback‬ا‬                               ‫اي د‬       ‫ان از ‪C‬‬                                  ‫.ا‬               ‫ن‬         ‫از ‪client‬‬
‫ارﺝ ع‬                 ‫.ی‬             ‫دا‬               ‫ د‬client ‫ئ آ س‬               ‫از ا‬            ‫ه‬        ‫ا‬                ‫د،ا‬
        ،             ‫ه دارد . ی‬              ، ‫ ﺥ د‬interface ‫ن‬            ‫ا‬                   ‫ن‬       ‫يا‬       ‫از رو‬                  ‫را‬
                ‫ و‬client             ‫ن‬            ‫د‬    ‫د‬     ‫ ا‬nonIfaceMeth()                               ‫اي د‬        C ‫ان از‬
                                                                                           .       ‫ا‬            ‫ی‬       callback
    ‫ی‬       ‫ا‬                    ‫ر‬        ،                ‫ارﺝ ع را‬                ‫ه آ ی‬           ‫ن‬                ‫ل‬          ‫در ﻝ‬
            ‫ی‬    ‫را‬        ‫ارﺝ‬                ‫ی‬             ‫رت‬        ‫،ا‬                  ‫دا‬            ‫ئد‬              ‫زي‬         ‫د‬
‫رت زی ، ای د‬                     ‫ را‬Callback ‫زي‬               ‫د‬        ‫ه ای آ ر د ، ا ا دو‬                              ‫اي‬      . ‫ده‬
                                                                                                                               : ‫ی‬

// Another implementation of Callback.
class AnotherClient implements Callback {
// Implement Callback's interface
public void callback(int p ){
System.out.println("Another version of callback");
System.out.println("p squared is " +( p*p));
}
}


                                                                                   :      ‫نآ‬           ‫ي را ا‬           ‫اآ ن آ س‬

class TestIface2 {
public static void main(String args[] ){
Callback c = new Client)(;
AnotherClient ob = new AnotherClient)(;
c.callback(42);
c = ob; // c now refers to AnotherClient object
c.callback(42);
}
}


                                                                               :               ‫ار زی‬                      ‫ای‬

callback called with 42
Another version of callback
p squared is 1764
‫ن‬        ‫آ ‪C‬‬           ‫ع‬                              ‫اﺥ ا‬           ‫از )(‪ callback‬آ‬                 ‫، روای‬                   ‫ری‬        ‫ه‬
                  ‫،ی‬         ‫د ا‬      ‫ر‬           ‫ل‬            ‫ای‬         ‫د.ا‬                       ‫آ ،‬        ‫اﺝ ا ارﺝ ع‬              ‫در‬
                                                                                         ‫د.‬         ‫ه ﺥ اه‬             ‫و آ ه را‬


                                                                                                    ‫)‪(partial‬‬             ‫زي‬           ‫پ د‬


‫د‬          ‫را آ‬    ‫ن را‬                                ‫ی‬            ‫، ا روش‬                     ‫ی را‬               ‫ی آ س در‬              ‫ا‬
                           ‫ل:‬      ‫ان‬             ‫د.‬           ‫ن‬      ‫ان ‪ abstract‬ا‬                 ‫نآ س ی‬               ‫،‬         ‫زي‬

‫{ ‪abstract class Incomplete implements Callback‬‬
‫;‪int a, b‬‬
‫{)( ‪void show‬‬
‫;)‪System.out.println(a + " " + b‬‬
‫}‬
‫...//‬
‫}‬


‫ان‪abstract‬‬                 ‫و ی‬            ‫زي‬               ‫د‬        ‫آ س ‪ Incomplete‬روش )(‪ callback‬را‬                                ‫در ای‬
‫زي‬       ‫د ی ی روش )(‪ callback‬را د‬                                       ‫آ از ‪ Incomplete‬ارث‬                       ‫د. ه آ‬          ‫ن‬     ‫ا‬
                                                                          ‫د.‬        ‫ن‬         ‫ان ‪ abstract‬ا‬            ‫ی و ی ﺥ دش‬


                                                                                                                         ‫ر دن را‬


     ‫م‬      ‫ی آ س‬                ‫دازی .‬                              ‫ل‬         ‫ی‬          ‫، اﺝ ز ده‬            ‫اي درك رت را‬
‫آ د . ا ، راه ي‬                  ‫زي‬           ‫د‬       ‫را‬            ‫ا از ﺙ‬         ‫د و‬                  ‫دادی آ ی‬              ‫‪ stack‬را‬
    ‫داراي ا از‬         ‫ا‬                      ‫ل،ی‬              ‫ان‬         ‫وﺝ د دارد .‬                   ‫زي ی‬       ‫د‬     ‫اي‬    ‫دي‬
                                                                                                    ‫.‬         ‫ش‬                ‫وی‬        ‫ﺙ‬
     ‫درﺥ‬    ‫ي )‪ ، (kinded list‬ی‬                                               ‫رای ، ی‬           ‫را در ی‬            ‫ان‬                   ‫ه‬
            ‫د را‬             ‫زي‬           ‫د‬                               ‫آ‬                    ‫د.‬       ‫اري‬             ‫وا ﻝ‬        ‫دودو‬
      ‫و ای را‬          ‫ه‬                      ‫ف را‬                  ‫و )(‪pop‬‬         ‫ي )(‪push‬‬             ‫رو‬        ‫.ی‬              ‫ن‬     ‫ی‬
،              ‫زي ن ﺝ ا‬    ‫د‬   ‫از‬         ‫ی‬         ‫ن را‬    .               ‫زي‬       ‫د‬   ‫ت‬        ‫از ﺝ‬
    ‫ﺥ اه‬   ‫ی‬       ‫ت ﺥ ص ﺥ د را‬           ‫زي‬        ‫د‬      ‫،وه‬        ‫د ا‬         ‫ﺥ‬          ‫ی‬     ‫را‬    ‫ی‬
‫را‬             ‫د‬          ‫وﺝ د دارد آ ی‬        ‫را‬       ‫در ای‬       ‫. اول ای‬     ‫آ‬       ‫ل‬        ‫دو‬     .‫آ د‬
‫ه دو‬                ‫ار ده . ای را‬   IntStack.java ‫م‬                   ‫ی‬        ‫آ . ن را در ی‬             ‫ی‬
                                                                .     ‫د ﺥ اه‬         ‫ا‬       ‫زي‬        ‫ع د‬

// Define an integer stack interface.
interface IntStack {
void push(int item); // store an item
int pop)(; // retrieve an item


                                    :          ‫ ای د‬FixedStack ‫م‬                     ‫يی آ س‬

// An implementation of IntStack that uses fixed storage.
class FixedStack implements IntStack {
private int stck[];
private int tos;
// allocate and initialize stack
FixedStack(int size ){
stck = new int[size];
tos =- 1;
}
// Push an item onto the stack
public void push(int item ){
if(tos==stck.length-1 )// use lenggth member
System.out.println("Stack is full.");
else
stck[++tos] = item;
}
// Pop an item from the stack
public int pop (){
if(tos < 0 ){
System.out.println("Stack underflow.");
return 0;
}
else
return stck[tos--];
}
}
class IFTest {
public static void main(String args[] ){
FixedStack mystack1 = new FixedStack(5);
FixedStack mystack2 = new FixedStack(8);
// push some numbers onto the stack
for(int i=0; i<5; i++ )mystack1.push(i);
for(int i=0; i<8; i++ )mystack2.push(i);
// pop those numbers off the stack
System.out.println("Stack in mystack1:");
for(int i=0; i<5; i++)
System.out.println(mystack1.pop) ();
System.out.println("Stack in mystack2:");
for(int i=0; i<8; i++)
System.out.println(mystack2.pop) ();
}
}


    ‫ی‬      ‫د از ه ن‬   ‫ا‬      ‫ی‬            ‫ وﺝ د دارد آ‬IntStack ‫از‬           ‫زي دی‬        ‫د‬      ‫در زی ی‬
    ‫د. ا‬      ٢ ‫ﺥ‬         ‫ل اوﻝ‬       ‫ی‬          ‫زي ، ه‬            ‫د‬   ‫آ . در ای‬        ‫ ای د‬Interface
‫ي ز‬           ‫را ق‬    ‫.ه‬          ‫ی‬       ‫ا از ا ای‬       ‫از‬               ،‫د‬      ‫وز‬        ‫ل اوﻝ‬    ‫ای‬
                                                               .       ‫دو ا ﺥ اه‬             ‫، ا از‬

// Implement a "growable" stack.
class DynStack implements IntStack {
private int stck[];
private int tos;
// allocate and initialize stack
DynStack(int size ){
stck = new int[size];
tos =- 1;
}
// Push an item onto the stack
public void push(int item ){
// if stack is full/ allocate a larger stack
if(tos==stck.length-1 ){
int temp[] = new int(stck.length * 2]; // duble size
for(int i=0; i + stck = temp;
stck[++tos] = item;
}
else
stck[++tos] = item;
}
// Pop an item from the stack
public int pop (){
if(tos < 0 ){
System.out.println("Stack underflow.");
return 0;
}
else
return stck[tos--];
}
}
class IFTest2 {
public static void main(String args[] ){
DynStack mystack1 = new FixedStack(5);
DynStack mystack2 = new FixedStack(8);
// these loops cause each stack to grow
for(int i=0; i<12; i++ )mystack1.push(i);
for(int i=0; i<20; i++ )mystack2.push(i);
System.out.println("Stack in mystack1:");
for(int i=0; i<12; i++)
System.out.println(mystack1.pop) ();
System.out.println("Stack in mystack2:");
for(int i=0; i<20; i++)
System.out.println(mystack2.pop) ();
}
}


‫آ . ای آ س‬          ‫د‬       ‫ ا‬DynStack ‫ و ه از‬FixedStack ‫زي‬      ‫د‬       ‫ي ه از‬     ‫آ س‬
‫هي‬     ‫اﺥ ا‬     ‫آ‬       ‫ا‬      ‫ان‬   ‫ده . ای‬   ‫ا م‬   ‫ی ارﺝ ع را‬       ‫ی‬      ‫ی‬     ‫ای ر را‬
                .       ‫ﺥ اه‬         ‫ی ( از‬   ‫يز نآ‬    ) ‫اﺝ ا‬        ‫ در‬pop() ‫ و‬push()
/* Create an interface variable and
access stacks through it.
*/
class IFTest3 {
public static void main(String args[] ){
IntStack mystack; // create an interface reference variable
DynStack ds = new DynStack(5);
FixedStack fs = new FixedStack(8);
mystack = ds; // load dynamic stack
// push some numbers onto the stack
for(int i=0; i<12; i++ )mystack.push(i);
mystack = fs; // load fixed stack
for(int i=0; i<8; i++ )mystack.push(i);
mystak = ds;
System.out.println("Values in dynamic stack:");
for(int i=0; i<12; i++)
System.out.println(mystack.pop) ();
mystak = fs;
System.out.println("Values in fixed stack:");
for(int i=0; i<8; i++)
System.out.println(mystack.pop) ();
}
}


ds        ‫ن‬         ‫،ه‬             ‫ ی‬IntStack.           ‫را‬         ‫ی ارﺝ ع ا‬mystack ،                        ‫در ای‬
‫د‬        ‫ ا‬DynStack ‫زي‬             ‫د‬                     ‫ی‬     pop() ‫ و‬push() ‫، از روای ي‬                 ‫ارﺝ ع‬
FixedStack                    ‫ آ‬pop() ‫ و‬push() ‫آ ، از روای ي‬                   ‫ ارﺝ ع‬fs        ‫آ‬        ‫آ .و‬
‫اﺝ ا‬          ‫در‬          ‫آ‬              ‫ما‬     ، ‫دادی‬              ‫ری‬     ‫آ .ه‬           ‫د‬        ‫،ا‬         ‫ی‬
     ‫ارﺝ ع را‬             ‫ی ی‬       ‫از‬        ‫از ی را‬             ‫زی ي‬     ‫د‬                  ‫.د‬              ‫ا م‬
 .                 ‫اﺝ ا‬       ‫در‬                    ‫ن‬        ‫اي ر‬   ‫ﺝ وا‬       ‫ر‬      ‫هي آ‬               ‫از‬       ‫ی‬


                                                                                                   ‫ه در را‬


     ‫د‬                ‫ي‬       ‫آ‬                 ‫ا‬   ‫اك‬        ‫ي‬     ‫اي وارد آ دن ﺙ‬             ‫از را‬      ‫ا‬
،             ‫ارده اوﻝ‬           ‫دی دﻝ ا‬          ‫آ‬          ‫هی‬                          ‫آ در‬         ‫ن ی را‬        ‫از ا‬
‫زي‬      ‫را د‬         ‫آ را‬       ‫و‬    ‫)ی‬                 ‫را در ی آ س‬             ‫آ ن را‬              ‫ی .و‬        ‫د‬        ‫ا‬
‫د از‬     ‫ا‬          ‫د . ای آ ر‬       ‫و ﺥ اه‬       ‫ه در‬        ‫ان ﺙ‬          ‫ه‬             ‫ن‬           ‫ا‬   ‫(آ‬    ‫آ‬
const ‫ت‬         ‫ا‬     ‫# و‬defined ‫ي‬            ‫رگ از ﺙ‬        ‫اي ای د ی ر‬                 ‫ر‬C++/C‫ در‬feader ‫ی‬
             ‫آ در‬           ‫آ‬    ‫ه‬        ،             ‫رو‬    ‫ه‬                 ‫در‬         ‫را‬     ‫ی‬       ‫. ا‬
     ‫هيﺙ‬        ‫آ نآ س‬               ‫ای ا‬       . ‫آ‬          ‫زي‬       ‫د‬        ‫ي را‬             ‫در وا‬           ‫ن را‬
                                 .    ‫آ د ا‬       ‫ وارد‬final ‫ه ي‬                ‫ان‬            ‫آ س‬         ‫يا‬            ‫را‬
    automated) ‫ﺥ دآ ر‬                             ‫زي ی‬            ‫د‬       ‫اي‬                    ‫ي از ای‬             ‫ل‬
                                                              .       ‫د ا‬            ‫د‬        ‫( ا‬decision maker

import java.Random;
interface SharedConstants {
int NO = 0;
int YES = 1;
int MAYBE = 2;
int LATER = 3;
int SOON = 4;
int NEVER = 5;
}
class Questionimplements SharedConstants {
Random rand = new Random)(;
int ask (){
int prob =( int( )100 * rand.nextDouble))(;
if( prob < 30)
return NO; // 30%
else if( prob < 60)
return YES; // 30%
else if( prob < 75)
return LATER; // 15%
else if( prob < 98)
return SOON; // 13%
else
return NEVER; // 2%
}
}
class AskMe implements SharedConstante {
static void answer(int result ){
switch(result ){
case NO:
System.out.println("No");
break;
case YES;
System.out.println("Yes");
break;
case MAYBE:
System.out.println("Maybe");
break;
case LATER:
System.out.println("Later");
break;
case SOON:
System.out.println("Soon");
break;
case NEVER:
System.out.println("Never");
break;
}
}
public static void main(String args[] ){
Question q = new Question)(;
answer(q.ask) ();
answer(q.ask) ();
answer(q.ask) ();
answer(q.ask) ();
}
}


.            ‫د‬    ‫ ا‬Random     ‫ارد ﺝ وا ی‬       ‫يا‬    ‫ازآ‬       ‫از ی‬          ‫آ ای‬      ‫دا‬   ‫د‬
      ‫آ‬          ‫ی روش ا‬           ‫. ای آ س در‬        ‫ا‬     ‫د‬          ‫ا اد‬     ‫اه آ‬   ‫ای آ س‬
    ‫ل ، از‬        ‫ده . در ای‬   ‫ن را‬         ‫ز‬    ‫رد‬         ‫در‬     ‫د‬    ‫اري ار م‬       ‫ا ن‬
‫ود ٠ ٠ ٠ ١ا را‬                 ‫در‬        ‫د‬             ‫. ای روش ا اد‬                 ‫ا‬           ‫د‬           ‫ ا‬nextDouble() ‫روش‬
                                                                                                                             . ‫دا‬
‫ را‬SharedConstants                   ‫ و ه دو را‬AskMe ‫ و‬Question‫دو آ س‬                                                                    ‫در ای‬
‫ و‬NEVER ‫ و‬LATER ،SOON ،MAYBE ،Yes ، No ‫، ﺝ ی آ‬                                                                         ‫آ‬         ‫زي‬           ‫د‬
‫ی ه آ س‬                ‫ری‬        ‫آ‬                ‫اﺝ‬        ‫ه‬        ‫ای ﺙ‬        ‫ا . داﺥ ه ی آ س ، آ‬                                      ‫ی‬
‫ی اﺝ اي‬                     ‫. در ای‬              ‫د ا‬       ‫ارث‬        ‫از‬                 ‫د ی‬                 ‫ی‬               ‫ر‬          ‫را‬
    .‫د‬      ‫وت ﺥ اه‬         ‫ر اﺝ ا‬               ‫ی در ه‬          ‫آ‬    ‫آ‬      ‫.د‬          ‫آ‬               ‫ه‬       ‫را‬              ‫از ای‬

Later
Soon
No
Yes




                                                                                                 ‫ش داد‬                ‫ﺕ ان‬        ‫را‬              ‫را‬


‫رز ن‬            ‫د. د‬    ‫ارث‬         ‫دی‬       ‫ا از ی را‬                      extends ‫د از واژ آ ي‬                             ‫ا‬           ‫ی را‬
     ‫آ آ از را‬              ‫زي‬           ‫د‬        ‫را‬        ‫آ س را‬           ‫ی‬           ‫. و‬         ‫ا‬           ‫ي ارث‬              ‫آ‬
‫را‬       ‫وراﺙ‬          ‫داﺥ ز‬                 ‫ی‬         ‫ي‬        ‫رو‬    ‫زی ي آ‬                 ‫د‬       ‫، ی‬              ‫د ا‬    ‫ي ارث‬                ‫دی‬
                                                                                 :        ‫آ‬              ‫ه‬       ‫ﻝ را‬        . ‫ی‬         ‫اه‬

// One interface can extend another.
interface A {
void meth1();
void meth2();
}
// B now includes meth1 )(and meth2 -- )(it adds meth3.)(
interface B extends A {
void meth3();
}
// This class must implement all of A and B
class MyClass implements B {
public void meth1 (){
System.out.println("Implement meth1.)(");
}
public void meth2 (){
System.out.println("Implement meth2.)(");
}
public void meth3 (){
System.out.println("Implement meth3.)(");
}
}
class IFExtend {
public static void main(String args[] ){
MyClass ob = new MyClass();
ob.meth1();
ob.meth2();
ob.meth3();
}
}


Myclass ‫)( را در آ س‬meth1 ‫زي‬                    ‫د‬        ‫آ‬        ‫اه‬     ‫ا‬                 ‫ان ی‬
    ‫،ه‬          ‫ری‬       ‫.ه‬        ‫ ﺥ اه‬comile-time ‫وز ﺥ ي‬                        ‫ی . ای‬          ‫ﺝ‬
    ‫ه‬    ‫ن را‬                  ‫ی‬       ‫ي‬        ‫رو‬   ‫ی آ‬     ‫آ‬     ‫زي‬   ‫را د‬     ‫آ ی را‬           ‫آ‬
                                           .‫ی‬       ‫زي‬     ‫ارث د ا را د‬        ‫ی را‬    ‫آ ام آ از‬
                     .        ‫ﺝ وا ه‬        ‫ی‬                ‫از‬           ‫ه دو‬        ‫ه و را‬
‫آ‬     ‫ا اع داد‬
‫ن داد ه‬           ‫زي ا اع‬                    ‫پ د‬




                           ‫:‬         ‫وی ای‬
                  ‫ه‬      ‫ر‬
                   ‫رای ه‬
                   ‫ی ه‬




     ‫.‬    ‫ﺥ اه‬   ‫ﺥ ن داد‬       ‫زي ا اع‬   ‫د‬         ‫در ای‬
‫رﺵ ه‬


         ‫ﺝ وا‬          ‫ا‬          ‫ر‬        ‫.داد ه‬                                                ‫از ا اع داد ه‬                               ‫ان ی‬                   ‫ه‬            ‫ﺝ وا از ر‬
‫ر‬                 ‫ی وه‬                      ‫ر‬                      ‫د‬        ‫ی و‬                   ‫از ا اع داد ه‬                              ‫،ی‬                                        ‫‪String‬‬
                                               ‫.‬                                ‫ض‬                ‫در‬           ‫ی .‬                   ‫ر‬                       ‫ه‬       ‫رای ا از را‬
‫ان رای ه‬                                       ‫د.ه‬                          ‫د‬           ‫ا ا‬               ‫ر‬               ‫ه‬                 ‫دن‬          ‫ی‬               ‫ا‬        ‫از ‪String‬‬
         ‫ان‬           ‫را‬                                   ‫ل‬                                                      ‫ا‬             ‫ر‬           ‫ه‬       ‫د. ﺙ‬                ‫ی‬              ‫ا‬     ‫ر‬
‫ع‬             ‫ه‬                   ‫ی‬            ‫ان‬              ‫ع ‪ String‬را‬                                ‫ه‬                    ‫داد.‬                     ‫ع ‪String‬‬                       ‫ه‬
                                                                                                                                ‫ل‬           ‫ان‬          ‫داد.‬                           ‫‪String‬‬


‫”‪String str=”this is a test‬‬
‫;)‪System.out.println(str‬‬

    ‫ی .ای‬                                  ‫ن‬           ‫”‪“this is a test‬‬                                ‫ر‬                        ‫از ع ‪ string‬ا‬                                        ‫‪ str‬در ای‬
‫ه و‬                    ‫ع ‪ string‬وی‬                             ‫ه‬            ‫د.‬                        ‫داد‬             ‫ی‬          ‫رت )(‪println‬‬                                    ‫و‬           ‫ر‬
                                            ‫ز .‬                         ‫ن‬           ‫و‬            ‫ر ر‬                      ‫را‬                     ‫زی د دار‬               ‫ت وی‬                 ‫ﺥ‬
‫ن‬                       ‫رز ای‬              ‫ی .دﻝ‬               ‫ر‬                    ‫ﺝ وا‬              ‫سه‬                                     ‫س در‬               ‫ی‬       ‫اول‬            ‫‪string‬‬
                                                       ‫ی.‬                   ‫ر‬                     ‫ز‬                            ‫از‬               ‫ر‬                   ‫ه‬            ‫ر‬               ‫ا‬
    ‫در وا‬                         ‫ای د‬                 ‫ا‬           ‫ه ر‬                           ‫, نا‬                 ‫ا‬        ‫ه‬            ‫ی در ر ر‬
‫ل در‬            ‫ان‬                ‫ی .‬              ‫ر‬                                    ‫ا ه‬            ‫ر‬              ‫ه‬             ‫ﺙ‬           ‫.‬    ‫س ‪ string‬ا‬                       ‫از‬
                                                                                                                                                                                 ‫رت زی‬
‫;)”‪System.out.println(“this is a string,too‬‬

     ‫ه‬            ‫ﺙ‬         ‫ی ی‬        ‫ی .روش‬                      ‫ر‬                     ‫ا‬            ‫ر‬               ‫ﺙ‬                     ‫”‪“this is a string,too‬‬                           ‫ر‬
              ‫.‬             ‫ا‬     ‫دی‬                               ‫ﻝ در ز ن ه‬                                         ‫ه‬             ‫ن ی ی ر‬                     ‫در ﺝ وا ه‬                    ‫ر‬
 ‫ی‬                         ‫ع ‪string‬‬                    ‫ه‬                                 ‫ان ا‬                 ‫ا‬           ‫ه‬             ‫ی در ر ر‬                                             ‫دو‬
    ‫ای‬                ‫د.ا‬         ‫اه‬                                        ‫ن ه‬              ‫ا‬            ‫‪string‬‬                        ‫ه‬           ‫از ای د‬                            ‫.ی‬    ‫ه‬
                                       ‫:‬                           ‫ای‬       ‫دو دﻝ‬                 ‫ی,ا‬                                   ‫ودی ﺝ‬                       ‫ا‬                 ‫ع‬
                                  ‫ای د‬             ‫ﺝی‬                           ‫ا‬                         ‫,ه‬                            ‫ا دا‬            ‫ر‬                    ‫ز‬              ‫١_ا‬
                                                                                                                                                    ‫.‬                       ‫رد‬        ‫ات‬
‫ه‬            ‫ر‬          ‫ن‬     ‫ا‬            ‫ا‬        ‫ی‬            ‫ در ﺝ وا‬StringBuffer ‫م‬                        string                        _٢
‫ا م‬                  ‫ه ه ز در ﺝ وا‬             ‫ر‬        ‫ط‬              ‫دازش‬             ‫م ره‬         ‫ای‬             ,‫زد‬              ‫اه‬      ‫را‬
                                                                                                                                         .       ‫ه‬
‫ن‬                ‫ر‬     ‫د از‬           ‫ی روش ,ا‬                   .‫ه وﺝ د دارد‬                 ‫ا ای د ر‬                              ‫روش ه‬
                                                                                                                          :        ‫ل زی ا‬
String mystring = “this is a test”;

    ,        ‫زا‬         ‫ه‬         ‫ر در‬                  ‫ای‬             ‫در ه‬        ‫ا‬           ‫ل ن را‬          ُ              ‫از ای د ی‬
                                                                                                                                   . ‫ر ی‬
                                                        : ‫ده‬                  ‫ی‬        ‫ را‬mystring ‫رت زی‬                      ‫ل‬     ‫ان‬
System.out.println(my string);

        ‫ا اد م دو ر‬               ‫.از ن‬        ‫ا‬             ‫ی‬         String ‫ع‬                ‫ه‬           ‫ا‬       ‫"+" در ﺝ وا‬
                                                                                  ‫رت زی‬              ‫ل‬         ‫ان‬             .‫د‬         ‫د‬        ‫ا‬
String mystring = “I” + “like” + “java. “;

                                                                  .‫د‬              mystring ‫“ در‬I like java. “ ‫ن‬                              ‫ذﺥ‬
         equals() ‫د از‬                ‫ا . ا‬             ‫ر‬               ‫در ای‬           ‫ﺥ از‬       .‫دارد‬            ‫ی‬         string ‫س‬
        ‫را‬        ‫ر‬     ‫لی‬            ‫ا‬        length()                   ‫اﺥ ا‬           .         ‫را ر‬              ‫و دو ر‬                  ‫ا‬
        ‫در ر‬           ‫رد‬                  ‫ﺝ د در‬                 ‫را‬         ‫ا‬               ‫ ه‬charAt() ‫د از‬              ‫وری . ا‬                ‫د‬
                                               :    ‫ا‬             ‫ن داد‬            ‫در ذی‬              ‫ای‬                  . ‫وری‬              ‫را‬
Boolean equals(String object)
Int length()
Char charAt(int index)



:‫ل‬           ‫ان‬         .         ‫د‬       ‫ی ا اع رای ه ا‬                 ‫ن‬         ‫ه‬     ‫ا‬                 ‫ا‬        ‫ر‬     ‫از رای ه‬               ‫اﻝ‬
Class stringdemo3{
Public static void main(string args[]){
String str[] = {“one”,”two”,”three”};
For (int i=0;i<str.length;i++)
System.out.println(“str[“+i+”]:”+str[i]);
}
}

                                                                                                                                   : ‫ﺥ وﺝ‬
‫‪Str[0]:one‬‬
‫‪Str[1]:two‬‬
‫‪Str[2]:three‬‬



             ‫ﺥ ا‬                  ‫اه‬       ‫ا ﺝ وا‬               ‫ن را‬            ‫ر ای ا‬                      ‫ه‬             ‫رت‬                        ‫ه‬         ‫ز ر‬                      ‫د‬
‫ل‬        ‫ان‬                   ‫ز .‬                   ‫ه را ا ن‬                    ‫ر‬        ‫ی ی‬                ‫ارد‬           ‫زی د در اﺥ ر ن‬                              ‫ه‬                    ‫وی‬
     ‫ر‬                        ‫و‬        ‫,اد م دو ر‬                 ‫زی ر‬                   ‫ی‬              ‫,ﺝ‬               ‫دو ر‬             ‫ی‬         ‫ا‬            ‫هی‬                ‫ﺝ وا‬
‫ان ای د‬                           ‫روش‬                      ‫‪ String‬را‬                  ‫ه‬                             ‫دارد.ه‬                ‫وف ه ر‬                                           ‫و‬
‫ع ‪ String‬ای د‬                                         ‫ی‬         ‫د.و‬                   ‫ن‬            ‫ز‬        ‫ه م‬                   ‫ه‬           ‫ای ای د ر‬                         ‫د.‬
‫‪string‬‬                   ‫ءه‬        ‫ازای د‬                        ‫د.ی‬            ‫اه‬                                        ‫د‬                    ‫ای د‬          ‫ا‬        ‫,ر‬
                     ‫ا‬                                     ‫در‬          ‫ده . ای ا‬                            ‫ا‬             ‫را‬                   ‫ده‬                     ‫ه‬            ‫را‬
     ‫ر‬            ‫ط‬               ‫ت‬                ‫م ا اع‬              ‫ا‬             ‫. زه‬                                ‫ای‬           ‫ر ی ا وا‬                            ‫ودی‬
     ‫ا از ه ر‬                          ‫ی‬              ‫رش‬                    ‫ز‬        ‫ر‬            ‫ه‬                 ‫ه را ا م ده . وت ر در ان ا‬
                 ‫اوﻝ‬          ‫د.ر‬          ‫ات ﺥ اه‬                                            ‫د‬                 ‫ای د‬              ‫‪ String‬ﺝ ی‬                               ‫ح‬
‫و‬            ‫ﺙ‬           ‫ه‬         ‫ر‬           ‫ز‬       ‫د‬                        ‫ن ا‬          ‫د از ای روی‬                          ‫ا‬       ‫. دﻝ‬
     ‫ر‬           ‫ز‬                     ‫ا‬            ‫د.ﺝ وا ا‬                ‫ﺥ اه‬                   ‫ر‬                                  ‫ه‬        ‫ر‬                      ‫ی‬
‫رد‬       ‫:‪ StringBuffer,StringBuilder‬ه دو‬                                                             ‫د ا‬           ‫اه‬            ‫ی‬       ‫دو‬              ‫ی‬                                ‫ه‬
                                       ‫.‬                        ‫از ای د‬                            ‫ر رو‬                  ‫هی‬           ‫ار ر‬                       ‫ا‬         ‫ا‬
‫ا .از ای رو‬                                ‫ی‬         ‫‪ String,StringBuffer,StringBuilder‬در‪java.lang‬‬                                                                        ‫سه‬
‫رت ‪final‬‬                                       ‫ار دار ه‬                     ‫ه‬                 ‫م‬        ‫ر ﺥ د ر در اﺥ ر‬                                           ‫نه‬                        ‫ه‬
     ‫د.ای ا‬                            ‫ان از ن ه‬                       ‫را‬             ‫س دی‬                      ‫ه‬                         ‫ان‬            ‫ا وای‬                      ‫ی‬
‫م‬            ‫ا‬           ‫ط‬             ‫اول‬           ‫ت‬                 ‫رای‬            ‫ﺝ ا ای‬                                  ‫ا‬               ‫ز‬                      ‫ر ا‬
                                                            ‫.‬                   ‫ز‬            ‫‪ CharSequence‬را د‬                                    ‫ر را‬                    ‫سه‬
                             ‫, ی‬           ‫ه‬                                ‫ع ‪String‬‬                        ‫ه‬            ‫ﺝ د در‬                     ‫ه‬            ‫ر‬         ‫ای‬
             ‫رت‬                                             ‫داد. ا‬                   ‫از ای د‬                ‫ان‬             ‫‪ String‬را‬                     ‫ه‬                     ‫ا‬
         ‫.‬                    ‫ارﺝ ع دا‬                    ‫‪ String‬دی‬                            ‫ا‬                     ‫د در ه ﻝ‬                             ‫ی‬           ‫‪String‬ه‬


                                                                                                                          ‫س ‪String‬‬                       ‫‪Constructor‬‬
‫ ﺥ ﻝ ای د‬string                ‫ی‬       ‫ن‬     ‫ا‬        .                              constructor                    ‫ از‬String ‫س‬
‫ا از‬           ‫ای د‬                ‫رت زی‬          ‫ل‬        ‫ان‬              . ‫ا‬        ‫ا‬       ‫ض را‬                  constructor,
                                                                       .‫د‬             ‫در ن‬               ‫را‬            ‫ ون ه‬String
String s=new String();



    ‫ه‬       ‫ , ز‬String ‫. س‬                  ‫ار اوﻝ ﺥ اه دا‬                                ‫هی‬            ‫ای د ر‬       ‫ز‬     ‫او ت‬                ‫ا‬
‫رای ا از‬         ‫ ای د و‬String                   ‫ی‬         ‫ن‬         ‫. ا‬     ‫د ا‬              ‫اه‬        ‫ر‬         ‫ا م ای‬    ‫ا‬
                                                               : ‫ی‬     ‫د‬         ‫زی ا‬          ‫ز‬        ‫از‬          ‫ارده‬        ‫ه‬      ‫را‬
String(char chars[])

                                                                                                              :       ‫ﺝ‬         ‫ل زی‬
Char chars[]={ ‘a’,’b’,’c’};
String s = new string(chars);

                                                          . ‫ده‬                        s        ‫“ را‬abc” ‫ار اوﻝ‬                         ‫ز‬
             ‫ار اوﻝ‬       ‫ان‬           ‫رای را‬               ‫از ی‬                 ‫ا‬                 ‫ ذی‬constructor ‫د از‬                     ‫ا‬
                                                                                                                                       :
String(char chars[],int startindex,int numchars)


‫ن‬       ‫ ه‬numchars ‫و‬                   ‫رد‬             ‫ه‬         ‫ز ر‬                                ‫ای‬                      Startindex
                      :            ‫ﺝ‬       ‫ل زی‬            .          ‫ر د‬                 ‫ی‬                  ‫هی ا‬     ‫اد را‬                ‫ده‬
Char chars[]          = { ‘a’,’b’,’c’,’d’,’e’,’f’};
String s = new string (char,2,3);

                                                           .‫ه‬                         s        ‫“ را‬cde” ‫ار اوﻝ‬                      ‫رت‬
        .     ‫ای د‬        ‫ دی‬String                   ‫ار ی‬             ‫ ا‬String                     ‫ا‬          ‫زی‬     ‫ز‬    ‫د از‬            ‫ا‬
String(String strObj)

                                                     :‫ی‬                ‫. ل زی را در‬                      ‫ ا‬String ‫ع‬              strObj
//construct one string from another.
Class Makestring{
Public static void main(String args[]){
Char c[] ={‘j’,’a’,’v’,’a’};
String s1 = new String(c);
String s2 = new String(s1);
System.out.println(s1);
System.out.println(s2);
}
}



                                                                                       :       ‫ا‬                ‫ن داد‬               ‫در ذی‬           ‫ﺥ وﺝ‬
Java
Java

                                            .‫ وﺝ د دارد‬s1 ,s2 ‫در‬                                       ‫ی‬        ‫ر‬                                            ‫ه‬
             ‫ی‬       ‫ه‬        ‫را‬             ‫ن دادن‬                   ‫ا‬               ١ ‫ در ﺝ وا از‬char ‫ع‬                                   ‫داد ه‬            ‫ا‬
         ٨       ‫ی‬            ‫از رای ه‬               ‫د در ای‬               ‫رد ا‬                ‫ه‬               ‫ر‬               ‫ا در‬                 ‫د‬        ‫ا‬
                 ‫اول‬                ٨        ‫ا‬       ‫ه‬           ‫د. ن ر‬                    ‫د‬               ‫ا‬         ‫ا‬         ‫را‬              ‫از‬
‫ع‬        ‫رای‬             ‫د ازی‬      ‫ا ا‬      ‫در‬              ‫ه‬        ‫ار ده ر‬                      ‫ا‬           ‫ه ی را‬           ‫ز‬       ‫ ه‬String ‫س‬
                                                         :       ‫ا‬             ‫ن داد‬           ‫در زی‬                     ‫. م‬         ‫ﺥ ا‬      ‫اه‬    byte
String(byte askiichars[])
String(byte askiichars[],int startindex,int numchars)


‫از‬               ‫دن‬                     ‫ن‬        ‫ا‬           ‫. م دوم‬              ‫ه ا‬          ‫ی‬               ‫رای‬                           Asciichars
‫د از روش‬                  ‫ا‬         ‫م‬   ‫در ه دو‬                  ‫را‬               ‫ی‬        ‫زد. ی‬                          ‫اه‬        ‫رای را‬     ‫ه‬        ‫را‬
     :           ‫د‬            ‫ه ا‬   ‫ز‬       ‫زی از ای‬                      .‫د‬               ‫ﺝر ا م‬                              ‫ض‬               ‫ار‬            ‫ر‬
//construct string from subset of char array.
Class substringcons{
Public static void main (String args[]){
Byte ascii[]={65,66,67,68,69,70};
String s1=new string(ascii);
System.out.println(s1);
String s2=new String(ascii,2,3);
System.out.println(s2);
}
}

                                                     :           ‫ا‬         ‫ن داد‬               ‫در ذی‬                           ‫از اﺝ ا‬              ‫ﺥ وﺝ‬
Abcdef
Cde



‫روش‬           ‫ا‬                    ‫در‬           ‫ا‬                ‫ی‬                      ‫ر‬          ‫ی‬         ‫ه‬           ‫ز‬     ‫از‬               ‫دی‬             ‫ر‬
‫ض‬                   ‫از روش‬              ‫او ت‬                             ‫ا‬                  ‫ه را‬        ‫را‬               ‫ی ه‬            ‫ی‬            ‫ار‬                ‫ر‬
                                                                                                                     . ‫ی‬            ‫د‬       ‫ﺝر ا‬
     .‫د‬                   ‫ن‬          ‫رای‬        ‫ا‬                            ‫رای ا ای د‬                ‫ از رو‬String                             ‫ی‬        ‫ﺝ :و‬
                    .                                            String ‫ده‬                             ‫از ای د ر‬                ‫رای را‬               ‫ا‬                 ‫ا‬
                        . ‫ی‬        ‫ ای د‬StringBuffer ‫ از رو‬String                                       ‫ی‬        ‫ا‬            ‫زی‬        ‫ز‬           ‫د از‬           ‫ا‬
 String(StringBuffer strBufObj)


                                                         . ‫ا‬                 ‫ ا ود‬J2SE 5                             ‫و‬              ‫ ه ی‬Constructor
      ‫ن داد‬              ‫در ذی‬          ‫رد‬                           . ‫ا‬            ‫ ا ود‬String                  J2SE 5                     ‫و‬             ‫ز‬        ‫دو‬
                                           .                                   ‫شی‬                            ‫ی‬       ‫ه‬         ‫را‬                         ‫از‬           ‫ا‬
String(int codePoints[],int startindex,int numchars)


‫از‬         ‫ود ا‬               ‫از‬                        ‫.ر‬           ‫ا‬          ‫ی‬           ‫ه‬                                ‫ رای ا ا‬codePoints
                                               .‫د‬                               ‫ا‬           ‫ را‬numChars ‫و‬                           ‫ز‬           startindex
‫ن داد‬               ‫ن در زی‬                ‫م‬        .                               StringBuilder ‫س‬                           ‫ﺝ ی از‬                 ‫ز‬             ‫دو‬
                                                                                                                                                     :         ‫ا‬
String(StringBuilder strBuilderObj)



          .               ‫ ای د‬strBuilderObj ‫ ار ﻝ در‬StringBuilder ‫س‬                                                           ‫ا از‬String


                                                                                                                                                ‫ل رﺵ ه‬


‫ان‬             ‫ار‬         ‫وردن ای‬                   ‫د‬        ‫ا‬           .    ‫ﺝ د در ن ا‬                     ‫ه‬           ‫اد را‬                       ‫له ر‬
‫در‬        ‫را‬                  ‫ا‬            ‫رات زی ٣ ا‬                               :        ‫ا‬     ‫ا‬         ‫رت زی‬                      ‫ را‬length()
                                                                                                                                    .‫ وﺝ د دارد‬s                       ‫ر‬
Char chars[] = {‘a’,’b’,’c’};
‫;)‪String s = new String(chars‬‬
‫;))(‪System.out.println(s.length‬‬



                                                                                                                     ‫رﺵ ه‬                    ‫ت وی‬


‫ی ﺝ وا‬                    ‫ر‬            ‫ﺝ وا‬                ‫ز‬              ‫از‬           ‫اول و‬                     ‫ه‬              ‫ر‬              ‫ی‬         ‫از‬
    ‫.ای‬       ‫ا‬                ‫ز ن‬              ‫ا‬     ‫ﺥ ر‬        ‫ه در‬          ‫ر‬        ‫ط‬            ‫ت‬             ‫ا‬                ‫ا‬       ‫ت وی‬              ‫ا‬
    ‫ی‬         ‫ا ,اد م‬              ‫ر‬       ‫ﺝ ی ‪ String‬از رو ﻝ ال ه‬                           ‫ه‬             ‫ای د ﺥ د ر‬                              ‫ت‬
        ‫ه‬        ‫.‬              ‫ه‬          ‫ر‬          ‫دی‬       ‫"+" و ی ا اع داد ه‬                            ‫د از‬               ‫ا‬           ‫‪String‬‬
            ‫ه و را‬                                  ‫ت وﺝ د دارد ا ﺝ وا ا ا ای‬                               ‫م ای‬           ‫ا ا م‬                   ‫ای‬
                                                                ‫ده .‬       ‫رﺥ د را م‬                        ‫ره را‬                   ‫ز ای‬


                                                                                                                           ‫رﺵ ا‬                ‫ال ه‬


‫از‬          ‫‪ String‬را از رای ا‬                       ‫ه‬           ‫ان‬                                      ‫ن داد‬                               ‫له‬          ‫در‬
‫ر وﺝ د دارد‬                    ‫ا ا م ای‬                          ‫د.ا روش‬               ‫‪ new‬ای د‬                  ‫د از‬                   ‫ا‬     ‫ه‬         ‫را‬
‫ر‬                 ‫‪ String‬را‬                     ‫نی‬               ‫ا در‬          ‫ا ه ﻝ ال ر‬                   ‫د از ﻝ ال ه .ﺝ وا‬                                ‫,ا‬
                               ‫:‬               ‫دل را ای د‬                ‫رات زی دو ر‬                 ‫ل‬     ‫ان‬                  ‫زد.‬                ‫ﺥ د ر‬
‫;}’‪Char chars[] = {‘a’,’b’,’c‬‬
‫;)‪String s1 = new String(chars‬‬
‫‪String s2 = “abc”;//use string literal‬‬

        ‫ه‬                ‫ده ﺝ‬                       ‫ا ای د‬           ‫ر‬    ‫از ﻝ ال ه‬              ‫ا ه ی‬             ‫‪String‬‬                          ‫نی‬
‫در‬                       ‫له ن‬          ‫ان‬             ‫ی .‬        ‫د‬       ‫از ﻝ ال ه ا‬             ‫ا‬                         ‫د‬            ‫ا‬      ‫‪String‬‬
‫ل‬                                          ‫هی‬         ‫ا ر‬                      ‫ا‬        ‫ه را‬                ‫ا‬              ‫ن داد‬                  ‫ل زی‬
        ‫ه‬                ‫ارﺝ ع‬         ‫ه‬                   ‫نه‬         ‫اﺥ ا‬         ‫ن‬     ‫ه‬           ‫در‬      ‫ا‬         ‫ا‬
‫.‬           ‫٣ا‬       ‫ی‬     ‫ن‬                    ‫د‬              ‫”‪ “abc‬ا ﺥ ا‬              ‫ل زی )(‪ length‬ا ر‬                                   ‫‪ String‬در‬
‫;))(‪System.out.println(“abc”.length‬‬
‫اد م رﺵ ه‬


    ‫ای‬        ‫ا‬     .‫زد‬            ‫اه‬       ‫ را‬String              ‫ه‬                ‫ه‬                  ‫ل‬    ‫نا‬           ‫ا‬       ‫ر‬             ‫ﺝ وا‬
    ‫.ای‬       ‫ ا‬string             ‫نی‬                ‫و‬                 ‫را اد م‬            ‫دو ر‬                  ‫"+" ا‬                     ‫ع‬
‫رات‬           ‫در‬        ‫ر‬     ‫ل‬       ‫ان‬            .‫زد‬                ‫اه‬        ‫"+" را‬            ‫اد م‬                      ‫د‬       ‫نا‬       ‫ا‬        ‫ا‬
                                                                                                       .             ‫اد م‬            ‫ی ی‬              ‫زی‬
String age=”9”;
String s = “he is “+age+”years old”;
System.out.println(s);



‫ه ه م‬              ‫اد م ر‬         ‫از ر د ه‬                    ‫.ی‬       ‫” ا‬he is 9 years old” ‫ی‬                                   ‫رت‬
                   ‫در‬                 ‫ه‬         ‫ر‬        ‫ن‬         ‫ﺝ‬        .‫د‬          ‫ین‬                       ‫ر‬               ‫ه‬        ‫ای د ر‬
‫و "+" اد م‬                                          ‫ن ه را‬              ‫ا‬                 ‫ی‬        ‫ادا‬                   ‫واز‬                  ‫هی ن‬
                                                                                                   :        ‫ﺝ‬        ‫زی‬          ‫له‬           .
//using concatentionto prevent long lines.
Class concat{
Public static void main(String args[]){
String longstr=”this coud have been”+
“a very long line that would have “+
“wrapped around.but string concatenation”+
“prevent this.”;
System.out.println(longstr);
}
}

                                                                                              ‫دی‬         ‫ا اع داد ه‬              ‫اد م رﺵ ه‬


‫از‬        ‫و‬              ‫رش‬       ‫ل‬        ‫ان‬             .        ‫اد م‬           ‫دی‬      ‫ا اع داد ه‬                     ‫ا‬           ‫ه را‬             ‫ر‬
                                                                                                                     :           ‫ﺝ‬                ‫ل‬
Int age = 9;
String s = “he is”+age+”years old.”;
System.out.println(s);
.       ‫ا‬         ‫ل‬       ‫ن‬            ‫ه‬                  ‫ا ﺥ وﺝ‬              ‫ ا‬int ‫از ع‬                   ‫ل‬             ‫ در ای‬Age
                                    .‫د‬                ‫ی‬           ‫دﻝ‬             ‫ر‬        ‫رﺥ د ر‬                    age ‫ﺝ د در‬         int ‫ار‬             ‫زی ا‬


                                                                                                                                  ‫ه‬        ‫اج را‬               ‫ا‬


                                                                                                                                                charAt()
     ‫ا‬            charAt                 ‫د از‬             ‫ا‬                ‫اج‬         ‫ ا‬String               ‫را از ی‬        ‫وا‬        ‫را‬            ‫ن‬      ‫ا‬
                                    :        ‫رت زی ا‬                        ‫ن‬             ‫. م‬                        ‫را‬      ‫رد‬                ‫را‬
Char charAt(int where)

‫از‬                                           ‫و‬                         ‫ ی‬where ‫. ار‬                      ‫ا‬          ‫رد‬       ‫را‬                    ‫ ای‬Where
                                     ‫ل‬           ‫ان‬                   ‫دا‬              ‫را‬        ‫رد‬                        ‫ را‬charAt().                         ‫ر‬
Char ch;
Ch=”abc”.charAt(1);

                                                                                                     . ‫ده‬                        ch        ‫“ را‬b” ‫ار‬


                                                                                                                                       GetChars()
‫د‬            ‫ ا‬GetChars()                         ‫از‬          ‫ا‬        ,               ‫دا‬       ‫را‬                ‫از ی‬       ‫اج‬            ‫ا‬        ‫ز‬          ‫ا‬
                                                                                                     :        ‫رت زی ا‬             ‫ن‬                 ‫ی . م‬
Void GetChars(int sourceStart,int sourceEnd,char target[],int
targetStart)

                       ‫ای‬                         ‫ه‬sourceEnd‫,و‬                        ‫ا ا زی ر‬                       ‫ای‬                        targetStart
     ‫ه‬            ‫را‬                         ‫رد‬                   ‫.از ای رو,زی ر‬                 ‫ا‬             ‫رد‬          ‫زی ر‬            ‫را‬           ‫از ﺥ ی‬
                                                                                                .‫د‬           ‫ ﺥ اه‬sourceEnd-1 targetStart
‫ط‬                            ‫د.ای‬                             target              ‫و‬                          ‫ار‬     ‫ه در ن‬            ‫را‬                ‫رای ا‬
         ‫د‬                  ‫. ی د‬        ‫ ار ل ﺥ اه‬targetStart ‫در‬                                            ‫دن زی ر‬                           ‫ ﺝ‬target
             ‫رد‬               ‫ﺝ د در زی ر‬                         ‫ه‬         ‫را‬        ‫ز‬          ‫ا ذﺥ‬                     ‫ا از‬        ‫ ی‬target ‫رای‬
                                                                                                                                               .        ‫رگ‬
: ‫ده‬      ‫ن‬           ‫ را‬GetChars() ‫د‬                        ‫زی‬
Class getcharsDemo{
Public static void main(String args[]){
String s=”this is a demo of the getchars method.”;
Int start=10;
Int end=14;
Char buf[]=new char[end-start];
s. getChars(start,end,buf,0);
System.out.println(buf);
}
}

                                                                              :        ‫ا‬            ‫ن داد‬           ‫در ذی‬                 ‫ﺥ وﺝ‬
Demo



                                                                                                                            ‫رﺵ ه‬              ‫ی‬


                          .              ‫ی‬               ‫ه را‬        ‫ه ی زی ر‬              ‫ر‬        ‫دارد‬            ‫ی‬       String ‫س‬


                                                                                           equalsIgnoreCase(),equals()
    ‫رت زی‬             ‫ن‬        ‫. م‬                   ‫د‬        ‫ا‬equals( )‫از‬                  ‫را ر‬            ‫و دو ر‬                    ‫ن‬           ‫ا‬
                                                                                                                                          :           ‫ا‬
                                                                                                Bolean equals(Object str)
    ‫ه‬       ‫را‬            .‫د‬                 ‫ی‬                       ‫ل‬       String                             ‫ ا ا‬string                    Str
‫ﺥ اه‬true          ‫اﺥ ا‬                                    ‫ن‬      ‫ی‬       ‫ن‬                  ‫و‬               ‫ا‬           ‫ه‬    ‫ﺝ د در ر‬
    ‫ی‬            ‫در‬            ‫رگ و‬                  ‫وف‬         .‫د‬    ‫ ﺥ اه‬false                            ‫رت‬               ‫ای‬        ‫د.در‬
                                                                                                                .                      ‫ن‬              ‫ی‬
                          ‫ن‬     ‫ی‬                ‫ی‬                    ‫در‬               ‫رگ و‬                 ‫وف‬                    ‫ن‬               ‫ا‬
             ‫ن‬        ‫ ی‬a-z          ‫ی‬               ‫ ه م‬A-Z ‫وف‬                . ‫ا‬              ‫ا‬     ‫ را‬equalsIgnoreCase()
                                                                                   :           ‫رت زی ا‬                            ‫. م‬
                                                                         Bolean equalsIgnoreCase(String str)
‫در‬                         ‫ای‬                ‫د.‬                  ‫ی‬                              ‫ل‬            ‫‪string‬‬                                 ‫‪String‬ا ا‬                            ‫‪Str‬‬
                  ‫د.‬           ‫رت ‪false‬ﺥ اه‬                              ‫ای‬                ‫ن ‪ true‬ودر‬                       ‫ه و‬             ‫ن دن را‬                  ‫رت ی‬


                                                                                                                                            ‫==‬                ‫)(‪ Equals‬در‬
                   ‫ده .ه ن‬                        ‫وت ا م‬                                   ‫"= =" دو‬                        ‫)(‪ equals‬و‬                            ‫ا‬                   ‫زم ا‬
     ‫ی‬            ‫را‬            ‫رد‬       ‫‪String‬‬                  ‫ﺝ د در‬                         ‫ه‬        ‫)(‪ equals‬را‬                                 ‫ح داد‬           ‫از ای‬
‫از‬                     ‫ی‬                 ‫ه دو‬              ‫د‬                                                      ‫ی‬        ‫را‬              ‫"= =" دو‬                          ‫.‬
                                                                                                                                      ‫ارﺝ ع دار ی ﺥ .‬                                        ‫ی‬


                                                                                                                                                          ‫)(‪compareTo‬‬
                       ‫ه‬                 ‫ا‬        ‫.‬                       ‫ی ﺥ . ی‬                            ‫ه‬                       ‫دور‬        ‫ای‬           ‫او ت دا‬                         ‫ا‬
          ‫.‬        ‫ا‬             ‫از رد‬                 ‫ر‬        ‫و ی‬                                              ‫ام را‬                ‫داد‬                   ‫ان‬           ‫ی‬               ‫ز‬
              ‫.‬                 ‫از ن ﺝ ی دا‬                                                ‫از‬    ‫د‬                          ‫دی‬            ‫ر‬         ‫ازی‬                          ‫ا‬           ‫ر‬
     ‫از ن ﺝ‬                                                ‫از‬                 ‫د‬                                   ‫دی‬             ‫ر‬            ‫ازی‬       ‫ر‬            ‫ا‬                   ‫ور‬
              ‫ن داد‬              ‫ن درذی‬                    ‫ه. م‬                           ‫رراا م‬             ‫)(‪ compareTo‬س ‪string‬ای‬                                              ‫د.‬
                                                                                                                                                                                     ‫:‬       ‫ا‬
                                                                                                                                ‫)‪Int compraeto(string str‬‬
     ‫دا‬                    ‫ی‬                 ‫د.‬                      ‫ی‬                                   ‫ل‬        ‫‪string‬‬                        ‫‪ Str‬ه ن ‪ string‬ا ا‬
                                                                                                                           ‫د:‬                           ‫رت زی‬                        ‫و‬
                                                                              ‫.‬            ‫از‪ str‬ا‬                                    ‫ل‬              ‫: ر‬             ‫از‬
                                                                                      ‫.‬     ‫از‪ str‬ا‬           ‫ر‬                       ‫ل‬                 ‫: ر‬          ‫از‬                  ‫ر‬
                                                                                                                       ‫.‬        ‫ا ه‬                 ‫دور‬                              ‫:‬
              ‫نا‬                     ‫ا‬            ‫د.‬                          ‫در‬             ‫وف را ی‬                                   ‫و‬        ‫ر‬           ‫)(‪Compareto‬‬
                                                                                                     ‫.‬        ‫ا‬            ‫وع‬        ‫ف رگ‬                        ‫ی‬                   ‫ا‬
‫.از‬                              ‫ا‬       ‫دی‬                ‫دور‬                    ‫ی‬         ‫وف ه م‬                                     ‫و‬            ‫ر‬       ‫ﺥ اه‬                             ‫ا‬
                                                                                                         ‫.‬             ‫د‬        ‫)(‪ comparetoIgnoreCase‬ا‬
Int compareToIgnoreCase(String str)
‫ن‬     ‫ی‬       ‫رگ و‬              ‫وف‬             ‫وت‬            ‫ای‬             ‫ ا‬compareTo() ‫ن‬                        ‫ه‬                ‫ای‬
                                                                                                                                .


                                                                                                              ‫رﺵ ه‬


    ‫را ا‬     ‫ه ر‬        ‫ا‬             ‫د از ن ه‬           ‫ا‬            ‫ارد‬              ‫در اﺥ ر ن‬                  ‫ دو‬String ‫س‬
                                                                  :                   ‫ﺝ‬           ‫رد‬          ‫ه‬            ‫را‬       ‫ی‬        ‫را‬
                    .                        ‫را ﺝ‬        ‫ی زی ر‬              ‫را‬            ‫از ی‬                            : indexOf()
               .                      ‫را ﺝ‬          ‫ی زی ر‬             ‫را‬             ‫از ی‬               ‫ : ﺥ ی‬lastIndexOf()
‫ی‬     ‫ز را‬                          ‫ارد ای‬     ‫م‬       ‫ا .در‬              overload                       ‫روش‬                                ‫ای دو‬
                    .‫د‬                  ‫دا‬                   ‫م‬     ‫رت‬             ‫و 1- در‬                     ‫رت‬            ‫در‬              ‫زی ر‬
             : ‫ی‬        ‫د‬       ‫م زی ا‬         ‫, از‬                   ‫را ﺝ‬            ‫را‬          ‫از ی‬                                   ‫ا ای‬
Int indexOf(int ch)

              : ‫ی‬           ‫د‬       ‫م زی ا‬      ‫, از‬                  ‫را ﺝ‬            ‫را‬          ‫از ی‬             ‫ﺥ ی‬                  ‫ن‬     ‫ا‬
Int lastIndexOf(int ch)

                                                                                 .‫د‬                      ‫ﺝ‬             ‫ا‬            ‫ را‬Ch
‫د‬     ‫زی ا‬    ‫مه‬            ‫, از‬               ‫را ﺝ‬          ‫زی ر‬            ‫از ی‬                  ‫ی ﺥ ی‬                                ‫ن‬     ‫ا‬
                                                                                                                                            : ‫ی‬
Int indexOf(String str)
Int lastIndexOf(String str)

                                                                      .      ‫ا‬             ‫رد‬            ‫زی ر‬                                 Str
                                :                   ‫را‬            ‫زﺝ‬                         ‫ا‬           ‫زی‬       ‫د از م ه‬                    ‫ا‬
Int indexOf(int ch,int startIndex)
Int lastIndexOf(int ch,int startIndex)
Int indexOf(String str,int startIndex)
Int lastIndexOf(String str,int startIndex)
‫ از ای‬indexOf()      ‫در‬         ‫.ﺝ‬    ‫ا‬        ‫زﺝ‬                   ‫ای‬              startIndex
        ‫ز‬   startIndex ‫از‬       ‫ﺝ‬        lastIndexOf()          ‫ی .در‬        ‫ادا‬   ‫اﺥ ر‬             ‫ای‬
                                                                                               .‫د‬
//Demonstrate indexOf() and lastIndexOf()
Class indexofdemo{
Public static void main(String args[]){
String s=”now is the time for all good men “+
“to come to the aid of their country.”;
System.out.println(s);
System.out.println(“indexOf(t)=”+s.indexOf(‘t’));
System.out.println(“indexOf(the)=”+s.indexOf(“the”));


System.out.println(“lastIndexOf(the)=”+s.lastIndexOf(“the”));
System.out.println(“indexOf(t,10)=”+s.indexOf(‘t’,10));
System.out.println(“lastIndexOf(t,60)=”+s.lastIndexOf(‘t’,60));
System.out.println(“indexOf(the,10)=”+s.indexOf(“the”,10));
System.out.println(“lastIndexOf(the,60)=”+s.lastIndexOf(“the”,60));
}
}

                                    :     ‫ا‬        ‫ن داد‬       ‫در زی‬         ‫از اﺝ ا‬         ‫ﺥ وﺝ‬
Now is the time for all good men to come to the aid of their country.
indexOf(t)=7
lastIndexOf(t)=65
indexOf(the)=7
last indexOf(the)=55
indexOf(t,10)=11
lastIndexOf(t,60)=55
indexOf(the,10)=44
lastIndexOf(the,60)=55



                                                                                        ‫رﺵ ه‬        ‫ﺕ‬


    ‫ا‬        ‫ی‬    ‫ده‬          ‫ را‬string ‫اه ی‬               ‫ه‬      ‫ی ه‬          string    ‫ه‬     ‫ن‬
                  ‫د‬    ‫زی ا‬     ‫از ه‬          ‫وی از ی‬           StringBuilder ‫ ی‬StringBuffer
Substring
        :       ‫م دارد. م‬        ‫دو‬            ‫ی .ای‬    ‫اج‬       ‫را ا‬     ‫زی ر‬       ‫ی‬        ‫ا‬               ‫د ازای‬       ‫ا‬
String substring(int startIndex)


    ‫ا‬       ‫م از زی ر‬            ‫ای‬             .                 ‫را‬      ‫وع زی ر‬                         ‫ ای‬startIndex
                                                .          ‫ادا‬    ‫ر‬        ‫زو ا‬      startIndex                   ‫از‬           ‫ا‬
                   .‫زد‬           ‫اه‬       ‫را‬        ‫زی ر‬         ‫ا اوا‬       ‫دن ای‬                    ‫ن‬       ‫ا‬        ‫م دوم‬
Strng substring(int startIndex,int endIndex)


            .    ‫ی ا‬     ‫ا‬                              endIndex ‫ا ا و‬                   ‫ای‬                   startIndex
        ‫ی‬        ‫زی ر‬        ‫ی‬        ‫ه‬             ‫م‬   ‫دن‬        ‫ی‬      ‫ا ﺝ ی‬    substring ‫زی از‬                          ‫در‬
                                                                                  .‫د‬              ‫د‬       ‫ا‬       ‫دی‬     ‫زی ر‬
//substring replacement.
Class stringreplace{
Public static void main(string args[]){
String org = "This is atest.This is,too.";
string search = "is";
string sub = "was";
string result = " ";
int I;
do {
System.out.println(org);
I = org.indexof(search);
if(I != -1)
{
result = org.substring(0,I) ;
result = result + sub;
result = result + org.substring(I + search.length());
Org = result;
}
}
While (I != -1);
}
}

                                                                                                                                              : ‫ﺥ وﺝ‬

This is a test.This is,too.
Thwas is a test.This is,too.
Thwas is a test.This is,too.
Thwas is a test.Thwas is,too.
Thwas is a test.Thwas is,too.


                                                                                                                                         Concat()
                                                                           .       ‫اد م‬                    ‫ای‬             ‫را‬        ‫دو ر‬          ‫ا‬
String concat(string str)

‫ن‬      str ‫ا‬                           ‫ا‬                      ‫ل‬            ‫و ر‬               ‫د‬                      ‫ﺝی‬         ‫ای د‬                           ‫ای‬
     ‫ذﺥ‬                ‫رت زی‬       ‫ل‬                ‫ان‬            . ‫ده‬         ‫م‬       ‫" + " راا‬                     concat().‫د‬                                ‫ا‬
                                                                                                           .‫د‬            s2‫" در‬onetwo" ‫ن‬
String s1 = "one"
String s2 = s1.cotcat("two");

                                                                                                                                         Replace()
                                                                                                                             ‫م دارد‬          ‫دو‬               ‫ای‬
      ‫ی‬       ‫ﺝی‬       ‫دی‬         ‫را‬                              ‫ل‬            ‫در ر‬              ‫را‬             ‫ی‬    ‫ه‬          ‫م‬        :                ‫م‬
                                                                                                                                                      .
String replace(char original,char replacement)

          ‫د‬        ‫ی‬        ‫ﺝ ی‬            ‫را‬                          ‫ی‬                 ‫ا‬                 ‫را‬                                Original
    ‫رت زی‬          ‫ل‬        ‫ان‬             .‫د‬                     ‫دا‬                                  ‫در‬                            replacement
                                                                                                      .‫د‬            s ‫" در‬Heww"               ‫ذﺥ‬
String a = "Hello".replace('1','w');

                            .‫د‬                  ‫ی‬        ‫ﺝی‬       ‫دی‬               ‫ی‬              ‫را‬                     ‫ی‬          ‫ای‬       ‫م دی‬         ‫در‬
String replace(Charsequense original,Charsequese replacement)


                                                                                                                                              Trim()
‫ی‬       ‫ا ای وا‬                 ‫ه‬                    ‫م‬               ‫دا‬            ‫ﺥ درا‬                   ‫ل‬              ‫ا از ر‬                             ‫ای‬
                                                                                                                                   . ‫ا‬           ‫ف‬       ‫از ن‬
String trim()

                                                                                                                                                        :‫ل‬
String s = "Hello world".trim();

                                                                        .‫د‬        ‫ار‬       s ‫" در‬Hello world "                             ‫ر‬                 ‫ی‬


                                                                                                valueof() ‫د از‬                         ‫ا‬        ‫ﺕ ی داد ه‬


                      ‫ای‬            ‫ی‬          ‫.ای‬                  ‫ی‬         ‫مﺥ ا‬         ‫ﺥ د ن‬                   ‫داﺥ‬             ‫داد ه را از‬                   ‫ای‬
             ‫ن ر‬                               ‫ا‬             overload ‫ﺝ وا‬                              ‫ا ا اع داد ه‬                   string ‫س‬              ‫در‬
 ‫ه‬          ‫ه‬                   ‫ا‬          overload                      object ‫ع‬          ‫ا‬        valueof.                       ‫ی‬                    ‫ر‬        ‫ی‬
                                                                                       ‫د‬        ‫ا‬                      ‫ن ای‬       ‫ان ر‬
                                                                                                    ‫ا‬              ‫ن داد‬          ‫درزی‬           ‫م ای‬
static String valueOf(double num)
static String valueOf(long                                          num)
static String valueOf(Object ob)
static String valueOf(char chars[])


‫ل‬           ‫ان‬             -‫د‬                      ‫اﺥ ا‬             ‫دی‬        ‫ا ا اع داده‬                ‫ر‬         ‫ی‬          ‫ز‬     ‫ ه م‬valueof()
                ‫دو‬                      ‫اﺥ ا‬                 ‫ع داد ا‬          ‫ه‬                          ‫.ای‬           ‫ت اد م داد ه‬                          ‫در‬
‫دل‬               ‫ا‬         ‫ر‬    ‫ی‬                    ‫ی‬          ‫. م ا اع داد ه‬              ‫ا‬                  ‫ر‬              string             ‫ی‬              ‫ن‬
        tostring                        ‫اﺥ ا‬                    ‫د‬            ‫ ار ل‬valueof                                ‫.ه‬                 ‫ی‬         ‫ﺥ د ن‬
                                                                                                                                           ‫دا‬                   ‫را‬
                 ‫ده‬        ‫ن‬                   ‫دا‬                   ‫ز را‬                                ‫رای ه ر‬                        ‫ا‬    Valueof()
        ‫ه‬        ‫را‬                                  ‫ ای د‬string                     ‫ ی‬char ‫ع‬                  ‫رد رای ه‬                ‫.ا در‬            ‫رای ا‬
                                                                                                               .        ‫ ا‬char             ‫ﺝ ددر رای‬
                                                                                                                                       :         ‫ای‬         ‫م‬
static String valueOf (char chars[],int startIndex,int                                                                         numchars)
‫رای‬           ‫ای‬             startIndex ‫اردار‬         ‫ه در ن‬            ‫را‬                  ‫ رای ای‬chars
‫را‬        ‫لر‬           numchars ‫دو‬      ‫ز‬            ‫از‬        ‫رد‬           ‫زی ر‬                ‫هی ا‬           ‫را‬
                                                                                            .


                                                      ‫رﺵ‬           ‫ه در ی‬        ‫را‬        ‫و ر‬           ‫چ‬          ‫ﺕ‬


              .         ‫ی‬        ‫وف‬         ‫را‬   ‫ر‬        ‫رگ ی‬        ‫وف‬          ‫م‬    tolowercase()
          .            ‫ی‬    ‫رگ‬   ‫وف‬     ‫را‬       ‫ر‬    ‫ی‬              ‫وف‬          ‫م‬     toUppercase()
                                                          .‫د‬            ‫داد‬                          ‫ه‬       ‫در را‬
                                                                                      :‫ه‬        ‫ای‬            ‫مه‬
String tolowerCase()
String toUpperCase()

                                                      :        ‫ا‬        ‫د‬        ‫ل زی از ه دو ا‬                 ‫در‬
//demonstrate toUppercase() and tolowercase().
Class changecase{
Public static void main(string args[]){
String s = "This is a test";
System.out.println( "original: " + s);
String upper = s.toUppercase();
String lower = s.tolowercase();


System.out.println("Uppercase: " + upper);
System.out.println("Lowercase: " + lower);
}
}


                                                                                                         : ‫ﺥ وﺝ‬
Original: This is a test.
Uppercase: THIS IS A TEST.
Lowercase: this is a test.
string ‫س‬                   ‫دی‬           ‫چ‬


J2SE 5              . ‫دا‬                        ‫ را‬i                      ‫ی‬                   ، Int codepointAt (int i)
                                                                                                                  .     ‫ا‬                  ‫ا‬
        . ‫دا‬                 ‫ را‬i ‫از‬                                 ‫ی‬                      ، intcodePointBefore (int i)
                                                                                                   .     ‫ا‬                   ‫ ا‬J2SE 5
end-1‫ و‬start            ‫ﺝ ددر‬                   ‫ه‬            ‫اد‬    ، Int codepointCount(int start,int end)
                             .       ‫ا‬                  ‫ ا‬J2SE 5                  ‫دا‬                          ‫ل‬        String ‫رادر‬
‫وﺝ د‬                ‫ل‬                ‫ در‬str             ‫ر‬         ، Boolean contains(CharSequense ,str)
              ‫ ا‬J2SE 5                   .‫د‬         ‫ ﺥ اه‬false ‫رت‬                 ‫ای‬         ‫ ودر‬true ‫ن‬                                   ‫دا‬
                                                                                                                                      .    ‫ا‬
str     ‫ر‬                        ‫ل‬              ‫ر‬           ، Boolean contentEquals(Charsequense str)
              ‫ ا‬J2SE 5                     .‫د‬        ‫ﺥ اه‬false ‫رت‬                 ‫ای‬        ‫ ودر‬true ‫ن‬                            ‫ن‬        ‫ی‬
                                                                                                                                      .    ‫ا‬


                                                                                                               StringBuffer


 ‫ه را دارد و د ﻝ‬                     ‫ر‬               ‫ر از‬                     ‫ ا‬string                                ,StringBuffer

        ‫د ﻝ ا‬            ‫ی‬       StringBuffer                     ‫. در‬        ‫ا‬         ‫لﺙ‬          ‫ه‬        ‫از را‬            ‫ی‬
        ‫ی ا‬              ‫ان‬              ‫ه ی را‬             ‫ه و زی ر‬          ‫را‬              ‫ه‬    ‫از را‬                          ‫و‬       ‫ر‬
 ‫ا ای‬                                               ‫رﺥ د رر‬              StringBuffer.‫د‬                        ‫ ا‬StringBuffer
‫ص‬       ‫ن اﺥ‬                                    ‫زم‬          ‫از‬           ‫هی‬            ‫را‬         ‫دوا‬         ‫اه‬       ‫ت‬          ‫ا‬
‫ر از‬            ‫ا‬                ‫د‬         ‫س زی د ا‬         ‫. ﺝ وا ازه دو‬                      ‫وﺝ د دا‬        ‫ا ر‬                          ‫ی‬
StringBuffer             ‫ر‬           "+"               ‫د ه از‬     ‫و ر دار و ا‬                     string               ‫ی ن‬
                                                                                   .           ‫ﺝ وا وا ار‬             ‫د را‬                ‫در‬
StringBuffer              ‫ه‬        ‫ز‬
StringBuffer()
StringBuffer(int size)
StringBuffer(String str)
StringBuffer(CharSequence char)



.                ‫د رزرو‬                     ‫را ون‬              ‫١ ا‬           ‫ا‬                 ‫ا‬        ‫را‬                                ‫ز‬
‫ع‬            ‫از‬                 ‫ر‬       .                      ‫را‬            ‫ا از‬       ‫دارد‬                 ‫ن از ع‬         ‫ر‬        ‫ی‬        ‫دو‬
‫را ون‬                   ‫١ را‬        ‫ا‬              ‫و‬                ‫ را‬stringbuffer                          ‫ار اوﻝ‬            ‫ دارد‬string
             stringbuffer ‫د‬                  ‫درﺥ ا‬             ‫ا‬                        ‫ل‬              ‫.و‬         ‫د رزرو‬
            ‫ای‬              ‫ز‬           ‫د از‬                             ‫ا‬                                   ‫را‬         ‫ا‬      ‫١ را‬        ‫ا‬
                        ‫ن‬                         ‫ر‬        ‫ر‬             ‫د‬                                   ‫ی .ه‬       ‫ر‬                ‫ه ی‬
    ‫ﻝ‬            ‫دا‬             ‫ه‬           ‫اد‬             ‫ا‬        ‫را‬              ‫ا‬                                 stringbuffer ‫د‬
char‫در‬                                       ‫و ر‬                                 ‫ای د‬          ‫رم‬                 ‫ز‬     . ‫ده‬             ‫را ه‬
                                                                                                                                .‫د‬       ‫ﺥ اه‬


                                                                                                             Length(),capacity()
        ‫ی‬        ‫ا از‬                            ‫ و‬length()                  ‫ان‬             ‫ را‬stringBuffer             ‫ا از ﺝ ر ه‬
                                                       .       ‫رت زی ا‬                             ‫م‬    ‫ورد‬             capacity()
int length()
int capacity()

                                                                                                                                         :‫ل‬
//stringbuffer length vs.capacity
Class stringBufferDemo{
Public static void main(string args[]){
StringBuffer sb=new stringBuffer("Hello");


System.out.println("buffer = +sb");
System.out.println("length = "+sb.length());
System.out.println("capacity =" + sb.capacity());
}
}


                    ‫داز‬           ‫ا‬                                stringbuffer                      ‫ه‬            ‫ن‬                       ‫ﺥ وﺝ‬
                                                                                                                               :          ‫رزرو‬
Buffer = Hello
Length = 5
Capacity = 21

‫ا‬              ‫ن١٢ ا‬                      ‫.ا‬        ‫ل ن ا‬     ‫د‬           ‫ارده‬              "Hello" ‫م ای د‬                             ‫ ه‬sb ‫ن‬
                                               .‫د‬             ‫نا‬      ‫رﺥ د ر‬                             ‫ا‬        ‫١ را‬             ‫ا‬


                                                                                                              ensureCapacity()


     ‫ده‬                               stringbuffer ‫از ای د‬                ‫را‬           ‫را‬                     ‫ا‬                    ‫اه‬                ‫ا‬
     ‫ه‬         ‫اد زی د از ر‬                          ‫ا‬       ‫از‬    ‫.ا‬       ‫د‬          ‫ ا‬ensureCapacity()‫از‬                                  ‫ا‬
               ‫ای‬         ‫م‬       .   ‫وا ﺥ اه‬                 ‫دای ا‬       ‫ﺥ اه‬                  ‫ ا‬StringBuffer ‫را‬
                                                                                                                         :     ‫رت زی ا‬
Void ensureCapacituy(int capacity)

                                                                               .                             ‫را‬              ‫,ا از‬Capacity
                                                                                                                              setLength()


‫م‬        . ‫ی‬         ‫د‬        ‫ ا‬setLength‫از‬                       ‫ را‬StringBuffer                    ‫ه‬                       ‫ا از‬                ‫ا‬
                                                                                                 .           ‫رت زی ا‬                     ‫ن‬
Void setLength(int len)



                                                         .         ‫ار ن ی‬          .                                  ‫را‬               ‫ ا از‬Len
.‫د‬                        ‫ﺝ دا‬                           ‫ا‬            ‫ه‬   ‫را‬           ‫ه‬             ‫ای‬           ‫را ا‬             ‫ا از‬              ‫و‬
     ‫ا‬     ‫ ا‬length()                 ‫از اﺥ ا‬                 ‫از ارﺝ ر‬                          ‫ار‬                ‫ را‬setLength()                     ‫ا‬
setCharAtDemo ‫د‬                                     . ‫ﺥ اه ر‬          ‫ل ﺝ ی از‬             ‫از‬                ‫ه‬        ‫رت ر‬                ‫در ن‬
                              .       ‫د‬        ‫ ا‬stringBuffer ‫دن‬                       ‫ا‬        setLengh()‫زی از‬                                  ‫در‬
charAt(),setCharAt()


.‫ورد‬            charAt()             ‫ی‬     ‫ان از‬           ‫ را‬stringBuffer        ‫ی‬       ‫ه‬   ‫ار را‬    ‫اره ی‬
    ‫را در ه‬         ‫را‬        ‫اره‬     ‫ا‬            setCharAt()‫د از‬           ‫ا‬        .‫ورد‬          ‫د از‬        ‫ا‬
                                            :      ‫رت زی ا‬            ‫ن‬      ‫م‬        .          stringBuffer
Char charAt(int where)
Void setCharAt(int where,char ch)

    ‫ار ﺝ ی‬          ch ‫و‬                          ‫را‬        ‫رد‬        ‫را‬          ‫ ای‬charAt() ‫ا‬            Where
              ‫ازا‬                   ‫و ی‬                ‫ی‬         ‫ در ه دو‬where                        ‫را‬        ‫را‬
                                                                                                .                   ‫را‬
                                                                                                            :‫ل‬
//Demonstrate charAt() and setCharAt().
Class setCharAtDemo{
Public static void main(String args[]){
StringBuffer sb=new StringBuffer("Hello");
System.out.println("buffer before = " + sb);
System.out.println("charAt(1) before= " + sb.charAt(1));
Sb.setCharAt(1,'i');
Sb.setLength(2);
System.out.println("buffer after = " + sb);
System.out.println("charAt(1) after= " + sb.charAt(1));
}
}

                                                                                                      : ‫ﺥ وﺝ‬
Buffer before = Hello
charAt (1) before = e
buffer after = Hi
charAt (1)after = i

                                                                                                    getchars()


getChrs()                ‫از‬               ‫رای ا‬        ‫ را‬stringBuffer           ‫ا از ی‬        ‫زی ر‬             ‫ا‬
                                                                 :   ‫رت زی ا‬              ‫ن‬     ‫م‬           ‫د‬        ‫ا‬
Void getChars(int sourceStart,int sourceEnd,char target[],int
targetStart)


          ‫ای‬       sourceEnd ‫و‬                                  ‫را‬          ‫ر‬         ‫ا زی‬       ‫ا‬            ‫ ای‬sourceStart
        ‫زی ر‬       ‫.ی‬    ‫ا‬   ‫رد‬             ‫زی ر‬           ‫از ا‬                  ‫وا‬     ‫ا از ی‬                                     ‫را‬
‫ه‬       ‫را‬         ‫. رای ا‬           ‫ﺥ اه‬        ‫ را در‬sourceEnd-1                       sourceStart                      ‫ه‬   ‫از را‬
‫در‬        ‫ن زی ر‬                            ‫د. ای‬                            target                                            ‫ن‬
    ‫ا‬     ‫ ی‬target ‫رای‬           ‫د‬          ‫د. ی د‬                    ‫ ار ل‬targetStart ‫ی‬                         ‫از‬           target
                                             .             ‫دا‬                           ‫رد‬            ‫ه‬       ‫اد را‬                ‫ذﺥ‬


                                                                                                                      Append()


               ‫ل‬    stringBuffer                      ‫ا‬     ‫را‬           ‫ع داد دی‬        ‫ه‬           ‫دل ر‬            append
                                            .‫دارد‬          overload ‫رش‬                       ‫ی‬                ‫. ای‬                  ‫ا‬
StringBuffer append(String str)
Stringbuffer append(int num)
StringBuffer append(Object obj)

         ‫را‬         ‫ا‬    ‫دل ر‬         ‫د‬              ‫اﺥ ا‬            ‫ه‬      ‫را‬         ‫ا ی ی‬          String.valueOf()
‫ ﺥ د‬append()             ‫ر‬       ‫م‬   .‫د‬               ‫ ﺝ ر ا‬StringBuffer                                  ‫ر‬          ‫ای‬        .‫ورد‬
‫ن‬        ‫ا ه‬        ‫رز‬       ‫ر‬                      ‫اﺥ ا‬          ‫د‬                          ‫دا . ای ا‬                        ‫را‬
                                                                                                      :‫د‬        ‫م‬         ‫ل زی ا‬
//Demonstrate append().
Class appendDemo{
Public static void main(string args[]){
string s;
int a=42;
stringBuffer sb = new stringBuffer(40);
s = sb.append("a = ").append(a).append("i").tostring();


System.out.println(s);
}
: ‫ﺥ وﺝ‬
a = 42!

           ‫اﺥ ا‬          string             ‫ه‬             ‫ا‬     "+"                ‫د از‬                   ‫ما‬           ‫او ت ه‬                  append()
          ‫در‬                 ‫ت‬              ‫رﺥ د ر‬                 ‫ را‬string ‫ه‬                        ‫ه‬                  ‫ط‬             ‫ات‬                ‫د. ﺝ وا‬
          ‫ا‬         append() ‫ن‬                  ‫ل‬                ‫اد م‬              ‫ه از ای رو‬                                         stringBuffer                  ‫ه‬
     ‫دی‬                      ‫ را ی‬tostring()                   ‫اد م‬            ‫م‬            ‫ازا‬                ‫ی‬         .‫د‬                StringBuffer
                                                .         ‫ی‬       String               ‫ﺙ‬          ‫ی‬       ‫ را‬StringBuffer                             ‫ﺥ ا‬       ‫ا‬
    string ‫س‬                     ‫ا ی ی‬              . ‫ر‬                            ‫ﻝ‬                                              ‫ا‬                 ‫ره‬      ‫م ای‬
    ‫ز ن اﺝ ا ﺝ وا‬                               .        ‫رای ا‬                         ‫ای‬                 ‫؟‬        ‫ دا‬StringBuffer ‫ه ن ر ر‬
                . ‫م ده‬           ‫ا ا‬                    ‫زی د‬      ‫ز ه‬                       string                 ‫ه‬         ‫دن‬            ‫ی‬


                                                                                                                                                         Insert()


     ‫و‬                   ‫ا‬        overload                      ‫. ای‬           ‫درج‬                ‫دی‬           ‫را در ر‬                 ‫ر‬           ‫ ی‬insert()
                ‫ی د. ای‬                 ‫ی را‬                  ‫ ه ا اع داد ه‬Charsequense ‫ ه و‬object ، ‫ ه‬string
‫ن‬                    ‫ا‬           ‫دل ر‬           ‫وردن‬                       ‫ا‬   ‫ را‬String.valueOf() ,append() ‫ن‬                                                      ‫ه‬
                                                                                                              . ‫ﺥ ا‬           ‫ا‬                ‫ا‬            ‫اﺥ ا‬
                :‫دارد‬                   ‫م‬           ‫ی‬              ‫د. ای‬               ‫ درج‬StringBuffer                                 ‫در‬                   ‫ای ر‬
StringBuffer insert(int index,String str)
StringBuffer insert(int index,char ch)
StringBuffer insert(int index,Object obj)



               .‫د‬                ‫در ن درج‬                ‫ر‬             ‫ ا‬StringBuffer                              ‫از‬                                               ‫ای‬
                                                                   :           ‫" درج‬Java"‫" و‬I"                                        ‫" را‬like" ‫زی‬
//Demonstrate insert().
Class insertDemo {
Public static void main(String args[]) {
StringBuffer sb = new StringBuffer("I Java!");
Sb.insert(2,"like");
System.out.println(sb);
}
}

                                                                                                       : ‫ﺥ وﺝ‬
I like Java!

                                                                                                    Reverse()


         :        ‫س‬      ‫ را‬StringBuffer           ‫ه‬         ‫ه‬       ‫را‬        ‫ا‬        reverse() ‫د از‬         ‫ا‬
StringBuffer reverse()


     .        ‫ا‬       ‫ار ل‬       ‫اﺥ ا‬   ‫م‬   ‫ه‬           ‫دا‬                ‫ا را‬          ‫س‬                              ‫ای‬
                                                                          :‫ه‬        ‫ن‬    ‫را‬         ‫ر د ای‬     ‫زی‬
//Using reverse() to reverse astringBuffer.
Class ReverseDemo{
Public static void main(String args[]){
StringBuffer s = new StringBuffer("abcdef");
System.out.println(s);
s.reverse();
System.out.println(s);
}
}

                                                                                                       : ‫ﺥ وﺝ‬
abcdef
fedcba

                                                                               delete( ),deleteCharAt


                         .   ‫ را ف‬StringBuffer                   ‫ه‬        ‫را‬        ‫ا‬            ‫د ازای دو‬         ‫ا‬
StringBuffer delete(int startIndex,int endIndex)
StringBuffer deleteCharAt(int loc)


                  startIndex .          ‫ف‬       ‫اﺥ ان‬                ‫را از‬         ‫را‬             ‫ ی‬delete()
         ‫ای‬                       endIndex ‫د و‬          ‫ف‬            ‫ی‬              ‫ا‬       ‫را‬                         ‫ای‬
startIndex          ‫ه‬   ‫رو را‬       ‫د. از ای‬              ‫ف‬         ‫ی‬                  ‫ا‬            ‫را‬         ‫از ﺥ ی‬
                     .‫د‬             ‫دا‬                   StreingBuffer                     .                ‫ف‬         startIndex-1
                     ‫. ای‬           ‫ف‬       ‫ را‬loc                     ‫ﺝ د در‬              ‫را‬           deleteCharAt()
                                                                            . ‫دا‬                   ‫را‬             StringBuffer
                                                                                                                                  :‫ل‬
//Demonstrate delete() and deletecharAt()
Class deleteDemo {
Public static void main(String args[]){
StringBuffer sb = new stringBuffer("This is a test");
Sb.delete(4,7);
System.out.println("After delete: " + sb);
}
}

                                                                                                                             : ‫ﺥ وﺝ‬
After delete: This is a test
After deletecharAt: his a test

                                                                                                                       Replace()


StringBuffer                    ‫ه را در ی‬     ‫ا از را‬                              ‫ا‬           replace()                     ‫اﺥ ا‬
                                                                                       .                    ‫دی‬                ‫ی‬     ‫ﺝی‬
StringBuffer replace(int startIndex,int endIndex,String str)



                startIndex,endIndex                  ‫ه‬                ‫ای‬        ‫د و‬                     ‫ی‬    ‫ﺝی‬          ‫ا‬        ‫زی ر‬
    ‫ی‬    ‫دارد ﺝ ی‬    ‫ ادا‬endIndex-1 ‫و‬                    ‫ز‬        startIndex‫از‬                     ‫ا‬        ‫د از ای رو زی ر‬
          ‫دا‬                    stringbuffer                 .‫د‬            ‫ ار ل‬str‫ی ه در‬                        ‫ﺝی‬      ‫د. ر‬
                                                                                                                                  .‫د‬
//Demonstrate replace()
Class replaceDemo{
Public static void main(String args[]){
stringbuffer sb = new stringbuffer("This is a test");
sb.replace(5,7,"was");
System.out.println("After replace: " + sb);
}
}

                                                                                                                                    : ‫ﺥ وﺝ‬
After replace: This was a test


                                                                                                                         Substring()

‫در دو‬                ‫وری . ای‬               ‫ را‬stringBuffer ‫از ه‬                               ‫ا‬          substring()                   ‫اﺥ ا‬
                                                                                                                :        ‫د ا‬        ‫ا‬          ‫م‬
String substring (int startIndex)
Sting substring ( int startIndex,int endIndex)


                 ‫ا‬         ‫و‬     ‫ز‬         startIndex              ‫از ای‬             ‫دا‬              ‫ا را‬               ‫زی ر‬                   ‫م‬
startIndex ‫از‬                    ‫دا‬                     ‫ا را‬           ‫زی ر‬               ‫م دوم‬     . ‫ی‬                 ‫ ادا‬StringBuffer
    ‫ا‬                  ‫ی‬       ‫ارد‬         ‫ن‬        ‫ه‬       ‫ه د‬                ‫ی . ای‬              ‫ ادا‬endIndex-1                  ‫و‬           ‫ز‬
                                                                                                                    .             ‫ ر‬string


                                                                                                                                   ‫دی‬              ‫چ‬


        ‫و‬              ‫ﺥ از‬            ‫دارد‬                  ‫دی‬        ‫ه‬                   ‫ر‬         ‫ه‬              ‫و‬         stringbuffer
                                                                                                                . ‫ا‬               ‫ ا ود‬J2SE
             ‫ا‬                   ‫ا‬         ‫را‬           ‫ی‬                  ، stringbuffer appendCodePoint(int ch)
                                       .        ‫ا‬              ‫ ا‬J2SE 5                   ‫د. و‬            ‫دا ه‬                                 .
        ‫ ا‬J2SE 5                 ‫و‬         . ‫دا‬             ‫ را‬i                     ‫ی‬                ، Int codePointAt(int i)
                                                                                                                                    .      ‫ا‬
‫را‬          end-1‫ و‬start                                     ‫اد‬        ، Int codepointBeffor (int start ,int end)
                                                                           .     ‫ا‬                 ‫ ا‬J2SE 5              ‫و‬         ‫دا‬
             ‫ ﺝ‬str ‫از‬                                       ‫ا ی‬        ‫ را‬StringBuffer ، Int indexOf(String str)
                                . ‫دا‬                               ‫م‬           ‫رت‬        ‫وی 1- رادر‬         ‫ا‬                ‫را‬            ‫.ای‬
‫ ا ی‬startIndex-1 ‫ را از‬StringBuffer، Int indexOf(String str,int startIndex)
                 ‫م‬           ‫رت‬        ‫وی 1- رادر‬             ‫ا‬         ‫را‬             ‫.ای‬                 ‫ ﺝ‬str ‫از‬
                                                                                                                        . ‫دا‬
        ‫ ﺝ‬str ‫از‬                       ‫ﺥ ی‬        ‫ا ی‬             ‫ را‬StringBuffer ، Int lastIndexOf(String str)
                             . ‫دا‬                             ‫م‬        ‫رت‬     ‫وی 1- رادر‬              ‫ا‬      ‫را‬          ‫.ای‬
     ‫ ا‬startIndex-1 ‫ را از‬StringBuffer ، Int lastIndexOf(String str,int startIndex)
‫م‬      ‫رت‬            ‫و ی 1- را در‬                 ‫ا‬               ‫را‬          ‫. ای‬                    ‫ ﺝ‬str ‫از‬           ‫ﺥ ی‬        ‫ی‬
                                                                                                           . ‫دا‬
         ‫اﺥ ان را‬                      ‫از ر‬                       ‫ ، ای‬Int offsetByCodepoints(int start,int num)
            .        ‫ا‬                  ‫ ا‬J2SE 5                  ‫و‬    ‫ار دارد‬        start       ‫از ای‬            num         ‫دا‬
      ‫ازر‬            ‫ ، زی ر‬CharSequense subsequense(int startIndex,int stopIndex)
                 ‫زرا‬              ‫رد‬              ‫.ای‬        ‫دا‬               stopIndex               startIndex‫اﺥ ان رااز‬
                              .        ‫َ ا‬    ‫ز‬         ‫ د‬StringBuffer                            ‫ای‬             ‫ ا‬Charsequence


                                                                                                          Void trimTosize()


.‫د‬              ‫ار ﺝ ر در ن ﺝ‬                           ‫ده‬             ‫اﺥ ان ه‬                    ‫ا‬       ‫ه را‬     ‫را‬          ‫ا از‬
                                                                                              .   ‫ا‬               ‫ ا‬J2SE 5
            ‫ز‬            ‫د‬        ‫ را‬Charsequense                      ‫ز را‬      ‫رد‬               subSequense() ‫از‬
. ‫ز‬              ‫اه‬          stringbuffer ‫ا‬                  ‫ را‬string        ‫ا از ی‬                       ‫نﺝ‬       ‫ا‬    ‫دی‬    ‫ه‬
                                       :‫ه‬     ‫ن‬         ‫ را‬lastIndexOf()‫ و‬indexOf()                         ‫ر د دو‬       ‫زی‬
Class IndexOfDemo{
Static void main (String args[]){
stringBuffer sb = new StringBuffer (" one two one");
int I;
I = sb.indexof("one");
System.out.println("First indrx:" + 1);
I = sb.lastindexof("one");
System.out.println("Last indrx:" + 1);
}
}

                                                                                              : ‫ﺥ وﺝ‬
First index: 0
Last index: 8

                                                                                      StringBuilder


     ‫ه ا ود ا‬         ‫ی ی ر‬        ‫ا‬   ‫ﺝ وا‬      ‫ر‬     ‫ﺝر‬   ‫ه‬               ‫را‬     ‫سﺝ ی‬       J2SE 5
‫وت‬       ‫ا ی‬          ‫ ا‬StringBuffer            ‫س‬      ‫ م دارد. ای‬StringBuilder ‫س ﺝ ی‬                ‫ای‬
‫س‬        ‫ی‬      . ‫ی‬        ‫ر‬               "thread-safe"        ‫ی‬       ‫ا‬        ‫ون‬         : ‫دارد‬
         ‫د‬      ‫ ا‬multithreading ‫از‬              ‫ارد‬   ‫. ا در‬       ‫ا‬            ‫ ر ی‬StringBuilder
                               .       ‫د‬     ‫ ا‬StringBuffer‫ از‬StringBuilder             ‫ﺝ‬        ‫ی‬
‫رای‬


    ‫داد ا‬          ‫دی‬             ‫ای د‬              ‫د. در ﺝ وا ه رای ا‬                            ‫ز‬             ‫س د‬                 ‫رای در ﺝ وا‬
‫. در رای‬                     ‫ار‬        ‫ا از رای را‬                      ‫ی‬                         ‫رﺥ د ر‬                           ‫م ‪length‬‬
        ‫ا‬   ‫ﺝ وا‬                         ‫د.ای‬               ‫د‬     ‫‪ length‬ا‬                 ‫ل رای از‬                                 ‫ا‬                    ‫ی‬
‫لو‬                  ‫ا‬                    ‫ان از ه‬                                   ‫دو‬       ‫دد. در رای ه‬                                ‫ر‬           ‫رای‬
                                                                            ‫:‬          ‫ر زی را‬              ‫د. د‬           ‫د‬        ‫ض رای ا‬
‫;]5[ ]4[ ‪Int [] [] x = new int‬‬



                                                                                           ‫ه را‬                 ‫اد‬     ‫• ‪، x.length‬‬
            ‫نه‬          ‫اد‬        ‫)‬                             ‫‪ i‬ام را‬                    ‫نه‬          ‫اد‬            ‫• ‪، x[i].length‬‬
              ‫.(‬        ‫ا‬         ‫نو ا‬              ‫لی‬          ‫در ای‬       ‫، اﻝ‬           ‫وت‬               ‫ا‬                               ‫ه‬
        ‫رﺥ د را‬                   ‫ﺝ وا‬          ‫ه‬                ‫در ه‬            ‫ار دارد‬         ‫‪java.lang‬‬                         ‫س رای در‬
‫د‬       ‫ا‬           ‫دی‬            ‫سه‬        ‫ان از‬                ‫رای ه‬             ‫رو‬            ‫ا‬      ‫ا ا م ره‬                            ‫د. ا‬
                                                                                                                                                   ‫د.‬


                                                                                                                               ‫س ‪Arrays‬‬


                             ‫اه‬       ‫رای ه‬          ‫رو‬         ‫اول‬              ‫ا ا م ره‬                       ‫را‬                          ‫س‬            ‫ای‬
‫ی ت دو‬         ‫دن‬            ‫و‬             ‫ر‬         ‫ار ،‬           ‫ی‬           ‫رای‬               ‫دن‬                 ‫رای ،‬                         ‫ز‬
                                                                                            ‫ار در رای .‬                        ‫ی‬            ‫رای و ﺝ‬
            ‫ا ا‬             ‫رت زی‬         ‫د از ن‬            ‫ا ا‬         ‫ار دارد ،‬           ‫‪java.util‬‬                      ‫س ‪ Arrays‬در‬
                                                                                                                               ‫د:‬                  ‫ی ا‬
‫;*.‪Import java.util‬‬



    ‫.‬              ‫وا‬             ‫رای ه‬         ‫ه م ر‬                                 ‫اه‬    ‫را‬                         ‫ه‬           ‫س ‪Arrays‬‬
: ‫ه‬
‫د‬      ‫ا‬                        ‫ار‬       ‫دن‬       ‫ا‬         ‫ا‬      ‫دودوی‬                ‫ﺝ‬              ‫ :از ی‬binarySearch() •
 ‫رت زی‬                   ‫ن‬           ‫م‬       .‫رود‬           ‫ر‬                              ‫رای ه‬                 ‫ا‬          ‫.ای‬
                                                                                                                                     :     ‫ا‬
Static int binarySearch(type[] array,type key)


‫از‬     ‫ ی‬type ، ‫د‬               ‫ا‬        ‫ی‬              ‫ار ا‬         key ، ‫د‬                               ‫ی ﺝ‬              ‫ رای ا ا‬array
                ‫ی‬                                       ‫و‬        array                     .           ‫ا‬         ‫ی ا ا‬            ‫ا اع داد اوﻝ‬
                         ‫اﺥ ا‬                 ‫ز ر‬        array                    ‫ع‬            key ‫ع‬                 ‫ ( ی‬StringBuffer                  )
                    ‫ای‬          ‫ﺝ د‬           ‫ در رای‬key                     .‫د‬                    ClassCastException                                  ‫ا‬
                                                                                                              .‫د‬                ‫دا‬
           ‫دا‬        true                ‫دل‬           ‫دو رای‬                                   ‫ی‬           ‫ :دو رای را‬equals() •
                                                                         :        ‫رت زی ا‬                            ‫ن‬      ‫م‬         .‫د‬
Static Boolean equals(type array1[],type array2)


‫دو‬      ‫ن‬           ‫م‬        . ‫ده‬                           ‫ﺝ د در رای‬                             ‫م‬             ‫ار را‬          : fill() •
                                                                                                                 :       ‫رت زی ا‬
static void fill(type array[],type value)


                                                        . ‫ی‬                           array ‫ﺝ د در‬                                ‫م‬             value
static void fill(type array[],int from,int to,type value)


                                              .                 value ‫ار‬              to           from              ‫از رای را از ا ی‬
                          :‫دو م دارد‬              .                      ‫د‬                                  ‫رای را‬         ‫ : ی‬Sort() •
Static void sort(type array[])
Static void sort(type array[],int start,int end)


     start ‫ود‬             ‫در‬         array                  ‫از‬      ‫م دوم ن د‬              .                             ‫رای را‬                ‫م اول‬
                                                                                                   .                         ‫ ار دار‬end-1
Vector ‫س‬


‫در‬                ‫دار‬     ‫ا از‬                    ‫دار ز‬          ‫.در‬                  ‫ز‬         ‫ی را د‬                  ‫رای‬        ‫ ی‬Vector
، ‫ا ا ودن‬                 ‫س وﺝ د دار‬                    ‫ه ی در ای‬               .‫د‬          ‫رگ‬               ‫ی‬                ‫رت ﻝ وم‬
‫ار‬       java.util        ‫ در‬Vector ‫س‬                    . ‫ی‬              ‫ر‬          ‫در دار‬                       ‫ف ودرج‬            ,           ‫د‬
                                       :‫د‬              ‫ی ا‬                    ‫ا ا‬          ‫رت زی‬             ‫د از ن‬               ‫دارد, ا ا‬
Import java.util.*;

                                                                                        :‫دارد‬                       ‫ه‬         ‫ز‬     Vector
Vector()
Vector(int size)
Vector(int size,int incr)

‫دار ای د‬         ‫م دوم‬     .           ‫ن ٠١ ا‬          ‫ا از اوﻝ‬                       ‫ای د‬                              ‫دار‬                 ‫م‬
               ‫ای د‬      ‫دار‬       ‫م‬        ‫م‬     .‫د‬                             size           ‫و‬        ‫ن‬         ‫ا از اوﻝ‬
‫ر‬        ‫ه‬                                  ‫ار‬     .‫د‬                            incr       ‫ن‬                ‫ و‬size           ‫ن‬    ‫ا از اوﻝ‬
     ‫را‬              ‫ع‬         ‫د. اﻝ‬        ‫داد‬                 ‫دار‬                        ‫اد‬                    ‫ا از‬         ‫ه م ا ای‬
                                                                                            :‫د‬           ‫ن‬                ‫ز‬             ‫ان‬
Vector<type>()
Vector<type> (int size)
Vector<type> (int size,int incr)

                                                                                                                                        ‫ه‬
     •       Void addElement(type element)

                                 .‫د‬                    ‫دار ا‬          ‫د‬                         element                   ‫و‬             ‫ا‬
     •       Int capacity()

                                                                                                    . ‫دا‬                  ‫دار را‬        ‫ا از‬
     •       Boolean contains(Object element)

                                                               . ‫دا‬                  true            ‫ در دار‬element
     •       Type elementAt(int index)

                                                               . ‫دا‬                   ‫را‬            ‫ای‬                  ‫ﺝ د در‬
     •       Boolean isEmpty()

                                                                              . ‫دا‬               true                   ‫دار ﺥ ﻝ‬
•     Void removeAllElements()

                               .‫د‬                     ‫دار‬        ‫ا از‬               ‫از اﺝ ا‬          .                 ‫دار را ﺥ ﻝ‬
      •     Boolean removeElement(Object element)

                        . ‫دا‬           true                 ‫رت‬            ‫در‬                ‫ف‬        ‫ را از دار‬Element


                                                                                                                   Stack ‫س‬


  .             ‫ز‬       ‫د‬   ‫ارد را‬     ‫ ا‬LIFO                        ‫ی‬              ‫ ا‬Vector ‫از‬                          ‫ زی‬Stack
                                                                                            :‫د‬                ‫ی‬         ‫رت زی‬
Class Stack<E>

          ‫هی‬        ‫و‬       Stack .‫د‬                   ‫ذﺥ‬            ‫در‬               ‫ا‬                  ‫ع‬                          E
                                           .‫دارد‬           ‫ﺥ ص ﺥ د را‬                ‫ه‬           ‫ا‬            ‫ی‬         Vector ‫در‬


                                                                                                                              ‫ه‬
      •     Boolean empty()

                                                                     . ‫دا‬                    true                 ‫ﺥﻝ‬
      •     E peek()

                                              .             ‫ف‬            ‫ن را‬        ‫دا ا‬                ‫را‬
      •     E pop()

                                                  .              ‫ف‬        ‫دا و ن را‬                      ‫را‬
      •     E push(E element)

                                                                                .                    ‫ا‬                 ‫ را‬Element
      •     Int search(Object element)


           ‫دا‬                          ‫ن‬              ‫دا‬     ‫ا‬                                       ‫ﺝ‬            ‫ رادر‬Element
                                                                     . ‫دا‬                   -1 ‫رت‬                 ‫ای‬       ‫د. در‬
.‫ﺥ ن داد ه دارد‬   ‫ز ا اع‬   ‫د‬   ‫ا‬           ‫سه‬    ‫ﺝ وا‬
                                      ArrayList •
                                     LinkedList •
                                        HashSet •
                               LinkedHashSet •
                                        TreeSet •
                                   PriorityQueue •
                                             … •
‫ی ه‬


                                                                                                                                                     ‫ورود / و‬


‫ض‬             ‫در‬          ‫.‬                                         ‫ﻝ‬              ‫ه‬              ‫ﺝ وا‬         ‫ر د وا‬                            ‫ه‬
‫‪AWT(Abstract‬‬                                  ‫ر‬             ‫ار ط‬          ‫ار‬                ‫ا‬                  ‫ای ه‬                      ‫ا‬                ‫ه‬
              ‫از ر ده‬                                           ‫ه‬          ‫دار .‬                ‫)‪ Window Toolkit‬ی ‪ Swing‬ﺝ وا ا‬
‫د از‬           ‫ود د وا‬                    ‫ﻝ‬            ‫ﺝ وا از ‪I/O‬‬                              ‫ی .‬        ‫ر‬                     ‫وا‬               ‫ﺝ وا در ره‬
‫در‬                              ‫ﻝ‬         ‫د ‪I/O‬‬                                ‫ه‬                 ‫در‬        ‫.‬       ‫زا‬                                 ‫ر‬                ‫ن‬
‫ت‬             ‫ه ا‬             ‫ی ه و‬                    ‫ل ﺝ وا در را‬                         ‫.ا در‬                      ‫ان‬            ‫ز ﺝ وا‬
              ‫دارد.‬           ‫وی ر‬                                       ‫‪ I/O‬ﺝ وا‬                  ‫ا ‪ I/O‬دارد.‬                       ‫ف ی‬                      ‫وا‬


                                                                                                                                                          ‫ی ه‬          ‫ا‬


                ‫ی‬        ‫ر از ا‬           ‫ه .‬               ‫ی ه ا م‬                ‫ی ا‬             ‫ت ‪ I/O‬را از‬                           ‫ﺝ وا‬             ‫ه‬
     ‫ی‬        ‫‪ I/O‬ﺝ وا‬                            ‫و‬         ‫ی‬       ‫.ه ا‬               ‫ف‬                ‫ت را ﻝ ی‬                     ‫ا‬                    ‫ا‬        ‫ا ا‬
     ‫ی‬          ‫ا و ی‬                                                          ‫ی‬        ‫ی ه‬             ‫د. م ا‬                                                         ‫و‬
‫ع‬        ‫ا ه‬             ‫ان‬          ‫را‬               ‫‪ I/O‬ی‬              ‫سه و ه‬                    ‫.از ای رو‬                    ‫وت‬
    ‫زی د از ورود‬                          ‫ا ا اع‬                        ‫ی ورود‬              ‫ه ا‬                        ‫ای‬            ‫ر د.ای‬                            ‫و‬
 ‫ره‬                     ‫.ه‬          ‫از‬                 ‫ی‬                   ‫,‬           ‫دی‬        ‫از ی‬     ‫زد : ی‬            ‫ا‬                ‫دی‬       ‫ه را از ی‬
‫ی‬        ‫.ا‬                               ‫ل‬           ‫ی ا‬           ‫دی‬     ‫از ی‬         ‫ل ی‬                        ‫ا‬                             ‫ی ﺥ وﺝ‬                ‫ا‬
                    ‫ه‬          ‫ه از‬                         ‫ز‬            ‫ی و دی‬             ‫ر‬            ‫ی ی ‪I/O‬‬                 ‫ا‬                            ‫ه روش‬
     ‫سه‬                 ‫ی ه را در‬             ‫.ﺝ وا ا‬                              ‫و‬                           ‫ی‬            ‫وت‬
                                                                               ‫.‬                  ‫ز‬       ‫‪ java.io‬د‬                          ‫در‬                    ‫ی‬


                                                                                                                       ‫و را‬                  ‫ی‬            ‫ی ه‬          ‫ا‬
‫را‬                 ‫روش‬                 ‫ی‬            ‫ی ه‬             ‫.ا‬            ‫و را‬                    ‫: ی‬             ‫ا‬                 ‫ی‬               ‫ی در ﺝ وا‬                            ‫دو ع ا‬
‫ا ﺥ ا نی‬                      ‫ی ه‬                  ‫ل از ای ا‬                 ‫ان‬                      ‫زد.‬              ‫اه‬               ‫ی‬                ‫ی ی ‪ I/O‬داد ه‬                                      ‫ا‬
‫ی ی ‪I/O‬‬                   ‫ا‬                            ‫روش‬                   ‫را‬                  ‫ی ه‬               ‫د. ا‬                    ‫د‬            ‫ا‬                ‫ی‬               ‫داد ه‬
 ‫ا‬             ‫ا‬                  ‫ای‬               ‫و‬                     ‫د‬           ‫ا‬                    ‫ه از ی‬                   ‫ﺥ ا . ای ا‬                                     ‫اه‬             ‫ه‬        ‫را‬
       ‫ارد را‬                     ‫ﺥ از‬                 ‫ی ه در‬                    ‫.ای ا‬                    ‫ار‬          ‫د‬        ‫رد ا‬                             ‫اﻝ‬                       ‫ا اع ز ن ه‬
                                                                                                                                                ‫.‬               ‫ه‬            ‫ی‬            ‫ی ه‬              ‫از ا‬
‫ت‬              ‫م‬    ‫د و از ای رو‬                                             ‫ی‬           ‫ﺝ وا )0.1(‬                                ‫رش‬                   ‫در‬                       ‫را‬               ‫ی ه‬           ‫ا‬
‫س‬       ‫ه و‬                   ‫ﺥ از‬                  ‫و‬               ‫ﺝ وا1.1 ا ود‬                                          ‫را‬               ‫ی ه‬                  ‫ا د .ا‬                               ‫‪ I/O‬ی‬
     ‫ی ه‬           ‫از ا‬                        ‫ی‬            ‫ه‬                                    ‫ا‬        ‫دﻝ‬          ‫ه‬        ‫.‬                            ‫ا‬            ‫ر‬           ‫ا‬               ‫ی‬         ‫ه‬
                          ‫.‬                            ‫روز ر‬             ‫د از ن ه‬                          ‫ا‬         ‫ﺝ‬             ‫ی‬                                             ‫د‬           ‫ا‬            ‫را‬
                   ‫ی ه‬                 ‫.ا‬           ‫اه‬              ‫ی‬                        ‫ی‬             ‫ت ‪ I/O‬ه ز ه در ی‬                                                      ‫م‬           ‫دی :‬
                          ‫زد.‬                          ‫اه‬       ‫ه‬            ‫را‬              ‫ی ی‬               ‫ا‬               ‫و را‬                                  ‫روش‬                                  ‫را‬


                                                                                                                                                    ‫ی‬                ‫ی ه‬                 ‫ا‬        ‫سه‬


‫س‬       ‫ا .دو‬                          ‫ی‬            ‫سه‬                       ‫ا‬                        ‫ﺥ ر‬             ‫ﺥ از‬                 ‫دو‬                   ‫و‬                    ‫ی‬            ‫ی ه‬           ‫ا‬
     ‫ار دار : ‪. Outputstream,Inputstream‬ه ی‬                                                                         ‫سه‬                     ‫ای‬                            ‫ی‬                   ‫در‬           ‫ا ا‬
     ‫از ﺝ‬                 ‫و ی ‪I/O‬‬                                   ‫وت ه‬                             ‫س دار‬                    ‫ی زی‬                              ‫ا ا‬                  ‫سه‬                   ‫از ای‬
‫. ﺥ از‬                                     ‫ی ی‬         ‫را‬                        ‫ه‬                        ‫و‬               ‫ت‬                 ‫ه ,ا‬                             ‫رو دی‬                       ‫ی ه‬
‫د از‬           ‫ا ا‬                                      ‫دا‬              ‫. ﺥ‬                               ‫ار‬              ‫رد ر‬                                               ‫س ه در ای‬                         ‫ای‬
                                                                                         ‫.‬           ‫‪ java.io‬را وارد‬                                        ‫ی ه ی‬                        ‫ا‬        ‫سه‬
           ‫ا‬                  ‫ی‬                                     ‫ی‬             ‫‪Outputstream,Inputstream‬‬                                                                   ‫سا ا‬                        ‫در دو‬
            ‫ه )(‪ read(),write‬ه‬                                           ‫ی ای‬                        ‫.و‬                        ‫ز‬                ‫د‬                    ‫دی‬              ‫سه‬                        ‫و‬
     ‫رت ا ا‬                                        ‫.ه دو‬                          ‫د‬          ‫ر‬                 ‫ی ه ی از داد ه‬                                                     ‫ا ﺥ ا نو‬
‫س ه‬                 ‫زی‬                     ‫و‬            ‫ه‬                ‫ا .ای‬                             ‫ی‬          ‫‪Outputstream,Inputstream‬‬                                                              ‫در‬
                                                                                                                                                                     ‫.‬                       ‫‪override‬‬
: ‫ی‬      ‫ی ه‬       ‫ا‬      ‫سه‬


                                                           .                        ‫ی ورود‬           ‫ : ا‬BufferedInputStream
                                                       .                       ‫ی ﺥ وﺝ‬           ‫ : ا‬BufferedOutputStream
                   . ‫ﺥ ا‬               ‫ی‬       ‫رای‬             ‫از ی‬                ‫ی ورود‬        ‫ :ا‬ByteArrayInputStream
                    . ‫ی‬                ‫رای‬           ‫در ی‬                  ‫ی ﺥ وﺝ‬              ‫ : ا‬ByteArrayOutputStream
‫ارد ﺝ وا‬     ‫ا‬    ‫ا ﺥ ا ن ا اع داد ه‬                               ‫هی‬                     ‫ی ورود‬           ‫ : ا‬DataInputStream
                                                                                                                                    .‫دارد‬
‫ارد ﺝ وا‬     ‫ا‬    ‫ا اع داد ه‬                       ‫ا‬            ‫هی‬                    ‫ی ﺥ وﺝ‬           ‫ : ا‬DataOutputStream
                                                                                                                                    .‫دارد‬
                                           . ‫ﺥ ا‬                   ‫ی‬           ‫از ی‬           ‫ی ورود‬        ‫ :ا‬FileInputStream
                                   . ‫ی‬                     ‫ی‬           ‫در ی‬               ‫ی ﺥ وﺝ‬           ‫ :ا‬FileOutputStream
                                           .                   ‫ز‬       ‫ را د‬Inputstream : FilterInputStream
                                   .                   ‫ز‬           ‫ را د‬Outputstream :FilterOutputStream
                           .                   ‫ی‬           ‫ی ورود را‬                      ‫ا‬          ‫سا ا‬           : InputStream
                                                           .‫ه‬                  ‫ا‬      ‫ی ورود‬           ‫ : ا‬ObjectInputStream
                                                   .‫ه‬                  ‫ا‬           ‫ی ﺥ وﺝ‬            ‫ : ا‬ObjectOutputStream
                       .                   ‫ی‬           ‫ی ﺥ وﺝ را‬                      ‫ا‬              ‫ : س ا ا‬OutputStream
                                                                                          . ‫ : ی ورود‬PipedInputStream
                                                                                    . ‫ : ی ﺥ وﺝ‬PipedOutputStream
                                           . print(),println()                                   ‫ی ﺥ وﺝ‬             ‫ : ا‬PrintStream
    ‫ی‬   ‫.ی‬                     ‫ی‬               unget ‫از‬                            ‫ی ورود‬        ‫ : ا‬PushbackInputStream
                                                                                              . ‫دا‬                  ‫ی ورود‬      ‫ا‬     ‫را‬
                                   .                                   ‫در ی‬           ‫د‬         I/O‫ :از‬RandomAccessFile
‫ر‬                ‫ی ورود ا‬              ‫از دو ا‬                                     ‫ی ورود‬        ‫ : ا‬SequenceInputStream
                                                                           .                   ‫ﺥ ا‬          ‫از دی‬            ‫اﻝ و ی‬
‫را‬                 ‫ی ه‬          ‫ا‬    ‫سه‬


‫س‬      ‫ا .دو‬                 ‫ی‬               ‫سه‬                  ‫ا‬                   ‫ﺥ از‬                      ‫دو‬          ‫و‬                        ‫را‬         ‫ی ه‬         ‫ا‬
     ‫ا ا‬   ‫سه‬                    ‫ار دار :‪. Reader,Writer‬ای‬                                           ‫سه‬                  ‫ای‬                     ‫ی‬          ‫در‬         ‫ا ا‬
‫س‬      ‫از ای دو‬             ‫س از ه ی‬                    ‫ی زی‬                                         ‫ی ی‬        ‫را‬                    ‫ی‬             ‫را‬          ‫ی ه‬        ‫ا‬
           ‫ی‬        ‫ا .‬                      ‫در زی ذ‬                         ‫را‬       ‫ی ه‬                  ‫ا‬        ‫سه‬                 ‫ا .‬                      ‫در ﺝ وا‬
 ‫ز‬     ‫د‬           ‫دی‬       ‫سه‬                     ‫و‬                     ‫ا‬           ‫ی‬               ‫‪Reader,Writer‬‬                                  ‫سا ا‬            ‫در دو‬
‫ه ی از‬     ‫را‬                        ‫ا ﺥ ا نو‬                                     ‫ه )(‪ read(),write‬ه‬                                          ‫ی ای‬             ‫.و‬
               ‫.‬                     ‫س ه ‪override‬‬                              ‫زی‬            ‫و‬         ‫ه‬             ‫.ای‬                            ‫ر د‬             ‫داد ه‬


                                                                                                                          ‫را‬              ‫ی‬         ‫س ه ‪ I/O‬ا‬
                                                                     ‫.‬                       ‫ورود‬                   ‫را‬            ‫ی‬           ‫‪ : BuffereReader‬ا‬
                                                             ‫.‬                      ‫ﺥ وﺝ‬                        ‫را‬            ‫ی‬           ‫‪ : BufferedWriter‬ا‬
                            ‫ﺥ ا .‬                        ‫را‬               ‫رای‬        ‫از ی‬                  ‫ی ورود‬                     ‫‪: CharArrayReader‬ا‬
                            ‫ی .‬                         ‫را‬               ‫رای‬        ‫در ی‬               ‫ی ﺥ وﺝ‬                         ‫‪ : CharArrayWriter‬ا‬
                                                                     ‫ﺥ ا .‬                   ‫ی‬         ‫از ی‬                ‫ی ورود‬                    ‫‪: FileReader‬ا‬
                                                                 ‫ی .‬                     ‫ی‬             ‫در ی‬               ‫ی ﺥ وﺝ‬                     ‫‪: FileWriter‬ا‬
                                                                                             ‫.‬                       ‫ی ورود‬                     ‫‪ : FilterReader‬ا‬
                                                                                                 ‫.‬                       ‫ی ﺥ وﺝ‬                     ‫‪ :FilterWriter‬ا‬
               ‫.‬                 ‫ی‬           ‫ه‬     ‫را‬                ‫ی ه را‬                          ‫ی ورود‬                   ‫‪ : InputStreamReader‬ا‬
                                         ‫.‬         ‫رش‬                 ‫ه را‬                             ‫ی ورود‬                     ‫‪ :LineNumberreader‬ا‬
           ‫.‬                     ‫ی‬           ‫ه را ی ه‬                     ‫را‬                 ‫ی ﺥ وﺝ‬                  ‫‪ : : OutputStreamWriter‬ا‬
                                                                                                                     ‫‪ : PipedReader‬ی ورود .‬
                                                                                                                    ‫‪ : PipedWriter‬ی ﺥ وﺝ .‬
                                                       ‫)(‪. print(),println‬‬                                           ‫ی ﺥ وﺝ‬                         ‫‪ : PrintWriter‬ا‬
‫را‬    ‫ی ورود‬            ‫ا‬            ‫ه‬           ‫ن ز دا ن را‬                             ‫ا‬                 ‫ی ورود‬                     ‫‪ : PushbackReader‬ا‬
                                                                                                                                                     ‫زد.‬              ‫اه‬
‫.‬                            ‫ی‬         ‫را‬           ‫را‬         ‫ورود‬                 ‫ی ه‬           ‫ا‬                 ‫‪ : Reader‬س ا ا‬
                                                                    ‫ﺥ ا .‬                   ‫ر‬            ‫از ی‬             ‫ی ورود‬                     ‫‪ : StringReader‬ا‬
                                                                  ‫ی .‬                   ‫ر‬           ‫در ی‬                 ‫ی ﺥ وﺝ‬                      ‫‪ : : StringWriter‬ا‬
                         ‫.‬                            ‫ی‬            ‫را‬            ‫را‬         ‫ﺥ وﺝ‬               ‫ی ه‬         ‫ا‬                     ‫سا ا‬                ‫‪: Writer‬‬


                                                                                                                           ‫ﺕ ی ﺵ‬                             ‫از پ‬     ‫ی ه‬       ‫ا‬


      ‫ر ﺥ د ر وارد‬                                ‫‪ java.lang‬را‬                              ‫ﺝ وا‬              ‫ه‬                    ‫م‬             ‫دا‬                         ‫ه ن‬
‫ز ن‬            ‫از‬                             ‫ه‬               ‫ﺝ‬              ‫ا‬              ‫ی‬            ‫م ‪System‬‬                                                     ‫.در ای‬
‫ز ن‬      ‫ا‬          ‫س‬                    ‫ای‬               ‫ه‬             ‫ﺥ از‬          ‫د از‬               ‫ا‬       ‫ل‬        ‫ان‬                     ‫.‬              ‫ن‬       ‫اﺝ ا را‬
      ‫ی از‬      ‫ا‬                             ‫وری .‬                      ‫د‬       ‫را‬                          ‫ط‬            ‫ت‬                          ‫تﺥ‬                ‫و‬    ‫ﺝر‬
‫و‬      ‫رت ای‬                     ‫ه‬                            ‫س ‪ System‬وﺝ د دارد:‪. err,out,in‬ای‬                                                      ‫در‬                     ‫ی‬
                                                                                                                   ‫ا .‬                     ‫ی‬         ‫در ‪System‬‬
‫ل‬       ‫ضه ن‬                                                  ‫ی‬         ‫ارد ارﺝ ع دارد.ای ا‬                          ‫ی ﺥ وﺝ ا‬                            ‫ا‬     ‫‪System.out‬‬
               ‫ض‬                                                        ‫ارد ارﺝ ع دارد‬                         ‫ا‬         ‫ورود‬                            ‫.‪System.in‬‬             ‫ا‬
‫ل‬        ‫ض‬                                                ‫ارد ارﺝ ع دارد‬                        ‫ا‬            ‫ی ﺥ ه‬                 ‫ا‬             ‫.‪ System.err‬ه‬                  ‫ا‬
                    ‫د.‬                   ‫ه ای‬                      ‫ز ر دی‬             ‫‪I/O‬‬               ‫ه و‬          ‫ان‬                        ‫ی ه را‬           ‫.ا ای ا‬         ‫ا‬
‫ه ی از‬                  ‫.‪System.out,System.err‬‬                                              ‫ا از ع ‪ InputStream‬ا‬                                                    ‫‪System.in‬‬
‫/در‬     ‫ه‬      ‫را‬                    ‫ﺥ ا ن/‬                         ‫ا‬                   ‫ی ه‬                  ‫ای ا‬                  ‫.‬            ‫ع ‪ PrintSystem‬ه‬
‫ﺥ اه دی در‬                               ‫ی .ه ن‬                              ‫ر‬                      ‫ی‬         ‫ی ه‬              ‫دا ا‬                             ‫د‬      ‫لا‬
                                     ‫.‬                              ‫را‬                              ‫ی ه‬            ‫ن ه را در ا‬                       ‫ا‬              ‫رت ز‬


                                                                                                                                   ‫ل‬                         ‫ا ن ورود ه‬


 ‫د از ای روی‬                 ‫ی‬       ‫ی‬            ‫ا‬               ‫د از ی‬         ‫ل در ﺝ وا 0.1 ا‬                                   ‫روش ﺥ ا ن ورود ه‬
‫ا ﺥ ا ن‬             ‫ی‬            ‫ی ه‬                      ‫د از ا‬             ‫.ا وز ا‬                    ‫اول ا‬                          ‫ی‬         ‫ه‬                  ‫ه ز ه در‬
‫د.روش از‬                                      ‫ر‬                   ‫ا ا م ای‬              ‫ا‬                                ‫ل ه ز ه از‬                                   ‫ورود ه‬
‫د‬      ‫ا‬            ‫اا‬           ‫را‬      ‫ی‬     ‫د از ا‬              ‫لا‬               ‫ا ﺥ ا ن ورود ه‬                                                ‫ی‬
                                   .        ‫ﺥ ا‬               ‫ن‬            ‫ه را‬             ‫دن‬                   ‫اﻝ‬        ‫و‬            ‫دا‬            ‫از ان ه‬
    ‫د. ا‬             ‫ ا م‬System.in ‫ی ﺥ ا ن از‬                                      ‫ل در ﺝ وا از‬                                    ‫ه‬        ‫ﺥ ا ن ورود‬
‫ا از‬            ‫ را در‬System.in                   ‫ی‬            ‫ل‬                                   ‫را‬                                  ‫ی ه‬        ‫ﺥ ا نا‬
                                            ‫ی ورود‬             ‫ از ا‬BufferReader.                                      BufferReader ‫ع‬
                                                  :           ‫زی ا‬                  ‫د‬            ‫رد ا‬       Constructor ‫. اول ی‬


                                                                                  BufferReader(Reader inputReader)
Reader. ‫د‬                 ‫ای د‬               ‫ ا‬BufferReader ‫ا از‬                                                        ‫ی‬              ‫ ا‬inputReader
‫ی ه‬             .        ‫ ا‬InputStreamReader ‫ن‬                               ‫سه‬                 ‫از زی‬        ‫.ی‬        ‫ا‬           ‫سا ا‬
System.in                 InputStreamReader ‫ا از ع‬                                              ‫. ا ای د‬                           ‫ی‬             ‫را‬            ‫را‬
                                                                              :         ‫د‬         ‫ ذی ا‬constructor ‫از‬
                                                       InputStreamReader(InputStream inputStream)
‫ی‬      ‫ا‬    ‫ا‬       ‫ان‬        ‫ ارﺝ ع دارد از ن‬InputStream ‫ع‬                                        ‫از‬        ‫ا‬                     Stream.in ‫ن‬
                                   ‫د‬          ‫ ای د‬BufferReader                                 ‫زی ی‬                  ‫د. در‬                 ‫د‬     ‫ورود ا‬
                                                                                                                                                      :‫د‬
 BufferReader br= new BufferReader (new InputStreamReader (System.in));
 System.in ‫ی‬                  ‫از‬        ‫د‬     ‫ﺥ اه‬                ‫را‬                        ‫ی‬      ‫ا‬        ‫ ی‬br                                ‫از اﺝ ا‬
                                                                                                                               .        ‫ا‬              ‫ل‬


                                                                                                                                   ‫ه‬            ‫ا ن را‬


‫از‬         ‫. ر‬            ‫د‬      ‫ ا‬Read() ‫از‬              ‫ا‬            BufferReader                     ‫را از ی‬                        ‫را‬             ‫ن‬    ‫ا‬
                                                                   :         ‫رت زی ا‬                    ‫د‬             ‫ر ﺥ اه‬                          Read()
                                                                                                int Read()throws IOExeption
     ‫ﺥ ا و ن را‬                    ‫ی ورود‬             ‫را از ا‬                 ‫د را‬                          ‫اﺥ ا‬            Read()                     ‫ر‬       ‫ه‬
           ‫دا .ه ن‬                     ‫ی ١- را‬        ‫ا‬                ‫ا‬             . ‫دا‬                                          ‫ار‬             ‫رت ی‬
.     ‫ب‬      ‫ا‬               ‫ را‬ioexeption               ‫ا‬
‫ر را‬   ‫ده .ای‬       ‫ن‬   ‫ل‬         ‫ه از‬        ‫ را ﺥ ا ن را‬read() ‫د از‬                    ‫ذی روش ا‬
                                              :‫د‬        ‫ر داد‬     “q” ‫ف‬                  ‫ده‬        ‫ر ادا‬
//use a BufferedReader to read characters from the console.
Import java.io.*;
Class BRRead{
Public static void main(String args[]) throws IOExeption
{
Char c;
BufferedReader br=new BufferReader(new InputstreamReader(System.in));
System.out.println(“Enter charactors,’q’ to quit.”);
//read characters
Do{
C=(char)br.read();
System.out.println(c);
}while(c!=’q’);
}
}

                                          :      ‫ا‬       ‫ن داد‬        ‫در ذی‬              ‫ا از ﺥ وﺝ‬
Enter charactors,’q’ to quit.
123abcq
1
2
3
A
B
C
Q

system.in       ‫ا‬               ‫وت دا‬     ‫ر‬          ‫رش را داری‬       ‫ا‬              ‫ا‬              ‫ﺥ وﺝ‬
       ‫و‬                    ‫ی‬     ‫ﺥ ا .ای‬                        ‫رت‬           ‫را‬             ‫ض‬
    ‫ا دری‬   read()      ‫د‬                ‫.ای ا‬             ‫ار ل‬                    ‫د ورودی‬       ‫ زد‬enter
                                                            .             ‫ان ارز‬         ‫ل‬       ‫ورودی از‬


                                                                                             ‫ا ن رﺵ ه‬
‫س‬             ‫از‬                           ‫د‬       ‫ ا‬readline()‫ا از‬                    ‫ا رااز‬      ‫ر‬             ‫ا‬
                                                      .   ‫رت زی ا‬            ‫ن‬   ‫م‬     .      ‫ ا‬bufferedreader


String readline() throws loexception



                                               .     ‫ ا‬string         ‫ان ی‬                                      ‫ه ن‬
‫ه را ن‬                          ‫ه ای‬           ‫ن‬     ‫ را‬readline()      ‫ و‬bufferedreader ‫د‬                 ‫زی‬
                                       :            ‫ را ی‬word           ‫ده‬       ‫ﺥ ا و ی‬               ‫ی‬        ‫ری‬


//read a string from console using a bufferedreader.
Import java . io .*;
Class breadlines                  {
Public static void main (string args[] )
Throws ioexception
{
//create a bufferedreader using system. In
Bufferedreader br = new bufferedeader (new inputsteamreader( system.in
);
String str;


System .out. println(                          enter lines of text. );
system .out. println(enter `stop` to quit.``);
do        {
str =br .readline();
system.out. println(str);
} while(!str.equals (``stop``);
}
}

‫ ای د‬string                 ‫ه‬      ‫از‬          ‫. رای ا‬    ‫ا‬       ‫د ای د‬         ‫ر‬     ‫وی ا‬     ‫زی ی‬             ‫در‬
‫د.ی‬                    ‫ﺥ ا‬        ١٠٠              ‫د. ا‬          ‫در رای ذﺥ‬       ‫وه‬            ‫ه ﺥ ا‬                 ‫و‬
      :            ‫ا‬    ‫د‬       ‫ ا‬BufferRead ‫ل‬                  ‫. ا ﺥ ا ن از‬         ‫`` را ی‬stop``                   ‫ای‬
//A tiny editor
Import java.io.*;
Class TinyEdit{
Public static void main(String args[])throws IOException{
//creat a bufferreader using System.in
BufferedReader br = new BufferedReader(new


InputstreamReader(System.in));
String str[] = new String[100];
System.out. println(“enter lines of text.”);
System.out. println(“enter ‘stop’ to quit.”);
For(int i=0;i<100;i++){
Str[i]=br.readLine();
If(str[i].equals(“stop”))break;
}
System.out. println(“nHere is your file:”);
//display the lines
For(int i=0;i<100;i++){
If(str[i].equals(“stop”))break;
System.out. println(str[i]);
}
}
}

                                 :   ‫ا‬   ‫ن داد‬   ‫در ذی‬       ‫ا از ﺥ وﺝ‬
Enter lines of text.
Enter ‘stop’ to quit.
This is line one.
This is line two.
Java makes working with strings easy.
Just creat String objects.
Stop
Here is your file:
This is line one.
This is line two.
Java makes working with strings easy.
Just creat String objects.



                                                         ‫ل‬       ‫و‬       ‫ﺵ‬
‫س‬                        ‫و‬               ‫ه‬             ‫د. ای‬             ‫ ا م‬print(),println()                              ‫ا‬                  ‫ل‬                       ‫ﺥ وﺝ‬
            ‫ه .ا‬                     ‫ی‬           (‫ن ارﺝ ع دارد‬                         System.out                                             ) PrintStream
            ‫د ه ز‬                    ‫ا‬                 ‫د از ن ا ﺥ وﺝ‬                         ‫ا ا‬        ‫ا‬       ‫ی‬       ‫ی‬            ‫ا‬             System.out
                                                                                                                                                   .           ‫ی شا‬
                 ‫ا‬                           OutputStream ‫از‬                            ‫ی ﺥ وﺝ ا‬                    ‫ا‬                    PrintStream ‫ن‬
‫در‬                       ‫ا‬       ‫ان‬                write() ‫.از ای رو از‬                             ‫ز‬           ‫د‬                ‫ را‬write()                    ‫ی‬
             ‫ا‬                   ‫ی‬           PrintSystem                    ‫و‬               write() ‫م‬               ‫ی‬           ‫د. د‬               ‫د‬           ‫لا‬
                                                                                                                                     :                     ‫رت زی‬
Void write (int byteval)

‫د‬           ‫ان‬                byteval                            ‫ی .ا‬              ‫ی‬        ‫ در ا‬byteval                                                   ‫ی‬                 ‫ای‬
‫زی از‬                        ‫ل‬           ‫.در‬                                  ‫را‬                        ‫ه‬               ‫ا‬                ‫ا‬             ‫ی‬
                             :           ‫ا‬         ‫د‬         ‫ا‬                  ‫ا ل‬            ‫را‬               ‫و‬A              ‫را‬                         ‫ ا‬write
//Demonstrate System.out.write()
Class WriteDemo{
Public static void main(String args[]){
Int b;
B=’A’;
System.out.write(b);
System.out.write(‘n’);
}
}

‫د از‬                 ‫ا‬           ‫ا‬           ‫د‬                   ‫د‬       ‫ ا‬write() ‫از‬               ‫ل ا‬                         ‫ه‬            ‫م ﺥ وﺝ‬                ‫ا‬     ‫ا‬
                                                                                                            .       ‫ا‬           ‫ن‬            print(),println()


                                                                                                                                    PrintWriter ‫س‬


             ‫د از ن‬                  ‫ا ا‬            ‫ی شا‬                  ‫ل‬            ‫در‬            ‫ ا‬System.out ‫د از‬                                         ‫ا‬              ‫ا‬
        ‫ه‬                ‫در‬                      ‫د. رو‬                             ‫د‬         ‫ه‬                          ‫ل زدای ی‬                       ‫ا‬                ‫ای‬
    .        ‫ ا‬PrintWriter ‫ی‬                             ‫ا‬           ‫ی‬    ‫د از‬                              ‫ل‬                   ‫در‬                         ‫ا‬                 ‫وا‬
‫را‬                   ‫س‬        ‫د از‬               ‫.ا‬       ‫ا‬       ‫را‬                           ‫سه‬        ‫از‬        ‫ ی‬PrintWriter
                       .                  ‫ن‬      ‫ه را‬                     ‫ﺥ‬               ‫اﻝ‬       ‫ل‬        ‫ﺥ وﺝ ه در‬                          ‫ﺝ‬
               :       ‫رت زی ا‬                       ‫ه‬           ‫از ای‬        ‫.ی‬      ‫ا‬            ‫ی‬       PrintWriter‫در‬          ‫ز‬
PrintWriter(OutputStream outputstream,Boolean flushOneNewLine)


                       flushOneNewLine ‫و‬                              ‫ ا‬OutputStream ‫ا از ع‬                                Outputstream
‫ار ن‬                        . ‫دی ﺥ‬                           println()             ‫اﺥ ا‬        ‫ره م‬          ‫ی ﺥ وﺝ ه‬             ‫ا‬
‫ر‬             ‫ر‬        ‫ای‬        false ‫ار ن‬                      ‫د.ا ا‬               ‫رﺥ د را م‬                                             true
                                                                                                             .        ‫اه‬       ‫ﺥ د را م‬
    ‫از از‬          ‫ا‬             ‫زی‬              ‫ی‬           ‫د‬     ‫ل ا‬              ‫در‬                 ‫ا‬    PrintWriter                    ‫ا‬
    .                   ‫ﺝی‬                ‫از ه‬           ‫ی را‬            ‫ی وا‬         ‫د‬        ‫ی ﺥ وﺝ ا‬           ‫ ا ا‬System.out
                                      :                               ‫ل ﺥ وﺝ‬                   ‫ را ای د و‬PrintWriter ‫ل‬                ‫ان‬
PrintWriter pw= new PrintWriter(System.out ,true);



‫د‬            ‫ل ﺥ وﺝ ا‬                     ‫ی ی‬            ‫ا‬       PrintWriter ‫از‬                              ‫ده‬            ‫ن‬     ‫زی‬
                                                                                                                                      :‫د‬
//demonstrate PrintWriter
Import java.io.*;


Public class PrintWriterdemo{
Public static void main(String args[]){
PrintWriter pw = new PrintWriter(System.out ,true);
Pw.println(“this is a string”);
Int I =-7;
Pw.println(i);
Double d=4.5e-7;
Pw.println(d);
}
}

                                                                                               :       ‫رت زی ا‬                        ‫ﺥ وﺝ‬
This is a string
-7
4.5e-7



                                                                                                         ‫در ی ه‬                ‫ا ن از / ﺵ‬


‫. م ی ه در‬                 ‫د ا‬      ‫اه‬       ‫در ی ه‬                           /‫ا ﺥ ا ن از‬                   ‫را‬           ‫سو‬                  ‫ی‬         ‫ﺝ وا‬
    ‫ﺥ‬       ‫اه‬       ‫ی ه‬        / ‫ی ه از‬                      /‫ه ی را ا ﺥ ا ن‬                               ‫و ﺝ وا‬             ‫اه‬                ‫ﺝ وا ی‬
                 ‫ه‬         ‫ی ه را در‬             ‫ا‬            ‫ی‬          ‫ی ه‬          ‫نا‬                ‫ن‬           ‫. ای وﺝ د ﺝ وا ا‬                           ‫ا‬
                                                                                                            .           ‫ﺥ ا‬         ‫اه‬                 ‫را‬
FileOutputStream,                                    ‫ار‬            ‫د‬      ‫رد ا‬                                  ‫س هی‬                ‫رد از‬               ‫دو‬
    ‫ن‬        ‫. ا‬               ‫ی ه را ای د‬                                ‫ی‬           ‫ی ه‬           ‫ا‬                   ‫ ه‬FileInputStream
‫ن‬       ‫ان ر‬               ‫س ه را ای د و م ی را‬                           ‫ع‬           ‫ا از ای‬                       ‫ا‬                   ‫را ز‬               ‫ی‬
                         override            ‫ا‬        ‫ه‬           ‫ز‬      ‫س از‬              ‫ه دو‬                     ‫ی .ا‬                               ‫ز‬
                                                                         : ‫ده‬                           ‫م زی را‬            ‫دو‬                      ‫ا‬
FileInputStream(String fileName)throws FileNotFoundEXeption
FileOutputStream(String fileName)throws FileNotFoundEXeption


             ‫ی ورود ای د‬            ‫ا‬    ‫ی‬           ‫د.و‬           ‫ز‬      ‫ی‬                                         ‫را‬     ‫ م ی‬filename
        ‫ب‬        FileNotFoundEXeption                                         ‫رت ا‬          ‫در ن‬                         ‫ﺝ د‬             ‫ی‬
        ‫رت ا‬               ‫در ن‬              ‫ﺝ د‬                  ‫ی‬                                 ‫ﺥ وﺝ‬                ‫ی ه‬         ‫ا‬            ‫د, ا‬
                                                                           .‫د‬               ‫ب‬           FileNotFoundEXeption
‫س‬       ‫ی .ه دو‬            close()       ‫اﺥ ا‬                     ‫ن را‬           ‫ی‬                  ‫ین ر‬                   ‫ی‬        ‫ر ن‬                        ‫و‬
                                     : ‫د ا‬                ‫ی‬            ‫ ن را‬FileOutputStream, FileInputStream
Void close() throws IOException



‫س‬           ‫در‬             ‫د‬     ‫ ا‬read()            ‫رش ه‬                ‫از‬          ‫از ی‬       ‫ا‬                   ‫ی‬      ‫ا ﺥ ا ن از ه‬
                     :     ‫رت زی ا‬                   ‫رش ه‬                ‫از ای‬         ‫ی‬        ‫ا‬               ‫ی‬        FileInputStream
Int read() throws IOException
‫رت ی‬            ‫ﺥ ا و ن را‬                ‫را از ی‬      ‫ی وا‬             ‫دی‬             ‫اﺥ ا‬          ‫ای‬   ‫ر‬         ‫ه‬
‫رت‬          ‫د.در‬                 ‫دا‬       -1         ‫ی‬              ‫ا‬    ‫ن‬    ‫از ر‬        . ‫دا‬                     ‫د‬
                                          .‫د‬         ‫ب‬          IOException                  ‫ا‬       ‫ﺥ‬         ‫وز ه‬
      ‫داد‬        ‫ی‬       ‫ی‬   ‫ا‬        ‫و‬          ‫د‬       ‫ا ﺥ ا ن ورود ه ا‬                   read() ‫زی از‬               ‫در‬
try/catch            ‫ه‬       ‫ر د‬          .‫د‬                        ‫ن‬         ‫ن در ﺥ‬        ‫ان ر‬           ‫د. م ی‬
‫ا‬           ‫-ﺥ‬           ‫ﺝ‬       ‫ی‬                       ‫اﺝ ا‬           ‫در‬        ‫ا‬              ‫ی ی دو ﺥ ی‬          ‫ا‬
      ‫ان ه‬               ‫ن.از ای روی‬             ‫م ی در ﺥ‬                ‫دن ی‬         ‫ا ش‬            ‫رد‬        ‫ن ی‬
                                                     . ‫ی‬        ‫د‬       ‫نا‬            ‫ﺥ‬   ‫نه‬       ‫د از ر‬      ‫ه ما‬
/*display a text file.
To use this program ,specify the name
Of the file that you want to see.
For example to see a file called TEST.TXT,
Use the following command line:


Java showFile TEST.TXT
*/


Import java.io.*;


Class showFile{
Public static void main(String args[])throws IOException{
Int I;
FileInputStream fin;
Try{
Fin = new FileInputStream(args[0]);
}catch(FileNotFoundException e){
System.out. println(“file not found”);
Return;
}catch(ArrayIndexoutOfBoundsException e){
System.out. println(“usage: showfile file”);
Return;
}
//read charactors until EOF is encountered
Do{
I=fin.read();
If( I != -1)System.out.print((char)i);
}while(I != -1);
Fin.close();
}
}

FileOutputStream ‫س‬                   ‫و‬          write()      ‫از‬      ‫ا‬             ‫در ی‬                            ‫ا‬
                               :   ‫رت زی ا‬             ‫م ن‬       ‫ی‬   ‫. د‬       ‫د‬       ‫ا‬       ‫ا‬               ‫ی‬
Void write(int byteval) throws IOException



    ‫ی‬       int ‫رت‬         byteval       ‫د. ا‬                    ‫ در ی‬byteval                                          ‫ی‬
        ‫وز ه‬         ‫رت‬     ‫. در‬                   ‫در ی‬      ‫را‬                    ‫ه‬               ‫ا‬       ‫ا‬
     ‫دن ی‬            ‫ا‬    write() ‫ل زی از‬       ‫د.در‬         ‫ب‬       IOException                       ‫ا‬               ‫ﺥ‬
                                                                           .   ‫ا‬           ‫د‬       ‫ا‬               ‫ی‬
/*copy a text file.
To use this program specify the name of
The source file and the destination file.
For example to copy a file called EIRST.TXT
To a file called SECOND.TXT ,use the following
Command line.


Java CopyFile FIRST.TXT SECOND.TXT
*/
Import java.io.*;


Class CopyFile{
Public static void main(String args[])throws IOException{
Int I;
FileInputStream fin;
FileOutputStream fout;
Try{
//open input file
Try{
Fin=new FileInputStream(arg[0]);
}catch(FileNotFoundException e){
System.out. println(“file not found”);
Return;
}
//open output file
Try{
Fout =new FileOutputStream(arg[1]);
}catch(FileNotFoundException e){
System.out. println(“error opening output file”);
Return;
}
}catch(ArrayIndexoutOfBoundsException e){
System.out. println(“usage: CopyFile                                    from to”);
Return;
}
//copy file
Try{
Do{
I=fin.read();
If(I != -1)fout.write(i);
}while(I != -1);
}catch(IOException e){
System.out. println(“file error”);
}
Fin.close();
Fout.close();
}
}

‫ارش‬              ‫ا‬        ‫ه‬       ‫ﺥ‬    ‫از‬        c,c++            ‫از ﺝ‬                              ‫ی ز ن ه‬        ‫ﺥ ف‬          ‫ﺝ وا‬
                          ‫.ای ا‬        ‫ده‬   ‫ه ا‬           ‫ا‬       ‫ی ی‬                 ‫,از‬                  ‫د‬     ‫ی ه ا‬          ‫ﺥ ه‬
     ‫ن‬       ‫ر‬        ‫ﺥ ه‬                            ‫ده‬           ‫ن‬     ‫ﺝ وا ا‬                  ‫د‬          ‫ی ه‬        ‫ی ی‬
‫ر از‬                 c,c++ ‫د.در دو ز ن‬                        ‫ی‬         ‫ﺥ ا ن از ی‬                    ‫در‬       ‫ی وﺥ ه‬                ‫ا‬
            ‫را‬            ‫ی‬       ‫ه‬    ‫ی‬         ‫ا‬        ‫ن‬       ‫ﺥ ا نوه مر‬                          ‫در‬       ‫وز ﺥ‬       ‫ه م‬    ‫ا‬
    ‫د(.ای‬             ‫م‬       ‫ﺥ ا نا‬         ‫ار ﺥ‬             ‫ه ن‬            ‫ ا‬C/C++ ‫ در‬EOF ‫ط‬                               ‫دا )ی‬
‫د‬                                           ‫در‬                ‫رات‬          ‫ز ی‬                                        ‫ی‬              ‫ا‬
‫هی ن‬                          ‫ه‬       ‫ی ا‬    ‫ه در ز ن ﺝ وا از‬                    ‫.ﺥ‬         ‫ا‬                    ‫ام روی اد وا‬
‫ار 1-‬     ‫‪read‬‬    ‫دا .از ای رو و‬                ‫)(‪read‬‬           ‫هی‬       ‫ی‬        ‫از‬    ‫و‬         ‫م‬    ‫ا‬
                        ‫.‬       ‫ا‬         ‫‪EOF‬‬      ‫و‬         ‫ا‬   ‫وا‬           ‫نه‬             ‫دا‬        ‫را‬


‫ن‬       ‫ان ر‬       ‫‪ FIRST.TXT‬و‪ SECOND.TXT‬ی‬                                     ‫رد‬            ‫ﺝ: م ی ه‬
                 ‫اﺝ ا‬       ‫ا‬       ‫د ی‬    ‫)(‪ main‬ار ل‬           ‫و‬        ‫ن‬             ‫)(‪ main‬در ﺥ‬
                                                         ‫:‬            ‫م‬   ‫نا‬             ‫رت زی در ﺥ‬
‫‪Java CopyFile FIRST.TXT SECOND.TXT‬‬
‫ی ی ﺡ‬




                           :   ‫وی ای‬
          ‫در ﺝ وا‬     ‫ری‬
garbage collector ‫د‬
‫در ‪Java‬‬                   ‫ی ی ﺡ‬


    ‫ی ی‬         ‫.‬        ‫نا‬                       ‫ی ی‬                           ‫‪ c‬و‪++c‬‬                                ‫ز‬           ‫‪Java‬‬        ‫وت ه‬              ‫از‬           ‫ی‬
           ‫ﺥ د‬           ‫ارد. در وا‬                      ‫ا ر‬                    ‫ز‬        ‫ای ز ن‬                           ‫ا ا‬                 ‫در ‪Java‬‬
‫را از‬                        ‫سوﺥ‬                              ‫و ای‬                                          ‫ه را‬              ‫ا ر‬        ‫ز ‪ ، Java‬ر‬
‫در ‪، Java‬‬                               ‫ی ی‬             ‫ای‬          ‫ی‬                   ‫از‬         ‫ی‬                 ‫.ه‬       ‫د ا‬        ‫ﺥ رج‬               ‫اﺥ ر ر‬
           ‫د‬         ‫‪ c‬و ‪ ++c‬ر‬                     ‫ز نه‬                         ‫.ا‬           ‫)‪ (garbage collector‬ن ا‬                                         ‫لﺝ‬
‫ی‬                                                   ‫ر‬                       ‫ا‬        ‫ی داری . در‬                          ‫ی‬                                         ‫ً‬
‫د ای .‬                   ‫ن را از‬                    ‫د، و‬                ‫د‬           ‫ا‬                  ‫ﺥ د از ای‬                     ‫، در‬              ‫ﺥ رﺥ د‬
‫)ی‬                  ‫ن‬         ‫ی ی‬              ‫و‬             ‫ده ، ﺥ د‬                        ‫ص‬              ‫اﺥ‬                    ‫ا را‬                                       ‫ه‬
‫ن‬         ‫در ه م زی د‬                              ‫ی ی‬                  ‫داری .‬                         ‫را‬                     ‫ه ( و ز دا ن ن‬
                    ‫.ه‬        ‫و د ار ا‬                              ‫رﺥ‬                                 ‫(‬                      ‫ه‬      ‫ً در ﻝ‬                ‫ای ا ء )‬
         ‫دارد‬                 ‫ند‬                  ‫را‬                                                         ‫ی، ی د‬                      ‫را‬                     ‫ی‬
     ‫ا‬              ‫زی د دارد. در ‪Java‬‬                        ‫د‬         ‫د و ز‬                                        ‫رﺥ‬                    ‫ً ای‬             ‫.‬           ‫زاد‬
‫ان‬                              ‫ز‬                        ‫. ی‬                ‫ل‬                ‫‪(gc) garbage collector‬‬                                    ‫ل را‬             ‫ای ا‬
‫را از‬                                         ‫،‬                ‫را‬                       ‫. ‪gc‬‬                 ‫ﺥ د‬                                            ‫دی‬
               ‫دا‬              ‫ان ی‬                 ‫د ن را‬                                                  ‫ده .‬              ‫سا م‬            ‫د‬                         ‫ا ء‬
‫و‬                               ‫ف در‬                                                 ‫، ن‬                         ‫ا‬                                     ‫ه‬                     ‫ه‬
‫و‬          ‫ر وا‬                                         ‫ز‬                ‫د.‬                            ‫دا‬                            ‫و‬            ‫ن زاد‬
                             ‫‪ thread‬در‬              ‫ان ی‬                 ‫ی . ‪ gc‬را‬                            ‫را از‬                  ‫‪ ،++c‬ی‬
‫و در‬                     ‫ل‬          ‫و‬         ‫ن را ردی‬                                  ‫و ا ء ای د‬                        ‫اﺝ ا‬                         ‫از‬       ‫ر‬
                                                             ‫دا .‬                                            ‫و‬                     ‫را از‬                   ‫ﻝ وم،‬


                                                                                                            ‫د ‪garbage collector‬‬


           ‫ا ز ن ﺥ د ا د . در وا‬                                  ‫‪gc‬‬                                   ‫د‬             ‫ا اد‬          ‫ن ‪ ،Java‬اوﻝ‬                          ‫ا اع‬
‫‪ Lisp‬و‬               ‫نز نه‬                ‫ز‬                         ‫دد. ه‬                      ‫ز‬                      ‫ده ه‬                        ‫ای‬                    ‫ان‬
‫ن در ه م‬                                                                                ‫از‬                                                    ‫ﺝ‬                  ‫‪Small Talk‬‬
‫ﺥ د‬                                                ‫م ا ی‬                                     ‫،‬                        ‫د و ای‬                    ‫ارزش و‬                            ‫ر‬               ‫،‬        ‫ی‬
‫.‬        ‫ا م‬                             ‫رو‬                ‫ر‬         ‫‪ gc‬ه ای د و‬                                  ‫د‬        ‫. از ن ه م‬                                                     ‫ی‬
‫ر‬            ‫ه‬        ‫.‬            ‫ا‬                   ‫ا ه‬               ‫ر‬                       ‫اوﻝ ، ای د ی‬                 ‫در ‪gc‬ه‬                        ‫ی رو‬                      ‫د‬           ‫از‬           ‫ی‬
‫از‬           ‫ن، ی‬                            ‫ر‬             ‫ه‬      ‫و‬              ‫نا‬                          ‫،ی‬               ‫ی‬           ‫) ‪(reference‬‬                                    ‫ص‬                 ‫اﺥ‬
             ‫ار ن‬                                          ‫،ه‬                 ‫ار ی‬                       ‫از ا ا دارا‬                  ‫ر‬                  ‫.ا‬                                            ‫ر‬
‫را‬                         ‫ا‬                 ‫‪gc‬‬                 ‫اری .‬           ‫ن ز‬                           ‫و دی‬                          ‫از ن‬                                                      ‫،ی‬
‫ن‬            ‫ر ه‬                       ‫از ه‬                      ‫ر‬          ‫ار‬                       ‫ر‬        ‫م ده ،‬           ‫ی ا‬                       ‫ر‬                         ‫د.‬                 ‫از ن‬
                  ‫ا‬                    ‫ه ا دارد.‬                                                     ‫،‬                ‫ی رو‬            ‫د‬         ‫از‬            ‫ی‬               ‫. ای روش‬                         ‫ا‬
             ‫ز‬            ‫دی‬           ‫ا ،‬                 ‫نه‬               ‫، ر‬                           ‫ه‬                                ‫اد‬            ‫و‬                              ‫ه‬
‫.‬                     ‫لا م‬                       ‫، ره ای ا‬                                               ‫از دوران ز‬                       ‫. در ه ﻝ‬                                        ‫و ...‬            ‫ا‬
‫ی ،‬                   ‫ﻝ (وی‬                            ‫ی‬          ‫)در‬                    ‫ا‬           ‫ﺝ‬        ‫ی‬        ‫ز‬          ‫ه‬                     ‫ام از ای‬                      ‫ا ه‬                      ‫ا‬
                  ‫ا‬                 ‫اد‬                                  ‫ر‬            ‫.‬                       ‫ﻝ ( دا‬            ‫ی‬           ‫)در‬                                                ‫و‬           ‫ر‬
     ‫.‬           ‫نا‬                ‫ر‬                             ‫ای روش،‬                                 ‫ی‬                  ‫ار داد ای . در وا‬                             ‫ﺥ د‬
    ‫د . وﻝ‬                     ‫د‬         ‫ا‬                           ‫د ،‬                         ‫د‬           ‫از ای روش ا‬                                 ‫اوﻝ‬                  ‫‪gc‬ه‬                      ‫ر‬
‫.‬        ‫ا‬                         ‫ارا‬                          ‫دن ای‬                ‫ف‬                        ‫ا‬                ‫ر دی‬                          ‫روش ه‬                                             ‫ﺥ‬
‫از‬                                 ‫ض‬               ‫.‬        ‫ا‬               ‫ن‬                                         ‫در ‪ gc‬داری ،‬                                                ‫از‬              ‫دی‬           ‫ی‬
         ‫را‬                    ‫ا‬                                ‫ل در ای‬              ‫ا .‬                     ‫ص داد‬             ‫اﺥ‬                       ‫ء‬         ‫ا‬            ‫،‬
    ‫ای‬                                         ‫ی‬                  ‫ًه‬                 ‫.‬               ‫ض‬                ‫را ﺥ ﻝ‬                                      ‫ا‬                     ‫د ای و‬
                 ‫اه در‬                   ‫رگ‬                                                      ‫ی‬        ‫نا‬           ‫.ا‬                  ‫ری ی‬                           ‫ﺥ ﻝ در‬                      ‫ه‬
     ‫ه‬                ‫ع‬                      ‫.وﻝ‬                      ‫ن ا‬                ‫ا‬           ‫ی‬                  ‫ﺥﻝ‬                          ‫ی‬             ‫ا‬                     ‫د،‬             ‫ار‬
                          ‫و‬              ‫ی‬                 ‫‪gc‬‬           ‫.‬                                     ‫ع‬        ‫از ن‬                     ‫ی‬                     ‫ا‬                       ‫،‬            ‫ﺥﻝ‬
‫ر‬        ‫ً ن ه را در‬                                   ‫.و‬               ‫ی ی‬                      ‫ﺥ ﻝ را‬                ‫ه‬              ‫ا‬         ‫زم،‬                           ‫ء‬         ‫از ا‬
‫داری ،‬                     ‫از ن‬                                                                      ‫ﺝ‬            ‫، ی‬          ‫ن‬                             ‫ار ده . در‬                                   ‫ی ی‬
                                                                                 ‫.‬               ‫ا ر‬                    ‫نﺝ ی‬                    ‫داد و‬                             ‫درس ﺥ د را‬
    ‫ای‬                ‫‪ gc‬در ‪Java‬‬                                         ‫.ﺥ‬                  ‫‪ gc‬ا‬             ‫د از و ی‬                     ‫ارد‬                            ‫،‬                       ‫ارد ذ‬
‫دو‬                        ‫، اﺝ ا‬                               ‫از در ه م اﺝ ا‬                                 ‫‪thread‬‬              ‫ی‬             ‫و‬                                  ‫ارد را در‬
‫و‬     ‫ز ن‬        ‫س را در ی‬       ‫د‬             ‫ه‬       ‫د، ا ء و‬           ‫ﺝ‬        ‫ر‬          ‫ا‬
‫ر ن‬          ‫ﺝ‬           ‫ه‬           ‫ا‬             .      ‫ور‬      ‫اي ﺥ د، ﺝ‬
                                                                                          .‫ی‬
      ‫؟ ای‬                   ‫ی‬            ‫را از‬         ‫ ی‬gc ‫ر‬       ‫از‬       ‫اه‬        ‫ﺥ د‬       ‫وﻝ ا‬
gc    ‫اﺥ ا‬            ‫( و‬myobject=null)                 ‫دن ن‬       null   ‫و‬        ‫را‬     ‫ا‬         ‫را‬
                                                                  . ‫)( ا م ده‬system.gc


                                         Java memory model


      Implicit pointer semantics
      new, no delete (garbage collection)


      main
      stack frame
                                         new
             g                                           text

                                                       Greeting instance
             s


      getText                                             “Hello, world”
                                                         “hello, world”
      stack frame
                                                        String instance

             stack                                                heap
‫ت وی‬                       ‫ا‬



                                          :           ‫وی ای‬
               ‫ن‬       ‫ل ز ن و ر ده‬
            applets ‫ه‬                 ‫ل ری‬        ‫ا‬
                   ‫آ‬                  ‫ی‬
           Multithreaded programming
    The Main Thread               ‫ا‬
                                ‫ای د ی‬
          Runnable ‫زي‬             ‫د‬


                       ‫هي‬        ‫ای د‬
    join() ‫ و‬isAlive() ‫د از‬               ‫ا‬
resume() ‫و‬suspend() ‫د از‬                  ‫ا‬
                            ‫ي‬
‫ه ‪applets‬‬                           ‫ل ری‬        ‫ا‬

‫از واژ آ ي‬                         ‫ا‬                 ‫ه ي ‪ API‬ﺝ وا‬                           ‫آ‬         ‫ه از ه‬                ‫از ‪ I/o‬و ری‬
                                                                                                                                                  ‫ای ز ن.‬
‫ی آ س از‬                          ‫ه‬                  ‫د .ا‬       ‫ه ي )‪ (applications‬ﺝ وا‬                                     ‫از‬           ‫ﻝ ي‬                     ‫آ‬
               ‫ری‬         ‫.ه‬           ‫ا‬              ‫‪ applet‬ی ه ن ری‬                                      ‫. ع دی‬                 ‫ه ي ﺝ وا‬
          ‫ای‬        ‫ده‬        ‫وی‬           ‫آ روي ی‬              ‫ه‬             ‫هي آ‬                         ‫ه "،‬                  ‫، " ری‬                     ‫ا ر‬
‫ان‬             ‫و‬                            ‫ر ﺥ دآ ر‬                ‫و‬                   ‫و‬                                   ‫د و‬          ‫س‬              ‫د‬
                                                                                                      ‫.‬                 ‫وب اﺝ ا‬                  ‫از ی‬
     ‫ری‬            ‫دارد‬                ‫اي‬            ‫ود‬                  ‫،د‬         ‫ر‬                              ‫وی‬     ‫ی ر آ ‪ applet‬روي‬
‫ی‬         ‫وی و‬            ‫د و ون ای د ری‬                        ‫اي دﻝ ا را ای د‬                             ‫ر‬             ‫آر‬      ‫ا ی را‬
    ‫رت زی‬                 ‫د‬                     ‫ری‬          ‫ی . اﺝ ز ده‬             ‫را اﺝ ا‬                     ‫ت‬            ‫داد ه‬
                                                                                                                                         ‫:‬            ‫وع آ‬
‫;*.‪import java.awt‬‬
‫;*.‪import java.applet‬‬
‫{ ‪public class SimpleApplet extends Applet‬‬
‫{) ‪public void paint(Graphics g‬‬
‫;)02 /02 /"‪g.drawString("A Simple Applet‬‬
‫}‬
‫}‬


                   ‫ا ار‬           ‫يﺝ‬            ‫رآ‬          ‫د‬   ‫د. اوﻝ‬                  ‫ز‬         ‫ر ‪import‬‬                ‫دود‬                           ‫ای ری‬
     ‫ل دار‬           ‫وا‬            ‫ن‬        ‫ی ‪ AWT‬آ ر‬                      ‫ه از‬                           ‫آ . ری‬         ‫د ی ‪ AWT‬را وارد‬
‫اي‬                    ‫اي ی را‬                                       ‫ل ‪ . AWT‬در‬                            ‫يآ‬            ‫ي ‪I/o‬‬        ‫ی آ‬                    ‫از‬
    ‫ر رگ‬                      ‫ا ار‬          ‫ﺝ‬        ‫، ای‬                ‫ر دا‬           ‫ا‬             ‫ا‬             ‫ری‬         ‫. ه‬           ‫ا‬          ‫ا‬        ‫و‬
                                                                                                                                     ‫.‬            ‫ا‬              ‫و‬
‫ي ‪import‬‬                      ‫ر‬        ‫ودي از ‪ AWT‬دارد. د‬                           ‫ر‬             ‫د‬        ‫د ا‬                   ‫ای ری‬                           ‫ﺥ‬
‫اي آ‬                      ‫. ه ری‬            ‫آ س ‪ applet‬ا‬                                ‫در‬                 ‫آ . ای‬         ‫‪ Applet‬را وارد‬
                                                                                ‫.‬               ‫از ‪Applet‬‬                ‫ی زی آ‬                  ‫آ‬           ‫ﻝ‬
‫ان ‪public‬‬                ‫آ . ای آ س ی‬                          ‫ن‬         ‫، آ س ‪ Simple Applet‬را ا‬                                               ‫ي در‬             ‫ﺥ‬
‫. روش )(‪paint‬‬                         ‫س‬            ‫د‬                                 ‫آ ه ي ﺥ رج از‬                                ‫ن ی‬           ‫د،‬       ‫ن‬         ‫ا‬
 ‫ری‬                ‫و ی‬            ‫ی‬            ‫‪AWT‬‬                       ‫. ای روش‬                          ‫ا‬         ‫ن‬      ‫درون ‪ SimpleApplet‬ا‬
‫ده ، ‪()paint‬‬                 ‫ی‬        ‫ی ﺥ وﺝ اش را دو ر‬                                                         ‫آ ری‬          ‫د. ه‬                   ‫ا‬
‫اي‬            ‫ل ، روي‬            ‫ان‬            ‫.‬          ‫ا ق‬           ‫دﻝ‬                         ‫ا‬                  ‫ای‬          ‫د . ای‬                 ‫اﺥ ا‬
        ‫دو‬                   ‫ي‬        ‫دی‬                                     ‫ا‬                      ‫ل اﺝ ا‬                 ‫ن در‬      ‫داﺥ‬                 ‫آ ری‬
          ‫آ ری‬           ‫د.و‬                   ‫ذﺥ‬              ‫و‬                 ‫ر‬        ‫ا‬            ‫ا‬              ‫‪applet‬‬                ‫د.ی‬          ‫ر‬
              ‫ری‬     ‫،ه و‬                              ‫د. دﻝ ه‬                            ‫اﺥ ا‬                  ‫آ ، )(‪paint‬‬                 ‫وع‬       ‫اﺝ ا را‬
    ‫د. روش )(‪ paint‬ی‬                                   ‫اﺥ ا‬        ‫، )( ‪paint‬‬                          ‫د ﺥ وﺝ ﺥ د‬                           ‫ی‬            ‫ر‬
    ‫آ‬     ‫ا‬                  ‫آ‬        ‫ا‬            ‫ا‬                                 ‫در‬        ‫را‬              ‫از ع ‪ Graphics‬دارد. ای‬                         ‫را‬
                                                                        ‫آ .‬                                    ‫را‬        ‫ل اﺝ ا‬          ‫‪ applet‬در ن در‬
 ‫د. درون‬                  ‫ار‬          ‫د‬        ‫رد ا‬                          ‫، ای‬              ‫ز‬               ‫رد‬        ‫آ ﺥ وﺝ ‪applet‬‬                             ‫ه‬
 ‫. ای‬     ‫ي ازآ س ‪ Graphics‬ا‬                                       ‫)(‪ drawstring‬وﺝ د دارد آ‬                                          ‫اﺥ ا‬        ‫)(‪ paint‬ی‬
‫ن‬                        ‫آ .‬              ‫را ﺥ رج‬                            ‫ي ‪ y‬و‪ x‬و‬                               ‫در‬        ‫وع‬                ‫روش ی ر‬
                                                                                                                                     ‫:‬      ‫رت زی ا‬
‫) ‪Void drawstring( string message, int x, inty‬‬


‫ﺝ وا‬               ‫د. در ی‬        ‫و ی ﺥ رج‬                         ‫وع‬            ‫آ در‪ y‬و‪ x‬و‬                          ‫اي ا‬         ‫‪ message‬ر‬                  ‫در ای‬
                         ‫)(‪ drawstring‬در ری‬                             ‫اﺥ ا‬              ‫.‬      ‫ن‪ o‬و‪ o‬و ا‬                    ‫ی‬                                    ‫،‬
 ‫آ ری‬          ‫آ‬     ‫ز د. د‬                ‫٠٢ و ٠٢‬                      ‫در ی و در‬                      ‫ی‬            ‫م "‪"A simple Applet‬‬                      ‫د‬
 ‫ه اﺝ اي ﺥ د را در‬                                 ‫ه ي ﺝ وا ، ری‬                              ‫. ﺥ ف‬                      ‫روش )(‪ main‬ا‬
‫ار . در‬            ‫ی روش )(‪ main‬ه‬                              ‫ه‬                     ‫ری‬       ‫، اآ‬                    ‫آ . در‬               ‫وع‬        ‫)(‪main‬‬
              ‫ری‬         ‫ه‬            ‫ی‬        ‫مآ س ن‬                   ‫آ‬            ‫آ ه‬                   ‫وع ﺝ ا‬                           ‫ض ، ی ری‬
‫‪ SimpleApplet‬را‬                            ‫آ‬           ‫از ای‬       ‫د.‬            ‫ر داد‬                              ‫ور‬        ‫)‪ (applet viewer‬ی ی‬
‫آ .‬            ‫ی‬     ‫ه را آ‬                        ‫آ ، ری‬                    ‫ی‬       ‫ه را آ‬                          ‫آ‬       ‫ن رو‬           ‫وارد آ د ای ،‬
    ‫اي اﺝ ای‬         ‫، دو را‬                       ‫. در‬        ‫وت ا‬                  ‫دازش‬                  ‫ی‬             ‫ا اﺝ اي ‪SimpleApplet‬‬
                                                                                                                              ‫وﺝ د دارد:‬                         ‫ری‬
‫‪Netscape NAvigator‬‬                            ‫ﺝ وا‬            ‫ز ر‬       ‫وب‬             ‫ور‬            ‫ی‬        ‫داﺥ‬          ‫دن ‪applet‬‬             ‫اﺝ ا‬
         ‫ارد ی‬          ‫ا ار ‪ JDK‬ا‬                        ‫)‪(applet viewer‬‬                            ‫ری‬                ‫ه‬         ‫د از ی‬                ‫ا‬
‫آ .‬            ‫اﺝ ا‬                 ‫را در ی‬                          ‫، ری‬                   ‫ری‬            ‫ه‬                ‫‪ .appletviewer‬ی‬
 ‫. اﺝ ز ده ه‬                  ‫ه ا‬                 ‫اي ز ن ری‬                   ‫ی را‬                   ‫ی و‬           ‫ی‬                      ‫روش‬         ‫ای‬
 ‫ی‬        ‫ی‬      ‫وب ، زم ا‬               ‫ور‬       ‫ی . اي اﺝ اي ی ‪ applet‬در‬                                         ‫را ر‬           ‫رو‬           ‫آ ام ای‬
     ‫ی‬         ‫. در ای‬                        ‫د ﻝ ‪APPLET‬‬                                ‫آ در‬                  ‫ی‬             ‫‪ HTML‬آ‬
                                    ‫ی .‬                   ‫ه‬      ‫آ ،‬              ‫‪ HTML‬را آ ‪ Simple Applet‬را اﺝ ا‬
‫>‪<html‬‬
‫>‪<body‬‬
‫>002=‪<applet code=YOURFILENAME.class width=200 height‬‬
‫>‪</applet‬‬
‫>‪</body‬‬
‫>‪</html‬‬

               ‫ری‬             ‫آ‬          ‫ه‬        ‫ی‬       ‫وع‬                       ‫آ‬                 ‫رات ‪ width‬و‪ height‬و‬                               ‫د‬
     ‫از ای‬          ‫.‬     ‫ا‬    ‫ی ی‬            ‫ی‬                      ‫د. د ﻝ ‪ APPLET‬در‬                                      ‫ار‬         ‫د‬        ‫رد ا‬
     ‫ی را ر اري آ‬                   ‫ای‬            ‫د و‬          ‫ن را اﺝ ا‬           ‫ور‬            ‫ا‬                ‫ی را ای د آ دی ،‬                    ‫ای‬
     ‫اي اﺝ اي ‪SimpleApplet‬‬                        ‫د.‬          ‫د آ ‪ SimpleApplet‬اﺝ ا‬                                              ‫م ای ر‬               ‫.ا‬
‫ل،‬        ‫ان‬            ‫ی .‬    ‫را اﺝ ا‬                ‫ی ‪HTML‬‬                       ‫ه‬        ‫ا‬             ‫،‬                 ‫ری‬             ‫ه‬           ‫ی‬
‫ي ، ‪SimpleApplet‬‬                         ‫ن‬            ‫ﺥ‬         ‫،‬       ‫ا‬     ‫را ‪RunApp.html‬‬                                ‫ی ‪HTML‬‬                     ‫ا‬
                                                                                                                            ‫آ :‬            ‫را اﺝ ا‬

‫‪C:>appletviewer Runnapp.html‬‬


 ‫ي ی‬             ‫ده در‬               ‫را ا ای‬              ‫ز ی‬                ‫وﺝ د دارد آ‬                          ‫ر را‬           ‫ا ، ی روش‬
 ‫. ی‬             ‫د ﻝ ‪APPLE‬‬                            ‫آ در‬                   ‫)‪(comment‬‬                                 ‫ﺝ واي ﺥ د ی‬                    ‫آ‬
 ‫ری‬        ‫ا‬            ‫دو‬          ‫زي‬                     ‫وري‬              ‫رات ‪HTML‬‬                 ‫ی اﻝ ي د‬                             ‫،آ‬
‫رد‬        ‫ﺝ واي ﺥ د‬                 ‫ی آ‬                         ‫ری‬            ‫ه‬         ‫وع‬                ‫ﺥ د را‬                  ‫ی‬        ‫آ‬
 ‫ار زی‬           ‫‪Simple Applet‬‬                            ‫، ی‬       ‫آ‬         ‫د‬        ‫از ای روش ا‬                     ‫ار ده . ا‬                ‫ز ی‬
                                                                                                                                      ‫د:‬        ‫ﺥ اه‬
import java.awt.*;
import java.applet.*;


public class SimpleApplet extends Applet {
public void paint(Graphics g ){
g.drwString:"A Simple Applet"/ 20 .20);
}
}



‫ار را اﺝ ا‬                         ‫د از ای‬       ‫ا‬               ‫ری‬           ‫ی‬            ‫از‬      ‫ا‬              ‫در آ‬
                                                                                                                 : ‫ی‬
                                                 . ‫ی‬         ‫ﺝ وا وی ای‬                ‫ی‬         ‫( ی‬iterate) : 1
                                                                      .    ‫ی آ‬             ‫ا ن را آ‬                   :٢
. ‫ی‬            ‫ا ن را‬         ‫ری‬           ‫م ی‬         ، ‫د‬        ‫را اﺝ ا‬                   ‫ری‬              ‫ه‬         :٣
‫را اﺝ ا‬            ‫و ری‬      ‫اﺝ‬     APPLET ‫د ﻝ‬                             ‫، داﺥ‬                   ‫ری‬             ‫ه‬
          ‫زی‬   ‫ه‬             ‫ری‬          ، SimpleApplet                            ‫ﻝ‬                   .‫د‬         ‫ﺥ اه‬
                                                             :              ‫رت زی‬                           ‫در‬    ‫ی‬
|
>< |< | _ |_ ...| pplet Viewer SSimp
| Applet |


| A Simple Applet |
| |
| |
| |
| Applet started .|


                            :‫از‬      ‫ر‬       ،          ‫ع د دا‬                ‫ی در ای‬              ‫آ‬             ‫تا‬
          ‫ری‬   ‫ه‬        ‫ی‬     ‫ه ی‬                ‫)( ار . ری‬main ‫روش‬                        ‫زي‬          ‫ه‬               ‫ری‬
‫ ﺝ ی ن ﺝ وا‬I/o ‫ي‬     ‫آ‬      ‫. ار‬         ‫ﺝ وا اﺝ ا‬     ‫ز ر‬            ‫ور‬          ‫( ی ی‬applet viewer)
                                                       .‫ه‬                 ‫ض ، ری‬            ‫د. در‬                 ‫اﺝ ا‬
‫ﺵ ‪Multithreaded programming‬‬                                                             ‫آ‬            ‫چ‬               ‫ی‬


    ‫را‬                     ‫آ‬                         ‫ی‬                     ‫آ ر از‬                               ‫ي ، ﺝ وا ،‬                   ‫يآ‬            ‫ی ز‬                ‫ﺥ ف‬
         ‫ا‬                          ‫دو ی‬                         ‫)‪ (multithreaded‬در‬                                         ‫آ‬                                 ‫آ .ی‬                     ‫اه‬
    ‫ی‬                ‫اي را ی‬                                     ‫از‬                    ‫.ه‬                ‫ن اﺝ ا‬             ‫رن و ه‬               ‫رت‬                       ‫ا‬                 ‫آ‬
                  ‫ای ،‬                  ‫ی.‬               ‫ی‬           ‫از اﺝ ا‬                    ‫ﺝا‬                    ‫ا ی‬                    ‫آ ه‬                               ‫‪thread‬‬
                 ‫ر‬              ‫.‬       ‫اي )‪ (multitasking‬ا‬                                          ‫و‬          ‫از ه ن‬                                                ‫ی‬                     ‫آ‬
                            ‫ع‬                       ‫رن از ای‬                            ‫هي‬                        ‫، زی ا آ‬             ‫ه‬             ‫اي‬               ‫و‬            ‫م‬
                                                                                                                                                                                   ‫.‬        ‫آ‬
                                                                                                              ‫اي وﺝ د دارد :‬                     ‫و‬            ‫ا از‬                 ‫دو ع‬
‫وت‬                ‫آ‬             ‫. )‪ (thread-based‬زم ا‬                                           ‫ي‬                 ‫دازش )‪ (process-based‬و‬                                      ‫ي‬
    ‫. ی‬                    ‫ل اﺝ ا ا‬                 ‫در‬                         ‫ی‬                             ‫دازش از‬                 ‫ی .ی‬            ‫ای دو را درك‬
‫را‬                                  ‫دو ی‬            ‫ده‬            ‫ن‬            ‫ا‬                         ‫آ‬      ‫دازش‬             ‫ي‬           ‫اي‬                ‫و‬               ‫،‬
‫ا ن‬                            ‫دازش‬             ‫ي‬                     ‫اي‬               ‫و‬            ‫ل‬        ‫ان‬            ‫ی .‬       ‫ن اﺝ ا‬               ‫ون و ه‬                   ‫ر‬
    ‫د‬        ‫ا‬                              ‫از ی وی ای‬                     ‫ا‬           ‫ی ﺝ وا و در ه ن ز ن‬                             ‫اﺝ اي آ‬                     ‫در‬              ‫ده‬
                 ‫آ‬             ‫آيا‬                  ‫ی وا‬                   ‫،آ‬                        ‫دازش ، ی‬               ‫ي‬              ‫اي‬             ‫و‬               ‫ی . در‬
                                                                                           ‫د )‪. (dispatched‬‬                             ‫)‪ (scheduler‬زی‬                                      ‫ز‬
    ‫. ای‬              ‫ا‬         ‫زی ، ه ن‬                               ‫آ‬               ‫ی وا‬                  ‫،آ‬        ‫ي‬               ‫اي‬            ‫و‬                                 ‫در ی‬
‫ان‬               ‫ا م ده .‬                   ‫رادر ن وا‬                              ‫ی و‬              ‫ا دو ی‬                 ‫د‬                         ‫آ ی‬              ‫ا‬                ‫ان‬
                       ‫،‬            ‫ا‬                ‫پ‬           ‫ل‬                     ‫آ‬            ‫ا در ه ن ز‬                                            ‫، ی وی ای‬
    ‫. ی‬                        ‫اﺝ ا‬             ‫ﺝا‬               ‫دو‬                                 ‫ای دو‬             ‫دا‬            ‫دازد ، اﻝ‬                                  ‫آ دن ی‬
                 ‫ﻝ‬         ‫و آ ر دارد در‬                          ‫رگ"‬                      ‫وی‬            ‫"‬      ‫دازش‬            ‫ي‬            ‫اي‬               ‫و‬                ‫،‬
                     ‫ما‬                         ‫آ‬            ‫و‬         ‫هي‬                       ‫آ‬            ‫ت آ ره را ادار‬                 ‫ﺝ‬         ‫ي‬                       ‫اي‬            ‫و‬
                           ‫و ی‬               ‫در ا‬                ‫داز‬               ‫.‬       ‫ه‬         ‫آ‬            ‫و‬             ‫ي‬      ‫داز‬                    ‫ی‬           ‫ي در‬              ‫آ‬
                 ‫داز‬                    ‫ت‬           ‫. ار‬                               ‫ﺥص ﺥ د ن‬                        ‫ه ي درس ﺝ ا‬                                ‫ز‬            ‫آ‬            ‫ه‬
    ‫‪(context‬‬                                ‫ی‬            ‫و را‬              ‫آر‬                            ‫ود ا‬          ‫و‬         ‫ه ی‬                 ‫)‪ (Interprocess‬ا‬
‫.‬            ‫ه‬                          ‫ض‬            ‫. در‬              ‫ه ی ا‬                                 ‫دازش دی‬                 ‫دازش‬             ‫)‪ switching‬از ی‬
‫و‬        ‫دازش‬             ‫ه ن‬        ‫رآ‬            ‫رت‬                ‫و‬         ‫ا‬           ‫اك‬               ‫ن درس را ا‬                     ‫يی‬                     ‫ی‬
        ‫ی‬           ‫و را‬         ‫ه )‪ (Interthread‬ارزان ا‬                                           ‫ت‬                ‫ار . ار‬                   ‫اك‬            ‫ا‬        ‫را‬
        ‫اي‬             ‫و‬          ‫ي‬              ‫ه ي ﺝ وا از‬                                       ‫.ا‬           ‫آ ه ی ا‬                     ‫دی‬                        ‫از ی‬
‫.‬                   ‫آ ل ﺝ وا‬                    ‫ي دازش‬                       ‫اي‬                ‫و‬                ‫،ا‬         ‫آ‬            ‫د‬         ‫ي دازش ه ا‬
    ‫اﺝ ز‬                   ‫آ دن‬         ‫آ‬                     ‫د.‬              ‫ار‬       ‫آ ل‬                                         ‫آ‬               ‫اي‬                ‫و‬                     ‫ا‬
‫،‬                       ‫د از ‪ cpu‬را دا‬                    ‫ا‬        ‫اآ‬        ‫آ‬         ‫ی‬           ‫ﺙ و آ را‬                    ‫ر‬             ‫هی‬                           ‫ده‬
                ‫ص در‬                    ‫ده . ای ا‬                         ‫آه‬                       ‫ا‬                ‫ز ن ﺥ ﻝ ‪ idle time‬را‬                                       ‫زی ا‬
                    ‫، زی ا در ای‬            ‫ا‬        ‫اه‬                  ‫آ‬       ‫اي آ ﺝ وا در ن آ ر‬                                     ‫اي‬             ‫ﻝ و‬                ‫وا‬
            ‫ی‬         ‫در‬               ‫خ ا ل داد روي ی‬                        ‫ل،‬           ‫ان‬               ‫.‬            ‫ر زی د ا‬                 ‫ه ز ن ﺥﻝ‬
                      ‫ي‬      ‫آ‬                                    ‫ی ي‬                                  ‫.‬        ‫ا‬          ‫رآ‬                          ‫دازش آ‬                     ‫خ‬
        ‫ﺥ‬                  ‫، ورودي آ ر‬                ‫و اﻝ‬                                 ‫و‬           ‫ی،ﺥ ا‬                  ‫دازش‬                 ‫‪ cpu‬در ا‬
            ‫فو‬                ‫آ‬        ‫از‬                                ‫،‬                                                 ‫. در ی‬                  ‫م ﺥ اه‬                 ‫ا‬               ‫آ‬
‫" زی دي را‬                       ‫‪ cpu‬ز ن‬                  ‫ا‬                                    ‫ا م اﺝ اي و ی‬                                                ‫را‬                ‫ي‬
‫و از ن‬                      ‫آ ل‬                  ‫ري را‬                  ‫ای ز ن‬                 ‫ه‬            ‫اﺝ ز‬                             ‫آ‬                   ‫.‬            ‫ر‬
     ‫59 ‪ windows‬ی‬                                              ‫هي‬                    ‫اي‬                ‫ل‬                  ‫ی . ا‬               ‫د‬        ‫ا‬
‫.‬               ‫ه‬             ‫آ‬                      ‫ی‬                                         ‫،‬                    ‫آ د‬            ‫ی‬                   ‫‪windows NT‬‬
            ‫ن‬         ‫آ دن را‬           ‫آ‬                     ‫آ ،‬                ‫ی ی‬           ‫ه را‬                     ‫آ ﺝ وا‬                         ‫ص ای‬                                ‫ا‬
                                                                                                                                                   ‫.‬            ‫زد، زی ا‬


                                                                                                                         ‫‪The Main Thread‬‬                                          ‫ا‬


            ‫ل اﺝ ا وﺝ د دارد. ای‬                     ‫در‬                 ‫از ن ، ی‬                            ‫د،‬                     ‫وع‬         ‫ﺝ وا‬                        ‫ی‬               ‫و‬
    ‫ﺥ اه‬                                        ‫. زی و‬                                                     ‫ی ‪main thread‬‬                               ‫ا‬                                  ‫را‬
    ‫آ‬           ‫ا‬           ‫. ای ه ن‬             ‫ا‬            ‫ر‬              ‫دودﻝ‬                      ‫ا‬            ‫.‬     ‫ا‬            ‫اﺝ ا‬                ‫د ، ای‬             ‫وع‬
‫م‬           ‫آ اﺝ ا را‬                            ‫ی ﺥ ی‬                       ‫. ای‬                                       ‫ز )‪ (child‬از ن‬                          ‫هي‬                    ‫ی‬
                                  ‫.‬     ‫ﺥ اه ی‬                 ‫ﺥ‬                               ‫د،‬                                            ‫ا‬         ‫آ‬             ‫آ .و‬
‫د،ا‬            ‫ر ﺥ دآ ر ای د‬                     ‫ا‬     ،        ‫آ‬           ‫ز‬    ‫ا ن را‬                           ‫ه‬         ‫ا‬
‫روش‬             ‫اﺥ ا‬            ‫اي ا م ای ر ، ی‬              .‫د‬        ‫ آ ل‬Thread                        ‫ی ی‬           ‫ان ن را از‬
. ‫وری‬              ‫ن‬           ‫، ی ارﺝ ع‬    ‫ ا‬thread ‫ از‬public static                                   ‫ آ ی‬currentthread()
                                                                                :                    ‫رت زی‬         ‫ن‬
staticThreadcurrentThread()



            ‫دا . ه رآ ارﺝ‬                   ‫را‬           ‫ا‬             ‫اﺥ ا‬         ‫آ در ن‬                   ‫ای روش ی ارﺝ ع‬
    ‫ی‬        ‫آ ل در وری . اﺝ ز ده‬                ‫ي‬           ‫دی‬         ‫ه‬           ‫ن را‬         ‫ا‬       ،      ‫ای د آ‬              ‫ا‬
                                                                                                               :       ‫وع آ‬        ‫ل‬
// Controlling the main Thread.
class CurrentThreadDemo {
public static void main(String args[] ){
Thread t = Thread.CurrentThread();
System.out.println("Current thread :" + t);
// change the name of the thread
t.setName("My Thread");
System.out.println("After name change :" + t);
try {
for(int n = 5; n > 0; n-- ) {
System.out.println(n);
Thread.sleep(1000);
}
} catch( InterruptedException e ){
System.out.println("Main thread interrupted");
}
}
}

        ‫راﺥ ا‬              (        ‫ا‬   ‫،ه ن‬         ‫ﻝ‬            ‫ﺝ ري ) در ای‬                       ‫، ی ارﺝ ع‬                     ‫در ای‬
‫ت در ر‬                 ‫ا‬                ‫د‬            ‫ ذﺥ‬t                           ‫و در‬                     currentThread ()
        ‫ی‬    ‫را‬            ‫م داﺥ‬        ‫آ‬        ‫اﺥ ا‬            ‫ را‬etName()                             . ‫ده‬             ‫ی‬       ‫را‬
‫س‬            ‫رش‬            ٥‫د‬      ‫از‬       ‫،ی‬               . ‫ی‬        ‫در‬          ‫ی‬       ‫دا‬           ‫ت در ر‬                   ‫ی.ا‬
.‫د‬                ‫ ا م‬sleep() ‫روش‬                ‫ق‬                 . ‫آ‬                           ‫ه دو ﺥ ی ﺙ‬               ‫آ و‬
‫ك‬             ‫آ‬           ‫آ‬         ‫.د‬        ‫ا‬    ‫ﺙ‬                                   ‫ﺥ‬          ‫دور‬              ‫آ‬                  ‫)(‪sleep‬‬           ‫ن‬             ‫ر‬
      ‫ی‬            ‫ا‬                 ‫. روش )(‪ sleep‬در ‪Thread‬‬                                       ‫آ د ا‬                        ‫را ا‬              ‫‪ try/catch‬ای‬
‫ق‬                      ‫اه در ای‬                    ‫ه ي دی‬           ‫ﺥ از‬                      ‫ی.ا‬              ‫ب‬            ‫‪ InterruptedException‬را‬
      ‫پ‬            ‫م را‬              ‫د،ی‬            ‫د رو‬            ‫لا‬                 ‫. ای‬        ‫ا‬           ‫ا ق‬           ‫ﻝ‬              ‫ی ،‬        ‫اﺥ ل‬
                           ‫ﻝ‬         ‫ی . ﺥ وﺝ‬           ‫ر دی ي ادار‬                           ‫را‬           ‫ﻝ‬        ‫، ی ای‬             ‫وا‬                ‫آ . در ی‬
                                                                                                                        ‫:‬                ‫ار زی‬                             ‫ای‬
‫]‪Current thread :Thread[main/5/main‬‬
‫]‪After name change :Thread[My Thread/5/main‬‬
‫5‬
‫4‬
‫3‬
‫2‬
‫1‬

‫د.‬                     ‫ﻝ‬         ‫د ، ﺥ وﺝ‬                   ‫د‬           ‫)( ‪ println‬ا‬                       ‫ن‬        ‫ر‬       ‫ان ی‬        ‫‪t‬‬         ‫آ و‬         ‫آ‬            ‫د‬
                                                                            ‫ده :‬                           ‫ی‬       ‫ي را‬          ‫ارد‬                   ‫ای ﺥ وﺝ‬
‫م‬         ‫.‬            ‫‪ main‬ا‬              ‫ا‬       ‫ض، م‬                        ‫ر‬              ‫ن.‬                        ‫و‬        ‫م ن،و م‬                  ‫،‬            ‫م‬
              ‫ان‬                ‫ه آ ای‬             ‫وه از‬            ‫م‬                  ‫،ه‬                          ‫ض‬                   ‫اري‬         ‫آ‬         ‫ن٥ا‬
     ‫ﻝ ی‬               ‫آ‬         ‫ﺥ ر داد ا‬          ‫ع‬           ‫‪ Threadgroup‬ی‬                                  ‫و‬        ‫.ی‬               ‫، ه ن ‪main‬‬                         ‫ا‬
     ‫ی ی‬                       ‫اﺝ اي ﺥ‬                      ‫دازش‬               ‫آ . ای‬                      ‫آ ل‬              ‫رآ‬         ‫ه را‬         ‫از‬
              ‫دا‬           ‫، ‪t‬‬        ‫ی‬                     ‫م‬            ‫از ای‬            ‫د.‬                       ‫ار‬            ‫ر‬     ‫رد‬          ‫و در ای‬
‫ي‬          ‫رو‬                        ‫ه د‬            ‫ی . اﺝ ز ده‬                      ‫در‬        ‫ی‬                    ‫د . در ای ز ن ، م ﺝ ی‬
           ‫. روش )(‪sleep‬‬                                ‫ا ، دا‬                   ‫د‬        ‫ا‬                    ‫‪ Thread‬آ در‬                                        ‫ی‬
              ‫ر‬                  ‫ﺙ‬         ‫از‬                   ‫ت‬         ‫اي‬           ‫، اﺝ ا را‬                        ‫اﺥ ا‬         ‫آ از ن‬                   ‫د‬
                                                                                   ‫:‬          ‫رت زی ا‬                       ‫ن‬                     ‫ی.‬
‫‪static void sleep( long miliseconds )Throws InterruptedException‬‬



‫د . ای روش‬                                              ‫ﺙ‬                                 ‫د‬            ‫م‬       ‫ا‬             ‫ی‬       ‫هی آ‬          ‫ﺙ‬              ‫اد‬
‫دوم ه دارد‬                            ‫ی . روش )( ‪ sleep‬ی‬                    ‫ب‬                 ‫ی ‪ InterruptedException‬را‬                                   ‫ا‬
‫و ‪nanoseconds‬‬                  ‫ﺙ‬                             ‫ت ز ن را‬                 ‫ه‬        ‫اﺝ ز‬           ‫ه و‬           ‫ن‬      ‫ا‬         ‫آ‬
                                                                                                                        ‫.‬   ‫ی‬
‫‪static void sleep( long miliseconds/ int nanoseconds )Throws Interupt‬‬
‫‪Exception‬‬


             ‫را‬           ‫ي دور ه ي ز‬                    ‫نز‬        ‫آ ا‬           ‫ا‬                 ‫ی‬        ‫اي‬              ‫دوم‬              ‫ای‬
‫د از‬        ‫ا‬             ‫ا‬             ‫ده ،‬                 ‫ن‬                                ‫ری‬       ‫‪ nanoseconds‬دار . ه‬
        ‫را‬            ‫می‬           ‫ا‬            ‫)(‪getName‬‬               ‫اﺥ ا‬              ‫آ .‬          ‫را‬         ‫)(‪ setName‬م ی‬
‫آ س‬               ‫ا‬       ‫(. ای رو‬               ‫ا‬            ‫ن داد‬                   ‫آ ای روی در‬                 ‫ﺝ آ‬             ‫وری ) ا‬
                                                                        ‫:‬                 ‫ن‬      ‫رت زی ا‬           ‫و‬            ‫‪ Thread‬ه‬
‫)‪final void setName( string ThreadName‬‬
‫‪final string getName‬‬


                                                                                                                                    ‫ای د ی‬


‫را ﺝ د وری .‬                   ‫ی‬        ‫ا‬            ‫از ع ‪Thread‬‬                          ‫زي ی‬                     ‫د ،‬             ‫ز نﺥ‬
‫زي‬      ‫د‬        ‫‪ Runnable‬را‬                    ‫را‬       ‫ا‬          ‫ی :‬                   ‫ی‬      ‫اي ا م ای ر‬                      ‫ﺝ وا دو‬
        ‫ر‬        ‫ق را‬         ‫هي‬                ‫ده . ه آ ام از‬                       ‫ﺥ د آ س ‪ Thread‬را‬                  ‫ا‬              ‫ی .‬
                                                                                                                                        ‫آ .‬


                                                                                                        ‫زي ‪Runnable‬‬                      ‫پ د‬


‫ی .‬         ‫زي‬        ‫د‬       ‫‪ Runnable‬را‬                    ‫آ را‬           ‫ای د ی آ س ا‬                    ‫ای د ی‬                 ‫ی‬
‫آ ‪Runnable‬‬                             ‫روي ه‬         ‫ا‬           ‫آ .‬        ‫د‬         ‫‪ Runnable‬ی واﺝ از آ اﺝ ای را‬
     ‫زم ا‬             ‫زي ‪ Runnable‬ی آ س‬                             ‫د‬       ‫اي‬       ‫زی .‬              ‫ی ،ی‬             ‫زي‬          ‫د‬        ‫را‬
                      ‫ی:‬      ‫زي‬            ‫د‬                ‫ن‬    ‫رت زی ا‬                     ‫)(‪ run‬را آ‬      ‫م‬                   ‫ی روش‬

‫)(‪public abstract void run‬‬
‫ا‬             run() ‫آ‬         ‫ا‬          ‫ا‬       . ‫ی‬            ‫ی‬        run() ‫زی را داﺥ‬                        ‫ﺝ ی را‬          ‫آيآ‬
                   ‫ه ی در‬                  ‫ی و‬       ‫د‬      ‫ا‬           ‫ی آ‬        ‫از‬        ‫آ ،ه‬              ‫اﺥ ا‬    ‫را‬        ‫ی رو‬
‫ن‬        ‫ه‬         ‫دی‬        ‫اي‬        ‫ورودي‬              run () ‫آ‬                ‫وت در ای ا‬                  . ‫ی‬      ‫ن‬     ‫را ا‬           ‫ا‬
‫از‬           .‫د‬          ‫دد ، ی ن‬                        run()          ‫و‬          ‫آ . ای‬                 ‫را‬                     ‫اﺝ ا داﺥ‬
Thread ‫از ع‬                            ‫دی ، ی ی‬           ‫آ ، ای د‬               ‫زي‬     ‫ را د‬Runnable ‫ی آ س آ‬                              ‫ای‬
        ‫از‬        ‫آ .ی‬                 ‫ی‬     ‫را‬      ‫ز‬          ‫ی‬       . Thread            ‫زي آ‬                ‫از داﺥ ه ن آ س‬
                                                                        :        ‫رت زی ا‬                   ‫ار‬          ‫د‬     ‫رد ا‬          ‫آ‬

Thread( Runnable threadOb/ string threadName)


    ‫آ‬        ‫زي‬         ‫ را د‬Runnable                     ‫آ را‬              ‫از آ س ا‬               ‫ ی‬threadOb ،              ‫ز‬        ‫درای‬
                  ‫ﺝی‬         ‫آ . م‬                   ‫ی‬          ،           ‫وع ﺥ اه‬                    ‫را آ‬      ‫، ﺝی‬        ‫ز‬        ‫. ای‬
 ‫ ن را آ‬start() ‫روش‬                              ‫ز‬   ‫ن‬      ‫از ای د‬                ‫ﺝی‬       .‫د‬                        ThreadName
    ‫ی‬start() ،          ‫ذا‬            ‫آ . از‬             ‫وع ﺝ ا‬              ،          ‫اﺥ ا‬       ،            ‫ن‬     ‫ ا‬Thread ‫داﺥ‬
                              :       ‫ن داد ای‬           ‫ را در زی‬start() ‫آ . روش‬                      ‫ را اﺝ ا‬run()                ‫اﺥ ا‬
synchronized void start()


                     : ‫آ‬          ‫وع‬         ‫د و اﺝ اي ن را‬                      ‫ﺝ ی ای د‬          ‫ﻝ وﺝ د دارد آ ی‬                   ‫در ای‬

// Create a second thread.
class NewThread implements Runnable {
Thread t;
NewThread (){
// Create a new/ second thread
t = new Thread(this/ "Demo Thread");
System.out.println("Child thread :" + t);
t.start)(; // Start the thread
}
// This is the entry point for the second thread.
public void run (){
try {
for(int i = 5; i > 0; i )--{
System.out.println("Child Thread :" + i);
Thread.sleep(500);
}
} catch( InterruptedException e ){
System.out.println("Child interrupted.");
}
System.out.println("Exiting child thread.");
}
}
class ThreadDemo {
public static void main(String args[] ){
new NewThread)(; // create a new thread
try {
for(int i = 5; i > 0; i )--{
System.out.println("Main Thread :" + i);
Thread.sleep(1000);
}
} catch( InterruptedException e ){
System.out.println("Main thread interrupted.");
}
System.out.println("Main thread exiting.");
}
}

    :   ‫ا‬       ‫ي ای د‬        ‫ر‬     ‫د از د‬       ‫ا‬      ‫ ﺝ ی‬Thread             ‫ ی‬New Thread              ‫ز‬    ‫درون‬
t = new Thread(this/ "Demo Thread");


‫را‬run() ‫ﺝ ی روش‬                    ‫ﺥ اه‬               ‫ده آ‬      ‫ن‬      ‫ن‬       ‫ر‬    ‫ان اوﻝ‬           this ‫ر دادن‬
‫وع آ ر را‬        ‫اﺝ اي‬            ‫د،آ‬                ‫اﺥ ا‬    start()           .‫ی‬        ‫اﺥ ا‬        this     ‫روي‬
‫از‬      .‫د‬       ‫ز‬        ‫ز‬             for           ‫دآ‬                   ‫آ . ای‬        ‫ز‬      run() ‫در روش‬
            ‫آ‬     ‫دد. و‬              main()          New Thread            ‫ط‬        ‫ز‬        ، start()       ‫اﺥ ا‬
cpu ، ‫ده‬              ‫اﺝ ا را ادا‬         ‫آ . ه دو‬           ‫ ﺥ د را وارد‬for          ،‫د‬                            ‫از‬
‫ار‬               ‫ای‬                 ‫ﻝ‬         ‫. ﺥ وﺝ‬         ‫هی ن ین‬                ‫ای‬           ‫ا‬     ‫اك‬           ‫را‬
                                                                                                         :    ‫زی ا‬

Child thread :Thread[Demo Thread/5/main]
Main Thread :5
Child Thread :5
Child Thread :4
Main Thread :4
Child Thread :3
Child Thread :2
Main Thread :3
Child Thread :1
Exiting child thread.
Main Thread :2
Main Thread :1
Main thread exiting.


‫آ اﺝ ا‬                        ‫ی ﺥ ی‬                    ‫ا‬    ،            ‫آ‬                               ‫، در ی‬                      ‫ری‬         ‫ه‬
                   ،‫د‬         ‫د ، ین‬                   ‫ز آ‬               ‫ی‬           ‫از ای‬                ‫ا‬        ‫ده . ا‬             ‫را ی ن‬
          ‫ا‬        ‫ده آ‬           ‫ن‬         ‫ا‬                       . ‫" در ی‬hang"             ‫ﻝ‬      ‫اﺝ اي ﺝ وا‬                                 ‫ا‬
      ‫ق‬            ‫اره‬                 ‫ﺙ‬           ١٠٠٠ ‫اي‬                   ‫ا‬         ‫د زی ا‬                 ‫ین‬    ‫آ‬        ‫ا‬             ‫ﺥ ی‬
 ‫ز‬                 ‫دآ‬                           ‫. ای‬                ‫ق‬            ‫ﺙ‬           ٥٠٠               ‫ز‬                 ‫ﻝ‬    ‫در‬
 ‫ﺥ از ه‬                   ‫ا‬           ‫ن از ای‬              ‫ي اي ا‬                ‫، را‬             ‫د. ﺥ‬        ‫ین‬         ‫ا‬           ‫از‬    ‫زود‬
                                                                                                               .   ‫د ﺥ اه ی‬                ‫ین‬




               ‫ی‬         ‫داد و‬             ‫ را‬Thread ‫آ‬                  ‫، ای د ی آ س ﺝ ی ا‬                         ‫ای د ی‬                   ‫دو‬
      ‫ﺥ‬                  ‫ی ،آ‬          ‫)( را ﻝ‬run ‫ی روش‬                      ‫ده‬              ‫آ .آ س‬                ‫از ه ن آ س ای د‬
‫ﺝی‬             ‫اﺝ اي‬          ‫آ‬       ‫اﺥ ا‬       ‫)( را‬start ‫ی‬                        ‫. ای آ س ه‬               ‫ﺝی ا‬      ‫اي‬           (entry)
  .       ‫ده‬        ‫ را‬Thread               ‫د ای‬                ‫ی‬                ‫را دو ر‬                           ‫ی . در ای‬          ‫ز‬     ‫را‬

// Create a second thread by extending Thread.
class NewThread extends Thread {
NewThread (){
// Create a new/ second thread
super("Demo Thread");
System.out.println("Child thread :" + this);
start)(; // Start the thread
}
// This is the entry point for the second thread.
public void run (){
try {
for(int i = 5; i > 0; i )--{
System.out.println("Child Thread :" + i);
Thread.sleep(500);
}
} catch( InterruptedException e ){
System.out.println("Child interrupted.");
}
System.out.println("Exiting child thread.");
}
}
class ExtendThread {
public static void main(String args[] ){
new NewThread(); // create a new thread
try {
for(int i = 5; i > 0; i )--{
System.out.println("Main Thread :" + i);
Thread.sleep(1000);
}
} catch( InterruptedException e ){
System.out.println("Main thread interrupted.");
}
System.out.println("Main thread exiting.");
}
}


           ‫ز‬               ‫ری‬       ‫آ .ه‬      ‫ﻝ‬   ‫را‬         ‫ه ن ﺥ وﺝ‬        ‫ای‬
    ‫اﺥ ا‬       .‫د‬     ‫، ای د‬           Thread ‫ آ از‬NewThread        ‫زي ی‬
    ‫آ‬      ‫ل‬   ‫ را‬Trhead   ‫ز‬    ‫ي‬          ‫ی . ای ا‬    ‫ د‬NewThread ‫ داﺥ‬super ()
                                                                             .

public thread( string threadName)
‫آ‬                  ‫ا‬                        ‫بی‬           ‫آ .ا‬                         ‫را‬           ‫ ، م‬Thread Name                         ‫در ای‬
 Thread ‫. آ س‬                    ‫ا‬                       ‫آ ام‬           ‫ز دارد و ای‬                 ‫اي ای د‬                     ‫ا ﺝ وا دو‬          ‫آ‬
     ‫. از ای رو‬                      ‫ﻝ‬   ‫ا‬                                ‫ی آ س‬                     ‫آ آ‬                ‫ی‬        ‫ی روش را‬
Runnable                         ‫آ و‬             ‫ا‬        ‫ه ن رو‬              ‫. ای روش اﻝ‬               ‫ ا‬run()             ‫د‬         ‫ی ﻝ‬          ،
         ‫آ نآ‬               ‫آ‬        ‫س‬           ‫ی ن ﺝ وا ا‬                      ‫ري از‬              .         ‫زم ا‬               ‫زي‬         ‫د‬     ‫را‬
         ‫ﺥ اه ه‬                  ‫ای ا‬                .    ‫ی‬              ‫، ی‬          ‫نه‬        ‫ح‬         ‫ی ا‬        ‫ل ا ای‬        ‫در‬       ‫و‬
                    .‫دارد‬                    ‫د‬            ‫ﺥ‬         ‫ا‬                 ‫ی ،ا‬               ‫ را ﻝ‬thread ‫ي‬                ‫ی رو‬        ‫از‬


                                                                                                                                ‫هيچ‬             ‫ای د‬



‫اد‬          ‫ا‬                                ، ‫ز .ا‬                       ‫و‬       ‫ا‬        : ‫د ای‬             ‫د‬      ‫را ا‬        ‫دو‬         ‫ل‬
                :   ‫آ‬           ‫ز ای د‬                          ‫ي‬               ،‫ل‬         ‫ان‬           . ‫ی‬                 ‫ه‬      ‫رد ز از‬

// Create multiple threads.
class NewThread implements Runnable {
String name; // name of thread
Thread t;
NewThread(String threadname ){
name = threadname;
t = new Thread(this/ name);
System.out.println("New thread :" + t);
t.start(); // Start the thread
}
// This is the entry point for thread.
public void run (){
try {
for(int i = 5; i > 0; i )--{
System.out.println(name + " :" + i);
Thread.sleep(1000);
}
} catch( InterruptdException e ){
System.out.println(name + " Interrupted.");
}
System.out.println(name + " exiting.");
}
}
class MultiThreadDemo {
public static void main(String args[] ){
new NewThread("One"); // start threads
new NewThread("Two");
new NewThread("Three");
try {
// wait for other threads to end
Thread.sleep(10000);
} catch( InterruptedException e ){
System.out.println("Main thread Interrupted");
}
System.out.println("Main thread exiting.");
}
}


                                     :        ‫ار زی‬   ‫از ای‬   ‫ﺥ وﺝ‬

New thread :Thread[One/5/main]
New thread :Thread[Two/5/main]
New thread :Thread[Three/5/main]
One :5
Two :5
Three :5
One :4
Two :4
Three :4
One :3
Three :3
Two :3
One :2
Three :2
Two :2
One :1
Three :1
Two :1
‫.‪One exiting‬‬
‫.‪Two exiting‬‬
‫.‪Three exiting‬‬
‫.‪Main thread exiting‬‬


    ‫ار‬                ‫اك‬        ‫ا‬        ‫ز ، ‪ cpu‬را‬                             ‫،ه‬              ‫ز‬            ‫رآ‬              ‫،ه‬                        ‫ری‬         ‫ه‬
‫اي‬                    ‫ا‬         ‫د آ‬                                ‫ی . ای‬            ‫٠٠٠٠١‪ sleep‬در ‪ main‬ر د‬                                            ‫اﺥ ا‬
                                                     ‫ی .‬           ‫ین‬          ‫ده آ ﺥ از ه‬                      ‫ن‬                 ‫وا‬          ‫ق‬                  ‫٠١ﺙ‬


                                                                                                               ‫د از ‪ ()isAlive‬و‪()join‬‬                              ‫ا‬

‫، ای ر‬                    ‫ﻝ ي‬        ‫د. در‬                    ‫ین‬       ‫آ‬                   ‫ی ﺥ ی‬                     ‫ا‬            ‫،‬       ‫ذآ‬           ‫ری‬         ‫ه‬
    ‫آ‬           ‫ن از ای‬             ‫اي ا‬                           ‫آ‬            ‫ﺥ‬         ‫‪ ()sleep‬داﺥ ‪ ()main‬ی‬                                 ‫اﺥ ا‬               ‫را‬
                                    ‫را‬          ‫ای‬       ‫م دادی . اﻝ‬           ‫،ا‬                   ‫ین‬                   ‫ا‬         ‫از‬          ‫ز‬         ‫هي‬
‫ا از ی ن‬                                   ‫ی‬              ‫د:‬               ‫ا‬        ‫ال را‬                ‫ی‬           ‫در‬                 ‫. ای را‬              ‫ا‬     ‫آ‬
        ‫ا‬             ‫ن‬                  ‫د آ‬             ‫اه‬     ‫اي‬             ‫‪ Thread‬و‬                         ‫،ﺥ‬            ‫ه ی‬                 ‫دی‬
‫.‬           ‫ی‬         ‫ا‬             ‫ین‬               ‫آ ی ی‬          ‫آ‬               ‫وﺝ د دارد‬                    ‫را ه .دو‬                                   ‫ای‬
‫و‬                 ‫ی‬        ‫‪Thread‬‬                     ‫آ . ای روش‬                    ‫اﺥ ا‬                 ‫‪ ()isAlive‬را روي‬                         ‫ا‬              ‫اول‬
                                                                                                    ‫:‬                        ‫رت زی‬             ‫ن‬            ‫آ‬

‫)‪final boolean isAlive (Throws InterruptedException‬‬


‫ار ‪ true‬را‬                 ‫، روش )(‪isAlive‬‬                             ‫ل اﺝ ا‬            ‫ن در‬           ‫ه‬                ‫اﺥ ا‬                     ‫ی‬                ‫ا‬
     ‫د‬                     ‫)(‪isAlive‬‬                 ‫ﻝ‬        ‫دا . در‬                     ‫رت ‪ false‬را‬                        ‫ای‬         ‫دا . در‬
‫،‬                                    ‫ی‬         ‫اي ی ن ی‬                ‫د‬            ‫ار‬      ‫د‬           ‫رد ا‬        ‫ر رای‬                ‫آ‬             ‫، رو‬        ‫ا‬
                                                                                           ‫:‬                      ‫رت زی‬                   ‫آ‬            ‫)(‪ join‬ا‬

‫)‪final void join (throws InterruptedException‬‬
join() ‫ي دی ي از‬           .‫د‬   ‫ین‬             ‫آ روي ن اﺥ ا‬                                       ‫ای روش‬
    ‫ی‬   ‫اي ی ن ی‬    ‫ﺥ اه‬        ‫آ‬    ‫ز‬    ‫اآ‬         ‫ه‬       ‫ده‬           ‫اﺝ ز‬              ‫وﺝ د دار آ‬
                                                             . ‫ی‬                 ‫را‬    ‫آ‬          ‫ﺥص‬
‫ن‬       ‫ا‬   ‫د آ د‬    ‫)( ا‬join ‫وﺝ د دارد آ از‬             ‫ل‬       ‫از‬       ‫ح‬       ‫ی روای ا‬          ‫در ای‬
‫)( را‬isAlive ‫روش‬           ‫ه‬         ‫د . ای‬                  ‫آ‬        ‫ا‬          ‫ﺥ ی‬         ‫ا‬      ‫ده آ‬
                                                                                           . ‫ده‬     ‫ن‬

// Using join )(to wait for threads to finish.
class NewThread implements Runnable {
String name; // name of thread
Thread t;
NewThread(String threadname ){
name = threadname;
t = new Thread(this/ name);
System.out.println("New thread :" + t);
t.start(); // Start the thread
}
// This is the entry point for thread.
public void run (){
try {
for(int i = 5; i > 0; i-- ) {
System.out.println(name + " :" + i);
Thread.sleep(1000);
}
} catch( InterruptdException e ){
System.out.println(name + " Interrupted.");
}
System.out.println(name + " exiting.");
}
}
class DemoJoin {
public static void main(String args[] ){
NewThread ob1 = new NewThread("One");
NewThread ob2 = new NewThread("Two");
NewThread ob3 = new NewThread("Three");
System.out.println("Thread One is alive :" + ob1.t.isAlive))(;
System.out.println("Thread Two is alive :" + ob2.t.isAlive))(;
System.out.println("Thread Three is alive :" + ob3.t.isAlive))(;
// wait for threads to finish
try {
System.out.println("Waiting for threads to finish.");
ob1.t.join();
ob2.t.join();
ob3.t.join();
} catch( InterruptedException e ){
System.out.println("Main thread Interrupted");
}
System.out.println("Thread One is alive :" + ob1.t.isAlive))(;
System.out.println("Thread Two is alive :" + ob2.t.isAlive))(;
System.out.println("Thread Three is alive :" + ob3.t.isAlive))(;
System.out.println("Main thread exiting.");
}
}


                                     :        ‫ار زی‬     ‫از ای‬      ‫ﺥ وﺝ‬

New thread :Thread[One/5/main]
New thread :Thread[Two/5/main]
New thread :Thread[Three/5/main]
Thread One is alive :true
Thread Two is alive :true
Thread Three is alive :true
One :5
Two :5
Three :5
One :4
Two :4
Three :4
One :3
Two :3
Three :3
One :2
Two :2
Three :2
One :1
Two :1
Three :1
One exiting.
Two exiting.
Three exiting.
One exiting.
Thread One is alive :false
Thread Two is alive :false
Thread Three is alive :false
Main thread exiting.


                                                                  resume() ‫ و‬suspend() ‫د از‬                            ‫ا‬


‫ان‬            ‫ﺝا‬         ‫د از ی‬        ‫ا‬       ‫ل‬    ‫ان‬      . ‫ی‬          ‫را ﻝ‬            ‫اﺝ اي ی‬       ‫زم ا‬        ‫ه‬
‫ن ی‬       ‫ط‬               ،                ‫ا‬             ‫د از‬     ‫ا‬         ‫ی‬        ‫آر‬      ‫ن داد. ا‬         ‫را‬       ‫و‬
     ‫ر ا اﺥ‬         ‫.ه‬        ‫د اي ا‬           ‫آر‬        ‫دن ی‬          ‫،ﻝ‬                 ‫ع نه‬           .‫د‬            ‫ﻝ‬
‫از‬    ‫ر‬       ‫ه‬    ‫را ا م‬         ‫ی آ ای و و‬              ‫. رو‬        ‫د اي ا‬        ‫آر‬             ‫ﻝ‬          ‫دی‬
          :           ‫رت زی‬                ‫و‬        ‫ی‬     Thread                     . resume()‫و‬suspend()

final void resume()


final void suspend()


                                                                 : ‫ده‬           ‫ن‬    ‫را‬      ‫ي ای رو‬

// Using suspend ()and resume.()


class NewThread implements Runnable {)


String name; // name of thread
Thread t;
NewThread(String threadname ){
name = threadname;
t = new Thread(this/ name);
System.out.println("New thread :" + t);
t.start()// Start the thread
}
// This is the entry point for thread.
public void run (){


try {
for(int i = 5; i > 0; i )--{
System.out.println(name + " :" + i);
Thread.sleep(200);
}
} catch( InterruptdException e ){
System.out.println(name + " Interrupted .");
}
System.out.println(name + " exiting.");
}
}
class SuspendResume {
public static void main(String args[] ){
NewThread ob1 = new NewThread("One");
NewThread ob2 = new NewThread("Two");
try {
Thread.sleep(1000);
ob1.t.suspend)(
System.out.println("Suspending thread One");
Thread.sleep(1000);
ob1.t.resume)(
System.out.println("Resuming thread One");
ob2.t.suspend)(
System.out.println("Suspending thread Two");
Thread.sleep(1000);
ob2.t.resume)(
System.out.println("Resuming thread Two");
} catch( InterruptedException e ){
System.out.println("Main thread Interrupted");
}
// wait for threads to finish
try {
System.out.println("Waiting for threads to finish.");
ob1.t.join)(;
ob2.t.join)(;
} catch( InterruptedException e ){
System.out.println("Main thread Interrupted");
}
System.out.println("Main thread exiting.");
}
}


                                       :   ‫آ‬     ‫ي را ﻝ‬   ‫ﺥ وﺝ‬   ‫ای‬

New thread :Thread[Two/5/main]
One :15
New thread :Thread[Three/5/main]
Two :15
One :14
Two :14
One :13
Two :13
One :12
Two :12
One :11
Two :11
Suspending thread One
Two :10
Two :9
Two :8
Two :7
Two :6
Resuming thread One
Suspending thread Two
One :10
One :9
One :8
One :7
One :6
Resuming thread Two
Waiting for threads to finish.
‫5: ‪Two‬‬
‫5: ‪One‬‬
‫4: ‪Two‬‬
‫4: ‪One‬‬
‫3: ‪Two‬‬
‫3: ‪One‬‬
‫2: ‪Two‬‬
‫2: ‪One‬‬
‫1: ‪Two‬‬
‫1: ‪One‬‬
‫.‪Two exiting‬‬
‫.‪One exiting‬‬
‫.‪Main thread exiting‬‬


                                                                                                                                               ‫ي‬                ‫ﺕ‬


‫ی‬          ‫ا‬           ‫ی اﺝ ز اﺝ ا‬                      ‫د آ آ ام‬                           ‫د‬           ‫د‬        ‫ا‬            ‫ز‬                 ‫ي‬
‫ي از‬                        ‫،ز ن‬              ‫مآ‬         ‫ي داراي‬                                   ‫م‬        ‫ي داراي‬              ‫ري ،‬                      ‫. از‬
                        ‫م‬             ‫و‬        ‫د،‬                  ‫از ‪cpu‬‬             ‫آ ی‬      ‫ان و‬             ‫،‬      ‫. در‬                    ‫‪ cpu‬را‬
‫د‬          ‫اي را‬                  ‫و‬                                  ‫ی‬                  ‫ل ، ای‬         ‫ان‬           ‫ي ه دارد ) .‬              ‫دی‬           ‫ا‬
‫م‬          ‫داراي‬                  ‫.(ی‬                     ‫ز ن ‪ cpu‬ﺙ دا‬                                          ‫ا روي د‬                 ‫آ‬              ‫زي‬
                        ‫ی‬         ‫، و‬                   ‫ان‬          ‫ی.‬                         ‫م آ‬                         ‫از ی‬    ‫ا‬
‫ی‬                       ‫ﻝ‬       ‫از‬            ‫د(‬                         ‫از‬            ‫م‬                   ‫وی‬          ‫ل اﺝ ا‬          ‫در‬              ‫مآ‬
                                              ‫آ .‬                               ‫مآ‬                          ‫م‬               ‫ر روي ) ‪ I/o‬ای‬                      ‫ا‬
     ‫ا‬                     ‫زم ا‬          ‫.ا‬                   ‫‪ cpu‬دا‬            ‫دﻝ‬               ‫ی د‬            ‫م ا‬          ‫هي‬            ‫ري ،‬                ‫در‬
    ‫ﺥ‬          ‫.‬            ‫ا‬             ‫ا‬                     ‫از‬            ‫و‬         ‫اي آ ر در‬           ‫آ ﺝ وا‬                     ‫. د دا‬
                   ‫.‬        ‫آ‬         ‫زي‬            ‫د‬     ‫،‬                 ‫ی‬        ‫وت از‬             ‫اي را آ‬               ‫و‬         ‫،‬                       ‫از‬
    ‫. ای‬                    ‫ی رآ ل‬                             ‫ی ه‬       ‫ار‬            ‫اك‬      ‫ا‬       ‫را‬             ‫می‬         ‫هی آ‬              ‫،‬           ‫ای‬
               ‫وا‬                                              ‫ن‬     ‫اي اﺝ ا‬                       ‫ه ی‬               ‫ده آ آ‬             ‫ن‬              ‫ا‬        ‫ا‬
                   ‫وا‬             ‫ي‬             ‫در‬              ‫،‬         ‫. در‬         ‫)‪ (non-preemptive‬را ﺥ اه دا‬
    ‫ﺥ‬                  ‫ر‬             ‫ه‬          ‫ن دار ، زی ا اآ‬                      ‫اﺝ ا‬                  ‫نی‬         ‫ه ه‬              ‫، اآ‬
‫آ‬            ‫،‬        ‫ا‬         ‫ای ا ق‬              ‫.و‬                 ‫اﺝ ﺥ اه‬                  ‫اي ‪l/o‬‬         ‫ر‬         ‫ا‬                ‫زي‬           ‫ك‬                   ‫ای‬
‫را‬                                ‫ﺥ اه اﺝ اي‬                              ‫.ا ا‬                  ‫اﺝ ا‬          ‫ا‬             ‫ه‬                 ‫ی‬     ‫و‬                      ‫ﻝ‬
     ‫وﺝ د دار‬                 ‫ﺥ ا اع و ی‬                    ‫،‬              ‫.ه‬                                   ‫ی روي ای ا‬                        ‫ا م ده ،‬
    ‫ه ، ی‬             ‫ع از‬              ‫. روي ای‬                     ‫ﺥ اه‬                 ‫‪cpu‬‬             ‫هی‬           ‫ن‬              ‫‪ cpu‬دار‬                      ‫ای‬               ‫آ‬
                                                                      ‫.‬          ‫اﺝ ا‬           ‫ا‬        ‫ه‬         ‫ی‬                                ‫آ ﻝ دا‬
    ‫ي از‪Thread‬‬                              ‫ی ، آ‬                ‫د‬        ‫، از روش ‪ ()setpriority‬ا‬                                            ‫م ی‬                          ‫اي‬
                                                                                                     ‫:‬          ‫ار زی ا‬               ‫ن‬                                ‫.‬             ‫ا‬

‫)‪final void setpriority( in level‬‬


     ‫ود‬              ‫ار ‪ level‬ی داﺥ‬                     ‫.‬        ‫ا‬         ‫اﺥ ا‬           ‫اي‬         ‫مﺝی‬                                            ‫‪level‬‬                  ‫در ای‬
‫.‬                ‫دی 1 و ٠١‬                    ‫، ای‬                   ‫ل‬         ‫. در‬         ‫‪ MIN-PRIORITY‬و ‪MAX-PRIORIT‬‬
    ‫آ‬        ‫آ‬                          ‫ض ، ‪ NORM-PRIORITY‬را‬                                                       ‫م‬                          ‫دا ن ی‬                       ‫. اي‬
                                  ‫ا .‬          ‫ی‬            ‫ه ي ‪ final‬داﺥ ‪Thread‬‬                                    ‫ان‬                              ‫. ای‬           ‫5ا‬
    ‫وری ، آ‬                       ‫روش )(‪ getpriority‬در‪ Thread‬ر‬                                           ‫اﺥ ا‬          ‫م ﺝ ري را‬                                       ‫ا‬
                                                                                                                                  ‫:‬                         ‫رت زی‬

‫)(‪final int getpriority‬‬


        ‫ن‬             ‫و‬           ‫یير ر‬                 ‫رت‬                ‫ی ،‬                       ‫ي‬             ‫آ ز‬            ‫زي ﺝ وا ، و‬                       ‫د‬
    ‫‪solaries‬‬              ‫آ . ا روای‬                    ‫ر داری آ ر‬                    ‫ا‬        ‫ری‬             ‫ه‬             ‫وی وز ٥٩ آ‬                      ‫ده . روای‬
     ‫هی‬                       ‫آ‬     ‫آ‬         ‫وز‬                      ‫ز ری ه‬                    ‫ري از‬              ‫آ .‬                ‫وت آ ر‬                   ‫اي‬
            ‫ر ر وا‬                      ‫ی ،‬        ‫ف‬                      ‫اآ‬         ‫رت ا‬            ‫ز ن ‪ cpu‬را‬                       ‫ي ای‬              ‫آ‬                           ‫دا‬
‫ﺝ واي ا وز، ی از‬                                                                       ‫ر ر ارﺝ ع‬                       ‫اي آ‬           ‫.‬                        ‫د‬
                                   ‫دار .‬                         ‫دن ‪ cpu‬د‬                 ‫ر اﺥ ري از آ ل‬                               ‫آ‬           ‫د آ‬         ‫ی ا‬
    ‫اﺝ ا‬              ‫ی ذآ‬              ‫زی‬           ‫ده ، آ روي دو‬                             ‫ن‬         ‫را‬                 ‫ي‬                           ‫ي دو‬                   ‫ل‬
    ‫-‪Thread-NORM‬‬                                    ‫آ‬                            ‫ﻝ‬          ‫م‬        ‫از‬                          ‫دو‬                 ‫.ی‬                     ‫اه‬
        ‫.‬        ‫ا‬                      ‫ﻝ‬       ‫م‬           ‫از‬             ‫ی‬               ‫و دی ي دو‬                    ‫ا‬                 ‫ی‬         ‫‪PRIORITY‬‬
‫اد‬           ‫آ ،آ‬                   ‫را اﺝ ا‬                      ‫ی‬             ‫اﺝ ز اﺝ ا دار . ه‬                            ‫ت ٠١ ﺙ‬                  ‫و‬              ‫ز‬                ‫ه‬
‫اد‬         . ‫آ‬         ‫را‬   ‫ه دو‬        ‫ا‬       ،   ‫از د ﺙ‬   . ‫آ‬       ‫رش‬   ‫اره را‬
                            .‫ی‬     ‫در‬       ‫ی‬   ،      ‫ﺥ‬           ‫ی‬   ‫از‬   ‫آ ه‬      ‫د‬

// Demonstrate thread priorities.
class clicker implements Runnable {
int click = 0;
Thread t;
private boolean running = true;
public clicker(int p ){
t = new Thread(this);
t.setPriority(p);
}
public void run )({
while( running ){
click++;
}
}
public void stop )({
running = false;
}
public void start (){
t.start)(;
}
}
class HiLoPri {
public static void main(String args[] ){
Thread.currentThread.)(setPriority(Thread.MAX_PRIORITY);
clicker hi = new clicker(Thread>NORM_PRIORITY + 2);
clicker lo = new clicker(Thread>NORM_PRIORITY - 2);
lo.start();
hi.start();
try {
Thread.sleep(10000);
} catch( InterruptedException e ){
System.out.println("Main thread interrupted.");
}
lo.start();
hi.start();
// Wait for child threads to terminate.
try {
hi.t.join();
lo.t.join();
} catch( InterruptedException e ){
System.out.println("InterruptedException caught");
}
System.out.println("Low-priority thread :" + lo.click);
System.out.println("High-priority thread :" + hi.click);
}
}


‫ده آ‬                 ‫ن‬    ‫د‬          ‫وی وز ٥٩ اﺝ ا‬                            ‫ن داد ای ه‬                 ‫ا‬           ‫آ‬              ‫ﺥ وﺝ ای‬
     ‫ د‬cpu ‫ر اﺥ ري از‬                      ‫ن‬       ‫ا‬          ‫ه‬        ‫ا‬     ، ‫م داد ا‬               ‫ را ا‬context switch ‫ه‬
                                                                                            .                ‫آ‬           l/o ‫اي‬      ‫وی‬

Low-priority thread :434104


High-priority thread :4860791


‫ل‬    ‫در‬          ‫ی و ی‬          ‫اد‬     ‫و‬           cpu                                 ‫ای‬                        ‫ﻝ‬               ‫ﺥ وﺝ د‬        ‫اﻝ‬
                                                                                        .           ‫ﺥ اه دا‬                              ‫اﺝ ا در‬
     ‫ن‬           ‫د‬            ‫ اﺝ ا‬solaris                        ‫ي از ه ن آ س ﺝ وا ، آ ای ر روي ی‬                                        ‫ﺥ وﺝ‬
         ‫م‬                ‫آ‬       ‫ظ نا‬                 ‫. ای‬        ‫ا‬       ‫ز ن اﺝ ا‬                 ‫در‬                       ‫م‬             ‫ده آ‬
                                                                                                             .           ‫ا‬               cpu

Low-priority thread :0


High-priority thread :3062507


‫در‬           ‫د‬           ‫ا س‬         ‫ر ر‬                      ‫آ هی آ‬               ‫آ‬            ‫ا‬        ‫ر‬           ، ‫دی‬           ‫اي‬     ‫در ی‬
                                               .        ‫ی‬     ،             ‫ي دا‬       ‫دی‬                        ‫ع‬               ‫وی وز ٥٩ ی ه‬
‫آ دن‬          ‫آ‬         ‫د از چ‬             ‫ا‬


‫ن در‬                ‫آ‬             ‫آ ر از‬                    ‫در اﺥ ر دا‬          ‫،‬               ‫ی ن‬                     ‫ی‬              ‫ا‬
 ‫آ‬           ‫ای ا‬                   ‫ﺙ از ای‬     ‫د‬     ‫ا‬     ‫.آ‬        ‫ﺥ اه دا‬           ‫ز‬            ‫اي‬        ‫ی‬                 ‫ز ن‬
     ‫داﺥ‬                ‫دو زی‬           ‫ل،و‬     ‫ان‬        ‫یﻝ .‬        ‫رت‬                ‫ی‬             ‫"‬             ‫رت " ه‬
 ‫د‬           ‫ی . ا‬                  ‫د‬      ‫هي‬        ‫را‬          ‫،‬         ‫ن اﺝ ا‬           ‫ه‬    ‫ا‬            ‫داری آ‬               ‫ی‬
‫اد‬            ‫.ا ا‬           ‫ی‬     ‫ﺙ ي‬     ‫ر‬     ‫هي‬                   ‫ا‬       ‫آ دن ،‬            ‫آ‬             ‫آ را از‬
     ‫ﺥ‬       ‫آ‬                   ‫. د دا‬        ‫ا ن ﺥ اه‬               ‫د‬             ‫ا‬           ‫ی ،‬       ‫ه ای د‬            ‫زی دي از‬
         ‫و‬       ‫ه ای د آ ،‬                ‫اد زی دي از‬           ‫.ا‬        ‫‪ conext switching‬ه ا ه‬                            ‫ی‬
                         ‫.‬        ‫‪ context‬ه ﺥ اه‬             ‫ف‬            ‫،‬   ‫اي اﺝ اي اص ی‬                        ‫از‬            ‫‪cpu‬‬
‫پ‬




‫رت‬     ‫ﺥ ای‬      ‫هي‬    ‫را در‬   ‫م‬           ‫، م‬          ‫در ای‬
‫زی ی‬      ‫له ی‬   ‫ارا‬   ‫ا‬           ‫.‬         ‫آ ر ﺥ اه‬
                                             ‫ﺝ وا را درك آ .‬
‫زم‬                 ‫ق‬                    ‫.‬         ‫ا‬              ‫د و‬    ‫ر‬        ‫ن را داری ،‬                          ‫اي‬
    ‫م داد :‬    ‫ا‬           ‫ی‬           ‫ت زی را‬               ‫ر‬          ‫ی. ی‬            ‫را ای د‬              ‫ﺥ‬    ‫ی‬        ‫ا ر‬


                                   ‫.‬         ‫را در ن ی‬                 ‫رد‬           ‫لو‬           ‫‪ Notepad‬را‬                             ‫•‬

                                                                                             ‫.‬          ‫را ذﺥ‬                           ‫•‬

       ‫دد.‬     ‫ﺝ وا ای د‬                ‫ا‬     ‫ی‬          ‫ی ﺝ وا ﺝ‬                ‫د از‬        ‫را ا‬                                       ‫•‬

                                                  ‫دد.‬     ‫ا ام‬          ‫ر‬               ‫ارش ﺥ ء ،‬        ‫رت‬           ‫در‬                ‫•‬

                               ‫.‬        ‫د‬     ‫در ن ا‬             ‫ای د‬        ‫وب ‪ Html‬ای د و از ا‬                       ‫ی‬                ‫•‬

                                                                                         ‫.‬        ‫ﺝ وا را اﺝ اء‬        ‫ا‬                ‫•‬



                                                                             ‫:‬      ‫رت زی ا‬                  ‫ا ر‬



                       ‫;‪import java.awt.Graphics‬‬

                       ‫‪public class FirstApplet extends‬‬
                       ‫‪java.applet.Applet‬‬
                       ‫{‬

                                   ‫)‪public void paint(Graphics g‬‬
                                   ‫{‬
                                       ‫;)002 ,002 ,0 ,0(‪g.drawLine‬‬
                                   ‫}‬
                       ‫}‬



                                                                                                             ‫: ی‬           ‫ﺡ ی‬
     ‫دد. در ادا‬                    ‫در ن ذﺥ‬                   ‫م دﻝ ا ای د‬            ‫، ﻝر‬                ‫دن‬         ‫ر ذﺥ‬
‫ب ‪TXT‬‬              ‫ا‬               ‫ای د ی ه‬             ‫در‬              ‫دی‬        ‫‪ ) Notepad‬و ی ه ادی ر‬                         ‫وی ای‬
‫ق‬                      ‫. در ز ن ی‬                       ‫ق را ی ) و ی ‪ Copy‬و ‪(Paste‬‬                           ‫لو‬        ‫( را‬
‫زم‬            ‫رت ی د. در ای را‬                          ‫زم‬        ‫د‬              ‫رگ و‬        ‫وف‬              ‫در را‬          ‫ی‬
                                        ‫د .‬             ‫ﺝ ول ق ، ی‬                      ‫د‬           ‫رگ و‬     ‫وف‬                     ‫ا‬
                                                                                                 ‫دن ی‬        ‫ﺡ دوم : ذﺥ‬
‫د ای‬       ‫ای د‬            ‫ی‬            ‫در‬       ‫م ی ‪ FirstApplet.Java‬در ﻝ ر‬                                    ‫را‬                 ‫ی‬
     ‫ا در ی‬           ‫دد‬          ‫در م ی د‬                     ‫رگ و‬      ‫وف‬          ‫د از‬          ‫ا‬                      ‫.‬                ‫، ذﺥ‬
                                                               ‫.‬         ‫ار ﺥ اه‬                           ‫رد د‬           ‫م‬            ‫ه‬        ‫ی‬
                                                                                                                  ‫ی‬           ‫م:‬            ‫ﺡ‬
‫ی ‪FirstApplet.java‬‬                           ‫ر ‪ ، CD‬در ﻝ ر‬              ‫د از د‬         ‫لو ا‬                 ‫‪ MS-DOS‬را‬
           ‫:‬               ‫، ی‬                             ‫ﺝ‬       ‫ر‬      ‫ر زی را‬                 ‫ود‬                           ‫ار دارد ،‬
 ‫‪javac FirstApplet.java‬‬

 ‫(‬             ‫رگ و‬            ‫وف‬               ‫زم در را‬           ‫)د‬            ‫ی‬            ‫را ر‬                            ‫و‬            ‫م ی‬
                  ‫ی‬            ‫رت وﺝ د ﺥ ء ،‬               ‫دن ﺥ ء ، در‬               ‫ف‬            ‫و‬                       ‫ﺡ چ رم :‬
                                                                                         ‫د.‬       ‫ﺝ د ا ام‬                    ‫ت‬            ‫ر ا‬
     ‫،ی‬        ‫ای د‬            ‫د از ا‬          ‫ار و ا‬          ‫ر‬         ‫‪، Html‬‬                             ‫: ای د ی‬                   ‫پ‬    ‫ﺡ‬
                                                        ‫ار ده :‬         ‫ت زی را در ن‬                          ‫وب ای د و ا‬
                                                         ‫ی ‪Html‬‬
                      ‫>‪<html‬‬
                      ‫>‪<body‬‬
                      ‫002=‪<applet code=FirstApplet.class width‬‬
                      ‫>002=‪height‬‬
                      ‫>‪</applet‬‬
                      ‫>‪</body‬‬
                      ‫>‪</html‬‬



                                    ‫.‬            ‫ذﺥ‬            ‫م‬        ‫م ‪ applet.htm‬و در ﻝ ر‬                                  ‫ق را‬             ‫ی‬
      ‫ر اﺝ ا ا‬                 ‫ر زی را‬           ‫لود‬           ‫‪ MS-DOS‬را‬                      ‫،‬            ‫: اﺝ ا ا‬                ‫ﺡ ﺵ‬
                                                                                                                              ‫:‬                 ‫ی‬
 ‫‪appletviewer applet.htm‬‬



‫را‬        ‫را‬                                                               ‫از‬                 ‫ﺥ‬            ‫،ی‬             ‫از اﺝ ا ا‬
                                 ‫دی .‬        ‫و اﺝ اء‬           ‫ﺝ وا‬              ‫اوﻝ‬                   ‫ی‬     ‫د.‬               ‫ه ﺥ اه‬


                                                                                                                      ‫ی‬       ‫توﺕ‬                   ‫ﺕ‬
‫ﺝ وا د‬                      ‫ه‬                    ‫از‬            ‫، عﺥ‬                                         ‫.ا‬       ‫د ﺝ وا ا‬                         ‫ا‬              ‫ی‬
‫ر د ﺝ وا‬                                  ‫ه‬                                 ‫ﺝ وا در‬                           ‫ه‬                ‫د. ا‬        ‫اﺝ اء‬                  ‫ور‬                       ‫را در ی‬                            ‫ان‬
        ‫رو ی‬                  ‫را‬              ‫ان‬                             ‫د‬                    ‫ه‬                            ‫ر د ﺝ وا ،‬                              ‫ه‬                        ‫ا .‬                   ‫ح‬
        ‫. در ادا‬                  ‫ا‬               ‫د‬         ‫‪ javac‬ا‬                               ‫از‬                      ‫دن ا‬             ‫ی‬                 ‫ا‬     ‫د.‬                  ‫اﺝ اء‬
        ‫وب ای د و ا‬                                         ‫ن،ی‬              ‫ا اﺝ ا‬                               ‫زم‬                      ‫دن‬             ‫اه‬         ‫و‬                  ‫ار ا‬                          ‫ر‬
‫‪appletviewer‬‬                                          ‫ان از‬                                   ‫ا‬               ‫ا اﺝ ا ی‬                         ‫.‬         ‫ا‬              ‫ا زد‬                     ‫ق‬                             ‫در‬
                                                                                                                                                                                           ‫د.‬                ‫د‬            ‫ا‬
                      ‫ا‬               ‫عا‬              ‫ی‬        ‫د‬        ‫ق‬                                 ‫.‬               ‫ا‬                ‫دارا د ﺥ‬
                      ‫ه‬                                        ‫ق ، زم ا‬                                               ‫د‬                              ‫ﺥ‬                 ‫ر‬                        ‫د.‬           ‫ان ای د‬
                  ‫ط‬       ‫از ﺥ‬                    ‫رو ی‬                  ‫ر‬                         ‫. ی‬                                 ‫زم وﺝ د دا‬                                           ‫اء‬                                  ‫ی‬
                                                                                                                              ‫د:‬                   ‫داد‬                         ‫د ن‬                           ‫و‬
‫;)002 ,002 ,0 ,0(‪g.drawLine‬‬


        ‫را ر‬                              ‫ق،ﺥ‬               ‫ر‬           ‫.د‬                    ‫ا‬                           ‫در‬              ‫رد‬         ‫ت‬                     ‫م‬               ‫لا‬                    ‫ق‬                 ‫ﺥ‬
                          ‫ر ق‬                 ‫. د‬                            ‫ق‬                                ‫در ار ط ﺥ ا‬                                           ‫ط‬              ‫ی ﺥ‬                   ‫د.‬               ‫ﺥ اه‬
                                      ‫(‬               ‫و‬                 ‫ت‬                         ‫)‬                                                  ‫را از‬                     ‫،ﺥ‬                            ‫ا‬
                                                                                                                  ‫.‬                ‫ت ٠٠٢ و ٠٠٢ ( ر‬                                                   ‫)‬                         ‫را‬
‫ا د ٠٠٢ و‬                             ‫(‬                            ‫) در‬               ‫ا‬               ‫ی‬               ‫اﺝ اء و‬              ‫ط‬                                   ‫وب ، ا از‬                                       ‫در‬
‫.‬         ‫ا‬               ‫د‬           ‫م ‪ drawLine‬ا‬                                   ‫(‬                        ‫)‬                ‫ق از‬                              ‫. در‬              ‫ا‬                                      ‫٠٠٢‬
    ‫د‬         ‫ا‬           ‫ﺥ‬                ‫ی )٠٠٢،٠٠٢،٠،٠(. ا‬                                                                 ‫ان ورود اﺥ‬                          ‫را‬               ‫ر را‬                       ‫ق،‬
‫ت‬          ‫ﺝ‬                  ‫در ا‬                        ‫د از‬          ‫ا‬                 ‫ق‬                           ‫را‬                   ‫.‬         ‫ا‬                                          ‫";"‬                  ‫از را‬
                                  ‫ا‬                                                   ‫ی‬               ‫.‬                   ‫ا‬           ‫وع‬            ‫ف ‪.g‬‬                                    ‫ا ﺥ‬                      ‫.ا‬            ‫ا‬
                                                                                 ‫‪ g‬وﺝ د دارد.‬                                         ‫م‬            ‫م ‪drawLine‬‬                                                         ‫اﺥ ا‬
‫ر‬                 ‫ی‬           ‫ی‬                            ‫ی‬                ‫م‬             ‫ا‬                                        ‫ه‬           ‫.‬             ‫را‬                ‫د‬           ‫ی‬                     ‫،‬                 ‫ی‬
                  ‫ت‬                                   ‫ا‬         ‫،ﺥ‬               ‫ی‬                            ‫م‬           ‫ا‬                         ‫د. ‪، drawLine‬‬                                        ‫م‬           ‫ﺥصا‬
‫ط‬         ‫ان ﺥ‬                        ‫‪(drawLine‬‬                                      ‫ه‬                ‫) را‬                                ‫ت‬                                                ‫ی.‬                    ‫را ر‬
                                                                                     ‫د.‬                           ‫را ر‬                               ‫ت‬                             ‫د از‬                  ‫دو ا‬
‫ر زم ا‬                         ‫ی‬       ‫د؟‬             ‫د‬               ‫ان ا‬               ‫‪drawLine‬‬                                     ‫دی‬     ‫ا‬             ‫از‬
‫ز ﺝ وا و‬                   ‫د‬                                   ‫دد. در ز ن‬                           ‫اﺝ‬       ‫س ‪Graphice‬‬                                  ‫ط‬          ‫ات‬
     ‫، ی‬               ‫ﺥ اه‬                                                      ‫رو‬                          ‫ه‬         ‫از ی‬                    ‫،ی‬                ‫ات‬
‫ی . ‪drawLine‬‬                               ‫ی‬          ‫س ‪ Graphic‬را‬                              ‫ق‬           ‫. ی‬            ‫‪ java.awt.Graphice.html‬ا‬
     ‫رر‬                         ‫د دی‬                  ‫ه‬              ‫س ‪ Graphic‬د و در ای ز‬                                                     ‫ه‬         ‫از‬      ‫"ی‬
                                                                                     ‫و ... وﺝ د دارد.‬                          ‫،‬                         ‫ن،‬         ‫ط،‬        ‫ﺥ‬
‫س‬            ‫"‬         ‫.‬         ‫ا‬         ‫اوا‬             ‫ه‬             ‫دارا‬                  ‫س‬            ‫د وه‬               ‫د‬                    ‫سه‬              ‫ﺝ وا دارا‬
‫.‪SetColor‬‬                   ‫ا‬          ‫ر‬         ‫ط‬             ‫ت‬                 ‫و‬         ‫ی‬        ‫ر‬              ‫ه‬           ‫ا از‬                           ‫‪ Color‬دارا‬
‫ﺝ وا‬          ‫سه‬                 ‫ط‬                    ‫ه‬         ‫از‬       ‫د هزه ی‬                         ‫. در ز ن ا‬                        ‫ا‬        ‫ا در ای ز‬
     ‫د.‬           ‫اه‬       ‫د از ن را‬                       ‫ا‬         ‫ر ‪ import‬ز‬                         ‫د از د‬             ‫ا‬                        ‫در ا ا‬            ‫ی‬


                                                                                                                                                                ‫اﺵ ل زدا‬


‫.‬                ‫وت ﺥ رد‬                              ‫ﺥ ه‬                            ‫ا‬              ‫،‬                              ‫ه‬                                ‫در ز ن‬
‫ز ن اﺝ اء و‬                          ‫،ﺥ‬               ‫ا‬                  ‫:ﺥ‬                         ‫و‬        ‫دارا ا اع‬                          ‫ی‬                      ‫ﺥ ه‬
‫ل )‪(Bugs‬‬                   ‫را ، ا‬                              ‫از ه‬                                ‫ق‬             ‫مﺥ ه‬                  ‫.‬                                      ‫ﺥ‬
‫ی .‬                ‫)‪(debugging‬‬                            ‫ل زدا‬              ‫ل را ا‬                ‫دن ا‬          ‫ف‬                         ‫ط‬             ‫ت‬            ‫و‬
‫د‬            ‫ی ن را‬                                   ‫ار ز ن زی د از و‬                                  ‫ه‬                               ‫ه‬                       ‫ل زدا‬          ‫ا‬
                                                                                                                                               ‫ص ﺥ اه داد.‬                   ‫اﺥ‬
     ‫ی‬                 ‫ز ن‬                     ‫ﺝ د در را‬                         ‫ا‬                            ‫ر‬            ‫در‬                        ‫ی‬              ‫در ز ن‬
‫ی در ز ن‬                        ‫ﺝ ت در ﺝ وا ( ،‬                                      ‫";" در ا‬            ‫د از را‬                   ‫ما‬                    ‫دد )‬             ‫ر ی‬
         ‫ی‬             ‫ارد‬                     ‫ی . در‬                    ‫م‬               ‫وا‬                 ‫را‬             ‫ا‬                   ‫ﺥ‬     ‫،ی‬                   ‫ﺝ‬
‫از‬           ‫د.‬        ‫، ا ام‬                    ‫ارش داد‬             ‫ل‬                   ‫دن ا‬       ‫ف‬                                      ‫،‬        ‫از ه ا ام دی‬
‫دد. در ز ن‬                        ‫اﺝ اء‬                        ‫(،‬            ‫ا‬                  ‫م وﺝ د ﺥ‬               ‫)‬                        ‫ی‬                         ‫ﺝ‬
         ‫ق را ، ﺥ‬                    ‫دی . ﺥ ه‬                       ‫اﺝ‬           ‫از ﺥ ء‬                     ‫ع دی‬                   ‫ا‬                                ‫اﺝ ا ی‬
‫اﺝ اء‬                  ‫ر‬         ‫و‬               ‫ز ن اﺝ اء‬                           ‫دارا ﺥ‬                                ‫ر‬           ‫. در‬                   ‫ز ن اﺝ اء‬
     ‫.ﺥ ه‬                              ‫ی‬                  ‫ﺥ ا‬                                                              ‫ﻝ‬       ‫ﺥ وﺝ‬                   ‫ا‬           ‫دد ،‬
‫از‬                             ‫د‬            ‫رات و ی ا‬               ‫از د‬               ‫د در‬            ‫ما‬                          ‫ی و‬                                    ‫ق را ﺥ ه‬
              ‫،‬            ‫ی‬                                 ‫زم ا‬             ‫ارد‬                     ‫ی . در‬                     ‫ﺝ د‬                              ‫اﻝ ری ه در ی‬
‫رت ﻝ وم‬                                ‫و در‬                           ‫ه‬                 ‫دن‬           ‫د ل‬                 ‫د و‬                    ‫دا ز‬                      ‫را‬
‫را‬                    ‫دا‬                ‫ن ا ام و‬              ‫ر‬                        ‫و‬                   ‫ﺝ د را‬                      ‫،ﺥ‬                ‫د‬            ‫ا‬        ‫اﻝ ری ه‬
                                                                                                                                                      ‫ی.‬              ‫ی و اﺝ اء‬


                                                                                                                                                                                    ‫ه‬


         ‫.‬                         ‫د‬         ‫ه ا‬               ‫ت از‬                     ‫ا‬                 ‫ار‬             ‫ر‬                 ‫،‬                               ‫ه‬             ‫م‬
‫و‬                  ‫ا‬               ‫وﺝ ر‬              ‫ان ورود ﺥ ا‬                            ‫د را‬                             ‫ا‬                       ‫ا‬                          ‫ر‬            ‫در‬
         ‫د و‬                   ‫ا‬        ‫ر‬                             ‫د وارد‬                  ‫ر ذﺥ‬                                         ‫ده ، از ی‬              ‫ی‬            ‫در ﺥ وﺝ‬
                                   ‫.‬         ‫اه ﺥ اه‬                ‫ن‬          ‫رو‬            ‫ت دﻝ ا‬                      ‫ن‬        ‫ا‬             ‫رد‬        ‫د‬           ‫دن‬            ‫از ذﺥ‬
‫ع‬                 ‫ی‬                                      ‫ی‬      ‫ی‬             ‫د. در ز ن‬                        ‫ی‬         ‫د ،‬           ‫از ا‬                   ‫ی‬                ‫ه را‬
     ‫ی‬                                 ‫ان‬                      ‫د.‬                                  ‫دد را‬                 ‫ار‬            ‫در ن‬                  ‫ار ا‬                   ‫داد ه‬
‫ان در ن م و م‬                                            ‫د‬                ‫ی‬        ‫را‬            ‫دی‬                  ‫وی‬                    ‫ار‬         ‫در ن ، ا اد‬                        ‫د‬
     ‫ی‬                     ‫ی‬                 ‫د‬       ‫ا‬            ‫ه‬                ‫م‬        ‫ﺝ وا‬           ‫ی‬                     ‫د. در ز ن‬                        ‫را ذﺥ‬             ‫ﺥ اد‬
                                   ‫د.‬                                 ‫دد را‬                 ‫ار‬                      ‫ان در‬                             ‫ن ع داد ه‬                              ‫وه‬
‫ق ، ‪int‬‬                            ‫ه‬             ‫ع‬       ‫ا .‬                       ‫ی‬        ‫‪ width‬و ‪height‬‬                                      ‫زی ، دو‬                        ‫ل : در‬
‫١، ٢ ، ٣ (‬                              ‫)‬                ‫د‬                ‫ار ی‬                       ‫از ع ‪ ، int‬در‬                                        ‫.ی‬               ‫ا‬             ‫ی‬
                           ‫.‬             ‫ا‬                                    ‫ار ٠٠٢ در‬               ‫ق،‬                  ‫ه‬                ‫از‬        ‫ار اوﻝ ه ی‬                     ‫.‬         ‫ا‬
‫از‬           ‫ی .ی‬                            ‫ار ده اوﻝ "‬                       ‫ه "‬                             ‫ار اوﻝ‬                 ‫ده ی‬                            ‫ط‬             ‫ت‬
‫.‬            ‫ه ا‬                            ‫ار ده اوﻝ‬                 ‫م‬        ‫،‬           ‫ه ا قا‬                        ‫ﺥ از‬                  ‫در‬        ‫ا‬                                    ‫ا‬
‫وز‬           ‫از‬            ‫م‬            ‫ن را ا‬           ‫ار ده اوﻝ‬                      ‫،‬                  ‫ی‬         ‫ی‬           ‫دد در ز ن‬                                          ‫ای‬
                                                                                                   ‫دد.‬                                     ‫ﻝ در ی‬                 ‫ا‬        ‫ﺥ ﺥ ه‬
‫ع ‪int‬‬              ‫سه .‬                          ‫د )‪ (Primitive‬و‬                                 ‫ه‬                 ‫وﺝ د دارد :‬                        ‫ع‬           ‫در ز ن ﺝ وا دو‬
‫م‬        ‫د ا‬                       ‫ه‬                 ‫ان‬                                       ‫م‬        ‫.‬            ‫دا‬                ‫ار ی‬                        ‫د و در‬                 ‫د‬
                                                                               ‫.‬        ‫ا‬             ‫ع‬                  ‫ﺝ‬            ‫ار‬             ‫ار ی‬                                ‫داد ،‬
‫ن‬        ‫،ا‬        ‫ه ی‬              ‫ط‬          ‫ه‬    ‫د از‬        ‫د و ا‬                            ‫ی‬       ‫دارا دن‬               ‫س ه ، در‬
                       .        ‫قا‬          ‫سه‬        ‫از‬                  ‫ ی‬Rectangle .‫دد‬                               ‫اه‬             ‫ن‬         ‫د‬        ‫ا‬



                           import java.awt.Graphics;
                           import java.awt.Color;

                           public class FirstApplet extends
                           java.applet.Applet
                           {

                                    public void paint(Graphics g)
                                    {
                                        int width = 200;
                                        int height = 200;
                                        g.drawRect(0, 0, width, height);
                                        g.drawLine(0, 0, width, height);
                                        g.drawLine(width, 0, 0, height);
                                    }
                           }


     ‫،ر‬                ٢٠٠ * ٢٠٠ ‫ا د‬                   ‫ا‬         ‫در‬                      ‫ﺥ‬        ‫، ه ار ی‬                         ‫ارا‬               ‫در‬
         ‫ض‬         .           ‫قا‬                  ‫ودی ه‬             ‫از‬           ‫،ی‬             ‫ا د‬          ‫ن ی‬             ‫ما‬           .‫دد‬
‫را‬            ‫دا د‬                        ‫ر درﺥ ا‬          ‫از‬        ‫دد‬                                    ‫در‬                ‫،ا‬            ‫در ای را‬
    ‫ا س ا د ارا‬                                ‫ر ،ﺥ‬                                   ‫دن ا د‬                        ‫از‬            .‫ی‬
    ‫ﺝ د در ی‬               ) ، Graphic ‫س‬                    ‫ط‬             ‫ات‬                                  ‫اﺝ‬             .‫دد‬            ‫،ر‬
     ‫ا‬        ‫ا‬            ‫ت‬               ‫ط‬        ‫م ا‬                   ‫ﻝ‬             ‫ق‬        ‫ ، ی‬java.awt.Graphic.html
 ‫ان ورود اﺥ‬                         ‫را‬         ‫ق را‬             .‫د‬                ‫ﺥ رد ﺥ اه‬              getClipBounds                               ،(
          ،                ‫دا‬            Rectangle . ‫دا‬                           ‫ را‬Rectangle ‫ع‬                   ‫ار از‬                   ‫د وی‬
                                                                 .            ‫ا‬       ‫ا ر‬                ‫رد‬         ‫ود‬            ‫ض‬          ‫لو‬

‫ر‬             ‫ای‬                .        ‫ ا‬x,y,width,height                       ‫ا‬                  ‫ر‬         ‫ دارا‬Rectangle ‫س‬
‫ را اﺥ و‬Rectangle ‫ود‬                           ، getClipBounds ‫د از‬                              ‫، ا‬               ‫دن ا د‬                  ‫ن ی‬        ‫ا‬
     ‫ه‬        ‫را در‬                     ، Rectangle ‫ از‬height ‫ و‬width                             ‫ط‬                ‫دی‬        ‫اج‬             ‫از ا‬
                                                                                             .                      ‫ ذﺥ‬height ‫ و‬width
import java.awt.Graphics;
                      import java.awt.Color;
                      import java.awt.Rectangle;

                      public class FirstApplet extends
                      java.applet.Applet
                      {

                              public void paint(Graphics g)
                              {
                                  int width;
                                  int height;
                                  Rectangle r;

                                  r = g.getClipBounds();
                                  width = r.width - 1;
                                  height = r.height - 1;

                                  g.drawRect(0, 0, width, height);
                                  g.drawLine(0, 0, width, height);
                                  g.drawLine(width, 0, 0, height);
                              }
                      }



‫در‬               ‫رت‬           ‫ه‬    ‫ و‬Rectangle                            ‫ه ﺥ اه‬            ،‫ق‬                          ‫از اﺝ ا‬
‫ ا س‬Rectangle ‫ه و‬                         ،           ‫ا از‬                ‫از‬        .           ‫ار ﺥ اه‬                        ‫ود‬
    ‫ت زی‬              ‫ق،ذ‬                          ‫. در را‬            ‫ﺥ اه‬          ‫دا ر‬    ‫رت ﺥ د ر‬                      ‫دی ﺝ ی‬
                                                                                                               :          ‫ور ا‬
    ‫د‬    ‫ ا‬java.awt.Rectangle ‫از‬                     ‫ ، زم ا‬Rectangle ‫س‬                        ‫د از‬       ‫ا‬        ‫ﺝ‬           •
                                                                                                                    .‫دد‬
‫ و‬int ‫ع‬          ‫( از‬height ‫ و‬width )                   ‫. دو‬          ‫ا‬             ‫ی‬                 ‫ق‬                   ‫• در‬
                                                             .        ‫ ا‬Rectangle ‫( ، از ع‬r)                               ‫ی‬
        ‫"ی‬            ‫د و‬           ‫ان ورود اﺥ‬                   ‫را‬            ‫را‬       ، getClipBounds                        •
‫ را‬Rectangle                  ‫ ، ی‬r=g.getClipBounds : ‫ر‬                        ‫دا . د‬              ‫ را‬Rectangle
                                                       .‫ی‬                      ‫ ذﺥ‬r         ‫و ن را در‬              ‫دا‬
.            ‫ا‬            ‫ر‬             ‫د و دارا‬         Rectangle ‫س‬                       ‫ع‬          ‫ ، از‬r                   •
    ‫د‬    ‫ا‬                     ‫ه ، از‬         ‫از‬     ‫ه ی‬                       ‫رد‬          .(x,y,width,height)
‫م ‪ width‬زی‬                  ‫ار‬        ‫‪،r‬‬             ‫در‬         ‫ی‬               ‫ان‬         ‫‪، r.width‬‬                ‫دد.‬
                     ‫دد.‬                 ‫م ‪ width‬ذﺥ‬                                      ‫در‬        ‫رد‬        ‫ار‬         ‫دد.‬
               ‫دد.‬              ‫د‬        ‫،ا‬      ‫ر‬       ‫ط‬              ‫ی از ‪ width‬و ‪ height‬در ا‬                                  ‫• در‬
‫د‬     ‫‪ width‬و ‪ height‬ا‬                    ‫ه‬          ‫از‬         ‫ا‬               ‫ق‬                   ‫در‬                  ‫ا‬                   ‫زم‬
                           ‫ار داد.‬                           ‫" در اﺥ ر ا‬                          ‫ار 1 - ‪ r.width‬را‬                    ‫د و‬
                    ‫از :‬    ‫ر‬                 ‫رای در ای ز‬                           ‫.‬     ‫د ا‬                 ‫ع‬             ‫ی‬         ‫ﺝ وا دارا‬


                                                                                                         ‫)‪(int‬‬                   ‫ع‬          ‫•‬

                                                                                                    ‫ر )‪(float‬‬                   ‫عا‬          ‫•‬

                                                                                                   ‫)‪(char‬‬                   ‫ع را‬            ‫•‬



     ‫از‬       ‫را ا م داد. در ای را‬                   ‫و‬                      ‫ت‬             ‫ان‬             ‫د‬     ‫ع‬                ‫رو داد ه‬
              ‫دد.‬           ‫د‬        ‫ا‬            ‫بو/ ا‬                     ‫ی ،* ا‬                    ‫،- ا‬              ‫+ ا ﺝ‬
                                                             ‫ده .‬           ‫ن‬           ‫ق را‬         ‫ه‬             ‫د از‬           ‫ا‬             ‫زی‬


                     ‫;01 = ‪float diameter‬‬
                     ‫;‪float radius‬‬
                     ‫;‪float volume‬‬

                     ‫;0.2 / ‪radius = diameter‬‬
                     ‫* ‪volume = 4.0 / 3.0 * 3.14159 * radius * radius‬‬
                     ‫;‪radius‬‬



                                                                                                                            ‫ﺕ ار‬        ‫ه‬        ‫ﺡ‬
‫ت‬             ‫توی‬               ‫م‬        ‫نا‬       ‫ده ، ا‬                ‫م‬       ‫ا‬                                  ‫را‬                  ‫از‬        ‫ی‬
              ‫ی . در ادا‬                 ‫"‬                   ‫" ه‬                                         ‫ه‬          ‫. در‬              ‫ار ا‬
          ‫.‬          ‫ﺥ اه‬                ‫ار‬      ‫ت‬             ‫تو‬                             ‫ر‬          ‫ا از ه‬                         ‫ار‬
                                         ‫دد :‬            ‫ر‬                               ‫زی‬             ‫ﺥ اه‬                     ‫ض‬       ‫ل:‬
. ‫د‬     ‫رت زی ر‬           ‫طا‬   ‫ﺥ‬   ‫ا‬           ، ‫ق‬        ‫رر‬       ‫در ا ا و‬




‫از‬    ‫ی‬       ‫ا‬          ‫ا از ه‬          ‫ط ق ، ای د‬        ‫ﺥ‬   ‫ر‬    ‫از روش ه‬    ‫ی‬
                                        .(           ‫ی‬    ).   ‫اﺝ اء ﺥ اه‬      ‫دی‬



           import java.awt.Graphics;

           public class FirstApplet extends
           java.applet.Applet
           {

                  public void paint(Graphics   g)
                  {
                      int y;
                      y = 10;
                      g.drawLine(10, y, 210,   y);
                      y = y + 25;
                      g.drawLine(10, y, 210,   y);
                      y = y + 25;
                      g.drawLine(10, y, 210,   y);
                      y = y + 25;
                      g.drawLine(10, y, 210,   y);
                      y = y + 25;
                      g.drawLine(10, y, 210,   y);
                      y = y + 25;
                      g.drawLine(10, y, 210,   y);
                      y = y + 25;
‫;)‪g.drawLine(10, y, 210, y‬‬
                                         ‫;52 + ‪y = y‬‬
                                         ‫;)‪g.drawLine(10, y, 210, y‬‬
                                         ‫;52 + ‪y = y‬‬
                                         ‫;)‪g.drawLine(10, y, 210, y‬‬
                                 ‫}‬
                         ‫}‬



     ‫ا .‬          ‫ار‬         ‫ت‬                   ‫دو ﺥ در‬                ‫دد‬           ‫ه‬        ‫ق،‬             ‫ط‬         ‫ﺥ‬          ‫ه‬
    ‫ی‬          ‫ار و‬                      ‫"ی‬               ‫را‬           ‫ار‬          ‫ان دو ﺥ‬          ‫ار‬             ‫ه‬         ‫د از‬           ‫ا‬
        ‫ار )‪ (loop‬ای د‬                                ‫ی‬                ‫ار داد. ی‬     ‫ار‬                            ‫ت را‬           ‫ار‬
                                                                                                                                      ‫دد.‬


                         ‫;‪import java.awt.Graphics‬‬

                         ‫‪public class FirstApplet extends‬‬
                         ‫‪java.applet.Applet‬‬
                         ‫{‬

                                 ‫)‪public void paint(Graphics g‬‬
                                 ‫{‬
                                     ‫;‪int y‬‬
                                     ‫;01 = ‪y‬‬
                                     ‫)012 =< ‪while (y‬‬
                                     ‫{‬
                                         ‫;)‪g.drawLine(10, y, 210, y‬‬
                                         ‫;52 + ‪y = y‬‬
                                     ‫}‬
                                 ‫}‬
                         ‫}‬



                             ‫ا از ٠٠٢‬             ‫ﻝ‬             ‫دارا‬         ‫ه ی‬          ‫ﺥ ا‬      ‫ق،‬                      ‫از اﺝ ا‬
                                                                                                            ‫دی .‬           ‫ﺥ اه‬        ‫، ر‬
‫ار‬                    ‫ار دا‬                ‫دد.‬                 ‫ار در ز ن ﺝ وا‬                      ‫ای د ی‬              ‫رت ‪while‬‬
‫‪ while‬در‬                      ‫ﺝ د در ا ا‬                  ‫ط‬     ‫.‬       ‫ﺥ اه ی‬       ‫، ادا‬         ‫و ٠٠٢‬               ‫وی‬                   ‫‪y‬‬
‫دا"‬                     ‫ﺝ د در‬       ‫رات‬         ‫،د‬                    ‫ط در‬           ‫ر‬        ‫دد ،در‬                  ‫ر‬                    ‫ه‬
               ‫ﺝ د در ا ا‬            ‫ط‬            ‫ر‬            ‫. در‬      ‫د‬          ‫}و{(‬           ‫ر‬           ‫رات‬           ‫ار ) د‬
‫ر‬          ‫د‬      ‫اوﻝ‬                ‫و‬        ‫ار اﺝ اء‬                                       ‫رات‬    ‫،د‬                 ‫‪ ، while‬در‬
                                                                                         ‫.‬      ‫اﺝ اء ﺥ اه‬                     ‫از ا‬
‫از ٠١٢‬                    ‫ار د‬        ‫ن‬            ‫.‬         ‫دل ٠١ ا‬         ‫ار ‪y‬‬         ‫ق در ا ا‬                      ‫در ز ن اﺝ ا‬
    ‫)٠١،٠١٢( ر‬                 ‫)٠١،٠١(‬                       ‫از‬         ‫ار اﺝ اء و ﺥ‬                       ‫ﺝ د در‬         ‫رات‬        ‫، د‬
    ‫اﺝ‬        ‫ط(‬               ‫ر‬      ‫)‬                 ‫ا ا‬        ‫دا‬        ‫و‬                 ‫و‬       ‫ار ‪، y‬‬             ‫. در ادا‬     ‫ﺥ اه‬
‫رات‬           ‫دا" د‬        ‫د و‬                     ‫ن در‬           ‫طه‬             ‫د و‬                   ‫ار ٣ از ٠١٢‬               ‫دد.‬
     ‫از ٠١٢‬                        ‫ار ‪y‬‬                     ‫ق دا‬             ‫ی‬     ‫.‬       ‫ار ، اﺝ اء ﺥ اه‬                       ‫ﺝ د در‬
‫و‬             ‫ار اﺝ اء‬                     ‫دی ،‬                    ‫ار ‪ y‬از ٠١٢‬                     ‫از ای‬       ‫.‬      ‫ار ﺥ اه‬          ‫،‬
                                               ‫.‬        ‫ﺥ اه ی‬           ‫ﺥ‬                 ‫،‬        ‫ر دی‬           ‫م وﺝ د د‬            ‫ﺝ‬
                                ‫د.‬         ‫د‬        ‫ا‬        ‫ار دی‬                     ‫ان از ی‬             ‫د ،‬        ‫ط‬       ‫ا ای د ﺥ‬



                       ‫;‪import java.awt.Graphics‬‬

                       ‫‪public class FirstApplet extends‬‬
                       ‫‪java.applet.Applet‬‬
                       ‫{‬

                                ‫)‪public void paint(Graphics g‬‬
                                ‫{‬
                                    ‫;‪int x, y‬‬
                                    ‫;01 = ‪y‬‬
                                    ‫)012 =< ‪while (y‬‬
                                    ‫{‬
                                        ‫;)‪g.drawLine(10, y, 210, y‬‬
                                        ‫;52 + ‪y = y‬‬
                                    ‫}‬
                                    ‫;01 = ‪x‬‬
                                    ‫)012 =< ‪while (x‬‬
                                    ‫{‬
                                        ‫;)012 ,‪g.drawLine(x, 10, x‬‬
                                        ‫;52 + ‪x = x‬‬
                                    ‫}‬
                                ‫}‬
                       ‫}‬


         ‫د.‬        ‫د‬       ‫ا‬          ‫ار‬                 ‫ه‬           ‫ا ای د‬            ‫رت ‪for‬‬              ‫ان از‬           ‫در ز ن ﺝ وا ،‬
                               ‫ده .‬        ‫ن‬            ‫‪ while‬را‬                        ‫‪ for‬در‬              ‫د از‬      ‫ا‬          ‫زی‬
‫د از ‪For‬‬       ‫ا‬       ‫ﺕ ار‬       ‫ﺡ‬
                   ‫)52 + ‪for (y = 10; y <= 210; y = y‬‬
                       ‫{‬
                         ‫;)‪g.drawLine(10, y, 210, y‬‬
                       ‫}‬
                                   ‫د از ‪While‬‬            ‫ا‬    ‫ﺕ ار‬      ‫ﺡ‬
                    ‫;01 = ‪y‬‬
                       ‫)012 =< ‪while (y‬‬
                       ‫{‬
                         ‫;)‪g.drawLine(10, y, 210, y‬‬
                         ‫;52 + ‪y = y‬‬
                       ‫}‬




‫.‬    ‫ا‬   ‫اوا‬       ‫ت‬    ‫د و دارا ا‬               ‫ل‬       ‫در‬         ‫ی‬              ‫ی ز‬   ‫از‬           ‫ﺝ وا ی‬
    ‫ان‬             ‫ﺝ وا د.‬     ‫ی‬          ‫ز ن‬                       ‫اوﻝ و‬      ‫هف‬            ‫ﻝ‬         ‫در ای‬
‫تﺥ د‬           ‫ا‬         ‫ا‬   ‫ا ﺝ وا‬              ‫ات ارا‬                     ‫ﺝ دﺥ‬         ‫ی‬       ‫از‬       ‫ا‬
                                                                                             ‫ی‬        ‫د‬       ‫ا‬
‫زارع ر‬         : ‫ﺝ‬        –        ‫آ‬    ‫، رﻝ‬       ‫زش ﺝ وا در ١٢ روز – ﻝ راﻝ‬
                                      ‫ري‬       ‫زاد‬     ‫ﺝ : هد‬         –       ‫ت‬    ‫ﺝ وا – ه‬
                             ‫اد‬        ‫ا... ﺝ‬         – ‫ﺝ وا‬     ‫ی‬        ‫م‬       ‫زش م‬
                                       ‫اﻝ‬                  : ‫ﺝ‬       –‫ا‬            ‫ﺝ وا ره‬
                        ‫ی‬    ‫رش‬         : ‫ﺝ‬          – ‫ﺥ ن داد ه و اﻝ ری ه در ﺝ وا‬



Persian Refrence :
www.dev.ir
www.java.schoolnet.ir
www.sarzemine-it.com
www.sohail2d.com/forum
www.paradise19791979.persianblog.com
www.qomcse.com/forum




English Refrence :
Java programming primer.pdf (e-book)
www.cs.umb.edu/~serl/java/ppt/
www.iut-orsay.fr/~fournier/Cork/OOP.pdf
Java farsi

More Related Content

PDF
الحركات الجهادية
PDF
السلفية الجهادية
PDF
التجديد فى تعليم اللغة العربية للكبار
PDF
المثقفون والسلطة العلاقة الملتبسة
PDF
PDF
Long March By Awami Tahreek
PDF
Awami Tahreek - Sindh Long March-Kawish Coverage
PDF
Aryanaye Jaali Kokchapress.Com
الحركات الجهادية
السلفية الجهادية
التجديد فى تعليم اللغة العربية للكبار
المثقفون والسلطة العلاقة الملتبسة
Long March By Awami Tahreek
Awami Tahreek - Sindh Long March-Kawish Coverage
Aryanaye Jaali Kokchapress.Com

What's hot (10)

PDF
Awami Tahreek - Sindh Long March-Awami Awaz Articles
PDF
Awami Tahreek - Sindh Long March-Ibrat Coverage
PDF
Long March By Awami Tahreek
PDF
Ami226
PDF
Ami215
PDF
Calculus2
PDF
Idt magazine 10-2008
PDF
التحول الديمقراطي والقطع مع الديكتاتورية عزالدين مبارك
PDF
Calculus2
PDF
انتخابات المؤتمر الوطني العام
Awami Tahreek - Sindh Long March-Awami Awaz Articles
Awami Tahreek - Sindh Long March-Ibrat Coverage
Long March By Awami Tahreek
Ami226
Ami215
Calculus2
Idt magazine 10-2008
التحول الديمقراطي والقطع مع الديكتاتورية عزالدين مبارك
Calculus2
انتخابات المؤتمر الوطني العام
Ad

Viewers also liked (20)

PPT
Addventure
PDF
Check shavad
PPT
myriadeclecticviews
ODP
El verbo
PDF
H.Y.P.E. 2010 Newsletter
PPT
怪异的Google文化
PDF
Mabani mokhaberat
PPSX
Austraalia meestele
KEY
Key note lathund förhandsvisning
PPTX
Motion deck - Launch48
DOCX
Gifts of the_spirit
PPTX
Fashion powerpoint
PPTX
Jacques Louis David
PPTX
PPTX
Business plan finance
PPT
Elevaktiv formativ bedömning ppt
PPTX
Inspiring Quotes
PPT
Interactive RFID Credit Card
PPT
How Can Web-Based Labor Scheduling Help Your Restaurant
Addventure
Check shavad
myriadeclecticviews
El verbo
H.Y.P.E. 2010 Newsletter
怪异的Google文化
Mabani mokhaberat
Austraalia meestele
Key note lathund förhandsvisning
Motion deck - Launch48
Gifts of the_spirit
Fashion powerpoint
Jacques Louis David
Business plan finance
Elevaktiv formativ bedömning ppt
Inspiring Quotes
Interactive RFID Credit Card
How Can Web-Based Labor Scheduling Help Your Restaurant
Ad

Similar to Java farsi (11)

PDF
Bayaanie Shaffaaf
PDF
Communiqué
PDF
Ami214
PDF
أقتراح 1-تعديل
PDF
أقتراح 1-تعديل
PDF
PDF
مباريات توظيف عن طريق الانتقاء
PDF
الصحة تاج
PDF
Grve25 26 maiodtcomuntm2
PDF
الأكاديمية الجهوية للتربية والتكوين لجهة الجهة الشرقية
Bayaanie Shaffaaf
Communiqué
Ami214
أقتراح 1-تعديل
أقتراح 1-تعديل
مباريات توظيف عن طريق الانتقاء
الصحة تاج
Grve25 26 maiodtcomuntm2
الأكاديمية الجهوية للتربية والتكوين لجهة الجهة الشرقية

More from Ali Azarnia (10)

PDF
PDF
047067220 x 113
PPT
K.chart
PDF
Guide to thesis preparation (ver. 2013)
PDF
10.1.1.150.595
PPT
Rfid presentation in internet
PDF
Advanced computer networks(1)
PDF
Forouzan part1
PDF
Jalase1
PDF
Multimedia communications by fred halsal we learnfree
047067220 x 113
K.chart
Guide to thesis preparation (ver. 2013)
10.1.1.150.595
Rfid presentation in internet
Advanced computer networks(1)
Forouzan part1
Jalase1
Multimedia communications by fred halsal we learnfree

Java farsi

  • 3. ‫س داود د‬ ‫ر‬ ‫:‬ ‫د راه‬ ‫ا‬ ‫ن:‬ ‫د ور‬ ‫ا‬ ‫ﺡ‬ ‫د‬ ‫د‬ ‫ی را‬ ‫زاد‬ ‫را‬
  • 4. ‫‪James Gosling Mike ،Patrick Haughton ،Chris World ،Ed‬‬ ‫و‬ ‫‪Java‬‬ ‫از ٨١‬ ‫و‬ ‫‪ sun‬ی ری‬ ‫ا ار‬ ‫ل ١٩٩١ در‬ ‫‪ Shridon Frank‬در‬ ‫.‬ ‫ط(‬ ‫ز ن در ا ا ‪) Oak‬‬ ‫.ای‬ ‫ن ای د‬ ‫ر‬ ‫اوﻝ‬ ‫رت‬ ‫م داد و‬ ‫اوﻝ‬ ‫ر ٦٩٩١ ای ز ن از‬ ‫١٩٩١‬ ‫ی‬ ‫در‬ ‫.‬ ‫ارا‬ ‫ای‬ ‫ا ای‬ ‫ﺥ‬ ‫در ای ان ( و ی در‬ ‫ا ) اﻝ‬ ‫از ﺝ وا‬ ‫ا ا‬ ‫د ا .‬ ‫ز ن ر‬ ‫، ون‬ ‫،‬ ‫،ﺥ‬ ‫، اﺝ ا ﺥ‬ ‫ی‬ ‫ادف ا‬ ‫ﺝ وا‬ ‫؟‬ ‫ا‬ ‫ای‬ ‫ی وا‬ ‫ر و ... وﻝ‬ ‫را‬ ‫ط‬ ‫ه‬ ‫از‬ ‫ی‬ ‫وﻝ‬ ‫‪ Java‬ا‬ ‫ر‬ ‫از زوه‬ ‫ی‬ ‫:‬ ‫ی‬ ‫رت ن.‬ ‫دﻝ‬ ‫، اﻝ‬ ‫ا‬ ‫ی در‬ ‫‪native compile‬‬ ‫ه‬ ‫ی‬ ‫: در‬ ‫اﺝ ا ﺥ‬ ‫.‬ ‫س‬ ‫ان‬ ‫وت ن‬ ‫ي ن وﻝ‬ ‫ﺥ ر ای ز ن و ﻝ ي ا‬ ‫‪Object Oriented‬‬ ‫ا و‬ ‫ی ن روال‬ ‫ا‬ ‫ی‬ ‫:‬ ‫.‬ ‫‪ Programming‬ای‬ ‫.‬ ‫در‬ ‫ا ا اد را‬ ‫ی‬ ‫.‬ ‫ً ای‬ ‫:ا‬ ‫اي ای ز ن ‪ IDE‬وﺝ د‬ ‫ند‬ ‫از ا‬ ‫،‬ ‫ر ‪IDE‬‬ ‫:ا‬ ‫ر‬ ‫ون را‬ ‫‪، NetBeans ، Eclipse‬‬ ‫ن‬ ‫‪ IDE‬ه‬ ‫د‬ ‫رد ن‬ ‫در‬ ‫ا‬ ‫دارد.‬ ‫وا‬ ‫‪ Text pad ، Web sphere ، Sun studio ، IntelliJ ، JBuilder‬و...‬ ‫در‬ ‫ر‬ ‫ﺥ ر را‬ ‫.‬ ‫ا‬ ‫ً‬ ‫ف‬ ‫،‬ ‫ﺥ ‪ GUI‬ا‬ ‫ر‬ ‫ر از را‬ ‫.‬ ‫ا‬ ‫ا‬ ‫ﺥ ره‬ ‫ی‬ ‫‪ Java‬از‬ ‫ه‬ ‫. وﻝ‬ ‫ر ده ن‬ ‫ی ای ی‬ ‫د."‬ ‫از ا وز ﺥ اه‬ ‫"‪ Java‬دا‬ ‫. وﻝ ای‬ ‫ر‬ ‫ان ه ی‬ ‫ای ﺝ‬ ‫د‬ ‫ﺥ اه‬ ‫ای‬ ‫ی‬ ‫ن،‬ ‫رو‬ ‫ن،‬ ‫ا‬ ‫د‬ ‫ﺥ ر ‪Java‬‬ ‫و‬ ‫در زی‬ ‫؟ از‬ ‫ا‬ ‫ده از‬ ‫ا‬ ‫ا ‪ Java‬را‬ ‫ا‬ ‫از‬ ‫ور ز ن، ‪ Sun‬ﺥ‬ ‫د،‬ ‫‪Java‬‬ ‫ه‬ ‫در‬
  • 5. ‫ل روی اده و ز ی‬ ‫ی‬ ‫ا‬ ‫ل‬ ‫در‬ ‫داد.‬ ‫ز ر‬ ‫اوﻝ‬ ‫در وی ای‬ ‫دن‬ ‫پ‬ ‫دن وی‬ ‫ا‬ ‫ی از ن و ه‬ ‫ه‬ ‫زی د در‬ ‫ه‬ ‫ر‬ ‫ی‬ ‫ات، ‪Platform‬‬ ‫ای‬ ‫د.‬ ‫د.‬ ‫در‬ ‫دان ﺥ‬ ‫وا‬ ‫م وﺝ د ا ن ه‬ ‫،‬ ‫ر‬ ‫اﺝ‬ ‫م وﺝ د‬ ‫وژ‬ ‫م وﺝ د‬ ‫نوی‬ ‫ن ‪ server‬ه‬ ‫م‬ ‫ان‬ ‫،ه‬ ‫ا از‬ ‫ای ان‬ ‫ﺥ رﺝ‬ ‫ه‬ ‫،‬ ‫وژ ه ی‬ ‫ه‬ ‫ا‬ ‫‪ enterprise‬در ای ان )‬ ‫ه‬ ‫ﺥ ره‬ ‫ز ای ز ن و‬ ‫رد د‬ ‫را در‬ ‫ر‬ ‫ﺝ‬ ‫ی‬ ‫ن‬ ‫(‬ ‫د‬ ‫ارا ده .‬ ‫ین‬ ‫ی دا‬ ‫ن ا‬ ‫٥٨٣١‬ ‫دا‬
  • 6. ‫ان ................................................................................‬ ‫ﺝ وا ........................................................................ ٢‬ ‫ری‬ ‫......................................................................... ٢١‬ ‫ه ........................................................... ٣٢‬ ‫ا اع داد ه ،‬ ‫ه .............................................................................. ٩٥‬ ‫٨‬ ‫ﻝ ......................................................................‬ ‫رات‬ ‫س ه ................................................................. ٦٣١‬ ‫ی‬ ‫وراﺙ ، ‪١٧١ .......................................................... Inheritance‬‬ ‫ه .................................................................. ٧٠٢‬ ‫ه و را‬ ‫٣٢‬ ‫زي ا اع ﺥ ن داد ه ....................‬ ‫آ ، د‬ ‫ا اع داد‬ ‫٨٢‬ ‫......................................................................‬ ‫ی ی‬ ‫........................................................................ ٠٩٢‬ ‫ت وی‬ ‫ا‬ ‫................................................................................. ٨١٣‬ ‫.............................................................................. ١٣٣‬
  • 7. Java ‫ﺕ ری‬ : ‫وی ای‬ ‫ن‬ ‫ل ز ن و ر ده‬ java ‫ای د‬ ‫ه‬Application ‫ه و‬Applet ‫ا‬ (portability) Java ( Byte Code) ‫ی‬ Java ‫در‬ ‫ا‬ Java ‫ا‬ ‫ی ه‬ Java ‫ی‬ ‫ز نو‬ ‫ه‬ ‫ی‬ ‫لو ر‬ Verifier (class loader) ‫س‬ ‫ر‬ ‫ه‬ ‫ا‬ ‫ودی ه‬ ‫از‬ .‫ی‬ ‫لز نوآر دهي ن‬ ‫در ای‬
  • 8. ‫‪Java‬‬ ‫ﺕ ری‬ ‫ا د، ﺝ دار ز ن‬ ‫ز نشی‬ ‫ی‬ ‫د ، ز ن ‪++c‬‬ ‫در اواﺥ ده ٠٨ و اوای ده ٠٩‬ ‫و‬ ‫رد‬ ‫ز ن‬ ‫ﺥ‬ ‫ی ن‬ ‫ر‬ ‫. در وا‬ ‫ي‬ ‫ی‬ ‫ه‬ ‫د ا .‬ ‫ا‬ ‫را ﺥ د را‬ ‫ا ای د‬ ‫ا‬ ‫ﺥ د،‬ ‫د از رت ز ن ‪ c‬و ر ی‬ ‫ا‬ ‫د‬ ‫‪ ++c‬ز‬ ‫ر رود .‬ ‫ه‬ ‫از‬ ‫و‬ ‫ل ‪world wide‬‬ ‫ت‬ ‫.‬ ‫ه‬ ‫ه‬ ‫، ا ای‬ ‫وﻝ‬ ‫در‬ ‫دی‬ ‫ا‬ ‫د . ای وا‬ ‫د ا‬ ‫ر‬ ‫‪ web‬و ای‬ ‫.‬ ‫ی‬ ‫ای د ‪java‬‬ ‫م ا اره ی‬ ‫ا ی ای د‬ ‫از ‪ Platform‬د‬ ‫ز ن‬ ‫ه ف اوﻝ از ای د ، ‪ java‬ی‬ ‫را دا‬ ‫ه‬ ‫ل‬ ‫وی ه و‬ ‫ی‬ ‫و‬ ‫اﻝ‬ ‫د در و ی‬ ‫ا ا‬ ‫ای‬ ‫.‬ ‫د‬ ‫ﻝ ا‬ ‫ان‬ ‫و‬ ‫از ‪ cpu‬ه‬ ‫. در وا و ی‬ ‫ا .‬ ‫ای د‬ ‫و‬ ‫ه ی در ی‬ ‫ا ای د‬ ‫++‪ C‬و‪C‬‬ ‫ز نهی‬ ‫د‬ ‫ا‬ ‫م‬ ‫ر‬ ‫د، وﻝ ای‬ ‫ی‬ ‫ع ‪cpu‬‬ ‫رو ه‬ ‫++‪ C‬را‬ ‫ه‬ ‫ان‬ ‫.‬ ‫وز ن‬ ‫ه ی‬ ‫ی‬ ‫و ای د‬ ‫ن ‪ CPU‬ا‬ ‫ی ++ ‪ C‬ا‬ ‫ی‬ ‫، ‪ Gosling‬و‬ ‫ای‬ ‫ا ر‬ ‫.‬ ‫زا‬ ‫رد‬ ‫ه ی‬ ‫و‬ ‫د‬ ‫را‬ ‫ای ی‬ ‫ا ی‬ ‫د‬ ‫وع‬ ‫از ‪ Platform‬را‬ ‫و‬ ‫ز ن‬ ‫رو ی‬ ‫ر او، ر‬ ‫.‬ ‫اﺝ ا‬ ‫ر‬ ‫ه‬ ‫ع ‪ cpu‬و در‬ ‫رو ه‬ ‫را دا‬ ‫ای د‬ ‫ای ز ن،‬ ‫ه ف اوﻝ‬ ‫ان‬ ‫.‬ ‫ای د ‪ java‬ا‬ ‫یً‬ ‫،‬ ‫ر ای‬ ‫ای دﻝ‬ ‫ا‬ ‫د. وﻝ ای ه ف‬ ‫ی ی‬ ‫ﺥ‬ ‫لو ی‬ ‫ا‬ ‫ای ز ن دو ر و‬ ‫د.‬ ‫ح‬ ‫د از ای‬ ‫ا‬ ‫ی‬ ‫و ی ﺥ‬ ‫ز‬ ‫رﺥ‬ ‫ه‬ ‫م‬ ‫. ای ه ف‬ ‫ر‬ ‫ی ی نه‬ ‫رو‬ ‫ا‬ ‫ای ه ف‬ ‫.‬ ‫ا‬ ‫ز‬ ‫ه‬ ‫س ز رﺥ‬ ‫ا‬
  • 9. ‫ان‬ ‫ن ‪world wide web‬‬ ‫ا‬ ‫ل ٤٩٩١ و‬ ‫ان از‬ ‫‪ java‬را‬ ‫ه‬ ‫‪Java‬‬ ‫ای دﻝ‬ ‫.‬ ‫ا وب ا‬ ‫ل‬ ‫ز ن ای‬ ‫‪ Java‬ی‬ ‫ﺝ‬ ‫‪Sun‬‬ ‫د. ه‬ ‫اﺝ ا‬ ‫ه‬ ‫و‬ ‫رو ه‬ ‫ه ی را دا‬ ‫ا ی ای د‬ ‫ای‬ ‫ر دار . در وا‬ ‫ه‬ ‫ر ان‬ ‫و در ‪Web‬‬ ‫دا‬ ‫ﻝ ه‬ ‫در‬ ‫در ای د ی‬ ‫ای‬ ‫ر‬ ‫‪Java‬‬ ‫ا‬ ‫ا‬ ‫وﺝ د دارد‬ ‫ا ای‬ ‫در ای د‬ ‫ا‬ ‫،ه ن‬ ‫ن رو و ا‬ ‫و ی‬ ‫ا ن ‪ Java‬ﺝ ﺥ د را از و ی‬ ‫د. از ای‬ ‫ان ن را‬ ‫را‬ ‫و از ه‬ ‫ل ٦٩٩١ ارا‬ ‫د از‬ ‫ر‬ ‫ف آ د . ‪Java‬‬ ‫ای‬ ‫ی‬ ‫و‬ ‫اﻝ‬ ‫ا ن ن )!(‬ ‫ه‬ ‫دﻝ‬ ‫.‬ ‫ﺥ‬ ‫ز ن‬ ‫ان ی‬ ‫و از ه ن ا ا‬ ‫‪ Java‬را‬ ‫ه‬ ‫ی ی‬ ‫د. وﻝ‬ ‫ای‬ ‫ﺥ ره‬ ‫دارا‬ ‫ز ن‬ ‫ز‬ ‫دﻝ‬ ‫‪Java‬‬ ‫در‬ ‫و‬ ‫وب‬ ‫.ه‬ ‫ً‬ ‫؟‬ ‫وب دا‬ ‫دﻝ‬ ‫و‬ ‫ر د و در و ی اﻝ‬ ‫ه‬ ‫ﻝ‬ ‫ا‬ ‫وﻝ ‪ Java‬را ی ز‬ ‫دا‬ ‫وﻝ‬ ‫ی‬ ‫ز ن‬ ‫د، ‪ Java‬ی‬ ‫وب‬ ‫ا‬ ‫ان‬ ‫ر ورد. در وا‬ ‫.‬ ‫و‬ ‫ﺥ و ا و ی اﻝ‬ ‫دا‬ ‫ا ن ای ز ن‬ ‫.‬ ‫ا‬ ‫ت ﺥ د را از ‪ C‬و++ ‪C‬‬ ‫ﺥ‬ ‫‪Java‬‬ ‫و‬ ‫ی ن‬ ‫ﺝ‬ ‫++ ‪c‬‬ ‫ای‬ ‫ر ‪c‬وﺥ‬ ‫د‬ ‫د از‬ ‫ا‬ ‫از ﺥ اص ای دو ز ن را‬ ‫، ‪Java‬‬ ‫ه‬ ‫ای‬ ‫و‬ ‫د.‬ ‫‪C++/ C‬‬ ‫.‬ ‫د ا‬ ‫د‬ ‫ا‬ ‫ن ن دو‬ ‫ر‬ ‫ر‬ ‫++ ‪C‬‬ ‫ای‬ ‫‪ Java‬را‬ ‫ا‬ ‫‪ Java‬و++ ‪C‬‬ ‫ه‬ ‫ه‬ ‫ﺙ از ++‪C‬‬ ‫‪Java‬‬ ‫ا‬ ‫++‪ C‬دارد. در‬ ‫و ی‬ ‫. ‪Java‬‬ ‫ا‬ ‫را‬ ‫وﻝ ای‬ ‫ز ر‬ ‫ل ‪ Java‬ه‬ ‫ا‬ ‫.‬ ‫از ‪ ++c‬دا‬ ‫دی‬ ‫ی ن را ی‬ ‫. وﻝ‬ ‫ا‬ ‫س‬ ‫‪ Java‬ا‬ ‫، ﺥ د را‬ ‫‪++c‬‬ ‫ی‬ ‫ی‬ ‫++‪ C‬ارد. وﻝ ا‬ ‫ا‬ ‫ا ++‪C‬‬ ‫ی‬ ‫ﺝی‬ ‫ان ی‬ ‫‪java‬‬ ‫ای دو( ه‬ ‫ه‬ ‫ه ه‬ ‫)‬ ‫ت دی‬ ‫ی‬ ‫اي‬ ‫ت ﺥ ص و ++‪C‬‬ ‫ي‬ ‫ی‬ ‫اي‬ ‫. ‪Java‬‬ ‫ا‬ ‫.‬ ‫د‬ ‫ر ه ا‬ ‫در‬ ‫ل ه‬ ‫ز ن ه،‬ ‫دو ای‬ ‫. ه‬ ‫ا‬ ‫ا‬ ‫:‬ ‫ی‬ ‫دو دﻝ‬ ‫ی‬ ‫ز نه‬ ‫ر‬ ‫.‬ ‫ا‬ ‫ات ﺝ د‬ ‫ز ر‬ ‫١- ا‬
  • 10. ‫)‪.(Art of Programming‬‬ ‫ی‬ ‫دن ه‬ ‫٢- ا‬ ‫دﻝ‬ ‫(ی‬ ‫ات ﺝ د‬ ‫) ز ر‬ ‫از ‪ Platform‬در ای‬ ‫ه‬ ‫ز‬ ‫در روش‬ ‫د‬ ‫ا‬ ‫‪Java‬‬ ‫د. ه‬ ‫ب‬ ‫‪Java‬‬ ‫در‬ ‫.‬ ‫ا‬ ‫ی ﺥ در‬ ‫ای در ‪Java‬‬ ‫ل‬ ‫ان‬ ‫:‬ ‫ا‬ ‫ای د‬ ‫ی‬ ‫‪Applet‬ه و ‪Application‬ه‬ ‫ر د .‬ ‫ه‬ ‫: ‪ Applet‬ه و‬ ‫عه‬ ‫دو‬ ‫‪Java‬‬ ‫ای د‬ ‫ه‬ ‫ن اﺝ ا‬ ‫و‬ ‫رو ی‬ ‫هی ه‬ ‫ر د ،‬ ‫ه‬ ‫ی ز ن‬ ‫ای د‬ ‫ه‬ ‫‪،Java‬‬ ‫ر د ای د‬ ‫ه‬ ‫.‬ ‫.ا‬ ‫ه ا‬ ‫ز ن ه در ای د ا‬ ‫دی‬ ‫‪Java‬‬ ‫. وت‬ ‫‪ C‬و++‪ C‬ه‬ ‫ه‬ ‫د.‬ ‫ن ای د‬ ‫وب‬ ‫ور‬ ‫رو‬ ‫و اﺝ ا‬ ‫ی ای‬ ‫ا ار ل از‬ ‫ا ا‬ ‫ه و...(‬ ‫،‬ ‫ی‬ ‫،‬ ‫ه‬ ‫) ی‬ ‫ه در ای‬ ‫ی‬ ‫ی‬ ‫ا‬ ‫ی‬ ‫د‬ ‫ان ای‬ ‫ی ه را‬ ‫ای‬ ‫وت ا‬ ‫د. وﻝ‬ ‫و اﺝ ا‬ ‫‪download‬‬ ‫ه،‬ ‫دن ا‬ ‫ﺝﻝ‬ ‫ه‬ ‫د.‬ ‫ی‬ ‫ی‬ ‫ی‬ ‫و‬ ‫ا‬ ‫ه‬ ‫ی‬ ‫ا‬ ‫دا‬ ‫ا‬ ‫ر د دی‬ ‫ه‬ ‫را در‬ ‫دو‬ ‫ا‬ ‫‪Sun‬‬ ‫ا‬ ‫د .‬ ‫ه‬ ‫ا‬ ‫ا‬ ‫در‬ ‫ت‬ ‫دن‬ ‫و‬ ‫.ا‬ ‫:‬ ‫ا‬ ‫.‬ ‫رو و ه‬ ‫ری‬ ‫ی‬ ‫، در وا‬ ‫د را از ای‬ ‫ی‬ ‫ه ز ن‬ ‫ی زی د‬ ‫از ‪ Java‬ر ان‬ ‫؟‬ ‫ای د‬ ‫ا‬ ‫ﺥ‬ ‫ی ای‬ ‫وی و‬ ‫ا‬ ‫داد . ﺥ‬ ‫ن‬ ‫از ن‬ ‫ات‬ ‫ﺥ‬ ‫ه از ای‬ ‫ت‬ ‫ا‬ ‫هی‬ ‫.وی‬ ‫در‬ ‫ا‬ ‫ﺥ‬ ‫ﺝ‬ ‫ا‬ ‫ه‬ ‫ور‬ ‫از ی‬ ‫. وﻝ ا‬ ‫را از رو‬ ‫ارزش و ﺥ‬ ‫د و‬ ‫‪download‬‬ ‫‪ Java‬را از ای‬ ‫ه‬ ‫نا‬ ‫ا‬ ‫ا‬ ‫.‬ ‫د‬ ‫‪ Java‬ا‬ ‫اﺝ ای ‪ Java‬و‬ ‫ه‬ ‫دن ا‬ ‫ود‬ ‫ی‬ ‫را از‬ ‫. ‪ Java‬ای ا‬ ‫اﺝ ا‬
  • 11. ‫ا‬ ‫لی‬ ‫ا‬ ‫.‬ ‫، ای د‬ ‫دی‬ ‫ا د‬ ‫ا‬ ‫اﺝ ز از ی‬ ‫از‬ ‫ان ی‬ ‫‪ Java‬را‬ ‫ن را ارد. ای ﺥ‬ ‫رو‬ ‫د از ی ه‬ ‫اﺝ ز ا‬ ‫.‬ ‫ن دا‬ ‫ط‬ ‫ی‬ ‫)‪(portability‬‬ ‫ﺡ‬ ‫) ‪Mac Os ،WinX‬‬ ‫ه‬ ‫ه‬ ‫دا‬ ‫ر‬ ‫ه ن‬ ‫ﺥ ص ن ه وﺝ د دار‬ ‫ه‬ ‫هی‬ ‫،‪Solaris ،UNIX‬و...( و ی‬ ‫ه اﺝ ا‬ ‫ای‬ ‫رو‬ ‫اه‬ ‫.ی‬ ‫ای‬ ‫ا‬ ‫در‬ ‫ا ای د ا‬ ‫‪Java‬‬ ‫. را‬ ‫اﺝ ا ا‬ ‫و‬ ‫ی‬ ‫ز‬ ‫د،‬ ‫.‬ ‫را‬ ‫، ای‬ ‫د ا‬ ‫ﺥ د ای د‬ ‫ه‬ ‫‪Java‬‬ ‫)‪( Byte Code‬‬ ‫ی‬ ‫ی‬ ‫ﺥ وﺝ ای د‬ ‫. در وا‬ ‫‪ Java‬ا‬ ‫ی‬ ‫ان‬ ‫دو‬ ‫رات‬ ‫د‬ ‫ی‬ ‫. ی‬ ‫ا‬ ‫ی‬ ‫اﺝ ا )‪(executable‬‬ ‫‪ ، Java‬ی‬ ‫ز ‪ Java‬ی ‪Java Virtual‬‬ ‫ل اﺝ ا ‪) Java‬‬ ‫در‬ ‫ا‬ ‫در وا‬ ‫ی.‬ ‫ب‬ ‫ی‬ ‫ا‬ ‫. ‪ JVM‬ی‬ ‫اﺝ ا ا‬ ‫‪(Machine‬‬ ‫ی‬ ‫ی‬ ‫را‬ ‫ی‬ ‫ﺥ وﺝ ای‬ ‫د و‬ ‫ی‬ ‫‪Java‬‬ ‫ی‬ ‫را‬ ‫ا ا‬ ‫ی‬ ‫دا ، ﺥ وﺝ‬ ‫ر‬ ‫.ه ن‬ ‫‪ JVM‬اﺝ ا‬ ‫،‬ ‫).‪ (class‬ا‬ ‫ی‬ ‫و‬ ‫د‬ ‫ی ا‬ ‫ی‬ ‫ا وز ، از‬ ‫ز نه‬ ‫. در وا ا‬ ‫اﺝ ا ا‬ ‫ی‬ ‫د از ‪JVM‬‬ ‫د. وﻝ ا‬ ‫ی ه‬ ‫ان ر ی‬ ‫ن را‬ ‫و دﻝ‬ ‫از‬ ‫ان‬ ‫،‬ ‫ای د ی‬ ‫ای دﻝ‬ ‫.‬ ‫ی‬ ‫‪ Java‬د‬ ‫دو ه ف‬ ‫ان‬ ‫د‬ ‫ز‬ ‫د.‬ ‫‪ JVM‬اﺝ ا‬ ‫و‬ ‫از د‬ ‫و در ه‬ ‫رو ه‬ ‫را‬ ‫وﺝ د‬ ‫ﺝ‬ ‫ای‬ ‫ﺥ د داری . ﻝ ً‬ ‫رو‬ ‫‪JVM‬‬ ‫نه ی‬ ‫، وﻝ ه‬ ‫ق‬ ‫دی‬ ‫ی‬ ‫ت ‪ JVM‬از ی‬ ‫ﺝ‬ ‫ی‬ ‫‪Java‬‬ ‫د‬ ‫زم‬ ‫.ا‬ ‫ن را ای د‬ ‫ی‬ ‫ی‬
  • 12. ‫ای‬ ‫و‬ ‫ه‬ ‫و‬ ‫ا ‪ cpu‬ه‬ ‫ی‬ ‫د، ی‬ ‫اﺝ ا‬ ‫ان‬ ‫ض‬ ‫. در‬ ‫ﺥ‬ ‫ای را‬ ‫ی‬ ‫،ﺝا‬ ‫ه‬ ‫.‬ ‫ی‬ ‫دن د‬ ‫ا‬ ‫ﺥ ب‬ ‫را‬ ‫ی‬ ‫وت،‬ ‫ه‬ ‫ن در‬ ‫ی‬ ‫ی‬ ‫‪،Java‬‬ ‫. زی ا اﺝ ا ه‬ ‫ا‬ ‫رﺥ‬ ‫در‬ ‫ا‬ ‫د‬ ‫ان اد‬ ‫ه‬ ‫تو‬ ‫ا‬ ‫ز‬ ‫د‬ ‫ا ﺝ‬ ‫و‬ ‫ل ‪ JVM‬ا‬ ‫و‬ ‫زی‬ ‫د.‬ ‫را‬ ‫ز‬ ‫ا‬ ‫ان ی‬ ‫( را‬ ‫‪ ) Java‬ی‬ ‫ی‬ ‫ای د‬ ‫ﻝ‬ ‫.‬ ‫ر " ‪"run any where ,Write Once‬‬ ‫. ی‬ ‫‪ Java‬دا‬ ‫ی‬ ‫و‬ ‫رو ه‬ ‫‪ Java‬را‬ ‫ا‬ ‫ی ‪Java‬‬ ‫‪ JVM‬و‬ ‫‪ JVM‬اﺝ ا‬ ‫و‬ ‫رو ه‬ ‫( را‬ ‫ن) ی‬ ‫. و ﺥ وﺝ‬ ‫ی‬ ‫‪ Java‬ن را‬ ‫.‬ ‫در ‪Java‬‬ ‫ا‬ ‫.‬ ‫نا‬ ‫د، ا‬ ‫ا‬ ‫ش‬ ‫ز ن ‪ Java‬در ای‬ ‫ی د ی‬ ‫از‬ ‫ی‬ ‫ار ﺥ‬ ‫توا‬ ‫ا‬ ‫رد‬ ‫. اوﻝ‬ ‫دی‬ ‫از‬ ‫ا‬ ‫ﻝ ا‬ ‫ه‬ ‫ی ددا‬ ‫د‬ ‫ی ا دﺥ‬ ‫و‬ ‫اﻝ‬ ‫ر‬ ‫.‬ ‫،‬ ‫ور‬ ‫ﺝ‬ ‫د ی‬ ‫ت را‬ ‫ای ا‬ ‫ون اﺝ ز‬ ‫ی‬ ‫ا‬ ‫وف‬ ‫ه‬ ‫ا‬ ‫دی‬ ‫. از دی‬ ‫د‬ ‫ﺥ دا‬ ‫ا‬ ‫ا‬ ‫،‬ ‫ت ی ا‬ ‫ا‬ ‫ه ری‬ ‫مه(ا ر‬ ‫وی وس ه و‬ ‫ﺥ اب ر )‬ ‫و ﺥ اه دا‬ ‫و ر دا‬ ‫ای وی وس ه‬ ‫ً‬ ‫.‬ ‫را د ر‬ ‫وی‬ ‫ورود ن دا‬ ‫دن‬ ‫ا‬ ‫در‬ ‫د‬ ‫وی وس وارد‬ ‫ی‬ ‫وا‬ ‫ر‬ ‫ی‬ ‫ا‬ ‫.ه‬ ‫ود‬ ‫ن اﺝ ز ورود داد‬ ‫ا را‬ ‫و‬ ‫ن‬ ‫ً از ای ﻝ‬ ‫د.‬ ‫در ی ه‬ ‫ﺥ ا‬ ‫ﺥ ا‬ ‫از ی‬ ‫ر‬ ‫ه‬ ‫زم ا‬ ‫ای‬ ‫د. ذ‬ ‫اه‬ ‫د‬ ‫نا‬ ‫ز‬ ‫د.‬ ‫اه‬ ‫ا‬ ‫را ر ی‬ ‫لا‬ ‫ا‬ ‫ﺥ د‬ ‫د‬ ‫ا‬ ‫ه‬ ‫و ی‬ ‫ن را اﺝ ا‬ ‫ر‬ ‫در ای‬ ‫ی اﺝ ای‬ ‫ه‬ ‫ر ا‬
  • 13. ‫ی‬ ‫ﺥ د‬ ‫ذ‬ ‫ا‬ ‫راه‬ ‫اﺝ ای را ز‬ ‫دارا‬ ‫و‬ ‫اﻝ‬ ‫د.‬ ‫ن را‬ ‫ا ﺝ‬ ‫ا‬ ‫ه‬ ‫‪Java‬‬ ‫ا‬ ‫ی ه‬ ‫:‬ ‫ا‬ ‫ر‬ ‫‪ Java‬از‬ ‫ا‬ ‫ن‬ ‫ی‬ ‫و‬ ‫ا‬ ‫ا‬ ‫ا‬ ‫ز ن‪Java‬‬ ‫١-‬ ‫ارد.‬ ‫ن را زی‬ ‫ا‬ ‫، ا‬ ‫ای د‬ ‫را زی‬ ‫ا‬ ‫ا‬ ‫له‬ ‫رت و‬ ‫اﺝ ا‬ ‫هی‬ ‫٢- ی‬ ‫ای د‬ ‫ﺥ اب ی‬ ‫ی‬ ‫ه ی را‬ ‫ی‬ ‫ی ای ا‬ ‫ار ه ف ای‬ ‫ار ده .‬ ‫ا را‬ ‫ه د‬ ‫ودی‬ ‫سه‬ ‫س ه )‪(class loader‬‬ ‫٣- ر‬ ‫.‬ ‫ا‬ ‫ا‬ ‫صا‬ ‫٤- ‪(JAPI (Java Application Programming Interface‬‬ ‫از‬ ‫دارد‬ ‫ا‬ ‫ی ﺥ‬ ‫د. ای‬ ‫را‬ ‫ﺥ اب ر ‪ applet‬ه در‬ ‫ﺝ‬ ‫د.‬ ‫ی دی‬ ‫ی ‪Java‬‬ ‫ز نو‬ ‫،ه‬ ‫ا ءه‬ ‫لد‬ ‫ا‬ ‫دارا ا‬ ‫ن‬ ‫ز ن ‪ c‬و ز ن هی‬ ‫ای روش ه‬ ‫ء( ه‬ ‫از ا‬ ‫ا ء )ی‬ ‫دن د‬ ‫ا ﺝ‬ ‫ی‬ ‫دارا رو‬ ‫داری :‬ ‫ا‬ ‫د. در ای ز ن ه دو‬ ‫م‬ ‫ه ا‬ ‫د از ا ر‬ ‫ا‬ ‫ً‬ ‫.‬ ‫ظ‬ ‫از ﺥ رج‬ ‫ا ﺥ د را از د‬ ‫١- ه‬ ‫را‬ ‫ا‬ ‫ا‬ ‫ا دارا ‪ Bug‬ه ی‬ ‫،‬ ‫ه‬ ‫ز ن دارا ا ر‬ ‫٢- ی‬ ‫دن‬ ‫ل‬ ‫و‬ ‫ی‬ ‫ه از‬ ‫لا ر‬ ‫دا‬ ‫را‬ ‫ا ازد. ‪ Java‬ای‬ ‫ﺥ‬ ‫ا ء وﺝ د دار ، وﻝ‬ ‫ا د‬ ‫ه‬ ‫. ه ز ه ای ا ر‬ ‫ف‬ ‫‪JVM‬‬ ‫ن‬ ‫رای ه در ‪Java‬‬ ‫ا‬ ‫ا‬ ‫.ه‬ ‫ل‬ ‫رت ‪ JVM‬د و‬ ‫ً‬
  • 14. ‫ر‬ ‫ود‬ ‫د و‬ ‫ًآ ل‬ ‫را‬ ‫،‬ ‫ن‬ ‫رای ه را‬ ‫ر‬ ‫داری ،‬ ‫.‬ ‫ا‬ ‫و‬ ‫را ر‬ ‫ه‬ ‫ی‬ ‫لو ر‬ ‫ﺥ د‬ ‫ا‬ ‫داد و ن را‬ ‫‪ Java‬را‬ ‫ی‬ ‫دﺥ ا ر‬ ‫ی‬ ‫ا‬ ‫‪Java (Java Runtime‬‬ ‫ل اﺝ ا‬ ‫در‬ ‫،‬ ‫ی‬ ‫ه‬ ‫از اﺝ ا‬ ‫؟‬ ‫.‬ ‫ه‬ ‫ا‬ ‫ا س ا‬ ‫د‬ ‫د و‬ ‫را ر‬ ‫ً‬ ‫‪(Environment‬‬ ‫د‬ ‫ودی ه ، ا‬ ‫ه،د‬ ‫ا ر‬ ‫ارد‬ ‫ا‬ ‫ر‬ ‫ای‬ ‫نه‬ ‫ر‬ ‫ه‬ ‫اﺥ ا‬ ‫(،‬ ‫ر‬ ‫ی ه‬ ‫ا‬ ‫ء)‬ ‫ز از ا‬ ‫و‬ ‫ه در ‪،JRE‬‬ ‫ی‬ ‫ر‬ ‫.‬ ‫ن‬ ‫ر‬ ‫زی‬ ‫دی‬ ‫ی‬ ‫وا‬ ‫د.‬ ‫‪ Verifier‬ا م‬ ‫‪Verifier‬‬ ‫م ‪Verifier‬‬ ‫از ‪JRE‬‬ ‫ی‬ ‫،‬ ‫را‬ ‫ارد ا‬ ‫ا ای‬ ‫ه‬ ‫ی‬ ‫رد‬ ‫ن‬ ‫اﺝ ای‬ ‫ا‬ ‫و‬ ‫ر‬ ‫ای‬ ‫ه‬ ‫. ی‬ ‫ر‬ ‫ای ای‬ ‫.‬ ‫در‬ ‫ی‬ ‫نه و‬ ‫ه و ر‬ ‫ا اع را‬ ‫ار‬ ‫ر‬ ‫ﻝ را‬ ‫ه‬ ‫ی‬ ‫اﺝ ز ورود‬ ‫ه دا‬ ‫ی‬ ‫ن ورود‬ ‫را ی‬ ‫نا‬ ‫ز‬ ‫د‬ ‫در‬ ‫وا‬ ‫در ‪ Java‬ا‬ ‫ا‬ ‫ار‬ ‫ا‬ ‫ده . ‪Verifier‬‬ ‫‪ JVM‬ﺥ د را از‬ ‫ه‬ ‫ا ازد. دا‬ ‫ﺥ‬ ‫را‬ ‫د، ا‬ ‫ه م‬ ‫ا‬ ‫ای‬ ‫.‬ ‫ن‬ ‫نا‬ ‫ا‬ ‫ا‬ ‫د ای ،‬ ‫‪ Sun‬دری‬ ‫ان ‪Virtual Machine‬‬ ‫م ا ار‬ ‫ی‬ ‫د و‬ ‫ً‬ ‫‪،Java‬‬ ‫،‬ ‫ر‬ ‫ه از ای‬ ‫ی‬ ‫.ه‬ ‫‪Sun‬‬ ‫ل‬ ‫،‬ ‫، از‬ ‫ر‬ ‫ن را‬ ‫ه‬ ‫،‬ ‫ی‬ ‫ای‬ ‫ا‬ ‫داد ه را‬ ‫ر‬ ‫،‬ ‫د‬ ‫ا‬ ‫در‬ ‫نه و ی‬ ‫ه، ر‬ ‫را‬ ‫زد‬ ‫رت‬ ‫ء ،‬ ‫ا‬ ‫ه‬ ‫(و‬ ‫ا ر‬ ‫ً از ‪int‬‬ ‫)‬ ‫ی‬
  • 15. ‫.‬ ‫ن را اﺝ ا‬ ‫از ی‬ ‫ا‬ ‫، ون‬ ‫ا از ای ﻝ‬ ‫ای‬ ‫ارد.‬ ‫س )‪(class loader‬‬ ‫ر‬ ‫‪load‬‬ ‫در‬ ‫ی‬ ‫ی‬ ‫ی‬ ‫.و‬ ‫ا‬ ‫نا‬ ‫از‬ ‫دی‬ ‫س،‬ ‫ر‬ ‫د:‬ ‫وارد‬ ‫ا‬ ‫ود‬ ‫د، از‬ ‫١-‬ ‫رد‬ ‫از ‪firewall‬‬ ‫٢-‬ ‫٣- ای‬ ‫ان ی‬ ‫. زی ا‬ ‫دا‬ ‫وت دی‬ ‫ه‬ ‫ا‬ ‫ﺝ‬ ‫ن ارا‬ ‫د‬ ‫ا‬ ‫ﺝ‬ ‫د و‬ ‫ا‬ ‫ﺥ د را‬ ‫ر‬ ‫ی ، ای اﺝ ز را داری‬ ‫. ر‬ ‫ی‬ ‫ﺥ د‬ ‫ور‬ ‫ا ‪ JRE‬ی‬ ‫را‬ ‫دی‬ ‫ه‬ ‫ان ر ،‬ ‫.ی‬ ‫ان‬ ‫ﺥ د را‬ ‫ده‬ ‫، اﺝ ز‬ ‫وارد‬ ‫از‬ ‫س‬ ‫ی‬ ‫ه‬ ‫/ ﺥ وﺝ‬ ‫ورود‬ ‫ی ه‬ ‫ل داد ه‬ ‫ان‬ ‫.‬ ‫ی‬ ‫ﺝی‬ ‫از‬ ‫از‬ ‫ای‬ ‫ا .‬ ‫ی‬ ‫سه‬ ‫ان‬ ‫،‬ ‫ر‬ ‫د، اﺝ ز‬ ‫وارد‬ ‫از‬ ‫از‬ ‫ای ه‬ ‫.‬ ‫وارد‬ ‫ا‬ ‫‪public‬‬ ‫ه‬ ‫ود ﺥ ص،‬ ‫ی‬ ‫سه‬ ‫ن‬ ‫و‬ ‫را ارد.‬ ‫ی ه‬ ‫از‬ ‫ود ا‬ ‫از‬ ‫س هی‬ ‫دار .‬ ‫د‬ ‫ود دی‬ ‫سه‬ ‫.ه‬ ‫را‬ ‫ورود /ﺥ وﺝ‬ ‫ی ه‬ ‫ه‬ ‫ا‬ ‫،‬ ‫ر‬ ‫ار‬ ‫)‪ (Package‬ﺝ ا‬ ‫د، در ی‬ ‫ر ار‬ ‫از رو‬ ‫ه ‪Applet‬‬ ‫.‬ ‫از ی ی‬ ‫ه‬ ‫ا‬ ‫د. ی‬ ‫ه‬ ‫اپ‬ ‫ودی ه‬ ‫از‬ ‫ا‬ ‫ودی ه‬ ‫ﺥ ف دی‬ ‫ارد.‬ ‫د‬ ‫ه درس دﻝ اه در‬ ‫١- ا‬ ‫و‬ ‫از ﺥ اص ز ن ‪ Java‬ا‬ ‫ی‬ ‫ودی‬ ‫، ای‬ ‫ل‬ ‫ا‬ ‫ور‬ ‫د.‬ ‫‪ verifier‬ر‬
  • 16. ‫د‬ ‫ن اﺝ ا‬ ‫رو‬ ‫ی ه‬ ‫ﻝ‬ ‫ه در ه‬ ‫٢- ا‬ ‫ه‬ ‫. ی‬ ‫ی‬ ‫ن‬ ‫رو‬ ‫ی‬ ‫ا‬ ‫را‬ ‫از‬ ‫ی‬ ‫ه‬ ‫ا‬ ‫ار .‬ ‫وﺝ د دارد ی ﺥ ی ری‬ ‫ی ی‬ ‫ا‬ ‫ای‬ ‫.‬ ‫رد ی‬ ‫در‬ ‫ا‬ ‫.‬ ‫ات ن را‬ ‫ﺥ ی‬ ‫ی‬ ‫را‬ ‫ه‬ ‫اﺥ ا‬ ‫ی‬ ‫را ر ار‬ ‫ه‬ ‫ا‬ ‫ه‬ ‫٣- ا‬ ‫.‬ ‫ت در‬ ‫ا‬ ‫د‬ ‫ا ا‬ ‫از ‪system.getProperty‬‬ ‫ار‬ ‫ه اﺝ ز‬ ‫٤- ا‬ ‫از ای‬ ‫ا‬ ‫‪ username‬ی ‪.directory home‬‬ ‫او دری‬ ‫ی‬ ‫رد ر‬ ‫د.‬ ‫لا‬ ‫‪ Java‬در‬ ‫ن‬ ‫ا‬ ‫د‬ ‫ا‬ ‫را ار .‬ ‫ت ا‬ ‫ی‬ ‫ه اﺝ ز‬ ‫٥- ا‬ ‫ﺝ ء‬ ‫‪ Thread‬ی ‪ Thread group‬را‬ ‫ه‬ ‫اﺝ ز ای د ی‬ ‫،ا‬ ‫٦- از ‪١ ١ Java‬‬ ‫، ارد.‬ ‫‪ Thread Group‬ﺥ د ن ا‬ ‫ام از ا اع ‪،Security Manager ،Class Loader‬‬ ‫ه‬ ‫ی‬ ‫ه اﺝ ز‬ ‫٧- ا‬ ‫‪ SocketImplFactory ،ContentHandlerFactory‬ی‬ ‫.‬ ‫د‬ ‫ا‬ ‫ﺝ د ا‬ ‫ی‬ ‫و ی از‬ ‫ار‬ ‫‪URLStreamHandlerFactory‬را‬ ‫ای د‬ ‫ن ‪download‬‬ ‫از رو‬ ‫ار ط‬ ‫ا ی‬ ‫٨- ا‬ ‫.‬ ‫.‬ ‫ش‬ ‫از ٤٢٠١‬ ‫ی‬ ‫ر‬ ‫ا‬ ‫٩- ا‬ ‫از ن‬ ‫از‬ ‫ا ار‬ ‫،‬ ‫ش‬ ‫رت‬ ‫ی‬ ‫اه‬ ‫ا‬ ‫٠١- ا‬ ‫.‬ ‫‪download‬‬
  • 17. ‫:‬ ‫وی ای‬ ‫د آ دن ن اي اﺝ ا‬ ‫د و‬ ‫ی‬ ‫ا‬ ‫ی‬ ‫آ‬ ‫) ‪( Virtual Java Machine‬‬ ‫اﺝ اي ی ا‬ ‫اﺝ اي ی ا‬ ‫) ‪( Grammatical Error‬‬ ‫ا‬ ‫ﺥ‬ ‫ل ) ‪( Bug‬‬ ‫ا‬ ‫ت ) ‪( Command‬‬ ‫مﺥ‬ ‫ی ه‬ ‫ی‬ ‫.‬ ‫ا‬ ‫آ‬ ‫و‬ ‫ه ا ‪ ، CD‬م ا ار‬ ‫*‬
  • 18. ‫د‬ ‫را‬ ‫م ا ازي ‪ j2sdk-1_3_1_01-win‬آ‬ ‫ه ي ﺝ وا‬ ‫اﺝ اي‬ ‫ﺝ‬ ‫آ .‬ ‫دﻝ ا‬ ‫م ا ار ه در‬ ‫ی‬ ‫را‬ ‫وی وز‬ ‫روي‬ ‫ی ه ي ‪ java‬و ‪ javac‬در‬ ‫ﺥ اي آ‬ ‫ی‬ ‫از ا م‬ ‫د.‬ ‫روال زی‬ ‫آ .‬ ‫ب‬ ‫آ د و ‪ Properties‬را ا‬ ‫را‬ ‫روي ‪ My Computer‬آ‬ ‫١–‬ ‫آ .‬ ‫روي ‪ Environment Variables‬آ‬ ‫و‬ ‫‪ Advanced‬ر‬ ‫٢-‬ ‫بآ .‬ ‫‪ New‬را ا‬ ‫‪ System Variables‬دآ‬ ‫ق در‬ ‫٣ – در‬
  • 19. ‫آ .‬ ‫ی‬ ‫ی ه ي ‪ java‬و ‪ javac‬در ن‬ ‫يآ‬ ‫ی‬ ‫٤ – در ای‬ ‫اي م‬ ‫د.‬ ‫ن‬ ‫زی‬ ‫رآ‬ ‫ی‬ ‫.‬ ‫ﺥ ‪bin‬‬ ‫ی ه در‬ ‫ای‬ ‫بآ .‬ ‫را ا‬ ‫ه‬ ‫ا‬ ‫ه را ‪ ok‬آ .‬ ‫د.‬ ‫ا‬ ‫ﻝ‬ ‫از ‪ ok‬آ دن ، ‪ Variable‬ق‬ ‫.‬ ‫ا مر‬ ‫در ای‬ ‫ی.‬ ‫اﺝ اي ی‬ ‫ل‬ ‫ن‬ ‫آ‬ ‫اي ا‬ ‫ط‬ ‫ت زی‬ ‫آ‬ ‫ﺝ دا‬ ‫ای‬ ‫ی‬ ‫از ن‬ ‫و‬ ‫روش‬ ‫،‬ ‫آ‬ ‫د‬ ‫يا‬ ‫ﺝ واي دی‬ ‫از‬ ‫آ د ای .‬ ‫را‬ ‫ات‬ ‫را در‬ ‫ت‬ ‫د. ﻝ ا ، ا‬ ‫وت ﺥ اه‬ ‫ت‬ ‫وا‬ ‫اﺝ اي‬ ‫ی .‬ ‫ه‬ ‫ی ﺥ د‬ ‫آ‬ ‫د آ دن ن اي ا ا‬ ‫د و‬ ‫ی‬ ‫ﺵ‬ ‫آ .‬ ‫زی را‬ ‫زي ی‬ ‫د‬ ‫اي‬ ‫‪Start > Programs > Accessories > Notepad‬‬ ‫اي آ‬ ‫هي‬ ‫ا س‬ ‫ﺥ ای و‬ ‫‪ notepad‬را ز آ .‬ ‫.‬ ‫ی‬ ‫اي را‬ ‫دادی ،‬ ‫ب آ د ای :‬ ‫د را ا‬ ‫اي‬ ‫در ای‬ ‫{ ‪class Example‬‬ ‫{) ][ ‪public static void main ( String args‬‬
  • 20. ‫;)"‪System.out.println("This is First Program with JAVA Language‬‬ ‫}‬ ‫}‬ ‫ی .‬ ‫‪ .java‬ذﺥ‬ ‫را‬ ‫ی ‪File > Save as‬‬ ‫از‬ ‫از‬ ‫:‬ ‫د.‬ ‫‪ Example‬ﺥ اه‬ ‫م‬ ‫در ای‬ ‫.)‬ ‫م ‪class‬‬ ‫ی ه‬ ‫١–ا‬ ‫(‬ ‫ی .‬ ‫ﻝ ر ‪ bin‬ذﺥ‬ ‫ی ه ي ‪ java‬و ‪ javac‬ی‬ ‫در ه ن‬ ‫ا‬ ‫را‬ ‫٢–‬ ‫،‬ ‫ی‬ ‫""‬ ‫دو‬ ‫ن را در‬ ‫ا‬ ‫ه‬ ‫م ی‬ ‫ا‬ ‫٣–‬ ‫د.‬ ‫ﺥ‬ ‫ی ‪source file‬‬ ‫ای‬ ‫"‪ ، "Example.java‬زی‬ ‫ی ‪ text‬ﺥ ای آ آ ه ي ﺝ وا را‬ ‫‪ Notepad‬ی‬ ‫د از وی ای‬ ‫ا‬ ‫ای‬ ‫روي‬ ‫ا‬ ‫ی را‬ ‫ی ت ای‬ ‫آ د ای .‬ ‫وف ی ‪ character‬در ن ذﺥ‬ ‫رت‬ ‫ا‬ ‫را‬ ‫ی‬ ‫ده . آ‬ ‫ی وی‬ ‫ی‬ ‫ه ی از ن‬ ‫ر‬ ‫ی آ د.‬ ‫‪byte code‬‬ ‫، ﻝ ا ی ن را‬ ‫ا‬ ‫رت ی ذﺥ‬ ‫اآ‬ ‫اﺝ ا آ ،‬ ‫.‬ ‫ی ﺝ وا‬ ‫آ‬ ‫ی آ‬ ‫ا‬ ‫ی‬ ‫‪Example.class‬‬ ‫‪Javac‬‬ ‫‪Example.java‬‬ ‫ی آ ﺝ وا‬ ‫ی ﺝ وا‬ ‫آ‬ ‫ا‬ ‫.‬ ‫‪.class‬‬ ‫ی آ ، ی‬ ‫ی‬ ‫آ دی‬ ‫رآ‬ ‫ه ن‬ ‫:‬ ‫ي ﺥ اه دا‬ ‫یی‬ ‫رت زی‬ ‫ﻝ‬
  • 21. Java Computation Model javac Hello.java Java Source File Hello.java Java Class File java Hello Hello.class (portable byte code) JVM (Java virtual machine) Operating System Byte Code vs. Machine Code Java Source File C++ Source File Hello.java hello.cc javac Hello.java gcc hello.cc -o hello.exe Java Class File Hello.class (portable byte code) JVM Executable hello.exe Operating System Operating System
  • 22. ‫ا‬ ‫ی‬ ‫آ‬ ‫:‬ ‫زی ‪ Command Prompt‬را اﺝ ا آ‬ ‫از‬ ‫‪Start > run > cmd‬‬ ‫داد‬ ‫ی‬ ‫ﺝ د در دای آ ري‬ ‫ی ه ي ﺝ واي‬ ‫ر ‪DIR *.java‬‬ ‫د از د‬ ‫ا‬ ‫د.‬ ‫:‬ ‫:‬ ‫آ‬ ‫رت زی‬ ‫درای‬ ‫١ – اي‬ ‫م درای :‬ ‫:‬ ‫د آ‬ ‫ر زی ا‬ ‫دای آ ري ه ي ی درای از د‬ ‫٢ – اي ر‬ ‫… م دای آ ري م دای آ ري ‪Cd‬‬ ‫ر زی آ ر د دارد :‬ ‫اي ﺥ وج از ی دای آ ري د‬ ‫٣–‬ ‫..‪cd‬‬ ‫ر‬ ‫د از د‬ ‫ا‬ ‫ﺥ ‪ bin‬وی .‬ ‫ان‬ ‫آ‬ ‫را‬ ‫د‬ ‫‪Javac Exmaple.java‬‬ ‫دن‬ ‫از‬ ‫،‬ ‫ا‬ ‫ﺥ ی در‬ ‫ه‬ ‫ر‬ ‫ی آ . در‬ ‫را آ‬ ‫د.‬ ‫ﺥ‬ ‫ی آ ) ‪( .class‬‬ ‫‪ ، enter‬ی‬ ‫ی ‪Example.class‬‬ ‫از‬ ‫د‬ ‫را در‬ ‫د وی‬ ‫وارد‬ ‫‪ path‬را در‬ ‫:‬ ‫را‬ ‫ر دی‬ ‫ی‬ ‫ا‬ ‫د.‬ ‫ه‬ ‫مﺥ‬ ‫ر … ‪ javac‬ی‬ ‫وارد آ دن د‬ ‫آ .‬ ‫) ‪( Virtual Java Machine‬‬ ‫ا اي ی ا‬
  • 23. ‫ای ا‬ ‫د آ د. را دی‬ ‫صا‬ ‫ا ار‬ ‫ان از‬ ‫ه ي ﺝ وا‬ ‫اﺝ اي‬ ‫ﺝ‬ ‫آ هي‬ ‫م ا ار ، ی‬ ‫رت‬ ‫د. در ای‬ ‫د‬ ‫اي ای آ ر ا‬ ‫م ا اره ي وی‬ ‫آ از‬ ‫را ا‬ ‫آ . ای‬ ‫ن ه را اﺝ ا‬ ‫ا‬ ‫،‬ ‫ﺝ وا ) ی ‪ ( .class‬را ﺥ ا‬ ‫ی آ ه ي ﺝ وا‬ ‫.‬ ‫ت ن را ‪interpretation‬‬ ‫‪ interpreted‬و‬ ‫ا اري‬ ‫آ ي‬ ‫. ه ی از‬ ‫اﺝ ا‬ ‫ي‬ ‫آ‬ ‫آ در ه‬ ‫اﺝ ای ا‬ ‫روي‬ ‫دا‬ ‫آ ه ﺥ ا‬ ‫ه ي ﻝ ي ن‬ ‫تو‬ ‫ﺝ وا آ‬ ‫.‬ ‫ه ي ﺝ وا را دا‬ ‫ا ی اﺝ اي‬ ‫آ‬ ‫ا اري ﺥ د‬ ‫ت‬ ‫) ‪( processor‬‬ ‫داز‬ ‫ا‬ ‫ه‬ ‫ي‬ ‫آ‬ ‫ﺝ وا در ه‬ ‫رت‬ ‫در ای‬ ‫ه ي ﺝ وا را‬ ‫اﺝ اي‬ ‫دد آ و‬ ‫ی‬ ‫زي ﺝ وا‬ ‫آ‬ ‫دار .‬ ‫ا‬ ‫ه ي ﺝ وا‬ ‫اﺝ اي‬ ‫ﺝ وا در‬ ‫ون‬ ‫آ‬ ‫داز‬ ‫ن دی‬ ‫ا ﺥ اه آ د.‬ ‫ا ی را‬ ‫ن ، ای‬ ‫آ‬ ‫اﺝ اي‬ ‫ﺝ وا در‬ ‫م ا ار‬ ‫ا اري ون‬ ‫ه‬ ‫ر آ ذآ‬ ‫ه‬ ‫ق دار ا‬ ‫ت ی ی‬ ‫از ﻝ ظ ع‬ ‫ا اري ا‬ ‫هي‬ ‫.‬ ‫ه ي ﺝ وا‬ ‫ا اره‬ ‫م‬ ‫آ ه در‬ ‫ی‬ ‫د ، ای‬ ‫ی‬ ‫آ‬ ‫ی‬ ‫ﺝ وا‬ ‫آ ی‬ ‫ه‬ ‫ا‬ ‫ا اره ی آ ی‬ ‫م‬ ‫ﺝ وا در‬ ‫ی‬ ‫ﺝ‬ ‫. در وا‬ ‫نه‬ ‫ی‬ ‫آ ه را از‬ ‫ی‬ ‫ای‬ ‫،‬ ‫اﺝ ا‬ ‫ﻝ‬ ‫ا‬ ‫ا اري ون ه‬ ‫ي‬ ‫م‬ ‫آ در‬ ‫از د ی‬ ‫و اﺝ ا آ د و ای ی‬ ‫ان‬ ‫ا اري‬ ‫ي‬ ‫م‬ ‫ی ای‬ ‫م‬ ‫ه ي ﺥ د را در‬ ‫ر‬ ‫ی ن ﺝ وا‬ ‫ن دی‬ ‫.‬ ‫ﺝ وا‬ ‫اي ه‬ ‫ر‬ ‫ی‬ ‫و ای ی‬ ‫آ‬ ‫هي‬ ‫ا اري و‬ ‫ي‬ ‫د.‬ ‫ب‬ ‫ی‬
  • 24. ‫ا اي ی ا‬ ‫د.‬ ‫د‬ ‫ر ‪ java‬ا‬ ‫از د‬ ‫ا‬ ‫اي اﺝ اي‬ ‫‪java Example‬‬ ‫ار‬ ‫ن در اﺥ ر‬ ‫وﺥ‬ ‫آ‬ ‫ه‬ ‫ﺥ د را‬ ‫ر‬ ‫از اﺝ اي ای د‬ ‫د:‬ ‫:‬ ‫در م ی‬ ‫،‬ ‫س‬ ‫رگ و آ‬ ‫وف‬ ‫آ ﺝ وا‬ ‫١ : ﺝ دا‬ ‫د‬ ‫""‬ ‫.ا‬ ‫اﺝ ا‬ ‫‪java example‬‬ ‫ای ا‬ ‫ه.‬ ‫.‬ ‫ن‬ ‫رگ و آ‬ ‫دو‬ ‫پ‬ ‫ز‬ ‫ود ، در وا‬ ‫‪main‬‬ ‫اغ‬ ‫اﺝ اي‬ ‫٢ : ‪ JVM‬ﺝ‬ ‫.‬ ‫‪main‬‬ ‫د.‬ ‫يﺥ‬ ‫; در ا‬ ‫آ اﺝ ای ه‬ ‫را‬ ‫د‬ ‫٣:آ‬ ‫ﺥ ا ی‬ ‫. ای ا‬ ‫ی‬ ‫رت د ا دار‬ ‫ه را‬ ‫آ‬ ‫٤:‬ ‫د.‬ ‫اﺝ ا‬ ‫ی‬ ‫ه‬ ‫ط‬ ‫رﺥ‬ ‫را‬ ‫د. ا ا‬ ‫ی و اﺝ ا وارد‬ ‫آ‬ ‫آ تﺥ‬ ‫روه‬ ‫طﺥﻝ‬ ‫ار دادن ﺥ‬ ‫٥:‬ ‫آ .‬ ‫) ‪( Grammatical Error‬‬ ‫ا‬ ‫، در‬ ‫ا‬ ‫ﺥ‬ ‫د ن را ا‬ ‫رت‬ ‫ه‬ ‫ﺝ وا ا‬ ‫ه‬ ‫ی‬ ‫ا‬ ‫ار دادن‬ ‫ر در ن ار دارد‬ ‫د‬ ‫ﺥ‬ ‫ر‬ ‫ذ‬ ‫ی‬ ‫ارد‬ ‫ای‬ ‫.‬ ‫ر راه ی‬ ‫د‬ ‫ﺥ‬ ‫را‬ ‫،‬ ‫واﺝ ﺥ‬ ‫^ در زی‬
  • 25. ‫رات‬ ‫د‬ ‫م ی‬ ‫ﺝ وا ، ه‬ ‫ه‬ ‫دن‬ ‫ی‬ ‫د‬ ‫و‬ ‫ا‬ ‫زم‬ ‫در ای‬ ‫ر‬ ‫دن د‬ ‫ی‬ ‫نا‬ ‫‪ Command Prompt‬د‬ ‫ی و اﺝ ا در‬ ‫ر‬ ‫د‬ ‫ی‬ ‫ﺥ ه‬ ‫م در ر‬ ‫ای اوﻝ‬ ‫دد.‬ ‫مﺥ‬ ‫ای د‬ ‫ﺥ د وی .‬ ‫اغ ی ا‬ ‫د و‬ ‫ر‬ ‫ی را‬ ‫اﺵ ل ) ‪( Bug‬‬ ‫ﺝ‬ ‫اﺝ ا‬ ‫دد وﻝ‬ ‫اﺝ ا‬ ‫ی و ون ﺥ‬ ‫ر‬ ‫د‬ ‫ون ﺥ‬ ‫ا‬ ‫ا‬ ‫ل)‬ ‫ل را ر ا‬ ‫ا‬ ‫ت‬ ‫ی .‬ ‫ل‬ ‫نا‬ ‫ی‬ ‫ﺥ ا‬ ‫ی .‬ ‫‪( Debug‬‬ ‫ت ) ‪( Comment‬‬ ‫ﺕ‬ ‫ده .‬ ‫از ن‬ ‫ی‬ ‫در ر‬ ‫ه‬ ‫ی ﺝ‬ ‫تﺝ‬ ‫ت‬ ‫دادن ا‬ ‫ﺝ‬ ‫و‬ ‫اﻝ ا‬ ‫دن‬ ‫ی و اﺝ ا‬ ‫ا‬ ‫ت‬ ‫وی‬ ‫ﺝ‬ ‫ا‬ ‫ت ز‬ ‫. در ه ﺝ‬ ‫ا‬ ‫ن‬ ‫ﺥ ا‬ ‫ار ده .‬ ‫از */ و /*‬ ‫د‬ ‫از // و ا‬ ‫ت را‬ ‫د‬ ‫.‬ ‫ی‬ ‫ی‬ ‫تا‬ ‫ﺝ :‬ ‫پ م‬ ‫ی‬ ‫ی‬ ‫رو‬ ‫رو‬ ‫ﺥ‬ ‫ا‬ ‫ر ‪Command Prompt‬‬ ‫در‬ ‫:‬ ‫ح زی ا‬ ‫ن‬ ‫در‬ ‫زی‬ ‫ﺥ‬ ‫ی‬ ‫‪java Example.java ، javac Example.java‬‬ ‫ﺝ‬ ‫١–ا‬ ‫د.‬ ‫‪Exception in thread “main” java.long. NoClassDefenitionFoundError‬‬ ‫:‬ ‫‪Hello / java‬‬
  • 26. ‫د‬ ‫ه‬ ‫،‬ ‫ی‬ ‫‪javac Example ، javac Example.java‬‬ ‫ﺝ‬ ‫٢–ا‬ ‫ده .‬ ‫ر را‬ ‫د‬ ‫در‬ ‫درج ^ در زی‬ ‫رگ را ر ی‬ ‫و‬ ‫وف‬ ‫ا‬ ‫م‬ ‫ه‬ ‫٣–ا‬ ‫زد.‬ ‫ﺝ ﺥ‬ ‫را‬ ‫ف‬ ‫.(‬ ‫ا‬ ‫ض‬ ‫‪Hello.java‬‬ ‫م‬ ‫ت زی‬ ‫) در‬ ‫ﺥ‬ ‫اوﻝ‬ ‫ن‬ ‫ر‬ ‫ده و‬ ‫ن‬ ‫ر را‬ ‫،ﺥ د‬ ‫: در ه م ﺥ‬ ‫د.‬ ‫د.‬ ‫در‬ ‫زی‬ ‫ا ش‬ ‫{ را‬ ‫س اوﻝ‬ ‫ی‬ ‫م‬ ‫در ه‬ ‫٤–ا‬ ‫د.‬ ‫ا ش‬ ‫; را‬ ‫٥–ا‬ ‫ی ه‬ ‫ی‬ ‫و‬ ‫وی واﻝ ه‬ ‫زی دارا‬ ‫م ا اره‬ ‫دار ،‬ ‫ﺝ وا ا اع‬ ‫ی ه‬ ‫ان از‬ ‫را‬ ‫ی‬ ‫. وﻝ ورژ‬ ‫ود ٥-٦ ه ار د ر‬ ‫ی ورژن ن‬ ‫د.‬ ‫دا د‬ ‫ی ای‬
  • 27. Jbuilder X – ١ . Borland ‫ﺥ‬ ‫م‬ ‫ای‬ ‫از‬ ‫ی‬
  • 28. ‫٢ – ‪EditPlus‬‬ ‫:‬ ‫آ‬ ‫ی‬ ‫رت‬ ‫اي از اﺝ اي‬
  • 29. ‫ه‬ ‫ا اع داد ه ،‬ ‫:‬ ‫وی ای‬ ‫ﺝ وا‬ ‫ع داد ه‬ ‫ی‬ ‫ل‬ ‫ی‬ ‫ا اع داد ه‬ ‫ا اد‬ ‫ور‬ ‫ر‬ ‫ا‬ ‫ا اع داد ه‬ ‫ه‬ ‫را‬ ‫ﻝ‬ ‫داد ه‬ ‫ﻝ ال ه‬ ‫ه د‬ ‫ه‬ ‫ی و ‪casting‬‬ ‫رای ه‬ ‫ه‬ ‫رد ر‬ ‫در‬ ‫و ا اع‬ ‫ا ار‬ ‫ز‬ ‫د‬ ‫ع،‬ ‫ی‬ ‫ع،‬ ‫ل‬ ‫ا ده ،‬ ‫ای‬ ‫در‬ ‫ﺥ ن داد ه‬ ‫آ در‬ ‫ا‬ ‫رای ه‬ ‫ا را‬ ‫د. ه‬ ‫ت اوﻝ ا ر‬ ‫.‬ ‫ا‬ ‫داد‬
  • 30. ‫وا‬ ‫ه و رای ه در‬ ‫ا اع داد ه ،‬ ‫ه و‬ ‫: ا اع داد ه ،‬ ‫ا‬ ‫صی‬ ‫ی ﺝ وااﺥ‬ ‫رداز‬ ‫ر‬ ‫ای‬ ‫آ .‬ ‫زي رن ، از ا اع داد ه‬ ‫مز ن هي‬ ‫ن‬ ‫ه‬ ‫رای ه . ﺝ وا‬ ‫آ‬ ‫د آ .ه ن‬ ‫ه و ای د رای ه ا‬ ‫ی‬ ‫اي‬ ‫ا‬ ‫ع داد ه‬ ‫ازای‬ ‫.‬ ‫ا‬ ‫و‬ ‫ف،آر‬ ‫رد ،‬ ‫ای‬ ‫ش ﺝ وا‬ ‫ﺥ اه دی ،‬ ‫ع داد ه ي وا‬ ‫آ لﺵ ی‬ ‫ت در ن آ ل‬ ‫ع داده‬ ‫آ‬ ‫ا‬ ‫د آ ﺝ وا ز‬ ‫ا اي آ ر‬ ‫دره‬ ‫زم ا‬ ‫آ ای‬ ‫د. ای‬ ‫م ﺝ وا از ای ا‬ ‫وا‬ ‫ازا‬ ‫،‬ ‫د. دروا‬ ‫دارد ، و ه ی از ا اع داد‬ ‫رت‬ ‫دارد ، ه‬ ‫،ه‬ ‫ای‬ ‫.‬ ‫آ ری‬ ‫از‬ ‫ی و‬ ‫ر‬ ‫دی ،‬ ‫م‬ ‫،ه م‬ ‫ا . دوم ای‬ ‫ی‬ ‫د‬ ‫ه‬ ‫د.‬ ‫ر‬ ‫ع داد ه‬ ‫ز ري‬ ‫ه ،‬ ‫اﺥ ا‬ ‫ه در‬ ‫ار ل را‬ ‫ی‬ ‫د.‬ ‫ز ردر ﺝ وا ا م‬ ‫ی ﺥ دآ ر ا اع داد ه ي‬ ‫ازز ن ه ،‬ ‫ﺥ‬ ‫ﺥ ف‬ ‫ز ري ا اع داد ه‬ ‫ن از‬ ‫لا‬ ‫ه را ﺝ‬ ‫رت ه و را‬ ‫م‬ ‫ﺝ وا‬ ‫ی‬ ‫آ‬ ‫ی‬ ‫از ی ن آ‬ ‫ی‬ ‫آ‬ ‫ع داد ه ، ﺥ ه ی ه‬ ‫م‬ ‫آ .‬ ‫ر‬ ‫.‬ ‫نه آ س‬ ‫ا اع داد ه ي پ ی‬ ‫: ‪float ، char ، long ، int ، short ، byte‬‬ ‫ا‬ ‫ی‬ ‫ی درﺝ وا‬ ‫ع داد‬ ‫ه‬ ‫، ‪ double‬و ‪Boolean‬‬ ‫د‬ ‫د واز ه دو واژ درای آ ب ا‬ ‫د‬ ‫ع داد ه ي ی ، داد ه ي‬ ‫ای‬ ‫د:‬ ‫ر و‬ ‫ان‬ ‫ع داد ه را‬ ‫. ای‬ ‫ا‬
  • 31. ‫آ ا اد آ‬ ‫‪ int , short , byte‬و ‪ long‬ا‬ ‫و‬ ‫– ای‬ ‫• ا اد‬ ‫.‬ ‫دار‬ ‫ا اد‬ ‫ی‬ ‫آ‬ ‫‪ float‬و ‪ double‬ا‬ ‫و‬ ‫ور- ای‬ ‫ري‬ ‫• ا اد ا‬ ‫.‬ ‫ري‬ ‫ا‬ ‫ده در‬ ‫اع‬ ‫ا‬ ‫ی‬ ‫آ‬ ‫‪ char‬ا‬ ‫و‬ ‫• آ راآ ه - ای‬ ‫وف و ار م.‬ ‫؛ از‬ ‫آ راآ ه‬ ‫دی ‪true/ false‬‬ ‫ی‬ ‫اي‬ ‫اي‬ ‫ع وی‬ ‫آ‬ ‫‪ boolean‬ا‬ ‫و‬ ‫ﻝ - ای‬ ‫•‬ ‫.‬ ‫ا‬ ‫رای ه ی ا اع آ س‬ ‫ی و ی ای‬ ‫ر‬ ‫اي آ ه‬ ‫ا‬ ‫را‬ ‫ارد‬ ‫، ی وا س ا اع داد ه ي‬ ‫زی . ازای رو ، ا اع داد ه ي‬ ‫ه ي ﺥ ص ﺥ د ن را‬ ‫ده .‬ ‫،‬ ‫آ‬ ‫ي راآ ای د‬ ‫دی‬ ‫ﺝ وا آ‬ ‫آ .ا‬ ‫هي‬ ‫و‬ ‫ه‬ ‫دی وا‬ ‫ی‬ ‫ا اع داد ه ي ی ،‬ ‫آ در‬ ‫د اي ه‬ ‫ا اع داد ه ي‬ ‫.‬ ‫،ا ا اع داد ه ي ی ای‬ ‫ا‬ ‫ی ا اع‬ ‫.‬ ‫، آ رای و زده ا‬ ‫ای ا‬ ‫. دﻝ‬ ‫ای‬ ‫ي‬ ‫ز‬ ‫داد.‬ ‫ا از آ ه‬ ‫ه ، آ رای را‬ ‫داد ه ي ی‬ ‫.‬ ‫دا‬ ‫ود و ر ر ری‬ ‫ی‬ ‫ی‬ ‫اي‬ ‫ا اع داد ه ي ی‬ ‫اﺝ ا‬ ‫ای‬ ‫ا س‬ ‫را‬ ‫ا از ا اد‬ ‫ن‬ ‫ن ‪ C‬و ++‪ C‬ا‬ ‫ز نه ی‬ ‫ور .‬ ‫اه‬ ‫ود ا اع‬ ‫ه ي ﺝ وا ،‬ ‫ل‬ ‫ا‬ ‫دا‬ ‫ز‬ ‫دﻝ‬ ‫.‬ ‫ا ، ﺝ وا ای‬ ‫. ای‬ ‫ا‬ ‫اﺝ ا ، ٢٣‬ ‫و ون ﺝ‬ ‫ل ، ‪ int‬ه‬ ‫ان‬ ‫.‬ ‫ا‬ ‫داد ه ﺙ‬ ‫ری ي‬ ‫ا ل در‬ ‫ون ه‬ ‫زد آ ی‬ ‫اه‬ ‫ه ی را‬ ‫ن‬ ‫ا ا‬ ‫آ ر ی در ﺥ از‬ ‫ﺝ آه‬ ‫ا‬ ‫ا از ا اد‬ ‫.ا‬ ‫ه اﺝ ا‬ ‫.‬ ‫وري ا‬ ‫ل‬ ‫ا‬ ‫ن‬ ‫اي ر‬ ‫م ای آ ر‬ ‫د، ا ا‬ ‫دازی .‬ ‫ه ی ازا اع داد ه‬ ‫ر‬ ‫ای‬ ‫ا اد‬
  • 32. ‫م ای‬ ‫: ‪ int ، short ، byte‬و ‪.long‬‬ ‫ا‬ ‫ی‬ ‫د‬ ‫ر ع‬ ‫درز ن ﺝ وا‬ ‫-‬ ‫دار»‬ ‫. ﺝ وا از ا اد‬ ‫و‬ ‫دی‬ ‫؛‬ ‫دار ه‬ ‫ع داد ه‬ ‫وه‬ ‫، ه ازا اد‬ ‫ي دی‬ ‫ري از ز ن ه ي آ‬ ‫آ .‬ ‫«‬ ‫اد‬ ‫آ ا‬ ‫سآ د‬ ‫ا ن ﺝ وا ا‬ ‫آ .ا‬ ‫اي‬ ‫م ا اد‬ ‫آ د آ‬ ‫ر‬ ‫،‬ ‫ص ای‬ ‫.‬ ‫وري ه‬ ‫آ ،‬ ‫داد ه ي ع ‪ int‬را‬ ‫،آ‬ ‫اﻝ‬ ‫نر ر‬ ‫د.‬ ‫آر د‬ ‫ه و‬ ‫ضر ر‬ ‫و در‬ ‫در‬ ‫ي‬ ‫ار‬ ‫،‬ ‫ل ا اد‬ ‫د‬ ‫ا ازه ا از اي ا‬ ‫ز ن اﺝ اي ﺝ وا‬ ‫آ .‬ ‫ر ي ن ع را‬ ‫،‬ ‫ی . در‬ ‫ر ر‬ ‫ی‬ ‫ع داد‬ ‫ر‬ ‫ه و‬ ‫ای آ‬ ‫وط‬ ‫آ ،‬ ‫( ذﺥ‬ ‫)٨ و ١‬ ‫دی ٢٣‬ ‫رت‬ ‫، ‪ byte‬و‪ short‬را‬ ‫ر‬ ‫از‬ ‫ی‬ ‫ا‬ ‫د ا وزي‬ ‫رد ا‬ ‫هي‬ ‫آ‬ ‫ا آ ا از "‪ " word‬در‬ ‫ی ،‬ ‫آ ر ی ا ای‬ ‫آ‬ ‫.‬ ‫ا‬ ‫، ٢٣‬ ‫دی ا اع داد ه ي‬ ‫ود‬ ‫لو‬ ‫،‬ ‫ا‬ ‫ن داد‬ ‫آ در ﺝ ول ذی‬ ‫ه ن‬ ‫:‬ ‫ا‬ ‫دی‬ ‫ود‬ ‫ل‬ ‫م‬ ‫708,577,458,630,273,322,9 808,577,458,630,273,322,9-‬ ‫‪long‬‬ ‫746,384,741,2 846,384,741,2-‬ ‫٢٣‬ ‫‪int‬‬ ‫767,23 867,23-‬ ‫١‬ ‫‪short‬‬ ‫721 821-‬ ‫٨‬ ‫‪byte‬‬ ‫دازی .‬ ‫ه ی از‬ ‫ر‬ ‫ای‬ ‫‪Byte‬‬
  • 33. ‫آ‬ ‫دار ا‬ ‫٨‬ ‫د‬ ‫. ‪، byte‬‬ ‫، ‪ byte‬ا‬ ‫ع ا اد‬ ‫ی‬ ‫آ‬ ‫از داد‬ ‫مآر ﺝ ی‬ ‫صه‬ ‫ع ‪byte‬‬ ‫هي‬ ‫.‬ ‫ود ن از ٨٢١- ٧٢١ا‬ ‫داد ه ي ی ي ﺥ ص آ‬ ‫مآ ر‬ ‫ه‬ ‫ه‬ ‫.‬ ‫وا‬ ‫ی‬ ‫ی‬ ‫هيی‬ ‫.‬ ‫وا‬ ‫،‬ ‫ز ر‬ ‫ی ا اع داد ه ي آ ر ﺝ وا‬ ‫ا‬ ‫ذی‬ ‫ل ، در‬ ‫ان‬ ‫.‬ ‫ی‬ ‫آ ي ‪byte‬‬ ‫د از آ‬ ‫ا‬ ‫ه‬ ‫ع‬ ‫ای‬ ‫:‬ ‫ی‬ ‫م ‪ b‬و ‪ c‬از ع ‪byte‬‬ ‫; ‪byte b, c‬‬ ‫‪Short‬‬ ‫ود ن از ٨ ٧٢٣- ٧ ٧٢٣‬ ‫.‬ ‫دار ا‬ ‫١‬ ‫د‬ ‫‪، short‬‬ ‫ا‬ ‫ی‬ ‫اآ‬ ‫د را در ﺝ وا دار ،‬ ‫ی ا‬ ‫آ‬ ‫ع داد ه ا‬ ‫. ای‬ ‫م ‪ ( big-endian‬ای‬ ‫ی ارزش را دارد )‬ ‫،‬ ‫را‬ ‫ی‬ ‫آ‬ ‫،آ ر د‬ ‫ب‬ ‫اي آ‬ ‫ای‬ ‫ر‬ ‫آ‬ ‫هي ١‬ ‫درآ‬ ‫ع داد ه‬ ‫ه ي ‪ short‬ﺝ آ :‬ ‫ی‬ ‫ﻝ ی از‬ ‫دار .‬ ‫;‪short s‬‬ ‫;‪short t‬‬ ‫، از‬ ‫ی‬ ‫زي داد ه ي‬ ‫ذﺥ‬ ‫آ‬ ‫ﺝ : " ‪ "Endianness‬واژ اي ا‬ ‫ع ‪short‬‬ ‫اي داد ه ي‬ ‫٢ ی‬ ‫آ .ا‬ ‫را‬ ‫‪ int ، short‬و ‪ ، long‬در‬ ‫؟ ای‬ ‫ارزش آ‬ ‫ی ی‬ ‫ارزش‬ ‫د؛ ی‬ ‫ار‬ ‫درا ا‬ ‫،آ ا‬ ‫زم‬ ‫ذﺥ‬ ‫ارزش‬ ‫آ ا ا ی‬ ‫، ی‬ ‫ي ‪ big-endian‬ا‬ ‫دآ‬ ‫ن ‪ SPARS‬و ‪PowerPC‬‬ ‫هی‬ ‫د. آ‬ ‫ار‬ ‫ارزش آ‬ ‫ی‬ ‫دو‬ ‫، از ع‬ ‫ي 68‪ x‬ای‬ ‫هي‬ ‫وآ‬ ‫از ع "‪ "big-endian‬ه‬ ‫"‪."little-endian‬‬ ‫‪int‬‬ ‫د و‬ ‫دار‬ ‫ع داد ه ، ٢٣‬ ‫. ای‬ ‫، ‪ int‬ا‬ ‫ع داد ه ي‬ ‫اوﻝ ی‬ ‫ع ‪int‬‬ ‫هي‬ ‫.‬ ‫,٣٨ ,٧ ١, ٢‬ ‫٧‬ ‫, ٣٨ , ٧ ١ , ٢-‬ ‫از ٨‬ ‫ود‬
  • 34. ‫آر‬ ‫رای ه‬ ‫ﺥ‬ ‫ان‬ ‫ه و‬ ‫اي آ ل‬ ‫،‬ ‫آ ر ده ي دی‬ ‫و‬ ‫ع ‪ short ، byte‬و‪ int‬و ا اد‬ ‫از داد ه ي‬ ‫ر‬ ‫.ه‬ ‫د‬ ‫ی .‬ ‫‪ int‬ار ء‬ ‫ت‬ ‫م‬ ‫ازا‬ ‫رت‬ ‫،آ‬ ‫و آ ر دا‬ ‫ﻝ ال‬ ‫رش ی‬ ‫اي‬ ‫آ ا ادي‬ ‫ا‬ ‫و در‬ ‫ع داد ه‬ ‫ی‬ ‫ی وآر‬ ‫‪، int‬‬ ‫د‬ ‫از ن ا‬ ‫ی‬ ‫داری ،‬ ‫ت ا اد‬ ‫ز‬ ‫ز داری و ی‬ ‫رای ه‬ ‫ﺥ‬ ‫ﺝ ی‬ ‫ﺝ‬ ‫د از ‪ short‬ی ‪byte‬‬ ‫آ ا‬ ‫ر‬ ‫ای‬ ‫ا‬ ‫ی .‬ ‫‪int‬‬ ‫ر ﺥ دآ ر‬ ‫را‬ ‫وﺝ د ارد آ ﺝ وا‬ ‫د،ا ه‬ ‫ي‬ ‫در‬ ‫ا از )‬ ‫و‬ ‫ر را‬ ‫آ‬ ‫ع داد « ،‬ ‫آ »‬ ‫دا‬ ‫ﺥ‬ ‫ار ء ه .‬ ‫ی‬ ‫ن از ی‬ ‫اي ه‬ ‫،‬ ‫از ع ‪byte‬‬ ‫آ‬ ‫ﺝ د ، رای ه ه‬ ‫ي‬ ‫ا‬ ‫ازاي ه‬ ‫ی‬ ‫از٢ و‬ ‫اي رای ه ي ع ‪ short‬و ‪int‬‬ ‫دو‬ ‫د‬ ‫ا‬ ‫د (.‬ ‫د‬ ‫ا‬ ‫‪Long‬‬ ‫د آ ‪int‬‬ ‫وا‬ ‫ای‬ ‫اي‬ ‫و‬ ‫دار ا‬ ‫داد ه ي‬ ‫ی‬ ‫‪، Long‬‬ ‫ود داد ه ي ع ‪ long‬آ‬ ‫.‬ ‫رگ‬ ‫ا از آ‬ ‫،‬ ‫رد‬ ‫ار‬ ‫اري‬ ‫اي‬ ‫،‬ ‫رگ زم‬ ‫آ ا اد‬ ‫ا‬ ‫ع ، ‪ long‬را اي‬ ‫. ای‬ ‫رگ ا‬ ‫ت روزه ي‬ ‫ر در‬ ‫آ‬ ‫ذی‬ ‫ل،‬ ‫ان‬ ‫.‬ ‫ﺥ ا‬ ‫آ .‬ ‫ﺥ اه آ د را‬ ‫.‪// compute distance light travels using long variables‬‬ ‫{ ‪class light‬‬ ‫)][‪public static void main(string args‬‬ ‫{‬ ‫;‪int lightspeed‬‬ ‫;‪long days‬‬ ‫;‪long seconds‬‬ ‫;‪long distance‬‬ ‫‪// approximate speed of light in miles per second‬‬ ‫;000681 = ‪lightspeed‬‬ ‫;0001 = ‪days‬‬ ‫//‬ ‫‪specify number of days here‬‬
  • 35. seconds = days * 24 * 60 * 60; // convert to seconds distance = lightspeed * seconds; // compute distance system.out.print("In " + days); system.out.print("days light will travel about"); system.out.println(distance + " miles."); } } :‫د‬ ‫ذی ﺥ اه‬ ‫ﺥ وﺝ‬ In 1000 days light will travel about 16070400000000 miles. .‫اري آ د‬ int ‫ي از ع‬ ‫ان در‬ ‫ق را‬ ‫آ‬ ‫ا‬ ‫وا‬ ‫ﺵ ور‬ ‫ري‬ ‫ا اع داد ه ي ا‬ ‫را‬ ‫اي ارزی‬ ‫و‬ real ‫ور، ا اد‬ ‫ري‬ ‫ا اد ا‬ ‫ن‬ ،‫ل‬ ‫ان‬ . ‫وري‬ ‫ري‬ ‫ا‬ ‫اري‬ ‫آ‬ ‫ه‬ ‫د‬ ‫ما‬ ‫اری ن‬ ‫آ‬ ‫س ، ا ادي ه‬ ‫سوآ‬ ‫ن‬ ‫ت‬ ‫ﺝرو‬ ‫ه و داد‬ (IEEE-754) ‫ارد‬ ‫ا‬ . ‫ور ا‬ ‫ري‬ ‫هيا‬ ‫از‬ ‫اوﻝ‬ ‫ع‬ ‫ دو‬double ‫ و‬float . ‫ا‬ ‫زي‬ ‫د‬ ‫ور در ﺝ وا‬ ‫ري‬ ‫هيا‬ ‫در ذی‬ ‫ود‬ ‫لو‬ . ‫د و‬ ‫ري د‬ ‫ا اد ا‬ ‫ی‬ ‫آ‬ ‫ه‬ : ‫ا‬ ‫ن داد‬ ‫دی‬ ‫ی‬ ‫ود‬ ‫ل‬ ‫م‬ ١/٨ × e 308 4/9 × e −324 ٦٤ double 3/4 × e 38 1/4 × e −45 ٣٢ float . ‫ا‬ ‫ر‬ ‫ای دو ع در ذی‬ Float
  • 36. ‫د‬ ‫زي ا‬ ‫اي ذﺥ‬ ٣٢‫آ از‬ ‫د ا‬ ‫د‬ ‫ري‬ ‫دی ا‬ ‫ی‬ ، float « ‫»د‬ ‫ا از‬ ‫و‬ ‫ا‬ ‫ی‬ ‫ه‬ ‫ﺥ از داز‬ ‫د « در‬ ‫آ . »د‬ ‫ی‬ ، ‫رآ‬ ‫رگ ی‬ ‫ر‬ ‫دی‬ ‫آ‬ ‫زي ز دارد ، ا و‬ ‫ي ذﺥ‬ . ‫ﺥ اه‬ ‫در‬ ‫ورت‬ ‫ود‬ ‫ري زم‬ ‫آ ﺝ ا‬ ‫وا‬ ‫ ز‬float ‫ه ي ع‬ .‫د‬ ‫ﺥ اه‬ ‫د رو‬ ‫دی ارزي‬ ‫ی‬ ‫اي‬ float ، . ‫ا‬ : ‫ا‬ ‫ن داد‬ ‫ در ذی‬float ‫دو‬ ‫ی‬ ‫ﻝ از‬ float hightemp, lowtemp; double ‫اي‬ ‫د ، از‬ double ‫آ ي‬ ‫آ‬ ‫«،آ‬ ‫اي »د‬ ‫ﺥ از‬ ‫« در‬ ‫آ »د‬ ‫نا‬ ‫ا‬ ‫د. وا‬ ‫د‬ ‫دی ا‬ ‫زي‬ ‫ذﺥ‬ . ‫ا‬ ‫ی‬ ، ‫ا‬ ‫ت ری‬ ‫اي‬ ‫آ‬ ‫هي ر‬ ‫داز‬ ‫د‬ ‫ز‬ ‫.و‬ ‫ ا‬double ‫ار‬ ، sqrt()‫ و‬cos()،sin()‫ن‬ ‫ا ری‬ ، ‫رگ‬ ‫ر‬ ‫ی ی ا اد‬ ‫دازش و‬ ‫م‬ ‫وی ه‬ ‫اري دا‬ ‫ت‬ ‫ت در‬ .‫د‬ ‫ی ﺥ اه‬ ‫ی‬ double : ‫آ‬ ‫د‬ ‫ا‬ ‫ی دای‬ ‫ اي‬double ‫ه ي‬ ‫ذی از‬ ‫آ‬ // compute the area of a circle. class Area { public static void main (string args[]) { double pi, r, a; r = 10.8; // radius of circle pi = 3.1416; // pi, approximately a = pi * r * r; // compute area system.out.println("Area of circle is" + a); } } ‫آ راآ ه‬
  • 37. ‫زان ++‪ C/C‬ی‬ ‫د. ا ،‬ ‫د‬ ‫زي آ راآ ه از ‪ char‬ا‬ ‫اي ذﺥ‬ ‫در ﺝ وا‬ ‫:‬ ‫ر‬ ‫ه‬ ‫. در‬ ‫. ا درﺝ وا ای‬ ‫ا‬ ‫ل ن٨‬ ‫آ‬ ‫ا‬ ‫‪ char‬در ‪ ، C++ ، C‬د‬ ‫آ راآ ه ي‬ ‫آ ،‬ ‫آ .ی‬ ‫د‬ ‫آ راآ ه ا‬ ‫ی‬ ‫اي‬ ‫آ‬ ‫ض ﺝ وا از ی‬ ‫ي‬ ‫ز‬ ‫ﺝ د در ه‬ ‫م آ راآ ه ي‬ ‫ی‬ ‫ا‬ ‫آ‬ ‫ا‬ ‫اﻝ‬ ‫آ‬ ‫،‬ ‫،‬ ‫،ی‬ ‫ري از‬ ‫آ راآ ه ي‬ ‫ع‬ ‫اﺝ‬ ‫آ دروا‬ ‫. ی‬ ‫ز دارد. از ای‬ ‫١‬ ‫دﻝ‬ ‫ه‬ ‫ی.‬ ‫ر‬ ‫،‬ ‫ري و‬ ‫،‬ ‫ي، ژا‬ ‫و،‬ ‫ا‬ ‫ارد.‬ ‫وﺝ د‬ ‫. ‪char‬‬ ‫ا‬ ‫٣‬ ‫ود از‬ ‫.‬ ‫ا‬ ‫رو ‪ char‬در ﺝ وا ، ١‬ ‫ار دارد و‬ ‫٧٢١‬ ‫ود‬ ‫ه ز در‬ ‫ارد ا‬ ‫َ‬ ‫آ راآ ه ي ا‬ ‫ار دارد. از‬ ‫٢‬ ‫ود‬ ‫)1-‪ (ISO-Latin‬در‬ ‫شی‬ ‫آ راآ ه ي ٨‬ ‫ا‬ ‫ﺝ ن‬ ‫د در‬ ‫ا‬ ‫ﺝ‬ ‫ا‬ ‫َ‬ ‫ن‬ ‫ا‬ ‫ﺥ‬ ‫اه‬ ‫اي‬ ‫ی آ ﺝ وا‬ ‫اي‬ ‫آ‬ ‫د از ی‬ ‫،ا‬ ‫ی . اﻝ‬ ‫د‬ ‫اي آ راآ ه ا‬ ‫آ‬ ‫آ از ی‬ ‫ا‬ ‫،‬ ‫ا‬ ‫٨‬ ‫ي آ آ راآ ه ی ن‬ ‫ا‬ ‫ی ی‬ ‫،ا‬ ‫، ﻝ‬ ‫نا‬ ‫ی‬ ‫ز‬ ‫.‬ ‫ا‬ ‫وﺝ‬ ‫ا ل‬ ‫ي‬ ‫ارد،‬ ‫. ا ای‬ ‫ا‬ ‫، ري آ ر‬ ‫ه‬ ‫ی‬ ‫‪ http://www.unicode.org‬رﺝ ع آ .‬ ‫آ‬ ‫در ر ی‬ ‫ت‬ ‫ا‬ ‫ﺝ : اي آ‬ ‫ده :‬ ‫ن‬ ‫ه ي ‪ char‬را‬ ‫زی آ ر د‬ ‫.‪// demonstrate char data type‬‬ ‫{ ‪class chardemo‬‬ ‫{ )][‪public static void main (string args‬‬ ‫;2‪char ch1, ch‬‬ ‫‪ch1 = 88; // code for x‬‬ ‫;'‪ch2 =' y‬‬ ‫;)" :2‪system. out.print("ch1 and ch‬‬ ‫;)2‪system. out.println(ch1 + "" + ch‬‬ ‫}‬ ‫}‬ ‫:‬ ‫زی ا‬ ‫ﺥ وﺝ ای‬ ‫‪ch1 and ch2: x y‬‬
  • 38. ‫،‬ ‫ف‪X‬ا‬ ‫آ (‬ ‫) وی‬ ‫ار ا‬ ‫َ‬ ‫ی‬ ‫ار ٨٨ آ‬ ‫آ‬ ‫ﺝ دا‬ ‫ار‬ ‫،٧٢١‬ ‫آ راآ ه ي ا‬ ‫َ‬ ‫،‬ ‫آ‬ ‫ی .ه ن‬ ‫1‪ch‬‬ ‫هي ی «‬ ‫م»‬ ‫دﻝ‬ ‫ه‬ ‫آ .‬ ‫ل‬ ‫آ ا‬ ‫آ راآ ه ي ی‬ ‫را در‬ ‫د.‬ ‫د ﺥ اه‬ ‫ا‬ ‫آ ر د ای ، در ﺝ وا‬ ‫ص آ راآ ه‬ ‫در ﺥ‬ ‫آ در‬ ‫اي‬ ‫ا‬ ‫ارد‬ ‫ري از‬ ‫، ا در‬ ‫داد ه ي ع ‪ ، char‬د‬ ‫ا‬ ‫ه‬ ‫را‬ ‫دو آ راآ‬ ‫ده‬ ‫ن‬ ‫ا‬ ‫. ای ا‬ ‫ه‬ ‫د‬ ‫ی‬ ‫آ‬ ‫آرآ‬ ‫ذی‬ ‫ل،‬ ‫ان‬ ‫ده .‬ ‫آ راآ ي را ا ای‬ ‫ار ی‬ ‫وی‬ ‫»ﺝ « )اد م( آ‬ ‫ی:‬ ‫را در‬ ‫.‪// char variables behave like integers‬‬ ‫{ 2‪class charDemo‬‬ ‫{ )][‪public staticvoid main (string args‬‬ ‫;1‪char ch‬‬ ‫;'‪ch1 =' x‬‬ ‫+ " ‪system. out.println ("ch1 contans‬‬ ‫;)1‪ch‬‬ ‫1‪ch1++; // increment ch‬‬ ‫;)1‪system. out.println("ch1 is now" + ch‬‬ ‫}‬ ‫}‬ ‫:‬ ‫زی ا‬ ‫ﺥ وﺝ‬ ‫‪ch1 contains x‬‬ ‫‪ch1 is now y‬‬ ‫د. ای‬ ‫داد‬ ‫، 1‪ ch‬ا ای‬ ‫ی .‬ ‫1‪ch‬‬ ‫ار ‪X‬‬ ‫،ا ا‬ ‫در‬ ‫آ‬ ‫)ی‬ ‫ا‬ ‫َ‬ ‫از ‪ X‬در‬ ‫آ راآ‬ ‫د؛ ی‬ ‫ن ‪ Y‬در1‪ch‬‬ ‫ﺝ ذﺥ‬ ‫آر‬ ‫(.‬ ‫داد ه ي‬
  • 39. ‫ی‬ . ‫ا‬ ‫دی‬ ‫اي‬ ‫ م دارد‬boolean، ‫از ا اع داد ه ي ی در ﺝ وا‬ ‫دی‬ ‫ی‬ ‫هي‬ ‫م‬ .‫داد‬ ‫ه‬ ‫ع‬ ‫ای‬ ‫ان‬ ‫ را‬true ‫ ی‬false‫ار‬ ‫از دو‬ .a < b ‫؛ از ﺝ‬ ‫ا‬ ‫اي ه‬ ‫را‬ . boolean ‫رت دار ، ی‬ for ‫ و‬if ‫ن‬ ‫رات آ ﻝ‬ ‫آ‬ ‫ﺝ ت‬ : ‫ده‬ ‫ن‬ ‫ را‬boolean ‫ذی آ ر د‬ // demonstrate Boolean values. class BoolTest { public static void main (string args[]) { boolean b; b = false; system. out.println("b is" + b); b = true; system. out.println("b is" + b); // a Boolean value can control the if statement if (b) system. out.println("This is not executed."); // outcome of a relational operator is a boolean value system. out.println("10>9 is" + (10>9)); } } : ‫زی ا‬ ‫ﺥ وﺝ‬ b is false b is true This is executed. 10> 9 is true ‫آ‬ ‫آ‬ ‫،ه ن‬ ‫ای‬ .‫وﺝ د دارد‬ ‫ﺝ در ر ای‬ ‫ﺝﻝ‬ ‫ در ﺥ وﺝ‬false ‫ ی‬true، ‫د‬ ‫داد‬ ‫ی‬ println() boolean ‫ار‬ ‫ی‬ ‫،و‬ .‫د‬ ‫ه‬ ‫آ . زي‬ ‫ آ ی‬if ‫رت‬ ‫اي آ ل‬ ‫ی‬ ‫ﻝ‬ ‫ار ی‬ ، ‫دوم ای‬ : ‫رت زی‬ ‫رت‬ if (b == true) …
  • 40. ‫دﻝ ا‬ ‫ه‬ ‫.‬ ‫ار ﻝ ا‬ ‫<،ی‬ ‫اي ، از ﺝ‬ ‫را‬ ‫، ﺥ وﺝ ه‬ ‫م ای‬ ‫وري‬ ‫ا ن ٩>٠١‬ ‫ا ه يا‬ ‫و ،‬ ‫.‬ ‫رت 9>01،‪ true‬ا‬ ‫آ‬ ‫.‬ ‫ي ﺥ ردار ا‬ ‫">" از اوﻝ ی‬ ‫"+"‬ ‫اآ‬ ‫،‬ ‫ه‬ ‫ال ه ي‬ ‫،ی‬ ‫دي آ‬ ‫ار‬ ‫.ه‬ ‫ه ه‬ ‫ع داد ه در‬ ‫اوﻝ ی‬ ‫،‬ ‫ا اد‬ ‫ا‬ ‫م ا اد‬ ‫.‬ ‫ه‬ ‫ال ه ي‬ ‫ل از ﻝ‬ ‫ی . ١، ٢، ٣ و٢‬ ‫ر‬ ‫ﻝ ال‬ ‫. دو‬ ‫ي ٠١‬ ‫د در‬ ‫ی‬ ‫ه ی از‬ ‫،ی‬ ‫له‬ ‫دی د‬ ‫،‬ ‫ي‬ ‫ل)‬ ‫اد‬ ‫ي٨( وه‬ ‫، ُآ ل )‬ ‫ا‬ ‫د ه‬ ‫ا‬ ‫در ﻝ ال ه ي‬ ‫ي دی‬ ‫ا اد‬ ‫در‬ ‫د. وﺝ د‬ ‫ار‬ ‫در ا اي ا اد ُآ ل‬ ‫ا‬ ‫١(. در ﺝ وا ر‬ ‫ﻝ ﺥ‬ ‫٩٠‬ ‫ه در‬ ‫ار‬ ‫. از ای رو ،‬ ‫ﻝ‬ ‫ل‬ ‫د‬ ‫ي‬ ‫ار دارد. ی‬ ‫٧ ُآ ل‬ ‫ا‬ ‫ود‬ ‫ا آ ٩ در ﺥ رج از‬ ‫،‬ ‫ی ﺥ اه‬ ‫آ‬ ‫" ‪"word‬ه ي‬ ‫ﺥ‬ ‫آ‬ ‫لا‬ ‫اد‬ ‫زان ، ه‬ ‫د‬ ‫رد ا‬ ‫اي ا اد‬ ‫اوﻝ‬ ‫دارد.‬ ‫،‬ ‫ً٨، ١ ،٢٣ و‬ ‫ب٨،‬ ‫ل از‬ ‫اد‬ ‫ود ار م ه‬ ‫.‬ ‫ل ، وﺝ د‪ 0x‬در ا اي‬ ‫اد‬ ‫ا اد ه‬ ‫.‬ ‫١‬ ‫ی ٠١‬ ‫‪ (f‬ﺝ ی‬ ‫ای ‪) F A‬ی ‪a‬‬ ‫،‬ ‫١ا‬ ‫ن ع‬ ‫.‬ ‫ه‬ ‫٢٣‬ ‫ار‬ ‫آ در ﺝ وا ،‬ ‫ار‪int‬‬ ‫ﺝ ای د‬ ‫ﻝ ال ه ي‬ ‫ا‬ ‫آ‬ ‫از ﺥ د‬ ‫ا‬ ‫د،‬ ‫ل‬ ‫ت در ﺝ وا آ‬ ‫ه‬ ‫ار‬ ‫‪byte‬‬ ‫، از‬ ‫ی داد ه ي ع‬ ‫،‬ ‫م‬ ‫را ون وز ﺥ ي‬ ‫ی ﻝ ال‬ ‫ﺥ ی‬ ‫،ه‬ ‫ع‬ ‫ود‬ ‫ال در‬ ‫ار ﻝ‬ ‫ی‬ ‫داد. و‬ ‫ی ‪،long‬‬ ‫اي‬ ‫داد. ا‬ ‫‪، long‬‬ ‫ی‬ ‫ان‬ ‫را ه‬ ‫، ی ﻝ ال‬ ‫ی .ه‬ ‫ار ن ﻝ ال از ع‬ ‫آ‬ ‫آ‬ ‫ی‬ ‫اي آ‬ ‫ا‬ ‫د از ی ﻝ ال ‪ ، long‬ی‬ ‫ا‬ ‫م‬ ‫ار ﻝ ال ا‬ ‫(‬ ‫را‬ ‫ي)‬ ‫ا‬ ‫ف ‪) L‬ی ‪(l‬‬ ‫آ دن‬ ‫. ای آ ر ا‬ ‫‪ long‬ا‬ ‫ار‬ ‫ی‬ ‫ر‬ ‫ل ، ‪ 0X7ffffffffffffff‬ی 7085774586302733229 ،‬ ‫ان‬ ‫د.‬ ‫.‬ ‫ﻝ ال ع ‪ long‬ا‬
  • 41. ‫ري‬ ‫ال ه ي ا‬ ‫. ای ا اد را‬ ‫ري‬ ‫ا‬ ‫ل‬ ‫ا اد د‬ ‫ی‬ ‫ور،‬ ‫ري‬ ‫ا اد ا‬ ‫و‬ ‫دآ‬ ‫ارد، ی‬ ‫ا‬ ‫ﻝ‬ ‫داد. در‬ ‫ی‬ ‫د‬ ‫ارد ی‬ ‫رت ا‬ ‫ان‬ ‫د.‬ ‫داد‬ ‫ی‬ ‫ري‬ ‫ا‬ ‫ر و در ﺥ‬ ‫ا‬ ‫٠‬ ‫ل،٠٢،٩ ١ ١٣،٧‬ ‫ان‬ ‫ار‬ ‫، از‬ ‫د‬ ‫.در‬ ‫ارد ه‬ ‫رت ا‬ ‫ور‬ ‫ري‬ ‫اد ا‬ ‫ا‬ ‫ی‬ ‫د‬ ‫،ا‬ ‫از ٠١ ا‬ ‫ا‬ ‫ی‬ ‫يآ‬ ‫ور و‬ ‫ري‬ ‫دا‬ ‫ارد ،‬ ‫ا‬ ‫.‬ ‫ی‬ ‫ا‬ ‫دآ ی‬ ‫داد‬ ‫ی‬ ‫ل‬ ‫دد‬ ‫رت ‪)E‬ی ‪ (e‬وی‬ ‫د. ان‬ ‫.‬ ‫از ای ا اد ه‬ ‫، 50-951413 و 001+‪2e‬‬ ‫32‪٠٢٢E‬‬ ‫د‬ ‫ور ا‬ ‫ري‬ ‫اي ﻝ ال ا‬ ‫«‬ ‫ض از »د‬ ‫ر‬ ‫در ﺝ وا‬ ‫ای . ا ودن ‪D‬‬ ‫ي‬ ‫ا‬ ‫آ دن ﻝ ال ه ي ‪ ، float‬ی ‪ F‬ی ‪ f‬را‬ ‫اي‬ ‫د.‬ ‫م ای آ ر‬ ‫ا‬ ‫آ . اﻝ‬ ‫ی‬ ‫ر‬ ‫ال ه ي ‪ double‬را‬ ‫ﻝ‬ ‫ا‬ ‫ی ‪d‬‬ ‫دی‬ ‫آ در‬ ‫ر‬ ‫د ، در‬ ‫د‬ ‫ا‬ ‫ض ‪ double‬از‬ ‫. در‬ ‫ا‬ ‫ا‬ ‫د.‬ ‫د‬ ‫ا‬ ‫‪ float‬از ٢٣‬ ‫ال ه ي‬ ‫دی‬ ‫ﻝ وﺝ د دارد: ‪ true‬و‪. false‬‬ ‫ار‬ ‫دو‬ ‫.‬ ‫د ه‬ ‫ر‬ ‫ﻝ ال ه ي ﻝ‬ ‫"١ "‬ ‫ا‬ ‫ال ‪ true‬در ﺝ وا‬ ‫.ﻝ‬ ‫ی‬ ‫دي‬ ‫ی‬ ‫ه‬ ‫‪ true‬و‪false‬‬ ‫ﻝ‬ ‫هي‬ ‫دی در ﺝ وا‬ ‫. ای‬ ‫" ٠" ا‬ ‫و ﻝ ال ‪false‬‬ ‫.‬ ‫د ه‬ ‫ا‬ ‫هي ﻝ‬ ‫ر ي ﻝ ه ا‬ ‫و ی در‬ ‫ال ه ي آ راآ ي‬ ‫ی . آ راآ ه ،‬ ‫ر‬ ‫آ‬ ‫آ راآ ه ي ی‬ ‫هي‬ ‫آ راآ ه در ﺝ وا ، ای آ‬ ‫ن "+" و"-"‬ ‫هی‬ ‫د و‬ ‫ی‬ ‫ا اد‬ ‫آ‬ ‫ه‬ ‫١‬ ‫دی‬
  • 42. ‫م‬ ‫د.‬ ‫داد‬ ‫ی‬ ‫ل‬ ‫. ه ﻝ ال آ راآ ي در‬ ‫دازش و ی ی‬ ‫،‬ ‫ل‬ ‫در‬ ‫ان‬ ‫را‬ ‫رؤی‬ ‫آ راآ ه ي ا‬ ‫َ‬ ‫ان از " ‪escape‬‬ ‫،‬ ‫اي آ راآ ه ی ه آ‬ ‫’‪’z’،’a‬و’@’.‬ ‫ن وارد آ دن‬ ‫دآ ا‬ ‫د‬ ‫‪"sequence‬ا‬ ‫.‪ ’ n‬ﺝ ي‬ ‫ل‬ ‫"’ ﺝ ي آ راآ‬ ‫زد؛‬ ‫اه‬ ‫رد ز را‬ ‫آ راآ ه ي‬ ‫رت‬ ‫ار ی آ راآ‬ ‫اي وارد آ دن‬ ‫ه‬ ‫ﺝی.‬ ‫ی‬ ‫آ راآ‬ ‫وارد آ .‬ ‫ر‬ ‫د‬ ‫اي آ راآ ه ي ُآ ل،از’’ و‬ ‫ا‬ ‫ل وﺝ د دارد.‬ ‫اد‬ ‫ُآ ل ی ه‬ ‫ا‬ ‫رر‬ ‫’‪ ،’u‬و‬ ‫ل‬ ‫اد‬ ‫اي ه‬ ‫.‬ ‫’‪’a‬ا‬ ‫ی‬ ‫ل،’141’‬ ‫ان‬ ‫آ راآ ه ي -‪ISO‬‬ ‫ف’‪’a‬در‬ ‫ل ،’1600‪،’u‬‬ ‫ان‬ ‫د.‬ ‫ل وارد‬ ‫اد‬ ‫ه‬ ‫ای‬ ‫.‬ ‫ا‬ ‫ژا‬ ‫.’234‪ ’ua‬ه ی آ راآ‬ ‫٠ا‬ ‫ی‬ ‫اآ‬ ‫،‬ ‫1-‪ Latin‬ا‬ ‫.‬ ‫ا‬ ‫ن داد‬ ‫آ راآ ه در ﺝ ول 1‬ ‫ال ه ي رﺵ اي‬ ‫ي‬ ‫ی‬ ‫-‬ ‫ي دی‬ ‫ز‬ ‫ن‬ ‫اي در ﺝ وا ه‬ ‫ﻝ ال ه ي ر‬ ‫ن داد‬ ‫اي در ذی‬ ‫ال ه ي ر‬ ‫ل از ﻝ‬ ‫،‬ ‫لﺝ‬ ‫در‬ ‫آ راآ‬ ‫.‬ ‫ا‬ ‫"‪"Hello Word‬‬ ‫"‪" twonlines‬‬ ‫""‪""This is in quotes‬‬ ‫ال ه ي آ راآ ي‬ ‫اي ﻝ‬ ‫ل و "‪" escape sequence‬ه ی آ‬ ‫اد‬ ‫ارداده ي ُآ ل ه‬ ‫ا‬ ‫آ‬ ‫د ا .‬ ‫ا‬ ‫اي‬ ‫اي ﻝ ال ه ي ر‬ ‫رت‬ ‫ه ن‬ ‫ا ،‬ ‫ی‬ ‫زو‬ ‫ی در ی‬ ‫آ ای ر‬ ‫آ نا‬ ‫، نا‬ ‫ه ي ﺝ وا ﺝ آ‬ ‫ی در ر ر‬ ‫وﺝ د ارد.‬ ‫ﺥ در ای‬ ‫ادا‬ ‫آ راآ‬ ‫،ه‬ ‫ي دی‬ ‫ﺥ فز‬ ‫.‬ ‫ی‬ ‫ﺥ‬ ‫رت‬ ‫++‪، C/C‬‬ ‫، از ﺝ‬ ‫ي دی‬ ‫ه در ﺥ ز‬ ‫دا ،ر‬ ‫آ‬ ‫ﺝ :ه ن‬ ‫ه در وا‬ ‫.ر‬ ‫. ا در ﺝ وا ای‬ ‫زي‬ ‫د‬ ‫رای اي از آ راآ ه‬
  • 43. ، ‫آ‬ ‫زي‬ ‫د‬ ‫رت‬ ‫ه را‬ ‫ن ﺝ وا ر‬ ، ‫آ ﺥ اه دی‬ ‫.ه ن‬ ‫ه‬ . ‫نا‬ ‫د از‬ ‫وه ا‬ ‫ه‬ ‫ر‬ ‫ه دارد آ ه‬ ‫اي ی ی ر‬ ‫ي زی دي‬ Escape Sequence ‫آ راآ ه ي‬ ‫ح‬ Escape Sequence Octal character (ddd) ddd Hexadcimal Unicod character (xxxx) uxxxx Single quote ’ Double quote " Backslash Carriage return r New line (also known as line feed) n Form feed f Tab t Backspace b ‫ه‬ ‫از ی‬ ‫آ‬ ‫و‬ ‫.ه‬ ‫ه ي ﺝ وا ه‬ ‫زي در‬ ‫ی ذﺥ‬ ‫ه ، وا‬ ‫ود و‬ ‫ه داراي‬ ‫و ،ه‬ . ‫ی‬ ( ‫ار اوﻝ )دﻝ ا‬ ‫، عو‬ ‫د‬ ‫ا‬ ‫ی‬ ‫در‬ ‫آ آ ن‬ ‫ود ه‬ . ‫ته‬ ‫دور‬ . ‫ا‬ ‫ر‬ ‫در ذی‬ . ‫ا‬ ‫ه‬ ‫آ دن‬ ‫ﺕ ی‬ ‫ﺵ‬
  • 44. ‫ه در ذی‬ ‫آ دن‬ ‫ی‬ ‫آ‬ .‫آ ر د‬ ‫و‬ ‫ی‬ ‫ه را ی در ﺝ وا‬ ‫ه‬ : ‫ا‬ ‫ورد‬ type identifier [ = value][, identifier [ = value]… ]; ‫ ، م‬identifier . ‫ا‬ ‫ی ﺝ وا ، م ی آ س ی را‬ ‫ی‬ ‫از ا اع داد ه ي‬ ‫ ، ی‬type ،‫ار‬ ‫وي و ی‬ ‫آ دن ی‬ ‫ی‬ ‫ان از‬ ‫ه را‬ . ‫ا‬ ‫ع‬ ‫اري از ه ن‬ ‫ی‬ ‫ارده‬ ‫رت‬ ‫آ‬ ‫دا‬ ‫ﺥ‬ .‫د‬ ‫ارده‬ . ‫اي‬ ‫از ی ی‬ ‫آ‬ ‫و‬ ‫را‬ ‫، م‬ ‫آ‬ ‫ی‬ ‫رد‬ ‫از ع‬ ‫از ی‬ ‫اي‬ ‫ﺥ از‬ ‫آ‬ ‫آ‬ ‫ن ﺝ آ .د‬ ‫هي‬ ‫ی‬ ‫ل ذی از‬ . ‫ﺝاآ‬ . ‫ار اوﻝ ه‬ ‫داراي‬ int a, b, c; // declares three ints, a, b, and c. int d = 3, e, f = 5; // declares three more ints, initializing // d and f. byte z = 22; // initializes z. double pi = 3.14159 // declares an approximation of pi. char x = ’x’; // the variable x has the value ’x’. ‫ن‬ ‫. ﺝ وا ا‬ ‫ن‬ ‫ن ار آ‬ ‫ي در‬ ، ‫آ‬ ‫ب‬ ‫هی آ ا‬ . ‫ده‬ ‫ه ی ازا اع داد ه را‬ ‫پ ی‬ ‫ارده او‬ ‫ن‬ ‫، ا ﺝ وا ا‬ ‫ا‬ ‫د‬ ‫ار اوﻝ ا‬ ‫ان‬ ‫، از ﺙ‬ ‫ﻝ ي‬ ‫در‬ ‫ا‬ . ‫اه آ د ا‬ ‫ی‬ ‫در ز ن‬ ‫ر ي‬ ‫و‬ ‫ه را‬ ‫یي‬ ‫ارده‬ ‫در د‬ ‫اﻝ اوی را‬ ‫ی‬ ‫لو‬ ‫آ‬ ‫ﺝ آ‬ ‫ذی‬ ‫آ‬ ،‫ل‬ ‫ان‬ : ‫آ‬ ‫دی‬ ‫دو‬ ‫دا‬ // Demonstrate dynamic initialization. class DynInit { public static void main(string args[]) {
  • 45. ‫;0.4 = ‪double a = 3.0, b‬‬ ‫‪// c is dynamically initialized‬‬ ‫;)‪double c = Math.sqrt(a * a + b *b‬‬ ‫;)‪system.out.println("Hypotenuse is" + c‬‬ ‫}‬ ‫}‬ ‫دو ﺙ‬ ‫و‬ ‫،‪ a‬و ‪، b‬‬ ‫. دو‬ ‫ا‬ ‫ی‬ ‫)‪ b،a‬و‪(c‬‬ ‫در ای‬ ‫د از‬ ‫د) ا‬ ‫ار ده‬ ‫لو‬ ‫ر ی‬ ‫ا .ا ،‪c‬‬ ‫ارده‬ ‫رث(.‬ ‫ي از آ س‬ ‫آ‬ ‫ا‬ ‫د‬ ‫ه ي آ ر ﺝ وا )(‪، sqrt‬ا‬ ‫از‬ ‫دی‬ ‫از ی‬ ‫در‬ ‫آ در‬ ‫آ ي ای آ ر ن ا‬ ‫آ .‬ ‫ن ﺥ دش را‬ ‫وﺝ ر ر‬ ‫‪Math‬‬ ‫د ، از‬ ‫د‬ ‫ا‬ ‫ا‬ ‫ار ده‬ ‫ي آ در ز ن‬ ‫ان از ه‬ ‫ارده‬ ‫رت‬ ‫ی ﻝ ال ه .‬ ‫ه ي دی‬ ‫ه ،‬ ‫ﺝ‬ ‫ه‬ ‫و دور ﺡ ت‬ ‫ود د‬ ‫ن‬ ‫ا . ا ، ﺝ وا ا‬ ‫ی‬ ‫)(‪main‬‬ ‫د ، در ا اي‬ ‫ا‬ ‫هي‬ ‫م‬ ‫ل‬ ‫زو‬ ‫ك ’{’‬ ‫ه‬ ‫دا‬ ‫آ‬ ‫زد. ه ن‬ ‫اه‬ ‫آ‬ ‫ه را در ه‬ ‫ی‬ ‫كﺝ یي‬ ‫رآ‬ ‫آ . از ای رو ، ه‬ ‫ود اي را‬ ‫ك،‬ ‫د. ه‬ ‫’}’ ﺥ‬ ‫اي‬ ‫ه‬ ‫آ آ آ ام‬ ‫ود‬ ‫د. ه‬ ‫ود ﺝ ی ي ای د‬ ‫،‬ ‫آ‬ ‫ز‬ ‫را‬ ‫د.‬ ‫ءه‬ ‫ت ن‬ ‫. دور‬ ‫رؤی ه‬ ‫ي‬ ‫ی‬ ‫:‬ ‫آ‬ ‫ی‬ ‫ود ه را‬ ‫از‬ ‫، دو د‬ ‫ي دی‬ ‫يآ‬ ‫ري از ز‬ ‫ار . ا‬ ‫ﺝ وا‬ ‫اي د‬ ‫ل‬ ‫ﺥ‬ ‫ود ه ي ی‬ ‫. ا ، ای‬ ‫و‬ ‫د،ا‬ ‫ود‬ ‫ی‬ ‫دا‬ ‫ی‬ ‫ه ی وﺝ د دارد آ در‬ ‫ن ای د‬ ‫ا‬ ‫ود‬ ‫آ . در ز ن ﺝ وا ، دو‬ ‫ی‬ ‫ی و‬ ‫ر‬ ‫ی ا‬ ‫م ای آ ر‬ ‫ا‬ ‫ی‬ ‫ود ه ی آ‬ ‫و‬ ‫ی‬ ‫ی آ س‬ ‫آ‬ ‫ود ه ی ه‬ ‫،‬ ‫ا‬ ‫ی‬ ‫ود آ س ،‬ ‫ن‬ ‫،ا ،‬ ‫ا‬ ‫ري‬ ‫ی‬ ‫ای‬ ‫.‬ ‫ی‬
  • 46. ‫ل‬ ‫ا‬ ‫ی‬ ‫ی‬ ‫ود‬ ‫د دارد آ‬ ‫ت و وی‬ ‫ﺥ‬ ‫ر .‬ ‫ل‬ ‫ی‬ ‫، ای‬ ‫ن‬ ‫ا‬ ‫د. ا‬ ‫ز‬ ‫د ز ن‬ ‫آ‬ ‫د،‬ ‫ی‬ ‫ه‬ ‫ود اي آ‬ ‫.‬ ‫ار‬ ‫ود ن‬ ‫در‬ ‫،‬ ‫ه ی دا‬ ‫را‬ ‫ی آ در ﺥ رج از‬ ‫اي‬ ‫،‬ ‫ی‬ ‫ود‬ ‫ه ی آ در ی‬ ‫،‬ ‫رآ‬ ‫ي را درون ی‬ ‫. از ای رو، و‬ ‫(‬ ‫)د‬ ‫رؤی‬ ‫ار دار ،‬ ‫ود‬ ‫ن‬ ‫ات‬ ‫وی‬ ‫د‬ ‫زی و ن را در‬ ‫ن را‬ ‫، در وا‬ ‫آ‬ ‫ی‬ ‫ود‬ ‫زي را‬ ‫ن‬ ‫اي‬ ‫ود ، ی و ا س زم‬ ‫، ا‬ ‫آ . در‬ ‫ز‬ ‫ز .‬ ‫اه‬ ‫، در‬ ‫آ‬ ‫آ را ای د‬ ‫رآ‬ ‫ل،ه‬ ‫ان‬ ‫.‬ ‫در‬ ‫ا‬ ‫ود ه‬ ‫و ،‬ ‫ود‬ ‫،‬ ‫ا‬ ‫ا‬ ‫آ .و‬ ‫در ی را ای د‬ ‫ود ﺝ ی‬ ‫وا‬ ‫و‬ ‫ود‬ ‫در‬ ‫ی‬ ‫هي‬ ‫آ‬ ‫ی‬ ‫د. ای‬ ‫را در‬ ‫ود درو‬ ‫دق‬ ‫ای‬ ‫د. ا ،‬ ‫ﺥ اه‬ ‫رؤی‬ ‫ود درو‬ ‫هي‬ ‫راﻝ‬ ‫اي د‬ ‫،‬ ‫رؤی‬ ‫و‬ ‫ود‬ ‫اي‬ ‫،‬ ‫ی‬ ‫ود درو‬ ‫ه ی آ در‬ ‫.‬ ‫د.‬ ‫اه‬ ‫ی :‬ ‫ذی را در‬ ‫ود ه ي در ،‬ ‫اي درك ﺙ‬ ‫.‪// Demonstrate block scope‬‬ ‫{ ‪class scope‬‬ ‫{ )] [‪public static void main(string args‬‬ ‫‪int x; // known to all code within main‬‬ ‫;01 = ‪x‬‬ ‫‪if (x == 10) { // start new scope‬‬ ‫‪int y = 20; // known only to this block‬‬ ‫.‪// x and y both known here‬‬ ‫;)‪system.out.println("x andy: "+ x + "" + y‬‬ ‫;2 * ‪x = y‬‬ ‫}‬ ‫‪// y = 100; // Error! y not known here‬‬ ‫.‪// x is still known here‬‬ ‫;)‪system.out.println("x is" + x‬‬ ‫}‬
  • 47. ‫}‬ ‫ا‬ ‫ی‬ ‫ود )(‪main‬‬ ‫‪ x‬در ا اي‬ ‫،‬ ‫ا‬ ‫ت‬ ‫آ در‬ ‫ه ن‬ ‫ی‬ ‫‪y‬‬ ‫ك ‪، if‬‬ ‫. درون‬ ‫ا‬ ‫د‬ ‫ه ي درون )(‪main‬‬ ‫راﻝ‬ ‫اي آ د‬ ‫و‬ ‫ك ﺥ دش‬ ‫در ه ن‬ ‫)‪(y‬‬ ‫، ن‬ ‫ا‬ ‫ی‬ ‫ي‬ ‫ك‬ ‫ن در ای‬ ‫.‬ ‫ا‬ ‫ل‬ ‫«‬ ‫»‬ ‫ك‬ ‫001=‪ y‬در ﺥ رج ن‬ ‫آ‬ ‫ا‬ ‫دﻝ‬ ‫ه‬ ‫.‬ ‫رؤی ا‬ ‫اﺝ‬ ‫ی‬ ‫ﺥ يز نآ‬ ‫داری ،‬ ‫« را از ا اي ن‬ ‫د »‬ ‫.ا‬ ‫ا‬ ‫ان‬ ‫ك ‪if‬‬ ‫. در‬ ‫(‬ ‫رؤی )د‬ ‫ود اش‬ ‫ون‬ ‫ا آ ‪ y‬در‬ ‫،‬ ‫ﺥ اه‬ ‫(،‬ ‫در‬ ‫ود‬ ‫،‬ ‫ك)ی‬ ‫ه ي درون ی‬ ‫راﻝ‬ ‫اآ د‬ ‫د آ د،‬ ‫از ‪ x‬ا‬ ‫دار .‬ ‫ﺥ د،د‬ ‫ود‬ ‫در‬ ‫ی‬ ‫هي‬ ‫ی‬ ‫از‬ ‫ه‬ ‫آ د، ا‬ ‫ی‬ ‫اي‬ ‫ه را در ه‬ ‫ان‬ ‫ك‬ ‫در ه‬ ‫آ ، در ن‬ ‫ی‬ ‫ي را در ا اي ی‬ ‫د. از ای رو، ا‬ ‫د ﺥ اه‬ ‫ا‬ ‫ن‬ ‫، در‬ ‫آ‬ ‫ی‬ ‫آ‬ ‫ي‬ ‫ي را در ا‬ ‫د. ا ا‬ ‫رؤی ﺥ اه‬ ‫رت در آ‬ ‫.‬ ‫اه دا‬ ‫ند‬ ‫راﻝ‬ ‫د‬ ‫اآ ه‬ ‫د،‬ ‫ی ﺥ اه‬ ‫رت‬ ‫ن‬ ‫د‬ ‫ا‬ ‫ن‬ ‫ی‬ ‫از‬ ‫‪count‬‬ ‫اآ‬ ‫،‬ ‫ا‬ ‫در‬ ‫رت زی‬ ‫ل،‬ ‫ان‬ ‫:‬ ‫!‪// This fragment is wrong‬‬ ‫!‪count = 100; // oops! cannot use count before it is declared‬‬ ‫;‪int count‬‬ ‫م‬ ‫وه‬ ‫ن ای د‬ ‫ود‬ ‫م ورود‬ ‫ه ه‬ ‫:‬ ‫ﺝ آ‬ ‫ی‬ ‫ای‬ ‫ارش را‬ ‫ي‬ ‫آ ه‬ ‫ی‬ ‫. ای‬ ‫د‬ ‫از‬ ‫ن‬ ‫ود‬ ‫ﺥ وج از‬ ‫ی‬ ‫ه ی آ درون ی‬ ‫ای‬ ‫.‬ ‫اه دا‬ ‫ود اش‬ ‫از ﺥ وج از‬ ‫ي آ در ی‬ ‫،‬ ‫.ه‬ ‫اه دا‬ ‫اﺥ ا‬ ‫ز‬ ‫ار ن را در ا‬ ‫،‬ ‫ار‬ ‫د،‬ ‫ی‬ ‫ك‬ ‫ود اش‬ ‫ته‬ ‫ﺥ اه داد. از ای رو، دور‬ ‫ك از د‬ ‫از ﺥ وج از‬ ‫را‬ ‫ه م ورود‬ ‫ر‬ ‫رت ه‬ ‫د، در ن‬ ‫ار ده‬ ‫ی‬ ‫ي در‬ ‫.ا‬ ‫ا‬ ‫وا‬ ‫ی :‬ ‫ي را در‬ ‫ل،‬ ‫ان‬ ‫د.‬ ‫ارده‬ ‫ك ، از‬ ‫ن‬
  • 48. // Demonstrate lifetime of a variable. class LifeTime { public static void main(string args[]) { int x; for (x = 0; x<3; x++) { int y = -1; // y is initialized each time block is entered system.out.println("y is :" + y); // this always prints -1 y = 100; system.out.println("y is now : " + y); } } } : ‫ا‬ ‫ن داد‬ ‫در ذی‬ ‫ﺥ وﺝ ای‬ y is: -1 y is now: 100 y is: -1 y is now: 100 y is: -1 y is now: 100 .‫د‬ ‫ار ده‬ -١ y ، for ‫ه م ورود‬ ‫ر‬ ‫،ه‬ ‫آ‬ ‫ه ن‬ . ‫ده‬ ‫ار ﺝ ی را از د‬ ‫،ا‬ ‫ی‬ ‫ن‬ ١٠٠‫ار‬ ‫وﺝ د‬ ‫از‬ ‫ی‬ ‫يه م‬ ‫ان‬ ‫،ا‬ ‫در‬ ‫ا‬ ‫كه‬ ‫:ا‬ ‫و ﺥ ی‬ : ‫ذی‬ ،‫ل‬ ‫ان‬ .‫آ د‬ ‫ی‬ ‫و‬ ‫ود‬ ‫هي‬ // This program will not compile class scopeErr { public static void main(string args[]) { int bar = 1; { // creates a new scope int bar = 2 // compile time error – bar already defined! } } } casting ‫ﺕ ی و‬
  • 49. ‫ار‬ ‫ع‬ ‫ی‬ ‫آ‬ ‫دا‬ ‫رت‬ ‫، در ن‬ ‫زي دا‬ ‫ا‬ ‫رت ﺝ وا‬ ‫، در ن‬ ‫ز ر‬ ‫ن دو ع‬ ‫.ا‬ ‫اول ا‬ ‫ع دی‬ ‫ي از ی‬ ‫ی‬ ‫ن‬ ‫ا‬ ‫ل،ه‬ ‫ان‬ ‫م ﺥ اه داد.‬ ‫رت ﺥ دآ ر ا‬ ‫ی را‬ ‫و از ای رو،‬ ‫ز ر‬ ‫م داد ه ي‬ ‫‪ long‬وﺝ د دارد. ا‬ ‫ی‬ ‫ار ‪int‬‬ ‫‪byte‬‬ ‫اي ‪double‬‬ ‫ی‬ ‫،ه‬ ‫ان‬ ‫.‬ ‫ر‬ ‫ی ت‬ ‫ه‬ ‫اي ا اع داد ه ي‬ ‫ی‬ ‫روی ه ي‬ ‫نآ‬ ‫، زه ا‬ ‫.ﺥ‬ ‫ا‬ ‫ی‬ ‫ا اع‬ ‫ی‬ ‫ی‬ ‫د آ ؛‬ ‫م ای آ ر ی از"‪ " casting‬ا‬ ‫اي ا‬ ‫ز ر وﺝ د دارد.‬ ‫دازی .‬ ‫ی ﺥ دآ ر و ‪casting‬‬ ‫ر‬ ‫ز ر. ای‬ ‫داد ه ي‬ ‫دآ ر وا‬ ‫ﺕ ی ت‬ ‫،‬ ‫ای ذی‬ ‫،‬ ‫ی‬ ‫ي از ع دی‬ ‫ع داد‬ ‫ی‬ ‫و‬ ‫د:‬ ‫م‬ ‫ی ﺥ دآ ر ا‬ ‫.‬ ‫ز ر‬ ‫ن دو ع‬ ‫•‬ ‫.‬ ‫أ‬ ‫از ع‬ ‫ر‬ ‫ع‬ ‫•‬ ‫ان‬ ‫د.‬ ‫م‬ ‫زي« ا‬ ‫رگ‬ ‫» ی ه ا‬ ‫،‬ ‫ار‬ ‫ط‬ ‫ای دو‬ ‫ه‬ ‫د‬ ‫ای ا‬ ‫،‬ ‫رگ ا‬ ‫ا از آ‬ ‫دی ‪byte‬‬ ‫اري‬ ‫اي‬ ‫ل ، ع ‪ int‬ه‬ ‫ورت ارد.‬ ‫ی‬ ‫رت‬ ‫رت ‪casting‬‬ ‫از‬ ‫ري‬ ‫وا‬ ‫ا اد‬ ‫دي ، از ﺝ‬ ‫زي« ، ا اع داد ه ي‬ ‫ر‬ ‫ی ته ا‬ ‫اي »‬ ‫‪ char‬ی ‪boolean‬‬ ‫دي‬ ‫، ا اع داد ه ي‬ ‫.ا‬ ‫ز ره‬ ‫ی ی‬ ‫ور،‬ ‫.‬ ‫ز ر‬ ‫، ‪ char‬و ‪ boolean‬ی ی‬ ‫.ه‬ ‫ز ر‬ ‫ه ي ع ‪byte‬‬ ‫در‬ ‫ﻝ ال‬ ‫ار ﺙ‬ ‫ی‬ ‫،و‬ ‫از ای‬ ‫آ‬ ‫ه ن‬ ‫ده .‬ ‫م‬ ‫ی ﺥ دآ ر را ا‬ ‫، ﺝ وا ز ه‬ ‫،‪ short‬ی ‪ long‬ذﺥ‬ ‫ز ر‬ ‫م ‪ casting‬اي ا اع داد ه ي‬ ‫ا‬
  • 50. ‫ز .‬ ‫ف‬ ‫م زه را‬ ‫ی ت‬ ‫، ا ای‬ ‫وا‬ ‫ی ت ﺥ دآ ر‬ ‫ا‬ ‫آ ؟‬ ‫ده ،‬ ‫‪byte‬‬ ‫ی‬ ‫ار ‪ int‬را‬ ‫اه ی‬ ‫ل،ا‬ ‫ان‬ ‫ع‬ ‫. ای‬ ‫از‪ int‬ا‬ ‫ا آ ه ‪ byte‬آ‬ ‫د،‬ ‫م‬ ‫ر ﺥ دآ ر ا‬ ‫ی‬ ‫ای‬ ‫ار ‪int‬‬ ‫اآ‬ ‫د،‬ ‫زي«‬ ‫آ‬ ‫ا‬ ‫ی ه‬ ‫ی ت ه او ت ، »‬ ‫َ‬ ‫.‬ ‫ذﺥ‬ ‫د در‬ ‫ی آ‬ ‫ر‬ ‫ی‬ ‫د آ ،ی‬ ‫م ده ، ی از ‪ casting‬ا‬ ‫ز ر را ا‬ ‫دو ع‬ ‫ی‬ ‫اي‬ ‫:‬ ‫رت زی ا‬ ‫مآر‬ ‫ا‬ ‫آ‬ ‫ی ا اع داد ه .‬ ‫‪(target-type) value‬‬ ‫د.‬ ‫ی‬ ‫ن‬ ‫ی‬ ‫رد‬ ‫ار‬ ‫آ‬ ‫ع داد اي ا‬ ‫آ‬ ‫‪، target-type‬‬ ‫ار‬ ‫د.‬ ‫م‬ ‫‪ byte‬ا‬ ‫‪ casting‬از‪int‬‬ ‫رت زی ،‬ ‫ل ، در‬ ‫ان‬ ‫د‬ ‫ود ‪ byte‬و‬ ‫ی‬ ‫ارش از‬ ‫،‬ ‫ود ‪byte‬‬ ‫از‬ ‫ر‬ ‫د.‬ ‫آ‬ ‫وردن‬ ‫;‪int a‬‬ ‫;‪byte b‬‬ ‫… //‬ ‫;‪b = (byte) a‬‬ ‫اي دی‬ ‫ی‬ ‫،‬ ‫ع‬ ‫ی‬ ‫ور‬ ‫ري‬ ‫ار ا‬ ‫ی‬ ‫م‬ ‫ه‬ ‫ش.‬ ‫د:‬ ‫م‬ ‫ا‬ ‫ار‬ ‫ی‬ ‫. از ای رو، و‬ ‫ري ه‬ ‫ا‬ ‫، ا اد‬ ‫دا‬ ‫آ‬ ‫ه ن‬ ‫رود.‬ ‫ري از د‬ ‫ا‬ ‫ی ،‬ ‫ع‬ ‫ی‬ ‫ور‬ ‫ري‬ ‫ا‬ ‫د.‬ ‫، ١ ﺥ اه‬ ‫ار‬ ‫،‬ ‫ی‬ ‫ی‬ ‫ار ٣٢/١‬ ‫ل،ا‬ ‫ان‬ ‫آ در‬ ‫از ن‬ ‫ر‬ ‫د‬ ‫ا از‬ ‫،ا‬ ‫. اﻝ‬ ‫ش داد ﺥ اه‬ ‫٣٢/٠‬ ‫ی .‬ ‫آه‬ ‫ع‬ ‫ود‬ ‫ی‬ ‫ارش از‬ ‫رت‬ ‫د ، در ن‬ ‫ذﺥ‬ ‫‪ casting‬دار :‬ ‫ز‬ ‫ده آ‬ ‫ن‬ ‫ی را‬ ‫ع‬ ‫ذی‬ ‫.‪// Demonstrate casts‬‬ ‫‪class conversion‬‬ ‫{‬ ‫{ )] [‪public static void main(string args‬‬ ‫;‪byte b‬‬ ‫;752 = ‪int i‬‬ ‫;241.323 = ‪double d‬‬
  • 51. system.out.println(" nconversion of int to byte."); b = (byte) i; system.out.println("i and b" + i +" "+ b); system.out.println(" nconversion of double to int."); i = (int) d; system.out.println("d and i" + d +" " + i); system.out.println(" nconversion of double to byte."); b = (byte) d; system.out.println("d and b"+ d + " " +b); } } : ‫ا‬ ‫ن داد‬ ‫در زی‬ ‫ﺥ وﺝ‬ conversion of int to byte. i and b 257 1 conversion of double to int. d and i 323.142 323 conversion of double to byte. d and b 323.142 67 ‫ار ٧ ٢ در‬ ‫ذﺥ‬ ‫" ﺝ‬casting" ‫آ .و‬ ‫ر‬ ‫ی ت را‬ ‫ه ی از‬ ‫ای‬ ‫د آ در‬ ( byte ‫ود‬ )٢ ٢ ٧ ، ،‫د‬ ‫م‬ ‫ ا‬byte ‫رود و‬ ‫ري ن از د‬ ‫ا‬ ،‫د‬ ‫ی‬ int ‫ی‬ d ‫.و‬ ‫ل،ی ا‬ ‫ای‬ . ‫ل، ٧ ا‬ ‫آ در ای‬ ‫ی‬ ‫٢آه‬ ‫ارش‬ ‫رﺕ‬ ‫دآ ر ا اع داد ه در‬ ‫ارﺕ ء‬ . ‫ر‬ ‫: در‬ ‫ا‬ ‫ه‬ ‫ای دی‬ ‫ع داد ه در‬ ‫ی‬ ، ‫ت‬ ‫و‬ ‫ز‬ ‫رد‬ ‫رات ، د‬ ‫ﺥ از‬ ‫ی . در‬ ‫ل ذی را در‬ ، ‫ای ا‬ ‫اي درك دﻝ‬ ،‫ل‬ ‫ان‬ . ‫آ‬ ‫وز‬ ‫ه‬ ‫از‬ ‫ود ی‬ ‫ه او ت از‬ ‫ار‬ ‫اي ی‬ : ‫آ‬ ‫ر‬ ‫رت زی را‬
  • 52. ‫;04 = ‪byte a‬‬ ‫;05 = ‪byte b‬‬ ‫;001 = ‪byte c‬‬ ‫;‪int d = a * b / c‬‬ ‫ی ی ای‬ ‫اي‬ ‫آ .‬ ‫وز‬ ‫ه ي ع ‪byte‬‬ ‫ود‬ ‫‪ a*b‬از‬ ‫ﺝ‬ ‫ر‬ ‫ع ‪ byte‬ی ‪ short‬را‬ ‫هي‬ ‫،‬ ‫ر‬ ‫ارزی‬ ‫، ﺝ وا در‬ ‫د از‪ int‬ا م‬ ‫‪ a*b‬ا‬ ‫آ ﺝ‬ ‫ی‬ ‫ده . ای‬ ‫‪ int‬ار ء‬ ‫ﺥ دآ ر‬ ‫‪ a‬و‪b‬‬ ‫وﺝ د ای‬ ‫)٠٠٠٢= ٠ * ٠ (‬ ‫ﺝ‬ ‫‪ . byte‬از ای رو،‬ ‫دو‬ ‫د.‬ ‫ﺥ اه‬ ‫،‬ ‫ه دو از ع ‪ byte‬ه‬ ‫ی‬ ‫وز ﺥ ي ز ن آ‬ ‫ﺝ‬ ‫ا‬ ‫،ا‬ ‫ا‬ ‫ار ء ﺥ دآ ر‬ ‫د:‬ ‫وز ﺥ‬ ‫ﺝ‬ ‫زی‬ ‫ه در‬ ‫ل‬ ‫،‬ ‫ان‬ ‫د.‬ ‫;05 = ‪byte b‬‬ ‫;2 * ‪b = b‬‬ ‫//‬ ‫!‪Error! cannot assign an int to a byte‬‬ ‫ن‬ ‫د. ا‬ ‫‪ byte‬ذﺥ‬ ‫در‬ ‫ار ا‬ ‫٢*٠‬ ‫ً‬ ‫آ‬ ‫ل‬ ‫در ای‬ ‫‪int‬‬ ‫،‬ ‫ی‬ ‫‪ int‬ار ء‬ ‫ر ﺥ دآ ر‬ ‫رت‬ ‫م ارزی‬ ‫ه ه‬ ‫د از‪ casting‬در‬ ‫، ون ا‬ ‫ع ‪ int‬ا‬ ‫رت آ از‬ ‫ی . از ای رو‬ ‫ار ء‬ ‫ل،‬ ‫نه‬ ‫،ه‬ ‫ار در د‬ ‫ا‬ ‫. ای ا‬ ‫زي‬ ‫ذﺥ‬ ‫‪byte‬‬ ‫.‬ ‫دق ا‬ ‫، زه‬ ‫ذﺥ‬ ‫در‬ ‫د‬ ‫ی ا‬ ‫‪casting‬‬ ‫ه داری ، ی از‬ ‫ری‬ ‫ا‬ ‫آ از‬ ‫ا‬ ‫در‬ ‫ل زی :‬ ‫ن‬ ‫آ ؛ه‬ ‫;05 = ‪byte b‬‬ ‫)‪b = (byte‬‬ ‫;)2 * ‪(b‬‬ ‫.‬ ‫٠٠١ ا‬ ‫و در‬ ‫ار‬ ‫ن‬ ‫آ‬ ‫ارﺕ ء ا اع داد ه‬ ‫ا‬
  • 53. ‫اي ار ء دارد آ در‬ ‫ن‬ ‫ی‬ ، int ‫ه‬short ‫ه و‬byte ‫ار ء‬ ‫و‬ ‫ﺝ وا‬ ‫ و‬byte ‫دی‬ ‫م‬ ، ‫ای‬ : ‫ح ذی ه‬ ‫ا‬ ‫. ای‬ ‫رات ر ی‬ ‫ع‬ ‫ه از‬ ‫از‬ ‫ی‬ ‫،ا‬ . ‫ی‬ ‫ ار ء‬int ، ‫اي آ‬ short ‫، در‬ float ‫ه از ع‬ ‫از‬ ‫ی‬ ‫ی .ا‬ ‫ ار ء‬long ‫رت‬ ‫،آ‬ long ، double ‫ه از ع‬ ‫از‬ ‫ی‬ ‫وا‬ ‫ی‬ ‫ ار ء‬float ‫رت‬ ‫رت آ‬ ‫ن‬ .‫د‬ ‫ ﺥ اه‬double ‫ه‬ ‫د‬ ‫رت ار ء داد‬ ‫ﺝ د در‬ ‫دی‬ ‫ه ی از‬ ‫ده آ‬ ‫ن‬ ‫زی‬ : ‫دا‬ ‫ن دی‬ ‫ر‬ class promote { public static void main(string args[ ]) { byte b = 42; char c = ’a’; short s = 1024; int i = 50000; float f = 5.64f; double d = .1234; double result = (f * b) + (i / c) - (d * s); system.out.println((f *b) + " + " + (i / c) +" - " + (d * s)); system.out.println("result = " + result); } } : ‫دازی‬ ‫از‬ ‫ار ا اع داد ه در ای‬ ‫د‬ ‫ر‬ ‫ای‬ double result = (f * b) + (i / c) - (d * s); ‫در ﺝ‬ .‫د‬ float ‫ﺝ‬ ‫ی‬ ‫ ار ء‬float b،f*b ‫در ﺝ‬ ،d*s ‫در ﺝ‬ .‫د‬ ‫ی‬ int ‫ع‬ ‫ﺝ‬ ‫و‬ ‫ی‬ ‫ ار ء‬int c، i /c ‫ای‬ ‫ای‬ ‫ﺥ‬ ‫دو‬ double ‫عﺝ‬ ‫و‬ ‫ی‬ ‫ ار ء‬double s ‫ار‬ float‫ و‬int ‫و ی‬ float .‫د‬ ‫ر‬ double ‫ و‬int ، float ‫ار‬ ‫ع‬ ‫آ‬ ‫ی‬ ‫ ار ء‬double double ‫ي ﺥ ی‬ float .‫د‬ ‫ﺥ اه‬ . ‫رت ا‬ ‫ی‬
  • 54. ‫رای ه‬ ‫رت‬ ‫ك‬ ‫م‬ ‫ی ی‬ ‫از‬ ‫آ ارﺝ ع‬ ‫عا‬ ‫هيه‬ ‫وه از‬ ‫ه رای ،‬ ‫ي‬ ‫يی‬ ‫رت‬ ‫را‬ ‫ان رای ه ی از ا اع‬ ‫د. در ﺝ وا‬ ‫. رای ه‬ ‫ه‬ ‫د‬ ‫ﺥ د ن‬ ‫ی ای آ‬ ‫ه رای از‬ ‫د. ه ی از‬ ‫ای د‬ ‫.‬ ‫ه‬ ‫ت‬ ‫يا‬ ‫و‬ ‫اي‬ ‫روش‬ ‫د ن در‬ ‫د رای ه در ﺝ وا‬ ‫.‬ ‫ی داری ، ا‬ ‫++‪C/C‬‬ ‫ﺝ :ا‬ ‫وت دارد.‬ ‫نز‬ ‫ي‬ ‫رای ه ي ﺕ‬ ‫رای اي ای د‬ ‫اي‬ ‫.‬ ‫عا‬ ‫ه يه‬ ‫از‬ ‫ي« ، ا‬ ‫ه رای »‬ ‫رای ه ي‬ ‫ی‬ ‫مآ‬ ‫ی .‬ ‫ای د‬ ‫رد‬ ‫رای اي از ع‬ ‫آ ،ا ا ی ی‬ ‫:‬ ‫رت زی ا‬ ‫ي‬ ‫;] [‪type var-name‬‬ ‫ده‬ ‫ع داد ی ی‬ ‫آ . ع رای ،‬ ‫ع رای را‬ ‫‪ type‬در ای‬ ‫ع داد ه ی در رای‬ ‫آ آ‬ ‫آ . از ای رو ، ع رای‬ ‫رای را‬ ‫ی‬ ‫ع ‪ int‬در زی‬ ‫م ‪ month-days‬از‬ ‫ل، رای اي‬ ‫ان‬ ‫.‬ ‫ﺥ اه‬ ‫ذﺥ‬ ‫د:‬ ‫;] [‪int month-days‬‬ ‫د، ا در وا ه ز ه‬ ‫رای اي ‪month-days‬‬ ‫ﺝ‬ ‫ی‬ ‫ا‬ ‫ی‬ ‫د،‬ ‫ارده‬ ‫‪null‬‬ ‫، رای ‪ month-days‬آ‬ ‫رای اي وﺝ د ارد. در‬ ‫دی‬ ‫از‬ ‫ی‬ ‫رای اي‬ ‫‪ month-days‬را‬ ‫اي‬ ‫.‬ ‫ار ا‬ ‫ون‬ ‫رای‬ ‫‪month-days‬‬ ‫د از ‪ new‬ای د و ن را‬ ‫ا‬ ‫رای را‬ ‫زی ، ی‬ ‫.‬ ‫ا‬ ‫اي‬ ‫اي‬ ‫وی‬ ‫ده . ‪، new‬‬
  • 55. ‫:‬ ‫رت زی ا‬ ‫ي‬ ‫م آ ‪ new‬اي رای ه ي‬ ‫;]‪array-var = new type [size‬‬ ‫رای و‪، arry-var‬‬ ‫اد‬ ‫آ‬ ‫ع داد ه ، ‪size‬‬ ‫آ‬ ‫‪type‬‬ ‫د‬ ‫رای ا‬ ‫اي‬ ‫از‪new‬‬ ‫اي‬ ‫،‬ ‫د. ی‬ ‫رای‬ ‫آ‬ ‫رای ا‬ ‫يآ‬ ‫ی .‬ ‫را‬ ‫داد‬ ‫ی‬ ‫يآ‬ ‫اد‬ ‫عو‬ ‫آ ، ی‬ ‫. در ای‬ ‫ارده‬ ‫ر ﺥ دآ ر‬ ‫،‬ ‫ی‬ ‫رای‬ ‫‪new‬‬ ‫و‬ ‫د.‬ ‫و ‪month-days‬‬ ‫ي از ا اد‬ ‫رای ٢١‬ ‫لی‬ ‫;]21[‪month-days = new int‬‬ ‫.‬ ‫ا ر ﺥ اه دا‬ ‫د‬ ‫رای اي از ٢١‬ ‫، ‪month-days‬‬ ‫رت‬ ‫از اﺝ اي‬ ‫.‬ ‫ارده ﺥ اه‬ ‫رای‬ ‫م‬ ‫و،‬ ‫.‬ ‫اي ا‬ ‫ی دو‬ ‫رای‬ ‫: ای د ه‬ ‫آ‬ ‫ور‬ ‫را‬ ‫ﻝ‬ ‫ای‬ ‫رای را‬ ‫، ی‬ ‫آ . دوم ای‬ ‫ی‬ ‫رد‬ ‫ي از رای‬ ‫، ی‬ ‫ای‬ ‫ده .‬ ‫رای‬ ‫ده و ن را‬ ‫د از ‪new‬‬ ‫ا‬ ‫ی‬ ‫م‬ ‫.ا‬ ‫ی‬ ‫رت ی‬ ‫م َ رای ه در ﺝ وا‬ ‫ازای رو،‬ ‫.‬ ‫ﺥ اه‬ ‫ر‬ ‫ع‬ ‫. ای‬ ‫ان‬ ‫،‬ ‫ای ن‬ ‫ا‬ ‫را‬ ‫آ و ،‬ ‫در‬ ‫آ دن ای آ‬ ‫رای ،‬ ‫از‬ ‫ان‬ ‫د.‬ ‫ز‬ ‫م رای ه از‬ ‫. ای آ‬ ‫دا‬ ‫د‬ ‫ه ی از‬ ‫ده .‬ ‫‪month-days‬‬ ‫دو‬ ‫ار ٨٢ را‬ ‫رت زی‬ ‫ل،‬ ‫;82 = ]1[‪month-days‬‬ ‫د.‬ ‫رم(‬ ‫ر ٣)‬ ‫در ای آ‬ ‫ار ذﺥ‬ ‫ی‬ ‫زی ه‬ ‫;)]3[‪system.out.println(month-days‬‬ ‫اد‬ ‫از‬ ‫، رای اي‬ ‫ا . ای‬ ‫آر د‬ ‫زی‬ ‫در‬ ‫ﻝ‬ ‫م‬ ‫آ .‬ ‫ای د‬ ‫روزه ي ه‬ ‫.‪// Demonstrate a one-dimensional array‬‬ ‫‪class array‬‬ ‫{‬ ‫{ )] [‪public static void main(string args‬‬ ‫;] [‪int month-days‬‬ ‫;]21[‪month-days = new int‬‬ ‫;13 = ]0[‪month-days‬‬ ‫;82= ]1[‪month-days‬‬
  • 56. month-days[2] = 31; month-days[3] = 30; month-days4] = 31; month-days[5] = 30; month-days[6] = 31; month-days[7] = 31; month-days[8] = 30; month-days[9] = 31; month-days[10] = 30; month-days[11] = 31; system.out.println("April has" + month-days[3] + " days."); } } ‫آ‬ ‫ده . ه ن‬ ‫ی‬ ‫وری را‬ ‫اد روزه ي‬ ، ‫آ‬ ‫را اﺝ ا‬ ‫ای‬ ‫و‬ ، ‫وری‬ ‫اد روزه ي‬ ‫ای‬ ،‫د‬ ‫ز‬ ‫رای ه ي ﺝ وا از‬ ‫، ای آ‬ . ‫ ی ٠٣ ا‬mounth-days[3] : ‫رت زی وﺝ د دارد‬ ‫ﺥ د رای‬ ِ ‫رای‬ ‫ی‬ ‫ا ن آ‬ int month-days[ ] = new int[12]; . ‫اي ﺝ وا ﺥ اه دی‬ ‫هي‬ ‫ً در‬ ‫آ‬ ‫ا‬ ‫، رو‬ ‫روش‬ ‫ه زی دي‬ ‫ی ا م ای آ ر‬ .‫د‬ ‫ارده‬ ،‫آ دن‬ ‫ی‬ ‫م‬ ‫ان ه‬ ‫رای ه را‬ ‫دو آ د‬ ‫دی‬ ،‫اي ای آ ر‬ .‫د دارد‬ ‫اي ا اع داد ه ي ی و‬ ‫م ن‬ ‫رو ا‬ . ‫آ‬ ‫ﺝ ا‬ ‫رای را از ی ی‬ ‫دی‬ ،‫.آ ه‬ ‫ﺝا‬ ‫از ی ی‬ ‫وآ‬ ‫اي‬ ‫يآ‬ ‫اي‬ ‫يآ‬ ‫د‬ ‫اي ای د‬ ‫ر ﺥ دآ ر‬ ‫رای‬ . new‫د از‬ ‫ا‬ ‫. زي‬ ‫، وﺝ د دا‬ ‫آ‬ ‫ارده اوﻝ‬ ‫رای اي از‬ ‫ل زی‬ ، ‫آ‬ ‫اي ه‬ ‫اد روزه را‬ ‫اي‬ ،‫ل‬ ‫ان‬ : ‫آ‬ ‫ارده‬ ‫اد روزه‬ ‫ای د و‬ ‫ع ا اد‬ // An improvied version of the previous program. class AutoArray { public static void main(string args[ ]) { int month-days[ ] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; system.out.println("April has" + month-days[3] + " days.");
  • 57. ‫}‬ ‫}‬ ‫از ن را ﺥ اه دی .‬ ‫ل‬ ‫، ه ن ﺥ وﺝ‬ ‫آ‬ ‫را اﺝ ا‬ ‫و‬ ‫و‬ ‫ود رای‬ ‫دی در ﺥ رج از‬ ‫ذﺥ‬ ‫د ا ام‬ ‫آ آ‬ ‫ل‬ ‫تآ‬ ‫ﺝ وا‬ ‫دآ‬ ‫ن‬ ‫ا‬ ‫آ‬ ‫ز ن اﺝ اي ﺝ وا آ ل‬ ‫.‬ ‫ارﺝ ع ا‬ ‫ی‬ ‫ز ن اﺝ اي ﺝ وا‬ ‫ل،‬ ‫ان‬ ‫ار دار .‬ ‫ود ن‬ ‫ه ي رای در‬ ‫م ای آ‬ ‫م‬ ‫دآ‬ ‫ن‬ ‫ا‬ ‫آ‬ ‫ه ي ‪ mounth-days‬را آ ل‬ ‫ار ه ی از ای آ‬ ‫ود رای‬ ‫ﺥ رج از‬ ‫اه‬ ‫ار دار . ا‬ ‫و ١١‬ ‫در ز‬ ‫اﺝ‬ ‫ﺥ يز ن‬ ‫ل رای ( ،‬ ‫از‬ ‫ر‬ ‫اد‬ ‫ی ا‬ ‫اد‬ ‫)ا‬ ‫دا‬ ‫د‬ ‫.‬ ‫ﺥ اه‬ ‫اي از ا اد‬ ‫آ . ای‬ ‫د‬ ‫يا‬ ‫رای‬ ‫آ از ی‬ ‫ل دی‬ ‫ی‬ ‫آ :‬ ‫را‬ ‫.‪// Average an array of values‬‬ ‫‪class Average‬‬ ‫{‬ ‫{ )] [‪public static void main(string args‬‬ ‫;} 5.41 ,4.31 ,3.21 ,2.11 ,1.01{ = ] [‪double nums‬‬ ‫;0 = ‪double result‬‬ ‫;‪int i‬‬ ‫)++‪for(i =0; i < 5; i‬‬ ‫;]‪result = result + nums[i‬‬ ‫;)5 / ‪system.out.println("Average is" + result‬‬ ‫}‬ ‫}‬ ‫ي‬ ‫رای ه ي چ‬ ‫ن رای ه ي‬ ‫رای ه ه‬ ‫. ای‬ ‫ي در ﺝ وا، رای اي از رای ه ه‬ ‫رای ه ي‬ ‫وﺝ د دارد.‬ ‫وت ﺝ‬ ‫آ ﺥ اه دی ،‬ ‫.ا ،ه ن‬ ‫ر‬ ‫ﻝ‬ ‫ي‬ ‫دو آ و‬ ‫ه را‬ ‫از ای آ‬ ‫آ ،ه ی‬ ‫ی‬ ‫ي را‬ ‫رای‬ ‫اي‬ ‫.‬ ‫ا‬ ‫ی‬ ‫م ‪twoD‬‬ ‫ي‬ ‫رای دو‬ ‫رت زی ی‬ ‫ل ، در‬ ‫ان‬ ‫.‬ ‫ی‬
  • 58. int twoD[ ] [ ] = new int[4] [5] ‫ر‬ ‫ی‬ . ‫ده‬ twoD ‫داد و ن را‬ ‫× را‬ ‫رای‬ ‫ی‬ ‫رت‬ ٣-١ ‫ن‬ ‫رای ه‬ ‫د. ای‬ ‫زي‬ ‫ د‬int ‫رت رای اي از رای ه ي ع‬ .‫د‬ ‫ﺥ اه‬ ‫اري‬ ‫ر‬ ‫ی‬ ‫و از‬ ‫را‬ ‫رای را از‬ ‫ای‬ ‫زی ، ه ی از‬ : ‫ده‬ ‫ی‬ ‫دی را‬ ‫ن‬ ‫د و‬ // Demonstrate a two-dimensional array. class TwoDArray { public static void main(string args[ ]) { int twoD[ ] [ ]= new int[4] [5]; int i, j, k = 0; for(i=0; i < 4; i++) for(j=0; j < 5; j++) { twoD[i] [j] = k; k++; } for(i=0; i < 4; i++) { for(j=0; j < 5; j++) system.out.print(twoD[i] [j] + " "); system.out.println( ); } } } : ‫زی ا‬ ‫ﺥ وﺝ‬ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ‫اول‬ ‫ا‬ ‫ده ، آ‬ ‫ي‬ ‫رای‬ ‫ی‬ ‫اي را‬ ‫و‬ . ‫ده‬ ‫رﺝا‬ ‫ا‬ ‫را‬ ‫ي دی‬ . ‫آ‬ ‫ی ( را‬ ) . ‫ی‬ ‫رای‬ ‫ی‬ ‫م‬ ‫ه‬ twoD ‫اول‬ ، ‫رت زی‬ ‫ل ، در‬ ‫ان‬ . ‫ی‬ ‫رد‬ ‫دوم‬
  • 59. int twoD[ ] [ ]= new int[4] [ ]; twoD[0] = new int[5]; twoD[1] = new int[5]; twoD[2] = new int[5]; twoD[3] = new int[5]; ‫نه‬ ‫آ‬ ، ‫را‬ ‫هي‬ ‫ای آ‬ [0][0] [0][1] [0][2] [0][3] [0][4] [1][0] [1][1] [1][2] [1][3] [1][4] ، ‫هي‬ ‫ای آ‬ ‫آ‬ [2][0] [2][1] [2][2] [2][3] [2][4] ‫ه‬ [3][0] [3][1] [3][2] [3][3] [3][4] int twoD[] [] = new int[4] [5]; : ‫ض ای‬ ‫م ای آ ر در‬ ‫ارد ، ا ا‬ ‫ی‬ ‫دوم رای ه ه‬ ‫ﺝا‬ ‫ل‬ ‫در ای‬ ‫ا‬ ‫رد‬ ‫ا د رای ه را‬ ‫ل،و‬ ‫ان‬ . ‫د‬ ‫ا‬ ‫ای دی‬ . ‫اه دا‬ ‫اي ه ی از ا د‬ ‫اد‬ ‫ه ن‬ ‫ده ، ز‬ ‫رای ه ی از رای‬ ‫ي دروا‬ ‫آ رای ه ي‬ ‫، از‬ ‫از ای‬ ‫آ‬ ‫ه ن‬ ‫ي‬ ‫رای دو‬ ‫زی ی‬ ،‫ل‬ ‫ان‬ . ‫آ ل‬ ‫ل ه رای‬ ، ‫ه ه‬ . ‫وي‬ ‫دوم‬ ‫آ آ در ن ا از ه ي‬ ‫ای د‬ // Manually allocate differing size second dimensions. class TwoDAgain { public static void main(string args[ ]) { int twoD[ ] [ ]= new int[4] [ ]; twoD[0] = new int[1]; twoD[1] = new int[2];
  • 60. ‫;]3[‪twoD[2] = new int‬‬ ‫;]4[‪twoD[3] = new int‬‬ ‫;0 = ‪int i, j, k‬‬ ‫)++‪for(i=0; i < 4; i‬‬ ‫)++‪for(j=0; j <i+1; j‬‬ ‫{‬ ‫;‪twoD[i] [j] = k‬‬ ‫;++‪k‬‬ ‫}‬ ‫)++‪for(i=0; i < 4; i‬‬ ‫{‬ ‫)++‪for(j=0; j <i+1; j‬‬ ‫;) (‪system.out.println‬‬ ‫}‬ ‫}‬ ‫}‬ ‫:‬ ‫ا‬ ‫ن داد‬ ‫در ذی‬ ‫ﺥ وﺝ‬ ‫0‬ ‫2 1‬ ‫5 4 3‬ ‫9 8 7 6‬ ‫.‬ ‫زی ا‬ ‫رت‬ ‫د‬ ‫ای د‬ ‫و‬ ‫رای اي آ‬ ‫]0[]0[‬ ‫]0[]1[‬ ‫]1[]1[‬ ‫]0[]2[‬ ‫]1[]2[‬ ‫]2[]2[‬ ‫]0[]3[‬ ‫]1[]3[‬ ‫]2[]3[‬ ‫]3[]3[‬ ‫هي‬ ‫ري از‬ ‫اي‬ ‫ا‬ ‫(‬ ‫ل )ی‬ ‫ي‬ ‫د از رای ه ي‬ ‫ا‬ ‫ر آ ر ان‬ ‫ه ﺥ فا‬ ‫ي در‬ ‫ا آ وﺝ د رای ه ي‬ ‫،‬ ‫آ ر دي‬ ‫ي‬ ‫رآر‬ ‫ای‬ ‫ﺥ از‬ ‫در‬ ‫ا‬ ‫ای وﺝ د ، رای ه ي‬ ‫د.‬ ‫ﺥ اه‬ ‫آ‬ ‫دا‬ ‫ر ر‬ ‫ي‬ ‫رای دو‬ ‫ز‬ ‫ل،ا‬ ‫ان‬ ‫.‬ ‫ار‬ ‫د‬ ‫رد ا‬ ‫د‬ ‫رد ا‬ ‫ش‬ ‫م‬ ‫، رای اي آ‬ ‫)ی‬ ‫ار دا‬ ‫ﺥ از‬ ‫ی .‬ ‫ر‬ ‫آ‬ ‫را‬ ‫رت رای ه ي‬ ‫( ، در ن‬
  • 61. ‫دی اوﻝ ه ی‬ ‫ا‬ ‫م ای آ ر، آ‬ ‫اي ا‬ ‫.‬ ‫ا‬ ‫يه‬ ‫رای ه ي‬ ‫ارده‬ ‫،‬ ‫ار ه‬ ‫دآ‬ ‫ای د‬ ‫ی‬ ‫زی‬ ‫. در‬ ‫ی‬ ‫دو آ د‬ ‫از ا د را‬ ‫دی‬ ‫و‬ ‫آ‬ ‫ﺝ دا‬ ‫.ه‬ ‫نا‬ ‫و‬ ‫هي‬ ‫ب ای آ‬ ‫د آ .‬ ‫ارده اوﻝ ا‬ ‫اي‬ ‫ا‬ ‫ﻝ ال ، از ﺝ ت ﺝ ي‬ ‫.‪// Initialize a two-dimensional array‬‬ ‫‪class Matrix‬‬ ‫{‬ ‫{ )] [‪public static void main(string args‬‬ ‫{ = ] [ ] [‪double m‬‬ ‫,} 0*3 ,0*2 ,0*1 ,0*0 {‬ ‫,} 1*3 ,1*2 ,1*1 ,1*0 {‬ ‫,} 2*3 ,2*2 ,2*1 ,2*0 {‬ ‫} 3*3 ,3*2 ,3*1 ,3*0 {‬ ‫;}‬ ‫;‪int i, j‬‬ ‫)++‪for(i=0; i < 4; i‬‬ ‫{‬ ‫)++‪for(j=0; j <i+1; j‬‬ ‫;)" " + ]‪system.out.print(m[i] [j‬‬ ‫;) (‪system.out.println‬‬ ‫}‬ ‫}‬ ‫}‬ ‫، ﺥ وﺝ ذی را ﺥ اه دی :‬ ‫آ‬ ‫را اﺝ ا‬ ‫ای‬ ‫و‬ ‫0.0‬ ‫0.0‬ ‫0.0‬ ‫0.0‬ ‫0.0‬ ‫0.1‬ ‫0.2‬ ‫0.3‬ ‫0.0‬ ‫0.2‬ ‫0.4‬ ‫0.6‬ ‫0.0‬ ‫0.3‬ ‫0.6‬ ‫0.9‬ ‫دی اوﻝ‬ ‫اي آ در‬ ‫از رای‬ ‫،ه‬ ‫رآ‬ ‫ه ن‬ ‫د.‬ ‫ار‬ ‫،‬ ‫ا‬ ‫زی ی‬ ‫دازی . در‬ ‫ي‬ ‫از آ ر د رای ه ي‬ ‫ل دی‬ ‫ر‬ ‫ای‬ ‫در ه ن‬ ‫ه يه‬ ‫ب ای آ‬ ‫د.‬ ‫× × ٣ ای د‬ ‫ي‬ ‫رای‬ ‫د.‬ ‫داد‬ ‫ی‬ ‫ی ، ای‬ ‫د و در‬ ‫ذﺥ‬ ‫.‪// Demonstrate a two-dimensional array‬‬
  • 62. class ThreeDMatrix { public static void main(string args[ ]) { int threeD[ ] [ ] [ ] = new int[3] [4] [5]; int i, j, k; for(i=0; i <3; i++) for(j=0; j <4; j++) for(k=0; k < 5; k++) threeD[i] [j] [k] = i * j * k; for(i=0; i <3; i++) { for(j=0; j <4; j++) { for(k=0; k < 5; k++) system.out.print(threeD[i] [j] [k] + " "); system.out.println( ); } } } :‫د‬ ‫زی ﺥ اه‬ ‫ﺥ وﺝ‬ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 0 2 4 6 8 0 3 6 9 12 0 0 0 0 0 0 2 4 6 8 0 4 8 12 16 0 6 12 18 24 ‫روش دی ي اي ﺕ ی آ دن رای ه‬ :‫د آ د‬ ‫رای ا‬ ‫آ دن ی‬ ‫ی‬ ‫ان اي‬ ‫از روش دی ي‬
  • 63. ‫;‪type[ ] var-name‬‬ ‫رای .‬ ‫م‬ ‫و‬ ‫ار‬ ‫ع رای‬ ‫از‬ ‫ه‬ ‫در ای روش ، آ و‬ ‫;]3[‪int a1 = new int‬‬ ‫;]3[‪int a2 = new int‬‬ ‫:‬ ‫دل ه‬ ‫ذی‬ ‫ری‬ ‫;]4[ ]3[‪char twod1[ ] [ ] = new char‬‬ ‫;]4[ ]3[‪char[ ] [ ] twod2 = new char‬‬ ‫:‬ ‫.‬ ‫ی‬ ‫ع‬ ‫ی رای ه‬ ‫ن‬ ‫آ ه‬ ‫ا‬ ‫ا‬ ‫ای روش اي‬ ‫‪int[ ] nums, nums2, nums3; // create three arrays‬‬ ‫رت زی‬ ‫ن‬ ‫ه‬ ‫ل‬ ‫آ .‬ ‫ی‬ ‫رای اي از ع ‪int‬‬ ‫رت‬ ‫:‬ ‫ا‬ ‫‪int name[ ], name2[ ], nume3[ ]; // create three arrays‬‬ ‫.‬ ‫ا‬ ‫از ی‬ ‫ار‬ ‫ان‬ ‫رای‬ ‫آ دن ی‬ ‫اي‬ ‫ای روش ه‬ ‫در ر رﺵ ه‬ ‫چ‬ ‫ا اع داد ه و رای ه ه‬ ‫، در‬ ‫ﺝ‬ ‫ا‬ ‫آ‬ ‫ه ن‬ ‫آ ﺝ وا از‬ ‫نا‬ ‫ای‬ ‫. دﻝ‬ ‫ح‬ ‫ه ی داد ه ي ع ‪string‬‬ ‫در ر ر‬ ‫اي ﺝ وا‬ ‫آ داد ه ي ر‬ ‫نا‬ ‫ا‬ ‫ل. وا‬ ‫آ - اﻝ‬ ‫ر،‬ ‫ی وه‬ ‫ر‬ ‫د‬ ‫از ا اع داد ه ي ی و‬ ‫،ی‬ ‫آ ‪string‬‬ ‫از‬ ‫حآ‬ ‫و ارا‬ ‫ض‬ ‫در‬ ‫ی .‬ ‫ر‬ ‫رای اي از آ راآ ه‬ ‫، ای‬ ‫. ی‬ ‫ءه‬ ‫هي‬ ‫ﺥ از وی‬ ‫ی‬ ‫م‬ ‫ع داد ه ،‬ ‫ای‬ ‫اي‬ ‫. ای وﺝ د ،‬ ‫ار ﺥ اه‬ ‫ر‬ ‫رد‬ ‫ه‬ ‫ر‬ ‫از‬ ‫و‬ ‫ع در ی‬ ‫ارا‬ ‫ذی در ای‬ ‫حﺥ‬ ‫د آ ،‬ ‫د ا‬ ‫هي‬ ‫از ر‬ ‫هي‬ ‫در‬ ‫ا‬ ‫.‬ ‫ا‬
  • 64. ‫رای ه ي‬ ‫ا‬ ‫د. ه‬ ‫د‬ ‫اي ا‬ ‫هير‬ ‫آ دن‬ ‫ی‬ ‫اي‬ ‫از ‪string‬‬ ‫ان‬ ‫را‬ ‫ل‬ ‫اي آ‬ ‫ير‬ ‫آ .ﺙ‬ ‫ی‬ ‫اي را‬ ‫ر‬ ‫ع‬ ‫هي‬ ‫ی‬ ‫ان‬ ‫ه ي ع ‪ string‬را‬ ‫داد.‬ ‫ه ي ع ‪string‬‬ ‫ن در)(‪println‬‬ ‫ان ر‬ ‫ان‬ ‫ءه ي ع ‪ string‬را‬ ‫داد.‬ ‫‪string‬‬ ‫ﺝ آ :‬ ‫رت زی‬ ‫دو‬ ‫ل،‬ ‫ان‬ ‫آ ر د.‬ ‫;"‪string str =" this is a test‬‬ ‫;)‪system.out.println(str‬‬ ‫ی . ای‬ ‫ن‬ ‫"‪"this is a test‬‬ ‫آ ر‬ ‫از ع ‪ string‬ا‬ ‫‪ str‬در ای‬ ‫د.‬ ‫داد‬ ‫ی‬ ‫رت )(‪println‬‬ ‫و‬ ‫ر‬ ‫زان ++‪C/C‬‬ ‫اي‬ ‫روه‬ ‫اي در ر‬ ‫از‬ ‫آ ای ز‬ ‫دا‬ ‫رت‬ ‫، در ن‬ ‫++‪C/C‬‬ ‫زان‬ ‫از‬ ‫ا‬ ‫د‬ ‫ای ا‬ ‫. دﻝ‬ ‫ا‬ ‫روه‬ ‫ا ر اي‬ ‫ه‬ ‫آ . ا ، در ای‬ ‫روه‬ ‫رت در‬ ‫)ی‬ ‫ز‬ ‫د از‬ ‫آ وا‬ ‫روه‬ ‫: ﺝ وا از‬ ‫ا‬ ‫،‬ ‫ی‬ ‫د‬ ‫زان‬ ‫روه ی آ‬ ‫، ﺝ وا از‬ ‫ه ي ﺝ وا ا ن‬ ‫م ای آ ر‬ ‫اآ ا‬ ‫آ ،‬ ‫روه‬ ‫ا از‬ ‫آ (. ﺝ وا‬ ‫آ‬ ‫دا‬ ‫ﺥ‬ ‫ی )‬ ‫ن اﺝ ا‬ ‫اﺝ اي ﺝ وا وآ‬ ‫ده‬ ‫ا‬ ‫درس ه ی آ‬ ‫ارﺝ ع دا‬ ‫از‬ ‫ه در‬ ‫ا‬ ‫روه‬ ‫(.‬ ‫ز ن اﺝ اي ﺝ وا‬ ‫ﺥ رج از‬ ‫رآ‬ ‫ا‬ ‫آ ،‬ ‫د‬ ‫روه ا‬ ‫د اي از‬ ‫ر‬ ‫ن ++‪C/C‬‬ ‫. ﺝ وا‬ ‫ی . ا ای‬ ‫ر‬ ‫اي ﺝ وا‬ ‫ﺝ‬ ‫، ای اد‬ ‫دادن‬ ‫آ از د‬ ‫رو‬ ‫ی‬ ‫ز‬ ‫،ه‬ ‫اﺝ ا‬ ‫ود‬ ‫در‬ ‫و‬ ‫آ‬ ‫ا‬ ‫ا‬ ‫اي‬ ‫د.‬ ‫اه‬ ‫دي‬ ‫و از آ ر د‬ ‫اه دا‬
  • 65. ‫ه‬ ‫:‬ ‫وی ای‬ ‫ه‬ ‫ه‬ ‫ه‬ ‫ا‬ ‫را‬ ‫ه‬ ‫ﻝ‬ ‫ه‬ ‫؟‬ ‫م‬ ‫ر د ا‬
  • 66. ‫آ د‬ ‫و زی‬ ‫ر‬ ‫ان‬ ‫ه ي ن را‬ ‫زی دي دارد.‬ ‫هي‬ ‫ﺝ وا‬ ‫را‬ ‫ای وی‬ ‫دارد آ‬ ‫ا‬ ‫. ﺝ وا ه‬ ‫اي و‬ ‫، را‬ ‫،‬ ‫:‬ ‫آ .‬ ‫ی ی‬ ‫ه‬ ‫و يﺝ‬ ‫.ا‬ ‫ي ‪ C#/C++/C‬آ ر‬ ‫نز‬ ‫ه در ﺝ وا ه‬ ‫ﺝ :‬ ‫وﺝ د دارد.‬ ‫هيﺡ‬ ‫د‬ ‫آر‬ ‫رود ، در ﺝ ت‬ ‫آر‬ ‫آ در ﺝ‬ ‫ر‬ ‫ه ن‬ ‫هي‬ ‫.‬ ‫+‬ ‫-‬ ‫ب‬ ‫*‬ ‫/‬ ‫%‬ ‫ا‬ ‫ا‬ ‫++‬ ‫و‬ ‫=+‬ ‫و‬ ‫=-‬ ‫ب و‬ ‫=*‬ ‫و‬ ‫=/‬ ‫و‬ ‫=%‬ ‫آ ه‬ ‫--‬ ‫ع‬ ‫داد ه ي‬ ‫ان ه ا‬ ‫را‬ ‫.‬ ‫دي‬ ‫ی از ع‬ ‫هي‬ ‫هي‬ ‫ن ‪ char‬در‬ ‫د،‬ ‫آر‬ ‫ع ‪char‬‬ ‫روي داد ه ي‬ ‫ان‬ ‫د،ا‬ ‫آر‬ ‫‪Boolean‬‬ ‫.‬ ‫‪int‬‬ ‫زی‬ ‫ﺝ وا ا‬
  • 67. ‫پی‬ ‫هيﺡ‬ ‫اي داد‬ ‫آ‬ ‫آ‬ ‫اي‬ ‫–ه ن‬ ،‫ب‬ ، ‫ی‬ ، ‫ی –ﺝ‬ ‫هي‬ . ‫آ‬ ‫ش را‬ ‫دارد آ‬ ‫می‬ ‫"-" ی‬ . ‫ر داری‬ ‫دي ا‬ ‫هي‬ ،‫د‬ ‫د‬ ‫آر‬ ‫)/( داد ه ي‬ ‫آ و‬ ‫دا‬ ‫ﺥ‬ .‫د‬ ‫ري ﺥ اه‬ ‫ا‬ ‫ا اد‬ ‫وت‬ ‫ه‬ ‫ده . ای‬ ‫ن‬ ‫را‬ ‫هي‬ ، ‫د زی‬ . ‫ده‬ ‫ن‬ ‫ري را‬ ‫ا اد ا‬ ‫و‬ // Demonstrate the basic arithmetic operators. class BasicMath { public static void main(String args[] ){ // arithmetic using integers System.out.println("Integer Arithmetic"); int a = 1 + 1; int a = a * 3; int a = b / 4; int a = c - a; int a =- d; System.out.println("a = " + a); System.out.println("a = " + b); System.out.println("a = " + c); System.out.println("a = " + d); System.out.println("a = " + e); // arithmetic using doubles System.out.println("nFloating Point Arithmetic"); double da = 1 + 1; double db = da * 3; double dc = db / 4; double dd = dc - a; double de =- dd; System.out.println("da = " + da); System.out.println("db = " + db); System.out.println("dc = " + dc);
  • 68. System.out.println("dd = " + dd); System.out.println("de = " + de); } } : ‫رت زی ا‬ ‫ﺥ وﺝ‬ ‫از اﺝ اي‬ integer Arithmetic a=2 b=6 c=1 d=-1 e=1 floating point arithmetic da=2 db=6 dc=1.5 dd=-0.5 de=0.5 ‫ﺕ‬ ‫اي‬ ‫ان ه‬ ‫را‬ ‫دا . ای‬ ‫را‬ ،%، .‫آ ر د‬ ‫اي ا اع داد ه ي‬ ‫ور ، و ه‬ ‫ري‬ ‫ا اد ا‬ // Demonstrate the % operator. class Modulus { public static void main(String args[] ){ int x = 42; double y = 42.3; System.out.println("x mod 10 = " + x % 10); System.out.println("y mod 10 = " + y % 10); } }
  • 69. ‫:‬ ‫زی‬ ‫ﺥ وﺝ‬ ‫2 = 01 ‪X mod‬‬ ‫52.2 = 01 ‪Y mod‬‬ ‫هيﺕ‬ ‫را‬ ‫ان ی‬ ‫د از‬ ‫ا‬ ‫اي دارد آ‬ ‫ه ي وی‬ ‫ﺝ وا‬ ‫اوﻝ‬ ‫زي‬ ‫ارد زی در‬ ‫ن‬ ‫ر‬ ‫،‬ ‫دا‬ ‫آ ا‬ ‫د. ه ن‬ ‫آ‬ ‫:‬ ‫;4 + ‪a = a‬‬ ‫:‬ ‫زی‬ ‫ان‬ ‫را در ﺝ وا‬ ‫رت‬ ‫;4 =+ ‪a‬‬ ‫ار ‪a‬‬ ‫:‬ ‫نا‬ ‫رت ی‬ ‫د ه دو‬ ‫.‬ ‫ا‬ ‫د‬ ‫"=+" ا‬ ‫از‬ ‫رت‬ ‫در‬ ‫ده .‬ ‫ا ای‬ ‫ا از ٤ وا‬ ‫را‬ ‫:‬ ‫ل ه ی دی‬ ‫;2 % ‪a = a‬‬ ‫;2 =% ‪a‬‬ ‫رت‬ ‫ﺝ د . از ای رو ، ه‬ ‫ی ي‬ ‫هي‬ ‫م‬ ‫اي‬ ‫هي‬ ‫زی‬ ‫;‪var = var op expression‬‬ ‫آ د:‬ ‫ز ی‬ ‫رت زی‬ ‫ان‬ ‫را‬ ‫;‪var op= expression‬‬ ‫دو ی دار .‬ ‫هي‬ ‫.‬ ‫دل ﺥ د ه‬ ‫"‬ ‫اآ " مآ‬ ‫د،‬ ‫ﺝ ی‬ ‫ري‬ ‫آر ی‬ ‫١ – در‬ ‫ای‬ ‫ﺥ‬ ‫.‬ ‫دﻝ ن ا‬ ‫از‬ ‫ز ن اﺝ اي ﺝ وا ، آ ر‬ ‫در‬ ‫زي‬ ‫٢– د‬ ‫اي ﺝ وا ﺥ اه دی .‬ ‫هي‬ ‫ه را در‬ ‫ای‬ ‫د ی ا‬ ‫وآه‬ ‫ا ای‬
  • 70. ‫ه‬ ‫آ ﺥ اه دی ، ای‬ ‫.ه‬ ‫ه‬ ‫وآه‬ ‫ه ي ا ای‬ ‫"++" و "--" ،‬ ‫د ای‬ ‫ور د‬ ‫ﺥ د را‬ ‫ﺥ ا .‬ ‫ﺝ اب‬ ‫را آ‬ ‫دار آ‬ ‫وی‬ ‫ﺥ‬ ‫آ .‬ ‫ز‬ ‫دو‬ ‫ﺥ د‬ ‫از‬ ‫ی وا‬ ‫آه‬ ‫ا ای .‬ ‫ﺥ د‬ ‫، ی وا‬ ‫ا ای‬ ‫رت زی :‬ ‫ل،‬ ‫ان‬ ‫آه .‬ ‫;1 + ‪x = x‬‬ ‫آ د:‬ ‫ز ی‬ ‫رت ذی‬ ‫ا ای‬ ‫د از‬ ‫ان ا‬ ‫را‬ ‫;++‪x‬‬ ‫:‬ ‫ه‬ ‫;1 – ‪x = x‬‬ ‫;--‪x‬‬ ‫(و‬ ‫از‬ ‫رت ‪) postfix‬‬ ‫ا‬ ‫آ‬ ‫ﺝ‬ ‫ه از ای‬ ‫ای‬ ‫ه‬ ‫ﻝ ي‬ ‫. در‬ ‫ده‬ ‫،‬ ‫(‬ ‫از‬ ‫ر ‪) prefix‬‬ ‫ه‬ ‫وی آ ه‬ ‫ه ي ا ای‬ ‫م ه ي ‪ postfix‬و ‪ prefix‬وﺝ د ارد. ا ، و‬ ‫و‬ ‫ای‬ ‫ار ،‬ ‫ﺙ‬ ‫، وﻝ‬ ‫ﺝ‬ ‫رت و‬ ‫، در ن‬ ‫ر‬ ‫ﺝ ي‬ ‫از ی ﺝ‬ ‫د‬ ‫ﺝ يا‬ ‫در ﺝ‬ ‫ار‬ ‫از‬ ‫از‬ ‫م ‪، prefix‬‬ ‫. در‬ ‫م وﺝ د ﺥ اه دا‬ ‫دو‬ ‫آر‬ ‫ﺝ ي‬ ‫در ﺝ‬ ‫ار‬ ‫م ‪، postfix‬‬ ‫ی . در‬ ‫ی آه‬ ‫ا ای‬ ‫د،‬ ‫ل:‬ ‫ان‬ ‫د.‬ ‫داد‬ ‫د،و‬ ‫د‬ ‫;24 = ‪x‬‬ ‫;‪y = ++x‬‬ ‫ار ‪x‬‬ ‫از‬ ‫ا ای‬ ‫اآ‬ ‫ی ،‬ ‫‪y‬‬ ‫ار ٣٤‬ ‫ﻝ‬ ‫در ای‬ ‫:‬ ‫رت زی‬ ‫دل دو‬ ‫‪y= ++x‬‬ ‫د. از ای رو‬ ‫م‬ ‫‪y‬ا‬ ‫;1 + ‪x = x‬‬ ‫;‪y = x‬‬ ‫:‬ ‫رت زی‬ ‫ل‬ ‫ا و‬ ‫;24 = ‪x‬‬ ‫;++‪y = x‬‬ ‫‪y‬‬ ‫ار ٢٤‬ ‫ای‬ ‫ی ،‬ ‫ا ای‬ ‫از اﺝ اي‬ ‫ار ‪x‬‬ ‫دل دو‬ ‫++‪y=x‬‬ ‫،‬ ‫د. در ای‬ ‫ار ٣٤ در ‪ x‬ذﺥ‬ ‫ﻝ‬ ‫، در ه دو‬ ‫ی . اﻝ‬ ‫:‬ ‫رت ذی ا‬
  • 71. ‫;‪y = x‬‬ ‫;1 + ‪x = x‬‬ ‫هي‬ ‫‪char ، short ، int ، long‬‬ ‫ا اع داد ه ي‬ ‫ان‬ ‫دارد آ‬ ‫ی‬ ‫ﺝ وا‬ ‫ای‬ ‫آ .‬ ‫ﺥ د‬ ‫هي‬ ‫روي ی ی‬ ‫آ ر د. ای‬ ‫و ‪byte‬‬ ‫.‬ ‫ا‬ ‫ورد‬ ‫ه در ﺝ ول‬ ‫‪not‬‬ ‫~‬ ‫‪and‬‬ ‫&‬ ‫‪or‬‬ ‫|‬ ‫‪xor‬‬ ‫^‬ ‫راﺱ‬ ‫>>‬ ‫ا‬ ‫ﺹ‬ ‫راﺱ‬ ‫>>>‬ ‫<<‬ ‫و‬ ‫‪and‬‬ ‫=&‬ ‫و‬ ‫‪or‬‬ ‫=!‬ ‫و‬ ‫‪xor‬‬ ‫=^‬ ‫و‬ ‫راﺱ‬ ‫=>>‬ ‫ا‬ ‫ﺹ‬ ‫و‬ ‫راﺱ‬ ‫=>>>‬ ‫و‬ ‫=<<‬ ‫ا‬ ‫،‬ ‫آ‬ ‫را دازش و ی ی‬ ‫ه ي ا اد‬ ‫،‬ ‫هي‬ ‫ی آ‬ ‫از‬ ‫ﺝ وا‬ ‫ای‬ ‫، دا‬ ‫ص ای‬ ‫.‬ ‫دی‬ ‫روي‬ ‫داز‬ ‫ای‬ ‫ﺙ‬ ‫آ‬ ‫وا‬ ‫ده ،‬ ‫ی‬ ‫را‬ ‫ا اد‬ ‫آ و‬ ‫را ذﺥ‬ ‫دی‬ ‫د.‬ ‫ل،‬ ‫ان‬ ‫.‬ ‫داد‬ ‫ی‬ ‫ل‬ ‫ا اد ی ي‬ ‫و‬ ‫م ا اد‬ ‫.‬ ‫از ٢‬ ‫ه ر ، ا‬ ‫آ ارزش‬ ‫ار ٢٤ ع ‪ 00101010 ، byte‬ا‬
  • 72. ‫ی‬ ‫. ای‬ ‫دار ه‬ ‫از ‪ ، ( char‬ا اد‬ ‫)‬ ‫ا اع داد ه ي‬ ‫م"‬ ‫اري‬ ‫روش ر‬ ‫. ﺝ وا از‬ ‫و‬ ‫دی‬ ‫ی‬ ‫ا‬ ‫آ‬ ‫ی ی ه‬ ‫ه )‬ ‫م‬ ‫س آ دن‬ ‫ی‬ ‫از‬ ‫آ آ در ن ا اد‬ ‫د‬ ‫٢"ا‬ ‫ل ، 24-‬ ‫ان‬ ‫.‬ ‫داد‬ ‫ی‬ ‫،‬ ‫ا ودن ی وا‬ ‫(و‬ ‫و‬ ‫،و‬ ‫اش 10101011 ا‬ ‫د ٢٤ ) ی 01010100 ( ، آ‬ ‫ه‬ ‫م‬ ‫س آ دن‬ ‫ی ه‬ ‫اي ر‬ ‫، 01101011 (.‬ ‫د)ی‬ ‫داد‬ ‫ی‬ ‫ن‬ ‫ا ودن ی وا‬ ‫ای .‬ ‫ی وا‬ ‫سآ ،و‬ ‫را‬ ‫م‬ ‫،‬ ‫د‬ ‫هي‬ ‫ن داد‬ ‫ت در ﺝ ول زی‬ ‫ای‬ ‫از & ، | ، ^ و ~ .‬ ‫ر‬ ‫هي‬ ‫يه‬ ‫ی ی‬ ‫هي‬ ‫آ‬ ‫دا‬ ‫ﺥ‬ ‫ذی‬ ‫. در‬ ‫ا‬ ‫.‬ ‫ل‬ ‫ا‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪A|B‬‬ ‫‪A&B‬‬ ‫‪A^B‬‬ ‫‪~A‬‬ ‫0‬ ‫0‬ ‫0‬ ‫0‬ ‫0‬ ‫1‬ ‫1‬ ‫0‬ ‫1‬ ‫0‬ ‫1‬ ‫0‬ ‫0‬ ‫1‬ ‫1‬ ‫0‬ ‫1‬ ‫1‬ ‫1‬ ‫1‬ ‫1‬ ‫1‬ ‫0‬ ‫0‬ ‫‪NOT‬‬ ‫س‬ ‫ﺥ د را‬ ‫هي‬ ‫م‬ ‫د،‬ ‫‪ (~) NOT‬آ‬ ‫ی‬ ‫:‬ ‫زی ا‬ ‫دل ی ي ن‬ ‫د ٢٤ آ‬ ‫ل،‬ ‫ان‬ ‫آ .‬ ‫01010100‬ ‫د:‬ ‫ی‬ ‫زی‬ ‫‪NOT‬‬ ‫ل‬ ‫از ا‬ ‫10101011‬
  • 73. ‫‪AND‬‬ ‫رت در‬ ‫ای‬ ‫د ، در‬ ‫ی‬ ‫،‬ ‫‪ (&) AND‬ی‬ ‫ه دو‬ ‫د.‬ ‫ت‬ ‫آ‬ ‫01010100‬ ‫24‬ ‫&‬ ‫11110000‬ ‫51‬ ‫01010000‬ ‫01‬ ‫‪OR‬‬ ‫ه‬ ‫هي‬ ‫ه ی از‬ ‫آ آ‬ ‫آ‬ ‫اي‬ ‫ه را‬ ‫‪، (|) OR‬‬ ‫د:‬ ‫ی‬ ‫،‬ ‫ی‬ ‫01010100‬ ‫24‬ ‫|‬ ‫11110000‬ ‫51‬ ‫11110100‬ ‫74‬ ‫‪XOR‬‬ ‫،‬ ‫ی‬ ‫ی‬ ‫د‬ ‫آ آ‬ ‫آ‬ ‫اي‬ ‫ه را‬ ‫‪، (^) XOR‬‬ ‫د.‬ ‫رت ،‬ ‫ای‬ ‫د. در‬ ‫ی‬ ‫01010100‬ ‫24‬ ‫^‬ ‫11110000‬ ‫51‬ ‫10100100‬ ‫73‬ ‫آ .‬ ‫،‬ ‫دوم‬ ‫آ .ه‬ ‫ه د‬ ‫د.‬ ‫وا‬ ‫ه‬ ‫ت دازش‬ ‫اي ﺥ از‬ ‫ای وی‬ ‫هي‬ ‫آر د‬
  • 74. : ‫ده‬ ‫ن‬ ‫را‬ ‫هي‬ ‫زی‬ // Demonstrate the bitwise logical operators. class BitLogic { public static void main(String args[] ){ String binary[] = { "0000"/ "0001"/ "0010"/ "0011"/ "0100"/ "0101"/ "0110"/ "0111"/ "1000"/ "1001"/ "1010"/ "1011"/ "1100"/ "1101"/ "1110"/ "1111" }; int a = 3; // 0 + 2 + 1 or 0011 in binary int b = 6; // 4 + 2 + 0 or 0110 in binary int c = a | b; int d = a & b; int e = a ^ b; int f =( ~a & b )|( a & ~b); int g = ~a & 0x0f; System.out.println(" a = " + binary[a]); System.out.println(" b = " + binary[b]); System.out.println(" a|b = " + binary[c]); System.out.println(" a&b = " + binary[d]); System.out.println(" a^b = " + binary[e]); System.out.println("~a&b|a&~b = " + binary[f]); System.out.println(" ~a = " + binary[g]); } } : ‫ی يه‬ ‫اي دو ر‬ ‫ﻝ‬ ‫ر‬ ‫ه‬ ‫ی‬ ‫ه ی دار آ‬ ‫ل‬ ‫ در ای‬b ، a &‫د|و‬ ‫ا‬ d‫و‬c ‫ی‬ ‫آ دن‬ . ٠-٠ ، ١-٠ ، ٠-١ ، ١-١ ‫ی ي ا اد‬ ‫ی‬ ‫وي‬ ، ‫ م دارد‬binary ‫رای اي آ‬ ‫.ر‬ ‫ه دری‬ ‫روي ه ی از‬ ‫ی ي ه ی از‬ ‫ی‬ ‫اي ه‬ ‫ل‬ ‫ه ي رای در ای‬ ‫. ای آ‬ ‫٥١ ا‬ ‫ ، در‬n ‫ار ی ي‬ ‫اي‬ ‫ر‬ ‫ی‬ ‫ا‬ ‫ﺥ‬ ‫اي‬ ‫ن ده . رای‬ ‫ی را‬ ‫آ‬ ‫ارش‬ ‫د‬ AND ، 0x0f (00001111) –a ‫ار‬ .‫د‬ ‫ ذﺥ‬binary[n] ‫ن‬ ‫در ذی‬ ‫داد. ﺥ وﺝ‬ ‫ی‬ binary ‫د از رای‬ ‫ا‬ ‫ان‬ ‫ی‬ ‫از ٦١ آ ه‬ : ‫ا‬ ‫داد‬ a = 0011
  • 75. ‫0110 = ‪b‬‬ ‫1110 = ‪a | b‬‬ ‫0100 = ‪a & b‬‬ ‫1010 = ‪a ^ b‬‬ ‫1010 = ‪~ a & b | a & ~ b‬‬ ‫0011 = ‪~ a‬‬ ‫چ‬ ‫ﺵ‬ ‫ت‬ ‫اد د‬ ‫ا از‬ ‫ش را‬ ‫هي‬ ‫م‬ ‫)<<( ،‬ ‫د‬ ‫:‬ ‫ا‬ ‫ن داد‬ ‫ن در زی‬ ‫آ‬ ‫ده .‬ ‫ا ل‬ ‫‪Value << num‬‬ ‫م‬ ‫، "<<"‬ ‫ا لی .ی‬ ‫ار ‪ value‬ی‬ ‫آ‬ ‫ا‬ ‫اد د‬ ‫آ‬ ‫‪Num‬‬ ‫ر‬ ‫ازاي ه‬ ‫ده .‬ ‫ا ل‬ ‫ا از ‪num‬‬ ‫را‬ ‫رد‬ ‫ار‬ ‫هي‬ ‫را‬ ‫از‬ ‫رود و ی‬ ‫از د‬ ‫اﻝ‬ ‫(،‬ ‫ل)‬ ‫ا‬ ‫ل‬ ‫‪ int‬ا‬ ‫ی‬ ‫"‬ ‫"‬ ‫آ و‬ ‫ی‬ ‫د. ای‬ ‫ا‬ ‫از ع ‪long‬‬ ‫رو .‬ ‫و ی از د‬ ‫از‬ ‫از‬ ‫ه‬ ‫د،‬ ‫رو .‬ ‫م از د‬ ‫و‬ ‫از‬ ‫از‬ ‫ه‬ ‫رت‬ ‫، در ن‬ ‫ی‬ ‫ﻝ‬ ‫ار ﺥ دآ ر ﺝ وا‬ ‫ده ،‬ ‫ع ‪ byte‬و ‪ short‬را‬ ‫دی‬ ‫و‬ ‫ع‬ ‫دی‬ ‫د،‬ ‫ﺝ ي ارزی‬ ‫ی ﺝ‬ ‫،و‬ ‫دا‬ ‫آ‬ ‫د. ه ن‬ ‫ی‬ ‫د. ای‬ ‫‪int‬‬ ‫اي‬ ‫ﺝ‬ ‫ی‬ ‫و‬ ‫.‬ ‫ی‬ ‫‪ int‬ار‬ ‫‪ byte‬و ‪short‬‬ ‫ه‬ ‫هي‬ ‫دو‬ ‫دی ‪ short ، byte‬و ‪int‬‬ ‫در‬ ‫آ‬ ‫دی ‪ byte‬و ‪short‬‬ ‫و ،‬ ‫رو .‬ ‫ر ، از د‬ ‫وی‬ ‫از‬ ‫ز‬ ‫هي‬ ‫. از ای رو،‬ ‫رگ‬ ‫ن‬ ‫‪ int‬از‬ ‫م ار‬ ‫ه‬ ‫ع ‪ byte‬و‬ ‫دی‬ ‫در‬ ‫م‬ ‫آ ا‬ ‫ا‬ ‫دﻝ‬ ‫ه‬ ‫.‬ ‫ی‬ ‫ل،‬ ‫ان‬ ‫د.‬ ‫ع ‪ int‬را دی‬ ‫ی هي‬ ‫ی‬ ‫آ‬ ‫‪ short‬ی‬ ‫و‬ ‫ی‬ ‫‪ int‬ار‬ ‫ار ا ا‬ ‫ه ، ن‬ ‫ار ع ‪ byte‬را‬ ‫ی‬ ‫ا‬ ‫،‬ ‫ار ‪byte‬‬ ‫"‬ ‫"‬ ‫ر ن‬ ‫آ ا‬ ‫ی‬ ‫د. ای‬ ‫داد‬
  • 76. ‫آ‬ ‫م ای آ ر ، ن ا‬ ‫اي ا‬ ‫ی روش‬ .‫ی‬ ‫را دی‬ ‫ی‬ ‫ی‬ ‫ن داد‬ ‫ل زی‬ ‫م در‬ ‫ی آ . ای‬ byte "casting" ‫د از‬ ‫دا ا‬ ‫را‬ : ‫ا‬ // Left shifting a byte value. class ByteShift { public static void main(String args[] ){ byte a = 64/ b; int i; i = a << 2; b =( byte( )a << 2); System.out.println("Original value of a :" + a); System.out.println("i and b :" + i + " " + b); } } : ‫ا‬ ‫ن داد‬ ‫در ذی‬ ‫از ای‬ ‫ﺥ وﺝ‬ Orginal value of a: 64 I and b: 256 0 ( 0000 0000) ٦٤ ‫ار‬ " " ‫، دو‬ ‫ی‬ ‫ ار‬int ‫اي ارزی‬ a‫ن‬ ‫از‬ b ‫ار‬ ، ‫د. ا‬ i ‫اي‬ (1 0000 0000 ) ٢٥٦ ‫ار‬ . ‫ا‬ ‫ر‬ ‫از د‬ ‫از‬ ،‫ن‬ ‫ی‬ .‫د‬ ‫ن ی‬ ،‫د‬ ‫ان ی‬ ‫زان از ای ا‬ ، ‫ار اوﻝ ا‬ ‫ن‬ ‫ا‬ ‫، دو‬ ‫ه‬ ‫ن‬ ‫ی‬ ‫.ا‬ ‫ه‬ ‫ا‬ ‫ی‬ ‫آ .ا‬ ‫د‬ ‫ی در ٢ ا‬ ‫اي‬ ‫ی آر‬ ‫ﺝی‬ ‫ﺥ اه‬ ‫ار ن‬ ، ‫ل ده‬ ‫١٣ ی ٣٦ ( ا‬ ) ‫ﺥ ی‬ ‫"ی " را‬ : ‫ا‬ ‫ن داد‬ ‫زی‬ ‫در‬ ‫. ای‬ // Left shifting as a quick way to multiply by 2. class MultByTwo { public static void main(String args[] ){ int i; int num = 0xFFFFFFE; for(i=0; i<4; i++ ){ num = num << 1; System.out.println(num); }
  • 77. ‫}‬ ‫}‬ ‫:‬ ‫رت زی ا‬ ‫ﺥ وﺝ‬ ‫809078635‬ ‫6181473701‬ ‫2363847412‬ ‫23-‬ ‫د. ه ن‬ ‫ی‬ ‫٢٣-‬ ‫"‬ ‫"‬ ‫از ٤‬ ‫ا‬ ‫ب‬ ‫ا‬ ‫د‬ ‫ار اوﻝ‬ ‫د.‬ ‫د‬ ‫،‬ ‫ی‬ ‫ل‬ ‫١٣ ا‬ ‫"ی "‬ ‫ی‬ ‫و‬ ‫آ‬ ‫را‬ ‫ﺵ‬ ‫ت‬ ‫اد د‬ ‫ا از‬ ‫ش را‬ ‫ي‬ ‫م‬ ‫)>>( ،‬ ‫را‬ ‫:‬ ‫ا‬ ‫ن داد‬ ‫ن در زی‬ ‫آ‬ ‫ده .‬ ‫ا ل‬ ‫را‬ ‫‪value >> num‬‬ ‫،‬ ‫لی .ی‬ ‫ا‬ ‫را‬ ‫ار ‪ value‬ی‬ ‫آ‬ ‫ا‬ ‫اد د‬ ‫آ‬ ‫‪num‬‬ ‫ده .‬ ‫ل‬ ‫ا‬ ‫را‬ ‫ا از ‪num‬‬ ‫را‬ ‫رد‬ ‫ار‬ ‫هي‬ ‫م‬ ‫">>"‬ ‫د:‬ ‫ار ٨ در ‪ a‬ذﺥ‬ ‫ده‬ ‫را‬ ‫ار ٢٣ را ٢‬ ‫ل زی‬ ‫;23 = ‪int a‬‬ ‫8 ‪a = a >> 2; // a now contains‬‬ ‫ه از د‬ ‫م ن‬ ‫،‬ ‫داد‬ ‫ود اش‬ ‫ﺥ رج از‬ ‫ار‬ ‫هيی‬ ‫و‬ ‫ر‬ ‫از د‬ ‫ده و در‬ ‫را‬ ‫ار ٥٣ را ٢‬ ‫ل زی‬ ‫،‬ ‫رو .‬ ‫د.‬ ‫ار ٨ در ‪ a‬ذﺥ‬ ‫دا‬ ‫،‬ ‫را‬ ‫هي‬ ‫;53 = ‪int a‬‬ ‫8 ‪a = a >> 2; // a still contains‬‬ ‫ده :‬ ‫ن‬ ‫ح‬ ‫و‬ ‫ت را‬ ‫ا اد ی ي ، ا‬ ‫ه ن‬ ‫ر‬ ‫11000100‬ ‫53‬ ‫2 >>‬ ‫00010000‬ ‫8‬
  • 78. ‫دی‬ ‫د–و‬ ‫٢‬ ‫ار‬ ‫ده ، ن‬ ‫را‬ ‫اري را‬ ‫رآ‬ ‫ه‬ ‫د‬ ‫ا‬ ‫آر‬ ‫٢‬ ‫م‬ ‫اي ا‬ ‫ا‬ ‫د. از ای وی‬ ‫ا‬ ‫.‬ ‫ﺥ رج‬ ‫را‬ ‫ه از‬ ‫آ‬ ‫آ‬ ‫ن‬ ‫، ی ا‬ ‫آ . اﻝ‬ ‫ه آ‬ ‫ی‬ ‫ده ،‬ ‫را‬ ‫اري را‬ ‫و‬ ‫. ای‬ ‫ی‬ ‫ﺝی‬ ‫ی‬ ‫اي‬ ‫و‬ ‫ا ،‬ ‫ین‬ ‫را‬ ‫دادن‬ ‫م‬ ‫ه‬ ‫ا اد‬ ‫و‬ ‫"‪"sign extension‬‬ ‫ن داد‬ ‫در ذی‬ ‫ی ي ای‬ ‫آ‬ ‫ا 4- ا‬ ‫ل ، 1>>8- ،‬ ‫ان‬ ‫د.‬ ‫را‬ ‫:‬ ‫ا‬ ‫00011111‬ ‫8-‬ ‫1>>‬ ‫00111111‬ ‫4-‬ ‫ا‬ ‫،‬ ‫١-‬ ‫ه‬ ‫ده ،‬ ‫را‬ ‫١- را‬ ‫آ ا‬ ‫ا‬ ‫ﺝﻝ ا‬ ‫ی‬ ‫ﺝی‬ ‫ه ي ی در‬ ‫ه ار‬ ‫د‬ ‫ی "‪"sign extension‬‬ ‫آ‬ ‫.‬ ‫ورت ارد.‬ ‫را‬ ‫دی‬ ‫دادن‬ ‫م‬ ‫ه‬ ‫ی ،‬ ‫م‬ ‫ه او ت ا‬ ‫آ .‬ ‫ی‬ ‫دﻝ‬ ‫ل‬ ‫اد‬ ‫ه‬ ‫ر‬ ‫ار ع ‪ byte‬را‬ ‫زی ی‬ ‫ل،‬ ‫ان‬ ‫د‬ ‫‪0x0f‬‬ ‫ی ‪ AND‬آ دن‬ ‫، از‬ ‫از‬ ‫ار‬ ‫آ‬ ‫آ‬ ‫د‬ ‫ان ای آ‬ ‫ار‬ ‫ان از‬ ‫،‬ ‫د و در‬ ‫"‪ "sign extension‬دی ا‬ ‫د.‬ ‫د‬ ‫لا‬ ‫اد‬ ‫رای آ راآ ه ي ه‬ ‫.‪// Masking sign extension‬‬ ‫{ ‪class HexByte‬‬ ‫{) ][‪static public void main(String args‬‬ ‫{ = ][‪char hex‬‬ ‫,'7' ,'6' ,'5' ,'4' ,'3' ,'2' ,'1' ,'0'‬ ‫'‪'8', '9', 'a', 'b', 'c', 'd', 'e', 'f‬‬ ‫;}‬ ‫1‪byte b =( byte )oxf‬‬ ‫;)]‪System.out.println("b = ox" + hex[(b >> 4 )& oxof] + hex[b & oxof‬‬ ‫}‬ ‫}‬
  • 79. ‫:‬ ‫ا‬ ‫ن داد‬ ‫در زی‬ ‫ﺥ وﺝ‬ ‫1‪b = 0xf‬‬ ‫ون‬ ‫را‬ ‫ﺵ‬ ‫ر ﺥ دآ ر‬ ‫را‬ ‫اﻝ‬ ‫>> ،‬ ‫دی ی ،‬ ‫آ در‬ ‫ه ن‬ ‫رد‬ ‫ار‬ ‫ﺝ‬ ‫آ . ای آ ر‬ ‫ن‬ ‫ار‬ ‫از‬ ‫ر‬ ‫ه‬ ‫ده آ‬ ‫ي را‬ ‫ل،ا‬ ‫ان‬ ‫د.‬ ‫زم‬ ‫د. ا ، ه ای ا‬ ‫. ای‬ ‫"‪ "sign extension‬ا‬ ‫ز‬ ‫ا‬ ‫،‬ ‫دي‬ ‫ار‬ ‫ی‬ ‫ی‬ ‫ارد ،‬ ‫. در ای‬ ‫اول ا‬ ‫ا‬ ‫و‬ ‫دی‬ ‫ای ه م آ ر‬ ‫ده .‬ ‫ا ل‬ ‫اﻝ‬ ‫را‬ ‫ی ی‬ ‫و‬ ‫ارده‬ ‫١-‬ ‫ل،‪a‬‬ ‫. در ای‬ ‫ا‬ ‫ن داد‬ ‫ل زی‬ ‫د ">>>" در‬ ‫و‬ ‫ا لی‬ ‫را‬ ‫٤٢‬ ‫ار‬ ‫د. ای‬ ‫ی‬ ‫ای ، آ ٢٣‬ ‫د. ی‬ ‫‪ sign extension‬دی ا‬ ‫و‬ ‫٤٢‬ ‫د.‬ ‫٥٥٢ در ‪ a‬ذﺥ‬ ‫;1- = ‪int a‬‬ ‫;42 >>> ‪a = a‬‬ ‫ده‬ ‫آ رخ‬ ‫ا‬ ‫ا‬ ‫ار‬ ‫ار م ی ي‬ ‫در ذی‬ ‫م‬ ‫ا‬ ‫ی :‬ ‫111111111‬ ‫11111111‬ ‫11111111‬ ‫‪11111111 -1 in binary as an int‬‬ ‫42>>>‬ ‫000000000‬ ‫00000000‬ ‫00000000‬ ‫‪11111111 255 in binary as an int‬‬ ‫دی‬ ‫اي‬ ‫اآ‬ ‫د،‬ ‫وا‬ ‫داری‬ ‫ا از اي آ دو‬ ‫د >>> ا‬ ‫تﺝ ي‬ ‫در ﺝ‬ ‫دی آ‬ ‫آ‬ ‫دا‬ ‫ﺥ‬ ‫.‬ ‫ﺥ اه دا‬ ‫٢٣ و ٤٦‬ ‫ده و‬ ‫آ ‪ sign-extension‬رخ‬ ‫ی‬ ‫. ای‬ ‫ی‬ ‫‪ int‬ار‬ ‫ر ﺥ دآ ر‬ ‫ﺥ‬ ‫ا‬ ‫،‬ ‫د. ی‬ ‫م‬ ‫ا‬ ‫ار ٢٣‬ ‫، در‬ ‫دی ٨ ی ٦١‬ ‫ﺝي‬
  • 80. ‫اي‬ byte ‫ع‬ ‫دی‬ ‫در‬ ‫ون‬ ‫را‬ ‫آ‬ ‫ر دا‬ ‫ا اد ا‬ ‫اآ‬ ، ‫د. ا ای‬ ‫ز‬ ٧ ‫، از‬ ‫ه‬ ‫ارده‬ ‫د‬ ‫م‬ ‫ا‬ : ‫ا‬ ‫ای‬ ‫زی‬ .‫د‬ ‫داد‬ ٣٢ ‫ار‬ ‫در وا ی‬ // Unsigned shifting a byte value. class ByteUShift { static public void main(String args[] ){ char hex[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; byte b =( byte )oxf1 byte c =( byte( )b >> 4); byte d =( byte( )b >>> 4); byte e =( byte(( )b & oxff )>> 4); System.out.println(" b = ox" + hex[(b >> 4 )& oxof] + hex[b & oxof]); System.out.println(" b >> 4 = ox" + hex[(c >> 4 )& oxof] + hex[c & oxof]); System.out.println(" b >>> 4 = ox" + hex[(d >> 4 )& oxof] + hex[d & oxof]); System.out.println("(b & oxof )>> 4 = ox" + hex[(e >> 4 )& oxof] + hex[e & oxof]); } } ، byte ‫ع‬ ‫دی‬ ‫آر‬ ‫>>> در‬ ‫ده آ‬ ‫ن‬ ‫ﺥ وﺝ ای‬ ‫ارده‬ byte ‫ع‬ ‫ا‬ ‫ار دﻝ‬ ‫ی‬ b ، ‫ده . در ای‬ ‫م‬ ‫ه آ ري ا‬ sign ‫ر‬ ‫رد ا‬ ‫م‬ ‫ا‬ ‫ﺥ‬ ،( ٣ ‫ا از‬ )b ‫را‬ . ‫ا‬ ‫ون‬ ‫، اﻝ‬ ‫ه ن‬ .( 0xff ‫د)ی‬ ‫ ذﺥ‬c ‫ در‬extension sign ‫ن‬ ‫ی . ا در‬ d ، 0x0f ‫رود‬ ‫ر‬ ‫،آ ا‬ ‫ ذﺥ‬d ‫0 در‬xff ، ‫( رخ داد ا‬ ‫از‬ ) int b ‫م ار‬ ‫ ه‬extension ، ٨ ‫ن‬ AND ‫ی‬ ‫ از‬b byte ‫ع‬ ‫ار‬ ‫ﺥ‬ ‫د. در ﺝ‬ .‫د‬ ‫ ذﺥ‬c ‫، در‬ 0x0f ‫ی‬ ‫د، و‬ ‫داد‬ ‫را‬ ‫ر‬
  • 81. ‫اآ و‬ ، ‫ا‬ ‫د‬ ‫>>> ا‬ ‫ از‬d ‫اي‬ ‫آ‬ ‫ﺝ دا‬ .‫د‬ ‫ آ دن‬AND ‫از‬ b = 0xf1 b >> 4 – 0xff b >>> 4 = 0xff ( b & 0xff ) >> 4 = 0x0f ‫وﺕ‬ ‫هي‬ ‫آ‬ ‫ه يﺝ يا‬ ‫آ‬ ‫ه دار‬ ‫مآ‬ ‫ی ي‬ ‫ه ي‬ ‫م‬ ‫ا از‬ ‫ را‬a ‫ار‬ ‫رت زی آ‬ ‫ل، دو‬ ‫ان‬ . ‫آ‬ ‫آ‬ ‫را‬ : ‫دل ی ی‬ ، ‫ده‬ ‫را‬ ٤ a = a >> 4; a >>= 4; : ‫دل ی ی‬ ، ‫ی‬ a a OR b ‫رت زی ه آ ﺝ‬ ‫ر دو‬ ‫ه‬ a = a | b; a |= b; ‫اي‬ ‫و‬ ‫هي‬ ‫مآ‬ ‫و‬ ‫ای د‬ ٤ ‫زی‬ ‫در‬ :‫د‬ ‫د‬ ‫ا‬ ‫دازش و ی ی‬ class OpBitEquals { public static void main(String args[] ){ int a = 1; int b = 2; int c = 3; a |= 4; b >>= 1; c <<= 1; a ^= c; System.out.println("a = " + a ); System.out.println("b = " + b ); System.out.println("c = " + c ); } }
  • 82. ‫:‬ ‫ا‬ ‫ن داد‬ ‫در ذی‬ ‫ﺥ وﺝ‬ ‫3 = ‪a‬‬ ‫1 = ‪b‬‬ ‫6 = ‪c‬‬ ‫اي‬ ‫ه ي را‬ ‫آ . ای‬ ‫دی‬ ‫ی‬ ‫را‬ ‫ی‬ ‫اي ، را‬ ‫ه ي را‬ ‫ن‬ ‫اي در ذی‬ ‫ه ي را‬ ‫آ .‬ ‫ه را‬ ‫وي و‬ ‫ه‬ ‫:‬ ‫ا‬ ‫داد‬ ‫وي اﺱ‬ ‫==‬ ‫اﺱ‬ ‫=!‬ ‫از‬ ‫ر‬ ‫>‬ ‫از‬ ‫آ‬ ‫<‬ ‫وي اﺱ‬ ‫ر‬ ‫=>‬ ‫وي اﺱ‬ ‫آ‬ ‫=<‬ ‫رت‬ ‫در ﺝ ت ﺝ ي آ‬ ‫اي‬ ‫ه ي را‬ ‫.‬ ‫ار ﻝ ا‬ ‫ت، ی‬ ‫ای‬ ‫.‬ ‫آر د‬ ‫ن‬ ‫هي‬ ‫ر در‬ ‫،وه‬ ‫آ‬ ‫ل‬ ‫‪ if‬را آ‬ ‫ور ، آ راآ ه‬ ‫ري‬ ‫، ا اد ا‬ ‫ا اد‬ ‫داد ه در ﺝ وا ، از ﺝ‬ ‫ا اع‬ ‫د. ﺝ دا‬ ‫ی‬ ‫وي )==( ی "=!"‬ ‫د از‬ ‫ا‬ ‫ان‬ ‫ﻝ را‬ ‫دی‬ ‫و‬ ‫: از‬ ‫دا‬ ‫ﺥ‬ ‫)‬ ‫ا‬ ‫وي در ﺝ وا از دو "="‬ ‫آ‬ ‫هي‬ ‫ان‬ ‫دي را‬ ‫دی‬ ‫د(.‬ ‫د‬ ‫ا‬ ‫اي‬ ‫"="‬ ‫ان‬ ‫ور و آ راآ ي را‬ ‫ري ی‬ ‫،ا‬ ‫هي‬ ‫،‬ ‫د. ی‬ ‫ی‬ ‫.‬ ‫آ‬ ‫وآ ا‬ ‫ر‬ ‫دآ آ ا‬ ‫د‬ ‫ی‬ ‫رت ذی‬ ‫.‬ ‫ار ﻝ ا‬ ‫اي ، ی‬ ‫را‬ ‫از‬ ‫،‬ ‫آ‬ ‫ه ن‬ ‫:‬ ‫ه‬ ‫آ‬ ‫;4 = ‪int a‬‬ ‫;1 = ‪int b‬‬
  • 83. boolean c = a < b; .‫د‬ ‫ ذﺥ‬c ‫( در‬ ‫ ا‬false ‫ ) آ‬a<b ‫ﻝ‬ ‫در ای‬ C/C++ ‫رت زی در‬ ‫آ . ا اع‬ ‫زی د‬ ‫ را داری ، ﻝ‬C/C++ ‫آر‬ ‫ا‬ : ‫اوﻝ‬ ‫ر‬ int done; // … if ( ! done ) … // valid in C/C++ if ( done ) … // but not valid in Java : ‫رت زی‬ ‫را ی در ﺝ وا‬ ‫رت‬ If ( done == 0 ) … // This is Java-style If ( done != 0 ) … ‫ در‬True . C/C++ ‫ن‬ ‫ در ﺝ وا ه‬false ‫ و‬true ‫ی‬ ‫آ‬ ‫نا‬ ‫ا‬ ‫ای‬ ‫دﻝ‬ ‫ در ﺝ وا‬false ‫ و‬True . ‫ار‬ false ‫و‬ ‫ا‬ ‫ﻝ‬ ‫ار‬ ‫ ، ه‬C/C++ ‫ی‬ ‫اي‬ ، ‫ای‬ . ‫ار‬ ‫و‬ ‫آ ار‬ ‫دي ه‬ ‫دی‬ . ‫د آ‬ ‫اي ا‬ ‫را‬ ‫، ی از ی ی‬ ‫و‬ ‫هي‬ Boolean ‫ه ي ع‬ ‫اي‬ ، ‫ا‬ ‫ن داد‬ ‫ﻝ آ در ای‬ ‫هي‬ ‫آ‬ ‫آ‬ ‫ه‬ ‫ را‬Boolean ‫ار ع‬ ‫ﻝ دو‬ ‫هي‬ ‫م‬ . ‫د ه‬ ‫ا‬ .‫د‬ Boolean ‫ار ع‬ ‫ی‬ AND & OR | XOR ^ ‫ل آ‬ ‫ ا‬OR || ‫ل آ‬ ‫ ا‬AND && NOT ! ‫ و‬AND &= ‫ و‬OR |=
  • 84. ‫ و‬XOR ^= ‫وي اﺱ‬ == ‫اﺱ‬ != ‫ ﺱ‬if-then-else ?: ‫روي‬ ‫د ن‬ ‫ن‬ ‫ﻝ ه‬ ‫دی‬ ‫روي‬ (^‫)&،|و‬ ‫هي ﻝ‬ ‫د‬ !true == : ‫آ‬ ‫س‬ ‫ﻝ را‬ ‫"!" و‬ ‫د‬ . ‫ا‬ ‫د‬ ‫هيی‬ : ‫ا‬ ‫ن داد‬ ‫در ﺝ ول زی‬ ‫ت‬ ‫ه ی از‬ . !false == true ‫ و‬false A B A|B A&B A^B ~A False False False False False True True False True False True False False True True False True True True True True True False False ‫وت آ‬ ‫. ای‬ ‫ا‬ ‫ح‬ ‫از ای‬ ‫آ‬ ‫ ا‬BitLogic ‫ل‬ ‫دل‬ ‫ی‬ ‫زی‬ : ‫آ‬ ‫ﻝ‬ ‫دی‬ ‫روي‬ ‫هي ی ي‬ ‫ﺝي‬ // Demonstrate the boolean logical operators. class BoolLogic { public static void main(String args[] ){ boolean a = true; boolean b = false; boolean c = a | b; boolean d = a & b; boolean e = a ^ b; boolean f =( !a & b )|( a & !b); boolean g = !a; System.out.println(" a = " + a); System.out.println(" b = " + b); System.out.println(" a|b = " + c); System.out.println(" a&b = " + d); System.out.println(" a^b = " + e); System.out.println("!a&b|a&!b = " + f); System.out.println(" !a = " + g); }
  • 85. ‫}‬ ‫ع ‪Boolean‬‬ ‫دی‬ ‫ه ،‬ ‫، ﺥ اه دی آ ه ن ا‬ ‫از اﺝ اي ای‬ ‫ﻝ‬ ‫دی‬ ‫اي‬ ‫ر‬ ‫ی‬ ‫،‬ ‫ا‬ ‫آ از ﺥ وﺝ ذی‬ ‫.ه ن‬ ‫ل‬ ‫ا‬ ‫:‬ ‫ار ﻝ ال ‪ true‬ی ‪ false‬ا‬ ‫از دو‬ ‫ﺝ وا ،ی‬ ‫‪a = true‬‬ ‫‪b = false‬‬ ‫‪a | b = true‬‬ ‫‪a & b = false‬‬ ‫‪a ^ b = true‬‬ ‫‪a & b | a & ! b = true‬‬ ‫‪! a = false‬‬ ‫اﺕ ل آ ﺕ‬ ‫هي‬ ‫وﺝ د ارد. ای‬ ‫ي دی‬ ‫يآ‬ ‫ري از ز‬ ‫دارد آ در‬ ‫ﻝ ﺝﻝ‬ ‫ﺝ وا دو‬ ‫هي‬ ‫ون‬ ‫و‬ ‫ﻝ ه‬ ‫‪ AND‬و ‪OR‬‬ ‫ي ﺙ ی دو‬ ‫ر‬ ‫ه ،‬ ‫،‬ ‫ا‬ ‫آ از ﺝ ول‬ ‫ا .ه ن‬ ‫ﺥ‬ ‫"‬ ‫لآ‬ ‫"ا‬ ‫ر،‬ ‫ار ‪ .B‬ه‬ ‫از‬ ‫،‬ ‫ارش ‪true‬‬ ‫آ ‪A‬‬ ‫‪ true‬ا‬ ‫‪ OR‬ز‬ ‫ار ‪.B‬‬ ‫از‬ ‫،‬ ‫ارش ‪false‬‬ ‫دآ ‪A‬‬ ‫‪false‬‬ ‫‪ AND‬ز‬ ‫رت‬ ‫، در ن‬ ‫د آ‬ ‫م || و && ا‬ ‫ه از دو‬ ‫م ه ي | و & ای‬ ‫ﺝ ي‬ ‫ا‬ ‫آ ، در ن‬ ‫و‬ ‫را‬ ‫ﺝ‬ ‫ا‬ ‫ﺝ وا‬ ‫آ‬ ‫ا‬ ‫اي‬ ‫اه آ د. ای ا‬ ‫را ارزی‬ ‫را‬ ‫رت دی‬ ‫ان‬ ‫.‬ ‫ا‬ ‫ر‬ ‫،‬ ‫وا‬ ‫‪ true‬ی ‪ false‬دن‬ ‫را‬ ‫ا‬ ‫لآ‬ ‫ا‬ ‫د از ارزی‬ ‫ا‬ ‫ده آ‬ ‫ن‬ ‫رت زی‬ ‫ل،‬ ‫:‬ ‫دی ﺥ‬ ‫ﺥ اه‬ ‫ن در‬ ‫آ‬ ‫آ‬ ‫ن‬ ‫ا‬ ‫از ی‬ ‫) 01 > ‪if ( denom != 0 && num / denom‬‬ ‫ي "ز ن-اﺝ ا"‬ ‫ل وز ا‬ ‫،ا‬ ‫ا‬ ‫د‬ ‫‪ ( && ) AND‬ا‬ ‫لآ‬ ‫ما‬ ‫ن ار‬ ‫‪AND‬‬ ‫رش &‬ ‫د از‬ ‫ا‬ ‫ای‬ ‫رود. ا‬ ‫دن ‪ denom‬از‬ ‫دﻝ‬
  • 86. ‫ي‬ ‫،ا‬ ‫و در‬ ‫ارزی‬ ‫ف‬ ‫ه دو‬ ‫ی‬ ‫،‬ ‫ی.‬ ‫دن ‪denom‬‬ ‫رت‬ ‫"ز ن-اﺝ ا" در‬ ‫‪ AND‬و‬ ‫لآ‬ ‫مه يا‬ ‫و آ ر داری ، از‬ ‫ﻝ‬ ‫آ‬ ‫ا‬ ‫در‬ ‫ﺥ با‬ ‫ن‬ ‫اری . ا ، ای‬ ‫اي‬ ‫دي را‬ ‫ي‬ ‫ر‬ ‫،و‬ ‫د آ‬ ‫‪ OR‬ا‬ ‫ی :‬ ‫رت زی را در‬ ‫ل،‬ ‫ان‬ ‫ه دارد.‬ ‫ا‬ ‫;001 = ‪if ( c==1 & e++ < 100 ) d‬‬ ‫ار ‪ c‬ا م‬ ‫دن‬ ‫از ی‬ ‫ار ‪e‬‬ ‫آ آ ا ای‬ ‫د از & در ای‬ ‫ا‬ ‫د.‬ ‫ﺕ‬ ‫ن‬ ‫در ﺝ وا ه‬ ‫د‬ ‫د.‬ ‫ن داد‬ ‫"="‬ ‫:‬ ‫رت زی ا‬ ‫ن‬ ‫آ‬ ‫.‬ ‫يا‬ ‫يآ‬ ‫ی ز‬ ‫; ‪Var = expression‬‬ ‫.‬ ‫ز ر‬ ‫ع ‪expression‬‬ ‫ع داد ‪ var‬ی‬ ‫اي از‬ ‫ن ای د ز‬ ‫:ا‬ ‫ن‬ ‫ا‬ ‫دارد آ‬ ‫ﺝﻝ‬ ‫وی‬ ‫د‬ ‫:‬ ‫ﺝ آ‬ ‫رت زی‬ ‫ل،‬ ‫ان‬ ‫زد.‬ ‫اه‬ ‫را‬ ‫ت‬ ‫;‪int x, y, z‬‬ ‫;001 = ‪x = y = z‬‬ ‫;001 ‪// set x, y, and z to‬‬ ‫دن ای‬ ‫د. دﻝ‬ ‫٠٠١‬ ‫ار ه‬ ‫رت‬ ‫د از ی‬ ‫ا‬ ‫رت‬ ‫در‬ ‫. از ای رو ،‬ ‫رت ا‬ ‫را‬ ‫ن،‬ ‫آ‬ ‫يا‬ ‫آ "="‬ ‫نا‬ ‫وی‬ ‫‪x‬‬ ‫ﺥ د‬ ‫،و ن‬ ‫ی‬ ‫‪y‬‬ ‫آ‬ ‫ار 001=‪ ١٠٠ ، z‬ا‬ ‫وه از‬ ‫ك‬ ‫ار‬ ‫دادن ی‬ ‫اي‬ ‫" روش‬ ‫د از "ز‬ ‫ی .ا‬ ‫.‬ ‫ه‬ ‫؟‬
  • 87. if- ‫ر ي‬ ‫ﺥ از ا اع ﺥ ص‬ ‫ا ﺝ‬ ‫دارد آ‬ ‫ی وی‬ ‫ﺝ وا‬ ‫آ‬ ‫اول‬ ‫در‬ ‫ا‬ "‫"؟‬ . ‫، "؟" ا‬ ‫د. ای‬ then-else ‫ن‬ ‫آ‬ . ‫د آ‬ ‫ﺙ ي از ن ا‬ ‫ا‬ ‫ن‬ ‫ی‬ ‫از‬ ‫،ا‬ : ‫رت زی ا‬ expression1 ? expression2 : experssion3 ، true ‫ن‬ ‫.ا‬ Boolean ‫ع‬ ‫اي‬ ‫ا ه ﺝ‬ experssion1 ‫ ارزی‬experssion3 ‫رت‬ ‫ای‬ ‫د ، در‬ ‫ ارزی‬expersion2 ‫رت‬ ‫در ن‬ ‫ﻝ از آ ر د ؟ ﺝ آ‬ . ‫ﺝ ت نا‬ ‫ارزی‬ ‫؟،ه ن‬ . ‫ﺥ اه‬ : ratio = denom == 0 ? 0 : num / denom . ‫آ‬ ‫ال ﺝ‬ ‫ﺝ‬ ، ‫آ‬ ‫رت را ارزی‬ ‫ﺝ وا ای‬ ‫و‬ ‫و‬ ‫ال و ":" ارزی‬ ‫رت ﺝ‬ ‫، در ن‬ ‫ا‬ denom ‫ا‬ ‫رت‬ ‫، در ن‬ ‫ﻝ‬ denom ‫د. ا‬ ‫ار‬ ‫د‬ ‫رد ا‬ "?" ‫ار آ‬ ‫ان‬ ‫د‬ ‫آر د‬ "?" ‫ار آ‬ ‫ان‬ ‫و‬ ‫از ":" ارزی‬ ‫ﺝ‬ . ‫ی‬ ratio "‫از "؟‬ ‫ق اي‬ ‫از‬ ‫ده . ای‬ ‫ن‬ ‫? را‬ ‫آ‬ ‫آ‬ ‫ه‬ ‫اي‬ ‫در زی‬ . ‫آ‬ ‫د‬ ‫ا‬ ‫ی‬ ‫ار‬ ‫اري‬ // Demonstrate ?. class Ternary { public static void main(String args[] ){ int i, k; i = 10; k = i < 0 ?- i : i; // get absolute value of i System.out.print("Absolute value of "); System.out.println(i + " is " + k); i = -10; k = i < 0 ?- i : i; // get absolute value of i System.out.print("Absolute value of "); System.out.println(i + " is " + k); } }
  • 88. ‫:‬ ‫رت زی‬ ‫ﺥ وﺝ ای‬ ‫01 ‪Absolute value of 10 is‬‬ ‫01 ‪Absolute value of- 10 is‬‬ ‫ه‬ ‫ﺕ م‬ ‫ده .‬ ‫ن‬ ‫ی‬ ‫ی‬ ‫ی اوﻝ ی‬ ‫ه ي ﺝ وا را از‬ ‫م‬ ‫ﺝ ول زی‬ ‫:‬ ‫در ر‬ ‫ان‬ ‫وﺝ د دارد آ‬ ‫اول ا‬ ‫آ در‬ ‫آ‬ ‫د‬ ‫در‬ ‫د‬ ‫،ا‬ ‫ارد ﺝ ا ز‬ ‫).( ، ای‬ ‫ه و‬ ‫ا ه ،آ و‬ ‫.‬ ‫د‬ ‫آر‬ ‫می‬ ‫اي‬ ‫ا ه‬ ‫.‬ ‫ه‬ ‫ن‬ ‫ﺝ تﺝ يه‬ ‫اي ارﺝ ع‬ ‫زد. از‬ ‫اه‬ ‫رای ه را‬ ‫آ دن ای آ‬ ‫ن‬ ‫ا‬ ‫آ و‬ ‫د.‬ ‫د‬ ‫ه ا‬ ‫ی‬ ‫][‬ ‫)(‬ ‫~‬ ‫~‬ ‫--‬ ‫++‬ ‫%‬ ‫/‬ ‫*‬ ‫-‬ ‫+‬ ‫<<‬ ‫>>>‬ ‫>>‬ ‫=<‬ ‫<‬ ‫>=‬ ‫>‬ ‫=!‬ ‫==‬ ‫&‬ ‫^‬ ‫|‬ ‫&&‬ ‫||‬ ‫:?‬ ‫=‪op‬‬ ‫=‬ ‫ی‬ ‫ی‬ ‫آر دپ ا ه‬
  • 89. ‫اري‬ ‫اي‬ ‫ده . ای ر ا‬ ‫ا ، ا ای‬ ‫را آ در‬ ‫م‬ ‫ا ه‬ ‫ی :‬ ‫رت زی را در‬ ‫ل،‬ ‫ان‬ ‫.‬ ‫وري ا‬ ‫دﻝ اه ن‬ ‫3 + ‪a >> b‬‬ ‫آ‬ ‫ف را‬ ‫ن‬ ‫‪ a‬را‬ ‫د و‬ ‫‪b‬ا‬ ‫رت ا ا ٣ را‬ ‫ای‬ ‫د:‬ ‫ی‬ ‫رت زی دو ر‬ ‫ا هيا‬ ‫د از‬ ‫ا‬ ‫ان‬ ‫رت را‬ ‫ده . ای‬ ‫)3 + ‪a >>( b‬‬ ‫ن‬ ‫٣ را‬ ‫داد و‬ ‫آ‬ ‫ف را‬ ‫ي‪b‬‬ ‫اه ا ا ‪ a‬را‬ ‫ا ،ا‬ ‫ار ده :‬ ‫ا‬ ‫رت زی در‬ ‫رت را‬ ‫، ی‬ ‫آ‬ ‫ا‬ ‫3 +) ‪( a << b‬‬ ‫م‬ ‫دن‬ ‫اي رو‬ ‫ان ه‬ ‫ا ه را‬ ‫،‬ ‫دي ی‬ ‫م‬ ‫و‬ ‫ر‬ ‫رت‬ ‫ﺥ ا ، درك ی‬ ‫را‬ ‫آ آ‬ ‫اي ه آ‬ ‫د.‬ ‫ر‬ ‫رت‬ ‫ی‬ ‫ت‬ ‫ا از ا‬ ‫رات‬ ‫و رو‬ ‫ا هيا‬ ‫دن‬ ‫.ا‬ ‫ا‬ ‫؟‬ ‫و درك‬ ‫ﺥ ا‬ ‫رات زی را‬ ‫از‬ ‫ل،آ ا‬ ‫ان‬ ‫ی.‬ ‫ي‬ ‫يﺝ‬ ‫7 & ‪a | 4 + c >> b‬‬ ‫)) 7 &) ‪( a |((( 4 + c )>> b‬‬ ‫را‬ ‫د‬ ‫(‬ ‫ی‬ ‫ﺥ ا ا‬ ‫رآ‬ ‫ا ه )‬ ‫:‬ ‫دی‬ ‫ی‬ ‫م ﺙ ي روي‬ ‫ا‬ ‫اي آ ه‬ ‫ا ه‬ ‫آ دن‬ ‫ای ، ا‬ ‫ده .‬ ‫آه‬ ‫.‬ ‫اه دا‬
  • 90. ‫رات‬ ‫:‬ ‫وی ای‬ ‫ب ﺝ وا‬ ‫رات ا‬ ‫ار‬ ‫رات‬ ‫رات ش‬ ‫ه‬ ‫ی ی ا‬ ‫د.‬ ‫ار داﺥ‬ ‫و‬ ‫رات‬ ‫،د‬ ‫اﺝ ا‬ ‫ل‬ ‫در ای‬
  • 91. ‫رات آ‬ ‫ات‬ ‫ا س‬ ‫اي ه ای ﺝ ی ن اﺝ اي‬ ‫رات آ ﻝ‬ ‫زي از‬ ‫ه ز ن‬ ‫ه ي ذی‬ ‫د‬ ‫ان‬ ‫ه ي ﺝ وا را‬ ‫رات آ ﻝ‬ ‫آ .‬ ‫د‬ ‫نا‬ ‫و‬ ‫ده‬ ‫ن‬ ‫هی نا‬ ‫ب،‬ ‫رات ا‬ ‫ش.‬ ‫ب ، اآ ار و‬ ‫د:ا‬ ‫ي‬ ‫بآ .‬ ‫ا‬ ‫ی‬ ‫ﺝ يی و‬ ‫ی ﺝ‬ ‫ا س‬ ‫را‬ ‫ه ي اﺝ ای‬ ‫رات‬ ‫،‬ ‫)ی‬ ‫ار آ‬ ‫رت را‬ ‫ی ی‬ ‫ده‬ ‫ن‬ ‫ه ا‬ ‫ار ،‬ ‫رات‬ ‫ده‬ ‫ن‬ ‫هی نا‬ ‫ش،‬ ‫رات‬ ‫ده . (‬ ‫ه را‬ ‫ار ،‬ ‫.‬ ‫اﺝ ا‬ ‫ﺥ‬ ‫رت‬ ‫وت وﺝ د دارد‬ ‫.ا‬ ‫ي ‪C#/C++/C‬‬ ‫ز‬ ‫رات آ ﻝ ﺝ وا‬ ‫ﺝ :‬ ‫رات ‪ break‬و ‪.continue‬‬ ‫وی‬ ‫وا‬ ‫ب‬ ‫رات ا‬ ‫را‬ ‫اﺝ اي‬ ‫رات‬ ‫آ : ‪ if‬و ‪ .switch‬ای د‬ ‫ب‬ ‫را‬ ‫ﺝ وا از دو د‬ ‫آ .ا‬ ‫ل‬ ‫آ‬ ‫ا‬ ‫ا ق‬ ‫اﺝ اي‬ ‫آ‬ ‫ای‬ ‫ا س‬ ‫و‬ ‫ر‬ ‫ﺝ د در ای دو د‬ ‫ی ي‬ ‫ف‬ ‫رت و ا‬ ‫‪ C++/C‬را اری ، از‬ ‫ی‬ ‫.‬ ‫زد ﺥ اه‬ ‫‪if‬‬ ‫د و اﺝ اي‬ ‫د‬ ‫ان ا‬ ‫ر‬ ‫. از ای د‬ ‫در ﺝ وا ا‬ ‫ب‬ ‫را‬ ‫ر ‪ if‬د‬ ‫د‬ ‫:‬ ‫رت زی ا‬ ‫ر‬ ‫ای د‬ ‫آ‬ ‫ﺝ ی ن ا اﺥ .‬ ‫وت‬ ‫دو‬ ‫را‬ ‫;1‪if( condition )statement‬‬ ‫;2‪else statement‬‬
  • 92. ‫ار‬ ‫آ‬ ‫ر‬ ‫د‬ ‫دی ی‬ ‫ر‬ ‫د‬ ‫ی‬ ‫ا‬ ‫‪statement‬‬ ‫ه‬ ‫درای‬ ‫ی‬ ‫آ‬ ‫ا‬ ‫ر‬ ‫ط(ه‬ ‫. ‪) condition‬‬ ‫ك(‬ ‫ی‬ ‫د)ی‬ ‫در آ‬ ‫.‬ ‫‪ else‬اﺥ ري ا‬ ‫دا . ﺝ‬ ‫ار ‪ boolean‬را‬ ‫.(‬ ‫ار ‪true‬‬ ‫‪، condition‬‬ ‫)‬ ‫ای‬ ‫آ :ا‬ ‫رت زی آ ر‬ ‫‪if‬‬ ‫رت وﺝ د ( اﺝ ا‬ ‫رت 2‪ ) statement‬در‬ ‫ای‬ ‫د. در‬ ‫1‪ statement‬اﺝ ا‬ ‫ل ، در‬ ‫ان‬ ‫.‬ ‫اه‬ ‫ه اﺝ ا‬ ‫ر‬ ‫ه دو د‬ ‫ای‬ ‫ه‬ ‫.‬ ‫ﺥ اه‬ ‫ی :‬ ‫;‪int a, b‬‬ ‫... //‬ ‫;0 = ‪if(a > b )a‬‬ ‫;0 = ‪else b‬‬ ‫ﺥ اه‬ ‫ا‬ ‫رت ‪b‬‬ ‫ای‬ ‫د. در‬ ‫ا‬ ‫‪a‬‬ ‫،‬ ‫از ‪b‬‬ ‫‪a‬آ‬ ‫ا‬ ‫.‬ ‫ا‬ ‫در ن وا‬ ‫ای دو‬ ‫ای‬ ‫. در ه‬ ‫اي‬ ‫ه ي را‬ ‫د‬ ‫د‬ ‫ل ‪ if‬ا‬ ‫اي آ‬ ‫آ‬ ‫ر‬ ‫او ت ،‬ ‫ﻝ‬ ‫ی‬ ‫ل زی‬ ‫ن‬ ‫ان ه‬ ‫رت ‪ if‬را‬ ‫وﺝ د ارد.‬ ‫ور‬ ‫، ا از‬ ‫ا‬ ‫د:‬ ‫ل‬ ‫ﻝ ه آ‬ ‫;‪boolean dataAvailable‬‬ ‫... //‬ ‫) ‪if( dataAvailable‬‬ ‫;)(‪ProcessData‬‬ ‫‪else‬‬ ‫;)(‪waitForMoreData‬‬ ‫د. ا‬ ‫ار‬ ‫از ‪ if‬ی ‪else‬‬ ‫ا‬ ‫ر‬ ‫ی د‬ ‫آ‬ ‫دا‬ ‫ﺥ‬ ‫آ در‬ ‫ای‬ ‫ك اری ،‬ ‫ای د ی‬ ‫زي‬ ‫ی ،‬ ‫ي داﺥ‬ ‫رات‬ ‫اه د‬ ‫:‬ ‫ا‬ ‫زی‬ ‫;‪int bytesAvailable‬‬ ‫... //‬ ‫‪if( bytesAvailable‬‬ ‫{ ) 0 >‬ ‫;)(‪ProcessData‬‬ ‫;‪bytesAvailable -= n‬‬
  • 93. ‫‪} else‬‬ ‫;)(‪waitForMoreData‬‬ ‫از‬ ‫ر‬ ‫‪bytesAvailable‬‬ ‫ا‬ ‫ك ‪ if‬اﺝ ا ﺥ اه‬ ‫ر داﺥ‬ ‫ل ، ه دو د‬ ‫در ای‬ ‫.‬ ‫ر در‬ ‫ی د‬ ‫ز‬ ‫د از ‪، if‬‬ ‫ما‬ ‫د از آ د را ه‬ ‫ی نا‬ ‫ﺥ از‬ ‫ر‬ ‫د‬ ‫ا‬ ‫ان‬ ‫ا‬ ‫د‬ ‫ا . ای ا‬ ‫را‬ ‫وﺝ د دا‬ ‫ه ﺝ‬ ‫، ا ش‬ ‫. در‬ ‫اه دا‬ ‫ا ش آ دن آ ده‬ ‫از‬ ‫ا‬ ‫دو‬ ‫ي را ا‬ ‫دی‬ ‫ان‬ ‫.‬ ‫وز ﺥ ه‬ ‫از د ی رای‬ ‫،ی‬ ‫زا‬ ‫آ‬ ‫كه‬ ‫ی‬ ‫ی‬ ‫آ دن‬ ‫ی :‬ ‫زی از ی آ را در‬ ‫ل‬ ‫;‪int bytesAvailable‬‬ ‫... //‬ ‫‪if( bytesAvailable‬‬ ‫{) 0 >‬ ‫;)(‪ProcessData‬‬ ‫;‪bytesAvailable -= n‬‬ ‫‪} else‬‬ ‫;)(‪waitForMoreData‬‬ ‫;‪bytesAvailable = n‬‬ ‫داﺥ ﺝ‬ ‫ا‬ ‫ري‬ ‫ر ;‪bytesAvailable = n‬‬ ‫آ د‬ ‫ا‬ ‫رو‬ ‫ﺥ‬ ‫اي‬ ‫يﺥ ﻝ‬ ‫د داری آ‬ ‫.ا‬ ‫نا‬ ‫ا‬ ‫دد ، و ای‬ ‫‪ else‬اﺝ ا‬ ‫ون‬ ‫دي وﺝ د دارد. ای آ‬ ‫ی‬ ‫ارد و راه وﺝ د ارد آ آ‬ ‫ﺝ وا اه‬ ‫رت‬ ‫ل‬ ‫.‬ ‫اﺝ ا ﺥ اه‬ ‫ر‬ ‫م اﺝ ا‬ ‫،ا ه‬ ‫ی ﺥ اه‬ ‫آ‬ ‫د:‬ ‫ح‬ ‫زی ا‬ ‫;‪int bytesAvailable‬‬ ‫... //‬ ‫{ ) 0 > ‪if( bytesAvailable‬‬ ‫;)(‪ProcessData‬‬ ‫;‪bytesAvailable -= n‬‬ ‫‪} else‬‬ ‫;)(‪waitForMoreData‬‬
  • 94. bytesAvailable = n; } ‫ ه ي ﺕ در ﺕ‬if if .‫د‬ ‫ار‬ ‫ دی‬else ‫ ی‬if ‫ي ، در ی‬ ‫ دی‬if ‫رت‬ ‫آ‬ ‫، نا‬ ‫در‬ if ‫ر از‬ ، ‫ی‬ ‫در‬ ‫رت‬ ‫ ه را‬if ‫اوﻝ . و‬ ‫ر‬ ‫زي‬ ‫ه ي در در‬ ‫رت‬ ‫ی‬ ‫دی‬ ‫ ه‬else ‫رت‬ ‫آ ه‬ ‫ری ن ا‬ ‫ﺥ‬ ‫ی‬ ‫آ‬ ‫ا‬ ‫ل زی‬ .‫، ارﺝ ع دارد‬ ‫يه‬ ‫ دی‬else ‫ آ‬else ‫ك‬ ‫ﺝ د در ه ن‬ if : ‫ﺝ آ‬ if(i == 10}( if( j < 20 ) a = b; if( k > 100 ) a = d; // this if is else a = c; // associated with this else } else a = d; // this else refers to if(i == 10) ‫اآ در ه ن‬ ، if(j<20) ‫ی‬ else ، ‫ده‬ ‫ن‬ ‫ت‬ ‫آ‬ ‫ه‬ else ‫ض ، ﺥ ی‬ ‫در‬ .( ‫ ا‬else ‫ ون‬if ‫ی‬ ‫دی‬ ‫ار ارد ) وﺝ د‬ ‫ك‬ ‫ در‬if ‫ی‬ ‫دی‬ ‫اآ‬ ، ‫ ارﺝ ع دارد‬if(k>100) ‫ داﺥ‬else . ‫ا‬ if(i==10) . ‫كا‬ ‫ه ن‬ if-else-if ‫د ن‬ ‫ﺥ ر‬ ‫. ای‬ ‫ا‬ ‫ ه ي در‬if ‫از‬ ‫ا سی‬ ‫رای‬ ‫ی‬ ‫ﺥ ر‬ ‫ی‬ : ‫رت زی‬ ‫و‬ ‫ ا‬if-else-if ‫د ن‬ if(condition) statement; else if(condition) statement; else if(condition) statement;
  • 95. . . . else statement; if ‫لآ‬ ‫ای آ‬ ‫از‬ ‫ی‬ ‫. دا‬ ‫اﺝ ا‬ ‫ی‬ ‫ از‬if ‫رات‬ ‫د‬ ‫ام از‬ ‫ه‬ ‫.ا‬ ‫د ن رد ﺥ اه‬ ‫د،و‬ ‫ اﺝ ا‬if ‫ن‬ ‫ا‬ ‫ره‬ ‫( ، د‬true) ‫ط‬ ‫ان‬ ‫ی‬ else . ‫ی اﺝ ا ﺥ اه‬ else ‫ر‬ ‫د‬ ، ‫ای‬ ‫م‬ ‫ ا‬else ‫ر‬ ‫ﺥ ی د‬ ، ‫ای دی‬ ‫آ‬ ‫ا‬ ‫آ ،ی‬ ‫ض‬ ‫ه‬ ، ‫ای‬ ‫ی‬ ‫و‬ ‫ی وﺝ د ا‬ else ‫.ا‬ ‫ﺥ اه‬ . ‫اه‬ ‫م‬ ‫ا‬ ‫آ آ ی‬ ‫د آ د‬ ‫ ا‬if-else-if ‫آ از د ن‬ ‫آ‬ ‫ه‬ ‫اي را‬ ، ‫در زی‬ . ‫ا‬ ‫وا‬ ‫در آ ام‬ // Demonstrate if-else-if statement. class IfElse{ public static void main(String args}( [] int month = 4; // April String season; if(month == 12 || month == 1 || month == 2) season = "Winter"; else if(month == 3 || month == 4 || month == 5) season = "Spring"; else if(month == 6 || month == 7 || month == 8) season = "Summer"; else if(month == 9 || month == 10 || month == 11) season = "Autumn"; else season = "Bogus Month"; System.out.println("April is in the" + season + "."); } } : ‫ار زی‬ ‫ﺥ وﺝ ای‬
  • 96. April is in the Spring. ‫اري‬ ‫ارد آ‬ ‫آ . ﺥ اه دی آ ه‬ ‫را ز ی‬ ‫اه ای‬ ‫ا‬ . ‫د ن اﺝ ا ﺥ اه‬ ‫ب داﺥ‬ ‫را‬ ‫ی د‬ ‫ ه ، ی و‬month Switch ‫اي‬ ‫د اي ا‬ ‫ر را‬ ‫. ای د‬ ‫راه در ﺝ وا ا‬ ‫ب‬ ‫را‬ ‫ ، د‬switch ‫ر‬ ‫د‬ ‫. ای روش ی‬ ‫رت‬ ‫ار ی‬ ‫ا س‬ ‫ی آ‬ ‫ي‬ ‫اﺝ اي‬ ‫ر‬ ‫د‬ ‫آ‬ . ‫ ا‬if-else-if ‫رات‬ ‫از د‬ ‫ر‬ ‫هي‬ ‫اي‬ ‫ی‬ ‫ﺝی‬ : ‫ار زی‬ switch switch(expression}( case value1: //statement sequence break; case value2: //statement sequence break; . . . case valueN: //statement sequence break; default: //default statement sequence } ‫ در‬values ‫دی‬ ‫از‬ ‫،ه ی‬ char ‫ ی‬int ، short ، byte ‫ع‬ ‫ ی از‬expression ‫ ی ی ﻝ ال‬case ‫دی‬ ‫. ه ی از‬ expression ‫ز ر‬ ‫ ی از ع‬case ‫رات‬ ‫د‬ . ‫اري‬ ‫ ی‬case ‫دی‬ (. ، ، ‫ی ی ﺙ‬ ‫)ی‬ ‫د‬ ‫رت‬ ‫دی ﻝ ال‬ ‫ه ی از‬ expression ‫ار‬ : ‫آ‬ ‫ح ق‬ switch ‫ر‬ ‫د‬ ‫آ‬ ‫اي‬ ‫د،آ‬ ‫ا‬ ‫ي‬ ‫ار‬ ‫.ا‬ ‫ی‬ case
  • 97. ، ‫ا‬ expression ‫ار‬ ‫ه‬ ‫از ﺙ‬ ‫ه‬ ‫.ا‬ ‫ اﺝ ا ﺥ اه‬case ‫ر‬ ‫ند‬ ‫.ا‬ ‫ اﺥ ري ا‬default ‫ر‬ ‫،ا د‬ ‫( اﺝ ا ﺥ اه‬default) ‫ض‬ ‫ر‬ ‫د‬ ‫م‬ ‫يا‬ ‫دی‬ ‫ا‬ ‫ وﺝ د ا‬default ‫و‬ ‫ ه‬case ‫از‬ ‫ه‬ . ‫اه‬ ‫ر را ی ن ده . ه‬ ‫ی د‬ ‫د‬ ‫ ا‬switch ‫ر‬ ‫ داﺥ د‬break ‫رت‬ ‫از‬ ‫ار‬ switch‫ر‬ ‫از آ د‬ ‫آ‬ ‫ﺥ اول‬ ‫ی ، اﺝ ا‬ ‫اﺝ‬ break ‫ر‬ ‫ی د‬ .‫د‬ ‫ ﺥ رج‬switch ‫رت‬ ‫آ ل از‬ ‫. ی‬ ‫ﺥ اه‬ ، : ‫د ا‬ ‫د‬ ‫ ا‬switch ‫ر‬ ‫آ از د‬ ‫آ‬ ‫ه‬ ‫د اي را‬ ‫ل‬ ‫در زی‬ //A simple example of the switch. class SampleSwitch{ public static void main ( String args[] ) { for(int i=0; i<6; i++ ) switch(i){ case 0: System.out.println("i is zero."); break; case 1: System.out.println("i is one."); break; case 2: System.out.println("i is two."); break; case 3: System.out.println("i is three."); break; default: System.out.println("i is greater then 3."); } } } : ‫ار زی‬ ‫ﺥ وﺝ ای‬ i is zero. i is one. i is two.
  • 98. i is three. i is greater than 3. i is greater than 3. i ‫د و‬ case ‫ا ﺙ‬ ‫آ ه‬ ‫را‬ ‫،د‬ ‫، داﺥ‬ ‫آ‬ ‫ه‬ ‫ری‬ ‫ه‬ ‫ر‬ i ‫از ای‬ . ‫ا‬ ‫رات‬ ‫ی د‬ . ‫، اﺝ ا ﺥ اه‬ ‫دا‬ ‫رت‬ ‫ای‬ ‫د،و‬ ‫اه‬ expression ‫ار‬ ‫ا‬ case ‫دی‬ ‫ی از‬ ‫د،ه‬ ٣ ‫از‬ .‫د‬ ‫ اﺝ ا‬default ‫ي ادا‬ case ‫، اﺝ اي‬ ‫فآ‬ ‫ را‬break ‫.ا‬ ‫ اﺥ ري ا‬default ‫ر‬ ‫د‬ ‫ان‬ . ‫دا‬ ‫ در‬break ‫رات‬ ‫ ون د‬case ‫ی‬ ‫ا‬ ‫. ه‬ ‫ﺥ اه ی‬ : ‫ی‬ ‫ي را در‬ ،‫ل‬ //In a switch/ break statements are optional. class MissingBreak{ public static void main(String args[] ){ for(int i=0; i<6; i++ ) switch(i}( case 0: case 1: case 2: case 3: case 4: System.out.println("i is less than 5"); break; case 5: case 6: case 7: case:٨ case 9: System.out.println("i is less than 10"); break; default: System.out.println("i is 10 or more"); } }
  • 99. :‫د‬ ‫ار زی ﺥ اه‬ ‫ﺥ وﺝ ای‬ i is less than 5 i is less than٥ i is less than 5 i is less than 5 i is less than 5 i is less than 10 i is less than 10 i is less than 10 i is less than 10 i is less than 10 i is 10 or more i is 10 or more break ‫ر‬ ‫ی د‬ ‫ن‬ ‫ر‬ ، case ‫ه‬ ‫آ ، اﺝ ا‬ ‫ه‬ ‫ری‬ ‫ه‬ .‫د‬ ( switch ‫ي‬ ‫)ی ا‬ ‫ف‬ ‫ل‬ ‫د،ا‬ ‫ا‬ ‫ﺥ‬ ‫اي‬ ‫ل‬ ‫ﻝ‬ ‫در‬ ‫ن دادن‬ ‫اي‬ .‫دارد‬ ‫ه ي وا‬ ‫زی دي در‬ ‫ آ ر ده ي‬break ‫ر‬ ‫د‬ ‫ل‬ ‫ل‬ ‫ط‬ ‫ی‬ ‫ع ، دو ر‬ ‫ای‬ ‫آ ر ده ي وا‬ ‫زي‬ ‫د‬ ‫آ‬ ‫د‬ ‫ ا‬switch ‫از‬ ‫ی . ای روای ﺝ ی ه ن‬ ‫ه‬ ‫را‬ . ‫ي را ارا ده‬ ‫ﺙ‬ //An improved version of the season program. class Switch{ public static void main(String args[]){ int month = 4; String season; switch(month){ case 12: case 1: case 2: season = "Winter"; break; case 3: case 4: case 5: season = "Spring";
  • 100. break; case 6: case 7: case 8: season = "Summer"; break; case 9: case 10: case 11: season = "Autumn"; break; default: season = "Bogus Month"; } System.out.println("April is in the" + season + "."); } } ‫ ﺕ در ﺕ‬Switch ‫رات‬ . ‫ی‬ ‫د‬ ‫ا‬ ‫ ﺥ رﺝ‬switch ‫ر‬ ‫ی د‬ ‫از‬ ‫ان‬ switch ‫از ی‬ ‫ا‬ ‫ط‬ ‫ك‬ ‫آ‬ ‫ی‬ switch ‫ر‬ ‫د‬ ‫ی‬ ‫. از‬ ‫ در‬switch ‫ﻝ را‬ ‫ای‬ switch ‫ی آ در‬ ‫و‬ ‫ داﺥ‬switch ‫ در‬case ‫ي‬ ‫ﺙ‬ ‫،ه‬ ‫ﺥ دش‬ . ‫ا‬ ‫يآ‬ ،‫ل‬ ‫ان‬ . ‫اه‬ ‫ا ، ﺝ د‬ ‫ار‬ ‫ﺥ رﺝ‬ switch(count}( case 1: switch(target){ // nested switch case 0: System.out.println("target is zero”); break; case 1:// no conflicts with outer switch System.out.println("target is one”); break; }
  • 101. ‫;‪break‬‬ ‫... // :2 ‪case‬‬ ‫اه‬ ‫ر1 ‪ case‬در ‪ switch‬ﺥ رﺝ‬ ‫د‬ ‫ر 1 ‪ case‬در ‪ switch‬داﺥ‬ ‫د‬ ‫در ای‬ ‫‪count‬‬ ‫د. ا‬ ‫ی‬ ‫ﺥ رﺝ‬ ‫‪ case‬ه در‬ ‫‪count‬‬ ‫.‬ ‫دا‬ ‫،‬ ‫رﺥ‬ ‫.‬ ‫ﺥ اه‬ ‫ی‬ ‫‪ case‬ه ي داﺥ‬ ‫‪target‬‬ ‫،‬ ‫١‬ ‫ا‬ ‫:‬ ‫ﺝ ه‬ ‫ر ‪switch‬‬ ‫از د‬ ‫ﺝ‬ ‫‪ if‬ه‬ ‫ﻝ‬ ‫ده ، در‬ ‫م‬ ‫ا‬ ‫آ‬ ‫ز ی‬ ‫ن ‪switch‬‬ ‫وت ا‬ ‫١ - ‪if switch‬‬ ‫رت و‬ ‫ار‬ ‫لی‬ ‫آ ‪switch‬‬ ‫آ .ی‬ ‫رت ﻝ را ارزی‬ ‫ع‬ ‫دد .‬ ‫ه ي ‪ case‬ﺥ دش‬ ‫از ﺙ‬ ‫ی‬ ‫ر‪switch‬‬ ‫،ی د‬ ‫. اﻝ‬ ‫ن دا‬ ‫دی ی‬ ‫ا‬ ‫‪ case‬در ‪switch‬‬ ‫٢ - دو ﺙ‬ ‫.‬ ‫ك دا‬ ‫ي ‪case‬‬ ‫ا ﺙ‬ ‫داﺥ ی ‪ switch‬ﺥ رﺝ‬ ‫ار‬ ‫در‬ ‫از ‪ if‬ه ي‬ ‫از ی‬ ‫ر آر‬ ‫ر ‪switch‬‬ ‫د‬ ‫٣ - ی‬ ‫.‬ ‫ا‬ ‫ی‬ ‫.آ‬ ‫ی ﺝ وا‬ ‫آر آ‬ ‫زی ا رو‬ ‫ﺝ ا‬ ‫ص ﺝﻝ‬ ‫ﺥ ی‬ ‫د‬ ‫آ‬ ‫ي ‪case‬‬ ‫ه ی از ﺙ‬ ‫آ ،‬ ‫ی‬ ‫ر ‪ switch‬را آ‬ ‫ی د‬ ‫ﺝ وا ه‬ ‫رت‬ ‫ﺝ د در‬ ‫ار‬ ‫اﺝ ا ا س‬ ‫ب‬ ‫اي ا‬ ‫زد آ‬ ‫و ی ﺝ ول ‪jump table‬‬ ‫ر‬ ‫ی ،ی د‬ ‫ب‬ ‫دی ا‬ ‫از‬ ‫ر‬ ‫و‬ ‫ن‬ ‫ی از‬ ‫ای ، ا‬ ‫د.‬ ‫د‬ ‫ا‬ ‫ر‬ ‫،‬ ‫ي‬ ‫آ‬ ‫دل و‬ ‫ر‬ ‫از ‪ if-else‬ه آ‬ ‫ی‬ ‫‪switch‬‬ ‫ي‬ ‫دا آ ﺙ‬ ‫ن‬ ‫ای ر را ا م ده‬ ‫در ا‬ ‫ی‬ ‫. آ‬ ‫اﺝ ا ﺥ اه‬ ‫ی‬ ‫ی‬ ‫.آ‬ ‫ی‬ ‫اي آ‬ ‫رت ‪switch‬‬ ‫د‬ ‫ع د و ی ﺥ‬ ‫از ی‬ ‫‪case‬ه‬ ‫رات ‪ if‬ارد.‬ ‫از‬ ‫ی‬ ‫ی را‬ ‫رات ﺕ ار ) ‪( Iteration Statements‬‬ ‫د‬ ‫را‬ ‫رات ن‬ ‫از ‪ while ، for‬و‪ .do-while‬ای د‬ ‫ر‬ ‫ار در ﺝ وا‬ ‫رات‬ ‫د‬ ‫اري‬ ‫ر‬ ‫را‬ ‫راﻝ‬ ‫از د‬ ‫ی‬ ‫آ‬ ‫دا‬ ‫آ .ا‬ ‫، ای د‬
  • 102. ‫ا ﺥ اه دی ، ﺝ وا‬ ‫ری‬ ‫ی.ه‬ ‫ت‬ ‫را‬ ‫ط ی‬ ‫ی‬ ‫ای‬ ‫آ .‬ ‫اﺝ ا‬ ‫.‬ ‫ا‬ ‫ی‬ ‫زه ي‬ ‫اي آ‬ ‫اي دارد آ‬ ‫‪While‬‬ ‫ر دا‬ ‫. ای د‬ ‫زي )‪ (looping‬در ﺝ وا ا‬ ‫ر‬ ‫ی د‬ ‫‪ while‬ا‬ ‫ای‬ ‫آ‬ ‫آ .‬ ‫ار‬ ‫ك را‬ ‫ری ی‬ ‫،ی د‬ ‫)‪(true‬‬ ‫،‬ ‫رت آ ل آ‬ ‫:‬ ‫ار زی ا‬ ‫ر‬ ‫د‬ ‫{) ‪while( condition‬‬ ‫‪//body of loop‬‬ ‫}‬ ‫دا‬ ‫رت‬ ‫. دا‬ ‫رت ﻝ‬ ‫ه‬ ‫ا‬ ‫ط ی ‪condition‬‬ ‫ي‬ ‫ﺥ‬ ‫،آ ل‬ ‫ا‬ ‫ط‬ ‫.ه‬ ‫اﺝ ا ﺥ اه‬ ‫،‬ ‫د در‬ ‫ر‬ ‫ی د‬ ‫.ا‬ ‫ﺥ اه‬ ‫ار دارد ،‬ ‫ﺝ ري‬ ‫از‬ ‫آيآ‬ ‫.‬ ‫وري ا‬ ‫د از ا وه‬ ‫،ا‬ ‫ار‬ ‫ل‬ ‫"‪"tick‬‬ ‫د ﺥ‬ ‫آ د و د‬ ‫٠١ را‬ ‫‪ while‬وﺝ د دارد آ‬ ‫ی‬ ‫در ای‬ ‫آ .‬ ‫پ‬ ‫را‬ ‫.‪//Demonstrate the while loop‬‬ ‫{ ‪class While‬‬ ‫{)][‪public static void main(String args‬‬ ‫;01 = ‪int n‬‬ ‫‪while(n‬‬ ‫{) 0 >‬ ‫;) ‪System.out.println("tick" + n‬‬ ‫;--‪n‬‬ ‫}‬ ‫}‬ ‫}‬ ‫"‪ "tick‬را ا م ﺥ اه داد :‬ ‫آ ،د‬ ‫را اﺝ ا‬ ‫ای‬ ‫ه‬ ‫01 ‪tick‬‬ ‫9 ‪tick‬‬ ‫8 ‪tick‬‬ ‫7 ‪tick‬‬
  • 103. tick 6 tick 5 tick 4 tick 3 tick 2 tick 1 ‫ط ا ای‬ ‫،ا‬ ‫ارزی‬ ‫ي‬ ‫ﺥ د را در‬ ‫رت‬ while ‫ی‬ ‫از‬ println() ‫اﺥ ا‬ ، ‫زی‬ ‫ل ، در‬ ‫ان‬ . ‫اه‬ ‫اﺝ ا‬ ، . ‫اه‬ ‫اﺝ ا‬ ‫ه‬ int a = 10, b = 20; while(a > b) System.out.println("This will not be displayed”); ‫ري آ‬ ‫د‬ ‫ر‬ ‫. زی ا د‬ ‫ا‬ ‫در ﺝ وا‬ ‫دی‬ ‫ ی ه‬while ‫زی را در‬ ،‫ل‬ ‫ان‬ . ‫ا‬ ‫در ﺝ وا‬ ‫آ‬ ‫ا‬ ‫، از‬ ; : ‫ی‬ //The target of a loop can be empty. class NoBody { public static void main(String args[]){ int i/ j; i = 100; j = 200; //find midpoint between i and j while(++i < --j); // no body in this loop System.out.println("Midpoint is" + I ); } } ‫آ و ﺥ وﺝ زی را ﻝ ﺥ اه‬ ‫ا‬ ‫ را‬j ‫ و‬i (midpoint) ‫ای‬ :‫آ د‬ Midpoint is 150 . ‫ی‬ ‫ آ ه‬j ‫ار‬ ‫و‬ ‫ ا ای‬i ‫ار‬ . ‫ را‬while ‫آر‬ ‫در ای‬ ، j ‫ار ﺝ ی‬ ‫از‬ ‫نآ‬ ‫ ه‬i ‫ار ﺝ ی‬ ‫.ا‬ ‫ی‬ ‫ی ی‬ ‫ار‬ ‫ای دو‬ . ‫ﺥ اه‬ ،‫د‬ j ‫از‬ ‫ر‬ ‫ی‬ ‫وي‬ i ‫.ا‬ ‫ار ﺥ اه‬
  • 104. ‫آ‬ ‫ا‬ ‫.) ی‬ ‫دی اوﻝ ‪ i‬و ‪j‬‬ ‫دآ‬ ‫اري را‬ ‫،‪i‬‬ ‫ه م ﺥ وج از‬ ‫، زي‬ ‫ری‬ ‫.(ه‬ ‫ار اوﻝ ‪j‬‬ ‫از‬ ‫آ آ ‪i‬آ‬ ‫آر‬ ‫ای روی ه‬ ‫اي‬ ‫ا . در آ ه ي‬ ‫ا ق‬ ‫رت‬ ‫ت داﺥ ﺥ د‬ ‫،آ‬ ‫ت ﺥ د را دا‬ ‫ﺝ‬ ‫آ‬ ‫ی ی‬ ‫ا ی‬ ‫رت آ ل آ‬ ‫آ‬ ‫ﺝ وا ، و‬ ‫دی‬ ‫.‬ ‫ي‬ ‫آ‬ ‫ون‬ ‫ﻝ‬ ‫هيآ‬ ‫،‬ ‫‪Do-While‬‬ ‫ا‬ ‫‪ while‬در ا ا‬ ‫ی‬ ‫آ لآ‬ ‫رت‬ ‫ا‬ ‫رت دی‬ ‫د.‬ ‫ی ر اﺝ ا‬ ‫ا‬ ‫،‬ ‫ای‬ ‫در‬ ‫ی‬ ‫ه‬ ‫د. ا‬ ‫اﺝ ا‬ ‫، ﺝ وا‬ ‫آ .ﺥ‬ ‫را ز ی‬ ‫ي‬ ‫در ا‬ ‫رت ی ن ده‬ ‫ی‬ ‫تﺥ‬ ‫، در‬ ‫ا‬ ‫‪ do-while‬ه ار‬ ‫ده .‬ ‫آ ر را ا م‬ ‫ه‬ ‫آ آ د‬ ‫اي را‬ ‫.‬ ‫ا‬ ‫ار‬ ‫ي‬ ‫ن در ا‬ ‫رت‬ ‫آ ، زی ا‬ ‫ﺥ د را اﺝ ا‬ ‫ی ر‬ ‫:‬ ‫رت زی ا‬ ‫ن‬ ‫آ‬ ‫{ ‪Do‬‬ ‫‪//body of loop‬‬ ‫;)‪}while(condition‬‬ ‫رت‬ ‫ارزی‬ ‫د ،‬ ‫را اﺝ ا‬ ‫‪ do-while‬ا ا‬ ‫ار از‬ ‫ه‬ ‫رت‬ ‫ای‬ ‫. در‬ ‫اﺝ ا ﺥ اه‬ ‫،‬ ‫)‪(true‬‬ ‫رت‬ ‫ای‬ ‫دازد. ا‬ ‫ﺥ د‬ ‫.‬ ‫ﻝ‬ ‫رت‬ ‫ی ی‬ ‫ط‬ ‫ه ي ﺝ وا ،‬ ‫آ‬ ‫د.‬ ‫ین‬ ‫ده .‬ ‫ن‬ ‫‪ do-while‬را‬ ‫)‪ (tick‬وﺝ د دارد آ‬ ‫از‬ ‫دی‬ ‫روای‬ ‫ی‬ ‫ای‬ ‫د:‬ ‫ﺥ اه‬ ‫ﺥ وﺝ ای‬ ‫.‪//Demonstrate the do-while loop‬‬ ‫{ ‪class DoWhile‬‬ ‫{)][‪public static void main(String args‬‬ ‫;01 = ‪int n‬‬ ‫{‪do‬‬ ‫;)‪System.out.println("tick" + n‬‬ ‫;--‪n‬‬ ‫;) 0 > ‪}while ( n‬‬
  • 105. } } ‫ان ن را‬ ‫،ا‬ ‫ا‬ ‫از‬ ‫،ا‬ ‫ﺝ د در‬ :‫د‬ ‫ی‬ ‫رت زی دو ر‬ ‫آ را ي‬ do { System.out.println("tick " + n); } while (--n > 0); ‫رت‬ ‫را در ی‬ ‫اي‬ ‫ و ز ی‬n ‫آه‬ ، (--n>0) ‫رت‬ ، ‫ل‬ ‫در ای‬ n ‫د و‬ ‫ اﺝ ا‬n ‫ر‬ ‫. ا ا د‬ ‫ي ا‬ ‫ار‬ ‫د ن‬ . ‫ا‬ ‫د. ا‬ ‫ی‬ ‫ار‬ ‫دا . ای‬ n ‫ار ﺝ ی را‬ ‫داد و‬ ‫را آ ه‬ .‫د‬ ‫ین‬ ‫رت‬ ‫ای‬ ‫ی . در‬ ‫ادا‬ ، ‫از‬ ‫ر‬ ‫ی‬ ‫، زی ا‬ ‫ا‬ ‫د‬ ‫ر‬ ‫ب‬ ‫ه م دازش ا‬ ‫ ی‬do-while ‫رات‬ ‫اي د‬ ‫د را‬ Help ‫ي را آ ی‬ .‫د‬ ‫ی ر اﺝ ا‬ ‫ا‬ ‫ی‬ : ‫ی‬ ‫آ در‬ ‫زي‬ ‫ب در ﺝ وا د‬ ‫ار و ا‬ //Using a do-while to process a menu selection class Menu} public static void main(String args[]) throws java.io.IOException{ char choice; do { System.out.prinln("Help on:”); System.out.prinln(" 1 .if”); System.out.prinln(" 2 .switch”); System.out.prinln(" 3 .while”); System.out.prinln(" 4 .do-while”); System.out.prinln(" 5 .forn”); System.out.prinln("Choose one:”); choice =( char )System.in.read(); } while(choice < ‘1’ || choice > ‘5’ ); System.out.println("n”); switch(choice){ case ’1’: System.out.println("The if:n”); System.out.println("if(condition( statement;”);
  • 106. System.out.println("else statement;”); break; case ‘2’: System.out.println("The switch:n”); System.out.println("switch(expression){“); System.out.println(" case constant:”); System.out.println(" statement sequence;(" System.out.println(" break;”); System.out.println(“ //…”); System.out.println(“}”); break; case ’3’: System.out.println("The switch:n”); System.out.println(while(condition )statement; ”); break; case ‘4’: System.out.println("The do-while:n”); System.out.println("do {”); System.out.println(" statement; ”); System.out.println("} while( condition );”); break; case ‘5’: System.out.println("The for:n”); System.out.print("for(init; condition ;iteration)”); System.out.println(" statement;”); break; } } } : ‫آ‬ ‫ه‬ ‫را‬ ‫ای‬ ‫ﻝ‬ ‫اآ ن ی اﺝ اي‬ Help on: 1. if 2. switch 3. while 4. do-while 5.for Choos one: 4
  • 107. ‫:‪The do-while‬‬ ‫{ ‪do‬‬ ‫;‪statement‬‬ ‫;)‪} while (condition‬‬ ‫،‬ ‫را وارد آ د‬ ‫ی‬ ‫ی‬ ‫آر‬ ‫ی ای‬ ‫اي‬ ‫‪do-while‬‬ ‫، از‬ ‫در‬ ‫ا‬ ‫ی‬ ‫ی‬ ‫. از‬ ‫ن ﺥ اه‬ ‫دا ا‬ ‫آر‬ ‫رت ،‬ ‫ای‬ ‫د. در‬ ‫د‬ ‫ا‬ ‫در ر‬ ‫دی‬ ‫.‬ ‫دا‬ ‫م ای‬ ‫اي ا‬ ‫در ی ، ‪ do-while‬ﻝ آ‬ ‫ی‬ ‫ی ر‬ ‫)(‪ system.in.read‬ﺥ ا‬ ‫اﺥ ا‬ ‫آ‬ ‫آ آ راآ ه از‬ ‫آ‬ ‫ل:د‬ ‫ای‬ ‫.‬ ‫ل در ﺝ وا ا‬ ‫از ا ورودي آ‬ ‫. ای ی‬ ‫از‬ ‫،ا‬ ‫آ ل‬ ‫ي‬ ‫ي‬ ‫ي ‪ I/O‬ﺝ وا‬ ‫رو‬ ‫ر‬ ‫ا‬ ‫. ای‬ ‫ا‬ ‫د‬ ‫ا‬ ‫آ ر‬ ‫ی‬ ‫وردن‬ ‫اي‬ ‫)(‪ system.in.read‬در ای‬ ‫دا‬ ‫د‬ ‫ان‬ ‫ه‬ ‫ﺥ ا . ) آ را‬ ‫ارد‬ ‫آ راآ ه را از ورودي ا‬ ‫ورود‬ ‫.( و‬ ‫ی‬ ‫‪char‬‬ ‫ی ‪casting‬‬ ‫از‬ ‫دﻝ‬ ‫ه‬ ‫،و‬ ‫،‬ ‫ه‬ ‫ا ار ل را‬ ‫ای‬ ‫،‬ ‫ا‬ ‫ﺥ‬ ‫نی‬ ‫ض،ه‬ ‫ر ده .‬ ‫‪ ENTER‬را‬ ‫ی‬ ‫ه‬ ‫و‬ ‫.‬ ‫را‬ ‫ر‬ ‫ا‬ ‫ل ورود ﺝ وا‬ ‫دن‬ ‫ر‬ ‫ن از‬ ‫ای‬ ‫دی‬ ‫د.‬ ‫ﺥ اه‬ ‫و‬ ‫ا‬ ‫ﺝ وا ،‬ ‫ه‬ ‫وا‬ ‫وا‬ ‫د‬ ‫ی از ‪ throws.java.io.IOExeption‬ا‬ ‫،‬ ‫ا‬ ‫د‬ ‫)(‪ system.in.read‬ا‬ ‫.‬ ‫‪for‬‬ ‫رت‬ ‫ر‪for‬‬ ‫د‬ ‫آ‬ ‫.‬ ‫ر روان ا‬ ‫و‬ ‫ﺥ ر ر‬ ‫‪ for‬ی‬ ‫ﺥ اه دی آ‬ ‫:‬ ‫زی ا‬ ‫{) ;‪for(initialization; condition ;iteration‬‬ ‫‪//body‬‬ ‫{‬ ‫ي‬ ‫ح‬ ‫‪for‬‬ ‫د‬ ‫.‬ ‫ده‬ ‫زي‬ ‫د،‬ ‫ار‬ ‫ر ی‬ ‫ی د‬ ‫ا‬ ‫د.‬ ‫اﺝ ا‬ ‫ار ده اوﻝ در‬ ‫د‬ ‫وع‬ ‫ر‬ ‫اي اوﻝ‬ ‫آ‬ ‫.و‬ ‫ا‬
  • 108. ‫ان ی‬ ‫آ ،آ‬ ‫را‬ ‫آ ل‬ ‫ار‬ ‫آ‬ ‫رت ا‬ ‫ی‬ ‫، ای‬ ‫ی ر‬ ‫ار ده اوﻝ‬ ‫رت‬ ‫آ‬ ‫ا‬ ‫ا‬ ‫را ا م ﺥ اه داد.‬ ‫،آ ل‬ ‫ر‬ ‫. ای‬ ‫رت ﻝ‬ ‫ط ی ی‬ ‫د . ای‬ ‫ار‬ ‫رد ارزی‬ ‫ط‬ ‫د.‬ ‫اﺝ ا‬ ‫)‪(true‬‬ ‫رت‬ ‫آ .ا‬ ‫ی‬ ‫ار ه ف‬ ‫را‬ ‫آ ل‬ ‫ار‬ ‫ار‬ ‫،‬ ‫د.‬ ‫ین‬ ‫.ا‬ ‫اﺝ ا ﺥ اه‬ ‫،‬ ‫آ ل را‬ ‫ار‬ ‫آ‬ ‫ا‬ ‫ر‬ ‫د . ای‬ ‫اﺝ ا‬ ‫)‪(iteration‬‬ ‫آ ،‬ ‫را ارزی‬ ‫رت‬ ‫،ا ا‬ ‫ار ﺥ اه‬ ‫ده .‬ ‫ی آه‬ ‫ا ای‬ ‫. ای‬ ‫ر )‪ (pass‬اﺝ ا‬ ‫ار را در ه‬ ‫رت‬ ‫ا م‬ ‫آ و‬ ‫را اﺝ ا‬ ‫دد .‬ ‫)‪(false‬‬ ‫رت‬ ‫ی‬ ‫ر داد‬ ‫روال‬ ‫:‬ ‫د آ د ا‬ ‫‪ for‬ا‬ ‫آ از ی‬ ‫"‪ "tick‬را‬ ‫در زی روای ﺝ ی ي از‬ ‫.‪//Demonstrate the for loop‬‬ ‫{ ‪class ForTick‬‬ ‫{)][‪public static void main(String args‬‬ ‫;‪int n‬‬ ‫{)--‪for(n=10; n>0; n‬‬ ‫;)‪System.out.println("tick" + n‬‬ ‫}‬ ‫}‬ ‫‪for‬‬ ‫در ﺡ‬ ‫لﺡ‬ ‫ه‬ ‫ﺕ ی‬ ‫ز د و آر د‬ ‫رد‬ ‫اي ه ن‬ ‫آ ،‬ ‫‪ for‬را آ ل‬ ‫يآ ی‬ ‫ﻝ‬ ‫ن‬ ‫‪ for‬ا‬ ‫ار ده اوﻝ‬ ‫را داﺥ‬ ‫ان ن‬ ‫،‬ ‫ﻝ‬ ‫دی ي ارد. در‬ ‫‪n‬‬ ‫ی‬ ‫آ ل‬ ‫آ‬ ‫آ‬ ‫ه‬ ‫را‬ ‫ه ن‬ ‫ل در ای‬ ‫ان‬ ‫د.‬ ‫.‬ ‫ا‬ ‫ن‬ ‫‪ for‬ا‬ ‫ان ی ‪ int‬در داﺥ‬ ‫.‪//Declare a loop control variable inside the for‬‬ ‫{ ‪class ForTick‬‬ ‫{)][‪public static void main(String args‬‬ ‫‪//here/ n is declared inside of the for loop‬‬ ‫)--‪for(int n=10; n>0; n‬‬
  • 109. System.out.println("tick" + n); } } ‫ی د دا‬ ‫را ی‬ ‫،ی‬ ‫آ‬ ‫ن‬ ‫ ا‬for ‫را داﺥ ی‬ ‫ی‬ ‫ه‬ ‫ود‬ ‫و‬ ‫ی .)ی‬ ‫د، ین‬ ‫ ا م‬for ‫ر‬ ‫د‬ ‫ه‬ ‫و ن‬ : ‫اه از ای‬ ‫د. ا‬ ‫ت ن‬ for ‫. ( ﺥ رج از‬ ‫ ا‬for ‫ن‬ ‫ ا‬for ‫را داﺥ‬ ‫ی ن‬ ، ‫د آ‬ ‫ا نا‬ ‫در ﺝ ي دی ي از‬ ‫آ ل‬ . ‫ی‬ ‫ی ن ﺝ وا ن‬ ‫، اآ‬ ‫رد ز‬ ‫ﺝ ي دی ي‬ ‫آ ل‬ ‫آ‬ ‫ای‬ ‫در‬ ‫ل‬ ‫آ‬ ‫آ‬ ‫ه‬ ‫د را‬ ‫ی‬ ‫ل ، در ای‬ ‫ان‬ . ‫آ‬ ‫ن‬ ‫ ا‬for ‫را داﺥ‬ ‫، داﺥ‬ ‫رد ز‬ ‫ن ﺝ ي دی ي‬ ، ‫آ ل‬ ‫آ‬ ‫آ‬ ‫دد. د‬ ‫ا اد اول‬ . ‫ا‬ ‫ن‬ ‫ ا‬for //Test for primes. class FindPrime { public static void main(String args[]){ int num; boolean isPrime = true; num = 14; for(int i=2; i <= num/i; i++){ if((num % i )== 0 ){ isPrime = false; break; } } if(isPrime )System.out.println("Prime”); else System.out.println("Not Prime”); } } Comma ‫د از آ‬ ‫ا‬ ‫ و‬initialization ‫ار ده اوﻝ‬ ‫ر در‬ ‫از ی د‬ ‫ی‬ ‫ی آ‬ ‫ای‬ : ‫ی‬ ‫ي را در‬ ‫ﺝ د در‬ ،‫ل‬ ‫ان‬ . (iteration) ‫ار‬
  • 110. class Sample { public static void main(String args[]){ int a, b; b = 4; for(a=1; a<b; a++){ System.out.println("a = " + a); System.out.println("b = " + b); b--; } } } ‫ی‬ ‫د. از‬ ‫آ ل‬ ‫دو‬ ‫ار ط‬ ، ‫ری‬ ‫ه‬ ‫ه دو را در‬ ‫ا‬ ، ‫ادار آ‬ ‫رت د‬ ‫ را‬b ‫ي ای‬ ،‫د‬ ‫ادار‬ ‫دو‬ ‫ا‬ ‫دو ی‬ ‫اي ای‬ ‫اي ای ر دارد‬ ‫ﺝ وا راه‬ ‫.ﺥ‬ for ‫ر‬ ‫د‬ ‫ار‬ ‫ي‬ ‫ر را در‬ ‫ی د‬ ‫ده‬ ‫ن‬ ‫ا‬ ‫، ﺝ وا‬ ‫ را آ ل آ‬for ‫ی‬ ‫يﺝا‬ ‫ر‬ ‫از د‬ ‫ی آ‬ ‫ر را‬ ‫ار ده . ه د‬ for ‫ار‬ ‫ده اوﻝ و‬ . ‫آ‬ :‫د‬ ‫ي‬ ‫رت زی آ‬ ‫ان‬ ‫آ را از‬ ‫،ﺥ‬ ‫د از آ‬ ‫را ا‬ for //Using the comma. class Comma { public static void main(String args[]){ int a, b; for(a=1, b=4; a<b; a++, b--){ System.out.println("a = " + a); System.out.println("b + " = b); } } } ‫ار‬ ‫آ .ه رآ‬ ‫ و را‬b‫ و‬a ‫دی‬ ، ‫ار ده اوﻝ‬ ،‫ل‬ ‫در ای‬ ‫. ﺥ وﺝ ای‬ ‫( اﺝ ا ﺥ اه‬itration) ‫ار‬ ‫در‬ ‫آ‬ ‫رﺝا‬ ‫د ، دو د‬ : ‫ار زی‬ a=1 b=4
  • 111. ‫2=‪a‬‬ ‫3=‪b‬‬ ‫ی‬ ‫آ‬ ‫،‬ ‫آ در ای ز‬ ‫دا‬ ‫ی داری ،‬ ‫‪C++/C‬‬ ‫:ا‬ ‫. در ﺝ وا ،‬ ‫ر‬ ‫. ا در ﺝ وا ای‬ ‫د ا‬ ‫ا‬ ‫ي‬ ‫رت‬ ‫آ در ه‬ ‫ا‬ ‫.‬ ‫ل‬ ‫ا‬ ‫‪for‬‬ ‫در‬ ‫آ‬ ‫ا‬ ‫ی ﺝ اآ‬ ‫آ‬ ‫‪for‬‬ ‫از اﺵ ل ﺡ‬ ‫ده . دﻝ‬ ‫رت و آ ر ي ن را ا ای‬ ‫آ آ‬ ‫ادي‬ ‫‪ for‬از‬ ‫ار ،‬ ‫طو‬ ‫ارده اوﻝ ، ز ن‬ ‫ارد آ‬ ‫آ ﻝ و‬ ‫ف ی ي نا‬ ‫ا‬ ‫اي ه ه ف‬ ‫‪for‬‬ ‫،‬ ‫. در‬ ‫ار‬ ‫د‬ ‫رد ا‬ ‫اي ه ن اه اف‬ ‫.‬ ‫ل ﺝ‬ ‫.‬ ‫د ه‬ ‫ا‬ ‫رد‬ ‫ارد ای‬ ‫،ﻝ و‬ ‫ر‬ ‫.‬ ‫ا‬ ‫رت‬ ‫ط‬ ‫ی‬ ‫از رای‬ ‫ی‬ ‫طآ لآ‬ ‫،‬ ‫ی . در‬ ‫دی ه ف ز ی‬ ‫ﺥ‬ ‫را‬ ‫آ ل‬ ‫رت ،‬ ‫ی :‬ ‫زی را در‬ ‫ل،‬ ‫ان‬ ‫.‬ ‫رت ﻝ‬ ‫ع‬ ‫ه‬ ‫ا‬ ‫‪for‬‬ ‫;‪boolean done = false‬‬ ‫{)++‪for(int i=1; !done; i‬‬ ‫...//‬ ‫;‪if(intettupted ()) done=true‬‬ ‫}‬ ‫ﺥ اه داد.‬ ‫د ، اﺝ ا را ادا‬ ‫دل ‪true‬‬ ‫ﻝ ‪done‬‬ ‫‪ for‬ز‬ ‫ل،‬ ‫در ای‬ ‫ه‬ ‫‪ for‬را‬ ‫يﺝﻝ‬ ‫از‬ ‫دی‬ ‫آ . اآ ن ی‬ ‫ار ‪ i‬را ر‬ ‫ل‬ ‫ای‬ ‫،‬ ‫ف‬ ‫ار‬ ‫ار ده اوﻝ و‬ ‫رت‬ ‫ی ه دو‬ ‫ی‬ ‫ا‬ ‫آ .‬ ‫ي:‬ ‫.‪//Parts of the for loop can be empty‬‬ ‫{ ‪class ForVar‬‬ ‫{)][‪public static void main(String args‬‬ ‫;‪int i‬‬ ‫;‪boolean done = false‬‬ ‫;0 = ‪i‬‬ ‫{);‪for (;!done‬‬
  • 112. ‫;)‪System.out.println("i is" + i‬‬ ‫;‪if(i == 10 )done = true‬‬ ‫;++‪i‬‬ ‫}‬ ‫}‬ ‫}‬ ‫ي‬ ‫ﺥ از‬ ‫ا .‬ ‫ﺥ رج از ‪ for‬ا ل ی‬ ‫ار‬ ‫ار ده اوﻝ و‬ ‫ر ي‬ ‫در ای‬ ‫ارد ، ا در‬ ‫ارز‬ ‫ه‬ ‫ﻝ‬ ‫د‬ ‫ل‬ ‫در ای‬ ‫.ا‬ ‫ه‬ ‫‪for‬‬ ‫ط اوﻝ‬ ‫ل،ا‬ ‫ان‬ ‫د.‬ ‫ﺥ اه‬ ‫د‬ ‫ر آ را و‬ ‫وﺝ د دارد آ ای روش‬ ‫ای‬ ‫ات‬ ‫وی‬ ‫ار‬ ‫ي از‬ ‫و در ﺝ ي دی‬ ‫رت‬ ‫رت ی‬ ‫د،‬ ‫ل ا ق ا د در داﺥ‬ ‫ا‬ ‫و‬ ‫رت‬ ‫آ ل‬ ‫‪for‬‬ ‫ي‬ ‫از‬ ‫دی‬ ‫اری . اآ ن ی‬ ‫‪for‬‬ ‫را در‬ ‫آ ای‬ ‫ا‬ ‫ود )‬ ‫ی‬ ‫اری ،‬ ‫‪ for‬را‬ ‫ه‬ ‫آ .ا‬ ‫ه‬ ‫را‬ ‫ل:‬ ‫ان‬ ‫د ( ای د آ د ای .‬ ‫ین‬ ‫اي آ ه‬ ‫{);;( ‪for‬‬ ‫...//‬ ‫}‬ ‫.ا‬ ‫ا‬ ‫ن‬ ‫اي ی ن‬ ‫، زی ا ه‬ ‫ﺥ اه ی‬ ‫ا ادا‬ ‫ای‬ ‫، ا اآ‬ ‫ود ه‬ ‫می‬ ‫ن‬ ‫ي‬ ‫داز‬ ‫ه‬ ‫ﺥ‬ ‫ودي‬ ‫اي دار .‬ ‫ي وی‬ ‫و ت ین‬ ‫آ‬ ‫هی ه‬ ‫ود در وا‬ ‫هي‬ ‫وﺝ د دارد‬ ‫ل‬ ‫ود‬ ‫ی‬ ‫ی‬ ‫اي ی ن دادن‬ ‫ﺥ اه دی ، راه‬ ‫آ .‬ ‫د‬ ‫ا‬ ‫ﻝ‬ ‫رت‬ ‫آ از‬ ‫‪for‬‬ ‫‪ for-each‬از ﺡ‬ ‫ﺵ‬ ‫ﺝی‬ ‫ی ای روی ن ا‬ ‫.‬ ‫زی‬ ‫‪for‬‬ ‫از‬ ‫دی‬ ‫ی .‬ ‫،‬ ‫ای‬ ‫.‬ ‫ی‬ ‫ﺝ د‬ ‫ه‬ ‫و رو‬ ‫زم‬ ‫‪For ( type itr-var :collection) statement-block‬‬
  • 113. ‫ن را ی‬ ‫ی‬ ‫ار ا‬ ‫ م‬int-var ، ‫ع‬ Type collection ‫د‬ ‫ن ای د‬ ‫ا‬ ‫ﺥ ا‬ . ‫دری‬ ‫ا‬ ‫از ا ا‬ ‫ی‬ .‫د‬ : ‫ﺝ آ‬ ‫ل زی‬ //use a for-each style for loop. Class ForEach{ Public static void main (String args[]){ Int nums[] = {1,2,3,4,5,6,7,8,9,10}; Int su, = 0; //use for-each style for to display and sum the values for ( int s, nums ){ system.out.println("value is: " + x ); sum +=x; } system.out.println("summation : " + sum ); } } : ‫رت زی ا‬ ‫ﺥ وﺝ‬ Valu is : 1 Valu is : 2 Valu is : 3 Valu is : 4 Valu is : 5 Valu is : 6 Valu is : 7 Valu is : 8 Valu is : 9 Valu is : 10 Summation : 55 ‫ي‬ ‫ﺕ ار در رای ه ي چ‬ .‫د‬ ‫ل‬ ‫ای آ ر د ی‬
  • 114. //use for-each style for on a two-dimensional array. Class foreacha { Public static void main ( String args[]){ Int sum = 0; Int nums[][] = new int[3][5]; //give nums some values for ( int i = 0 ; i<3 ; i++ ) for ( int j = 0 ; j<5 ; j++ ) nums[i][j] = (i+1)*(j+1); //use for-each for to display and sum the values for ( int x[] : nums ){ for ( int y : x ) system.out.println("value is: " + y ); sum += y; } } system.out.println("Summation: ") + sum); } } : ‫رت زی ا‬ ‫ﺥ وﺝ‬ Valu is : 1 Valu is : 2 Valu is : 3 Valu is : 4 Valu is : 5 Valu is : 2 Valu is : 4 Valu is : 6 Valu is : 8 Valu is : 10 Valu is : 3 Valu is : 6 Valu is : 9 Valu is : 12 Valu is : 15 Summation : 90
  • 115. ‫ه ي ﺕ درﺕ‬ ‫ﺡ‬ ‫ی‬ ‫ه را دارد. ی‬ ‫ا ن در آ دن‬ ‫، ﺝ وا‬ ‫ی‬ ‫ي‬ ‫ز‬ ‫آ‬ ‫ه ي ‪ for‬در‬ ‫ي‬ ‫ل ، در‬ ‫ان‬ ‫.‬ ‫ار ﺥ اه‬ ‫دی ي‬ ‫داﺥ‬ ‫ا :‬ ‫.‪//Loops may be nested‬‬ ‫{ ‪class Nested‬‬ ‫{)][‪public static void main(String args‬‬ ‫;‪int i, j‬‬ ‫++ (}‪for(i=0; i ;١٠>i‬‬ ‫++(‪for(j=i; j ;١٠>j‬‬ ‫)"."(;‪System.out.print‬‬ ‫();‪System.out.println‬‬ ‫}‬ ‫}‬ ‫}‬ ‫رات پ ش‬ ‫رات ، آ ل را‬ ‫. ای‬ ‫رت ش ‪return ، continue ، break‬‬ ‫ﺝ وا از‬ ‫ده .‬ ‫نا ل‬ ‫دی ي از‬ ‫‪Break‬‬ ‫ر آ ر د دارد :‬ ‫ر‬ ‫ای د‬ ‫رت ‪ switch‬ی ن‬ ‫ت‬ ‫از‬ ‫رات در ی‬ ‫اﻝ‬ ‫اﺝ اي‬ ‫ر آ دی ی‬ ‫١–ه‬ ‫.‬ ‫را‬ ‫را‬ ‫ی‬ ‫ا‬ ‫د از ‪break‬‬ ‫ا‬ ‫،‬ ‫اي ﺥ وج از‬ ‫د از ‪break‬‬ ‫٢–ا‬ ‫آ .و‬ ‫ف‬ ‫‪body‬‬ ‫ﺝ د در‬ ‫رات‬ ‫و‬ ‫و از ﺝ‬ ‫ین‬ ‫ل‬ ‫وآ‬ ‫ی نر‬ ‫د ، اﺝ اي‬ ‫رت ‪ Break‬در ی‬ ‫اﺝ اي‬ ‫د.‬ ‫ه ای‬ ‫از‬ ‫رت‬ ‫اﺝ اي‬
  • 116. ‫ای آ ر را دار و در‬ ‫و‬ ‫رات‬ ‫د‬ ، ‫ﺝ ین‬ ‫ر‬ ‫ای د‬ . ‫د ا‬ ‫ا‬ ‫ای ﺥ ص‬ ‫درك‬ ‫، وﺝ د‬ ‫ ا‬goto ‫رت‬ ‫ : ﺝ وا‬goto ‫ان‬ break ‫د از‬ ‫٣–ا‬ ‫ي‬ ‫ی ﺝ‬ ‫زي ه ي آ‬ ‫و از ﺥ از‬ ‫ د ار ا‬goto ‫ه ي‬ ‫رو‬ ‫ا‬ ‫و‬ ‫ را‬goto ‫ه ن آ ر‬ ‫اي دی‬ break ‫ر‬ ‫ع از د‬ ‫ای‬ ‫آ د ا‬ ‫آ ، ﺝ وا‬ ‫اي ه‬ ‫د.ای آ ر‬ ‫ك‬ ‫ر از اﺝ اي ی ی‬ ‫اﺝ ا ای د‬ . ‫م ده‬ ‫ا‬ ‫ای ي‬ break .‫د‬ ‫اﺝ ا از آ‬ ‫آ‬ ‫ا‬ . ‫ی ا‬ ‫آ ا‬ :‫د‬ ‫د‬ ‫م زی ا‬ ‫ر‬ ‫. ای د‬ ‫اه‬ ‫ت ن‬ ‫ را ون‬goto Break label; . ‫رد‬ ‫ك‬ ‫ن ده‬ Lable //using break as a civilized form of goto. Class Break{ Public static void main ( String args[] ){ Boolean t = true; first: { second: { third: { system.out.println("Before the break."); if(t) break second; // break out of second block system.out.println("This won't execute"); } system.out.println("This won't execute"); } system.out.println("This is after second block."); } } } : ‫م زی ا‬ ‫ﺥ وﺝ‬ Before the break. This is after second block. . ‫در‬ ‫هي‬ ‫از آ ر د ه ﺥ وج از‬ ‫دی‬ ‫٤-ی‬ // using Break to exit from nested loops class BreakLoop4{
  • 117. public static void main( String args[]){ outer: for( int i=0; i<3; i++ ){ System.out.print("Pass " + I + ":"); for ( int j=0; j<100; j++ ){ if ( j==10 ) break outer; // exit both loops System.out.print(j + " "); } System.out.println("This will not print"); } System.out.println("Loops complete"); } } : ‫ار زی ا‬ ‫ﺥ وﺝ از‬ Pass 0 : 0 1 2 3 4 5 6 7 8 9 loops complete. Continue ‫اه‬ ‫ا‬ ‫د. ی‬ ‫ار‬ ‫ا‬ ‫ن‬ ‫از ر‬ ‫د اﺝ اي‬ ‫زم‬ ‫ه‬ ‫ار ﺝ ري‬ ‫اي‬ ‫ ن‬body ‫رات‬ ‫دازش‬ ‫ی ،ا‬ ‫ادا‬ ‫اﺝ اي‬ ‫ﺝ‬ ‫ل‬ ‫آ‬ ‫ل‬ ‫ا‬ do-while ‫ و‬while ‫ه ي‬ ‫رت در‬ ‫د. ای‬ ‫ﺝ‬ ‫ و‬iteration ‫ آ ل‬for ‫د. در‬ ‫آ لآ‬ .‫د‬ ‫ دی ا‬continue ‫از‬ ‫رات‬ ، ‫د. در ه‬ ‫ ه ای‬for ‫رت‬ // Demonstrate continue. Class Continue { Public static void main ( String args[] ){ for ( int i=0; i<10; i++ ){ System.out.print(i + " "); if ( i%2 == 0 ) continue; System.out.println(" "); } } }
  • 118. ‫ون‬ ‫،‬ ‫ی ﺥ .ا‬ ‫ار ‪ I‬زوج ا‬ ‫دآ‬ ‫ر‬ ‫%‬ ‫د از‬ ‫ا‬ ‫:‬ ‫زی ا‬ ‫ی . ﺥ وﺝ‬ ‫ﺝ ی ادا‬ ‫پ آ راآ‬ ‫1 0‬ ‫3 2‬ ‫5 4‬ ‫7 6‬ ‫9 8‬ ‫د آ د.‬ ‫ا‬ ‫ان از‬ ‫ر ‪break‬‬ ‫د‬ ‫رات ای د‬ ‫از‬ ‫ن ﺝ وا‬ ‫رت ‪ break‬در ا‬ ‫اي‬ ‫آ ر ده ي در‬ ‫ار زود از‬ ‫اي آ‬ ‫ای وی‬ ‫اي‬ ‫،ا‬ ‫آ ر ده‬ ‫اي‬ ‫دارد آ‬ ‫اه‬ ‫م ای آ ر‬ ‫اي ا‬ ‫اي‬ ‫ﺥ ری‬ ‫رت ‪ continue‬روش‬ ‫،‬ ‫ز‬ ‫.‬ ‫د ا‬ ‫‪Return‬‬ ‫ل اﺝ ا‬ ‫ز دا ن آ‬ ‫رود. ی‬ ‫آر‬ ‫ی از ی‬ ‫اي ز‬ ‫.‬ ‫ا‬ ‫ي‬ ‫ش‬ ‫ان‬ ‫رت‬ ‫، ای‬ ‫د. ی‬ ‫اﺥ ان‬ ‫اﺥ ان‬ ‫رو‬ ‫ان آ ل اﺝ ا را در ه ﻝ‬ ‫ه‬ ‫رت ‪ return‬در‬ ‫د از‬ ‫ا‬ ‫ده .‬ ‫د را را ی ن‬ ‫ي آ در ن اﺝ ا‬ ‫ز دا . از ای رو اﺝ اي‬ ‫ت‬ ‫د از ا‬ ‫ا‬ ‫اه‬ ‫هي‬ ‫اي آ ل‬ ‫ر‬ ‫ت ی‬ ‫آ دن ا‬ ‫ادار‬ ‫آ ‪، throw ، try‬‬ ‫ای ا‬ ‫.‬ ‫اﺝ ا ا‬ ‫یي‬ ‫ی وی‬ ‫ورد آ داراي‬ ‫ود‬ ‫ای‬ ‫اي ادار ﺥ ه و‬ ‫ه ي وا‬ ‫ان‬ ‫، ‪ finally ، throws‬و ‪ catch‬را‬ ‫ی.‬ ‫ه ی ن در‬ ‫در‬ ‫آ‬ ‫د، ا‬ ‫ی روش‬ ‫و‬ ‫،‬ ‫ی ن‬ ‫اآ‬ ‫ا‬ ‫دت را آ ر‬ ‫، ی ای‬ ‫ه‬ ‫ی‬ ‫ل‬ ‫در ﺝ وا‬ ‫.و‬ ‫دا‬ ‫را‬ ‫ی آ ﺥ‬
  • 119. ‫ی . ای‬ ‫ب‬ ‫ئ‬ ‫ی ا‬ ‫ا‬ ‫،‬ ‫ا‬ ‫ی روش‬ ‫اری . و‬ ‫.‬ ‫ا‬ ‫ت‬ ‫ي اي ادار‬ ‫ا‬ ‫زي‬ ‫ب‬ ‫اي ا‬ ‫ان ی‬ ‫ئ در ﺝ وا ی‬ ‫رات ادار آ دن ا‬ ‫:د‬ ‫را‬ ‫اري‬ ‫شآ د و‬ ‫را‬ ‫م ده ،‬ ‫ای ر را ا‬ ‫د. ا‬ ‫زی .‬ ‫ت‬ ‫ادار ا‬ ‫ی آ‬ ‫ا‬ ‫آ در ز ن اﺝ ا در‬ ‫ا‬ ‫ای‬ ‫)‪ (exception‬ی‬ ‫ا‬ ‫يآ‬ ‫يآ‬ ‫. در ز‬ ‫اﺝ ا ا‬ ‫ئی ﺥ ي‬ ‫ا‬ ‫رت دی‬ ‫د.‬ ‫دث‬ ‫از‬ ‫آ ل و ادار‬ ‫رت د‬ ‫ی‬ ‫،ﺥ ه‬ ‫آ‬ ‫را‬ ‫ادار ا‬ ‫.‬ ‫ی ا‬ ‫و‬ ‫ر‬ ‫. ای‬ ‫)‪ (error codes‬و‬ ‫ی آ هيﺥ‬ ‫اﺝ ا‬ ‫يآ د و ی ی ﺥ ي‬ ‫ت در دازش ﺝ‬ ‫در ﺝ وا از وز ای‬ ‫ادار ا‬ ‫ی.‬ ‫ای‬ ‫را در د ي‬ ‫ل ادار ا‬ ‫ا‬ ‫اي از آ‬ ‫( را آ در‬ ‫ی ﺥ‬ ‫ی )ی‬ ‫طا‬ ‫آ ی‬ ‫ا‬ ‫در ﺝ وا،‬ ‫ی ا‬ ‫ئ را‬ ‫آ نا‬ ‫دی‬ ‫ئ ای د‬ ‫طا‬ ‫ی‬ ‫آ .و‬ ‫،‬ ‫دث‬ ‫د . )‪(Thrown‬‬ ‫ب‬ ‫د ،‬ ‫را ای د‬ ‫آ نﺥ‬ ‫و در رو‬ ‫آ ای د‬ ‫رت ، در‬ ‫ی و ی از ن ر آ . در ه‬ ‫ئ را ﺥ دش ادار‬ ‫ا‬ ‫ا‬ ‫ن روش‬ ‫ا‬ ‫ت‬ ‫د.ا‬ ‫دازش‬ ‫)‪ (caught‬و‬ ‫ئ‬ ‫اي ا‬ ‫ت‬ ‫ﺝ د ی .ا‬ ‫آ هي‬ ‫رت د‬ ‫ن دارد‬ ‫،وی ا‬ ‫اﺝ اي ﺝ وا ﻝ‬ ‫ودی ي‬ ‫وی‬ ‫ز ن ﺝ وا‬ ‫آ از ا‬ ‫ﺝ وا ﺥ ه ي ا‬ ‫ب‬ ‫اي‬ ‫د‬ ‫ت ﻝ‬ ‫.ا‬ ‫ه‬ ‫ار ،‬ ‫اﺝ ای ﺝ وا را زی‬ ‫.‬ ‫د‬ ‫ی روش ا‬ ‫اﺥ ا‬ ‫ای ﺥ‬ ‫دن ﺥ‬ ‫ارش‬
  • 120. ‫ و‬throws ، throw،catch ، try: ‫د‬ ‫ل‬ ‫واژ آ ي ا‬ ‫در ﺝ وا‬ ‫ادار ا‬ ‫اي‬ ‫ی‬ ‫اي آ‬ ‫رات‬ ‫ده . د‬ ‫را‬ ‫د‬ ‫رﺥ‬ .finally ‫دث‬ ‫ئ‬ ‫كی ا‬ ‫داﺥ ای‬ ‫.ا‬ try ‫ك‬ ‫ن ده داﺥ ی‬ ‫ت‬ ‫ا‬ ‫و ن را و‬ catch ‫را‬ ‫ا ای ا‬ ‫.آ‬ ‫ب ﺥ اه‬ ،‫د‬ ‫اﺝ اي ﺝ وا‬ ‫ر ﺥ دآ ر‬ ‫ت ﻝ‬ ‫ی.ا‬ ‫ادار‬ . ‫ب‬ . ‫آ‬ ‫د‬ ‫ ا‬throw ‫، از واژ آ ي‬ ‫بآ‬ ‫رت د‬ ‫ئ را‬ ‫ی ا‬ ‫اي ای‬ .‫د‬ throws ‫ی ﺝ‬ ‫د ی‬ ‫ب‬ ‫ون از ی روش‬ ‫ی آ‬ ‫ه ا‬ ‫ار داد‬ finally ‫ك‬ ‫د در ی‬ ‫دا ي ی روش اﺝ ا‬ ‫از‬ " ‫ی آ‬ ‫ه آ يآ‬ : ‫رت زی‬ ‫ئ‬ ‫ك ادار ا‬ ‫ی‬ .‫د‬ try { // block of code to monitor for errors } catch( Exception Type1 exOb ){ // exception handler for Exception Type1 } catch( Exception Type2 exOb ){ // exception handler for Exception Type2 } //... finally { // block of code to be executed before try block ends } . ‫ا‬ ‫دث‬ ‫آ‬ ‫ی ا‬ ‫ا‬ ‫ا اع ا‬ ‫ در‬throwable ‫ای‬ . throwable ‫ی از آ س آ ر‬ ‫زی آ‬ ‫ا اع ا‬ ‫آ‬ ‫ دو‬throwable ‫از‬ . ‫ار دارد‬ (exception) ‫ئ‬ ‫آ سا‬ ‫ا‬ ‫ي‬
  • 121. ‫ﺥ‬ ‫ان ی‬ ‫،‬ ‫آ‬ ‫ا‬ ‫ﺥ‬ ‫دو‬ ‫ت را‬ ‫زی آ س وﺝ د دار آ ا‬ ‫د‬ ‫د،ا‬ ‫ی‬ ‫هي آر‬ ‫ی آ‬ ‫ای ا‬ ‫اي‬ ‫. ای آ س‬ ‫‪ Exception‬ا‬ ‫ﺥ د ن را‬ ‫ر‬ ‫ئ‬ ‫ا اع ا‬ ‫زی‬ ‫از ای آ س ، زی آ‬ ‫د.ه‬ ‫ان ‪ RuntimeException‬وﺝ د‬ ‫از ‪Exception‬‬ ‫اه‬ ‫ی . ی زی آ س‬ ‫ای د‬ ‫"‬ ‫"‬ ‫اردي‬ ‫و‬ ‫ی‬ ‫هی آ‬ ‫اي‬ ‫ع‬ ‫ت ای‬ ‫دارد . ا‬ ‫د.‬ ‫ی‬ ‫ر ﺥ دآ ر‬ ‫،‬ ‫رای " را در ن‬ ‫زي‬ ‫ی‬ ‫و"‬ ‫ر اری .‬ ‫آ آ ا‬ ‫ی‬ ‫را‬ ‫آ ا‬ ‫ان ‪ Error‬ا‬ ‫ﺥ دی‬ ‫اﺝ ای وا‬ ‫ت از ع ‪Error‬‬ ‫.ا‬ ‫دي‬ ‫ای‬ ‫د.‬ ‫د‬ ‫و آ ر دار ، ا‬ ‫اﺝ اي ﺝ وا‬ ‫ﺥ د‬ ‫ن دادن ﺥ ه ی آ‬ ‫اي‬ ‫ي‬ ‫در‬ ‫ت ع ‪Error‬‬ ‫.ا‬ ‫اي از ای ﺥ ه‬ ‫ری ي‬ ‫ی .‬ ‫، ﺝ د‬ ‫ار‬ ‫ري آ‬ ‫‪Uncaught Exceptions‬‬ ‫ت‬ ‫ا‬ ‫در‬ ‫آ‬ ‫ا‬ ‫ی‬ ‫ن ادار‬ ‫ت را در‬ ‫ا‬ ‫زی آ‬ ‫از ای‬ ‫رت ا‬ ‫ی‬ ‫ي در‬ ‫د‬ ‫.‬ ‫ا‬ ‫ا‬ ‫ت‬ ‫م ادار ا‬ ‫رت‬ ‫د.‬ ‫ی ﺥ ي‬ ‫آ‬ ‫{ 0‪class Exc‬‬ ‫{) ][‪public static void main(String args‬‬ ‫;0 = ‪int d‬‬ ‫;‪int a = 42 / d‬‬ ‫}‬ ‫}‬ ‫،‬ ‫زد ی‬ ‫ر‬ ‫را‬ ‫م‬ ‫اي ا‬ ‫شﺥ د‬ ‫اﺝ اي ﺝ وا‬ ‫و‬ ‫اﺝ اي‬ ‫. )‪ (throws‬ای آ ر‬ ‫آ‬ ‫ب‬ ‫ن را‬ ‫ﺥ و‬ ‫ﺝی ي‬ ‫ا‬ ‫ا‬ ‫ی ادار آ‬ ‫د، ی‬ ‫ب‬ ‫دد ، زی ا ی ر آ ی ا‬ ‫0‪EXC‬‬ ‫ل‬ ‫د. درای‬ ‫اي ن آ ري ا م‬ ‫)‪ (caught by an exception handler‬و‬
  • 122. ‫ادار آ‬ ‫ئ‬ ‫ای ا‬ ‫د ای ،‬ ‫ﺥ د ن را‬ ‫ا‬ ‫ادار آ‬ ‫،‬ ‫آ‬ ‫.ه ا‬ ‫ا‬ ‫اﺝ اي ﺝ وا‬ ‫اه‬ ‫ض‬ ‫. ادار آ‬ ‫دازش ﺥ اه‬ ‫ض‬ ‫ادار آ‬ ‫ی‬ ‫د ، در‬ ‫)‪(stack tracer‬‬ ‫ده ، ی ردی ب‬ ‫ی‬ ‫د‬ ‫ئ را‬ ‫آ ا‬ ‫ض،ی ر‬ ‫آ .‬ ‫را ﺥ‬ ‫ی و‬ ‫پ‬ ‫ئا قا د‬ ‫اي آ در ن ا‬ ‫از‬ ‫زی را‬ ‫د‬ ‫اﺝ اي ﺝ وا ‪ JDK‬اﺝ ا‬ ‫ل ق‬ ‫ه‬ ‫ای‬ ‫آ :‬ ‫ﻝ‬ ‫‪java.lang.ArithmeticException :/ by zero‬‬ ‫)4:‪at Exc0.main(Exc0.java‬‬ ‫م آ س ، 0‪ ،EXC‬م روش ، ‪ ،main‬م ی ، ‪EXC0.java‬و‬ ‫ی آ‬ ‫ﺝ‬ ‫ع‬ ‫ی آ‬ ‫د‬ ‫ا .ه‬ ‫د ای‬ ‫در ردی‬ ‫ر ﺥ ،٤،ه‬ ‫ان ‪Arithmetic Exception‬‬ ‫ی زی آ س از ‪Exception‬‬ ‫ب‬ ‫ا‬ ‫ری‬ ‫.ه‬ ‫عﺥ ی ا قا د ا‬ ‫ده آ‬ ‫د‬ ‫آ ﺥ‬ ‫اﺝ ا‬ ‫نﺥ هي‬ ‫ا اع‬ ‫آ آ‬ ‫ئ آ ر را‬ ‫عا‬ ‫ی‬ ‫دادی ، ﺝ وا‬ ‫.‬ ‫ی‬ ‫،‬ ‫ﻝ‬ ‫آ ا‬ ‫ده .‬ ‫ی‬ ‫ا را‬ ‫وز ﺥ‬ ‫ي روش آ‬ ‫اﺥ ا‬ ‫ه‬ ‫ردی ب‬ ‫آ‬ ‫را‬ ‫آ ه نﺥ‬ ‫آ‬ ‫ه‬ ‫را‬ ‫ل‬ ‫از‬ ‫ل ، ی روای دی‬ ‫ان‬ ‫ﺝ ا از )(‪: main‬‬ ‫ا در رو‬ ‫{ 1‪class Exc‬‬ ‫{() ‪static void subroutine‬‬ ‫;0 = ‪int d‬‬ ‫;‪int a = 10 / d‬‬ ‫{) ][‪public static void main(String args‬‬ ‫;()‪Exc1.subroutine‬‬ ‫}‬ ‫}‬
  • 123. ‫اﺥ ا‬ ‫ده آ‬ ‫ن‬ ‫ئ‬ ‫ضا‬ ‫از ادار آ‬ ‫ردی ب ر‬ ‫:‬ ‫ا‬ ‫در‬ ‫ی‬ ‫آ‬ ‫‪java.lang.ArithmeticException :/ by zero‬‬ ‫)4:‪at Exc1.subroutine(Exc1.java‬‬ ‫)7:‪at Exc1.main(Exc1.java‬‬ ‫ان‪Subroutine‬‬ ‫ﺥ ٧ روش ‪ main‬وﺝ د دارد آ‬ ‫، ی‬ ‫ری‬ ‫ه‬ ‫ل زدای )‪(debugging‬‬ ‫اي ا‬ ‫اﺥ ان‬ ‫.‬ ‫ا‬ ‫در ﺥ ٤‬ ‫وز ﺥ‬ ‫و‬ ‫ا‬ ‫ا .‬ ‫ﺥ‬ ‫را آ‬ ‫ا‬ ‫د‬ ‫، زی ا‬ ‫ا‬ ‫آ‬ ‫د از ‪ try‬و‪catch‬‬ ‫ا‬ ‫ل زدای‬ ‫اي ا‬ ‫اﺝ اي ﺝ وا‬ ‫اه‬ ‫ضا‬ ‫ادار آ‬ ‫ا‬ ‫ی‬ ‫م ای آ ر دو‬ ‫ی .ا‬ ‫ﺥ د ن ادار‬ ‫ی ا‬ ‫ل نه‬ ‫،ا‬ ‫ا‬ ‫.‬ ‫ﺥ اه‬ ‫ﺥ ﺥ دآ ر‬ ‫، ای ر‬ ‫را داری . دوم ای‬ ‫ﺥ‬ ‫ن‬ ‫ا‬ ‫دارد. اول ای‬ ‫ردی ب‬ ‫وی‬ ‫ا ن‬ ‫آ ،‬ ‫وز‬ ‫ﺥ ی‬ ‫ر آ در‬ ‫ه‬ ‫ا‬ ‫ي‬ ‫ﺝ‬ ‫.ﺥ‬ ‫در‬ ‫و‬ ‫ا ن‬ ‫آ ر ان‬ ‫اآ‬ ‫ی ،‬ ‫پ‬ ‫.‬ ‫د ا‬ ‫ر‬ ‫ﻝ‬ ‫از‬ ‫ﺥ اه‬ ‫د آ ي را آ‬ ‫اﺝ ا ، ﺥ‬ ‫و ادار ی ﺥ ي‬ ‫ي از ای و‬ ‫اي ﺝ‬ ‫ك،ی ﺝ‬ ‫از ای‬ ‫ار ده .‬ ‫ك ‪try‬‬ ‫ده )‪ (monitor‬داﺥ ی‬ ‫ی‬ ‫ﻝ ای ر‬ ‫اي ای‬ ‫آ .‬ ‫د‬ ‫ی‬ ‫را آ‬ ‫عا‬ ‫ار ده آ‬ ‫‪catch‬‬ ‫آ‬ ‫‪catch‬‬ ‫ك ‪ try‬و ی ﺝ‬ ‫ی‬ ‫آ در‬ ‫آ‬ ‫ي را‬ ‫ن ده ،‬ ‫را‬ ‫آ .‬ ‫را دازش‬ ‫ﺥ ي‬ ‫‪ ArithmeticException‬ﻝ‬ ‫{ 2‪class Exc‬‬ ‫{) ][‪public static void main(String args‬‬ ‫;‪int d/ a‬‬ ‫.‪try { // monitor a block of code‬‬ ‫;0 = ‪d‬‬ ‫;‪a = 42 / d‬‬
  • 124. ‫;)".‪System.out.println("This will not be printed‬‬ ‫‪} catch( ArithmeticException e ){ // catch divide-by-zero error‬‬ ‫;)".‪System.out.println("Division by zero‬‬ ‫}‬ ‫;)".‪System.out.println("After catch statement‬‬ ‫}‬ ‫}‬ ‫:‬ ‫ار زی‬ ‫ﺥ وﺝ ای‬ ‫.‪Division by zero‬‬ ‫.‪After catch statement‬‬ ‫ئ‬ ‫ا‬ ‫رآ ی‬ ‫د. ه‬ ‫اﺝ ا‬ ‫ك ‪ try‬ه‬ ‫)(‪ println‬داﺥ‬ ‫اﺥ ا‬ ‫ی آ‬ ‫د‬ ‫رت‬ ‫آ .‬ ‫ل‬ ‫ك ‪ catch‬را آ‬ ‫ك ‪try‬‬ ‫ت ﺥ رج از‬ ‫،ا‬ ‫د،‬ ‫ب‬ ‫دد .‬ ‫ك ‪try‬‬ ‫از ی ‪catch‬‬ ‫ای اﺝ ا ه‬ ‫د‬ ‫، ‪ catch‬اﺥ ا‬ ‫ر ‪catch‬‬ ‫رآ د‬ ‫ی .ه‬ ‫در‬ ‫ی‬ ‫ای ، ﺥ "‪"This will not be printed‬‬ ‫ﺥ اه‬ ‫آ ‪ try/catch‬ادا‬ ‫آ‬ ‫ي‬ ‫ﺥ‬ ‫د،آ ل‬ ‫اﺝ ا‬ ‫.‬ ‫ی‬ ‫ن‬ ‫ود‬ ‫‪catch‬‬ ‫وﺝ‬ ‫ده .‬ ‫)‪(unit‬‬ ‫ر‪ try‬و ‪ catch‬و ی وا‬ ‫ی د‬ ‫ا‬ ‫ر ‪catch‬‬ ‫ا .ی د‬ ‫ر ‪try‬‬ ‫از د‬ ‫آ‬ ‫ا‬ ‫را‬ ‫د‬ ‫رات در‬ ‫ﻝ د‬ ‫در‬ ‫د ،‬ ‫‪ try‬را‬ ‫ر دی‬ ‫ی د‬ ‫ب‬ ‫ئ‬ ‫ا‬ ‫ا وه‬ ‫. ی‬ ‫‪try‬‬ ‫آ‬ ‫را‬ ‫داد ای . د‬ ‫ر‬ ‫ﺥ‬ ‫‪ try‬آ‬ ‫ر‬ ‫از ‪try‬روي ی د‬ ‫ا‬ ‫.(‬ ‫ار‬ ‫ك‬ ‫ی داﺥ ی‬ ‫.)ی‬ ‫ا‬ ‫.‬ ‫ا‬ ‫در روای 2.0.1 از‪ JDK‬ز‬ ‫ی . ای‬ ‫د‬ ‫دا‬ ‫و‬ ‫ی رااز‬ ‫طا‬ ‫آ‬ ‫ﺥ ‪ catch‬ی ای‬ ‫ه ف اآ ﺝ ت ﺥ ش‬ ‫ي‬ ‫ل ، در‬ ‫ان‬ ‫.‬ ‫د ا‬ ‫ا ق‬ ‫ه‬ ‫ی ﺥ‬ ‫ده آ‬ ‫را ادا‬ ‫ري‬ ‫ی ی‬ ‫د‬ ‫آ . ن دو‬ ‫را آ‬ ‫د‬ ‫د‬ ‫‪ for‬دو‬ ‫ار‬ ‫ه‬ ‫د.‬ ‫ار‬ ‫ی در ‪a‬‬ ‫د . ﺝ اب‬ ‫د‬ ‫د ٥٤٣٢١ ا‬ ‫اي‬ ‫و ﺝ اب ن‬ ‫ار‬ ‫و‬ ‫د، نﺥ‬ ‫"‬ ‫ﺥ ي"‬ ‫ت‬ ‫ه ی از‬ ‫ا‬ ‫.‬ ‫ی‬ ‫ادا‬ ‫و‬ ‫ار‬ ‫ا‬ ‫‪a‬‬
  • 125. // Handle an exception and move on. import java.util.Random; class HandleError { public static void main(String args[] ){ int a=0/ b=0/ c=0; Random r = new Random)(; for(int i=0; i<23000; i++ ){ try { b = r.nextInt)(; c = r.nextInt)(; a = 12345 /( b/c); } catch( ArithneticException e ){ System.out.println("Division by zero."); a = 0; // set a to zero and continue } System.out.println("a :" + a); } } } ‫از ی ا‬ ‫ﺕ‬ ‫ی‬ ‫ری‬ ، ‫( را ﻝ‬ ‫ی‬ object ) ، toString()‫ روش‬Throwable ‫ر دادن ا‬ ‫د‬ ‫ﺥ‬ ‫ا‬ . ‫دا‬ ‫ئ را‬ ‫از ا‬ ‫در‬ ‫ی ر‬ ،‫ل‬ ‫ان‬ . ‫اری‬ ‫ی‬ println() ‫ر‬ ‫را در ی د‬ ‫ن ، ای‬ ‫ر‬ ‫ان ی‬ .‫د‬ ‫ی‬ ‫رت زی دو ر‬ ‫ان‬ ‫را‬ ‫ در‬catch ‫ك‬ catch( ArithmeticException e ){ System.out.println("Exception :" + e); a = 0; / set a to zero and continue } ‫د،ه‬ ‫ ﺝ وا اﺝ ا‬JDK ‫ی ،و‬ ‫ی‬ ‫ﺝی‬ ‫ای روای را در‬ ‫و‬ : ‫ﺥ اه داد‬ ‫ی‬ ‫ي را‬ ‫، م‬ ‫ﺥ ي‬
  • 126. Exception :java.lang.ArethmeticException :/ by zero ‫ای‬ ‫ی‬ ‫ارد، ا در‬ ‫ارزش ﺥ‬ ‫در ای‬ ‫ا‬ ‫از ی ا‬ ‫ی‬ ‫ا ی‬ . ‫ل زدای‬ ‫ما‬ ‫تی ه‬ ‫مآر ا‬ ‫صه‬ ‫ا‬ ‫ر ارز‬ ‫ چ‬catch ‫ت‬ ‫اي ادار‬ . ‫ی‬ ‫ﺝ د‬ ‫ا‬ ‫از ی‬ ‫آ‬ ‫آ‬ ‫از ی‬ ‫ا‬ ‫در‬ ‫ئ‬ ‫وت از ا‬ ‫ع‬ ‫ی آ ه آ ام ی‬ catch ‫ﺝ‬ ‫دو ی‬ ‫ا‬ ، ‫ای‬ ‫د، و اوﻝ‬ ‫ن‬ ‫ا‬ catch ‫ر‬ ‫د،ه د‬ ‫ب‬ ‫ئ‬ ‫ی ا‬ ‫.و‬ ‫ر‬ ‫از اﺝ اي ی د‬ . ‫، اﺝ ا ﺥ اه‬ ‫دا‬ ‫عا‬ ‫ع ن‬ ‫ري آ‬ ‫د‬ ‫ ادا ﺥ اه‬try/catch ‫ك‬ ‫از‬ ‫و اﺝ اي‬ ‫ا‬ ‫رات‬ ‫ی د‬ ، catch : ‫ا ازد‬ ‫را ام‬ ‫ئ‬ ‫ي دو ع ا‬ . ‫ی‬ // Demonstrate multiple catch statements. class MultiCatch { public static void main(String args[] ){ try { int a = args.length; System.out.println("a = " + a); int b = 42 / a; int c[] = { 1 }; c[42] = 99; } catch(ArithmeticException e ){ System.out.println("Divide by 0 :" + e); } catch(ArrayIndexOutOfBoundsException e ){ System.out.println("Array index oob :" + e); } System.out.println("After try/catch block."); } }
  • 127. ‫د‬ ‫ز‬ ‫ن‬ ‫هي ﺥ‬ ‫ون را‬ ‫ا‬ ‫د، ای‬ ‫وي‬ a ‫ن‬ ‫ﺝ د‬ ‫ن‬ ‫ن ﺥ‬ ‫ر‬ ‫ی‬ ‫.ا‬ ‫" ﺥ اه‬ " ‫ا‬ ‫ی‬ ‫ده . ا‬ ‫ت‬ ‫را‬ ، ‫ار ده‬ ‫از‬ ‫ر‬ ‫اري‬ ‫دل‬ ‫ را‬a ‫وری و‬ ‫ع‬ ‫ از‬C ‫ن رای‬ ، ‫دد‬ ArrayIndexOutOfBoundsException ‫ای‬ . ‫ی‬ ‫ب‬ C[42] ‫اري را‬ ‫آ‬ ‫ش‬ ‫ن‬ ‫،ه‬ ‫ل1ا‬ ‫ داراي‬int : ‫آ‬ ‫ه‬ ‫اﺝ اي ه دو را را‬ ‫ﻝ‬ ‫ﺥ وﺝ‬ ‫در ای‬ C:>java MultiCatch a = 0 Divide by 0 :java.lang.ArithmeticException :/ by zero After try/catch blocks. C:>java MultiCatch TestArg a = 1 Array index oob java.lang.ArrayIndexOutOfBoundsException :42 After try/catch blocks. ‫ئ‬ ‫يا‬ ‫آ زی آ‬ ‫ا‬ ‫ا‬ ، ‫آ‬ ‫د‬ ‫ا‬ catch ‫رات‬ ‫از د‬ ‫و‬ ‫ر‬ ‫آ ی د‬ ‫ا‬ ‫ان دﻝ‬ ‫. ای‬ ‫ار‬ ‫هي‬ ‫از ه ی از آ س‬ ‫ی‬ ‫ع را ﺥ اه‬ ‫ي ن‬ ‫ت ن ع و زی آ‬ ‫آ ،ا‬ ‫د‬ ‫ا‬ ‫ آ از ی آ س‬catch ‫ن زی آ س‬ ‫ی ،ه‬ ‫ی‬ ‫از آ س‬ ‫ی زی آ س‬ ‫ای ، ا‬ . ‫ي را در‬ ،‫ل‬ ‫ان‬ . ‫ا‬ ‫ﺥ‬ ‫س‬ ‫د‬ ‫و ، در ﺝ وا ، آ‬ . ‫ر‬ : ‫ی‬ /* This program contains an error. A subclass must come befor its superclass in a series of catch statements .If not/ unreachable code will be created and a comple-time error will result. */ class SuperSubCatch { public static void main(String args[] ){ try { int a = 0; int b = 42 / a;
  • 128. } catch(Eeception e ){ System.out.println("Generic Exception catch."); } /* This catch is never reached because ArithmeticException is a subclass of Exception .*/ catch(ArithmeticException e ){ // ERROR - unreachable System.out.println("This is never reached."); } } } ‫ی دو‬ ‫آ‬ ‫آ‬ ‫دری‬ ‫مﺥ‬ ‫،ی‬ ‫ی آ‬ ‫را آ‬ ‫اه ای‬ ‫ا‬ ‫زی آ س از‬ ‫ ی‬ArithneticException ‫ی‬ ‫. از‬ ‫نا‬ ‫ر‬ catch ‫ر‬ ‫د‬ ‫ از ﺝ‬Exception ‫ي‬ ‫ﺥ هي‬ ‫ آ‬catch ‫ر‬ ‫د‬ ‫، اوﻝ‬ ‫ ا‬Exception ‫اه‬ ‫اﺝ ا‬ ‫ ه‬catch ‫ر‬ ‫د‬ ‫دو‬ ‫. ی‬ ‫ را ادار‬ArithneticException . ‫ده‬ ‫ را‬catch ‫رت‬ ‫دو‬ ‫ف آ دن ای‬ ‫اي‬ ، try ‫رات ﺕ درﺕ ﺵ‬ ‫د‬ try ‫ك ی‬ ‫ان داﺥ‬ ‫ را‬try ‫ر‬ ‫ی د‬ ‫د.ی‬ ‫ان در‬ ‫ را‬try ‫رات‬ ‫د‬ ‫رت روي‬ ‫ن‬ ،‫د‬ ‫ وارد‬try ‫ر‬ ‫رآ ی د‬ ‫ار داد. ه‬ ‫دی‬ ، ‫ﺥص‬ ‫اي ی ا‬ catch ‫ی ادار آ‬ ‫ داﺥ‬try ‫ر‬ ‫ی د‬ ‫د. ا‬ ‫ار‬ ‫رد ﺝ‬ ‫ اي ی‬try ‫ي‬ ‫ر‬ ‫د‬ ‫ط‬ catch ‫و ادار آ‬ ‫دور زد‬ ‫آ‬ ‫ز‬ ‫دوی‬ catch ‫رات‬ ‫ازد‬ ‫ی‬ ‫ای‬ ‫ی‬ ‫اوم‬ ‫ﻝ‬ ‫د . ای‬ ‫ا‬ catch ‫رات‬ ‫از د‬ ‫ه‬ ‫،ا‬ ‫م‬ try ‫رات در‬ ‫د‬ ‫آ‬ ‫ﻝ را‬ ‫آ . در زی‬ ‫ئ را ادار‬ ‫اﺝ اي ﺝ وا ﺥ دش ا‬ ، ‫ا‬ : ‫د ا‬ ‫د‬ ‫ ا‬try ‫رات در‬ ‫آ از د‬ ‫ه‬ // An example of nested try statements. class NestTry { public static void main(String args[] ){ try {
  • 129. int a = args.length; /* If no command-line args are present/ the following statement will generate a divide-by-zero exception .*/ int b = 42 / a; System.out.println("a = " + a); try { // nested try block /* If one command-line arg is used/ then a divide-by-zero exception will be generated by the following code .*/ if(a==1 )a = a/(a-a); // division by zero /* If two command-line args are used/ then generate an out-of-bounds exception .*/ if(a==2 ){ int c[] = { 1 }; c[42] = 99; // generate an out-of-bounds exception } } catch(ArrayIndexOutOfBoundsException e ){ System.out.println("Array index out-of-bounds :" + e) } } catch(ArithmeticException e ){ System.out.println("Divide by 0 :" + e); } } } ‫رت زی‬ . ‫ده‬ ‫يﺝي‬ ‫ را داﺥ دی‬try ‫ك‬ ‫آ ،ی‬ ‫ه‬ ‫ری‬ ‫ه‬ " ‫ی ا‬ ‫آ‬ ‫ن اﺝ ا‬ ‫يﺥ‬ ‫را ون ر‬ ‫آ .و‬ ‫آر‬ ‫ن‬ ‫نﺥ‬ ‫ر‬ ‫ی‬ ‫د . اﺝ اي‬ ‫ ای د‬try ‫ك ﺥ رﺝ‬ " ‫ك داﺥ‬ ‫ن‬ . ‫آ‬ ‫ ﻝ‬try ‫ك در‬ ‫" را از داﺥ‬ " ‫ی ا‬ ‫ادار ﺥ اه‬ ‫د و در‬ ‫ ر داد‬try ‫ك ﺥ رﺝ‬ ‫دا‬ ‫ئ را‬ ‫ای ا‬ ‫ود رای " از داﺥ‬ " ‫ی ،ی ا‬ ‫ن اﺝ ا‬ ‫يﺥ‬ ‫را ون ر‬ ‫.ا‬ ‫ت‬ ‫اي وﺝ د دار آ ه ی از‬ ‫. در زی اﺝ اه ي‬ ‫ ﻝ ﺥ اه‬try ‫ك داﺥ‬ : ‫ده‬ ‫ن‬ ‫ق را‬
  • 130. C:>java NestTry Divide by 0 :java.lang.ArihmeticException :/ by zero C:>java NestTry One a = 1 Divide by 0 :java.lang.ArihmeticException :/ by zero C:>java NestTry One Two a = 2 Array index out-of-bounds: java.lang.ArrayIndexOutOfBoundsException :42 ‫ا‬ try ‫رات‬ ‫دن د‬ ‫در‬ ، ‫روش ه وﺝ د دا‬ ‫اﺥ ا‬ ‫ا‬ ‫ك‬ ‫ی روش را درون ی‬ ‫اﺥ ا‬ ‫ا‬ ،‫ل‬ ‫ان‬ . ‫ا ق‬ ‫ن‬ ‫ی‬ ‫رو‬ ‫درون‬try ، ‫ﻝ‬ ‫ وﺝ د دارد . در ای‬try ‫ر دی‬ ‫م ده . درون ن روش ی د‬ ‫ ا‬try ‫د . در‬ ‫در‬ ‫آ‬ ‫اﺥ ا‬ ‫ آ روش را‬try ‫ك ﺥ رﺝ‬ ‫ن داﺥ ی‬ ‫روش ه‬ nesttry() ‫ اﺥ روش‬try ‫ك در‬ ‫آ در ن‬ ‫آ‬ ‫ه‬ ‫را‬ ‫زی‬ . ‫نآ د ا‬ /* Tyr statements can be implicitly nested via calls to methods .*/ class MethNestTry { static void nesttry(int a ){ try { // mested try block /* If one command-line arg is used/ then a divide-by-zero exception will be generated by the following code .*/ if(a==1 )a = a/(a-a); // division by zero /* If two command-line args are used/ then generate an out-of-bounds exception .*/ if(a==2 ){ int c[] = { 1 }; c[42] = 99; // generate an out-of-bounds exception } } catch(ArrayIndexOutOfBoundsException e ){ System.out.println("Array index out-of-bounds :" + e)
  • 131. } } public static void main(String args[] ){ try { int a = args.length; /* If no command-line args are present/ the following statement will generate a divide-by-zero exception .*/ int b = 42 / a; System.out.println("a = " + a); nesttry(a); } catch(ArithmeticException e ){ System.out.println("Divide by 0 :" + e); } } } . ‫ا‬ ‫ل‬ ‫ه ن‬ ‫ﺥ وﺝ‬ Throw ‫را دی ای . ا‬ ‫ب‬ ‫اﺝ اي ﺝ وا‬ ‫آ‬ ‫ا‬ ‫ل‬ . ‫ی‬ ‫ب‬ throw ‫ر‬ ‫د از د‬ ‫ا‬ ‫ی‬ ‫ر‬ ‫ئ را‬ ‫ا ی ا‬ : ‫ار زی‬ throw ThrowThrowableInStance; ‫زی آ س از‬ ‫ ی ی‬throwable ‫ع‬ ‫از‬ ‫ ی ی‬Throwable Instance ‫در ای‬ throwable‫از‬ ‫ي‬ ‫نآ‬ ‫ ، ه‬char ‫ ی‬int ، ‫د‬ ‫. ا اع‬ throwable ‫وردن ی‬ ‫اي‬ ‫. دو‬ ‫د‬ ‫تا‬ ‫ان ا‬ ‫ا‬ ‫ و‬object ‫ و‬string ‫ئﺝ ی‬ ‫ و ی ای د ی‬catch ‫داﺥ ﺝ‬ ‫را‬ ‫د از ی‬ ‫ وﺝ د دارد : ا‬throwable ‫ي‬ ‫رات‬ ‫د.د‬ throw ‫ر‬ ‫از د‬ ‫ ﺝ ی ن اﺝ ا‬new . catch‫ر‬ ‫د ی د‬ ‫ار‬ ‫رد ﺝ‬ try ‫ك‬ ‫ی‬ ‫. دی‬ ‫اه‬ ‫اﺝ ا‬
  • 132. ‫ر‬ ‫ند‬ ‫دآ ل‬ ‫.ا‬ ‫دا‬ ‫عا‬ ‫دآ‬ ‫ا‬ ،‫د‬ ‫ار‬ ‫رد ﺝ‬ try ‫ي‬ ‫ر‬ ‫د‬ ،‫د‬ ‫ا‬ ‫د.ا‬ ‫ض‬ ‫ادار آ‬ ،‫د‬ ‫ا‬ ‫اي‬ ‫آ‬ catch ‫ه‬ ‫ﺥ .ا‬ ‫ر اﻝ‬ ‫وه‬ ‫ه‬ ‫ی‬ ‫آ . در ای‬ ‫را پ‬ ‫داد و ردی ب‬ ‫ئ‬ ‫ا‬ ‫دا‬ ،‫د‬ ‫ئ را‬ ‫اي آ ای ا‬ ‫ی . ادار آ‬ ‫ب‬ ‫را ای د و‬ ‫آ ی ا‬ ‫آ‬ .‫د‬ ‫ب ﺥ اه‬ ‫و‬ ‫ادار آ‬ ‫ن را‬ // Demonstrate throw. class ThrowDemo { static void demoproc )({ try { throw new NullPointerException("demo"); } catch(NullPointerException e ){ system.out.println("Caught inside demoproc."); throw e; // rethrow the exception } } public static void main(String args[] ){ try { demoproc)(; } catch(NullPointerException e ){ System.out.println("Recaught :" + e); } } } ‫ا‬ ‫ ی‬main() ، ‫ك دارد . اول‬ ‫اي آ ر ی ﺥ ي‬ ‫دو‬ ‫ای‬ ‫دی‬ ‫ی‬ demoproc() ‫آ . روش‬ ‫اﺥ ا‬ ‫)( را‬demoproc ‫آ و‬ ‫ را‬NullpointerException ‫ﺝ ی از‬ ‫ی‬ ‫د و‬ ‫را‬ ‫ا‬ ‫ادار آ‬ ‫ار‬ . ‫ب ﺥ اه‬ ‫دا ا‬ . ‫ﺥ اه‬ ‫ي‬ ‫آ آ روي ﺥ‬ ‫ب‬ . ‫زی ﺥ اه‬ Caught inside demoproc Recaught :java.lang.NullPointerException :demo
  • 133. ‫د ﺝ‬ ‫ارد ﺝ وا ای د‬ ‫ا‬ ‫ا‬ ‫از ا‬ ‫ی‬ ‫ده‬ ‫ن‬ ‫ه‬ ‫:‬ ‫ای ﺥ دا‬ ‫ي‬ ‫;)"‪+ throw new NullPointerException("demo‬‬ ‫د .آ‬ ‫ﺥ‬ ‫از ‪NullpointerException‬‬ ‫ی‬ ‫د‬ ‫، ‪ new‬ا‬ ‫در ای‬ ‫ر‬ ‫را‬ ‫ی‬ ‫وی‬ ‫ون را‬ ‫دار : ی‬ ‫ز‬ ‫اﺝ اي آ ر ﺝ وا دو‬ ‫ت‬ ‫ا‬ ‫. را‬ ‫آ آ ا‬ ‫را‬ ‫نی ر‬ ‫د، ر‬ ‫د‬ ‫دوم ا‬ ‫از‬ ‫اي . و‬ ‫د‬ ‫د‬ ‫)(‪ print‬ی )(‪ println‬ا‬ ‫ن‬ ‫ر‬ ‫ان ی‬ ‫ئ‬ ‫آ‬ ‫ی .و‬ ‫اﺥ ا‬ ‫ی‬ ‫ان‬ ‫را ه‬ ‫ر‬ ‫ی . ای‬ ‫در‬ ‫ی‬ ‫ر‬ ‫، ای‬ ‫ورد .‬ ‫‪Throwable‬‬ ‫)(‪ getMessage‬آ‬ ‫‪Throws‬‬ ‫آ ، ن روش ی ای ر ر‬ ‫ئ را دارد و ن را ادار‬ ‫ای د ی ا‬ ‫ی روش‬ ‫ا‬ ‫ت‬ ‫ا‬ ‫اﺥ ا ن ن روش ﺥ د ن را در‬ ‫اي آ‬ ‫ی‬ ‫ﺥ د را‬ ‫‪throws‬‬ ‫د. ی ﺝ‬ ‫م‬ ‫ن روش ا‬ ‫‪ Throws‬در ا‬ ‫نی ﺝ‬ ‫ی . ای ر‬ ‫اي آ‬ ‫آ . ای ر‬ ‫ي‬ ‫ی و‬ ‫ب‬ ‫ا‬ ‫آ ی روش‬ ‫ا اع ا‬ ‫ط‬ ‫ت‬ ‫از ا اع ‪ Error‬ی ‪ ، RuntimeException‬ی ا‬ ‫،‬ ‫وري ا‬ ‫ت‬ ‫ا‬ ‫ی ، ی در ﺝ‬ ‫ب‬ ‫ا‬ ‫روش‬ ‫آ ی‬ ‫ی ا‬ ‫.آ‬ ‫ي‬ ‫زی آ‬ ‫.‬ ‫ﺥ اه‬ ‫د ، ی ﺥ ي )‪(compile-time‬‬ ‫م‬ ‫ای ر ا‬ ‫.ا‬ ‫ن‬ ‫‪ throws‬ا‬ ‫:‬ ‫رت زی ا‬ ‫،‬ ‫‪throws‬‬ ‫ﺝ‬ ‫ن روش آ در‬ ‫ی ا‬ ‫‪type method-name(parameter-list )throws exception-list‬‬ ‫{‬ ‫‪// body of method‬‬ ‫}‬
  • 134. ‫ا‬ ‫آ ی روش‬ ‫ا‬ ‫از ا‬ ‫آ‬ ‫ﺝا‬ ‫ ی‬exception-list ‫در ای‬ ‫ا‬ ‫ئ را آ‬ ‫آ ی ا‬ ‫ش‬ ‫آ‬ ‫ا‬ ‫يی‬ ‫ل‬ . ‫ی‬ ‫ب‬ ‫ن‬ ‫را ا‬ ‫ای‬ ‫آ‬ ‫ را‬throws ‫ی ﺝ‬ ‫ن‬ .‫ی‬ ‫ب‬ ،‫د‬ : ‫اه‬ ‫ی‬ ‫آ‬ ، ‫ی‬ // This program contains an error and will not compile. class ThrowsDemo { static void throwOne )({ System.out.println("Inside throwOne."); throw new IllegalAccessException("demo"); } public static void main(String args[] ){ throwOne)(; } } ‫نآ‬ ‫ا‬ ‫ﺝ د وری . ا ا ، زم ا‬ ‫ل ، ی دو‬ ‫دن ای‬ ‫ی‬ ‫اي آ‬ ‫ی . دوم ، روش‬ ‫ب‬ ‫ را‬IllegalAccessException ‫آ‬ ‫ا‬ ‫ رو‬throwOne() .‫د‬ ‫را‬ ‫ی آ ای ا‬ ‫ی‬ try/catch ‫ر‬ ‫ ی ی د‬main() // This is now correct. class ThrowsDemo { static void throwOne )(throws IllegalAccessException { System.out.println("Inside throwOne."); throw new IllegalAccessException("demo"); } public static void main(String args[] ){ try { throwOne)(; } catch( IllegalAccessException e ){ System.out.println("Caught " + e); } } } : ‫آ‬ ‫، ﺥ وﺝ زی را ﻝ‬ ‫اﺝ اي ای‬
  • 135. ‫‪inside throwOne‬‬ ‫‪caugh java.lang.IllegalAccessException: demo‬‬ ‫‪Finally‬‬ ‫آ‬ ‫ا‬ ‫لو‬ ‫يا‬ ‫، اﺝ ا در روش‬ ‫ب‬ ‫ت‬ ‫ا‬ ‫و‬ ‫،‬ ‫ي‬ ‫آ‬ ‫روش‬ ‫ای‬ ‫ده .‬ ‫روش را‬ ‫آ ﺝ ین‬ ‫ﺥ‬ ‫دد . در ﺥ رو‬ ‫م‬ ‫روش‬ ‫د‬ ‫ئ‬ ‫ا‬ ‫ن دارد آ ی‬ ‫ا‬ ‫م‬ ‫د وه‬ ‫م ورود ز‬ ‫را ه‬ ‫ی روش ی‬ ‫لا‬ ‫ان‬ ‫ی .‬ ‫ا‬ ‫ئ‬ ‫ادار ا‬ ‫د‬ ‫ی را‬ ‫آيآ‬ ‫ی‬ ‫د،‬ ‫ﺥ وج ن را‬ ‫ی آ .‬ ‫ل و ع را‬ ‫ای ا‬ ‫ا‬ ‫د. واژ آ ي ‪finally‬‬ ‫ا‬ ‫از آ‬ ‫و‬ ‫ك ‪try/catch‬‬ ‫ی‬ ‫از ای‬ ‫آ آ‬ ‫ك آ ای د‬ ‫‪ Finally‬ی‬ ‫د‬ ‫د‬ ‫ب‬ ‫ئ‬ ‫ی ا‬ ‫ك ‪finally‬‬ ‫.‬ ‫ك ‪ try/catch‬اﺝ ا ﺥ اه‬ ‫آ‬ ‫از‬ ‫ه‬ ‫ا‬ ‫ك ‪ finally‬اﺝ ا ﺥ اه‬ ‫د‬ ‫ب‬ ‫ي‬ ‫ی ا‬ ‫.ا‬ ‫، اﺝ ا ﺥ اه‬ ‫.‬ ‫ا‬ ‫ئ‬ ‫رات ‪ catch‬ا‬ ‫د‬ ‫دد‬ ‫اﺥ ا‬ ‫ك ‪try/catch‬‬ ‫ی‬ ‫آ از داﺥ‬ ‫ا‬ ‫دی‬ ‫روش‬ ‫ی‬ ‫ه‬ ‫‪ finally‬ه‬ ‫ی ،ﺝ‬ ‫ر‬ ‫د‬ ‫ی آ‬ ‫ئ‬ ‫ا‬ ‫ی‬ ‫و‬ ‫هي ی‬ ‫د‬ ‫اي‬ ‫ا‬ ‫ر‬ ‫. ای‬ ‫ي روش اﺝ ا ﺥ اه‬ ‫از‬ ‫از‬ ‫آ دن‬ ‫درا اي ی روش ه ف‬ ‫ا‬ ‫آ‬ ‫ی‬ ‫زاد آ دن‬ ‫ی ﺝ‬ ‫ا‬ ‫م‬ ‫ر ‪try‬‬ ‫.ا ه د‬ ‫‪ finally‬اﺥ ري ا‬ ‫.ﺝ‬ ‫ر‬ ‫دادن‬ ‫ﺝ د در‬ ‫روش‬ ‫اي وﺝ د دارد آ‬ ‫. در ای‬ ‫‪finally‬‬ ‫‪catch‬ی ی ﺝ‬ ‫.‬ ‫ون اﺝ اي ﺝ ت ‪ finally‬ﺥ د ه‬ ‫از‬ ‫ده آ ه‬ ‫ن‬ ‫را را‬ ‫.‪// Demonstrate finally‬‬ ‫{ ‪class FinallyDemo‬‬ ‫.‪// Through an exception out of the method‬‬ ‫{() ‪static void procA‬‬ ‫{ ‪try‬‬
  • 136. System.out.println("inside procA"); throw new RuntimeException("demo"); } finally { System.out.println("procA's finally"); } } // Return from within a try block. static void procB )({ try { System.out.println("inside procB"); return; } finally { System.out.println("procB's finally"); } } // Execute a try block normally. static void procC )({ try { System.out.println("inside procC"); } finally { System.out.println("procC's finally"); } } public static void main(String args[] ){ try { procA(); } catch( Eeception e ){ System.out.println("Exception caught"); } procB(); procC(); } } finally ‫.ﺝ‬ ‫ را‬try ‫م‬ ‫ر‬ ،‫ئ‬ ‫بی ا‬ procA() ، ‫ل‬ ‫در ای‬ ‫ اﺝ ا‬return ‫ر‬ ‫ی د‬ procB() ‫ط‬ try ‫ر‬ ‫د.د‬ ‫روي ﺥ رج را اﺝ ا‬
  • 137. ‫ر‬ ‫د . در)(‪ procC‬د‬ ‫ی اﺝ ا‬ ‫)(‪procB‬‬ ‫از ای‬ ‫‪finally‬‬ ‫د.ﺝ‬ ‫.‬ ‫ا‬ ‫ن اﺝ ا‬ ‫ك ‪ finally‬ه‬ ‫د.ا‬ ‫اﺝ ا‬ ‫و ون ﺥ‬ ‫ر‬ ‫‪try‬‬ ‫‪ try‬اﺝ ا‬ ‫ا س‬ ‫ك ‪finally‬‬ ‫،‬ ‫ك ‪ finally‬ی ‪ try‬ه ا‬ ‫ی‬ ‫ی د وري : ا‬ ‫:‬ ‫آ‬ ‫ه‬ ‫را‬ ‫از‬ ‫. در زی ﺥ وﺝ‬ ‫ﺥ اه‬ ‫‪inside procA‬‬ ‫‪procA's finally‬‬ ‫‪Exception caught‬‬ ‫‪inside procB‬‬ ‫‪procB's finally‬‬ ‫‪inside procC‬‬ ‫وا‬ ‫تﺕ آر‬ ‫ا‬ ‫آ .‬ ‫ی‬ ‫ئ را‬ ‫ی آ سا‬ ‫ارد ‪ ، java.lang‬ﺝ وا‬ ‫م ا اري ا‬ ‫داﺥ‬ ‫ع‬ ‫ي‬ ‫ت زی آ‬ ‫ی ای ا‬ ‫.‬ ‫د‬ ‫ا‬ ‫ﻝ ي‬ ‫در‬ ‫از ای آ‬ ‫‪throws‬‬ ‫در ه‬ ‫ارد‬ ‫و ﻝ و‬ ‫.‬ ‫ارد ‪RuntimeException‬‬ ‫ا‬ ‫‪(unchecked‬‬ ‫ل‬ ‫تآ‬ ‫را ا‬ ‫. در ز ن ﺝ وا ، ای‬ ‫ی روش‬ ‫ط‬ ‫ت را ادار‬ ‫آ آ ی ی روش ای ا‬ ‫ل‬ ‫ی آ‬ ‫. زی ا آ‬ ‫)‪exception‬‬ ‫د ای . ﺝ ول 2 ن ا‬ ‫را در ﺝ ول 1‬ ‫ی .‬ ‫ب‬ ‫را‬ ‫آ ی‬ ‫ط‬ ‫‪throws‬‬ ‫ا و ی در ی‬ ‫ی‬ ‫‪java.lang‬‬ ‫آ آ‬ ‫را‬ ‫د ، ا ﺥ دش ن را‬ ‫ت را ﻝ‬ ‫از ای ا‬ ‫ا ی‬ ‫ن روش‬ ‫،ا‬ ‫روش‬ ‫. ﺝ وا‬ ‫)‪(checked exceptions‬‬ ‫ل‬ ‫تآ‬ ‫ت را ا‬ ‫. ای ا‬ ‫ادار‬ ‫ن آ س ﺝ وا‬ ‫هي‬ ‫آ‬ ‫آ آ‬ ‫ی‬ ‫ت را‬ ‫از ا‬ ‫ع دی‬ ‫ی‬ ‫.‬ ‫ه‬ ‫‪ RuntimeException‬در ﺝ وا‬ ‫يآ ل‬ ‫زی آ‬ ‫ا‬ ‫ﺕ‬ ‫‪ArithmeticException‬‬ ‫ﺕ‬ ‫ي،‬ ‫ي‬
  • 138. ArrayIndexOutOfBoundsException ‫ود ا‬ ‫رج از‬ ‫ی رای‬ ArrayStoreException ‫ز ر‬ ‫ع‬ ‫رای از ی‬ ‫ی‬ ‫ب‬ ‫ا‬ ClassCastException cast ‫ﺕ ی‬ IllegalArgumentException ‫اي‬ ‫د ﺵ‬ ‫زا‬ ‫ن‬ ‫ر‬ ‫د ی روش‬ ‫ا ا‬ IllegalMonitorStateException ‫ن‬ ،‫ز‬ ‫ت ﺵ‬ (unlocked thread) . ‫روي ی‬ IllegalThreadStateException ‫و‬ ‫ز ر‬ ‫ﺵ‬ ‫ت در ا‬ ‫ري‬ IndexOutOfBoundsException ‫ود ا‬ ‫رج از‬ ‫ی‬ ‫ا اع‬ NegativeArrayException ‫ی ا از‬ ‫رای ای د ﺵ‬ NullpointerException ‫ﺕ‬ ‫از ی‬ ‫آر د‬ NumberFormatException ‫ر‬ ‫ی‬ ‫ی رﺵ‬ ‫ﺕ ی‬ SecurityException ‫ا‬ ‫ﺕ ش اي‬ ‫آ ر در ﺝ وا‬ ‫تآ ل‬ ‫ا‬ ‫ا‬ ‫ﺕ‬ ClassNotFoundException ‫ا‬ ‫آ سپ ا‬ CloneNotSupportedException. ‫ی ﺵ آ را‬ ‫ﺕ ش اي ﺕ‬ . ‫زي‬ ‫ را پ د‬Cloneable IllegalAccessException ‫ی آ سا رﺵ ا‬ ‫د‬ InstantiationException ‫ﺕ ش اي ای د ی ﺵ از ی آ س ی ی‬ ‫را‬ InterruptedException ‫ دی‬thread ‫ی‬ ‫ ﺕ‬thread ‫ی‬ ‫ﺕ‬ NoSuchFieldException ‫در ا‬ ‫مو د‬ NoSuchMethodException ‫در ا‬ ‫مو د‬ ‫دﺕ ن‬ ‫ط‬ ‫ئ‬ ‫يا‬ ‫دن زی آ‬ ‫ای د‬
  • 139. ‫اه ا اع‬ ‫ل دارد‬ ‫،ا‬ ‫آ‬ ‫ت آ ر ﺝ وا اآ ﺥ ه ي رای را ادار‬ ‫ا‬ ‫ا‬ ‫را ادار‬ ‫هي‬ ‫در‬ ‫ای‬ ‫ﺥ د ن را ای د آ‬ ‫ط‬ ‫ئ‬ ‫ا‬ ‫ی‬ ‫ی ) آ اﻝ‬ ‫ی‬ ‫ی زی آ س از ‪Exception‬‬ ‫:‬ ‫د ا‬ ‫ر‬ ‫م ای ر‬ ‫آ .ا‬ ‫د‬ ‫ي را‬ ‫وا "‬ ‫ار‬ ‫ﻝ و‬ ‫ي‬ ‫.) زی آ‬ ‫زی آ س از ‪Throwable‬‬ ‫زي آ .‬ ‫ي‬ ‫ای آ س از رو‬ ‫آ . اﻝ‬ ‫ی‬ ‫اي ﺥ د‬ ‫رو‬ ‫آ س ‪ Exception‬ه‬ ‫ای د‬ ‫ی‬ ‫ت‬ ‫ا‬ ‫آ‬ ‫د. ی‬ ‫‪ Throwable‬ارث‬ ‫اه‬ ‫س‬ ‫و در د‬ ‫ی‬ ‫‪Throwable‬‬ ‫آ‬ ‫ی ه‬ ‫آ د ای ، داراي رو‬ ‫را در‬ ‫از ای رو‬ ‫اه ی ی‬ ‫ا‬ ‫ن داد ای . ه‬ ‫را در ﺝ ول زی‬ ‫ی .‬ ‫ی آ ای د آ د ای ، ﻝ‬ ‫يا‬ ‫آ‬ ‫‪Throwable‬‬ ‫ی‬ ‫ي‬ ‫رو‬ ‫ح‬ ‫)(‪ThrowablefillinStackTrace‬‬ ‫ی ردی ب‬ ‫ی ﺵ ‪ Throwable‬را آ ﺵ‬ ‫دا .‬ ‫ا‬ ‫ﺵ پ‬ ‫ﺕ‬ ‫دا پ ﺕ ب ﺵ د .‬ ‫ا‬ ‫ای ﺵ‬ ‫)(‪StringgetMessage‬‬ ‫دا‬ ‫ئ را‬ ‫از ا‬ ‫ﺕ‬ ‫)(‪VoidprintStackTrace‬‬ ‫ده‬ ‫ی‬ ‫را‬ ‫ردی ب پ‬ ‫)(‪StringtoString‬‬ ‫دا آ‬ ‫ﺵ از ع ‪ string‬را‬ ‫د.‬ ‫)(‪ println‬ا ا‬ ‫و‬ ‫اي ﺵ ‪throwable‬‬ ‫ی‬ ‫م‬ ‫ه‬ ‫. ای‬ ‫ﺵ ﺡ از ا‬ ‫د‬ ‫از ن زی آ س ا‬ ‫آ و‬ ‫ن‬ ‫ي ی زی آ س ﺝ ی از ‪ Exception‬ا‬ ‫ل‬ ‫ی . ای زی آ س ، روش)(‪ tostring‬را‬ ‫ی روش ار ل‬ ‫ط را‬ ‫ی‬ ‫آ‬ ‫در ی .‬ ‫ی‬ ‫ئ‬ ‫ا‬ ‫ده‬ ‫د از ‪ ()println‬اﺝ ز‬ ‫ا‬ ‫آ ،و‬ ‫ﻝ‬ ‫.‪// This program creates a custom exception type‬‬ ‫{ ‪class MyException extends Exception‬‬
  • 140. private int detail; MyException(int a ){ detail = a; } public String toString )({ return "MyException[" + detail + "]"; } } class ExceptionDemo { static void compute(int a )throws MyException { System.out.println("Called compute(" + a + ")"); if(a > 10) throw new MyException(a); System.out.println("Normal exit"); } public static void main(String args[] ){ try { compute(1); compute(20); } catch( MyException e ){ System.out.println("Caught " + e); } } } ‫آ . ای زی‬ ‫ی‬ MyException ‫ان‬ Exception ‫ل ی زی آ س از‬ ‫ای‬ ‫ ا‬tostring() ‫و ی روش‬ ‫ز‬ ‫ی‬ ‫: ای زی آ س‬ ‫د ا‬ ‫آ سﺥ‬ ‫م‬ ‫روش‬ ‫ ی‬ExceptionDemo ‫ده . آ س‬ ‫ی‬ ‫ئ را‬ ‫ار ا‬ ‫دارد آ‬ ‫را‬ ‫آ‬ ‫آ .و‬ ‫ب‬ ‫ را‬MyException ‫ئ‬ ‫آ آ ی‬ compute() ‫. روش‬ ‫ب ﺥ اه‬ ‫ئ‬ ‫،ا‬ ١٠ ‫از‬ ‫ر‬ compute() ‫ط‬ ‫د‬ ‫)( را‬compute ، ‫ده‬ ‫ار‬ MyException ‫اي‬ ‫ئ‬ ‫ا‬ ‫ ی ادار آ‬main() ‫ﺝ د در آ‬ ‫ن دادن دو‬ ‫ز اي‬ ‫ار‬ ‫ی‬ ‫از ٠١ ( و‬ ‫ز)آ‬ ‫ار‬ ‫ی‬ : ‫رت زی ا‬ . ‫آ‬ ‫اﺥ ا‬
  • 142. ‫سه‬ ‫ﺵ ی‬ ‫:‬ ‫وی ای‬ ‫لآ سه‬ ‫ا‬ ‫آ دن‬ ‫ی‬ ‫ه ي ارﺝ ع‬ ‫ا (‬ ‫ی‬ ‫ه )ﺝی‬ ‫‪ Constructor‬ه‬ ‫آ ي ‪this‬‬ ‫آ‬ ‫د‬ ‫ا‬ ‫ي‬ ‫ز‬ ‫)(‪finalize‬‬ ‫آ س ‪Stack‬‬ ‫ل‬ ‫(،آ‬ ‫)‬ ‫زی‬ ‫اﺥ ا‬ ‫و‬ ‫ی‬ ‫ع داد ا ا‬ ‫و‬ ‫در ای‬ ‫ی‬ ‫ز‬ ‫و زی‬ ‫، ار ل را‬ ‫ا‬ ‫ص‬ ‫اﺥ‬ ‫،‬ ‫زی‬
  • 143. ‫ل آ سه‬ ‫ا‬ ‫آ آ ز ن ﺝ وا‬ ‫ه‬ ‫ﺥ ر‬ ‫آ ي ﺝ وا ﺝ ي دار . آ سه ،‬ ‫آ سه در ه‬ ‫، آ سه‬ ‫آ . ی‬ ‫ی‬ ‫ه را‬ ‫و ه‬ ‫اآ‬ ‫،‬ ‫ا‬ ‫ﺥ‬ ‫روي ن‬ ‫اه در‬ ‫آ‬ ‫ده . ه‬ ‫ا را در ﺝ وا‬ ‫زي‬ ‫ی وا س‬ ‫١‬ ‫د.‬ ‫ن‬ ‫در ی آ س‬ ‫ی‬ ‫زي آ ،‬ ‫ه ي ﺝ وا د‬ ‫ع ﺝ ی ي از داد ه را‬ ‫آ‬ ‫نا‬ ‫ی در ر آ سه ی د‬ ‫اي آ‬ ‫ی‬ ‫ی‬ ‫ع‬ ‫ءه ي‬ ‫اي ای د‬ ‫ان‬ ‫ن‬ ‫ی‬ ‫از‬ ‫ع ﺝ ی را‬ ‫آ . داد ه ي‬ ‫ی‬ ‫٢‬ ‫-‬ ‫ءه‬ ‫.وه‬ ‫ءا‬ ‫اي ی‬ ‫آ ر رد. از ای رو، ه آ س، اﻝ ی‬ ‫رد‬ ‫ﺥ اه دی‬ ‫،ا‬ ‫اي از ی آ س ا‬ ‫ء،‬ ‫نه‬ ‫ی.‬ ‫ر‬ ‫اي٣ از ی آ س‬ ‫.‬ ‫آر د‬ ‫ﺝيی ی‬ ‫و‬ ‫آ دو واژ‬ ‫آ دن‬ ‫د. ای آ ر‬ ‫ن‬ ‫مد‬ ‫و‬ ‫آ ، ه‬ ‫ی‬ ‫را‬ ‫آ‬ ‫و‬ ‫د. ا‬ ‫آ ، ا م‬ ‫روي ن داد ه‬ ‫آ‬ ‫هی‬ ‫داد ه ي درون ن و رو‬ ‫آ س-‬ ‫،ا‬ ‫رو ه ی داد ه‬ ‫در‬ ‫ا‬ ‫د‬ ‫ري از آ سه ي‬ ‫آ ﺥ اه دی ، رو ه ي‬ ‫.ه ن‬ ‫، ه دو را‬ ‫ح در آ ره ي وا‬ ‫هي‬ ‫آ .‬ ‫ی‬ ‫داد ه ي ن را‬ ‫ه آ س، را‬ ‫ر‬ ‫ا‬ ‫د. آ سه‬ ‫ی‬ ‫آ ي ‪Class‬‬ ‫د از آ‬ ‫ه آ س ا‬ ‫.‬ ‫ا‬ ‫ن داد‬ ‫ه آ س در ذی‬ ‫ی‬ ‫(‬ ‫ًه‬ ‫)و‬ ‫{ ‪Class classname‬‬ ‫;1‪Type instrance-variable‬‬ ‫;2‪Type instance-variable‬‬ ‫…‪II‬‬ ‫;‪Type instance-variableN‬‬ ‫{)‪Type methodname1(parameter-list‬‬ ‫‪//body of method‬‬ ‫}‬ ‫{)‪Type methodname2(parameter-list‬‬ ‫1‬ ‫.‪- encapsulated‬‬ ‫2‬ ‫.‪- template‬‬ ‫3‬ ‫.‪- instance‬‬
  • 144. ‫‪//body of method‬‬ ‫}‬ ‫… //‬ ‫{)‪Type methodnameN(parameter-list‬‬ ‫‪//body of method‬‬ ‫}‬ ‫}‬ ‫٤‬ ‫.‬ ‫«‬ ‫،»‬ ‫ی‬ ‫ه ی ، آ در ه آ س‬ ‫داد ه ی ، ی‬ ‫ی‬ ‫ه ی آ در ه آ س‬ ‫ه و‬ ‫رآ ،‬ ‫.‬ ‫ه ﺝي‬ ‫در‬ ‫ه‬ ‫رو‬ ‫اي ه آ س‬ ‫ی‬ ‫هي‬ ‫آ سه ،‬ ‫د. در‬ ‫ي٥ آ س‬ ‫،ا‬ ‫ه ه‬ ‫دار . از ای رو، ای‬ ‫د‬ ‫و‬ ‫آ‬ ‫ه آر‬ ‫روي‬ ‫آ‬ ‫ه‬ ‫آ .‬ ‫د از داد ه ي ه آ س را‬ ‫ا‬ ‫آ‬ ‫از ی آ س‬ ‫آ ه‬ ‫، نا‬ ‫ﺥ ا‬ ‫ه ي ه آ س،‬ ‫ای‬ ‫دﻝ‬ ‫ء،‬ ‫ه دارد. از ای رو، داد ه ي ه‬ ‫ﺥ ص ﺥ د را‬ ‫ء از ی آ س(، آ‬ ‫،ه‬ ‫)ی‬ ‫.‬ ‫ن‬ ‫ی‬ ‫ء دی‬ ‫و ﺥ ص ﺥ د ن د و داد ه ي ی‬ ‫ﺝا‬ ‫دآ آ س‬ ‫ي‬ ‫ز‬ ‫)(‪ main‬ار .‬ ‫ز‬ ‫آ سه ي ﺝ وا‬ ‫م )(‪main‬‬ ‫ي‬ ‫ز‬ ‫ً‬ ‫و ، َﻝ ه ا‬ ‫ا‬ ‫.‬ ‫ن‬ ‫زی‬ ‫،‬ ‫رد‬ ‫ار .‬ ‫.‬ ‫ی‬ ‫رﺝا‬ ‫و‬ ‫ذﺥ‬ ‫ه در ی‬ ‫زي‬ ‫د‬ ‫آ سو‬ ‫ه آ س ی آً‬ ‫د،‬ ‫رگ‬ ‫ر‬ ‫ای د ی ه ي ‪java‬‬ ‫ه او ت‬ ‫ای ا‬ ‫د.‬ ‫ی‬ ‫ی وا‬ ‫در ی‬ ‫د‬ ‫ی آ س‬ ‫-‬ ‫ی‬ ‫م ‪Box‬‬ ‫اي ای آ ر آ‬ ‫آ ،‬ ‫ز‬ ‫د‬ ‫ل‬ ‫ی‬ ‫آ سه را‬ ‫ﻝ‬ ‫، ‪Box‬‬ ‫ل‬ ‫. در‬ ‫م ‪ height, width‬و ‪ depth‬ا‬ ‫آ داراي‬ ‫آ‬ ‫(.‬ ‫ن ا ود ﺥ اه‬ ‫هی‬ ‫)ا در ی‬ ‫ا‬ ‫ه‬ ‫4‬ ‫.‪- instance variable‬‬ ‫5‬ ‫.‪- member‬‬
  • 145. ‫{ ‪Class Box‬‬ ‫;‪double width‬‬ ‫;‪double height‬‬ ‫;‪double depth‬‬ ‫}‬ ‫ل ﺥ ص،‬ ‫آ . در ای‬ ‫ی‬ ‫، ه آ س، ع ﺝ ی ي از داد ه را‬ ‫آ‬ ‫ه ن‬ ‫ع ‪Box‬‬ ‫ءه‬ ‫ی‬ ‫اي‬ ‫م‬ ‫. از ای‬ ‫ا‬ ‫د، ‪Box‬‬ ‫ع ﺝ ی ي آ ای د‬ ‫٦‬ ‫ای د ی اﻝ‬ ‫ه آ سﺝی‬ ‫ی‬ ‫ری آ‬ ‫ﺥ‬ ‫ا‬ ‫.‬ ‫د ﺥ اه‬ ‫ا‬ ‫د.‬ ‫ای د‬ ‫ء وا‬ ‫د؛ ی‬ ‫د آ .‬ ‫زی ا‬ ‫ن‬ ‫ه‬ ‫را‬ ‫از‬ ‫ی‬ ‫د،‬ ‫ء ‪ Box‬ای د‬ ‫ی‬ ‫اي‬ ‫‪Box mybox new BOX ( ); // create a Box object called mybox‬‬ ‫. از ای رو،‬ ‫اي از ‪ Box‬ای د ﺥ اه‬ ‫ان‬ ‫، ‪mybox‬‬ ‫اﺝ ا‬ ‫رت‬ ‫از‬ ‫.‬ ‫ی « از آ س ‪ Box‬ای د ﺥ اه‬ ‫»‬ ‫ی وا‬ ‫دآ‬ ‫ای د‬ ‫آ‬ ‫اي از ی آ س را ای د‬ ‫آ ه‬ ‫ذآ ا‬ ‫زم‬ ‫زه‬ ‫. از‬ ‫در ن آ س ﺥ اه دا‬ ‫ی‬ ‫هي‬ ‫ﺥ ص ﺥ دش را از ه ی از‬ ‫ه ي ‪ height, width‬و‬ ‫ه ي ﺥ ص ﺥ دش را از‬ ‫ء ‪، Box‬‬ ‫ای رو، ه‬ ‫. ای‬ ‫د آ‬ ‫٧ ).( ا‬ ‫ی از‬ ‫ه‬ ‫ای‬ ‫اي د‬ ‫.‬ ‫‪ depth‬ﺥ اه دا‬ ‫ار ٠٠١ را‬ ‫ل، اي‬ ‫ان‬ ‫آ .‬ ‫«‬ ‫م»‬ ‫ء را‬ ‫، م‬ ‫د آ :‬ ‫رت زی ا‬ ‫ده ، از‬ ‫‪ width‬از ‪mybox‬‬ ‫;001=‪mybox.width‬‬ ‫ء‬ ‫اي از ‪ width‬آ در‬ ‫ار ٠٠١ را‬ ‫آ آ‬ ‫ی‬ ‫اي آ‬ ‫رت‬ ‫ه و‬ ‫اي د‬ ‫).(‬ ‫ر آ ، از‬ ‫ده .‬ ‫‪ mybox‬ا‬ ‫د.‬ ‫د‬ ‫ءا‬ ‫ﺝ د در ی‬ ‫هي‬ ‫دو‬ ‫آ ا‬ ‫ی‬ ‫. ای‬ ‫ه ﺥ اه دا‬ ‫ه ي ﺥ ص ﺥ دش را از‬ ‫ء‬ ‫ه‬ ‫ه ي ﺥ ص ﺥ د ن را از ‪ height, width‬و‬ ‫،‬ ‫، ه ی از‬ ‫ء ع ‪ Box‬دا‬ ‫-‬ ‫ء ای د‬ ‫هي ی‬ ‫آ در‬ ‫ا‬ ‫آ‬ ‫ا‬ ‫ا‬ ‫.‬ ‫‪ depth‬ﺥ اه دا‬ ‫.‬ ‫اه دا‬ ‫ء دی‬ ‫هي‬ ‫ﺙ ي‬ ‫.ه‬ ‫6‬ ‫.‪. Template‬‬ ‫7‬ ‫.‪. dot‬‬
  • 146. ‫آ دن ﺵ ءه‬ ‫ﺕ ی‬ ‫ﺵ‬ ‫اي‬ ‫عﺝی‬ ‫ی‬ ‫آ ، در وا‬ ‫را ای د‬ ‫آ‬ ‫،و‬ ‫ح داد‬ ‫آ در‬ ‫ه ن‬ ‫د‬ ‫ءه ی از ن ع ا‬ ‫آ دن‬ ‫ی‬ ‫اي‬ ‫ا‬ ‫عﺝی‬ ‫د. از ای‬ ‫داد ه ای د‬ ‫، ی‬ ‫ای‬ ‫.‬ ‫اي ا‬ ‫ی دو‬ ‫ءه ي ی آ س،‬ ‫ن‬ ‫،ر‬ ‫آ . ا‬ ‫ض،‬ ‫در‬ ‫د.‬ ‫ء‬ ‫ی‬ ‫ی‬ ‫آ . ای‬ ‫ی‬ ‫عآ س‬ ‫ي از‬ ‫ی‬ ‫ی‬ ‫ی‬ ‫،‬ ‫. دوم ای‬ ‫ء ارﺝ ع دا‬ ‫ی‬ ‫ا‬ ‫آ‬ ‫يا‬ ‫د‬ ‫ا‬ ‫ا‬ ‫ده . ای آ ر را‬ ‫ن‬ ‫وری و ن را‬ ‫د‬ ‫ء‬ ‫از‬ ‫وا‬ ‫در ز ن اﺝ ا(‬ ‫ی )ی‬ ‫ر‬ ‫اي را‬ ‫‪، new‬‬ ‫‪ new‬ا م ده .‬ ‫از‬ ‫د. از‬ ‫ذﺥ‬ ‫در‬ ‫دا . ای‬ ‫ن را‬ ‫ده و‬ ‫ء‬ ‫.‬ ‫ی‬ ‫ر ی‬ ‫ءه ي ع آ س در ﺝ وا ی‬ ‫م‬ ‫ای رو،‬ ‫د‬ ‫از ع ‪ Box‬ا‬ ‫ی‬ ‫اي‬ ‫رت زی‬ ‫ي‬ ‫ه ي زی از‬ ‫در‬ ‫:‬ ‫ﺥ اه‬ ‫;) ( ‪Box mybox = new Box‬‬ ‫ن دادن ه ی‬ ‫ان اي‬ ‫را‬ ‫رت‬ ‫ا .‬ ‫آ‬ ‫رت‬ ‫در‬ ‫دو‬ ‫آ د:‬ ‫ز ی‬ ‫رت زی‬ ‫ا‬ ‫از‬ ‫‪Box mybox; // declare reference to object‬‬ ‫‪Mybox = new Box ( ) ; // allocate a Box object‬‬ ‫از اﺝ اي‬ ‫د.‬ ‫ی‬ ‫از ع ‪Box‬‬ ‫ان‬ ‫، ‪mybox‬‬ ‫ح‬ ‫در‬ ‫ه‬ ‫ه ز‬ ‫آ‬ ‫نا‬ ‫آ‬ ‫ﺥ اه‬ ‫ار ‪ null‬در ‪ mybox‬ذﺥ‬ ‫ای ﺥ ،‬ ‫وز‬ ‫د از ‪ mybox‬در ای‬ ‫اي ا‬ ‫ا ام‬ ‫ارﺝ ع ارد. ه‬ ‫ء وا‬ ‫ن‬ ‫و‬ ‫ء وا‬ ‫ﺝ‬ ‫دوم ه‬ ‫.‬ ‫ی ﺥ اه‬ ‫ﺥ يز نآ‬ ‫آ‬ ‫د آ‬ ‫اي ا‬ ‫از ‪mybox‬‬ ‫ا‬ ‫دوم،‬ ‫از اﺝ اي‬ ‫د.‬ ‫‪mybox‬‬ ‫-‬ ‫اري‬ ‫را‬ ‫ء ‪ Box‬وا‬ ‫ً‬ ‫. ا ‪mybox‬‬ ‫ء ‪ Box‬ا‬ ‫ی ی‬ ‫آ .‬ ‫ﺵ‬ ‫ه ي ار ع‬ ‫ﺕ‬
  • 147. ‫ر داری‬ ‫ا‬ ‫ء‬ ‫ه ي ارﺝ ع‬ ‫د‬ ‫د،‬ ‫ا م‬ ‫و‬ ‫ده ؟‬ ‫ا م‬ ‫رت زی‬ ‫دو‬ ‫آ‬ ‫وت دارد.‬ ‫;) ( ‪Box b1 = new Box‬‬ ‫;1‪Box b2 = b‬‬ ‫2‪b‬‬ ‫ن ارﺝ ع دارد.‬ ‫آ 1‪b‬‬ ‫اي از‬ ‫آ‬ ‫ر آ‬ ‫ا‬ ‫ی ي‬ ‫و‬ ‫ءه ي ﺝ ا‬ ‫آ 1‪ b‬و 2‪b‬‬ ‫آ‬ ‫ا‬ ‫،‬ ‫ی .ی‬ ‫، 1‪ b‬و 2‪b‬‬ ‫رات‬ ‫از اﺝ اي‬ ‫ض،‬ ‫در‬ ‫.‬ ‫ر در‬ ‫ارﺝ ع دار . ا ، ای‬ ‫ی آ‬ ‫ﺝ‬ ‫1‪ b‬و 2‪b‬‬ ‫.‬ ‫ء ارﺝ ع ﺥ اه دا‬ ‫ی‬ ‫ه دو‬ ‫آ 1‪b‬‬ ‫ه ن‬ ‫د آ 2‪b‬‬ ‫ً‬ ‫د.‬ ‫ء اوﻝ‬ ‫از‬ ‫آ دن‬ ‫ی 2‪، b‬‬ ‫ء از‬ ‫در‬ ‫. از ای رو، ه‬ ‫ن ارﺝ ع دارد، ارﺝ ع دا‬ ‫.‬ ‫ءه‬ ‫ی‬ ‫ا آ ه دو‬ ‫،‬ ‫ا‬ ‫ن ارﺝ ع دارد، ﺙ ﺥ اه‬ ‫آ 1‪b‬‬ ‫ه‬ ‫ر‬ ‫ه‬ ‫ع‬ ‫ه ٩.‬ ‫ه٨ و‬ ‫:‬ ‫ً از دو‬ ‫آ سه‬ ‫.‬ ‫ﺝ ي داد ا‬ ‫ف ی ي زی دي را در‬ ‫ا آ ﺝ وا رت و ا‬ ‫،‬ ‫ده‬ ‫:‬ ‫رت زی ا‬ ‫ه‬ ‫آ‬ ‫{ )‪Type name(parameter-list‬‬ ‫‪// body of method‬‬ ‫}‬ ‫ا ه ی از ا اع‬ ‫دا . ‪Type‬‬ ‫ز‬ ‫آ آ‬ ‫ع داد ه ی را‬ ‫‪،Type‬‬ ‫ي را‬ ‫آ .‬ ‫ا اع آ سه ی آ ﺥ د ن ای د‬ ‫، از ﺝ‬ ‫رد ر‬ ‫د. از ه‬ ‫‪name‬‬ ‫و‬ ‫. م‬ ‫دا ، ‪ type‬ی ‪void‬‬ ‫ﺝ د در‬ ‫اي ا م‬ ‫اردي آ‬ ‫از‬ ‫د آ ؛ اﻝ‬ ‫ان م ا‬ ‫ا‬ ‫ي‬ ‫(ا‬ ‫زوﺝ ی ) ع و‬ ‫ا . ‪،Parameter-list‬‬ ‫د‬ ‫ود ﺝ ري ا‬ ‫ه ن‬ ‫نه ي‬ ‫ار ر‬ ‫آ‬ ‫هی ه‬ ‫ً‬ ‫ه ا‬ ‫. را‬ ‫ﺝا‬ ‫از ی ی‬ ‫آ‬ ‫آ‬ ‫8‬ ‫.‪- instance variable‬‬ ‫9‬ ‫.‪- method‬‬
  • 148. ‫، ای‬ ‫ي ا‬ ‫را‬ ‫آ .‬ ‫ن دری‬ ‫اﺥ ا‬ ‫را ه م‬ ‫ار ﻝ‬ ‫د.‬ ‫ﺥ ﻝ ﺥ اه‬ ‫د‬ ‫ا‬ ‫اري را‬ ‫،‬ ‫از ‪void‬‬ ‫اﺥ ا‬ ‫از‬ ‫ار‬ ‫ع‬ ‫هی آ‬ ‫دا :‬ ‫اﺥ ان ز‬ ‫رو‬ ‫رت ‪return‬‬ ‫از‬ ‫;‪Return value‬‬ ‫د.‬ ‫دا‬ ‫آ‬ ‫اري ا‬ ‫‪، Value‬‬ ‫آ س ‪Box‬‬ ‫ا ودن‬ ‫رت رخ‬ ‫، ا ای ا‬ ‫ا‬ ‫ً در‬ ‫آ‬ ‫وي داد‬ ‫ای د آ سه ی آ‬ ‫ا‬ ‫در آ سه‬ ‫ی‬ ‫هي‬ ‫اي د‬ ‫ه‬ ‫از‬ ‫ا‬ ‫ده . در‬ ‫آ . ای ا‬ ‫ی‬ ‫آ سه را‬ ‫د‬ ‫ه ، را‬ ‫،‬ ‫. در‬ ‫د ﺥ اه‬ ‫ا‬ ‫آ س را‬ ‫ﺥ ره ي داد اي‬ ‫ي‬ ‫ده‬ ‫ن‬ ‫آ سه ا‬ ‫ای د آ‬ ‫ز ،‬ ‫اه‬ ‫داد ه را‬ ‫هی آ د‬ ‫ی‬ ‫و‬ ‫ی.‬ ‫ن‬ ‫ف‬ ‫هي‬ ‫ار‬ ‫د‬ ‫رد ا‬ ‫ر داﺥ‬ ‫ﺥ د آ سه‬ ‫هی آ‬ ‫ی‬ ‫ا ن‬ ‫.‬ ‫ا‬ ‫اه‬ ‫آ .‬ ‫ز‬ ‫آ س ‪Box‬‬ ‫ي‬ ‫آ ر ﺥ د را ا ودن‬ ‫ای‬ ‫{ ‪Class box‬‬ ‫;‪Double width‬‬ ‫;‪Double height‬‬ ‫;‪Double depth‬‬ ‫‪// display volume of a box‬‬ ‫{ ) ( ‪Void volume‬‬ ‫;)"‪System.out.print ("volume is‬‬ ‫;)‪System.out.print(width *height*depth‬‬ ‫}‬ ‫}‬ ‫3‪Class BoxDemo‬‬ ‫{‬ ‫{ ) ][ ‪Public staticvoid main (string args‬‬
  • 149. Box mybox1 = new Box ( ) ; Box mybox2 = new Box ( ) ; // assign values to mybox1's instance variables mybox1.width = 10; mybox1.height = 20; mybox1.depth = 15; /*assign different values to mybox2's Instance variables */ Mybox2.width = 3; Mybox2.height = 6; Mybox2.depth = 9; //display volume of first box Mybox1.volume ( ) ; //display volume of second box Mybox2.volume ( ) ; } } . ‫نا‬ ‫ی‬ ‫ل‬ ‫ﺥ وﺝ‬ ‫آ اﻝ‬ ‫ا‬ ‫در ذی ورد‬ ‫ﺥ وﺝ‬ Volume is 3000.0 Volume is 162.0 ‫ه‬ ‫ی‬ ‫د آ در ه ن آ س‬ ‫ا م‬ ‫رو‬ ‫و‬ ‫ه‬ ‫د‬ ‫و‬ .‫د‬ ‫).( ا م‬ ‫د‬ ‫ءو‬ ‫م‬ ‫ی‬ ‫رت ی ای آ ر از‬ ‫، در ن‬ ‫ا‬ ‫ی‬ ، ‫ه‬ ‫ط‬ ‫از ه ن آ س‬ ‫دآ‬ ‫ا م‬ ‫رو‬ ‫و‬ ‫ای آ ر‬ ‫ا ،و‬ ‫دق‬ ‫ه‬ ‫. در ر‬ ‫. ای‬ ‫ارﺝ ع‬ ‫ر‬ ‫ه‬ ‫رت‬ ‫در ن‬ . ‫ا‬ ‫دی‬ ‫ز دا ن‬ : ‫ﺥ‬ ‫ه وﺝ د دارد آ ی‬ ‫از اﺥ ا‬ ‫دی‬ ‫در ر‬ ‫دو‬
  • 150. ‫ز ر‬ ‫،‬ ‫ا‬ ‫ی‬ ‫آ در‬ ‫ی‬ ‫اﺥ ا‬ ‫از‬ ‫ع داد ه ي‬ ‫ار‬ ‫ا‬ ‫،‬ ‫دا ، ‪Boolean‬‬ ‫ز‬ ‫اري آ ی‬ ‫ع‬ ‫ل، ا‬ ‫ان‬ ‫.‬ ‫را ز دا .‬ ‫آ در‬ ‫ل(، ی‬ ‫ً ‪ vol‬در ای‬ ‫)‬ ‫اﺥ ا‬ ‫از‬ ‫ار‬ ‫آ‬ ‫دری‬ ‫.‬ ‫ز ر‬ ‫،‬ ‫ا‬ ‫ی‬ ‫ی‬ ‫ه ي پ را‬ ‫ا ودن‬ ‫ه،ا ن‬ ‫. را‬ ‫ه ای‬ ‫ار ، ا‬ ‫را‬ ‫ز‬ ‫ه‬ ‫ﺥ از‬ ‫ا‬ ‫روي ا اع‬ ‫ا‬ ‫ی‬ ‫ه ي را‬ ‫،‬ ‫ز .ی‬ ‫اه‬ ‫ه را‬ ‫ن‬ ‫اي درك ای‬ ‫.‬ ‫ار‬ ‫د‬ ‫رد ا‬ ‫ً‬ ‫ای‬ ‫آ ، و ی در‬ ‫داد ه‬ ‫دا :‬ ‫د ٠١را ز‬ ‫ور‬ ‫زی ،‬ ‫ﺝ آ .‬ ‫د زی‬ ‫ر‬ ‫ل‬ ‫) (‪Return I + 1 * i; int square‬‬ ‫{‬ ‫;01 * 01 ‪Return‬‬ ‫}‬ ‫،ا ا‬ ‫ود ا‬ ‫ر‬ ‫دا ، ا آ ر د ن‬ ‫د ٠١ را ز‬ ‫ور‬ ‫وا ً‬ ‫ای‬ ‫ا‬ ‫رت‬ ‫آ ، در ن‬ ‫ل زی دری‬ ‫ن‬ ‫ي را ه‬ ‫را‬ ‫ده‬ ‫اي‬ ‫را‬ ‫د.‬ ‫ر‬ ‫)(‪square‬‬ ‫‪Int square (int‬‬ ‫)‪i‬‬ ‫{‬ ‫}‬ ‫،‬ ‫دا . ی‬ ‫د را ز‬ ‫اﺥ ا‬ ‫ن‬ ‫اري آ‬ ‫ور ه‬ ‫)(‪ square‬ای‬ ‫ی‬ ‫د‬ ‫ور ه‬ ‫د ٠٠١ ،‬ ‫ﺝي‬ ‫آ‬ ‫ا‬ ‫ل‬ ‫ر اي‬ ‫ه‬ ‫)(‪square‬‬ ‫آ .‬ ‫را‬ ‫،‬ ‫ر از را‬ ‫.‬ ‫ﺥ ردار ا‬ ‫ﺥ‬ ‫ن از اه‬ ‫و ر‬ ‫دو واژ ارا‬ ‫ی‬ ‫-‬ ‫اري را دری‬ ‫د،‬ ‫اﺥ ا‬ ‫دوو‬ ‫ی‬ ‫آ‬ ‫يا‬ ‫آ‬ ‫اري ا‬ ‫ن،‬ ‫ر از ر‬ ‫ی.‬ ‫ر‬ ‫، ‪ i‬را‬ ‫ل، در‬ ‫ان‬ ‫آ .‬
  • 151. ١٠٠ ‫د‬ ، square(100) ‫ل، در‬ ‫ان‬ .‫د‬ ‫ن ار ل‬ ‫زي‬ ‫ل‬ ‫ه م‬ . ‫آ‬ ‫ار را دری‬ ‫، ن‬i ‫ ، را‬square() ‫د .در‬ ‫د‬ ‫نا‬ ‫ان ر‬ ‫ ه‬Constructor ‫ای‬ ‫آ‬ ‫ار ده‬ ،‫ه م ای د‬ ‫ءه ﺥ د ن را‬ ‫ﺥ‬ ‫اه‬ ‫ﺝ وا ای ا ن را‬ .‫د‬ ‫م‬ ‫ ا‬constructor ‫د از ی‬ ‫ی ا‬ ‫ارده ﺥ دآ ر، از‬ ‫آ در ن ار‬ ‫مآ‬ ‫آ . م ن‬ ‫ار ده‬ ‫ای د‬ ‫ء را‬ ‫ ، ی‬constructor ‫از‬ constructor ‫. ه‬ ‫ه‬ ‫ا ي‬ ‫ﺥ ر‬ ‫د و از‬ ‫ن‬ ‫دارد ی‬ .‫د‬ ‫اﺥ ا‬ ‫ء‬ ‫ای د‬ ‫ر ﺥ دآ ر‬ ، ‫ی‬ ‫آ‬ ‫ء را در ه ن ا اي آ ر‬ ‫ی‬ ‫داﺥ‬ ‫آ و‬ ‫ه‬constructor ‫ای و‬ ‫د و‬ ‫ا‬ ‫ء‬ ‫را‬ ً ، ‫آ‬ ‫اي از آ س را ای د‬ ‫آ‬ ‫رو‬ ،( ‫) ار ده اوﻝ‬ . ‫اي دا‬ ‫ار ده‬ /*Here, Box uses a constructor to initialize the dimensions of a box. */ Class Box { Double width; Double height; Double depth; //This is the constructor for Box. Box ( ) { System.out.printIn("Constructing Box"); Width = 10; Height = 10; depth = 10; } /// compute and return volume Double volume ( ) { Return width * height * depth; }
  • 152. } Class BoxDemo6 { Public static void main (String args [] ) { //declare,allocate, and initialize Box objects Box mybox1 = new Box ( ) ; Box mybox2 = new Box ( ) ; Double vol; //get volume of first box Vol=mybox1.volume ( ) ; System.out.println("Volume is " + vol); //get volume of second box Vol=mybox2.volume ( ) ; System.out.printLn("volume is " + vol); } } :‫د‬ ‫زی ﺥ اه‬ ‫د، ی ن‬ ‫اﺝ ا‬ ‫و‬ Constructing Box Constructing Box Volume is 1000.0 Volume is 1000.0 ‫و‬ ‫ ه دو ه م ای د‬mybox2 ‫ و‬mybox1 ، ‫آ‬ ‫آ‬ ‫ه ن‬ ‫ ا د‬Constructor ‫آ‬ ‫ی‬ ‫ا . از‬ ‫ار ده‬ ،‫ م دارد‬Box() ‫ آ‬constructor . ‫ﺥ اه‬ ‫ا‬ mybox2 ‫ و‬mybox1 ، ‫ده‬ ‫ه‬ ‫م‬ ‫01 ×01×01 را‬ . ‫د ن ا‬ ‫ی‬ ‫ﺥ‬ ً Box() ‫ در‬printLn() ‫رت‬ ‫ء‬ ‫اي‬ ‫ارده اوﻝ را‬ ً .‫اه داد‬ ‫ی‬ ‫ي را‬ ‫ ه‬constructor . ‫ده‬ ‫ا م‬ ‫آ وا ٌ رخ‬ . ‫وري ا‬ ‫از م آ س‬ ‫ا ه‬ ‫ا وﺝ د‬ ‫آ‬ ‫س‬ ‫ا‬ ‫ای‬ ، ‫زی‬ ‫د. از ای رو، در‬ ‫ آ س اﺥ ا‬constructor ‫آ‬ ‫ده ، ن ا‬ Box mybox1 = new Box ( );
  • 153. ‫)ی‬ ‫ﺥ دآ سا‬ ‫دآ ه م‬ ‫‪ constructor‬آ س‬ ‫اﺥ ا‬ ‫ﺝ‬ ‫)(‪newBox‬‬ ‫آ . ﺝ وا ای آ ر را‬ ‫ی‬ ‫اي آ‬ ‫ی ً‬ ‫‪constructor‬اي را‬ ‫)(‪ ( Box‬و‬ ‫ل ‪، Box‬‬ ‫ي‬ ‫ر‬ ‫در‬ ‫آ‬ ‫ا‬ ‫دﻝ‬ ‫ه‬ ‫ده .‬ ‫ضا م‬ ‫ر‬ ‫م‬ ‫ض،‬ ‫آ د. ‪constructor‬‬ ‫آر‬ ‫ﺥ‬ ‫‪ constructor‬د ،‬ ‫ی‬ ‫آ‬ ‫اي‬ ‫ضا‬ ‫آ . ‪Constructor‬‬ ‫ارده‬ ‫ر ﺥ دآ ر‬ ‫ه را‬ ‫آ . و‬ ‫آ ی‬ ‫اي آ سه ي‬ ‫ً‬ ‫آ ، ا‬ ‫د آ ی‬ ‫آ سه ي‬ ‫آر د‬ ‫ض دی‬ ‫آ ، ‪constructor‬‬ ‫ی‬ ‫‪ constructor‬ﺥ ص ﺥ د ن را‬ ‫د.‬ ‫ی‬ ‫‪ Construdtor‬ه ي پ را‬ ‫-‬ ‫ء ‪ Box‬ا م‬ ‫اي‬ ‫ار ده اوﻝ را‬ ‫) )(‪(Box‬‬ ‫ل‬ ‫‪constructor‬‬ ‫ا‬ ‫ﺥ‬ ‫اي‬ ‫د ل رو‬ ‫د. ی‬ ‫ن ﺥ اه‬ ‫ی‬ ‫م‬ ‫ـا د‬ ‫ان‬ ‫ده ، ا‬ ‫هی‬ ‫اي ا م ای آ ر، ا ودن را‬ ‫ن‬ ‫. را‬ ‫ن‬ ‫ا د‬ ‫ءه ي ‪Box‬‬ ‫ن ن‬ ‫ﺝ‬ ‫م ای آ ر‬ ‫س زد ای ، ا‬ ‫ً‬ ‫آ ا‬ ‫.ه ن‬ ‫‪ constructor‬ا‬ ‫ا‬ ‫ی‬ ‫ی‬ ‫رش ﺝ ی ‪ ، Box‬ی ‪ constructor‬را‬ ‫ل، در‬ ‫ان‬ ‫د.‬ ‫آ .‬ ‫ه‬ ‫اد را‬ ‫را ا س‬ ‫آ ا ده‬ ‫.‪//This is the constructor for box‬‬ ‫)‪Box (double w, double h, double d‬‬ ‫{‬ ‫;‪Width = w‬‬ ‫;‪Height = h‬‬ ‫;‪Depth = d‬‬ ‫}‬ ‫آ ي ‪this‬‬ ‫آ‬ ‫اه‬ ‫اي‬ ‫. ﺝ وا‬ ‫لآ د ا‬ ‫را‬ ‫دار آ‬ ‫ارﺝ ع‬ ‫ز‬ ‫ه‬ ‫ه او ت‬ ‫ان‬ ‫د از ‪ this‬در ه‬ ‫ا‬ ‫.‬ ‫آ د ا‬ ‫ی‬ ‫آ ي ‪ this‬را‬ ‫ن، آ‬ ‫ای ا‬ ‫ﺥ‬
  • 154. ‫ل‬ ‫اي ن‬ ‫دارد آ‬ ‫ارﺝ ع‬ ‫، ‪ this‬ه‬ ‫د. ی‬ ‫ء ﺝ ري ارﺝ ع‬ ‫د.‬ ‫د‬ ‫ان از ‪ this‬ا‬ ‫،‬ ‫ز‬ ‫از آ س ﺝ ري‬ ‫. ه ﺝ آ ارﺝ ع‬ ‫ا‬ ‫رش زی از )(‪ Box‬ﺝ آ .‬ ‫ي ارﺝ ع دارد،‬ ‫‪this‬‬ ‫ای‬ ‫اي درك‬ ‫.‪// A redundant use of this‬‬ ‫)‪Box(double w, double h, double d‬‬ ‫{‬ ‫;‪This.width = w‬‬ ‫;‪This.height = h‬‬ ‫;‪This.depth = d‬‬ ‫}‬ ‫،ا‬ ‫رد ا‬ ‫د از ‪this‬‬ ‫آ .ا‬ ‫آر‬ ‫رش‬ ‫ن‬ ‫رش از )(‪ Box‬د ً ه‬ ‫ای‬ ‫ا ﺥ ا ، ارﺝ ع ﺥ اه‬ ‫را‬ ‫آ‬ ‫رش، ه‬ ‫. ‪ this‬در ای‬ ‫ا‬ ‫ً‬ ‫آ‬ ‫د.‬ ‫وا‬ ‫ارد‬ ‫، ا در ی‬ ‫رد ا‬ ‫ل‬ ‫آ ر د ن در ای‬ ‫.ا‬ ‫دا‬ ‫د‬ ‫ا‬ ‫يﺡ‬ ‫زپ‬ ‫از‬ ‫ا‬ ‫،‬ ‫ی‬ ‫ی‬ ‫ر‬ ‫‪new‬‬ ‫د از‬ ‫ا‬ ‫ءه‬ ‫ی آ‬ ‫از‬ ‫-‬ ‫زاد‬ ‫دهي‬ ‫اي ا‬ ‫و‬ ‫د‬ ‫از‬ ‫آ‬ ‫ﺥ د‬ ‫را‬ ‫داد‬ ‫ر ی‬ ‫ءه ی آ‬ ‫++‪، C‬‬ ‫، از‬ ‫ﺥ از ز‬ ‫د. در‬ ‫-‬ ‫د‬ ‫يا‬ ‫د. ﺝ وا از روی دی‬ ‫‪ ، delete‬زاد‬ ‫د از‬ ‫ا‬ ‫رت د‬ ‫ی‬ ‫اي ا م ای آ ر‬ ‫آ از ن‬ ‫ده .‬ ‫ای ن ا م‬ ‫ر ﺥ دآ ر‬ ‫زي را‬ ‫آ ؛ زاد‬ ‫ه‬ ‫؛و‬ ‫حا‬ ‫ای‬ ‫د ن‬ ‫د، ‪ garbage collection‬م دارد.‬ ‫د‬ ‫ا‬ ‫ن‬ ‫د و‬ ‫رد ز‬ ‫ء دی‬ ‫دآ‬ ‫ض‬ ‫،‬ ‫ء وﺝ د ا‬ ‫ی‬ ‫ارﺝ‬ ‫ءه‬ ‫دن‬ ‫از‬ ‫زي‬ ‫ﺥ ف ++‪ ، C‬دی‬ ‫د. در ز ن ﺝ وا،‬ ‫ز‬ ‫د.‬ ‫ا م‬ ‫اﺝ اي‬ ‫در‬ ‫و‬ ‫و‬ ‫رت‬ ‫. ای آ ر‬ ‫)(‪Finalize‬‬
  • 155. ‫ل،‬ ‫ان‬ ‫دن دار .‬ ‫از‬ ‫تﺥص‬ ‫ا م‬ ‫ز‬ ‫ءه‬ ‫ه او ت ﺥ از‬ ‫آ ، در ن‬ ‫د‬ ‫ﺥ ص، ا‬ ‫ی ی‬ ‫‪ handle‬ی‬ ‫ﺝ وا ، از‬ ‫از‬ ‫ا‬ ‫ی . ﺝ وا‬ ‫ن‬ ‫ا‬ ‫ن ن‬ ‫ء، از زاد‬ ‫از زاد زي ن‬ ‫ا‬ ‫رت‬ ‫م‬ ‫د از ای‬ ‫ا‬ ‫م ‪ funalization‬دارد.‬ ‫ای ،‬ ‫ای‬ ‫ی ی‬ ‫اي‬ ‫ًا م‬ ‫ء،‬ ‫زي ی‬ ‫از زاد‬ ‫در‬ ‫آ‬ ‫را‬ ‫تﺥ‬ ‫ا‬ ‫.‬ ‫آ .‬ ‫ی‬ ‫)(‪ finalize‬را‬ ‫ا‬ ‫م در ه آ س، آ‬ ‫زي ای‬ ‫د‬ ‫اي‬ ‫)(‪finalize‬‬ ‫ﺥ ا . در‬ ‫ا‬ ‫از ن آ س‬ ‫را ه م زی‬ ‫ز ن اﺝ اي ﺝ وا ای‬ ‫آ از‬ ‫.‬ ‫ءا م‬ ‫دن ی‬ ‫از‬ ‫ی‬ ‫آ‬ ‫آ‬ ‫را‬ ‫ی ن‬ ‫ءه ی را‬ ‫و‬ ‫وب اﺝ ا‬ ‫ر‬ ‫د را دارد،‬ ‫ا‬ ‫ي‬ ‫ز‬ ‫ﻝ‬ ‫ی‬ ‫از‬ ‫ر‬ ‫دو‬ ‫رت‬ ‫ارﺝ‬ ‫آ آ دی‬ ‫ﺝ‬ ‫»ز ن اﺝ اي«‬ ‫ء،‬ ‫از زاد آ دن ه‬ ‫د. در‬ ‫ارﺝ ع‬ ‫ءه‬ ‫ی‬ ‫ﺥ ا .‬ ‫ا‬ ‫ء‬ ‫)(‪ finalize‬را اي ن‬ ‫ﺝ وا‬ ‫:‬ ‫ا‬ ‫ن داد‬ ‫در زی‬ ‫ای‬ ‫آ‬ ‫)(‪Protected void finalize‬‬ ‫{‬ ‫‪//finalization code here‬‬ ‫}‬ ‫٠١‬ ‫رو ه ي‬ ‫)(‪finalize‬‬ ‫آ از د‬ ‫ا‬ ‫اي‬ ‫آ ي ‪، protected‬‬ ‫آ‬ ‫آ .‬ ‫ي‬ ‫ﺥ رج از ه ن آ س ﺝ‬ ‫ً‬ ‫د.‬ ‫اﺥ ا‬ ‫ءه‬ ‫ي‬ ‫از ز‬ ‫آ )(‪finalized‬‬ ‫ا‬ ‫ا‬ ‫د.‬ ‫اﺥ ا‬ ‫د، ای‬ ‫ار‬ ‫ود اش‬ ‫ء در ﺥ رج از‬ ‫آ ی‬ ‫ز‬ ‫ه‬ ‫‪ Overload‬آ دن‬ ‫د،‬ ‫ی‬ ‫ه م در ی آ ش‬ ‫از دو‬ ‫دو و ی‬ ‫اه‬ ‫ن‬ ‫در ز ن ﺝ وا ای ا‬ ‫دآ‬ ‫ارد‬ ‫در ای‬ ‫وت‬ ‫هي‬ ‫را‬ ‫ی‬ ‫ای‬ ‫وط‬ ‫01‬ ‫.‪- specifier‬‬
  • 156. ‫از‬ ‫ی ی‬ ‫د. ای‬ method overload ، ‫ی‬ ‫ای‬ ‫ا و‬ Overload ، ‫ه‬ . ‫آ‬ ‫م‬ ‫ر‬ ‫ن‬ ‫ی‬ ‫آ ﺝ وا از‬ ‫ی ا‬ ‫رو‬ ‫ای‬ ‫اي‬ ‫نه‬ ‫اد ر‬ ‫د، ﺝ وا از ا اع و ی‬ ‫ل‬ ‫اي‬ overload ‫و‬ ‫از‬ overload ‫ه‬ ،‫، از ای رو‬ ‫ا‬ ‫اﺥ ا‬ overload ‫ه‬ ‫رش از‬ ‫آ ام‬ ‫ه‬ ‫دی ي آ ای‬ ‫ع‬ ‫وت دار . ا‬ ‫ی ی‬ ‫ه‬ ‫اد را‬ ‫عو‬ ‫ﺝ‬ . ‫آ‬ ‫آ ی‬ ‫ی‬ ‫اي‬ ‫ی‬ ‫دی‬ ‫ع‬ ‫،ا‬ ‫وت‬ ‫ا‬ ‫ا‬ ‫آ آ‬ ‫ي را اﺝ ا‬ ،‫د‬ ‫اﺝ‬ ‫ه‬ ‫ای‬ ‫اﺥ ا‬ ‫رت‬ ‫آ ﺝ وا‬ ‫و‬ . ‫دا‬ ‫اﺥ ا‬ ‫رت‬ ‫د در‬ ‫رد ا‬ ‫نهي‬ ‫ر‬ ‫هي ن‬ ‫را‬ : ‫ده‬ ‫ن‬ ‫ه را‬ ‫ آ دن‬overload ‫ی‬ ‫د زی‬ ‫ل‬ / / Demonstrate method overloading. class overload Demo { void test ( ) { system.out.println ("No parameters"); } / / overload test for one integer parameter. void test (int a) { system.out.println ("a: " + a ) ; / / overload test for two integer parameters. void test (int a, in b) system.out.println ("a and b: " + a + " " + b); } / / overload test for a double parameter double test (double a) { system.out.printl ("double a: " + a); return a *a; } } class overload { public static void main (strain gags [ 1) { overload Demo ob = new overload Demo ( ) : double result ; / / call all versions of test ( ) ob.test ( ) ;
  • 157. ‫; )01( ‪ob.test‬‬ ‫;)02,01( ‪ob.test‬‬ ‫;)52.321( ‪result = ob.test‬‬ ‫: )52.321( ‪system.out.println ("Result of ob.test‬‬ ‫; )‪" + result‬‬ ‫}‬ ‫}‬ ‫‪No parameters‬‬ ‫:‪a‬‬ ‫02‬ ‫01 :‪a and b‬‬ ‫02‬ ‫52.321 :‪double a‬‬ ‫5265.09151 :)52.321( ‪Result of ob.test‬‬ ‫رش ن‬ ‫.‬ ‫ا‬ ‫‪overload‬‬ ‫ر‬ ‫آ ، ) ( ‪test‬‬ ‫آ‬ ‫ه ن‬ ‫م دو را‬ ‫رش‬ ‫دارد،‬ ‫از ع ا اد‬ ‫را‬ ‫ی‬ ‫رش دوم‬ ‫ي ارد،‬ ‫را‬ ‫از ع ‪ double‬دارد.‬ ‫ا‬ ‫ی‬ ‫رم‬ ‫رش‬ ‫آ ،و‬ ‫دری‬ ‫از ع ا اد‬ ‫اي‬ ‫د‬ ‫رد ا‬ ‫نهي‬ ‫ر‬ ‫د، ﺝ وا‬ ‫اﺥ ا‬ ‫اي‬ ‫‪overload‬‬ ‫و‬ ‫.‬ ‫د‬ ‫ه‬ ‫آ ای‬ ‫آ . ا ، زي‬ ‫ر‬ ‫را‬ ‫هي‬ ‫اﺥ ا ، و را‬ ‫د، ای‬ ‫ل‬ ‫ی‬ ‫يآ‬ ‫را‬ ‫ای ،‬ ‫ﺥ از‬ ‫ی ﺥ دآ ر ا اع داد ه در‬ ‫آ .‬ ‫ی‬ ‫آ ای‬ ‫آ ، نا‬ ‫م‬ ‫ر‬ ‫ه از‬ ‫ی ‪ overload‬آ دن‬ ‫ای‬ ‫دﻝ‬ ‫آ . در‬ ‫زي‬ ‫« را د‬ ‫ن، ل »ی را ،‬ ‫ی‬ ‫آ ﺝ وا از‬ ‫از راه ی ا‬ ‫ی‬ ‫وﺝ د‬ ‫رش از ای‬ ‫ً دو ی‬ ‫آ ،‬ ‫ی آ از ‪ overload‬آ دن‬ ‫ز‬ ‫) ( ‪ abs‬در ز ن ‪ C‬ر‬ ‫ل،‬ ‫ان‬ ‫وت دارد.‬ ‫ن ري ی ی‬ ‫دارد آ‬ ‫ع ‪ long‬را‬ ‫د‬ ‫ی‬ ‫ر‬ ‫دا ، و ) ( ‪labs‬‬ ‫را‬ ‫د‬ ‫ی‬ ‫دا . از‬ ‫ور را‬ ‫ري‬ ‫ار ا‬ ‫ی‬ ‫ر‬ ‫دا ، و ) ( ‪fabs‬‬ ‫ً‬ ‫ا‬ ‫ه‬ ‫آ ، وﺝ د‬ ‫ه‬ ‫ی آ ز ن ‪ C‬از ‪ overload‬آ دن‬ ‫آ ر را از‬ ‫.و‬ ‫ی ﺥ ص ﺥ د ن را دا‬ ‫ده ، ا ه ی از ا‬ ‫م‬ ‫ی آرا‬ ‫ی‬ ‫،ا‬ ‫نا‬ ‫ی‬ ‫م‬ ‫آ .ا‬ ‫،‬ ‫آ وا ً ه‬ ‫از‬ ‫هي ر‬ ‫اآ‬ ‫ی،‬ ‫در ﺝ وا‬ ‫ری . ای و‬ ‫ﺥ‬ ‫را‬ ‫م‬ ‫ارد آ س ه ي‬ ‫ا‬ ‫م ) ( ‪ abs‬را در آ‬ ‫ي‬ ‫د آ .‬ ‫آ ا‬ ‫از م‬ ‫ا‬
  • 158. ‫داد ه ‪overload‬‬ ‫ی ی ا اع‬ ‫اي‬ ‫در آ س ‪match‬‬ ‫ﺝ وا وﺝ د دارد. ای‬ ‫د.‬ ‫اﺥ ا‬ ‫رش‬ ‫د آ آ ام‬ ‫ن‬ ‫ا س ع ر‬ ‫. ﺝ وا‬ ‫ا‬ ‫ی‬ ‫ه را از‬ ‫هي‬ ‫ند‬ ‫آ ا‬ ‫نا‬ ‫ﺥ‬ ‫ارزش ‪overload‬‬ ‫م‬ ‫آ ا‬ ‫ا‬ ‫ی‬ ‫. از ای رو، م ‪abs‬‬ ‫ﺥ ا‬ ‫اه‬ ‫ك‬ ‫آر د م‬ ‫ب‬ ‫ای ا‬ ‫اي ه ی از‬ ‫را‬ ‫رد‬ ‫رش ﺥ ص‬ ‫آ‬ ‫ی ا‬ ‫آ‬ ‫د. ای و‬ ‫ری .‬ ‫ﺥ‬ ‫د را‬ ‫م‬ ‫آ ا‬ ‫ی‬ ‫ز‬ ‫ان‬ ‫آ ،و‬ ‫رد‬ ‫از آ ره ي‬ ‫ی‬ ‫ا‬ ‫ي ن‬ ‫ر‬ ‫از‬ ‫آ ،ه ی‬ ‫ي را ‪overload‬‬ ‫و‬ ‫ی ی‬ ‫ی‬ ‫ه ي ‪overload‬‬ ‫ای‬ ‫م ده . ه‬ ‫ن را ا‬ ‫ﺥ د اﻝ ء آ‬ ‫ﺥ‬ ‫ه‬ ‫ی ‪ overload‬آ دن‬ ‫آ ر،‬ ‫وﺝ د ارد. ا از‬ ‫را‬ ‫هي‬ ‫ا‬ ‫ك‬ ‫د از م‬ ‫ا‬ ‫. از ای رو، ا‬ ‫ا‬ ‫را‬ ‫م ه .‬ ‫د ای آ ر را ا‬ ‫‪ overload‬آ ، ا‬ ‫‪ Overload‬آ دن ‪Constructor‬ه‬ ‫، در‬ ‫ﻝ ‪ overload‬آ . در‬ ‫هي‬ ‫ن‬ ‫ه‬ ‫ا‬ ‫ه ي ‪ Constructor‬را‬ ‫ا‬ ‫،‬ ‫‪ constructor‬ه ي ‪overload‬‬ ‫آ ره ي وا‬ ‫ط‬ ‫آ سهي‬ ‫د.‬ ‫ل ﺥ اه‬ ‫ً‬ ‫آ‬ ‫ی ،‬ ‫ر‬ ‫ان پ را‬ ‫د از ﺵ ءه‬ ‫ا‬ ‫د آ د ای . ا ، ار ل‬ ‫ه ا‬ ‫ان را‬ ‫د‬ ‫از ا اع داد ه ي ی و‬ ‫ل‬ ‫زی را در‬ ‫آ‬ ‫ل،‬ ‫ان‬ ‫.‬ ‫اول ا‬ ‫وه‬ ‫ه ه در‬ ‫ءه‬ ‫ی:‬ ‫.‪/ / objects may be passed to methods‬‬ ‫‪Class test‬‬ ‫{‬ ‫‪Int‬‬ ‫; ‪a . b‬‬ ‫‪Test (in‬‬ ‫‪i, int‬‬ ‫)‬ ‫{‬
  • 159. a = i; b = j ; } / / return true if o is equal to the invoking object Boolean equals (test o) { in (o.a = = a & & o.b = = b) return true; else return false; } } class passob { publics static void main (string agrs [ ]) { test ob1= new test (100 , 22) ; test ob2 = new test (100 , 22) ; test ob3 = new test (-1 , -1); system.out.println ("ob1 = = ob2: " + ob1.equals (ob2) ) ; system.out.println (: ob1 = = ob3: " + ob1.equals (ob3) ) ; } } ob1= = ob2: true ob1 = = ob3: false ‫ی‬ ‫ء را‬ ‫دن دو‬ ‫ا‬ ،Test ‫ در‬equals ( ) ، ‫آ‬ ‫آ‬ ‫ه ن‬ ‫دی‬ ‫آ .ا‬ ‫ی‬ ‫ء ار ﻝ‬ ‫را‬ ‫لآ‬ ‫ء‬ ، ‫دا . ی‬ ‫را‬ ‫و‬ ،‫رت‬ ‫ای‬ ‫د. در‬ ‫ ﺥ اه‬true ، ‫ار‬ ‫رت‬ ‫، در ن‬ ‫ن‬ ‫ی‬ .‫د‬ ‫ ﺥ اه‬false ‫ن‬ ‫ط‬ ‫ه‬constructor ‫د از‬ ‫ا‬ ،‫ء‬ ‫ع‬ ‫هي‬ ‫اوﻝ ی آ ر ده ي را‬ ‫از‬ ‫ی‬ ‫ی‬ ‫ار ده اوﻝ‬ ‫آ‬ ‫ءه ي ﺝ ی ي ﺥ اه دا‬ ‫ای د‬ ‫ز‬ ً‫ﻝ‬ .‫د‬ ‫آ‬ ‫ی‬ ‫اي‬constructor ‫م ای آ ر ی‬ ‫اي ا‬ . ‫ﺝ د‬ ‫ءه ي‬ ‫از‬ ‫نی‬ ‫ه‬ ‫رش زی از‬ ،‫ل‬ ‫ان‬ . ‫آ‬ ‫دری‬ ‫ان را‬ ‫از ع آ س ﺥ دش را‬ :‫زد‬ ‫اه‬ ‫را‬ ‫ء دی‬ ‫د از ی‬ ‫ء ا‬ ‫ار ده اوﻝ ی‬ ‫ن‬ ‫ ا‬Box ‫آ س‬ Class Box {
  • 160. double width; double height; double depth; / / construct clone of an object Box (Box ob) { / / pass object to constructor width = ob.width; height = ob.height; depth = ob.depth; } / / constructor used when all dimensions specified Box (double w, double h, double d) { width = w; height = h; depth = d; } / / constructor used when no dimensions specified Box ( ) { width = -1; / / use -1 to indicte height = -1; / / an uninitialized depth = -1; / / box } / / constructor used when cube is created Box (double 1en) { width = height = depth = 1en; } / / compute and return volume double volume ( ) { return with * height * depth; } } class overloadcons 2P public static void main (string args [ ]) { / / create boxes using the various constructors Box mybox1= new box (10 , 20 , 15);
  • 161. Box mybox2= new box ( ); Box mycube = new box (7) ; Box myclone = new box (mybox1) ; Doble vo1; / / get volume of first box vo1 = mybox1.volume ( ) ; system.out.println ("volume of mybox1 is " + vo1) ; / / get volume of second box vo1= mebox2.volume ( ) ; system.out.print1n ("volume of mybox2 is " + vo1) ; / / get volume of cube vo1 = mycube.volume ( ) ; system.out.print1n ("volume of clone is " +vo1) ; } } ‫ه‬ ‫رو ار ل پ را‬ ‫ه د‬ ‫وﺝ د‬ ‫و‬ ‫ی‬ ‫نه‬ ‫اي ار ل ر‬ ‫زي دو روش‬ ‫ر آ ، در ه ز ن‬ ‫را‬ ‫ن‬ ‫ار ر‬ ،‫روش‬ ‫م دارد. در ای‬ "call-by-value" ، ‫دارد. روش‬ ‫ن‬ ‫ر‬ ‫ﺙ ي‬ ‫،ه‬ ‫ل‬ ‫ا‬ ‫آ در را‬ ‫ا‬ ، ‫ای‬ .‫د‬ ‫آ‬ ‫و‬ ‫ن )و‬ ‫ر‬ ،‫" م دارد. در ای روش‬call-by-reference" ،‫. روش دوم‬ ‫اه دا‬ ‫ﺥ د‬ ‫اي د‬ ‫و‬ ‫در‬ ‫د. از ای‬ ‫ار ل‬ ‫را‬ (‫ن‬ ‫ار ر‬ ‫آ در‬ ‫ا‬ ‫آ‬ ‫ی‬ ‫د. ای‬ ‫د‬ ‫ا‬ ‫اﺥ ا‬ ‫رت‬ ‫در‬ ‫ن‬ ‫ر‬ . ‫ا‬ ‫ﺙ ﺥ اه‬ ‫و‬ ‫اﺥ ا‬ ‫اي‬ ‫د‬ ‫رد ا‬ ‫ن‬ ‫ر‬ ، ‫ل‬ ‫ا‬ ‫را‬ . ‫آ‬ ‫د‬ ‫د، از ه دو روش ا‬ ‫ي آ ار ل‬ ‫آ ﺥ اه دی ، ﺝ وا‬ ‫ه ن‬ ‫د‬ ‫ا‬ ‫آ ، از روش‬ ‫ي ار ل‬ ‫از ا اع داد ه ي ی را‬ ‫در ﺝ وا ی‬ ‫و‬ ‫در ﺥ رج از‬ ‫ده ، ز‬ ‫ن رخ‬ ‫ر‬ ‫آ‬ ‫دری‬ ‫اي را‬ ،‫د. از ای رو‬ . ‫اه دا‬
  • 162. ‫ءه‬ ‫اآ‬ ، ‫آ‬ ‫ي‬ ‫ر‬ ‫آ ،و‬ ‫ي ار ل‬ ‫را‬ ‫و‬ ‫ع‬ ‫ي از‬ ‫آ و‬ ‫دا‬ ‫ﺥ‬ . ‫" ار ل‬call-by-reference" ‫روش‬ ‫را‬ ‫ای‬ ‫د. از ای رو، و‬ ‫ء ای د‬ ‫ی‬ ، ‫آ‬ ‫آ س ای د‬ ‫ن‬ ‫آ ر‬ ‫ارﺝ ع ﺥ اه‬ ‫ه ن‬ ،‫ن‬ ‫آ‬ ‫دری‬ ‫آ ، را‬ ‫ي ار ل‬ "call-by-reference" ‫روش‬ ‫ءه‬ ‫آ‬ ‫ی‬ ‫ن ارﺝ ع دارد. ای‬ ‫ش‬ ‫د‬ ‫رد ا‬ ‫ء‬ ، ‫ل‬ ‫ءا‬ ‫آ در‬ ‫ا‬ . ‫ه ار ل‬ :‫ی‬ ‫زی را در‬ ،‫ل‬ ‫ان‬ . ‫ن ﺙ ﺥ اه دا‬ ‫ان ر‬ / / objects are passed by reference. Class test { in a, b ; test (int i, int j) { a = i ; b = j ; } / / pass an object void meth (Test o) { o.a * = 2; o.b = 2 ; } } Class callbref { public satic void main (straing arges [ ]) { Test ob = new Test (15 , 20); System.out.println ("ob.a and ob.b before call: " + ob.a + " " + ob.b) ; ob.meth (ob) ; system.out.pritln ("ob.a and ob.b after call: " + ob.a + " " + ob.b) ; } }
  • 163. ob.a and ob.b before call: 15 20 ob.a and ob.b after call: 30 10 ‫د، ﺥ د‬ ‫ار ل‬ ‫ی‬ ‫آ و‬ ‫ا‬ ‫اي ﺝ ﻝ‬ ‫ان‬ ‫ء‬ ،‫ار ل‬ ‫ار در د‬ ‫ی آ‬ ‫د. ا ، از‬ ‫" ار ل‬call-by-value" ‫رت‬ . ‫ن ارﺝ ع ﺥ اه‬ ‫ر‬ ‫ء‬ ‫ه ن‬ ‫ار ن‬ ‫ارﺝ ع دارد، آ‬ ‫دا‬ ‫ه ز‬ ‫ان ﺥ وﺝ‬ ‫ءه ی آ‬ . ‫آ‬ ‫ا اع آ س ه ی را آ ای د‬ ‫از داد ه را ز دا ؛ از ﺝ‬ ‫ا اع‬ ‫ه‬ ‫ز‬ ‫ان ﺥ وﺝ‬ ‫را‬ ، ‫ در‬incrByTen ( ) ،‫ل‬ ‫ان‬ . ‫ا‬ ‫لآ‬ ‫ء‬ ‫ در‬a ‫ار‬ ‫از‬ ‫ در ن، ٠١ وا‬a ‫ار‬ ‫دا آ‬ / / Returning an object. class Test int a ; Test (in i) { a = I ; } Test incrByTen ( ) { Test temp = new Test (a+10) ; Return temp; } } Class Retub { Public static void main (string args [ ] ) { Test ob1 = new Test (2) ; Test ob2 ; ob2 = ob1.incrByTen ( ) ; system.out.println ("ob1.a: + ob1.a) ; system.out.println ("ob2.a: + ob2.a) ; ob2 = ob2.incrByTen ( ); system.out.println ("ob.a after second increase: " + ob.a) ; } }
  • 164. ob1.a : 2 ob2.a: 12 ob2.a after second increase: 22 ‫آ‬ ‫، زي‬ ‫داد‬ ‫ر ی‬ new ‫د از‬ ‫ا‬ ‫ءه‬ ‫م‬ ‫ی آ‬ ‫از‬ ‫ود‬ ‫ء از‬ ‫ن‬ ‫ان ﺥ رج‬ ، ‫ء در ن ای د‬ ‫يآ‬ ‫اﺝ اي‬ ‫ینی‬ ‫دﻝ‬ ‫ت ن‬ ‫، دور‬ ‫ﺥ د دا‬ ‫ء را در ﺝ ی از‬ ‫آ‬ ‫ز‬ . ‫د‬ » ‫اﺝ اي‬ ‫ن در‬ . ‫ء‬ ‫ارﺝ‬ ‫دی‬ ‫.ه‬ ‫ﺥ اه ی‬ ‫ادا‬ .‫د‬ ‫د « ، زاد‬ ‫ا‬ ‫ي‬ ‫ز‬ ‫ز‬ ١١ ‫آ دن‬ ‫ی‬ ‫ی‬ ، ‫ز‬ ‫ر از‬ . ‫آ‬ ‫ز‬ ‫ﺝ وا از‬ ‫ده‬ ‫ن‬ ‫ه ا‬ ‫آ‬ ‫ا‬ ‫«ﺥ‬ ‫ز‬ ». ‫ﺥ دش‬ ‫ی‬ ١٢ .‫د‬ ‫ا ، ز‬ ‫ا‬ ‫ي آ ﺥ دش را‬ . ‫ا‬ ‫ا‬ ‫ﺥ د ن را‬ ‫د‬ ‫آ ری ه‬ ‫. روش‬ ‫آ ری ا اد ا‬ ،« ‫ز‬ » ‫لآ‬ : ‫ا‬ ‫ن داد‬ ‫« در ذی‬ ‫ز‬ » ‫د از روش‬ ‫ا‬ / / A simple example of recursion. Class Factorial { / / this is a recusive function int fact (int n) { int result ; if (n == = 1) return 1; result = fact (n-1) * n; return result ; } } class Recursion { public static void main (staring args [ ]) { Factorial f = new Factorial ( ); 11 - Recursion. 12 - Recursive.
  • 165. ‫; ) )3( ‪system.out.printl ("Factorial of 3 is " + f.fact‬‬ ‫; ) )4( ‪system.out.printl ("Factorial of 4 is " + f.fact‬‬ ‫; ) )5( ‪system.out.printl ("Factorial of 5 is " + f.fact‬‬ ‫}‬ ‫}‬ ‫ه در‬ ‫ﺝ ی و را‬ ‫هي‬ ‫ز‬ ‫رد‬ ‫ي‬ ‫ﺥ ا ،‬ ‫ا‬ ‫ي ﺥ د را‬ ‫و‬ ‫ین‬ ‫د.‬ ‫ه ي ﺝ ی از ا ا اﺝ ا‬ ‫ه‬ ‫اﺝ ای‬ ‫ی ،و‬ ‫دا‬ ‫ه از روي‬ ‫و را‬ ‫ی‬ ‫هي‬ ‫اﺥ ا ،‬ ‫رت‬ ‫ه‬ ‫ن‬ ‫ر‬ ‫دآ‬ ‫ً‬ ‫ی .ا‬ ‫ادا‬ ‫در ﺥ د‬ ‫اﺥ ا‬ ‫ز‬ ‫، و اﺝ ا از‬ ‫دار .‬ ‫ﺝ و‬ ‫آ رو‬ ‫په ،‬ ‫ن‬ ‫ه‬ ‫هي ز‬ ‫از‬ ‫ر«٣١ ا‬ ‫»‬ ‫دﻝ‬ ‫ا‬ ‫ه‬ ‫ري از رو‬ ‫ي ز‬ ‫ر‬ ‫ري از ای‬ ‫د.‬ ‫اﺝ ا‬ ‫اري‬ ‫ﻝ ي‬ ‫از‬ ‫ري آ‬ ‫،‬ ‫يا‬ ‫اﺥ ا‬ ‫ي زم‬ ‫ن‬ ‫د.‬ ‫ری‬ ‫ا‬ ‫(‬ ‫هي ز‬ ‫) اي‬ ‫اﺥ ا‬ ‫ﺝ‬ ‫ﺝی‬ ‫اﺥ ا‬ ‫رت‬ ‫دوه‬ ‫از‬ ‫هي‬ ‫ه و‬ ‫اي را‬ ‫د. ا‬ ‫اﺝ‬ ‫د‬ ‫آ‬ ‫ن دارد‬ ‫د، ا‬ ‫ه‬ ‫ﺝ ی ي از ای‬ ‫ای د‬ ‫ان ای‬ ‫ً ی‬ ‫.ا ،ا‬ ‫ﺥ اه‬ ‫وز ا‬ ‫ز ن اﺝ اي ﺝ وا‬ ‫رخ ده ،‬ ‫ا‬ ‫.‬ ‫ن، در‬ ‫د‬ ‫رد ا‬ ‫ز‬ ‫رو‬ ‫،‬ ‫د‬ ‫و‬ ‫ي‬ ‫ر‬ ‫ان‬ ‫د از‬ ‫ا‬ ‫آ‬ ‫نا‬ ‫هي ز‬ ‫ی ا‬ ‫د‬ ‫ل،‬ ‫ان‬ ‫د.‬ ‫اري ﺥ د ن ای د‬ ‫دﻝ ي‬ ‫ری ه را‬ ‫ي از اﻝ‬ ‫ر‬ ‫.‬ ‫ً د ار ا‬ ‫اري آ‬ ‫روش‬ ‫زي ‪QuickSort‬‬ ‫زي اﻝ ری‬ ‫.و‬ ‫ي ز‬ ‫را‬ ‫‪،AI‬‬ ‫وی‬ ‫،‬ ‫ﺥ از‬ ‫آ‬ ‫.‬ ‫اري ا‬ ‫ي‬ ‫از روش‬ ‫ي از ا اد‬ ‫اي‬ ‫ز‬ ‫، روش‬ ‫ای‬ ‫ﺥ‬ ‫اري را‬ ‫د آ‬ ‫رت ‪ If‬ا‬ ‫، ی در ﺝ ی از ن‬ ‫ی‬ ‫هي ز‬ ‫و‬ ‫،ه‬ ‫اﺥ ا‬ ‫از‬ ‫م ه ،‬ ‫ای آ ر ا‬ ‫د ﺥ دش ز دا . ا‬ ‫اﺥ ا‬ ‫ون‬ ‫. در‬ ‫اول ا‬ ‫ر‬ ‫م آ ر ای روش‬ ‫ه‬ ‫. ای ﺥ‬ ‫اه‬ ‫ي ز‬ ‫ا‬ ‫را‬ ‫،و‬ ‫ت درون ن‬ ‫ا‬ ‫ردی‬ ‫در‬ ‫د آ‬ ‫رت ) ( ‪ Println‬ا‬ ‫از‬ ‫آ .‬ ‫ﺥ‬ ‫رت وز ه‬ ‫اﺝ اي ن را در‬ ‫31‬ ‫.‪- Overhead‬‬
  • 166. ‫آ لد‬ ‫اي‬ ‫ی ی‬ ‫را دازش و‬ ‫هی آ‬ ‫رو‬ ‫زي«٤١، داد ه را‬ ‫دا ، » ن‬ ‫آ‬ ‫ه ن‬ ‫. از‬ ‫ي ه دارد: آ ل د‬ ‫دی‬ ‫زي« ﺥ‬ ‫زد. ا ، » ن‬ ، ‫آ‬ ‫رد‬ ‫يآ س‬ ‫ا‬ ‫ا‬ ‫ي‬ ‫آ آ ام‬ ‫آ لآ‬ ‫ا‬ ‫زي‬ ‫ن‬ ‫ی‬ ‫د در‬ ‫از آ ر‬ ‫ا‬ ‫ل در وردن د‬ ‫آ‬ . ‫دا‬ ‫د‬ . ‫يآ‬ ‫ﺝ‬ ١٥ ‫د‬ ‫رد ا‬ « ‫د‬ » ‫و‬ ‫يی آ س‬ ‫ه آ از ا‬ ‫د‬ ‫اه‬ ‫را‬ ‫ه يد‬ ‫از‬ ‫د. ﺝ وا‬ ‫آ دن ن‬ ‫ی‬ ‫اي‬ . ‫ﺥ ا‬ ‫د‬ ‫. ﺝ وا ه‬protected , private, public ‫از‬ ‫ر‬ ‫ﺝ وا‬ ‫د‬ ‫دآ‬ ‫ل‬ ‫ا‬ ‫ز‬ ،protected ‫د‬ . ‫آ د ا‬ ‫ی‬ ‫را‬ . ‫ح‬ ‫وراﺙ‬ ‫رت ن‬ ‫د، در ن‬ ‫ی‬ public ‫و‬ ‫ي از ی آ س‬ ‫و‬ ‫و‬ ‫ي از ی آ س‬ ‫د. و‬ ‫ﺥ اه‬ ‫د‬ ‫ي‬ ‫دی‬ ‫ه رو‬ ‫د‬ ‫ي آ س ﺥ دش‬ ‫ی ا‬ ‫رت‬ ‫د، در ن‬ ‫ی‬ private .‫د‬ ‫ﺥ اه‬ public int I ; private double j ; private int myMethod (ina a, char b) { / / . . . ‫دی‬ ‫رش‬ ، ‫ل‬ ‫در ی‬ ‫آ لد‬ ‫آر د‬ ‫ی‬ ‫اي‬ .‫ی‬ ‫ را در‬stack ‫آ س‬ class stack { / * Now, broth stack and tos are private. This means that they cannot be accidentally or maliciously altered in a way that would be harmful to the stack. 14 - encapsulation. 15 - access specifier.
  • 167. * / private int stack [ ] = new int [10] ; private int tos ; / / Initialize top-of-stack Stack ( ) { tos = -1 } / / push an item onto the stack void push (int item) { if (tos = = 9) system.out.println (stack is full."); else. Stack [++tos] = item ; } / / pop an item from the stack int pop ( ) { if (tos <0) { system.out.println ("stack underflow.") ; return 0; } else return stack [tos - -] ; } } ‫، آ‬tos ‫، و ه‬ ‫ا‬ ‫اري‬ ‫اي‬ ‫، آ‬stack ‫ه‬ ‫آ ، ای‬ ‫آ‬ ‫ه ن‬ ‫ا . ای‬ ‫ی‬ private ‫رت‬ ،‫د‬ ‫آر د‬ ‫روي‬ ‫ﺥ‬ ‫ان‬ Private . ‫ی‬ ‫د‬ pop ( ) ‫ و‬push ( ) ‫د از‬ ‫ون ا‬ ‫آ‬ ‫ی‬ ‫اري آ در‬ ‫ار ن‬ ‫ي‬ ‫و‬ ‫ي‬ ‫ن از دی‬ ‫، از د‬tos ‫ﺥ‬ . ‫آ‬ ‫ي‬ ‫،ﺝ‬ stack ‫ود رای‬ ‫ﺥ رج از‬ ‫رد د‬ ‫از ه ن آ س ﺥ دش‬ ‫در ار ط‬ ‫از ی آ س ی‬ ‫ً، ه‬ ‫ی و ون ارﺝ ع‬ ‫دآ‬ ‫ی را ای د‬ ‫ان ا‬ ‫ن وﺝ د دارد آ‬ ‫د. ا ، ای ا‬ ‫ار‬ static ‫آ ي‬ ‫از آ‬ ‫ا‬ ‫اي ای د ای‬ . ‫د‬ ‫ا‬ ،‫از آ س‬ ‫ﺥ‬ ‫ی‬ static ‫رت‬ ‫ي از ی آ س‬ ‫د آ .و‬ ‫ا‬ ‫ی‬ ‫در ا اي‬ ‫ور‬ ‫از ه ن آ س، و ون ارﺝ ع ه‬ ‫از ای د‬ ‫ن‬ ‫د، د‬
  • 168. ‫آ‬ ‫د، ن ا‬ ‫ی‬ static ‫رت‬ ، ‫ا‬ ‫ه را‬ ‫ه وه‬ ‫د. ه‬ ‫ﺥ اه‬ . ‫اﺥ ا‬ ‫از ای د ه‬ ‫ی‬ ‫.و‬ ‫هي‬ ً ‫د‬ ‫ی‬ static ‫رت‬ ‫هی آ‬ .‫د‬ ‫ای د‬ ‫اي از ن‬ ‫ه‬ ‫ی‬ static ‫ه ی از آ س ی‬ . ‫ار‬ ‫اك‬ ‫ا‬ ‫را‬ ‫ ی‬static ‫ه ي‬ ،‫ه ي ن آ س‬ ‫م‬ ،‫ض‬ ‫در‬ : ‫ودی دار‬ ‫ی‬ ، ‫ی‬ static ‫رت‬ ‫هی آ‬ . ‫ا‬ ‫ا‬ ‫ا‬ ‫ را‬static ‫ه ي‬ ‫ی‬ . ‫ آ ر آ‬static ‫داد ه ي‬ ‫ی‬ ‫ط‬ ‫وراﺙ‬ supper ‫آ ي‬ ‫)آ‬ ‫د آ‬ ‫ ا‬super ‫ ی‬this ‫از‬ ‫ا‬ ‫ان‬ ‫ه‬ . ‫ا‬ ‫ح داد‬ ‫د و در‬ ‫آ را‬ ‫ا‬ ، ‫ت داری‬ ‫م‬ ‫ا‬ ‫ ز‬static ‫ه ي‬ ‫ار اوﻝ‬ ‫اي‬ ‫ا‬ ‫ل‬ .‫د‬ ‫آ س اﺝ ا‬ ‫م ر اري اوﻝ‬ ‫ه‬ ‫ی‬ ً ‫د‬ ‫آ‬ ‫ی‬ static ‫رت‬ ‫ار‬ ‫ ) اي‬static ‫ك‬ ‫ و ی‬static static ‫ده آ ی‬ ‫ن‬ ‫را‬ ‫زی آ‬ :‫ده اوﻝ ( دارد‬ / / Demonstrate static variable, methods, and blocks. class useStatic { static int a = 3 ; static int b; static void meth (int x) { system.out.println ("x = " +x) system.out.println ("a = " + a) system.out.println ("b = " +b) } static { system.out.println ("static block initialized."); b = a* 4; } Public static void man (string args [ ] ) { meth (42) ; } }
  • 169. ١٦ . ‫ اﺝ ا‬static ‫رات‬ ‫م‬ .‫د‬ ‫ ر اري‬UseStatic ‫آ س‬ ‫ای‬ ‫ی‬ ‫را‬ )‫د‬ ‫ اﺝ ا‬static ‫ك‬ ، ‫ی‬ a ٣ ‫ار‬ ، ‫د، و‬ ‫اﺥ ا‬ main ( ) . ‫ی‬ b a*4 ‫ار‬ ‫ده (، و ﺥ‬ ‫، دو‬println ( ) ‫رت‬ . ‫آ‬ ‫ ار ل‬x ‫اي‬ meth( ) ‫اﺥ ا‬ ‫م‬ ‫٢ را ه‬ . ‫ده‬ ‫ی‬ ‫ را‬x ‫ر‬ ‫( و ه‬b ‫ و‬a) static : ‫ا‬ ‫ن داد‬ ‫در ذی‬ ‫ﺥ وﺝ‬ Static block initialized x = 42 a = 3 b = 12 ‫از ه‬ ، ‫ا‬ ‫ی‬ ‫آ‬ ‫ان در ﺥ رج از آ‬ ‫را‬ ‫ه ي ای‬ ‫ه و‬ ‫ن‬ ‫از‬ ‫)٠( را‬ ‫مآ سو‬ ‫ا‬ ‫م ای آ ر آ‬ ‫اي ا‬ .‫د‬ ‫آر‬ ، ‫ا‬ ‫ا‬ ‫ی را از ﺥ رج آ س ﺥ دش‬ ‫ای‬ ‫اه‬ ،‫ل‬ ‫ان‬ . ‫ی‬ : ‫م ده‬ ‫زی ا‬ ‫مآ‬ ‫د از‬ ‫ای آ ر را ا‬ ‫ا‬ Classname.method ( ) ‫رای ه‬ ‫وري‬ ‫اي در‬ ‫وی‬ ‫آ ﺥ‬ ‫ا‬ ‫دﻝ‬ ‫ه‬ . ‫زي‬ ‫ء د‬ ‫رت‬ ‫رای ه‬ ‫اد‬ ، ‫رای ـ ی‬ ‫ی . ا از ه‬ ‫از ن‬ ‫رای ه وﺝ د دارد آ‬ ‫را‬ ‫م رای ه ای‬ . ‫ ن ا‬length ‫ا ، در‬ ‫ذﺥ‬ ‫ي آ در رای‬ : ‫ده‬ ‫ن‬ ‫را‬ ‫زی ای ﺥ‬ .‫د‬ ‫در ن ﺥ اه‬ ‫را دار ، و ا از رای ه‬ / / This program demonstrates the length array member. class Length { public static void main (string args [ ] ) { int a1 [ ] = new int [10] ; int a2 [ ] = {3, 5, 7, 1, 8, 9, 44, -10} int a3 [ ] = {4, 3, 2, 1} ; system.out.printl ("length of 1 is " + al.length) ; system.out.printl ("length of 2 is " + al.length) ; system.out.printl ("length l of 3 is " + al.length) ; 16 - Load.
  • 170. ‫}‬ ‫}‬ ‫01 ‪length of a1 is‬‬ ‫8 ‪length of a2 is‬‬ ‫4 ‪length of a3 is‬‬ ‫دا‬ ‫ﺥ‬ ‫.‬ ‫ا‬ ‫داد‬ ‫ی‬ ‫آ ، ا از ه ی از رای ه‬ ‫آ‬ ‫ه ن‬ ‫ار ن‬ ‫ي آ در رای وﺝ د دار ، ارد.‬ ‫اد‬ ‫ار‬ ‫ار ‪ length‬ه‬ ‫آ‬ ‫آ د.‬ ‫ان در رای ذﺥ‬ ‫آ‬ ‫يا‬ ‫اد‬ ‫ی‬ ‫و در‬ ‫آ سه ي داﺥ‬ ‫اي‬ ‫آ سه ،آ سه ي‬ ‫ای‬ ‫؛‬ ‫ا‬ ‫اه‬ ‫ن ای د ی آ س در ه آ س دی‬ ‫ا‬ ‫د.‬ ‫ود‬ ‫ار دار ،‬ ‫آ در ن‬ ‫ود آ‬ ‫ود ای آ س ه‬ ‫د.‬ ‫در‬ ‫ﺥ‬ ‫اي ‪A‬‬ ‫رت ‪B‬‬ ‫د، در ن‬ ‫ی‬ ‫آ س ‪ B‬و در آ س ‪A‬‬ ‫از ای رو، ا‬ ‫ا ،‬ ‫ی‬ ‫آ در ن‬ ‫يآ‬ ‫ا‬ ‫د، ا در ﺥ رج از ن ﺥ . ای آ سه‬ ‫ﺥ اه‬ ‫و‬ ‫يآ‬ ‫ا‬ ‫و‬ ‫ي ‪ .private‬ا در آ س‬ ‫ا‬ ‫دار ، از ﺝ‬ ‫د‬ ‫ارد.‬ ‫،د‬ ‫ا‬ ‫ی‬ ‫آ در ﺥ دش‬ ‫يآ‬ ‫ا‬ ‫،آ سه ی‬ ‫. آ س ه ي در ي ای‬ ‫ای‬ ‫و‬ ‫وﺝ د دارد: ای‬ ‫ع آ س در‬ ‫دو‬ ‫، ی از‬ ‫ه‬ ‫ن ای آ س ه ای‬ ‫د.‬ ‫د‬ ‫ا‬ ‫ی‬ ‫اي‬ ‫آ از ‪static‬‬ ‫ه‬ ‫،‬ ‫.ی‬ ‫دا‬ ‫،د‬ ‫ی‬ ‫آ در ن‬ ‫يآ‬ ‫ا‬ ‫ء‬ ‫ی ی‬ ‫دﻝ‬ ‫. آ س ه ي در ي ای‬ ‫دا‬ ‫ي نآ سد‬ ‫ا‬ ‫ً‬ ‫ا‬ ‫.‬ ‫ار‬ ‫د‬ ‫رد ا‬ ‫رت‬ ‫ودی‬ ‫ای‬ ‫ای آ س ه ،‬ ‫ع از آ س ه ي در ، آ س ه ي داﺥ ٧١ ه‬ ‫ی‬ ‫ه ن روش ﺥ ص‬ ‫ا‬ ‫دار ، و‬ ‫ه ي آ س ﺥ رﺝ ﺥ د د‬ ‫ه و‬ ‫م‬ ‫و‬ ‫ً در‬ ‫آ‬ ‫. از ای رو، ه آ س داﺥ‬ ‫ارﺝ ع دا‬ ‫ً‬ ‫،‬ ‫ای‬ ‫ي‬ ‫ا‬ ‫.‬ ‫ﺥ دا‬ ‫ود آ س در‬ ‫71‬ ‫.‪- Inner‬‬
  • 171. ‫ ی‬Outer ‫ده . آ س‬ ‫ن‬ ‫را‬ ‫د از ی آ س داﺥ‬ ‫وا‬ ‫ی‬ ‫زی‬ ‫ در ن‬Inner ‫م‬ ‫ دارد و آ‬test () ‫م‬ « » ‫، ی‬outer-x ‫م‬ « » .‫د‬ ‫ی‬ / / Demonstrate an inner class. class outer { int outer-x = 100 ; void test ( ) { Inner inner= new Inner ( ); inner.display ( ) ; / / this is an inner class Class Inner { void display ( ) { system.out.printl ("display: outer-x = " + outer – x) ; } } } class InnerClassDemo { public static void main (string args [ ] ) { outer outer = new outer ( ) ; outer.test ( ); } } display: outer-x = 100 ، ‫ای‬ .‫د‬ ‫ی‬ outer ‫ود آ س‬ ‫ در‬Inner ‫م‬ ‫، ی آ س داﺥ‬ ‫در ای‬ . ‫دا‬ ‫ د‬outer-x ً ‫ا‬ Inner ‫ه ي آ س‬ ‫رو‬ ‫رو‬ . ‫ا‬ ‫ﺥ‬ outer ‫ود آ س‬ ‫در‬ Inner ‫آ آ س‬ ‫ا‬ ‫ا‬ ‫ی ﺝ وا ﺥ ی را‬ ‫ی،آ‬ Inner ‫اي از آ س‬ ‫ای د‬ ‫ ا ام‬outer ‫در ﺥ رج از آ س‬ ‫در‬ : ‫ار‬ ‫ی‬ ‫ر آ ، آ س ه ي در ، و‬ .‫ﺥ اه داد‬ ‫ی‬ . ‫ﺥ‬ ، ‫ا‬ ‫ی‬ ‫ود اي آ در ن‬
  • 172. ‫ای‬ ‫دارد، ا‬ ‫،د‬ ‫ا‬ ‫ی‬ ‫آ در ن‬ ‫يآ‬ ‫ما‬ ‫ه آ س داﺥ‬ ‫ا و در آ س‬ ‫ﺥ‬ ‫ود ه ن آ س‬ ‫در‬ ‫ي آ س داﺥ‬ ‫.ا‬ ‫دق‬ ‫.‬ ‫د‬ ‫ا‬ ‫ﺥ رﺝ‬ ‫د، ا ه م ی ی‬ ‫آر د‬ ‫ه ي روز‬ ‫آ س ه ي در در‬ ‫ا‬ ‫.‬ ‫وا‬ ‫ه وا ً‬ ‫روی اده در ا‬ ‫از ﺝ وا‬ ‫د از‬ ‫د. ا‬ ‫ز‬ ‫ت 0.1 ﺝ وا‬ ‫د از آ س ه ي در در‬ ‫ا‬ ‫.‬ ‫ا‬ ‫ز‬ ‫١/١‬ ‫آ س ‪String‬‬ ‫ر‬ ‫رز ای‬ ‫ی . دﻝ‬ ‫ر‬ ‫آ س ه ي ﺝ وا‬ ‫اوﻝ ی آ س در آ‬ ‫ً‬ ‫‪ String‬ا‬ ‫ی .‬ ‫ر‬ ‫زي‬ ‫از‬ ‫ر‬ ‫ه‬ ‫آ ر‬ ‫نا‬ ‫آ ، در وا‬ ‫اي آ ای د‬ ‫آ ه ر‬ ‫ا ، نا‬ ‫ه‬ ‫ی در ر ر‬ ‫يآ‬ ‫ل در‬ ‫ان‬ ‫ی .‬ ‫ر‬ ‫ء‬ ‫هيه‬ ‫ير‬ ‫ﺙ‬ ‫.‬ ‫از آ س ‪ String‬ا‬ ‫رت زی ،‬ ‫;)"‪System.out.println ("This is a string, too‬‬ ‫، روش ی ی‬ ‫ی .ﺥ‬ ‫ر‬ ‫اي‬ ‫ر‬ ‫ﺙ‬ ‫"‪"This is a string, too‬‬ ‫ر‬ ‫ي دی‬ ‫يآ‬ ‫ﻝ « در ز‬ ‫ه ي»‬ ‫ی ی ر‬ ‫ن‬ ‫اي در ﺝ وا ه‬ ‫ير‬ ‫ﺙ‬ ‫.‬ ‫اه دا‬ ‫ای از ای ﺝ‬ ‫،‬ ‫ا‬ ‫ی‬ ‫ع ‪،String‬‬ ‫ءه ي‬ ‫آ‬ ‫نا‬ ‫ای‬ ‫ه‬ ‫ی در ر ر‬ ‫آ‬ ‫دو‬ ‫ای‬ ‫د. ا‬ ‫اه‬ ‫اي‬ ‫ءه ي ‪،String‬‬ ‫از ای د‬ ‫.ی‬ ‫ه‬ ‫:‬ ‫ای‬ ‫دو دﻝ‬ ‫ی،ا‬ ‫ودی ﺝ ي‬ ‫ا‬ ‫ع‬ ‫آ‬ ‫ﺝ ی ي ای د آ‬ ‫ا‬ ‫،ه‬ ‫اي دا‬ ‫ر‬ ‫ز‬ ‫ا‬ ‫.‬ ‫رد‬ ‫ات‬ ‫ه‬ ‫ر‬ ‫ن‬ ‫آ ا‬ ‫ا‬ ‫ی‬ ‫م ‪ StringBuffer‬در ﺝ وا‬ ‫‪String‬‬ ‫آ‬ ‫م‬ ‫ا‬ ‫ه ه ز در ﺝ وا‬ ‫ر‬ ‫ط‬ ‫دازش‬ ‫م آ ره ي‬ ‫ای‬ ‫زد،‬ ‫ه‬ ‫را‬ ‫(.‬ ‫ا‬ ‫ر‬ ‫دوم آ ب‬ ‫)‪ StringBufeer‬در‬ ‫ه‬
  • 173. ‫ن‬ ‫ر‬ ‫د از‬ ‫ی روش، ا‬ ‫ه وﺝ د دارد.‬ ‫اي ای د ر‬ ‫روش ه ي‬ ‫:‬ ‫ل زی ا‬ ‫; "‪String mystring = this is a test‬‬ ‫،‬ ‫زا‬ ‫ه‬ ‫آ آر در‬ ‫ای‬ ‫در ه‬ ‫ا‬ ‫ء ‪ ،String‬ن را‬ ‫از ای د ی‬ ‫ی.‬ ‫آر‬ ‫اي اد م دو ر‬ ‫. از ن‬ ‫ا‬ ‫ی‬ ‫ءه ي ع ‪String‬‬ ‫اي‬ ‫"+" در ﺝ وا‬ ‫رت زی ،‬ ‫ل،‬ ‫ان‬ ‫د.‬ ‫د‬ ‫ا‬ ‫; "‪String my string = "I" + "like" + "Java‬‬ ‫د.‬ ‫ن "‪ "I like Java‬در ‪MyString‬‬ ‫ذﺥ‬ ‫)( ‪length‬‬ ‫اﺥ ا‬ ‫آ .‬ ‫ر‬ ‫را‬ ‫وي دو ر‬ ‫ا‬ ‫د از )( ‪equals‬‬ ‫ا‬ ‫ﺝ د در‬ ‫آ راآ‬ ‫ا‬ ‫د از )( ‪ charAt‬ه‬ ‫ا‬ ‫وری .‬ ‫د‬ ‫لی ر‬ ‫ا‬ ‫:‬ ‫ا‬ ‫ن داد‬ ‫در ذی‬ ‫ای‬ ‫آ‬ ‫وری .‬ ‫د‬ ‫را‬ ‫در ر‬ ‫رد‬ ‫)‪boolean equals (String object‬‬ ‫) ( ‪in length‬‬ ‫)‪char charAt (in index‬‬ ‫ن‬ ‫نهي‬ ‫د از ر‬ ‫ا‬ ‫اي ن ار ل آ . ای آ ر‬ ‫م اﺝ اي ی‬ ‫را ه‬ ‫دآ ا‬ ‫ه او ت زم‬ ‫٨١‬ ‫نﺥ‬ ‫ر از ر‬ ‫د.‬ ‫م‬ ‫)( ‪ main‬ا‬ ‫ن‬ ‫نهيﺥ‬ ‫د از ار ل ر‬ ‫ا‬ ‫ن‬ ‫در ﺥ‬ ‫از م‬ ‫ً‬ ‫،‬ ‫م اﺝ اي‬ ‫آ ه‬ ‫ا‬ ‫ن، ا‬ ‫ـ ای‬ ‫نا‬ ‫ً‬ ‫ه ي ﺝ وا آ‬ ‫ن در‬ ‫نه يﺥ‬ ‫ر‬ ‫.د‬ ‫.‬ ‫اري‬ ‫)( ‪main‬‬ ‫اي در رای ‪ String‬ار ﻝ‬ ‫رت ر‬ ‫ت‬ ‫ا‬ ‫ل‬ ‫نهي‬ ‫‪ :Varargs‬ر‬ ‫81‬ ‫.‪- Command-line‬‬
  • 174. ‫اد‬ ‫ز‬ ‫آ آ‬ ‫د‬ ‫ه ی را‬ ‫آ ای د‬ ‫ﺝ وا ا ود ا‬ ‫ﺝ ی ي را‬ ‫5 ‪ ،J2SE‬وی‬ ‫و از آ ت ‪variable-length‬‬ ‫ا‬ ‫، ‪varargs‬‬ ‫ن دار . ای وی‬ ‫ي ر‬ ‫‪ variable-arity‬ی‬ ‫،‬ ‫ا‬ ‫نهی‬ ‫اد ر‬ ‫يآ‬ ‫.‬ ‫ا‬ ‫‪arguments‬‬ ‫د.‬ ‫‪varargs‬‬ ‫ً‬ ‫ل،‬ ‫ان‬ ‫ی .‬ ‫ر‬ ‫ل‬ ‫،‬ ‫نهيی‬ ‫اد ر‬ ‫آ‬ ‫ای‬ ‫و‬ ‫ر، م ی ، و‬ ‫رود، م آ ر ي، آ‬ ‫آر‬ ‫ای‬ ‫ل‬ ‫ري ا‬ ‫يآ‬ ‫دی‬ ‫از‬ ‫ا‬ ‫ﺥ از‬ ‫م‬ ‫رت‬ ‫، ا در‬ ‫ز ﺥ اه دا‬ ‫را‬ ‫ض در‬ ‫دی‬ ‫نه ی آ‬ ‫ر‬ ‫ا‬ ‫ای‬ ‫د آ . در‬ ‫ضا‬ ‫د.‬ ‫را ار ل‬ ‫د‬ ‫ا‬ ‫ص‬ ‫ﺥ‬ ‫آ‬ ‫وﺝ د دا‬ ‫ل‬ ‫نهي‬ ‫ر‬ ‫اي ی ی‬ ‫5 ‪ ،J2SE‬دو روش‬ ‫از‬ ‫د،‬ ‫و‬ ‫نه آ‬ ‫اد ر‬ ‫اآ‬ ‫،ا‬ ‫ای‬ ‫د.‬ ‫ی‬ ‫ﺥ‬ ‫ام از‬ ‫ه‬ ‫ت‬ ‫از‬ ‫ري ه ی‬ ‫رت ‪overload‬‬ ‫از‬ ‫ي‬ ‫ر‬ ‫رت‬ ‫در ن‬ ‫اي‬ ‫د، ا‬ ‫ای‬ ‫ﺥ از‬ ‫اي‬ ‫ای روش‬ ‫.ا‬ ‫ای د‬ ‫اﺥ ا‬ ‫.‬ ‫ودي آ ر د دا‬ ‫ر‬ ‫ای‬ ‫.‬ ‫د‬ ‫يا‬ ‫د، از روش دی‬ ‫ی‬ ‫ر‬ ‫نه،‬ ‫اد ر‬ ‫اآ‬ ‫ای آ‬ ‫در‬ ‫.‬ ‫ار ل‬ ‫رای‬ ‫و‬ ‫اري‬ ‫ن ه در رای اي‬ ‫در ن روش، ر‬ ‫.‬ ‫)...(‬ ‫ل‬ ‫نه‬ ‫ر‬ ‫.ا‬ ‫دا‬ ‫ل‬ ‫را‬ ‫ی‬ ‫ا‬ ‫ر «ه‬ ‫ه ي»‬ ‫را‬ ‫ا‬ ‫ه‬ ‫زی‬ ‫ی‬ ‫ل،‬ ‫ان‬ ‫.‬ ‫را‬ ‫، ﺥ ی‬ ‫ی‬ ‫م‬ ‫ی ه‬ ‫ل‬ ‫را‬ ‫:‬ ‫لا‬ ‫ً‬ ‫آ‬ ‫{ )‪int doIt (int a, int b, double c, int … vals‬‬ ‫.‬ ‫را‬ ‫آ ‪ varargs‬ی ﺥ ی‬ ‫دا‬ ‫ﺥ‬ ‫ز‬ ‫‪varargs‬‬ ‫را‬ ‫ی‬ ‫:‬ ‫ن‬ ‫ی‬ ‫وﺝ د دارد آ‬ ‫ي‬ ‫ودی دی‬ ‫:‬ ‫ا‬ ‫در‬ ‫رت زی‬ ‫ل،‬ ‫ان‬ ‫.‬ ‫ا‬ ‫)‪int doIt (int a, int b, double c, int … vals, double … morevals‬‬ ‫!‪{ / / Error‬‬ ‫.‬ ‫زا‬ ‫‪ Varargs‬دوم‬ ‫را‬ ‫ی‬
  • 175. Varargs ‫ه ي‬ ‫ آ دن‬Overload ‫ل، در‬ ‫ان‬ .‫د‬ Overload ‫ا‬ ‫دار را‬ ‫ل‬ ‫ن‬ ‫هی آ ر‬ : ‫ا‬ Overload vaTest() ، ‫زی‬ / / varargs and overloading class varArgs3 { Static void vaTest (int… v) { System.out.print ("vaTest (int …): " + " Number of args: " + v/length + " Contents: " ); for (int x : v) system.out.print (x + " "); system.out.println ( ) : } static void vaTest (boolean …v) { system.out.print ("vaTest (boolean …) " + " Number of args: " + length + " Contents: " ) ; for (boolean x : v) system.out.print (x + " "); system.out.print ( ) ; } Static void vaTest (String msg, int … v) { system.out.print ("vaTest (String, in …) : " + " msg + v.length + " Contents: ") ; for (int x : v) system.out.print (x + " "); system.out.print ( ); } public static void main (staring args [ ] ) { vaTest (1, 2, 3) ; vaTest (" Testing: ', 10, 20) ;
  • 176. vaTest (true, false, false); } } vaTest (int …): Number of arags: 3 contents: 1 2 3 vaTest (string, int …): Testing:: 2 contents: 10 20 vaTest (int …): Number of arags: 3 contents: true false false ‫ع‬ ، ‫ای‬ . ‫ده‬ ‫ن‬ ‫ را‬varargs ‫ه ي‬ ‫ آ دن‬overload ‫ه دو روش‬ ‫ای‬ ‫ و‬vaTest (int …) ‫ه ي‬ ‫ص‬ ‫. در ﺥ‬ ‫ا‬ varargs ‫داد ه ي را‬ ‫د‬ "..." ‫آ وﺝ د‬ ‫دا‬ ‫ﺥ‬ . ‫ا‬ ‫ ه‬vaTest (Boolean …) .‫د‬ ‫ﺥ رد‬ ‫رت رای اي از ع‬ ‫را‬ . ‫ﻝ ا‬ ‫را‬ ‫، ا ودن ی‬varargs ‫ه ي‬ ‫ آ دن‬overload ‫اي‬ ‫روش دوم‬
  • 177. ‫وراﺙ‬ bb Inheritance : ‫وی ای‬ ‫وراﺙ‬ super ‫آ ي‬ ‫آر دآ‬ Multilevel ‫ ه‬Constructor ‫اﺥ ا‬ ‫ز ن‬ ‫ه‬ ‫ آ دن‬Override ‫ه‬ ‫( ی ي‬dispatch) ‫زی‬ ‫؟‬ ‫هيﻝ‬ ‫ا‬ (abstract) ‫د‬ ‫ي‬ ‫د از آ‬ ‫ا‬ ‫ وراﺙ‬Final ‫د از‬ ‫ا‬ Object ‫آ س‬
  • 178. ‫ی ي‬ ‫، زی ا ا ن ای د‬ ‫ا‬ ‫ی‬ ‫هي‬ ‫از‬ ‫وراﺙ را ی‬ ‫زی آ‬ ‫آ س‬ ‫ی‬ ‫ا‬ ‫،‬ ‫د از وراﺙ‬ ‫ا‬ ‫ورد .‬ ‫را ﺝ د‬ ‫ا‬ ‫ا‬ ‫ا‬ ‫ی . ای آ س‬ ‫ی‬ ‫را‬ ‫ا م‬ ‫كی‬ ‫ي‬ ‫وی‬ ‫د ﺥ دش‬ ‫ه ی را آ‬ ‫و ه آ س ارث‬ ‫رث د‬ ‫ی آ‬ ‫د را آ س‬ ‫د‬ ‫رث‬ ‫آ‬ ‫ﺝ وا ، آ‬ ‫ی . در روش‬ ‫ن ا‬ ‫را زی آ س‬ ‫ارث ي را ا م داد و ارث د ا‬ ‫آ‬ ‫.آ‬ ‫)‪(superclass‬‬ ‫از ی "‬ ‫و‬ ‫ای ، ی " زی آ س " روای‬ ‫.‬ ‫)‪(subclass‬‬ ‫آ س‬ ‫ي‬ ‫و رو‬ ‫هي‬ ‫. زی آ س ، آ‬ ‫"ا‬ ‫آ س‬ ‫آ .‬ ‫ا‬ ‫د ﺥ د را‬ ‫را رث د و‬ ‫وراﺙ‬ ‫د از واژ آ ي‬ ‫ی آ س را ا‬ ‫ی‬ ‫د آ‬ ‫دن از ی آ س ، ﺥ‬ ‫اي ارث‬ ‫ن‬ ‫د اي را‬ ‫ل‬ ‫،‬ ‫ای‬ ‫آ‬ ‫اي‬ ‫ار ده .‬ ‫ي‬ ‫‪extends‬در آ س دی‬ ‫آ .د‬ ‫‪ B‬ای د‬ ‫م‬ ‫م ‪ A‬و ی زی آ س‬ ‫يی آ س‬ ‫ده .‬ ‫د.‬ ‫ی زی آ س از ‪ A‬ای د‬ ‫د‬ ‫از واژ آ ي ‪ extends‬ا‬ ‫آ‬ ‫آ‬ ‫.‪// A simple example of inheritance‬‬ ‫.‪// Create a superclass‬‬ ‫{ ‪class A‬‬ ‫;‪int i, j‬‬ ‫{() ‪void showij‬‬ ‫;)‪System.out.println("i and j :" + i + " " + j‬‬ ‫}‬ ‫}‬ ‫.‪// Create a subclass by extending class A‬‬ ‫{ ‪class B extends A‬‬ ‫;‪int k‬‬ ‫{() ‪void showk‬‬ ‫;)‪System.out.println("k :" + k‬‬ ‫}‬
  • 179. void sum )({ System.out.println("j+j+k :" +( i+j+k)); } } class SimpleInheritance { public static void main(String args[] ){ A superOb = new A)(; B subOb = new B)(; // The superclass may be used by itself. superOb.i = 10; superOb.j = 20; System.out.println("Contents of superOb :"); superOb.showij)(; System.out.println)(; /* The subclass has access to all public members of its superclass .*/ subOb.i = 7; subOb.j = 8; subOb.k = 9; System.out.println("Contents of subOb :"); subOb.showj)(; subOb.showk)(; System.out.println)(; System.out.println("Sum of i/ j and k in subOb:"); subOb.sum)(; } } : ‫ار زی‬ ، ‫ﺥ وﺝ ای‬ Contents of superOb: i and j :10 20 Contents of subOb: i and j :7 8 k :9
  • 180. ‫:‪Sum of i/ j and k in subOb‬‬ ‫42: ‪i+j+k‬‬ ‫.‬ ‫‪A‬ا‬ ‫ی‬ ‫ي‬ ‫آ س‬ ‫ا‬ ‫آ‬ ‫، زی آ س ‪ B‬در‬ ‫ری‬ ‫ه‬ ‫ی .‬ ‫اﺥ ا‬ ‫و )(‪ showij‬را‬ ‫دا‬ ‫‪i‬و‪ j‬د‬ ‫ا‬ ‫آ ‪subob‬‬ ‫ا‬ ‫دﻝ‬ ‫از ‪ B‬د ، ارﺝ ع‬ ‫آ‬ ‫‪ i‬و‪ j‬و ه‬ ‫ر‬ ‫ان‬ ‫داﺥ ‪()sum‬‬ ‫ه‬ ‫دا‬ ‫و‬ ‫"‬ ‫نی آ سآ‬ ‫،ا ه‬ ‫ي‪B‬‬ ‫‪A‬آ س‬ ‫د.ا‬ ‫ی‬ ‫را‬ ‫ان ﺥ د ن آ س‬ ‫آ‬ ‫اي ی زی آ س ان‬ ‫دن‬ ‫.آ س‬ ‫.‬ ‫ي ی زی آ س دی‬ ‫ا آ س‬ ‫و ، ی زی آ س‬ ‫ار داد .‬ ‫د‬ ‫رد ا‬ ‫:‬ ‫رت زی ا‬ ‫د،‬ ‫ارث‬ ‫ن ی ‪ class‬آ از ی آ س‬ ‫ا‬ ‫{ ‪class subclass-name extends superclass-name‬‬ ‫‪// body of class‬‬ ‫}‬ ‫.ﺝ وا از ا ل‬ ‫آ‬ ‫ی‬ ‫ا‬ ‫ی آ س‬ ‫،‬ ‫آ‬ ‫آ ای د‬ ‫اي ه زی آ‬ ‫وت‬ ‫ﺝ وا ++‪C‬‬ ‫آ . ) از ای‬ ‫د‬ ‫ی آ س‬ ‫ی آ س‬ ‫وراﺙ‬ ‫از‬ ‫ا‬ ‫ی‬ ‫ا‬ ‫آ‬ ‫. )‬ ‫ن ی ا‬ ‫ا‬ ‫آ‬ ‫آ در ن وراﺙ‬ ‫ا‬ ‫.ا ،ه‬ ‫ي ی زی آ س دی‬ ‫آ در ن ی زی آ س ، آ س‬ ‫وراﺙ ای د آ‬ ‫.‬ ‫ي ﺥ دش‬ ‫ا آ س‬ ‫آ‬ ‫و وراﺙ‬ ‫ا‬ ‫د‬ ‫ی‬ ‫ا‬ ‫ا‬ ‫،ا‬ ‫يﺥ د‬ ‫س‬ ‫ا‬ ‫آ‬ ‫ی زی آ س در‬ ‫ا‬ ‫ل،‬ ‫ان‬ ‫.‬ ‫دا‬ ‫ا ،د‬ ‫ن‬ ‫ان ‪ private‬ا‬ ‫آ‬ ‫از آ س‬ ‫ی :‬ ‫د آ س زی را در‬ ‫ا‬ ‫‪/* In a class hierarchy/ private members remain‬‬ ‫.‪private to their class‬‬ ‫‪This program contains an error and will not‬‬ ‫.‪compile‬‬ ‫/*‬
  • 181. // Create a superclass. class A { int i; // public by default private int j; // private to A void setij(int x/ int y ){ i = x; j = y; } } // A's j is not accessible here. class B extends A { int total; void sum )({ total = i + j; // ERROR/ j is not accessible here } } class Access { public static void main(String args[] ){ B subOb = new B)(; subOb.setij(10/ 12); subOb.sum)(; System.out.println("Total is " + subOb.total); } } ‫د‬ ‫ ر‬B‫ در‬sum() ‫ داﺥ روش‬j ‫زی ا ارﺝ ع‬ ‫اه‬ ‫ی‬ ‫آ‬ ‫ای‬ ‫ئ آ س ﺥ دش‬ ‫ی ا‬ ، ‫ن‬ ‫ ا‬private ‫ان‬ j ‫ی‬ ‫. از‬ ‫ﺥ اه‬ . ‫ن ار‬ ‫د‬ ‫ه‬ ‫و زی آ‬ ‫ا‬ ‫د‬ ‫ﺥ اه‬ ‫اي آ س ﺥ دش اﺥ‬ ‫ن‬ ‫ ا‬private ‫ان‬ ‫آ سآ‬ ‫ی د وري : ی‬ ، ‫آ‬ ‫زی‬ ‫از ﺝ‬ ‫اي آ ه ي ﺥ رج از آ‬ ‫د . ای‬ .‫د‬ ‫اه‬ ‫د‬ ‫ﺕ‬ ‫ل‬ ‫ی‬
  • 182. ‫ن ﺥ اه‬ ‫را‬ ‫وراﺙ‬ ‫رت وا‬ ‫دازی آ‬ ‫ل‬ ‫ی‬ ‫اﺝ ز ده‬ ‫رم‬ ‫ی‬ ‫ش ی‬ ‫ي‬ Box ‫آ س‬ ‫ی‬ ‫، روای‬ ‫داد . در ای‬ depth،height ، width ‫،آ س ﺝ ی‬ ‫د. ی‬ ‫ را در‬weight ‫م‬ .‫د‬ ‫ ﺥ اه‬box ‫ وی‬weight ‫و‬ // This program uses inheritance to extend Box. class Box { double width; double height; double depth; // construct clone of an object Box(Box ob ){ // pass object to constructor width = ob.width; height = ob.height; depth = ob.depth; } // constructor used when all dimensions specified Box(double w/ double h/ double d ){ width = w; height = h; depth = d; } // constructor used when all dimensions specified Box )({ width =- 1; // use- 1 to indicate height =- 1; // an uninitialized depth =- 1; // box } // compute and return volume double volume )({ return width * height * depth; } } // Here/ Box is extended to include weight. class BoxWeight extends Box { double weight; // weight of box
  • 183. // constructor for BoxWeight BoxWeight(double w/ double h/ double d/ double m ){ width = w; height = h; depth = d; weight = m; } } class DemoBoxWeight { public static void main(String args[] ){ Boxweight mybox1 = new BoxWeight(10/ 20/ 15/ 34.3); Boxweight mybox2 = new BoxWeight(2/ 3/ 4/ 0.076); double vol; vol = mybox1.volume)(; System.out.println("Volume of mybox1 is " + vol); System.out.println("Weight of mybox1 is " + mybox1.weight); System.out.println)(; vol = mybox2.volume)(; System.out.println("Volume of mybox2 is " + vol); System.out.println("Weight of mybox2 is " + mybox2.weight); } } : ‫رت زی‬ ‫ﺥ وﺝ ای‬ Volume of mybox1 is 3000 Weight of mybox1 is 34.3 Volume of mybox2 is 24 Weight of mybox2 is 0.076 Boxweight ‫اي‬ . ‫آ‬ ‫ را ا‬weight ‫د و‬ ‫ را رث‬Box ‫ت‬ ‫آ‬ . ‫ی‬ ‫دا ای د‬ ‫ را‬Box ‫ﺝ د در‬ ‫ﺝ ا‬ ‫ارد آ آ‬ ‫ور‬ Boxweight .‫ی‬ ‫اه اف ﺥ ص ﺥ دش را‬ ‫ش ده‬ ‫ري‬ ‫ را‬Box ‫د‬ ‫ا‬ ‫آ‬ ‫ای د آ‬ ‫آ س‬ ‫ی ری‬ ‫آ‬ ‫آ‬ ‫ا‬ ‫ای‬ ‫وراﺙ‬ ‫ی‬ ‫ی‬ ‫اي‬ ‫ان از ن‬ ، ‫ی‬ ‫ی‬ ‫ئ را‬ ‫از ا‬ ‫ك ی‬ ‫ي‬ ‫ﺥ‬
  • 184. ‫ا‬ ‫د . ه زی آ س‬ ‫د‬ ‫ا‬ ‫ي‬ ‫اد از زی آ‬ ‫ای د ه‬ ‫رث‬ Box ‫ي ، از‬ ‫ل ،آ س‬ ‫ان‬ . ‫ی‬ ‫ي ﺥ دش‬ " ‫د‬ . ‫ا‬ ‫در ن ا‬ (color) ‫ر‬ ‫د وی ﺥ‬ // Here/ Box is extended to include color. class ColorBox extends Box { int color; // color of box ColorBox(double w/ double h/ double d/ double c ){ width = w; height = h; depth = d; color = c; } } ‫ان‬ ، ‫آ‬ ‫ی‬ ‫را‬ ‫ی‬ ‫ی آ وﺝ‬ ‫ای د‬ ‫ی آ س‬ ‫د وری آ ه‬ ‫د‬ ‫د . ه زی آ س ﺥ‬ ‫ارث‬ ‫ي‬ ‫آ‬ ‫اي‬ ‫از ن آ س‬ . ‫ا‬ ‫وراﺙ‬ ‫م آ‬ ‫آ . ای‬ ‫د ﺥ دش را ا‬ ‫ي‬ ‫ﺥ‬ ‫ی‬ ‫ط‬ ‫ارﺝ ع‬ ‫ی ی‬ ‫زی آ س ارﺝ ع‬ ‫ی‬ ‫ا‬ ‫آ س‬ ‫ی‬ ، ‫از ن آ س‬ ‫ي‬ ‫ه ی از زی آ‬ ، ‫ارﺝ‬ ‫ان‬ ‫را‬ ‫آ س‬ ‫ل‬ ‫ان‬ . ‫ا‬ ‫د‬ ‫و‬ ‫از وراﺙ آ‬ ‫ای ، ای ﺝ‬ ‫ري از‬ ‫د . در‬ : ‫ی‬ ‫رد زی را در‬ ، class RefDemo { public static void main(String args[] ){ Boxweight weightbox = new BoxWeight(3/ 5/ 7/ 8.37); Box plainbox = new Box)(; double vol; vol = weightbox.volume)(; System.out.println("Volume of weightbox is " + vol); System.out.println("Weight of weightbox is " + weightbox.weight); System.out.println)(; // assign BoxWeight reference to Box reference
  • 185. ‫;‪plainbox = weightbox‬‬ ‫‪vol = plainbox.volume)(; // OK/ volume )(defined in Box‬‬ ‫;)‪System.out.println("Volume of plainbox is " + vol‬‬ ‫‪/* The following statement is invalid because plainbox‬‬ ‫/*. ‪dose not define a weight member‬‬ ‫‪// System.out.println("Weight of plainbox is " + plainbox.weight‬‬ ‫}‬ ‫}‬ ‫ا ئ‬ ‫و ‪ plainbox‬ی ارﺝ ع‬ ‫ئ ‪ Boxweight‬ا‬ ‫ا‬ ‫‪ weightbox‬ی ارﺝ ع‬ ‫در ای‬ ‫ان‪ plainbox‬را‬ ‫،‬ ‫‪ Boxweight‬ی زی آ س از ‪ Box‬ا‬ ‫ی‬ ‫. از‬ ‫‪Box‬ا‬ ‫ارﺝ ع و‬ ‫ع‬ ‫آ‬ ‫ای ا‬ ‫د.‬ ‫ئ ‪weightbox‬‬ ‫ان ی ارﺝ ع‬ ‫.ی‬ ‫ه‬ ‫د‬ ‫ئ‬ ‫آ آ ام ا‬ ‫آ‬ ‫ا‬ ‫ن ارﺝ ع‬ ‫آ‬ ‫ع‬ ‫ارﺝ ع آ س‬ ‫ی‬ ‫ئ زی آ س ،‬ ‫ی‬ ‫ط‬ ‫ی ارﺝ ع‬ ‫ه‬ ‫.‬ ‫ی‬ ‫آ س‬ ‫داری آ‬ ‫ئد‬ ‫ی از‬ ‫ن‬ ‫د،‬ ‫ی‬ ‫آ‬ ‫و‬ ‫دا‬ ‫‪ weight‬د‬ ‫ا‬ ‫آ ‪plainbox‬‬ ‫ا‬ ‫دﻝ‬ ‫زی ا ی آ س‬ ‫آ‬ ‫س‬ ‫، ن را ا‬ ‫آ‬ ‫ن‬ ‫آ .ا‬ ‫‪ Boxweight‬ارﺝ ع‬ ‫.‬ ‫اه دا‬ ‫اش‬ ‫زی آ س‬ ‫ارد ا‬ ‫اي‬ ‫ه وا‬ ‫اي ی‬ ‫.‬ ‫ا‬ ‫رج‬ ‫از‬ ‫ﺝ د در‬ ‫آ ﺥ ی ﺥ از آ‬ ‫ا‬ ‫دﻝ‬ ‫م‬ ‫ای‬ ‫ي‬ ‫اآ‬ ‫،‬ ‫دا‬ ‫‪ weight‬د‬ ‫ن ارد‬ ‫ارﺝ ع ‪ Box‬ا‬ ‫.‬ ‫ا‬ ‫ی‬ ‫‪Box‬‬ ‫آ ي ‪super‬‬ ‫آر دآ‬ ‫زي‬ ‫، د‬ ‫ي آ ا ن دا‬ ‫آ رای و ر‬ ‫از ‪Box‬‬ ‫ي‬ ‫آ‬ ‫ﻝ ي‬ ‫در‬ ‫ه ي ‪ height ، width‬و‬ ‫ی‬ ‫ر‬ ‫‪Boxweight‬‬ ‫ز‬ ‫ل ،‬ ‫ان‬ ‫.‬ ‫ي‬ ‫در آ س‬ ‫ا‬ ‫آ هي‬ ‫آ . ای ا‬ ‫ار ده اوﻝ‬ ‫‪depth‬و در ‪ ()Box‬را‬ ‫ی زی آ س ی د‬ ‫ای‬ ‫د ﻝ دارد‬ ‫،‬ ‫آ را‬ ‫آ آ‬ ‫ا‬ ‫را دو‬ ‫آ‬ ‫ای د آ‬ ‫ﺥ اه ی آ س‬ ‫وﺝ د دار آ‬ ‫ای‬ ‫.ا‬ ‫ئ دا‬ ‫ای ا‬ ‫اي ی زی آ س‬ ‫ای ، راه‬ ‫اري آ . در ای‬ ‫زي ﺥ دش را ﺥ دش‬ ‫ت د‬ ‫ﺝ‬
  • 186. ‫ارده‬ ‫را‬ ‫وی‬ ‫دا‬ ‫ﺥ دش د‬ ‫ط‬ ‫هي‬ ‫ای‬ ‫وﺝ د ارد‬ ‫آ‬ ، ‫ ا‬oop ‫اوﻝ‬ ‫زي ی ﺥ‬ ‫ل‬ ‫آ‬ ‫ی‬ ‫ی . از‬ ‫اوﻝ‬ ‫ی‬ ‫زم‬ ‫.ه‬ ‫آ د‬ ‫اه‬ ‫اي ای‬ ‫ﺝ وا را‬ super ‫د از واژ آ ي‬ ‫ا‬ ‫ی ، ای ر را‬ ‫ﺥ دش ارﺝ ع‬ ‫ي‬ ‫آ س‬ ‫زی آ س‬ . ‫آ‬ ‫اﺥ ا‬ ‫را‬ ‫آ س‬ ‫ز‬ ‫ن‬ ‫دارد . اوﻝ‬ ‫ دو‬super . ‫ده‬ ‫م‬ ‫ا‬ ‫زی آ س‬ ‫ی‬ ‫آ‬ ‫آ س‬ ‫ی‬ ‫رد‬ ‫ن‬ ‫دو‬ .‫د‬ ‫د‬ ‫،ا‬ ‫ا‬ super ‫د از‬ ‫ا‬ ‫د از ای‬ ‫را ا‬ ‫ي‬ ‫آ س‬ ‫ی‬ ‫ز‬ ‫ا روش‬ ‫ی زی آ س‬ : ‫ی‬ ‫اﺥ ا‬ super super( parameter-list); ‫در آ س‬ ‫ز‬ ‫آ‬ ‫ي ا‬ ‫را‬ ‫ه‬ ‫آ‬ parameter-list ‫در ای‬ ‫ز‬ ‫ی‬ ‫داﺥ‬ ‫ر اﺝ ا‬ ‫د‬ ‫ی ه ار اوﻝ‬ super() . ‫ز‬ ‫رد‬ . ‫زی آ س‬ ‫ی‬ ‫روای‬ ‫ای‬ ‫،وه‬ ‫د‬ ‫ ا‬super() ‫از‬ ‫ی آ‬ : ‫ی‬ ‫ را در‬Boxweight() ‫از آ س‬ // BoxWeight now uses super to initialize its Box attributes. class BoxWeight extends Box { double weight; // weight of box // initialize width, height, and depth using super)( BoxWeight(double w, double h, double d, double m ){ super(w, h, d); // call superclass constructor weight = m; } }
  • 187. ‫ده . ای‬ ‫م‬ ‫ و ا‬d ‫ و‬h ،w ‫ه ي‬ ‫را‬ ‫ را‬super() ‫اﺥ ا‬ Boxweight() ‫در ای‬ width ‫دی‬ ‫از ای‬ ‫د‬ ‫ا‬ Box() ‫ز‬ ‫ن‬ ‫اﺥ ا‬ ‫آ ر‬ ‫دی اوﻝ را‬ ‫ ﺥ دش ای‬Boxweight ‫آ . دی‬ ‫ار ده اوﻝ‬ ‫ و را‬depth‫،و‬height ، ‫ی‬ ‫ار ده اوﻝ‬ ‫را‬weight ‫د ﺥ د‬ ‫ار‬ ‫ا‬ ‫آ‬ . ‫آ‬ ‫ار ده‬ . ‫زد‬ private ‫دی را‬ ‫ی ای‬ ‫رت‬ ‫ارد در‬ ‫ را زاد‬Box ‫. ای‬ ‫ا‬ ‫ن‬ ‫ز‬ ‫ن‬ ‫د.ا‬ ‫اﺥ ا‬ ‫ن‬ ‫ر‬ super() ، ‫ل‬ ‫در‬ ‫اﺥ ا‬ ‫آ س‬ ‫ی‬ ‫د از ه‬ ‫ را ا‬super() ‫ان‬ ، ‫ا‬ ‫ان‬ . ‫دا‬ ‫ر‬ ‫آ‬ ‫ا‬ ‫د،ه‬ ‫اي آ اﺝ ا‬ ‫ز‬ .‫د‬ ‫ق‬ ‫اي‬ ‫ن را‬ ‫ز‬ ‫ وﺝ د دارد آ‬Boxweight‫از‬ ‫زي آ‬ ‫د‬ ‫ی‬ ‫ل ، در ای‬ ‫د از‬ ‫ا‬ super() ‫ﻝ‬ ‫ی . در ه‬ ‫اه‬ box ‫نی‬ ‫ﺥ‬ ‫نو‬ Box ‫ و داﺥ‬depth ‫ و‬width , height ‫آ‬ ‫آ‬ ‫د. د‬ ‫اﺥ ا‬ ‫ی‬ ‫ي‬ ‫ر‬ . ‫ا‬ ‫در‬ ‫رت اﺥ‬ // A complete implementation of BoxWeight. class Box { private double width; private double heght; private double deoth; // construct clone of an object Box(Box ob ){ // pass object to constructor width = ob.width; height = ob.height; depth = ob.depth; } // constructor used when all dimensions specified Box(double w, double h, double d ){ width = w; height = h; depth = d; } // constructor used when no dimensions specified Box (){ width =- 1; // use- 1 to indicate
  • 188. height =- 1; // an uninitialized depth =- 1; // box } // constructor used when cube is created Box(double len ){ width = height = depth = len; } // compute and return volume double volume (){ return width * height * depth; } } // BoxWeight now fully implements all construtors. class BoxWeight extends Box { double weight; // weight of box // construct clone of an object BoxWeight(BoxWeight ob ){ // pass object to consructor super(ob); weight = ob.weight; } // constructor used when all parameters are specified Box(double w, double h, double d, double m ){ super(w, h, d); // call superclass constructor weight = m; } // default constructor BoxWeight (){ super(); weight =- 1; } // constructor used when cube is created BoxWeight(double len, double m ){ super(len); weight = m; } } class DemoSuper { public static void main(String args[] ){
  • 189. BoxWeight mybox1 = new BoxWeight(10 .20 .15 .34.3); BoxWeight mybox2 = new BoxWeight(2, 3, 4, 0.076); BoxWeight mybox3 = new BoxWeight(); // default BoxWeight mycube = new BoxWeight(3, 2); BoxWeight myclone = new BoxWeight(mybox1); double vol; vol = mybox1.vilume(); System.out.println("Volume of mybox1 is " + vol); System.out.println("Weight of mybox1 is " + mybox1.weight); System.out.println(); vol = mybox2.vilume(); System.out.println("Volume of mybox2 is " + vol); System.out.println("Weight of mybox2 is " + mybox2.weight); System.out.println(); vol = mybox3.vilume(); System.out.println("Volume of mybox3 is " + vol); System.out.println("Weight of mybox3 is " + mybox3.weight); System.out.println(); vol = myclone.vilume(); System.out.println("Volume of myclone is " + vol); System.out.println("Weight of myclone is " + myclone.weight); System.out.println(); vol = mycube.vilume(); System.out.println("Volume of mycube is " + vol); System.out.println("Weight of mycube is " + mycube.weight); System.out.println(); } } : ‫آ‬ ‫ﺥ وﺝ زی را ﻝ‬ ‫ای‬ Volume of mybox1 is 3000 Weight of mybox1 is 34.3 Volume of mybox2 is 24 Weight of mybox2 is 0.076 Volume of mybox3 is- 1
  • 190. Weight of mybox3 is- 1 Volume of myclone is 3000 Weight of myclone is 34.3 Volume of mycube is 27 Weight of mycube is 2 : ‫ دا‬Boxweight() ‫در‬ ‫ز‬ ‫ای‬ ‫ي‬ ‫ﺝ‬ // construct clone of an object BoxWeight(BoxWeight ob ){ // pass object to constructor super(ob); weight = ob.weight; } ‫و‬ ‫ا‬ ‫اﺥ ا‬ Box ‫ع‬ ‫از‬ Boxweight ‫ز ع‬ ‫ی‬ super() ‫آ‬ ‫ﺝ آ‬ ‫آ س‬ ‫،ی‬ ‫ذآ‬ ‫ری‬ ‫آ .ه‬ ‫اﺥ ا‬ ‫( را‬Box ob) Box ‫ز‬ ، ‫ای‬ . ‫ار داد‬ ‫د‬ ‫رد ا‬ ‫از ن آ س‬ ‫ه‬ ‫اي ارﺝ ع‬ ‫ان‬ ‫را‬ Box ‫ر ده . اﻝ‬ Box ‫ز‬ ‫را‬Boxweight ‫دی ی‬ ‫در‬ . ‫ه دارد‬ ‫ئ ﺥ دش‬ ‫ا‬ ‫ را‬super() ‫ی زی آ س‬ ‫ی .و‬ ‫ور‬ ‫ را‬super() ‫ط‬ ‫ه آ ي‬ ‫اﺝ ز ده‬ ‫ای‬ . ‫آ‬ ‫اﺥ ا‬ ‫ﺥ د را‬ ‫ي‬ ‫آ س‬ ‫ز‬ ‫آ ، در ا‬ ‫اﺥ ا‬ ‫، ارﺝ ع‬ ‫اﺥ ا‬ ‫يآ س‬ ‫در‬ ‫ار‬ ‫ي‬ ‫آ س‬ ‫ه ار‬super() ‫ ی ه ار‬super ‫.ه‬ ‫دق ا‬ ‫ه‬ ‫ا‬ ‫در ی‬ ‫آ . ای ا‬ .‫د‬ ‫زی آ س اﺝ ا‬ ‫ز‬ ‫آ داﺥ ی‬ ‫ري‬ ‫د‬ ‫اوﻝ‬ super ‫آ ر د‬ ‫دو‬ ‫ي‬ ‫آ س‬ ‫ ه ار‬super ‫ای‬ ، ‫آ‬ ‫ آ ر‬this ‫ودي‬ super ‫دو‬ ‫رت زی‬ ‫ای آ ر د‬ . ‫آ‬ ‫د ، ارﺝ ع‬ ‫د‬ ‫آ در ن ا‬ ‫زی آ‬ : ‫ا‬
  • 191. Super .member super ‫. ای دو‬ ‫روش ی ی‬ ‫ی‬ ‫ا‬ member ، ‫در ای‬ ‫را در‬ ‫ه نا‬ ‫ئ ی زی آ س ، ا‬ ‫ا‬ ‫آ ر د دارد آ در ن ا‬ ‫ای‬ ‫اي‬ : ‫ی‬ ‫د آ س را در‬ ‫ا‬ ‫ز . ای‬ ‫آ س‬ // Using super to overcome name hiding. class A { int i; } // Create a subclass by extending class A. class B extends A { int i; // this i hides the in A B(int a, int b ){ super.i = a; // i in A i = b; // i in B } void show )({ System.out.println("i in superclass :" + super.i); System.out.println("i in subclass :" + i); } } class UseSuper { public static void main(String args[] ){ B subOb = new B(1, 2); subOb.show)(; } } : ‫ده‬ ‫ی‬ ‫ﺥ وﺝ زی را‬ ‫ای‬ i in superclass :1 i in subclass :2 i ‫ند‬ ‫ ا‬super ‫زد ، ا‬ ‫ن‬ ‫ ر را‬A ‫ در‬i ‫ ر‬B‫ در‬i ‫ا‬ super‫ان از‬ ‫ﺥ اه دی ه‬ ‫ری‬ ‫ورد . ه‬ ‫ﺝ د‬ ‫در آ س‬ ‫ی‬ . ‫ا‬ ‫ی زی آ س‬ ‫ی آ‬ ‫رو‬ ‫اﺥ ا‬ ‫اي‬
  • 192. (Multilevel) ‫اﺕ چ‬ ‫ای د ی‬ ‫ﺝ ا‬ ‫.آ‬ ‫ﻝ ا‬ ‫ی وراﺙ‬ ‫ی‬ ‫زی آ‬ ‫ا‬ ‫ا‬ ‫آ س‬ ‫لا‬ ‫ان‬ . ‫د آ‬ ‫ا‬ ‫ي ی آ س دی‬ ‫ان آ س‬ ‫آ از ی زی آ س‬ ‫.و‬ A ‫ و ی زی آ س از‬B‫ا ی زی آ س از‬ C ‫ دا‬C‫ و‬B ،A ‫ه يﺥ د‬ ‫آ س‬ ‫ﺝ د در آ‬ ‫ي‬ ‫ﺥ‬ ‫، ه زی آ س آ‬ ‫ا‬ ‫ا ق‬ ‫ای‬ .‫د‬ ‫ و را رث‬A‫ و‬B‫ه ي‬ ‫ﺝ‬ ‫ آ‬C ، ‫ای‬ ‫د . در ای‬ ‫را رث‬ ‫زی آ س‬ ‫د‬ ‫ا‬ ‫ان ی آ س‬ Boxweight ‫ي ، زی آ س‬ ‫در‬ ‫ارث‬ ‫ را‬Box ‫ و‬Boxweight ‫ي‬ ‫ﺥ‬ ‫ آ‬shipment . ‫ی‬ ‫ را ای د‬shipment ‫ان‬ . ‫آ‬ ‫اري‬ ‫ﻝ را‬ ‫ی‬ ‫ا‬ ‫آ ه ی آ‬ ‫نا‬ cost ‫م‬ ‫د وی‬ // Extend BoxWeight to include shipping costs. // Start with Box. class Box { private double width; private double height; private double depth; // construct clone of an object Box(Box ob ){ // pass object to constructor width = ob.width; height = ob.height; depth = ob.depth; } // constructor used when all dimensions specified Box(double w, double h, double d ){ width = w; height = h; depth = d; } // constructor used when no dimensions specified Box )({ width =- 1; // use- 1 to indicate
  • 193. height =- 1; // an uninitialized depth =- 1; // box } // constructor used when cube is created Box(double len ){ width = height = depth = len; } // compute and return volume double volume(){ return width * height * depth; } } // Add weight. class BoxWeight extends Box { double weight; // weight of box // construct clone of an object BoxWeight(BoxWeight ob ){ // pass object to constructor super(ob); weight = ob.weight; } // constructor used when all parameters are specified BoxWeight(double w, double h, double d, double m ){ super(w, h, d); // call superclass constructor weight = m; } // default constructor BoxWeight (){ super)(; weight =- 1; } // constructor used when cube is created BoxWeight(double len, double m ){ super(len); weight = m; } } // Add shipping costs class Shipment extends BoxWeight {
  • 194. double cost; // construct clone of an object Shipment(Shipment ob ){ // pass object to constructor super(ob); cost = ob.cost; } // constructor used when all parameters are specified BoxWeight(double w, double h, double d, double m, double c ){ super(w, h, d); // call superclass constructor cost = c; } // default constructor Shipment (){ super(); cost =- 1; } // constructor used when cube is created BoxWeight(double len, double m, double c ){ super(len, m); cost = c; } } class DemoShipment { public static void main(String args[] ){ Shipment shipment1 = new Shipment(10, 20, 15, 10, 3.41); Shipment shipment2 = new Shipment(2, 3, 4, 0.76, 1.28); double vol; vol = shipment1.volume(); System.out.println("Volume of shipment1 is " + vol); System.out.println("Weight of shipment1 is " + shipment1.weight); System.out.println("Shipping cost :$" + shipment1.cost); System.out.println(); vol = shipment2.volume(); System.out.println("Volume of shipment2 is " + vol); System.out.println("Weight of shipment2 is " + shipment2.weight); System.out.println("Shipping cost :$" + shipment2.cost); } }
  • 195. ‫:‬ ‫رت زی‬ ‫ﺥ وﺝ ای‬ ‫0003 ‪Volume of shipment1 is‬‬ ‫01 ‪Weight of shipment1 is‬‬ ‫14.3$: ‪Shipping cost‬‬ ‫42 ‪Volume of shipment2 is‬‬ ‫67.0 ‪Weight of shipment2 is‬‬ ‫82.1$: ‪Shipping cost‬‬ ‫د‬ ‫‪ Box‬و ‪ Boxweight‬ا‬ ‫ی‬ ‫ي‬ ‫ا از آ‬ ‫وراﺙ ، ‪shipment‬‬ ‫ﻝ‬ ‫ی . ای‬ ‫اي آ ر د ﺥ ص ﺥ دش ز دارد ، ا‬ ‫آ‬ ‫تا‬ ‫ا‬ ‫ی و‬ ‫.‬ ‫ﺝ د ورد ا‬ ‫را‬ ‫د از آ ه ي‬ ‫د‬ ‫نا‬ ‫. وراﺙ ا‬ ‫از ارزش وراﺙ ا‬ ‫ی‬ ‫ﺝ د در دی‬ ‫ز‬ ‫ده ، )(‪ super‬ه ار‬ ‫ن‬ ‫را‬ ‫دی‬ ‫لی‬ ‫ای‬ ‫.‬ ‫اﺥ ا‬ ‫‪ Boxweight‬را‬ ‫ز‬ ‫آ . )(‪ super‬در ‪shipment‬‬ ‫ارﺝ ع‬ ‫آ س‬ ‫ا‬ ‫.در ی‬ ‫اﺥ ا‬ ‫ﺝ د در ‪ Box‬را‬ ‫ز‬ ‫)(‪super‬در ‪Boxweight‬‬ ‫ه‬ ‫ی ن را‬ ‫زی آ‬ ‫آ‬ ‫،‬ ‫ه‬ ‫را‬ ‫ز‬ ‫آ س‬ ‫ز‬ ‫ی‬ ‫آ س،ا‬ ‫ز‬ ‫ه ي ﺥ دش را‬ ‫ی زی آ س را‬ ‫را . ای ا‬ ‫ي ﺥ )‪(up the line‬‬ ‫را‬ ‫.‬ ‫ﺥ اه دا‬ ‫،‬ ‫ز ا‬ ‫دا‬ ‫‪ Boxweight ، Box‬و ‪shipment‬‬ ‫آ س،‬ ‫ا‬ ‫،آ‬ ‫ل‬ ‫: در‬ ‫. ا در ﺝ وا ، ه‬ ‫ا‬ ‫اي را‬ ‫ﻝ‬ ‫. ای‬ ‫ن داد‬ ‫ی‬ ‫در ی‬ ‫ه‬ ‫،‬ ‫. در‬ ‫ی‬ ‫آ‬ ‫وﺝ ا‬ ‫ار‬ ‫آ س ی در ی ي ﺥ ص ﺥ د ن‬ ‫ی از‬ ‫.‬ ‫آ‬ ‫ا‬ ‫در ای د‬ ‫ی ا‬ ‫و‬ ‫ی‬ ‫د از ی ي ﺝ ا‬ ‫ا‬ ‫‪ Constructor‬ه‬ ‫ز ن ا ا‬ ‫را‬ ‫ا‬ ‫آ‬ ‫نآ‬ ‫ز‬ ‫د،‬ ‫آ س ای د‬ ‫ا‬ ‫ی‬ ‫و‬ ‫م‪B‬وی آ س‬ ‫ل ، ی زی آ س‬ ‫ان‬ ‫?‬ ‫اﺥ ا‬ ‫ده‬ ‫آ‬ ‫ای ا‬ ‫?‬ ‫د، ی ﻝ‬ ‫اﺥ ا‬ ‫‪B‬‬ ‫ز‬ ‫از‬ ‫‪A‬‬ ‫ز‬ ‫م‪ ،A‬ی‬ ‫زی آ س‬ ‫ن از آ س‬ ‫ن‬ ‫ز‬ ‫آ س،‬ ‫ا‬ ‫در ی‬
  • 196. ‫زی آ س‬ ‫ز‬ ‫آ در ی‬ ‫ري‬ ‫د‬ ‫ ی اوﻝ‬super() ‫ن‬ ‫و‬ . ‫اﺥ ا‬ ‫د.ا‬ ‫دی‬ ‫د‬ ‫ ا‬super() ‫د ، ﺥ ا‬ ‫ر‬ ‫ه‬ ‫د ، ای‬ ‫اﺝ ا‬ ‫ه ی از زی آ‬ ‫ون را‬ ‫ز‬ ‫ضی‬ ‫ز‬ ‫د‬ ‫د‬ ‫ا‬super() : ‫ن اﺝ ا‬ ‫ز‬ ‫ز‬ ‫ده آ‬ ‫ن‬ ‫ي‬ . ‫اﺝ ا ﺥ اه‬ // Demonstrate when constructors are called. // Create a super class. class A { A (){ System.out.println("Inside A's constructor.") } } // Create a subclass by extending class A. class B extends A { B (){ System.out.println("Inside B's constructor.") } } // Create another subclass by extending B. class C extends B { C (){ System.out.println("Inside C's constructor.") } } class CallingCons { public static void main(String args[] ){ C c = new C(); } } : ‫ح زی‬ ‫ﺥ وﺝ ای‬ Inside A's constructor Inside B's constructor Inside C's constructor
  • 197. ‫در ر ن‬ ‫.ا‬ ‫اﺥ ا‬ ‫ن‬ ‫ن‬ ‫ز‬ ‫آ ،‬ ‫ه‬ ‫ری‬ ‫ه‬ ‫نی آ س‬ ‫.‬ ‫ن اﺝ ا‬ ‫ز‬ ‫ا‬ ‫آ‬ ‫،‬ ‫آ‬ ‫ز‬ ‫ن‬ ‫اي اﺝ ا‬ ‫آ‬ ‫ار ده اوﻝ‬ ‫ارد ، ه‬ ‫ه‬ ‫يﺥ د‬ ‫زی آ‬ ‫زی آ س د‬ ‫م‬ ‫ار ده اوﻝ ا‬ ‫زه‬ ‫، ﺝ ا از و ا‬ ‫دا‬ ‫د.‬ ‫م‬ ‫ای ، ی اول ای آ ر ا‬ ‫و‬ ‫ه‬ ‫‪ Override‬آ دن‬ ‫ﺝ د‬ ‫ع ی روش‬ ‫ی روش در ی زی آ س ه ن م و‬ ‫آ س،و‬ ‫ا‬ ‫در ی‬ ‫ﺝ د در‬ ‫ن روش در زی آ س ، روش‬ ‫ی‬ ‫،‬ ‫ي ﺥ د را دا‬ ‫در آ س‬ ‫از داﺥ ی‬ ‫ی روش ﻝ‬ ‫ی .و‬ ‫ي‬ ‫وي ن ﺝ‬ ‫د ی از‬ ‫را ﻝ‬ ‫آ س‬ ‫،‬ ‫ی‬ ‫زی آ س‬ ‫از ن روش آ‬ ‫روای‬ ‫د ، ه ار‬ ‫اﺥ ا‬ ‫زی آ س‬ ‫رد‬ ‫.‬ ‫ن ﺥ اه‬ ‫د ،‬ ‫ی‬ ‫از ه ن روش‬ ‫آ آ س‬ ‫د و روای‬ ‫ارﺝ ع ﺥ اه‬ ‫ی :‬ ‫زی را در‬ ‫.‪// Method overriding‬‬ ‫{ ‪class A‬‬ ‫;‪int i, j‬‬ ‫{) ‪A(int a, int b‬‬ ‫;‪i = a‬‬ ‫;‪j = b‬‬ ‫}‬ ‫‪// display i and j‬‬ ‫{)( ‪void show‬‬ ‫;)‪System.out.println("i and j :" + i + " " + j‬‬ ‫}‬ ‫}‬ ‫{ ‪class B extends A‬‬ ‫;‪int k‬‬ ‫{) ‪B(int a, int b, int c‬‬ ‫;)‪super(a, b‬‬ ‫;‪k = c‬‬
  • 198. } // display k -- this overrides show )(in A void show (){ System.out.println("k :" + k); } } class Override { public static void main(String args[] ){ B subOb = new B(1, 2, 3); subOb.show(); // this calls show )(in B } } : ‫ار زی‬ ‫ای‬ ‫ﻝ‬ K : 3 B ‫ آ داﺥ‬show ‫از‬ ‫د ، روای‬ ‫اﺥ ا‬ B‫ع‬ ‫ئ از‬ ‫ روي ی‬show() ‫و‬ ‫ن‬ ‫ ، روای ا‬B ‫ داﺥ‬show() ‫آ ، روای‬ ‫د. ی‬ ‫ار‬ ‫د‬ ‫رد ا‬ ‫ی‬ . ‫آ‬ ‫ را ﻝ‬A ‫در‬ ‫، ای آ ر را‬ ‫دا‬ ‫د‬ ‫ﻝ‬ ‫يی‬ ‫آ س‬ ‫روای‬ ‫ﺥ اه‬ ‫ا‬ show() ‫ي‬ ‫آ س‬ ‫ روای‬B ‫از‬ ‫ل ، در ای روای‬ ‫ان‬ . ‫م ده‬ ‫ ا‬super ‫د از‬ ‫ا‬ ‫اﺝ ز‬ ‫هي‬ ‫آ‬ ‫. ای ا‬ ‫ﺥ اه‬ ‫اﺥ ا‬ ‫زی آ س‬ ‫ط‬ ‫داﺥ روای‬ . ‫در ی‬ ‫ی‬ ‫ده‬ class B extends A { int k; B(int a, int b, int c ){ super(a, b); k = c; } void show (){ super.show(); // this calls A's show)( System.out.println("k :" + k); } }
  • 199. : ‫آ‬ ‫ه‬ ‫ی ، ﺥ وﺝ زی را‬ ‫ی‬ ‫ﺝی‬ ‫ را در‬A ‫ای روای از‬ ‫ا‬ i and j :1 2 k:3 ‫روش‬ ‫آ .ﻝ‬ ‫اﺥ ا‬ ‫ را‬show() ‫ي‬ ‫آ س‬ ‫ روای‬super.show()، ‫در ای‬ ‫دو روش‬ ، ‫.ا‬ ‫ن‬ ‫ع دو روش ی‬ ‫و‬ ‫آ ا‬ ‫ا‬ ‫ا ق‬ ‫ز‬ ‫ل‬ ‫ح‬ ‫ل ، ای روای ا‬ ‫ان‬ . ‫( ﺥ اه‬overioaded) ‫د ا‬ ‫ﺥ‬ :‫ی‬ ‫را در‬ // Methods with differing type signatures are overloaded -- not // overridden. class A { int I, j; A(int a, int b ){ i = a; j = b; } // display i and j void show (){ System.out.println("i and j :" + i + " " + j); } } // Create a subclass by extending class A. class B extends A { int k; B(int a, int b, int c ){ super(a, b); k = c; } // overload show)( void show(String msg ){ System.out.println(msg + k); } } class Override { public static void main(String args[] ){
  • 200. ‫;)3 ,2 ,1(‪B subOb = new B‬‬ ‫‪subOb.show("This is k :"); // this calls show )(in B‬‬ ‫‪subOb.show(); // this calls show )(in A‬‬ ‫}‬ ‫}‬ ‫:‬ ‫ار زی‬ ‫ای‬ ‫ﻝ‬ ‫3:‪This is k‬‬ ‫2 1: ‪i and j‬‬ ‫ع ن‬ ‫ن ی ی‬ ‫وت‬ ‫د. ای‬ ‫اي‬ ‫ر‬ ‫را‬ ‫روای )(‪ show‬در‪ B‬ر ی‬ ‫نا‬ ‫)ی‬ ‫ای‬ ‫د.‬ ‫ي را‬ ‫را‬ ‫،آ ه‬ ‫ﺝ د در ‪A‬‬ ‫از ع‬ ‫ا .‬ ‫(ا ق‬ ‫ه‬ ‫ﺕ زی )‪ (dispatch‬پ ی ي‬ ‫ی‬ ‫در‬ ‫ای‬ ‫،‬ ‫ي م وﺝ د ا‬ ‫ارداد‬ ‫ا از ی‬ ‫ي‬ ‫رو‬ ‫در ﻝ‬ ‫ا‬ ‫روش‬ ‫.ﻝ‬ ‫د. ا ای‬ ‫ارزش‬ ‫وي و‬ ‫آ‬ ‫ﻝ ، ار‬ ‫. ای ی‬ ‫ی ي روش " ا‬ ‫" زی‬ ‫رت در ﺝ وا ی‬ ‫ه‬ ‫از‬ ‫ا سی‬ ‫ده‬ ‫ی ، از‬ ‫ضز نآ‬ ‫اﺝ ا ، در‬ ‫در‬ ‫ﻝ‬ ‫اﺥ ا‬ ‫نی‬ ‫آ‬ ‫ا‬ ‫را در‬ ‫ن‬ ‫آ ﺝ وا‬ ‫ا‬ ‫ی‬ ‫ن‬ ‫ا‬ ‫ی ي روش‬ ‫د. زی‬ ‫ی.‬ ‫زي‬ ‫اﺝ ا د‬ ‫ا‬ ‫ارﺝ ع آ س‬ ‫:ی‬ ‫وع‬ ‫ا‬ ‫ار ی‬ ‫را‬ ‫ي‬ ‫رو‬ ‫اﺥ ا‬ ‫د آ د و‬ ‫ا‬ ‫ی . ﺝ وا از ای وا‬ ‫ئ زی آ س ارﺝ ع‬ ‫ی‬ ‫ی ی ارﺝ ع آ س‬ ‫از‬ ‫ی روش ﻝ‬ ‫د.و‬ ‫اﺝ ا از‬ ‫را‬ ‫ﻝ‬ ‫،‬ ‫ا‬ ‫ا ق‬ ‫اﺥ ا‬ ‫آ‬ ‫در ز‬ ‫ئ ارﺝ ع‬ ‫ا س ع‬ ‫د، ﺝ وا‬ ‫اﺥ ا‬ ‫د.‬ ‫آ آ آ ام روای از روش ی اﺝ ا‬ ‫ا اع‬ ‫د.و‬ ‫م‬ ‫اﺝ ا ا‬ ‫روش ،‬ ‫ﺥ ص از ی‬ ‫روای‬ ‫ای ،‬ ‫.‬ ‫ﺥ اه‬ ‫اﺥ ا‬ ‫روش ﻝ‬ ‫از ی‬ ‫، روای ي‬ ‫رﺝ ع‬ ‫ا‬ ‫آ آ ام‬ ‫ارﺝ ع ) آ‬ ‫ع‬ ‫(‬ ‫ا‬ ‫ئ ارﺝ ع‬ ‫ع‬ ‫، ای‬ ‫رت دی‬
  • 201. ‫ی روش ﻝ‬ ‫در‬ ‫ی آ س‬ ‫ای ا‬ .‫د‬ ‫ی اﺝ ا‬ ‫روای از روش ﻝ‬ ‫ارﺝ ع آ س‬ ‫ی ی‬ ‫ئ از‬ ‫ا‬ ‫آ ا اع‬ ‫ز‬ ، ‫ی زی آ س‬ . ‫ن روش اﺝ ا ﺥ اه‬ ‫ي‬ ‫روای‬ ‫ار‬ ‫رد ارﺝ ع‬ : ‫ه‬ ‫ن‬ ‫ی ي روش را‬ ‫زی‬ ‫آ‬ ‫ه‬ ‫ﻝ را‬ ‫در ای‬ // Dynamic Method Dispatch class A { void callme (){ System.out.println("Inside A's callme method"); } } class B extends A { // override callme)( void callme (){ System.out.println("Inside B's callme method"); } } class C extends A { // override callme)( void callme (){ System.out.println("Inside C's callme method"); } } class Dispatch { public static void main(String args[] ){ A a = new A(); // object of type A B b = new B(); // object of type B C c = new C(); // object of type C A r; // obtain a reference of type A r = a; // r refers to an A object r.callme(); // calls A's version of callme r = b; // r refers to a B object r.callme(); // calls B's version of callme r = c; // r refers to a C object r.callme(); // calls C's version of callme
  • 202. ‫}‬ ‫}‬ ‫:‬ ‫ار زی‬ ‫ﺥ وﺝ ای‬ ‫‪Inside A's callme method‬‬ ‫‪Inside B's callme method‬‬ ‫‪Inside C's callme method‬‬ ‫آ .‬ ‫م ‪ B‬و‪ C‬و را ای د‬ ‫م ‪ A‬و دو زی آ س ن‬ ‫ي‬ ‫ی آ س‬ ‫ای‬ ‫د . درون روش )(‪main‬‬ ‫در ‪A‬‬ ‫ن‬ ‫)(‪ callme‬ا‬ ‫ﻝ‬ ‫ي ‪ B‬و‪ C‬و‬ ‫زی آ‬ ‫.‬ ‫ا‬ ‫ن‬ ‫ی ارﺝ ع از ع ‪ A‬م ‪ r‬ا‬ ‫ا .ه‬ ‫ن‬ ‫از ع ‪ B، A‬و‪ C‬ا‬ ‫ا‬ ‫داد و از ن ارﺝ ع اي اﺥ ا‬ ‫‪ r‬را‬ ‫ه ی از ا اع ا‬ ‫ی ارﺝ ع‬ ‫از )(‪callme‬‬ ‫ده ، روای‬ ‫ن‬ ‫ای‬ ‫ری‬ ‫آ .ه‬ ‫د‬ ‫)(‪callme‬ا‬ ‫،‬ ‫ار‬ ‫رد ارﺝ ع‬ ‫اﺥ ا‬ ‫آ در ز ن‬ ‫ع‬ ‫د‬ ‫ی اﺝ ا‬ ‫آ‬ ‫روش‬ ‫اﺥ ا‬ ‫م‬ ‫‪r‬ا‬ ‫ارﺝ ع ی‬ ‫ع‬ ‫ای‬ ‫د.ا‬ ‫ی .‬ ‫اﺝ‬ ‫‪A‬‬ ‫ط‬ ‫)(‪callme‬‬ ‫در ﺝ وا‬ ‫ي ﻝ‬ ‫ده آ رو‬ ‫ه‬ ‫++‪C‬‬ ‫آ‬ ‫: آ‬ ‫.‬ ‫زي )‪ (virtual functions‬در ++‪ C‬ه‬ ‫ا‬ ‫ﺵ ؟‬ ‫هي‬ ‫چ ا‬ ‫ده .‬ ‫اﺝ ا را‬ ‫از‬ ‫ﺝ وا اﺝ ز‬ ‫يﻝ‬ ‫آ رو‬ ‫ه‬ ‫اﺝ ز‬ ‫ی آ س‬ ‫ﻝ‬ ‫: ای‬ ‫ا زم ا‬ ‫ئ‬ ‫ی‬ ‫اي‬ ‫ی دﻝ‬ ‫زی‬ ‫،و‬ ‫ك‬ ‫ت نآ س‬ ‫اي آ‬ ‫ی آ‬ ‫ی را‬ ‫رو‬ ‫ده‬ ‫ي‬ ‫ی . رو‬ ‫ی‬ ‫را‬ ‫رو‬ ‫ﺥ ی آ‬ ‫زی ي‬ ‫د‬ ‫ده‬ ‫آ س ه اﺝ ز‬ ‫از وﺝ‬ ‫ان ی‬ ‫ی روش " را‬ ‫و‬ ‫" ی را‬ ‫اي ﺝ وا ا‬ ‫ي‬ ‫را دی‬ ‫ﻝ‬ ‫ی .‬ ‫زي‬ ‫د‬ ‫ه و زی آ‬ ‫آ آ س‬ ‫ا‬ ‫، درك ای‬ ‫آر د‬ ‫از آ‬ ‫آ س‬ ‫آ .ا‬ ‫آ‬ ‫ر‬ ‫تآ‬ ‫ه آ از‬ ‫ا‬ ‫ی‬
  • 203. ‫ی ،‬ ‫د‬ ‫ا‬ ‫ر‬ ‫ا‬ ‫آ ی زی آ س‬ ‫اﺝ ا‬ ‫د، آ‬ ‫د‬ ‫ا‬ ‫ر‬ ‫ده ، آ‬ ‫ي ﺥ دش را‬ ‫رو‬ ‫ی‬ ‫ف‬ ‫ا‬ ‫زی آ س‬ ‫آ . ای ا‬ ‫ی‬ ‫يﻝ‬ ‫رو‬ ‫وراﺙ‬ ‫آ‬ ‫ای ،‬ ‫ورد .‬ ‫را ﺝ د‬ ‫ن ی را‬ ‫ه‬ ‫د‬ ‫ا‬ ‫ي‬ ‫زی آ‬ ‫آ‬ ‫ی را آ‬ ‫رو‬ ‫ا‬ ‫،ی آ س‬ ‫ی.‬ ‫ی‬ ‫را‬ ‫ﺥ اه‬ ‫ای را‬ ‫ا‬ ‫آ‬ ‫ی ا‬ ‫ی‬ ‫از ر‬ ‫اﺝ ا ی‬ ‫ی و‬ ‫هي‬ ‫رت آ‬ ‫ده‬ ‫. ای ا ار ا ای‬ ‫د ا‬ ‫يآه‬ ‫دو‬ ‫د‬ ‫ا‬ ‫ی‬ ‫آ‬ ‫ز‬ ‫ون‬ ‫يﺝی‬ ‫ه يآ‬ ‫ي روي‬ ‫رو‬ ‫اﺥ ا‬ ‫اي‬ ‫ﺝ د‬ ‫آ هي‬ ‫.‬ ‫آ‬ ‫د و زی را‬ ‫ی را‬ ‫ﻝ‬ ‫در‬ ‫د‬ ‫روش‬ ‫ر دن‬ ‫يی‬ ‫.‬ ‫آ‬ ‫آ ،‬ ‫د‬ ‫روش ا‬ ‫آ از ﻝ‬ ‫ل‬ ‫ی‬ ‫اﺝ ز ده‬ ‫آ . ای‬ ‫ي را ذﺥ‬ ‫دو‬ ‫آ آ ا دا‬ ‫م ‪ Figure‬را ای د‬ ‫آ س‬ ‫آ .‬ ‫را‬ ‫ی‬ ‫آ آ‬ ‫ی‬ ‫م ‪ ()area‬را‬ ‫ی روش‬ ‫ه‬ ‫ن ‪Triangle‬‬ ‫ن ‪ Rectangle‬و دو‬ ‫آ . اوﻝ‬ ‫، دو زی آ س از ‪Figure‬‬ ‫و‬ ‫ی‬ ‫آ‬ ‫ري ﻝ‬ ‫)(‪ area‬را‬ ‫. ه ی از ای زی آ‬ ‫ا‬ ‫دان آ .‬ ‫را‬ ‫.‪// Using run-time polymorphism‬‬ ‫{ ‪class Figure‬‬ ‫;1‪double dim‬‬ ‫;2‪double dim‬‬ ‫{) ‪Figure(double a, double b‬‬ ‫;‪dim1 = a‬‬ ‫;‪dim2 = b‬‬ ‫}‬ ‫{)( ‪double area‬‬ ‫;)".‪System.out.println("Area for Figure is undefined‬‬ ‫;0 ‪return‬‬ ‫}‬
  • 204. } class Rectangle extends Figure { Rectangle(double a, double b ){ super(a, b); } // override area for rectangle double area (){ System.out.println("Inside Area for Rectangle."); return dim1 * dim2; } } class Triangle extends Figure { Triangle(double a, double b ){ super(a, b); } // override area for right triangle double area (){ System.out.println("Inside Area for Triangle."); return dim1 * dim2 / 2; } } class FindAreas { public static void main(String args[] ){ Figure f = new Figure(10, 10); Rectangle r = new Rectangle(9, 5); Triangle t = new Triangle(10, 8); Figure figref; figref = r; System.out.println("Area is " + figref.area))(; figref = t; System.out.println("Area is " + figref.area))(; figref = f; System.out.println("Area is " + figref.area))(; } } : ‫ار زی ا‬ ‫ای‬
  • 205. ‫.‪Inside Area for Rectangle‬‬ ‫54 ‪Area is‬‬ ‫.‪Inside Area for Triangle‬‬ ‫04 ‪Area is‬‬ ‫.‪Area for Figure is undefined‬‬ ‫0 ‪Area is‬‬ ‫اي‬ ‫آ‬ ‫ی را‬ ‫ی‬ ‫ن‬ ‫اﺝ ا ، ا‬ ‫وراﺙ و‬ ‫دو‬ ‫ی‬ ‫از‬ ‫از‬ ‫ﻝ ،ا‬ ‫د ، وﺝ د دارد . در ای‬ ‫د‬ ‫،ا‬ ‫،ا‬ ‫ئ‬ ‫عا‬ ‫ی‬ ‫ئ را‬ ‫ن‬ ‫ان‬ ‫)(‪area‬‬ ‫اﺥ ا‬ ‫د،‬ ‫ئ‬ ‫‪Figure‬ی‬ ‫ن‬ ‫ی‬ ‫د ،ه‬ ‫رد ا‬ ‫ه‬ ‫از ع‬ ‫ت‬ ‫ای‬ ‫ط‬ ‫ورد . را‬ ‫.‬ ‫ا‬ ‫د )‪(abstract‬‬ ‫ي‬ ‫د از آ‬ ‫ا‬ ‫را ون‬ ‫ﺥ ر ی ا اع‬ ‫ی آ‬ ‫ی‬ ‫اه ی آ س‬ ‫وﺝ د دارد آ‬ ‫ای‬ ‫ای د آ‬ ‫ﺥ اه ی آ س‬ ‫ه‬ ‫ی .ی‬ ‫ن‬ ‫،ا‬ ‫از ه رو‬ ‫زي آ‬ ‫د‬ ‫ی‬ ‫ﺥ اه‬ ‫اك ا‬ ‫ی‬ ‫زی آ‬ ‫آ‬ ‫آ آ‬ ‫ی‬ ‫را‬ ‫ی‬ ‫آ‬ ‫د.ی‬ ‫ه ی از زی آ س ه وا ار‬ ‫ت ای‬ ‫آ دن ﺝ‬ ‫و‬ ‫اي‬ ‫آ .ی‬ ‫ی‬ ‫ی را‬ ‫زي‬ ‫د‬ ‫ی‬ ‫ی آ زی آ‬ ‫رو‬ ‫آ‬ ‫اي ی‬ ‫زي‬ ‫د‬ ‫ا ی ای د ی‬ ‫آ ی آ س‬ ‫ا‬ ‫ای ز‬ ‫و ع ای‬ ‫. ای‬ ‫ن)‪ (place holder‬ا‬ ‫ار‬ ‫د ی‬ ‫‪ ()area‬ﺥ‬ ‫ی‬ ‫.‬ ‫روش را ا‬ ‫هيﺥص‬ ‫م ای د آ‬ ‫ده . ه‬ ‫ی‬ ‫د و‬ ‫ئ را‬ ‫ا اع‬ ‫روش‬ ‫در‬ ‫ی‬ ‫روش ه‬ ‫ی‬ ‫ا‬ ‫ل‬ ‫آ س ﺥ د ، ﺥ اه دی آ‬ ‫ی .ی‬ ‫ادار‬ ‫ا‬ ‫ی‬ ‫ای را و‬ ‫. ای‬ ‫يﺥ د ا‬ ‫)‪ (context‬آ س‬ ‫ای‬ ‫ای روش در ﺥ‬ ‫ی .ا‬ ‫ارش‬ ‫م ه ار)‪(warning‬‬ ‫آ ی‬ ‫ی ای ا‬ ‫ا‬ ‫.‬ ‫روش دا‬ ‫،ا‬ ‫ا‬ ‫)‪(debugging‬‬ ‫ل زدای‬ ‫ا‬ ‫ﺥص‬ ‫د.‬ ‫دار‬ ‫ن زی آ س‬ ‫ای‬ ‫زی آ س ﻝ‬ ‫ی‬ ‫آ‬ ‫ی دا‬ ‫رو‬
  • 206. ‫ارد . در‬ ‫ی‬ ‫د، ای آ س ه‬ ‫ی‬ ‫‪()area‬‬ ‫ی .ا‬ ‫آ س ‪ Triangle‬را در‬ ‫ي‬ ‫رو‬ ‫آ‬ ‫ی آ ی زی آ س در‬ ‫ل راه ه‬ ‫ﻝ ،‬ ‫ای‬ ‫.‬ ‫د ‪ abstract method‬ا‬ ‫روش‬ ‫اي ای‬ ‫ﺝ وا‬ ‫آ . را‬ ‫وري را ﻝ‬ ‫ي‬ ‫ع ‪ ، abstract‬رو‬ ‫حآ‬ ‫دن ا‬ ‫و‬ ‫زی آ‬ ‫ا‬ ‫ه‬ ‫د ، زی ا‬ ‫ق‬ ‫ه ‪ subclasser responsibilty‬ا‬ ‫ای رو‬ ‫ی .‬ ‫را ﻝ‬ ‫ی‬ ‫را ﻝ‬ ‫زی آ س ی‬ ‫ای ی‬ ‫ار .‬ ‫اي در آ س‬ ‫زي‬ ‫د‬ ‫ن ی روش‬ ‫اي ا‬ ‫ی .‬ ‫د‬ ‫را ا‬ ‫در آ س‬ ‫ی‬ ‫روای‬ ‫د‬ ‫ا‬ ‫ن‬ ‫ی .‬ ‫د‬ ‫زی ا‬ ‫د ، از‬ ‫;)‪abstract type name( parameter-list‬‬ ‫آ در‬ ‫.ه آ‬ ‫ا‬ ‫روش‬ ‫در ای‬ ‫آ‬ ‫ه‬ ‫ری‬ ‫ه‬ ‫د‬ ‫ان‬ ‫نی آ س‬ ‫اي ا‬ ‫دد .‬ ‫ن‬ ‫دا‬ ‫ان‬ ‫، ی‬ ‫د‬ ‫روش‬ ‫ی ی‬ ‫د‬ ‫نآ سا‬ ‫از واژ آ ي ‪ abstract‬در ﺝ ي واژ آ ي ‪ class‬در ا اي ا‬ ‫د‬ ‫،‬ ‫د ی‬ ‫ی آ س‬ ‫د.ی‬ ‫ان ای د‬ ‫ده‬ ‫اي ی آ س‬ ‫ی .‬ ‫، زی ا ی آ س‬ ‫د ه‬ ‫ون ا‬ ‫نا‬ ‫د.‬ ‫زي‬ ‫‪new‬‬ ‫ر‬ ‫ي‬ ‫ي ای‬ ‫د ی رو‬ ‫ن‬ ‫ز‬ ‫ا‬ ‫.ه‬ ‫ا‬ ‫ی‬ ‫رآ‬ ‫د‬ ‫ﺝ د در‬ ‫د‬ ‫ي‬ ‫رو‬ ‫د ی ی آ‬ ‫ی . ه زی آ س از ی آ س‬ ‫ن‬ ‫دا‬ ‫ل د‬ ‫د . در ای‬ ‫ن‬ ‫ان ی ‪ abstract‬ا‬ ‫ی ، و ی ﺥ دش‬ ‫زي‬ ‫را د‬ ‫آ س‬ ‫آ ن‬ ‫ار‬ ‫از ن ی آ س‬ ‫آ‬ ‫آ‬ ‫ه‬ ‫د‬ ‫اي از ی آ س ی روش‬ ‫آ :‬ ‫زي‬ ‫روش را د‬ ‫.‪// A Simple demonstration of abstract‬‬ ‫{ ‪abstract class A‬‬ ‫;)(‪abstract void callme‬‬ ‫‪// concrete methods are still allowed in abstract classes‬‬ ‫{)( ‪void callmetoo‬‬ ‫;)".‪System.out.println("This is a concrete method‬‬ ‫}‬ ‫}‬ ‫{ ‪class B extends A‬‬
  • 207. ‫{)( ‪void callme‬‬ ‫;)".‪System.out.println("B's implementetion of callme‬‬ ‫}‬ ‫}‬ ‫{ ‪class AbstractDemo‬‬ ‫{) ][‪public static void main(String args‬‬ ‫;)(‪B b = new B‬‬ ‫;)(‪b.callme‬‬ ‫;)(‪b.callmetoo‬‬ ‫}‬ ‫}‬ ‫ن‬ ‫،ا‬ ‫ذآ‬ ‫ری‬ ‫.ه‬ ‫ا‬ ‫ن‬ ‫ا‬ ‫از آ س ‪ A‬در‬ ‫آ ه‬ ‫ﺝ آ‬ ‫م‬ ‫روش وا‬ ‫:آ س‪A‬ی‬ ‫دی‬ ‫د وﺝ د ارد . ی‬ ‫آ س‬ ‫زي ی‬ ‫ا‬ ‫د‬ ‫ي‬ ‫.آ‬ ‫لا‬ ‫آ‬ ‫آ . ای ا‬ ‫زي‬ ‫د‬ ‫)(‪callmetoo‬را‬ ‫.‬ ‫زی‬ ‫د‬ ‫ی ، در‬ ‫را‬ ‫دا‬ ‫اي ای د‬ ‫د، ا از‬ ‫د‬ ‫ئا‬ ‫زي ا‬ ‫اي‬ ‫د‬ ‫ي‬ ‫ان از آ‬ ‫ا‬ ‫د‬ ‫ی ا‬ ‫اﺝ ا از‬ ‫د زی ا روش ﺝ وا اي‬ ‫د‬ ‫ان ا‬ ‫ارﺝ ت‬ ‫ی آ س‬ ‫ای ، ی ا ن ای د ی ارﺝ ع‬ ‫.‬ ‫زي ﺥ اه‬ ‫د‬ ‫از ارﺝ ت آ س‬ ‫د.‬ ‫زی آ س ا ر‬ ‫ی‬ ‫د از ن ارﺝ ع‬ ‫ا‬ ‫ری‬ ‫د وﺝ د دا‬ ‫ي ﺥ اه دی .‬ ‫ل‬ ‫را در‬ ‫د از ای ﺝ‬ ‫ا‬ ‫م‬ ‫ن‬ ‫ده .‬ ‫آ س ‪ Figure‬را‬ ‫ا‬ ‫د،‬ ‫آ س‬ ‫د از ی‬ ‫ا‬ ‫ي ای‬ ‫وﺝ د ارد ، روای‬ ‫ی‬ ‫ي‬ ‫دو‬ ‫ی‬ ‫اي‬ ‫ی‬ ‫آ‬ ‫ا‬ ‫ان‬ ‫آ . ای اﻝ‬ ‫ن‬ ‫د داﺥ ‪ Figure‬ا‬ ‫ان ی‬ ‫‪ ()area‬را‬ ‫ی .‬ ‫از ‪ Figure‬ی )(‪ area‬را ﻝ‬ ‫ي‬ ‫آ‬ ‫آ‬ ‫.‪// Using abstract methods and classes‬‬ ‫{ ‪abstract class Figure‬‬ ‫;1‪double dim‬‬ ‫;2‪double dim‬‬ ‫{) ‪Figure(double a, double b‬‬ ‫;‪dim1 = a‬‬ ‫;‪dim2 = b‬‬
  • 208. } // area is now an abstract method abstruct double area(); } class Rectangle extends Figure { Rectangle(duoble a, double b ){ super(a, b); } // override area for rectangle double area (){ System.out.println("Inside Area for Rectangle."); return dim1 * dim2; } } class Triangle extends Figure { Triangle(double a, double b ){ super(a, B); } // override area for right triangle double area (){ System.out.println("Inside Area for Teriangle."); return dim1 * dim2 / 2; } } class AbstractAreas { public static void main(String args[] ){ // Figure f = new Figure(10, 10); // illegal now Rectangle r = new Rectanlge(9, 5); Triangle t = new Triangle(10, 8); Figure figref; // this is OK/ no object is created figref = r; System.out.println("Area is " + figref.area))(; figref = t; System.out.println("Area is " + figref.area))(; } }
  • 209. ‫ع ‪Figure‬‬ ‫ئ از‬ ‫نا‬ ‫نا‬ ‫ا‬ ‫ده ، دی‬ ‫ن‬ ‫درون )(‪main‬‬ ‫ری‬ ‫ه‬ ‫ي ‪ Figure‬ی )(‪ area‬را ﻝ‬ ‫زی آ‬ ‫.آ‬ ‫دا‬ ‫رت‬ ‫ن اآ ن‬ ‫وﺝ د ارد ،‬ ‫آ .‬ ‫ی آ )(‪ area‬را ﻝ‬ ‫ی زی آ س ای د‬ ‫آ‬ ‫اي اﺙ ت ای ا ،‬ ‫ی .‬ ‫آ .‬ ‫ی دری‬ ‫ی ﺥ ي ‪ complle-time‬در ز ن آ‬ ‫ع‬ ‫ارﺝ ع از‬ ‫ی‬ ‫ا‬ ‫از ع ‪ Figure‬وﺝ د ارد، ا‬ ‫ن ای د ی‬ ‫ا‬ ‫ا‬ ‫ا‬ ‫و ان‬ ‫ن‬ ‫‪ Figure‬ا‬ ‫ان ارﺝ‬ ‫‪fighref‬‬ ‫ی .‬ ‫‪Figure‬ای د‬ ‫د.‬ ‫از ‪ ، Figure‬ارﺝ ع‬ ‫از ه آ س‬ ‫ی‬ ‫ان‬ ‫د از ن‬ ‫ا‬ ‫آ‬ ‫ی در ز ن اﺝ ا‬ ‫ه ي ‪override‬‬ ‫رش از‬ ‫آ ام‬ ‫ای‬ ‫دادی ،‬ ‫ری‬ ‫ه‬ ‫د.‬ ‫رت‬ ‫قآ سه‬ ‫ه ي ارﺝ ع‬ ‫ی‬ ‫، از‬ ‫ل‬ ‫وراﺙ‬ ‫د از ‪Final‬‬ ‫ا‬ ‫دار. دو آ ر د دی‬ ‫ا‬ ‫ی ﺙ‬ ‫اي ای د‬ ‫آ ر د دارد . اول‬ ‫واژ آ ي ‪final‬‬ ‫آ دن‬ ‫از ﻝ‬ ‫اي‬ ‫د از ‪final‬‬ ‫.ا‬ ‫ﺥ اه‬ ‫ر‬ ‫و‬ ‫ه‬ ‫وراﺙ‬ ‫ط‬ ‫آ‬ ‫ی وﺝ د دار‬ ‫،ا ز‬ ‫ﺝ وا ا‬ ‫هي ر‬ ‫از ﺝ‬ ‫آ دن روش ی‬ ‫ﻝ‬ ‫ﻝ‬ ‫در‬ ‫ان‬ ‫ی روش ، ‪ final‬را‬ ‫ز آ دن ﻝ‬ ‫اي‬ ‫دی .‬ ‫روش‬ ‫و عﻝ‬ ‫ﺥ اه‬ ‫ا‬ ‫ان ‪final‬‬ ‫ن‬ ‫يا‬ ‫ی . رو‬ ‫ن ن‬ ‫وع ا‬ ‫در‬ ‫ی ا‬ ‫:‬ ‫‪ final‬ا‬ ‫ن ده‬ ‫ي‬ ‫.‬ ‫ﻝ‬ ‫{ ‪class A‬‬ ‫{)( ‪final void meth‬‬ ‫;)".‪System.out.println("This is a final method‬‬ ‫}‬ ‫}‬ ‫{ ‪class B extends A‬‬ ‫.‪void meth (){ // ERROR! Can't override‬‬ ‫;)"!‪System.out.println("Illegal‬‬ ‫}‬ ‫}‬
  • 210. ‫د.ا‬ ‫ان ن را در ‪ B‬ﻝ‬ ‫،‬ ‫ن‬ ‫ان ‪ final‬ا‬ ‫ن )(‪meth‬‬ ‫ان ‪ final‬ه‬ ‫ن‬ ‫يا‬ ‫د . رو‬ ‫ی ﺥ ي ‪ complle-time‬ﺥ اه‬ ‫،‬ ‫:‬ ‫د‬ ‫ا ای‬ ‫ا‬ ‫اﺥ ا ‪inline‬‬ ‫ی از‬ ‫،آ‬ ‫اه‬ ‫ی زی آ س ﻝ‬ ‫دا آ‬ ‫ی‬ ‫نآ‬ ‫ا آ‬ ‫ی ﺝ وا‬ ‫آ‬ ‫دا‬ ‫اﺥ ا‬ ‫‪final‬‬ ‫آ‬ ‫ی‬ ‫د. و‬ ‫زاد‬ ‫آ‬ ‫اﺥ ا‬ ‫در روش‬ ‫ی‬ ‫)‪ (inline‬آ آ‬ ‫درون ﺥ‬ ‫اي زی روال‬ ‫را‬ ‫ی‬ ‫ی ‪. Inlining‬‬ ‫ف‬ ‫اﺥ ان روش را‬ ‫ه ی ه ا ی‬ ‫ی ي‬ ‫ی ،و ی‬ ‫رت ی‬ ‫را‬ ‫رو‬ ‫اﺥ ا‬ ‫، ﺝ وا‬ ‫ر‬ ‫.‬ ‫ي ‪ final‬ا‬ ‫رو‬ ‫ی‬ ‫ی‬ ‫ی‬ ‫. ا از‬ ‫را ‪late binding‬‬ ‫آ . ای‬ ‫و‬ ‫اﺝ ا‬ ‫و در ز ن‬ ‫و‬ ‫ی‬ ‫ان در ز ن آ‬ ‫را‬ ‫اﺥ ا‬ ‫د،ی‬ ‫ان ﻝ‬ ‫ي ‪ final‬را‬ ‫رو‬ ‫.‬ ‫د . ای را ‪early binding‬‬ ‫ي از وراﺙ‬ ‫د از ‪ final‬اي‬ ‫ا‬ ‫ن‬ ‫از ا‬ ‫ر‬ ‫م ای‬ ‫اي ا‬ ‫ی .‬ ‫ارث دن از ی آ س‬ ‫اه‬ ‫ا‬ ‫ه‬ ‫آ‬ ‫ر‬ ‫ان ‪final‬‬ ‫دن ی آ س‬ ‫ن‬ ‫ی .ا‬ ‫د‬ ‫آ س از واژ آ ي ‪ final‬ا‬ ‫ان ه‬ ‫نی آ س‬ ‫آ ا‬ ‫دا‬ ‫.‬ ‫ن‬ ‫ان ‪ final‬ا‬ ‫ي ن را‬ ‫رو‬ ‫د و اي‬ ‫ی آ‬ ‫ن ی آ س ‪abstract‬‬ ‫زا‬ ‫‪abstract‬و ه ‪final‬‬ ‫ه‬ ‫ل از آ س ‪ final‬را‬ ‫ی‬ ‫. در ای‬ ‫يﺥ د‬ ‫زی آ‬ ‫زی‬ ‫د‬ ‫:‬ ‫آ‬ ‫{ ‪final class A‬‬ ‫...//‬ ‫}‬ ‫.‪// The following class is illegal‬‬ ‫‪class B extends A { // ERROR! Can't subclass A‬‬ ‫...//‬ ‫}‬
  • 211. ‫ن‪A‬‬ ‫ز‬ ‫دن ‪ B‬از‪ A‬ز‬ ‫، ارث‬ ‫ت"‬ ‫از "‬ ‫ری‬ ‫ه‬ ‫.‬ ‫ا‬ ‫ن‬ ‫ان ‪ final‬ا‬ ‫آ س ‪Object‬‬ ‫.‬ ‫ا‬ ‫ی‬ ‫ﺝ وا‬ ‫‪object‬‬ ‫صی‬ ‫‪ The object class‬ی آ س‬ ‫آ س‬ ‫ي دی‬ ‫آ‬ ‫يآ‬ ‫‪ object‬آ س‬ ‫.ی‬ ‫ي ‪ object‬ه‬ ‫زی آ‬ ‫ي دی‬ ‫آ‬ ‫آ‬ ‫از ه آ س دی ي ارﺝ ع‬ ‫ی‬ ‫ا‬ ‫ارﺝ ع ع ‪object‬‬ ‫ی‬ ‫. ی‬ ‫ا‬ ‫ع‬ ‫از‬ ‫،ی‬ ‫زي‬ ‫د‬ ‫ان آ س‬ ‫رای ه‬ ‫ی ای‬ ‫،‬ ‫ی .ه‬ ‫آ .آ‬ ‫ی‬ ‫ي را‬ ‫ي‬ ‫ی . ‪ Object‬رو‬ ‫ه رای اي ارﺝ ع‬ ‫ا‬ ‫‪object‬‬ ‫.‬ ‫ه‬ ‫د‬ ‫در ه‬ ‫ه‬ ‫ی‬ ‫د‬ ‫)(‪object clon‬‬ ‫ﺵ‬ ‫آ آ ﺕ‬ ‫ی ي ای د‬ ‫ﺵ‬ ‫.‬ ‫ه نﺵ ا‬ ‫) ‪boolean equals ( Object object‬‬ ‫ﺵ دی‬ ‫آ آ ی ﺵ‬ ‫ﺕ‬ ‫.‬ ‫ی‬ ‫وي ا‬ ‫)(‪void finalize‬‬ ‫د در‬ ‫ون ا‬ ‫ی ﺵ‬ ‫از ای‬ ‫د.‬ ‫د، ا ا‬ ‫د ار‬ ‫چ‬ ‫)(‪class get class‬‬ ‫.‬ ‫اري‬ ‫ا ا‬ ‫آ س ی ﺵ را ﺡ‬ ‫)(‪int hash code‬‬ ‫اﺵ ئ ا ان را‬ ‫آ ‪ hash‬ه ا‬ ‫آ .‬ ‫دان‬ ‫)(‪void notify‬‬ ‫ر روي ﺵ‬ ‫ا اي ی رﺵ در ﺡ ل ا‬ ‫د.‬ ‫را از‬ ‫ا ان آ‬ ‫)(‪void notify All‬‬ ‫ر روي‬ ‫رﺵ ه ي در ﺡ ل ا‬ ‫ا اي آ‬ ‫د.‬ ‫را از‬ ‫ﺵ ئ ا ان آ‬ ‫)(‪string to string‬‬ ‫را‬ ‫ﺵ ئا‬ ‫آ‬ ‫رﺵ اي آ ﺕ‬ ‫دا .‬
  • 212. ‫)(‪void wait‬‬ ‫از ا ا‬ ‫)‪ (thread‬دی‬ ‫روي ی‬ ‫) ‪void wait ( long milliseconds‬‬ ‫.‬ ‫)‪Void wait ( long milliseconds, int nanoseconds‬‬ ‫.‬ ‫ن‬ ‫ان ‪ final‬ا‬ ‫ي )(‪ ()notify All ، notify() ، getclass‬و ‪ wait‬و‬ ‫رو‬ ‫ی :‬ ‫دو روش د‬ ‫ی .‬ ‫ارد را ﻝ‬ ‫ی‬ ‫ا‬ ‫دو‬ ‫د وا‬ ‫ی‬ ‫را ی ی‬ ‫ي دو‬ ‫)(‪equals‬‬ ‫)(‪ equals‬و )(‪. tostring‬‬ ‫دا .‬ ‫رت ‪ false‬را‬ ‫ای‬ ‫دا و در‬ ‫، ای روش ‪ true‬را‬ ‫دل ه‬ ‫، را‬ ‫آ روي ن اﺥ ا‬ ‫از‬ ‫اي آ در‬ ‫روش )(‪ to string‬ر‬ ‫ر ﺥ دآ ر‬ ‫د از )(‪println‬‬ ‫ا‬ ‫ئ‬ ‫ی‬ ‫ه‬ ‫دا . ای روش ه‬ ‫نآ‬ ‫م ای آ ر‬ ‫آ .ا‬ ‫ای روش را ﻝ‬ ‫ري از آ‬ ‫.‬ ‫ﺥ اه‬ ‫اﺥ ا‬ ‫ز .‬ ‫د‬ ‫،‬ ‫آ‬ ‫ه ی آ ای د‬ ‫اي ع‬ ‫را‬ ‫ده‬ ‫ن‬ ‫ا‬
  • 213. ‫ه و را‬ ‫:‬ ‫وی ای‬ ‫ن‬ ‫ل ز ن و ر ده‬ ‫ه و را‬ ‫ه ‪packages‬‬ ‫ی‬ ‫ی‬ ‫م ‪CLASS PATH‬‬ ‫درك‬ ‫‪Access protection‬‬ ‫د‬ ‫ه‬ ‫وارد آ دن‬ ‫‪interfaces‬‬ ‫را‬ ‫دن ی را‬ ‫ی‬ ‫زي را‬ ‫د‬ ‫ی ارﺝ ت را‬ ‫زی از‬ ‫د‬ ‫د‬ ‫)‪(partial‬‬ ‫زي‬ ‫د‬ ‫ر دن را‬ ‫ه در را‬
  • 214. ‫ه و را‬ ‫ي‬ ‫هي‬ ‫اري‬ ‫اي‬ ‫آ‬ ‫ه‬ ‫اي آ‬ ‫و‬ ‫ه )‪، (packages‬‬ ‫م‬ ‫ی آ س‬ ‫ده‬ ‫اﺝ ز‬ ‫ل،ی‬ ‫ان‬ ‫.‬ ‫د‬ ‫ا‬ ‫آ‬ ‫ا‬ ‫ای آ س ی آ س‬ ‫از ای‬ ‫ا‬ ‫ون‬ ‫ی‬ ‫ﺥ د ذﺥ‬ ‫د آ ن را در‬ ‫‪ list‬ای د‬ ‫ا‬ ‫رت‬ ‫ه‬ ‫.‬ ‫دا‬ ‫در ﺝ ي دی ي‬ ‫م ‪ list‬و ذﺥ‬ ‫دی‬ ‫.‬ ‫آ س ﺝ ی وارد‬ ‫ی‬ ‫ی‬ ‫ر‬ ‫و‬ ‫ذﺥ‬ ‫زي‬ ‫را از د‬ ‫را‬ ‫ده‬ ‫اﺝ ز‬ ‫د از واژ آ ي ‪ ، interface‬ﺝ وا‬ ‫ی ا‬ ‫از‬ ‫ی آ‬ ‫از رو‬ ‫ی‬ ‫ا‬ ‫د از ‪interface‬‬ ‫ا‬ ‫ی .‬ ‫د‬ ‫نآ‬ ‫ط‬ ‫ه‬ ‫ی .ﺥ د ‪ interface‬ا‬ ‫را‬ ‫زي‬ ‫د‬ ‫ی آ س‬ ‫اي ی ی‬ ‫در‬ ‫،ا ی‬ ‫د ‪ abstract‬ه‬ ‫ي‬ ‫آ‬ ‫را‬ ‫.ا‬ ‫ی‬ ‫زي را‬ ‫ع د‬ ‫ی.ا ،ی آ س‬ ‫زي‬ ‫را د‬ ‫از ی را‬ ‫ا‬ ‫دار : ی آ س‬ ‫د.‬ ‫( ارث‬ ‫دی‬ ‫)‬ ‫ي‬ ‫ا از ی آ س‬ ‫.‬ ‫ﺝ وا‬ ‫در ی‬ ‫ا‬ ‫)‪ (interfaces‬دو‬ ‫ه )‪ (packages‬و را‬ ‫ر‬ ‫ي داﺥ‬ ‫از ) ی آ (‬ ‫ی‬ ‫ا در‬ ‫ﺝ وا‬ ‫ی‬ ‫،ی‬ ‫رآ‬ ‫:‬ ‫زی‬ ‫) اﺥ ري ( ‪A single package statement‬‬ ‫اي‬ ‫ر‬ ‫ی د‬ ‫رات وارد ) اﺥ ري ( ‪Any number of import statements‬‬ ‫اد د‬ ‫ه‬ ‫ان ‪ ) public‬اﺝ ري ( ‪A single public class declaration‬‬ ‫نآ س‬ ‫ی ا‬ ‫) اﺥ ري (‬ ‫اي‬ ‫ي اﺥ‬ ‫اد آ‬ ‫ه‬ ‫‪Any number of classes private to the package‬‬ ‫.‬ ‫ا‬ ‫نآ س‬ ‫ا‬ ‫ارد ی‬ ‫از ای‬ ‫ی‬ ‫ه‬ ‫ﻝ ي‬ ‫ل در‬ ‫ه ‪packages‬‬ ‫.ی‬ ‫ص )‪(name space‬‬ ‫ي م‬ ‫ﻝ از آ س را از ی‬ ‫مه‬ ‫د. ون‬ ‫ي‬ ‫ﺝ‬ ‫از اﺥ ط‬ ‫د‬ ‫دا‬ ‫م‬ ‫اي ه آ س ی ی‬
  • 215. ‫ری‬ ‫و‬ ‫ﺥ اه‬ ‫د ر‬ ‫از‬ ‫،‬ ‫يا‬ ‫ی ی‬ ‫اي‬ ‫ی را‬ ‫راه ه‬ ‫ز‬ ‫اﺥ ر آ . ه‬ ‫و‬ ‫د،ا‬ ‫اي ه آ س‬ ‫م‬ ‫د د و‬ ‫ر‬ ‫آ‬ ‫ب‬ ‫اي ی آ س ا‬ ‫ی آ‬ ‫ﺝ وا‬ ‫اه آ د . ﺥ‬ ‫ا‬ ‫دم‬ ‫ی ن‬ ‫ی‬ ‫ب‬ ‫ي ا‬ ‫آ‬ ‫ی ی‬ ‫ﺝ )‪ (chunks‬و‬ ‫ت‬ ‫ي مآ س‬ ‫ي‬ ‫اي‬ ‫اري و ه‬ ‫ه ی روش‬ ‫.‬ ‫ی ‪ package‬ا‬ ‫ه ن‬ ‫.ای‬ ‫اه ورد ا‬ ‫آ‬ ‫آ‬ ‫ی‬ ‫ی را داﺥ ی‬ ‫آ‬ ‫ا‬ ‫.‬ ‫ی يا‬ ‫آ ل روی‬ ‫ی‬ ‫ی‬ ‫را‬ ‫ئآ‬ ‫ا‬ ‫ا‬ ‫.ه‬ ‫د‬ ‫آ ه ي ﺥ رج از‬ ‫ي‬ ‫آ‬ ‫. ای ا‬ ‫ار دا‬ ‫ه ن‬ ‫ی ا‬ ‫ض روی‬ ‫در‬ ‫آ‬ ‫آ‬ ‫ان‬ ‫اي دی‬ ‫ت را‬ ‫ن ا‬ ‫ا‬ ‫دا‬ ‫از ی ی‬ ‫ه درو‬ ‫ی‬ ‫ده‬ ‫ن‬ ‫ا‬ ‫.‬ ‫ي‬ ‫ا‬ ‫ی‬ ‫ﺕ ی‬ ‫:‬ ‫نا‬ ‫ر‬ ‫ای د ی‬ ‫ن‬ ‫.ه آ سا‬ ‫ﺝ وا‬ ‫ر در ی‬ ‫د‬ ‫ان اوﻝ‬ ‫ن ‪package‬‬ ‫د ی‬ ‫ﺥ‬ ‫ي م را‬ ‫ر ‪ package‬ی‬ ‫.د‬ ‫ﺥ اه دا‬ ‫ن ی‬ ‫داﺥ‬ ‫ی ،ا‬ ‫ف‬ ‫ق را‬ ‫ر‬ ‫د‬ ‫.ا‬ ‫ن ذﺥ‬ ‫داﺥ‬ ‫آ آ آ‬ ‫ی‬ ‫اي‬ ‫ض‬ ‫ارد. ا‬ ‫ا‬ ‫،آ ه‬ ‫ار‬ ‫ض‬ ‫آ س در‬ ‫آ .‬ ‫آ ی‬ ‫ه ي آ ر دي وا‬ ‫اي‬ ‫،ا‬ ‫ا‬ ‫و‬ ‫هي آ‬ ‫آ .‬ ‫ی‬ ‫اي آ ه ي‬ ‫اآ او ت ، ی‬ ‫:‬ ‫رت زی ا‬ ‫ر ‪package‬‬ ‫د‬ ‫;‪package pkg‬‬ ‫م‪Mypackage‬‬ ‫ي ی‬ ‫ر‬ ‫ل ، د‬ ‫ان‬ ‫.‬ ‫ا‬ ‫‪ pkg‬م‬ ‫در ای‬ ‫آ :‬ ‫ای د‬ ‫;‪package MyPackage‬‬
  • 216. ‫ل‬ ‫ان‬ ‫آ .‬ ‫د‬ ‫ه ا‬ ‫زي‬ ‫اي ذﺥ‬ ‫ﺝ وا از دای آ ری ي ی‬ ‫، ی در ی‬ ‫آ‬ ‫ن‬ ‫از ‪ Mypackage‬ا‬ ‫ان‬ ‫ی آ‬ ‫اي آ‬ ‫ی ي .‪class‬‬ ‫ای‬ ‫،‬ ‫سا‬ ‫ر‬ ‫. د وری آ ﺝ وا‬ ‫م ‪ Mypackage‬ذﺥ‬ ‫دای آ ري‬ ‫.‬ ‫دا‬ ‫ا‬ ‫دای آ ري ی د‬ ‫ا‬ ‫ر‬ ‫.د‬ ‫ن ‪package‬‬ ‫ر ی‬ ‫د‬ ‫ی‬ ‫ی‬ ‫از ی‬ ‫ن وﺝ د دارد آ‬ ‫ای ا‬ ‫آ ام‬ ‫ی‬ ‫در ی‬ ‫ی‬ ‫ي‬ ‫آ آ آ‬ ‫د‬ ‫‪ package‬ﺥ‬ ‫اول‬ ‫از ه ن‬ ‫را از ای‬ ‫ﺝ د در ی ي دی‬ ‫ي‬ ‫ی آ‬ ‫ر‬ ‫دار . ای د‬ ‫د‬ ‫اد زی دي از ی‬ ‫روي‬ ‫ه ي د ي وا‬ ‫ري از‬ ‫آ .‬ ‫،‬ ‫.‬ ‫را از‬ ‫ه‬ ‫د ا‬ ‫زی . اي ا م ای ر ، ﺥ‬ ‫ه‬ ‫از‬ ‫ا‬ ‫ی‬ ‫ا‬ ‫ر ‪package‬‬ ‫ی د‬ ‫زی .‬ ‫ﺝا‬ ‫د از ی‬ ‫ا‬ ‫ی اش و‬ ‫ا‬ ‫:‬ ‫ار زی ا‬ ‫;]]3‪package pkg1[.pkg2[.pkg‬‬ ‫ن‬ ‫ا‬ ‫لی‬ ‫ان‬ ‫د.‬ ‫ﺝ وا‬ ‫ی در ی‬ ‫ا‬ ‫ان‬ ‫;‪package java.awt.image‬‬ ‫روي ی‬ ‫ی در ‪ javaawtimage ، java/awt/image‬ی ‪java:awt:image‬‬ ‫ی .‬ ‫ب‬ ‫ا‬ ‫د‬ ‫ﺥ د را ﺥ‬ ‫د. ا‬ ‫‪ ، windows ، unix‬ی ‪ Macintosh‬ذﺥ‬ ‫ا‬ ‫در ن ذﺥ‬ ‫دای آ ري آ آ‬ ‫ا‬ ‫ای‬ ‫ده‬ ‫را‬ ‫ی‬ ‫ا‬ ‫ا‬ ‫ده .‬ ‫را‬ ‫م ‪CLASS PATH‬‬ ‫درك‬ ‫ي در ر‬ ‫، زم ا‬ ‫آ‬ ‫د از ی‬ ‫اي ا‬ ‫ﻝ‬ ‫از ای‬ ‫آ ل‬ ‫ت از‬ ‫ري از‬ ‫ه‬ ‫.ا‬ ‫‪ CLASS PATH‬دا‬
  • 217. ‫ت‬ ‫دن‬ ‫ی و اﺝ ا‬ ‫،ا ه مآ‬ ‫آ‬ ‫ي م را‬ ‫و اﺥ ط‬ ‫د‬ ‫ان ری‬ ‫در‬ ‫ن‬ ‫ی . زی ا‬ ‫اﺝ‬ ‫ی‬ ‫و‬ ‫ه‬ ‫د. آ ن‬ ‫‪ CLASS PATH‬آ ل‬ ‫ﺝ وا و‬ ‫ی‬ ‫آ‬ ‫ا‬ ‫اﺝ ز‬ ‫م ای ر‬ ‫آ دی .ا‬ ‫ذﺥ‬ ‫ن و ون ا‬ ‫ضی‬ ‫را در ی‬ ‫آ‬ ‫دن از آ س‬ ‫ا‬ ‫،‬ ‫ﺝ وا را روي‬ ‫د و‬ ‫ی‬ ‫را آ‬ ‫آ‬ ‫د‬ ‫داد‬ ‫ل‬ ‫ﺝ ري در‬ ‫آ د زی ا‬ ‫آر‬ ‫ا‬ ‫ی . ای‬ ‫ن ، اﺝ ا‬ ‫روي ﺥ‬ ‫رت‬ ‫ار دارد آ اﻝ‬ ‫‪CLASS PATH‬‬ ‫در‬ ‫ض )٠(‬ ‫آر و‬ ‫ط‬ ‫ه‬ ‫و‬ ‫.ا‬ ‫ا‬ ‫ی‬ ‫اﺝ اي ﺝ وا‬ ‫اي‬ ‫ض‬ ‫د.‬ ‫اه‬ ‫را‬ ‫آر‬ ‫ﺥ ر‬ ‫ن‬ ‫م ‪ test‬ای د آ د ای .‬ ‫م ‪ packTest‬در ی‬ ‫آ ی آ س‬ ‫ضآ‬ ‫ان ‪ test‬ای د‬ ‫ی دای آ ري‬ ‫دا‬ ‫هي‬ ‫ی‬ ‫دای آ ري‬ ‫ار‬ ‫‪ test‬را دای آ ري ﺝ ري‬ ‫ا‬ ‫ا‬ ‫ده .‬ ‫ار‬ ‫د و ‪ PackTest.java‬را در ن‬ ‫د آ ‪ PackTest.class‬در‬ ‫ی . ای ا‬ ‫ی‬ ‫و ‪PackTest.java‬را آ‬ ‫ده‬ ‫م‬ ‫ﺝ وا ی‬ ‫،‬ ‫‪ packTest‬را اﺝ ا آ‬ ‫آ‬ ‫ش‬ ‫د. و‬ ‫دای آ ري ‪ test‬ذﺥ‬ ‫آ اآ ن آ س‬ ‫نا‬ ‫آ . دﻝ‬ ‫ارش‬ ‫"‪"can't find class packTest‬‬ ‫ﺥ‬ ‫ن‬ ‫ان ‪packTest‬‬ ‫د‬ ‫ا‬ ‫. دی‬ ‫ا‬ ‫م ‪ test‬ذﺥ‬ ‫ق را ی‬ ‫و ه‬ ‫ی‬ ‫ن ارﺝ ع‬ ‫ا‬ ‫ب‬ ‫ا‬ ‫ن آ س‬ ‫ی . ی‬ ‫ارﺝ ع‬ ‫د.‬ ‫م ‪ test.packTest‬ﺥ ا‬ ‫ي ﺝ ا آ . ای آ س اآ ن ی‬ ‫از دی‬ ‫ی‬ ‫را‬ ‫‪"can't find‬‬ ‫مﺥ‬ ‫نی‬ ‫،ه‬ ‫د آ‬ ‫از ‪ test.packTest‬ا‬ ‫شآ‬ ‫ا ا‬ ‫آ‬ ‫دری‬ ‫مﺥ‬ ‫نی‬ ‫ه‬ ‫ای‬ ‫د . دﻝ‬ ‫ﺥ اه‬ ‫"‪ class test/ppackTest‬دری‬ ‫ي‬ ‫د وری آ ‪ CLASS PATH‬در‬ ‫.‬ ‫ا‬ ‫‪CLASS PATH‬‬ ‫در‬ ‫د:‬ ‫زی را در‬ ‫ي‬ ‫د.‬ ‫ار‬ ‫آ س‬ ‫ا‬ ‫‪. ;C:java classes‬‬ ‫د و‬ ‫ل‬ ‫ل آ ر ﺝ ري را آ‬ ‫دای آ ري در‬ ‫ی‬ ‫اﺝ اي ﺝ وا‬ ‫آ‬ ‫ای ا‬ ‫ی .‬ ‫ل‬ ‫‪ standard java developers kit‬را آ‬ ‫دای آ ري‬ ‫ه‬
  • 218. test ‫ل آ ر ﺝ ري وﺝ د ارد زی ا در ﺥ د دای آ ري‬ ‫ در دای آ ري در‬test ‫آ دای آ ري‬ : ‫ب ﺥ اه دا‬ ‫دو ا‬ ‫ار داری . در ای‬ ‫و ی ای‬ ‫آ‬ ‫ را ز ی‬javatest.packTest ‫داد و‬ ‫را‬ ‫دای آ ری ي ی‬ . ‫ی‬ ‫ ا‬CLASS PATH ‫آ س را‬ ‫ا‬ ‫ي‬ ‫ار ده و ﺝ وا ی در‬ ‫د‬ ‫رد ا‬ ‫ را از ه دای آ ري‬packTest javatest ‫ا‬ ‫م‬ ‫ﺥ د ن در ی دای آ ري‬ ‫روي آ‬ ‫ل،ا‬ ‫ان‬ .‫د‬ ‫ا ﺥ اه‬ ‫ را‬class. . ;C:myjava; ‫ ﺥ د را روي‬CLASS PATH ، ‫لآ ر‬ ‫ در‬C:mmyjava . ‫ار ده‬ C:javaclasses ‫ل آ ﺕ از‬ ‫ی‬ : ‫آ‬ ‫د را ز ی‬ ‫ای‬ ‫ا‬ ، ‫دا‬ ‫را در‬ ‫ا‬ // A simple package package MyPack; class Balance { String name; double bal; Balance(String n/ double b ){ name = n; bal = b; } void show (){ if(bal<0) System.out.print("-->> "); System.out.println(name + " :$" + bal); } } class AccountBalance { public static void main(String args[] ){ Balance current[] = new Balance[3]; current[0] = new Balance("K .J .Fielding"/ 123.23); current[1] = new Balance("Will Tell"/ 157.02);
  • 219. ‫;)33.21 -/"‪current[2] = new Balance("Tom Jackson‬‬ ‫;()‪for(int i=0; i<3; i++ )current[i].show‬‬ ‫}‬ ‫}‬ ‫ار ده .‬ ‫م ‪Mypack‬‬ ‫و ن را در ی دای آ ري‬ ‫ی را ‪Mypack/java‬‬ ‫ای‬ ‫در دای آ ري ‪Mypack‬‬ ‫.‪class‬‬ ‫ی‬ ‫ی آ‬ ‫ی آ .‬ ‫ی را آ‬ ‫د از‬ ‫ا‬ ‫آ ، اﻝ‬ ‫اﺝ اي آ س ‪ Account Balance‬را ز ی‬ ‫.‬ ‫ار‬ ‫ي‬ ‫ن‬ ‫ﺥ‬ ‫‪java MyPack.AccountBalance‬‬ ‫ي‬ ‫در دای آ ري‬ ‫ن را اﺝ ا آ ، زم ا‬ ‫ﺥ اه ای‬ ‫آ و‬ ‫د دا‬ ‫ار داد‬ ‫ر‬ ‫‪ CLASS PATH‬ﺥ د را‬ ‫و ی ای‬ ‫‪Mypack‬‬ ‫.‬ ‫. ای‬ ‫‪ Mypack‬ا‬ ‫از‬ ‫دادی ، ‪ Account Balance‬اآ ن‬ ‫ری‬ ‫ه‬ ‫د‬ ‫نا‬ ‫از ای ﺥ‬ ‫ا‬ ‫د. ی‬ ‫ﺥ دش اﺝ ا‬ ‫ا‬ ‫آ‬ ‫ا‬ ‫ان‬ ‫ی .‬ ‫‪Java AccountBalance‬‬ ‫‪Access protection‬‬ ‫د‬ ‫ئه نآ س‬ ‫ی ا‬ ‫‪ private‬در ی آ س‬ ‫ی‬ ‫آ د‬ ‫دا‬ ‫ﺥ اه دی ،‬ ‫ری‬ ‫ا ای . ه‬ ‫آ لد‬ ‫دی ي‬ ‫ه‬ ‫.‬ ‫ا‬ ‫وا ار‬ ‫ی ي‬ ‫روي روی‬ ‫ي‬ ‫اي اﺝ ز آ ل ﺥ ب‬ ‫ي از‬ ‫ح‬ ‫ﺝ وا‬ ‫ی.‬ ‫اه‬ ‫ه‬ ‫و‬ ‫، زی آ‬ ‫ي داﺥ آ‬ ‫ه و رو‬ ‫و‬ ‫ي مو‬ ‫د و در‬ ‫زي‬ ‫ل‬ ‫اي آ‬ ‫ه ه دو و ی‬ ‫و‬ ‫آ‬ ‫.‬ ‫ه‬ ‫هي‬ ‫ی‬ ‫و‬ ‫اي آ‬ ‫و‬ ‫ان‬ ‫ه‬ ‫.‬ ‫ه و رو‬ ‫د در ﺝ وا‬ ‫ی وا‬ ‫.آ سآ‬ ‫اي داد ه و آ ه‬ ‫و‬ ‫ان‬ ‫آ‬
  • 220. ‫ئ‬ ‫ی يا‬ ‫ي اي روی‬ ‫ر‬ ‫ه ، ﺝ وا‬ ‫و‬ ‫آ‬ ‫ظ‬ ‫.‬ ‫ا‬ ‫:‬ ‫آ د ا‬ ‫آ س‬ ‫در ه ن‬ ‫زی آ‬ ‫در ه ن‬ ‫زی آ‬ ‫هي‬ ‫در‬ ‫زی آ‬ ‫.‬ ‫ه‬ ‫در زی آ‬ ‫و‬ ‫در ه ن‬ ‫ی آ‬ ‫آ‬ ‫از‬ ‫اه آ‬ ‫‪ public ، private‬و ‪ protected‬و‬ ‫ی‬ ‫د‬ ‫. ﺝ ول زی ای‬ ‫ه‬ ‫ی‬ ‫ز ای‬ ‫رد‬ ‫د‬ ‫ح‬ ‫ﻝ‬ ‫هي‬ ‫.‬ ‫ن داد ا‬ ‫ت را ی‬ ‫ار‬ ‫‪public‬‬ ‫‪protected‬‬ ‫‪Nomodifier‬‬ ‫‪private‬‬ ‫‪Yes‬‬ ‫‪Yes‬‬ ‫‪Yes‬‬ ‫‪Yes‬‬ ‫ه نآ س‬ ‫‪Yes‬‬ ‫‪Yes‬‬ ‫‪Yes‬‬ ‫‪No‬‬ ‫زی آ س ه ن‬ ‫‪Yes‬‬ ‫‪Yes‬‬ ‫‪Yes‬‬ ‫‪No‬‬ ‫زی آ س ه ن‬ ‫‪Yes‬‬ ‫‪Yes‬‬ ‫‪No‬‬ ‫‪No‬‬ ‫هي‬ ‫زی آ س‬ ‫‪Yes‬‬ ‫‪No‬‬ ‫‪No‬‬ ‫‪No‬‬ ‫هي‬ ‫زی آ س‬ ‫رت‬ ‫ان ن را‬ ‫،ا‬ ‫ا‬ ‫در ﺝ وا‬ ‫آ لد‬ ‫ا‬ ‫.‬ ‫ا‬ ‫د‬ ‫د از ه ﺝ ی‬ ‫ن‬ ‫ان ‪ public‬ا‬ ‫يآ‬ ‫د.ه‬ ‫ی‬ ‫د‬ ‫ي‬ ‫ی‬ ‫.و‬ ‫روی‬ ‫د ﺥ رج از آ س ﺥ دش‬ ‫ن‬ ‫ان ‪ private‬ا‬ ‫يآ‬ ‫ه‬ ‫ی‬ ‫و‬ ‫اي زی آ‬ ‫، ن‬ ‫ی و رو‬ ‫تد‬ ‫ﺥ اه‬ ‫.ا‬ ‫ضا‬ ‫. ای د‬ ‫روی ا‬ ‫ﺝ د در ه ن‬ ‫ي‬ ‫آ‬ ‫رت زی‬ ‫از آ س‬ ‫ی آ‬ ‫آ‬ ‫ﺝ ري و‬ ‫، ﺥ رج از‬ ‫ی‬ ‫ی .‬ ‫ن‬ ‫ان ‪ protected‬ا‬ ‫را‬ ‫ن‬ ‫،‬ ‫روی‬ ‫ا‬ ‫آ س در‬ ‫ی آ س‬ ‫. )‪ (public‬و‬ ‫ضو‬ ‫دارد :‬ ‫د‬ ‫دو‬ ‫ی آ س‬ ‫ی آ سد‬ ‫.ا‬ ‫ا‬ ‫د‬ ‫ي‬ ‫ه آ دی‬ ‫د،‬ ‫ن‬ ‫ان ‪ public‬ا‬ ‫د.‬ ‫ﺥ اه‬ ‫د‬ ‫ی آ ه ي داﺥ ه ن‬ ‫،‬ ‫ض دا‬
  • 221. : ‫ل از د‬ ‫ی‬ ‫ل‬ ‫ده . ای‬ ‫ن‬ ‫را‬ ‫هي آ ل د‬ ‫ا‬ ‫ط‬ ‫آ ت‬ ‫يآ‬ ‫ل‬ ‫وت ، زم‬ ‫دو‬ ‫ط‬ ‫ي‬ ‫آ آ‬ ‫. د دا‬ ‫آ سا‬ ‫و‬ ‫داراي دو‬ ‫ و ذﺥ‬p2‫ و‬p1‫ل‬ ‫در ای‬ ‫د‬ ‫ا ن م‬ ‫از‬ ‫در دای آ ری ی آ‬ ‫ا‬ . . samepackage ‫ و‬Derived ، protection : ‫آ‬ ‫ی‬ ‫آ س‬ ‫اوﻝ‬ n . ‫آ‬ ‫ی‬ ‫ز‬ ‫ت‬ ‫ را در ه ی از‬int ‫ر‬ ‫آ س‬ ‫اوﻝ‬ n-‫ و‬protected ‫ان‬ ،n-pro ، private ‫ان‬ m-pri . ‫ا‬ ‫ن‬ ‫ضا‬ . public ‫ان‬ pub ‫ا‬ ‫از ی آ س د‬ ‫ه ی در ی‬ ‫آ‬ ‫ل‬ ‫ي در ای‬ ‫ه آ س‬ ‫ی ﺥ‬ ‫د از‬ ‫ا‬ ‫ی‬ ‫،آ‬ ‫ودی ي د‬ ‫ﻝ ظ‬ ‫آ‬ ‫آ .ﺥ‬ ‫ی را آ‬ ‫ار دارد آ‬ ‫از ه ی از ای ﺥ ط‬ . ‫ا‬ ‫ﺥ رج‬ ‫// از‬ Derived ‫آ س‬ ‫ی . دو‬ ‫را‬ ‫ی‬ ‫اﺝ ز د‬ ‫از‬ ‫ای‬ ‫از‬ ‫ را‬Derived ‫لد‬ ‫. ای‬ ‫ ا‬p1 ‫ در ه ن‬protection ‫زی آ س از‬ ‫ی‬ . ‫ ا‬private ‫ آ ی‬n-pri ‫زد‬ ‫ار‬ protection ‫ي در‬ ‫در ه ن‬ ‫، ا‬ protection ‫زی آ س از‬ ‫ ی‬Samepackage ‫آ س‬ . ‫ﺥ اه دا‬ ‫ د‬n-pri ‫ه‬ ‫آ‬ ‫ای‬ ‫ار دارد و‬ package p1; public class Protection { int n = 1; private int n_pri = 2; protected int n_pro = 3; public int n_pub = 4; public Protection (){ System.out.println("base constructor"); System.out.println("n = " + n); System.out.println("n_pri = " + n_pri); System.out.println("n_pro = " + n_pro); System.out.println("n_pub = " + n_pub);
  • 222. } } : Derived.java ‫ی‬ package p1; class Derived extends Protection { Derived (){ System.out.println("derived constructor"); System.out.println("n = " + n); // class only // System.out.println("n_pri = " + n_pri); System.out.println("n_pro = " + n_pro); System.out.println("n_pub = " + n_pub); } } : Samepackage.java ‫ی‬ package p1; class SamePackage { SamePackage (){ Protection p = new Protection)(; System.out.println("same package constructor"); System.out.println("n = " + p.n); // class only // System.out.println("n_pri = " + p.n_pri); System.out.println("n_pro = " + p.n_pro); System.out.println("n_pub = " + p.n_pub); } } ‫ دو‬p2 ‫در‬ ‫ی‬ ‫آ . دو آ س‬ ‫ه‬ ‫ را‬p2 ‫ی‬ ‫دی‬ ‫ی‬ ‫اآ ن آ‬ ‫آ س‬ ‫. اوﻝ‬ ‫داد ا‬ ‫ا را‬ ‫ار‬ ‫ﺙ‬ ‫آ لد‬ ‫را آ‬ ‫ای‬ ‫هي‬ ‫آ‬ ‫. ای آ س د‬ ‫ ا‬p1.protection ‫ ی زی آ س‬protection 2 ‫ی‬ n_‫( و‬ ‫ ا‬private ‫ن‬ ) n-pri ‫از‬ ‫ورد‬ ‫ را‬p1.protection ‫ط‬ ‫اﺝ ز‬ ‫ض‬ ‫آ‬ ‫د دا‬ . ‫ا‬ ‫ن‬ ‫ضا‬ ‫يآ‬ ، ‫ی‬ ‫. در‬ ‫هيا‬ ‫از زی آ س ه ي‬ ‫ده‬ ‫را‬ ‫از داﺥ آ س ی‬ ‫د‬
  • 223. ‫دد‬ ‫ن‬ ‫ ا‬public ‫ان‬ ‫ آ‬n-pub ‫ی‬ otherpackage ‫آ س‬ . ‫ﺥ اه دا‬ : Protection2.java ‫ی‬ package p2; class Protection2 extends p1.Protection { Protection2 (){ System.out.println("derived other package constructor"); // class or package only System.out.println("n = " + n); // class only // System.out.println("n_pri = " + n_pri); System.out.println("n_pro = " + n_pro); System.out.println("n_pub = " + n_pub); } } : OtherPackage.java ‫ی‬ package p2; class OtherPackage { OtherPackage (){ p1.Protection p = new p1.protection)(; System.out.println("other package contryctor"); // class or package only System.out.println("n = " + p.n); // class only // System.out.println("n_pri = " + p.n_pri); // class/ subclass or package only // System.out.println("n_pro = " + p.n_pro); System.out.println("n_pub = " + p.n_pub); } } ‫از‬ ‫ا‬ ‫وﺝ د دارد آ‬ ‫دو ی ز ی‬ ‫، در ای‬ ‫آ‬ ‫را ز ی‬ ‫ای دو‬ ‫ی‬ ‫ا‬ : ‫ن داد ای‬ ‫ را در زی‬p1 ‫اي‬ ‫ی‬ ‫از ای‬ ‫ی .ی‬ ‫د‬ ‫ا‬
  • 224. // Demo package p1. package p1; // Instantiate the various classes in p1. public class Demo { public static void main(String args[] ){ Protection ob1 = new Protection(); Derived ob2 = new Drived(); SamePackage ob3 = new SamePackage(); } } : ‫ار زی‬ p2 ‫اي‬ ‫ی ز ی‬ // Demo package p2. package p2; // Instantiate the various classes in p2. public class Demo { public static void main(String args[] ){ Protection2 ob1 = new ‫ه‬ ‫وارد آ دن‬ ‫ی از‬ ‫ي‬ ‫اي ﺝ ا آ دن آ‬ ‫ﺥ‬ ‫و‬ ‫ه وﺝ د دا‬ ‫آ‬ ‫ل ای ا‬ ‫ه ذﺥ‬ ‫ي آ ر ﺝ وا در‬ ‫آ‬ ‫اآ‬ ‫آ‬ ‫ا‬ ، ‫ه‬ ‫ی ی‬ ‫ي‬ ‫آ‬ ‫اي ﺝ وا وﺝ د ار . آ‬ ‫يه‬ ‫ض ون م ، آ‬ ‫. در‬ ‫ه ی آ‬ ‫ي داﺥ‬ ‫نآ‬ . ‫ه ي داراي م ذﺥ‬ ‫ارد در ﺥ‬ ‫ا‬ ‫از ه‬ ‫آ‬ ‫م‬ ‫ی‬ ‫ا‬ ، ‫ده‬ ‫هيﺥ دآ‬ ‫می ا‬ ، ‫دﻝ‬ . ‫آ‬ ‫ی ، آ ري آ‬ ‫د‬ ‫ا‬ ‫ی‬ ‫آ‬ ‫اي ه ی آ‬ ‫د‬ ‫ﺝا‬ ‫ه‬ ‫ی آ‬ ‫ي‬ ‫اي وردن آ‬ ( ‫ ) وارد آ دن‬import ‫ر‬ ‫د‬ ‫ﺝ وا در‬ ‫ر‬ ‫ن‬ ‫د از ا‬ ‫ا‬ ،‫د‬ ‫آ ی ر وارد‬ ‫.ه آ‬ ‫ض روی‬ ‫در‬ ‫و از‬ ‫ی نا‬ ‫اي‬ ‫را‬ ‫ ی و‬import ‫ر‬ ‫.د‬ ‫ارﺝ ع ا‬ ‫د آ س‬ ‫داری‬ ‫د.ا‬ ‫ﺝ وا‬ ‫آ‬ ‫ی‬ ‫زي‬ ‫دی‬ . ‫ده‬ ‫را آ ه‬ ‫زی دي از آ ر ی‬ import ‫ر‬ ‫ی ،د‬ ‫ا ن ارﺝ ع‬ ‫در‬
  • 225. ‫وﺝ د دا‬ ‫ر ‪ ) package‬ا‬ ‫از د‬ ‫رات ‪import‬‬ ‫ﺝ وا ، د‬ ‫ی‬ ‫در ی‬ ‫ار‬ ‫ر ‪import‬‬ ‫د‬ ‫.‬ ‫ار‬ ‫ه آ س‬ ‫ط‬ ‫ی‬ ‫از‬ ‫(و‬ ‫:‬ ‫زی ا‬ ‫;)*| ‪import pkg1[pkg2](.classname‬‬ ‫آ‬ ‫ﺥ رﺝ ا‬ ‫داﺥ‬ ‫و 2‪ pkg‬م ی‬ ‫1‪ pkg‬م ی‬ ‫در ای‬ ‫وﺝ د ارد‬ ‫ا‬ ‫ص‬ ‫در ﺥ‬ ‫ودی‬ ‫.ه‬ ‫ا‬ ‫ﺝا‬ ‫ی‬ ‫ی را‬ ‫، ی ی ‪classname‬‬ ‫ی‬ ‫د . در‬ ‫ل‬ ‫ا‬ ‫ی‬ ‫اردي آ‬ ‫،‬ ‫ی ﺝ وا ی آ‬ ‫ده آ آ‬ ‫ن‬ ‫آ‬ ‫آ‬ ‫د‬ ‫ر )*( ا‬ ‫و ی از ی‬ ‫آ‬ ‫ده :‬ ‫ن‬ ‫آ ر را‬ ‫آ ه دو‬ ‫ی . ای‬ ‫را وارد‬ ‫;‪import java.util.Date‬‬ ‫;*.‪import java.io‬‬ ‫ی‬ ‫صآ ا‬ ‫ده‬ ‫ی را ا ای‬ ‫ز نآ‬ ‫ا‬ ‫ر‬ ‫د از‬ ‫ط:ا‬ ‫ا‬ ‫د‬ ‫ﺥ اه ا‬ ‫ی آ‬ ‫مآ‬ ‫ی‬ ‫ر‬ ‫ا‬ ‫دﻝ‬ ‫ی .‬ ‫رگ را وارد‬ ‫ي‬ ‫اﺝ ا ی ا از آ‬ ‫د‬ ‫ﺙ ي روي‬ ‫ر ه‬ ‫د از‬ ‫،ا ا‬ ‫ی‬ ‫ی‬ ‫م ‪ java‬ذﺥ‬ ‫ارد ﺝ وا داﺥ در ﺝ وا در ی‬ ‫يا‬ ‫آ‬ ‫.آ‬ ‫اه دا‬ ‫ل،‬ ‫ر‬ ‫.‬ ‫م ‪ java.lang‬ذﺥ‬ ‫‪java‬‬ ‫ز ن در ی‬ ‫. ا ا‬ ‫ﺝ د‬ ‫ن ﺝ وا ون ا‬ ‫وارد ﺥ اه آ د ا‬ ‫ز دا‬ ‫را آ‬ ‫ی آ‬ ‫ه‬ ‫اي آ‬ ‫ی‬ ‫ﺥ دآ‬ ‫ر‬ ‫د ، ﻝ ا ای‬ ‫د ﺥ اه‬ ‫ا‬ ‫در ‪java.lang‬‬ ‫هي‬ ‫يآ‬ ‫ي در‬ ‫آ ﺥ‬ ‫دل ن ا‬ ‫ﻝ‬ ‫. ای‬ ‫ه وارد ﺥ اه‬ ‫د:‬ ‫ار‬ ‫;*.‪import java.lang‬‬ ‫ار دا‬ ‫ر وارد آ د ای ،‬ ‫د از‬ ‫ا‬ ‫آ‬ ‫و‬ ‫در دو‬ ‫ه نا‬ ‫ی آ س‬ ‫ا‬ ‫د‬ ‫را ا‬ ‫از ن آ‬ ‫ی‬ ‫آ‬ ‫ای‬ ‫،‬ ‫)‪(silent‬‬ ‫آ‬ ‫ی‬ ‫،آ‬ ‫ی‬ ‫ر‬ ‫ی‬ ‫ر‬ ‫و‬ ‫اﺝ‬ ‫ی ﺥ ي ‪compile-time‬‬ ‫ﻝ ،‬ ‫ی . در ن‬ ‫،‬ ‫آ‬ ‫د‬ ‫مآ سا‬ ‫ی . ه ﺝ ی از ی‬ ‫ن را ذآ‬ ‫ت‬ ‫مآ سه ا‬
  • 226. . ‫ن‬ ‫آ‬ ‫ا‬ ‫ی . آ در‬ ‫د‬ ‫ا‬ ‫آ‬ ‫از م آ‬ ‫ا‬ : ‫آ‬ ‫د‬ ‫ ا‬import ‫ر‬ ‫، از ی د‬ ‫ل ای‬ ‫ان‬ import java.util.*; class MyDate extends Date { } :‫د‬ ‫ار زی ﺥ اه‬ import ‫ر‬ ‫ل ون د‬ ‫ه ن‬ class MyDate extends java.util.Date { } ‫ا در‬ ‫ن‬ ‫ ا‬public ‫ان‬ ‫آ‬ ‫در داﺥ‬ ‫نا‬ ،‫د‬ ‫وارد‬ ‫ی‬ ‫و‬ ‫ﺥ اه آ س‬ ‫لا‬ ‫ان‬ . ‫ﺝ د در آ وارد‬ ‫ي‬ ‫زی آ‬ ‫س‬ ‫د‬ ‫اي آ ر ده ي‬ ‫ان ی آ س‬ ، ‫ن داد ای‬ " ‫ آ‬Mypack ‫ از‬Balance ‫د و ن را‬ ‫ ا‬public ‫ان‬ ‫ی ن را‬ ، ‫س‬ ‫ در د‬Mypack ‫ﺥ رج از‬ : ‫ار ده‬ ‫رت زی‬ ، ‫در ی ﺥ دش‬ package MyPack; /* Now/ the Balance class/ its constructor/ and its show )(method are public .This means that they can be used by non-subclass code outside their package. */ public class Balance { String name; double bal; public Balance(String n/ double b ){ name = n; bal = b; } public void show (){ if(bal<0) System.out.print("-->> "); System.out.println(name + " :$" + bal); } }
  • 227. ‫ای‬ ‫ز‬ ‫.ه‬ public ‫ان‬ ‫ اآ ن‬Balance ‫، آ س‬ ‫ری‬ ‫ه‬ ‫آ ه‬ ‫ا‬ ‫ان‬ ‫. ای‬ public ‫ان‬ ‫ در ن‬show() ‫آ س و روش‬ Test ‫ل ، در ای‬ ‫ان‬ . ‫ه‬ ‫د‬ Mypack ‫ع آ ي ﺥ رج از‬ ‫ه‬ : ‫ی‬ ‫د‬ ‫ ا‬Balance ‫از آ س‬ ‫در ا‬ ‫و‬ Mypack ‫ وارد آ‬Balance import MyPack.*; class TestBalance { public static void main(String args[] ){ /* Because Balance is public/ you may use Balance class and call its constructor .*/ Balance test = new Balance("J .J .Jaspers"/ 99.88); test.show(); // you may also call show)( } } ‫وز‬ ‫ا‬ ‫آ‬ ‫و‬ ‫ دا‬Balance ‫ را از آ س‬public ، ‫ان ی‬ . ‫آ‬ Interfaces ‫را‬ ‫ر‬ ‫زي ن آ س‬ ‫ی آ س را از د‬ ‫را‬ ‫ا‬ ، interface ‫د از واژ آ ي‬ ‫ا‬ ‫ري ی‬ ‫ی ی آ س‬ ‫ا‬ interface ‫د از‬ ‫ا‬ ‫ی .ی‬ ‫د‬ ‫آ‬ ‫فو‬ ‫ا‬ ‫از‬ ‫اه آ د. را‬ ‫ا‬ ‫ا م ده ، ا‬ ‫د . در‬ ‫ن‬ ‫ا‬ ‫ون‬ ‫ي‬ ‫و رو‬ ‫ه‬ ‫هي‬ ‫،ا‬ ‫ه‬ ‫آ‬ ‫زي‬ ‫د‬ ‫آ در ر‬ ‫آ‬ ‫ی‬ ‫ی‬ ‫را‬ ‫ا‬ ‫آ‬ ‫ا‬ ‫ان‬ ‫، ای‬ ‫ن‬ ‫ا‬ ‫ادي از آ‬ ‫د،ه‬ ‫ی‬ ‫ر آ را‬ ‫ز .ه‬ ‫اي‬ ‫ﺥ د‬ ‫را‬ ‫اد را‬ ‫ه‬ ‫ا‬ ‫آ س‬ ‫، ی‬ ‫ی . ه‬ ‫زي‬ ‫د‬ ‫ را‬interface ‫را‬ .‫ی‬ ‫زي‬ ‫د‬ ‫را ای د‬ ‫را‬ ‫ی‬ ‫ي‬ ‫رو‬ ‫آ‬ ‫زي ی را ، آ س ی‬ ‫د‬ ‫اي‬ ‫د از واژ‬ ‫ا‬ .‫ی‬ ‫زي ﺥ دش را‬ ‫د‬ ‫ت‬ ‫ﺝ‬ ‫زاد ا‬ ‫ی.ا ،ه آ‬
  • 228. ‫ی روش‬ ‫و‬ ‫" ی را‬ ‫از ﺝ‬ ‫اآ‬ ‫ده‬ ‫ا ن‬ ‫آ ي ‪ ، interface‬ﺝ وا‬ ‫اﺝ ا‬ ‫ي ی ي روش در‬ ‫از‬ ‫ی‬ ‫ر‬ ‫وری . را‬ ‫را‬ ‫" در‬ ‫اﺥ ا‬ ‫آ س دی‬ ‫ی روش از ی آ س‬ ‫اي ای‬ ‫ل،‬ ‫ر‬ ‫.‬ ‫ا‬ ‫ا‬ ‫ی ﺝ وا‬ ‫آ‬ ‫ری‬ ‫،‬ ‫ر دا‬ ‫ی‬ ‫د ، ه دو آ س ی در ز ن آ‬ ‫آ س ده‬ ‫ی‬ ‫ی‬ ‫ی . ای ا‬ ‫را ی‬ ‫ز ري رو‬ ‫د و‬ ‫را آ ل‬ ‫ای )‪ (functionality‬در‬ ‫ر‬ ‫. در ی‬ ‫ﺥ اه‬ ‫و‬ ‫ای‬ ‫ي‬ ‫س زی آ‬ ‫ق ، در د‬ ‫ری‬ ‫رود‬ ‫و‬ ‫آ س‬ ‫ا‬ ‫ي‬ ‫ﺝ‬ ‫وز‬ ‫از‬ ‫ا‬ ‫. را‬ ‫ار ﺥ اه‬ ‫ي‬ ‫وراﺙ را‬ ‫ا‬ ‫و‬ ‫اي از رو‬ ‫ی روش ی‬ ‫ی‬ ‫ار ط‬ ‫ور .‬ ‫اي‬ ‫ا ،‬ ‫ار‬ ‫از آ‬ ‫و‬ ‫ا‬ ‫در‬ ‫را‬ ‫ی‬ ‫ور . از‬ ‫ﺝ د‬ ‫وﺝ د‬ ‫زي ه ن را‬ ‫ن د‬ ‫،ا‬ ‫ه‬ ‫آ س‬ ‫ا‬ ‫ی آ‬ ‫آ‬ ‫زد .‬ ‫ین‬ ‫را‬ ‫را‬ ‫رت وا‬ ‫آ‬ ‫اي ا‬ ‫دارد. ای‬ ‫:‬ ‫ور آ در‬ ‫ﺝ د‬ ‫ري از آ ر ده را‬ ‫اي‬ ‫زم‬ ‫ای‬ ‫ان‬ ‫، ن‬ ‫را‬ ‫.‬ ‫++‪ C‬ﺥ اه‬ ‫در ز‬ ‫وراﺙ‬ ‫ن‬ ‫ر از‬ ‫رت‬ ‫ای‬ ‫دن ی را‬ ‫ﺕ ی‬ ‫:‬ ‫رت زی‬ ‫ی را‬ ‫د.‬ ‫ی‬ ‫ی آ س‬ ‫ی را‬ ‫{ ‪access interface name‬‬ ‫;)‪return-type method-name1(parameter-list‬‬ ‫;)‪return-type method-name2(parameter-list‬‬ ‫;‪type final-varname1 = value‬‬ ‫;‪type final-varname2 = value‬‬ ‫...//‬ ‫;)‪return-type method-nameN(parameter-list‬‬ ‫;‪type final-varnameN = value‬‬ ‫}‬
  • 229. ‫آ‬ ‫رود. و‬ ‫ر‬ ‫ی ا‬ ‫)‪ (access‬ی ‪ public‬ا‬ ‫،د‬ ‫در ای‬ ‫ی ا‬ ‫اي‬ ‫و را‬ ‫ل‬ ‫ضا‬ ‫د‬ ‫،‬ ‫را‬ ‫د‬ ‫د‬ ‫ن‬ ‫ان ‪ public‬ا‬ ‫آ‬ ‫د. و‬ ‫س ﺥ اه‬ ‫، در د‬ ‫م‬ ‫نا‬ ‫اي آ در ن ا‬ ‫ي نه‬ ‫و‬ ‫ا‬ ‫د. ‪ name‬ه ن م را‬ ‫د ﺥ اه‬ ‫ا‬ ‫ه آ دی ي‬ ‫،‬ ‫، را‬ ‫ي‬ ‫.ا‬ ‫داراي‬ ‫ن‬ ‫يا‬ ‫آ رو‬ ‫ر د. ﺝ آ‬ ‫ان‬ ‫ي را‬ ‫:‬ ‫ده‬ ‫ي‬ ‫ور رو‬ ‫دو‬ ‫ار‬ ‫از ‪ parameter-list‬ی );(‬ ‫.‬ ‫وﺝ د ا‬ ‫داﺥ ی را‬ ‫ي‬ ‫اي رو‬ ‫زي‬ ‫د‬ ‫ه‬ ‫ا‬ ‫ه را‬ ‫ی .‬ ‫زي‬ ‫د‬ ‫را‬ ‫رو‬ ‫، ی آ‬ ‫ی را‬ ‫آ در‬ ‫ه آ‬ ‫آ‬ ‫. ی‬ ‫‪ final‬و‪ static‬ه‬ ‫ر‬ ‫د.‬ ‫ن‬ ‫،ا‬ ‫ت را‬ ‫ان داﺥ ا‬ ‫ار ده‬ ‫،‬ ‫ار ﺙ‬ ‫ی‬ ‫ی‬ ‫ه‬ ‫.‬ ‫زي‬ ‫د‬ ‫آ س‬ ‫ر‬ ‫ه‬ ‫و‬ ‫رو‬ ‫،آ‬ ‫ن‬ ‫ان ی ‪ public‬ا‬ ‫ﺥ دش‬ ‫را‬ ‫.ا‬ ‫اوﻝ‬ ‫د.‬ ‫‪ public‬ﺥ اه‬ ‫آ آ‬ ‫ی‬ ‫د را‬ ‫ل ی را‬ ‫آ . ای‬ ‫ه‬ ‫را‬ ‫را‬ ‫ی‬ ‫ﻝ از ی‬ ‫اآ ن‬ ‫د.‬ ‫را‬ ‫د‬ ‫را‬ ‫آ ی‬ ‫م ‪ ()callback‬ا‬ ‫رو‬ ‫در‬ ‫{ ‪interface Callback‬‬ ‫;)‪void callback(int param‬‬ ‫}‬ ‫زي را‬ ‫پ د‬ ‫ی .‬ ‫زي‬ ‫د‬ ‫را‬ ‫ن را‬ ‫ا‬ ‫ی آ س‬ ‫ی ،ی ی‬ ‫ی‬ ‫را‬ ‫ر را‬ ‫ه‬ ‫ي‬ ‫رو‬ ‫و‬ ‫آ س‬ ‫ی‬ ‫‪ implements‬را در‬ ‫،ﺝ‬ ‫زي ی را‬ ‫د‬ ‫اي‬ ‫ﺝ‬ ‫آ س آ در‬ ‫ی‬ ‫ی .‬ ‫را ای د‬ ‫را‬ ‫ی‬ ‫:‬ ‫رد زی‬ ‫،‬ ‫‪implements‬ا‬ ‫]‪access class classname [extends superclass‬‬ ‫{ ]]...‪[implements interface [/interface‬‬
  • 230. // class-body } ‫را‬ ‫از ی را‬ ‫ی آ س‬ ‫د. ا‬ ‫د‬ ‫"ا‬ ‫ی ا‬ ‫ ا‬public ‫( ی‬access) ‫در ای‬ ‫ی آ س دو را‬ ‫.ا‬ ‫آ‬ ‫ﺝا‬ ‫از ی ی‬ ‫آ‬ ‫ی‬ ‫را‬ ‫ی ، را‬ ‫زي‬ ‫د‬ ‫وی‬ ‫ن‬ ‫ن روش ی‬ ، ‫ی‬ ‫زي‬ ‫، د‬ ‫آ‬ ‫ن‬ ‫را ا‬ ‫را آ روش ی‬ ‫ی‬ ‫آ‬ ‫زي‬ ‫د‬ ‫را‬ ‫ی آ ی را‬ ‫. رو‬ ‫د ﺥ اه‬ ‫ا‬ ‫ن ه ی از را‬ ‫ع‬ ‫ی‬ ‫زي ی د‬ ‫د‬ ‫ع روش‬ ‫ی‬ ‫.ه‬ ‫ن‬ ‫ ا‬public ‫ان‬ ‫د اي‬ ‫ل از آ س‬ ‫ی‬ ‫. در ای‬ ‫ز ري دا‬ ‫و‬ interface ‫ی‬ ‫در‬ : ‫ی‬ ‫زي‬ ‫ را د‬callback ‫آ را‬ ‫آ‬ ‫ه‬ class Client implements Callback { // Implement Callback's interface public void callback(int p ){ System.out.println("callback called with " + p); } } . ‫ا‬ ‫ن‬ ‫ ا‬public ‫د‬ ‫د از‬ ‫ا‬ callback() ‫آ‬ ‫دا‬ ‫د‬ . ‫ن ﺥ اه‬ ‫ ا‬public ‫ان‬ ، ‫آ‬ ‫زي‬ ‫د‬ ‫را‬ ‫آ ی روش را‬ ‫ی د وري : و‬ ‫ا‬ ‫آ ا‬ ‫ز و ه رای ا‬ ‫،ه‬ ‫آ‬ ‫زي‬ ‫د‬ ‫را‬ ‫ی آ را‬ ‫اي آ‬ ‫ را‬callback ‫زي‬ ‫د‬ client ‫ي از‬ ‫ل ، روای‬ ‫ان‬ . ‫ی‬ ‫ی‬ ‫اي ﺥ د ن‬ : ‫ی‬ ‫ را ا‬nonIfaceMeth() ‫ا م داد و روش‬ class Client implements Callback { // Implement Callback's interface public void callback(int p ){ System.out.println("callback called with " + p); } void nonIfaceMeth (){ System.out.println("Classes that implement interfaces " + "may also define other members/ too."); }
  • 231. ‫}‬ ‫ت را‬ ‫ی ار‬ ‫زی از‬ ‫پ د‬ ‫د‬ ‫ع آ س از ی را‬ ‫يی‬ ‫آ‬ ‫نآ‬ ‫ا‬ ‫ان ارﺝ ت‬ ‫ه ی را‬ ‫ا‬ ‫ان در‬ ‫آ را‬ ‫زي‬ ‫د‬ ‫را‬ ‫ن‬ ‫ا‬ ‫آ را‬ ‫اي از آ‬ ‫ی .ه‬ ‫د‬ ‫ا‬ ‫،‬ ‫آ‬ ‫اﺥ ا‬ ‫از ای ارﺝ ت‬ ‫ی ی‬ ‫ی روش را از‬ ‫د. و‬ ‫ي ذﺥ‬ ‫ن‬ ‫. ای ی‬ ‫ﺥ اه‬ ‫اﺥ ا‬ ‫،‬ ‫ن ارﺝ ع‬ ‫آ‬ ‫را‬ ‫وا‬ ‫ا س‬ ‫روای‬ ‫رد ﺝ‬ ‫رت ی‬ ‫اﺝ ا‬ ‫د در‬ ‫ی اﺝ ا‬ ‫آ‬ ‫. رو‬ ‫ه ي آ ي را‬ ‫از ﺝ‬ ‫،‬ ‫اﺥ ا‬ ‫را روي ن‬ ‫از آ ي آ رو‬ ‫دی‬ ‫ده‬ ‫اﺝ ز‬ ‫آ‬ ‫دو‬ ‫ار‬ ‫در ر‬ ‫دا‬ ‫زي‬ ‫ون ای‬ ‫ی ی را‬ ‫ا از‬ ‫اﺥ ا‬ ‫.آ‬ ‫ای د‬ ‫ارﺝ ع آ س‬ ‫د از ی‬ ‫ا‬ ‫دازش‬ ‫ی . ای‬ ‫زی‬ ‫،‬ ‫"‪"callee‬دا‬ ‫.‬ ‫زی آ س ا‬ ‫ی‬ ‫اي د‬ ‫ل در‬ ‫ر روش‬ ‫ا‬ ‫ی‬ ‫اﺝ ا، در‬ ‫ل ی روش در‬ ‫ي ی‬ ‫نﺝ‬ ‫ط:‬ ‫ا‬ ‫ر‬ ‫از را‬ ‫ا‬ ‫د، ی‬ ‫ر‬ ‫ي )‪(over head‬‬ ‫ﺝ وا ،‬ ‫ي روش ‪ ()callback‬را از‬ ‫ل‬ ‫.‬ ‫د‬ ‫در آ ه ي ‪ performance-critical‬ا‬ ‫ا‬ ‫:‬ ‫اﺥ ا‬ ‫ارﺝ ع را ،‬ ‫ی ی‬ ‫{ ‪class TestIface‬‬ ‫{) ][‪public static void main(String args‬‬ ‫;)(‪Callback c = new Client‬‬ ‫;)24(‪c.callback‬‬ ‫}‬ ‫}‬ ‫:‬ ‫ار زی‬ ‫ای‬ ‫24 ‪callback called with‬‬ ‫ای وﺝ د ی‬ ‫.‬ ‫‪callback‬‬ ‫آ از ع را‬ ‫ی‬ ‫ري‬ ‫‪C‬‬ ‫آ‬ ‫آ‬ ‫د‬ ‫د‬ ‫روش )(‪ callback‬ا‬ ‫اي د‬ ‫ان از ‪C‬‬ ‫.ا‬ ‫ن‬ ‫از ‪client‬‬
  • 232. ‫ارﺝ ع‬ ‫.ی‬ ‫دا‬ ‫ د‬client ‫ئ آ س‬ ‫از ا‬ ‫ه‬ ‫ا‬ ‫د،ا‬ ، ‫ه دارد . ی‬ ، ‫ ﺥ د‬interface ‫ن‬ ‫ا‬ ‫ن‬ ‫يا‬ ‫از رو‬ ‫را‬ ‫ و‬client ‫ن‬ ‫د‬ ‫د‬ ‫ ا‬nonIfaceMeth() ‫اي د‬ C ‫ان از‬ . ‫ا‬ ‫ی‬ callback ‫ی‬ ‫ا‬ ‫ر‬ ، ‫ارﺝ ع را‬ ‫ه آ ی‬ ‫ن‬ ‫ل‬ ‫در ﻝ‬ ‫ی‬ ‫را‬ ‫ارﺝ‬ ‫ی‬ ‫رت‬ ‫،ا‬ ‫دا‬ ‫ئد‬ ‫زي‬ ‫د‬ ‫رت زی ، ای د‬ ‫ را‬Callback ‫زي‬ ‫د‬ ‫ه ای آ ر د ، ا ا دو‬ ‫اي‬ . ‫ده‬ : ‫ی‬ // Another implementation of Callback. class AnotherClient implements Callback { // Implement Callback's interface public void callback(int p ){ System.out.println("Another version of callback"); System.out.println("p squared is " +( p*p)); } } : ‫نآ‬ ‫ي را ا‬ ‫اآ ن آ س‬ class TestIface2 { public static void main(String args[] ){ Callback c = new Client)(; AnotherClient ob = new AnotherClient)(; c.callback(42); c = ob; // c now refers to AnotherClient object c.callback(42); } } : ‫ار زی‬ ‫ای‬ callback called with 42 Another version of callback p squared is 1764
  • 233. ‫ن‬ ‫آ ‪C‬‬ ‫ع‬ ‫اﺥ ا‬ ‫از )(‪ callback‬آ‬ ‫، روای‬ ‫ری‬ ‫ه‬ ‫،ی‬ ‫د ا‬ ‫ر‬ ‫ل‬ ‫ای‬ ‫د.ا‬ ‫آ ،‬ ‫اﺝ ا ارﺝ ع‬ ‫در‬ ‫د.‬ ‫ه ﺥ اه‬ ‫و آ ه را‬ ‫)‪(partial‬‬ ‫زي‬ ‫پ د‬ ‫د‬ ‫را آ‬ ‫ن را‬ ‫ی‬ ‫، ا روش‬ ‫ی را‬ ‫ی آ س در‬ ‫ا‬ ‫ل:‬ ‫ان‬ ‫د.‬ ‫ن‬ ‫ان ‪ abstract‬ا‬ ‫نآ س ی‬ ‫،‬ ‫زي‬ ‫{ ‪abstract class Incomplete implements Callback‬‬ ‫;‪int a, b‬‬ ‫{)( ‪void show‬‬ ‫;)‪System.out.println(a + " " + b‬‬ ‫}‬ ‫...//‬ ‫}‬ ‫ان‪abstract‬‬ ‫و ی‬ ‫زي‬ ‫د‬ ‫آ س ‪ Incomplete‬روش )(‪ callback‬را‬ ‫در ای‬ ‫زي‬ ‫د ی ی روش )(‪ callback‬را د‬ ‫آ از ‪ Incomplete‬ارث‬ ‫د. ه آ‬ ‫ن‬ ‫ا‬ ‫د.‬ ‫ن‬ ‫ان ‪ abstract‬ا‬ ‫ی و ی ﺥ دش‬ ‫ر دن را‬ ‫م‬ ‫ی آ س‬ ‫دازی .‬ ‫ل‬ ‫ی‬ ‫، اﺝ ز ده‬ ‫اي درك رت را‬ ‫آ د . ا ، راه ي‬ ‫زي‬ ‫د‬ ‫را‬ ‫ا از ﺙ‬ ‫د و‬ ‫دادی آ ی‬ ‫‪ stack‬را‬ ‫داراي ا از‬ ‫ا‬ ‫ل،ی‬ ‫ان‬ ‫وﺝ د دارد .‬ ‫زي ی‬ ‫د‬ ‫اي‬ ‫دي‬ ‫.‬ ‫ش‬ ‫وی‬ ‫ﺙ‬ ‫درﺥ‬ ‫ي )‪ ، (kinded list‬ی‬ ‫رای ، ی‬ ‫را در ی‬ ‫ان‬ ‫ه‬ ‫د را‬ ‫زي‬ ‫د‬ ‫آ‬ ‫د.‬ ‫اري‬ ‫وا ﻝ‬ ‫دودو‬ ‫و ای را‬ ‫ه‬ ‫ف را‬ ‫و )(‪pop‬‬ ‫ي )(‪push‬‬ ‫رو‬ ‫.ی‬ ‫ن‬ ‫ی‬
  • 234. ، ‫زي ن ﺝ ا‬ ‫د‬ ‫از‬ ‫ی‬ ‫ن را‬ . ‫زي‬ ‫د‬ ‫ت‬ ‫از ﺝ‬ ‫ﺥ اه‬ ‫ی‬ ‫ت ﺥ ص ﺥ د را‬ ‫زي‬ ‫د‬ ‫،وه‬ ‫د ا‬ ‫ﺥ‬ ‫ی‬ ‫را‬ ‫ی‬ ‫را‬ ‫د‬ ‫وﺝ د دارد آ ی‬ ‫را‬ ‫در ای‬ ‫. اول ای‬ ‫آ‬ ‫ل‬ ‫دو‬ .‫آ د‬ ‫ه دو‬ ‫ار ده . ای را‬ IntStack.java ‫م‬ ‫ی‬ ‫آ . ن را در ی‬ ‫ی‬ . ‫د ﺥ اه‬ ‫ا‬ ‫زي‬ ‫ع د‬ // Define an integer stack interface. interface IntStack { void push(int item); // store an item int pop)(; // retrieve an item : ‫ ای د‬FixedStack ‫م‬ ‫يی آ س‬ // An implementation of IntStack that uses fixed storage. class FixedStack implements IntStack { private int stck[]; private int tos; // allocate and initialize stack FixedStack(int size ){ stck = new int[size]; tos =- 1; } // Push an item onto the stack public void push(int item ){ if(tos==stck.length-1 )// use lenggth member System.out.println("Stack is full."); else stck[++tos] = item; } // Pop an item from the stack public int pop (){ if(tos < 0 ){ System.out.println("Stack underflow."); return 0; } else
  • 235. return stck[tos--]; } } class IFTest { public static void main(String args[] ){ FixedStack mystack1 = new FixedStack(5); FixedStack mystack2 = new FixedStack(8); // push some numbers onto the stack for(int i=0; i<5; i++ )mystack1.push(i); for(int i=0; i<8; i++ )mystack2.push(i); // pop those numbers off the stack System.out.println("Stack in mystack1:"); for(int i=0; i<5; i++) System.out.println(mystack1.pop) (); System.out.println("Stack in mystack2:"); for(int i=0; i<8; i++) System.out.println(mystack2.pop) (); } } ‫ی‬ ‫د از ه ن‬ ‫ا‬ ‫ی‬ ‫ وﺝ د دارد آ‬IntStack ‫از‬ ‫زي دی‬ ‫د‬ ‫در زی ی‬ ‫د. ا‬ ٢ ‫ﺥ‬ ‫ل اوﻝ‬ ‫ی‬ ‫زي ، ه‬ ‫د‬ ‫آ . در ای‬ ‫ ای د‬Interface ‫ي ز‬ ‫را ق‬ ‫.ه‬ ‫ی‬ ‫ا از ا ای‬ ‫از‬ ،‫د‬ ‫وز‬ ‫ل اوﻝ‬ ‫ای‬ . ‫دو ا ﺥ اه‬ ‫، ا از‬ // Implement a "growable" stack. class DynStack implements IntStack { private int stck[]; private int tos; // allocate and initialize stack DynStack(int size ){ stck = new int[size]; tos =- 1; } // Push an item onto the stack public void push(int item ){ // if stack is full/ allocate a larger stack
  • 236. if(tos==stck.length-1 ){ int temp[] = new int(stck.length * 2]; // duble size for(int i=0; i + stck = temp; stck[++tos] = item; } else stck[++tos] = item; } // Pop an item from the stack public int pop (){ if(tos < 0 ){ System.out.println("Stack underflow."); return 0; } else return stck[tos--]; } } class IFTest2 { public static void main(String args[] ){ DynStack mystack1 = new FixedStack(5); DynStack mystack2 = new FixedStack(8); // these loops cause each stack to grow for(int i=0; i<12; i++ )mystack1.push(i); for(int i=0; i<20; i++ )mystack2.push(i); System.out.println("Stack in mystack1:"); for(int i=0; i<12; i++) System.out.println(mystack1.pop) (); System.out.println("Stack in mystack2:"); for(int i=0; i<20; i++) System.out.println(mystack2.pop) (); } } ‫آ . ای آ س‬ ‫د‬ ‫ ا‬DynStack ‫ و ه از‬FixedStack ‫زي‬ ‫د‬ ‫ي ه از‬ ‫آ س‬ ‫هي‬ ‫اﺥ ا‬ ‫آ‬ ‫ا‬ ‫ان‬ ‫ده . ای‬ ‫ا م‬ ‫ی ارﺝ ع را‬ ‫ی‬ ‫ی‬ ‫ای ر را‬ . ‫ﺥ اه‬ ‫ی ( از‬ ‫يز نآ‬ ) ‫اﺝ ا‬ ‫ در‬pop() ‫ و‬push()
  • 237. /* Create an interface variable and access stacks through it. */ class IFTest3 { public static void main(String args[] ){ IntStack mystack; // create an interface reference variable DynStack ds = new DynStack(5); FixedStack fs = new FixedStack(8); mystack = ds; // load dynamic stack // push some numbers onto the stack for(int i=0; i<12; i++ )mystack.push(i); mystack = fs; // load fixed stack for(int i=0; i<8; i++ )mystack.push(i); mystak = ds; System.out.println("Values in dynamic stack:"); for(int i=0; i<12; i++) System.out.println(mystack.pop) (); mystak = fs; System.out.println("Values in fixed stack:"); for(int i=0; i<8; i++) System.out.println(mystack.pop) (); } } ds ‫ن‬ ‫،ه‬ ‫ ی‬IntStack. ‫را‬ ‫ی ارﺝ ع ا‬mystack ، ‫در ای‬ ‫د‬ ‫ ا‬DynStack ‫زي‬ ‫د‬ ‫ی‬ pop() ‫ و‬push() ‫، از روای ي‬ ‫ارﺝ ع‬ FixedStack ‫ آ‬pop() ‫ و‬push() ‫آ ، از روای ي‬ ‫ ارﺝ ع‬fs ‫آ‬ ‫آ .و‬ ‫اﺝ ا‬ ‫در‬ ‫آ‬ ‫ما‬ ، ‫دادی‬ ‫ری‬ ‫آ .ه‬ ‫د‬ ‫،ا‬ ‫ی‬ ‫ارﺝ ع را‬ ‫ی ی‬ ‫از‬ ‫از ی را‬ ‫زی ي‬ ‫د‬ ‫.د‬ ‫ا م‬ . ‫اﺝ ا‬ ‫در‬ ‫ن‬ ‫اي ر‬ ‫ﺝ وا‬ ‫ر‬ ‫هي آ‬ ‫از‬ ‫ی‬ ‫ه در را‬ ‫د‬ ‫ي‬ ‫آ‬ ‫ا‬ ‫اك‬ ‫ي‬ ‫اي وارد آ دن ﺙ‬ ‫از را‬ ‫ا‬
  • 238. ، ‫ارده اوﻝ‬ ‫دی دﻝ ا‬ ‫آ‬ ‫هی‬ ‫آ در‬ ‫ن ی را‬ ‫از ا‬ ‫زي‬ ‫را د‬ ‫آ را‬ ‫و‬ ‫)ی‬ ‫را در ی آ س‬ ‫آ ن را‬ ‫ی .و‬ ‫د‬ ‫ا‬ ‫د از‬ ‫ا‬ ‫د . ای آ ر‬ ‫و ﺥ اه‬ ‫ه در‬ ‫ان ﺙ‬ ‫ه‬ ‫ن‬ ‫ا‬ ‫(آ‬ ‫آ‬ const ‫ت‬ ‫ا‬ ‫# و‬defined ‫ي‬ ‫رگ از ﺙ‬ ‫اي ای د ی ر‬ ‫ر‬C++/C‫ در‬feader ‫ی‬ ‫آ در‬ ‫آ‬ ‫ه‬ ، ‫رو‬ ‫ه‬ ‫در‬ ‫را‬ ‫ی‬ ‫. ا‬ ‫هيﺙ‬ ‫آ نآ س‬ ‫ای ا‬ . ‫آ‬ ‫زي‬ ‫د‬ ‫ي را‬ ‫در وا‬ ‫ن را‬ . ‫آ د ا‬ ‫ وارد‬final ‫ه ي‬ ‫ان‬ ‫آ س‬ ‫يا‬ ‫را‬ automated) ‫ﺥ دآ ر‬ ‫زي ی‬ ‫د‬ ‫اي‬ ‫ي از ای‬ ‫ل‬ . ‫د ا‬ ‫د‬ ‫( ا‬decision maker import java.Random; interface SharedConstants { int NO = 0; int YES = 1; int MAYBE = 2; int LATER = 3; int SOON = 4; int NEVER = 5; } class Questionimplements SharedConstants { Random rand = new Random)(; int ask (){ int prob =( int( )100 * rand.nextDouble))(; if( prob < 30) return NO; // 30% else if( prob < 60) return YES; // 30% else if( prob < 75) return LATER; // 15% else if( prob < 98) return SOON; // 13% else return NEVER; // 2% }
  • 239. } class AskMe implements SharedConstante { static void answer(int result ){ switch(result ){ case NO: System.out.println("No"); break; case YES; System.out.println("Yes"); break; case MAYBE: System.out.println("Maybe"); break; case LATER: System.out.println("Later"); break; case SOON: System.out.println("Soon"); break; case NEVER: System.out.println("Never"); break; } } public static void main(String args[] ){ Question q = new Question)(; answer(q.ask) (); answer(q.ask) (); answer(q.ask) (); answer(q.ask) (); } } . ‫د‬ ‫ ا‬Random ‫ارد ﺝ وا ی‬ ‫يا‬ ‫ازآ‬ ‫از ی‬ ‫آ ای‬ ‫دا‬ ‫د‬ ‫آ‬ ‫ی روش ا‬ ‫. ای آ س در‬ ‫ا‬ ‫د‬ ‫ا اد‬ ‫اه آ‬ ‫ای آ س‬ ‫ل ، از‬ ‫ده . در ای‬ ‫ن را‬ ‫ز‬ ‫رد‬ ‫در‬ ‫د‬ ‫اري ار م‬ ‫ا ن‬
  • 240. ‫ود ٠ ٠ ٠ ١ا را‬ ‫در‬ ‫د‬ ‫. ای روش ا اد‬ ‫ا‬ ‫د‬ ‫ ا‬nextDouble() ‫روش‬ . ‫دا‬ ‫ را‬SharedConstants ‫ و ه دو را‬AskMe ‫ و‬Question‫دو آ س‬ ‫در ای‬ ‫ و‬NEVER ‫ و‬LATER ،SOON ،MAYBE ،Yes ، No ‫، ﺝ ی آ‬ ‫آ‬ ‫زي‬ ‫د‬ ‫ی ه آ س‬ ‫ری‬ ‫آ‬ ‫اﺝ‬ ‫ه‬ ‫ای ﺙ‬ ‫ا . داﺥ ه ی آ س ، آ‬ ‫ی‬ ‫ی اﺝ اي‬ ‫. در ای‬ ‫د ا‬ ‫ارث‬ ‫از‬ ‫د ی‬ ‫ی‬ ‫ر‬ ‫را‬ .‫د‬ ‫وت ﺥ اه‬ ‫ر اﺝ ا‬ ‫ی در ه‬ ‫آ‬ ‫آ‬ ‫.د‬ ‫آ‬ ‫ه‬ ‫را‬ ‫از ای‬ Later Soon No Yes ‫ش داد‬ ‫ﺕ ان‬ ‫را‬ ‫را‬ ‫رز ن‬ ‫د. د‬ ‫ارث‬ ‫دی‬ ‫ا از ی را‬ extends ‫د از واژ آ ي‬ ‫ا‬ ‫ی را‬ ‫آ آ از را‬ ‫زي‬ ‫د‬ ‫را‬ ‫آ س را‬ ‫ی‬ ‫. و‬ ‫ا‬ ‫ي ارث‬ ‫آ‬ ‫را‬ ‫وراﺙ‬ ‫داﺥ ز‬ ‫ی‬ ‫ي‬ ‫رو‬ ‫زی ي آ‬ ‫د‬ ‫، ی‬ ‫د ا‬ ‫ي ارث‬ ‫دی‬ : ‫آ‬ ‫ه‬ ‫ﻝ را‬ . ‫ی‬ ‫اه‬ // One interface can extend another. interface A { void meth1(); void meth2(); } // B now includes meth1 )(and meth2 -- )(it adds meth3.)( interface B extends A { void meth3(); } // This class must implement all of A and B class MyClass implements B { public void meth1 (){
  • 241. System.out.println("Implement meth1.)("); } public void meth2 (){ System.out.println("Implement meth2.)("); } public void meth3 (){ System.out.println("Implement meth3.)("); } } class IFExtend { public static void main(String args[] ){ MyClass ob = new MyClass(); ob.meth1(); ob.meth2(); ob.meth3(); } } Myclass ‫)( را در آ س‬meth1 ‫زي‬ ‫د‬ ‫آ‬ ‫اه‬ ‫ا‬ ‫ان ی‬ ‫،ه‬ ‫ری‬ ‫.ه‬ ‫ ﺥ اه‬comile-time ‫وز ﺥ ي‬ ‫ی . ای‬ ‫ﺝ‬ ‫ه‬ ‫ن را‬ ‫ی‬ ‫ي‬ ‫رو‬ ‫ی آ‬ ‫آ‬ ‫زي‬ ‫را د‬ ‫آ ی را‬ ‫آ‬ .‫ی‬ ‫زي‬ ‫ارث د ا را د‬ ‫ی را‬ ‫آ ام آ از‬ . ‫ﺝ وا ه‬ ‫ی‬ ‫از‬ ‫ه دو‬ ‫ه و را‬
  • 242. ‫آ‬ ‫ا اع داد‬ ‫ن داد ه‬ ‫زي ا اع‬ ‫پ د‬ ‫:‬ ‫وی ای‬ ‫ه‬ ‫ر‬ ‫رای ه‬ ‫ی ه‬ ‫.‬ ‫ﺥ اه‬ ‫ﺥ ن داد‬ ‫زي ا اع‬ ‫د‬ ‫در ای‬
  • 243. ‫رﺵ ه‬ ‫ﺝ وا‬ ‫ا‬ ‫ر‬ ‫.داد ه‬ ‫از ا اع داد ه‬ ‫ان ی‬ ‫ه‬ ‫ﺝ وا از ر‬ ‫ر‬ ‫ی وه‬ ‫ر‬ ‫د‬ ‫ی و‬ ‫از ا اع داد ه‬ ‫،ی‬ ‫‪String‬‬ ‫.‬ ‫ض‬ ‫در‬ ‫ی .‬ ‫ر‬ ‫ه‬ ‫رای ا از را‬ ‫ان رای ه‬ ‫د.ه‬ ‫د‬ ‫ا ا‬ ‫ر‬ ‫ه‬ ‫دن‬ ‫ی‬ ‫ا‬ ‫از ‪String‬‬ ‫ان‬ ‫را‬ ‫ل‬ ‫ا‬ ‫ر‬ ‫ه‬ ‫د. ﺙ‬ ‫ی‬ ‫ا‬ ‫ر‬ ‫ع‬ ‫ه‬ ‫ی‬ ‫ان‬ ‫ع ‪ String‬را‬ ‫ه‬ ‫داد.‬ ‫ع ‪String‬‬ ‫ه‬ ‫ل‬ ‫ان‬ ‫داد.‬ ‫‪String‬‬ ‫”‪String str=”this is a test‬‬ ‫;)‪System.out.println(str‬‬ ‫ی .ای‬ ‫ن‬ ‫”‪“this is a test‬‬ ‫ر‬ ‫از ع ‪ string‬ا‬ ‫‪ str‬در ای‬ ‫ه و‬ ‫ع ‪ string‬وی‬ ‫ه‬ ‫د.‬ ‫داد‬ ‫ی‬ ‫رت )(‪println‬‬ ‫و‬ ‫ر‬ ‫ز .‬ ‫ن‬ ‫و‬ ‫ر ر‬ ‫را‬ ‫زی د دار‬ ‫ت وی‬ ‫ﺥ‬ ‫ن‬ ‫رز ای‬ ‫ی .دﻝ‬ ‫ر‬ ‫ﺝ وا‬ ‫سه‬ ‫س در‬ ‫ی‬ ‫اول‬ ‫‪string‬‬ ‫ی.‬ ‫ر‬ ‫ز‬ ‫از‬ ‫ر‬ ‫ه‬ ‫ر‬ ‫ا‬ ‫در وا‬ ‫ای د‬ ‫ا‬ ‫ه ر‬ ‫, نا‬ ‫ا‬ ‫ه‬ ‫ی در ر ر‬ ‫ل در‬ ‫ان‬ ‫ی .‬ ‫ر‬ ‫ا ه‬ ‫ر‬ ‫ه‬ ‫ﺙ‬ ‫.‬ ‫س ‪ string‬ا‬ ‫از‬ ‫رت زی‬ ‫;)”‪System.out.println(“this is a string,too‬‬ ‫ه‬ ‫ﺙ‬ ‫ی ی‬ ‫ی .روش‬ ‫ر‬ ‫ا‬ ‫ر‬ ‫ﺙ‬ ‫”‪“this is a string,too‬‬ ‫ر‬ ‫.‬ ‫ا‬ ‫دی‬ ‫ﻝ در ز ن ه‬ ‫ه‬ ‫ن ی ی ر‬ ‫در ﺝ وا ه‬ ‫ر‬ ‫ی‬ ‫ع ‪string‬‬ ‫ه‬ ‫ان ا‬ ‫ا‬ ‫ه‬ ‫ی در ر ر‬ ‫دو‬ ‫ای‬ ‫د.ا‬ ‫اه‬ ‫ن ه‬ ‫ا‬ ‫‪string‬‬ ‫ه‬ ‫از ای د‬ ‫.ی‬ ‫ه‬ ‫:‬ ‫ای‬ ‫دو دﻝ‬ ‫ی,ا‬ ‫ودی ﺝ‬ ‫ا‬ ‫ع‬ ‫ای د‬ ‫ﺝی‬ ‫ا‬ ‫,ه‬ ‫ا دا‬ ‫ر‬ ‫ز‬ ‫١_ا‬ ‫.‬ ‫رد‬ ‫ات‬
  • 244. ‫ه‬ ‫ر‬ ‫ن‬ ‫ا‬ ‫ا‬ ‫ی‬ ‫ در ﺝ وا‬StringBuffer ‫م‬ string _٢ ‫ا م‬ ‫ه ه ز در ﺝ وا‬ ‫ر‬ ‫ط‬ ‫دازش‬ ‫م ره‬ ‫ای‬ ,‫زد‬ ‫اه‬ ‫را‬ . ‫ه‬ ‫ن‬ ‫ر‬ ‫د از‬ ‫ی روش ,ا‬ .‫ه وﺝ د دارد‬ ‫ا ای د ر‬ ‫روش ه‬ : ‫ل زی ا‬ String mystring = “this is a test”; , ‫زا‬ ‫ه‬ ‫ر در‬ ‫ای‬ ‫در ه‬ ‫ا‬ ‫ل ن را‬ ُ ‫از ای د ی‬ . ‫ر ی‬ : ‫ده‬ ‫ی‬ ‫ را‬mystring ‫رت زی‬ ‫ل‬ ‫ان‬ System.out.println(my string); ‫ا اد م دو ر‬ ‫.از ن‬ ‫ا‬ ‫ی‬ String ‫ع‬ ‫ه‬ ‫ا‬ ‫"+" در ﺝ وا‬ ‫رت زی‬ ‫ل‬ ‫ان‬ .‫د‬ ‫د‬ ‫ا‬ String mystring = “I” + “like” + “java. “; .‫د‬ mystring ‫“ در‬I like java. “ ‫ن‬ ‫ذﺥ‬ equals() ‫د از‬ ‫ا . ا‬ ‫ر‬ ‫در ای‬ ‫ﺥ از‬ .‫دارد‬ ‫ی‬ string ‫س‬ ‫را‬ ‫ر‬ ‫لی‬ ‫ا‬ length() ‫اﺥ ا‬ . ‫را ر‬ ‫و دو ر‬ ‫ا‬ ‫در ر‬ ‫رد‬ ‫ﺝ د در‬ ‫را‬ ‫ا‬ ‫ ه‬charAt() ‫د از‬ ‫وری . ا‬ ‫د‬ : ‫ا‬ ‫ن داد‬ ‫در ذی‬ ‫ای‬ . ‫وری‬ ‫را‬ Boolean equals(String object) Int length() Char charAt(int index) :‫ل‬ ‫ان‬ . ‫د‬ ‫ی ا اع رای ه ا‬ ‫ن‬ ‫ه‬ ‫ا‬ ‫ا‬ ‫ر‬ ‫از رای ه‬ ‫اﻝ‬ Class stringdemo3{ Public static void main(string args[]){ String str[] = {“one”,”two”,”three”}; For (int i=0;i<str.length;i++) System.out.println(“str[“+i+”]:”+str[i]); } } : ‫ﺥ وﺝ‬
  • 245. ‫‪Str[0]:one‬‬ ‫‪Str[1]:two‬‬ ‫‪Str[2]:three‬‬ ‫ﺥ ا‬ ‫اه‬ ‫ا ﺝ وا‬ ‫ن را‬ ‫ر ای ا‬ ‫ه‬ ‫رت‬ ‫ه‬ ‫ز ر‬ ‫د‬ ‫ل‬ ‫ان‬ ‫ز .‬ ‫ه را ا ن‬ ‫ر‬ ‫ی ی‬ ‫ارد‬ ‫زی د در اﺥ ر ن‬ ‫ه‬ ‫وی‬ ‫ر‬ ‫و‬ ‫,اد م دو ر‬ ‫زی ر‬ ‫ی‬ ‫,ﺝ‬ ‫دو ر‬ ‫ی‬ ‫ا‬ ‫هی‬ ‫ﺝ وا‬ ‫ان ای د‬ ‫روش‬ ‫‪ String‬را‬ ‫ه‬ ‫دارد.ه‬ ‫وف ه ر‬ ‫و‬ ‫ع ‪ String‬ای د‬ ‫ی‬ ‫د.و‬ ‫ن‬ ‫ز‬ ‫ه م‬ ‫ه‬ ‫ای ای د ر‬ ‫د.‬ ‫‪string‬‬ ‫ءه‬ ‫ازای د‬ ‫د.ی‬ ‫اه‬ ‫د‬ ‫ای د‬ ‫ا‬ ‫,ر‬ ‫ا‬ ‫در‬ ‫ده . ای ا‬ ‫ا‬ ‫را‬ ‫ده‬ ‫ه‬ ‫را‬ ‫ر‬ ‫ط‬ ‫ت‬ ‫م ا اع‬ ‫ا‬ ‫. زه‬ ‫ای‬ ‫ر ی ا وا‬ ‫ودی‬ ‫ا از ه ر‬ ‫ی‬ ‫رش‬ ‫ز‬ ‫ر‬ ‫ه‬ ‫ه را ا م ده . وت ر در ان ا‬ ‫اوﻝ‬ ‫د.ر‬ ‫ات ﺥ اه‬ ‫د‬ ‫ای د‬ ‫‪ String‬ﺝ ی‬ ‫ح‬ ‫و‬ ‫ﺙ‬ ‫ه‬ ‫ر‬ ‫ز‬ ‫د‬ ‫ن ا‬ ‫د از ای روی‬ ‫ا‬ ‫. دﻝ‬ ‫ر‬ ‫ز‬ ‫ا‬ ‫د.ﺝ وا ا‬ ‫ﺥ اه‬ ‫ر‬ ‫ه‬ ‫ر‬ ‫ی‬ ‫رد‬ ‫:‪ StringBuffer,StringBuilder‬ه دو‬ ‫د ا‬ ‫اه‬ ‫ی‬ ‫دو‬ ‫ی‬ ‫ه‬ ‫.‬ ‫از ای د‬ ‫ر رو‬ ‫هی‬ ‫ار ر‬ ‫ا‬ ‫ا‬ ‫ا .از ای رو‬ ‫ی‬ ‫‪ String,StringBuffer,StringBuilder‬در‪java.lang‬‬ ‫سه‬ ‫رت ‪final‬‬ ‫ار دار ه‬ ‫ه‬ ‫م‬ ‫ر ﺥ د ر در اﺥ ر‬ ‫نه‬ ‫ه‬ ‫د.ای ا‬ ‫ان از ن ه‬ ‫را‬ ‫س دی‬ ‫ه‬ ‫ان‬ ‫ا وای‬ ‫ی‬ ‫م‬ ‫ا‬ ‫ط‬ ‫اول‬ ‫ت‬ ‫رای‬ ‫ﺝ ا ای‬ ‫ا‬ ‫ز‬ ‫ر ا‬ ‫.‬ ‫ز‬ ‫‪ CharSequence‬را د‬ ‫ر را‬ ‫سه‬ ‫, ی‬ ‫ه‬ ‫ع ‪String‬‬ ‫ه‬ ‫ﺝ د در‬ ‫ه‬ ‫ر‬ ‫ای‬ ‫رت‬ ‫داد. ا‬ ‫از ای د‬ ‫ان‬ ‫‪ String‬را‬ ‫ه‬ ‫ا‬ ‫.‬ ‫ارﺝ ع دا‬ ‫‪ String‬دی‬ ‫ا‬ ‫د در ه ﻝ‬ ‫ی‬ ‫‪String‬ه‬ ‫س ‪String‬‬ ‫‪Constructor‬‬
  • 246. ‫ ﺥ ﻝ ای د‬string ‫ی‬ ‫ن‬ ‫ا‬ . constructor ‫ از‬String ‫س‬ ‫ا از‬ ‫ای د‬ ‫رت زی‬ ‫ل‬ ‫ان‬ . ‫ا‬ ‫ا‬ ‫ض را‬ constructor, .‫د‬ ‫در ن‬ ‫را‬ ‫ ون ه‬String String s=new String(); ‫ه‬ ‫ , ز‬String ‫. س‬ ‫ار اوﻝ ﺥ اه دا‬ ‫هی‬ ‫ای د ر‬ ‫ز‬ ‫او ت‬ ‫ا‬ ‫رای ا از‬ ‫ ای د و‬String ‫ی‬ ‫ن‬ ‫. ا‬ ‫د ا‬ ‫اه‬ ‫ر‬ ‫ا م ای‬ ‫ا‬ : ‫ی‬ ‫د‬ ‫زی ا‬ ‫ز‬ ‫از‬ ‫ارده‬ ‫ه‬ ‫را‬ String(char chars[]) : ‫ﺝ‬ ‫ل زی‬ Char chars[]={ ‘a’,’b’,’c’}; String s = new string(chars); . ‫ده‬ s ‫“ را‬abc” ‫ار اوﻝ‬ ‫ز‬ ‫ار اوﻝ‬ ‫ان‬ ‫رای را‬ ‫از ی‬ ‫ا‬ ‫ ذی‬constructor ‫د از‬ ‫ا‬ : String(char chars[],int startindex,int numchars) ‫ن‬ ‫ ه‬numchars ‫و‬ ‫رد‬ ‫ه‬ ‫ز ر‬ ‫ای‬ Startindex : ‫ﺝ‬ ‫ل زی‬ . ‫ر د‬ ‫ی‬ ‫هی ا‬ ‫اد را‬ ‫ده‬ Char chars[] = { ‘a’,’b’,’c’,’d’,’e’,’f’}; String s = new string (char,2,3); .‫ه‬ s ‫“ را‬cde” ‫ار اوﻝ‬ ‫رت‬ . ‫ای د‬ ‫ دی‬String ‫ار ی‬ ‫ ا‬String ‫ا‬ ‫زی‬ ‫ز‬ ‫د از‬ ‫ا‬ String(String strObj) :‫ی‬ ‫. ل زی را در‬ ‫ ا‬String ‫ع‬ strObj //construct one string from another. Class Makestring{ Public static void main(String args[]){ Char c[] ={‘j’,’a’,’v’,’a’}; String s1 = new String(c);
  • 247. String s2 = new String(s1); System.out.println(s1); System.out.println(s2); } } : ‫ا‬ ‫ن داد‬ ‫در ذی‬ ‫ﺥ وﺝ‬ Java Java .‫ وﺝ د دارد‬s1 ,s2 ‫در‬ ‫ی‬ ‫ر‬ ‫ه‬ ‫ی‬ ‫ه‬ ‫را‬ ‫ن دادن‬ ‫ا‬ ١ ‫ در ﺝ وا از‬char ‫ع‬ ‫داد ه‬ ‫ا‬ ٨ ‫ی‬ ‫از رای ه‬ ‫د در ای‬ ‫رد ا‬ ‫ه‬ ‫ر‬ ‫ا در‬ ‫د‬ ‫ا‬ ‫اول‬ ٨ ‫ا‬ ‫ه‬ ‫د. ن ر‬ ‫د‬ ‫ا‬ ‫ا‬ ‫را‬ ‫از‬ ‫ع‬ ‫رای‬ ‫د ازی‬ ‫ا ا‬ ‫در‬ ‫ه‬ ‫ار ده ر‬ ‫ا‬ ‫ه ی را‬ ‫ز‬ ‫ ه‬String ‫س‬ : ‫ا‬ ‫ن داد‬ ‫در زی‬ ‫. م‬ ‫ﺥ ا‬ ‫اه‬ byte String(byte askiichars[]) String(byte askiichars[],int startindex,int numchars) ‫از‬ ‫دن‬ ‫ن‬ ‫ا‬ ‫. م دوم‬ ‫ه ا‬ ‫ی‬ ‫رای‬ Asciichars ‫د از روش‬ ‫ا‬ ‫م‬ ‫در ه دو‬ ‫را‬ ‫ی‬ ‫زد. ی‬ ‫اه‬ ‫رای را‬ ‫ه‬ ‫را‬ : ‫د‬ ‫ه ا‬ ‫ز‬ ‫زی از ای‬ .‫د‬ ‫ﺝر ا م‬ ‫ض‬ ‫ار‬ ‫ر‬ //construct string from subset of char array. Class substringcons{ Public static void main (String args[]){ Byte ascii[]={65,66,67,68,69,70}; String s1=new string(ascii); System.out.println(s1); String s2=new String(ascii,2,3); System.out.println(s2); } } : ‫ا‬ ‫ن داد‬ ‫در ذی‬ ‫از اﺝ ا‬ ‫ﺥ وﺝ‬ Abcdef
  • 248. Cde ‫روش‬ ‫ا‬ ‫در‬ ‫ا‬ ‫ی‬ ‫ر‬ ‫ی‬ ‫ه‬ ‫ز‬ ‫از‬ ‫دی‬ ‫ر‬ ‫ض‬ ‫از روش‬ ‫او ت‬ ‫ا‬ ‫ه را‬ ‫را‬ ‫ی ه‬ ‫ی‬ ‫ار‬ ‫ر‬ . ‫ی‬ ‫د‬ ‫ﺝر ا‬ .‫د‬ ‫ن‬ ‫رای‬ ‫ا‬ ‫رای ا ای د‬ ‫ از رو‬String ‫ی‬ ‫ﺝ :و‬ . String ‫ده‬ ‫از ای د ر‬ ‫رای را‬ ‫ا‬ ‫ا‬ . ‫ی‬ ‫ ای د‬StringBuffer ‫ از رو‬String ‫ی‬ ‫ا‬ ‫زی‬ ‫ز‬ ‫د از‬ ‫ا‬ String(StringBuffer strBufObj) . ‫ا‬ ‫ ا ود‬J2SE 5 ‫و‬ ‫ ه ی‬Constructor ‫ن داد‬ ‫در ذی‬ ‫رد‬ . ‫ا‬ ‫ ا ود‬String J2SE 5 ‫و‬ ‫ز‬ ‫دو‬ . ‫شی‬ ‫ی‬ ‫ه‬ ‫را‬ ‫از‬ ‫ا‬ String(int codePoints[],int startindex,int numchars) ‫از‬ ‫ود ا‬ ‫از‬ ‫.ر‬ ‫ا‬ ‫ی‬ ‫ه‬ ‫ رای ا ا‬codePoints .‫د‬ ‫ا‬ ‫ را‬numChars ‫و‬ ‫ز‬ startindex ‫ن داد‬ ‫ن در زی‬ ‫م‬ . StringBuilder ‫س‬ ‫ﺝ ی از‬ ‫ز‬ ‫دو‬ : ‫ا‬ String(StringBuilder strBuilderObj) . ‫ ای د‬strBuilderObj ‫ ار ﻝ در‬StringBuilder ‫س‬ ‫ا از‬String ‫ل رﺵ ه‬ ‫ان‬ ‫ار‬ ‫وردن ای‬ ‫د‬ ‫ا‬ . ‫ﺝ د در ن ا‬ ‫ه‬ ‫اد را‬ ‫له ر‬ ‫در‬ ‫را‬ ‫ا‬ ‫رات زی ٣ ا‬ : ‫ا‬ ‫ا‬ ‫رت زی‬ ‫ را‬length() .‫ وﺝ د دارد‬s ‫ر‬ Char chars[] = {‘a’,’b’,’c’};
  • 249. ‫;)‪String s = new String(chars‬‬ ‫;))(‪System.out.println(s.length‬‬ ‫رﺵ ه‬ ‫ت وی‬ ‫ی ﺝ وا‬ ‫ر‬ ‫ﺝ وا‬ ‫ز‬ ‫از‬ ‫اول و‬ ‫ه‬ ‫ر‬ ‫ی‬ ‫از‬ ‫.ای‬ ‫ا‬ ‫ز ن‬ ‫ا‬ ‫ﺥ ر‬ ‫ه در‬ ‫ر‬ ‫ط‬ ‫ت‬ ‫ا‬ ‫ا‬ ‫ت وی‬ ‫ا‬ ‫ی‬ ‫ا ,اد م‬ ‫ر‬ ‫ﺝ ی ‪ String‬از رو ﻝ ال ه‬ ‫ه‬ ‫ای د ﺥ د ر‬ ‫ت‬ ‫ه‬ ‫.‬ ‫ه‬ ‫ر‬ ‫دی‬ ‫"+" و ی ا اع داد ه‬ ‫د از‬ ‫ا‬ ‫‪String‬‬ ‫ه و را‬ ‫ت وﺝ د دارد ا ﺝ وا ا ا ای‬ ‫م ای‬ ‫ا ا م‬ ‫ای‬ ‫ده .‬ ‫رﺥ د را م‬ ‫ره را‬ ‫ز ای‬ ‫رﺵ ا‬ ‫ال ه‬ ‫از‬ ‫‪ String‬را از رای ا‬ ‫ه‬ ‫ان‬ ‫ن داد‬ ‫له‬ ‫در‬ ‫ر وﺝ د دارد‬ ‫ا ا م ای‬ ‫د.ا روش‬ ‫‪ new‬ای د‬ ‫د از‬ ‫ا‬ ‫ه‬ ‫را‬ ‫ر‬ ‫‪ String‬را‬ ‫نی‬ ‫ا در‬ ‫ا ه ﻝ ال ر‬ ‫د از ﻝ ال ه .ﺝ وا‬ ‫,ا‬ ‫:‬ ‫دل را ای د‬ ‫رات زی دو ر‬ ‫ل‬ ‫ان‬ ‫زد.‬ ‫ﺥ د ر‬ ‫;}’‪Char chars[] = {‘a’,’b’,’c‬‬ ‫;)‪String s1 = new String(chars‬‬ ‫‪String s2 = “abc”;//use string literal‬‬ ‫ه‬ ‫ده ﺝ‬ ‫ا ای د‬ ‫ر‬ ‫از ﻝ ال ه‬ ‫ا ه ی‬ ‫‪String‬‬ ‫نی‬ ‫در‬ ‫له ن‬ ‫ان‬ ‫ی .‬ ‫د‬ ‫از ﻝ ال ه ا‬ ‫ا‬ ‫د‬ ‫ا‬ ‫‪String‬‬ ‫ل‬ ‫هی‬ ‫ا ر‬ ‫ا‬ ‫ه را‬ ‫ا‬ ‫ن داد‬ ‫ل زی‬ ‫ه‬ ‫ارﺝ ع‬ ‫ه‬ ‫نه‬ ‫اﺥ ا‬ ‫ن‬ ‫ه‬ ‫در‬ ‫ا‬ ‫ا‬ ‫.‬ ‫٣ا‬ ‫ی‬ ‫ن‬ ‫د‬ ‫”‪ “abc‬ا ﺥ ا‬ ‫ل زی )(‪ length‬ا ر‬ ‫‪ String‬در‬ ‫;))(‪System.out.println(“abc”.length‬‬
  • 250. ‫اد م رﺵ ه‬ ‫ای‬ ‫ا‬ .‫زد‬ ‫اه‬ ‫ را‬String ‫ه‬ ‫ه‬ ‫ل‬ ‫نا‬ ‫ا‬ ‫ر‬ ‫ﺝ وا‬ ‫.ای‬ ‫ ا‬string ‫نی‬ ‫و‬ ‫را اد م‬ ‫دو ر‬ ‫"+" ا‬ ‫ع‬ ‫رات‬ ‫در‬ ‫ر‬ ‫ل‬ ‫ان‬ .‫زد‬ ‫اه‬ ‫"+" را‬ ‫اد م‬ ‫د‬ ‫نا‬ ‫ا‬ ‫ا‬ . ‫اد م‬ ‫ی ی‬ ‫زی‬ String age=”9”; String s = “he is “+age+”years old”; System.out.println(s); ‫ه ه م‬ ‫اد م ر‬ ‫از ر د ه‬ ‫.ی‬ ‫” ا‬he is 9 years old” ‫ی‬ ‫رت‬ ‫در‬ ‫ه‬ ‫ر‬ ‫ن‬ ‫ﺝ‬ .‫د‬ ‫ین‬ ‫ر‬ ‫ه‬ ‫ای د ر‬ ‫و "+" اد م‬ ‫ن ه را‬ ‫ا‬ ‫ی‬ ‫ادا‬ ‫واز‬ ‫هی ن‬ : ‫ﺝ‬ ‫زی‬ ‫له‬ . //using concatentionto prevent long lines. Class concat{ Public static void main(String args[]){ String longstr=”this coud have been”+ “a very long line that would have “+ “wrapped around.but string concatenation”+ “prevent this.”; System.out.println(longstr); } } ‫دی‬ ‫ا اع داد ه‬ ‫اد م رﺵ ه‬ ‫از‬ ‫و‬ ‫رش‬ ‫ل‬ ‫ان‬ . ‫اد م‬ ‫دی‬ ‫ا اع داد ه‬ ‫ا‬ ‫ه را‬ ‫ر‬ : ‫ﺝ‬ ‫ل‬ Int age = 9; String s = “he is”+age+”years old.”; System.out.println(s);
  • 251. . ‫ا‬ ‫ل‬ ‫ن‬ ‫ه‬ ‫ا ﺥ وﺝ‬ ‫ ا‬int ‫از ع‬ ‫ل‬ ‫ در ای‬Age .‫د‬ ‫ی‬ ‫دﻝ‬ ‫ر‬ ‫رﺥ د ر‬ age ‫ﺝ د در‬ int ‫ار‬ ‫زی ا‬ ‫ه‬ ‫اج را‬ ‫ا‬ charAt() ‫ا‬ charAt ‫د از‬ ‫ا‬ ‫اج‬ ‫ ا‬String ‫را از ی‬ ‫وا‬ ‫را‬ ‫ن‬ ‫ا‬ : ‫رت زی ا‬ ‫ن‬ ‫. م‬ ‫را‬ ‫رد‬ ‫را‬ Char charAt(int where) ‫از‬ ‫و‬ ‫ ی‬where ‫. ار‬ ‫ا‬ ‫رد‬ ‫را‬ ‫ ای‬Where ‫ل‬ ‫ان‬ ‫دا‬ ‫را‬ ‫رد‬ ‫ را‬charAt(). ‫ر‬ Char ch; Ch=”abc”.charAt(1); . ‫ده‬ ch ‫“ را‬b” ‫ار‬ GetChars() ‫د‬ ‫ ا‬GetChars() ‫از‬ ‫ا‬ , ‫دا‬ ‫را‬ ‫از ی‬ ‫اج‬ ‫ا‬ ‫ز‬ ‫ا‬ : ‫رت زی ا‬ ‫ن‬ ‫ی . م‬ Void GetChars(int sourceStart,int sourceEnd,char target[],int targetStart) ‫ای‬ ‫ه‬sourceEnd‫,و‬ ‫ا ا زی ر‬ ‫ای‬ targetStart ‫ه‬ ‫را‬ ‫رد‬ ‫.از ای رو,زی ر‬ ‫ا‬ ‫رد‬ ‫زی ر‬ ‫را‬ ‫از ﺥ ی‬ .‫د‬ ‫ ﺥ اه‬sourceEnd-1 targetStart ‫ط‬ ‫د.ای‬ target ‫و‬ ‫ار‬ ‫ه در ن‬ ‫را‬ ‫رای ا‬ ‫د‬ ‫. ی د‬ ‫ ار ل ﺥ اه‬targetStart ‫در‬ ‫دن زی ر‬ ‫ ﺝ‬target ‫رد‬ ‫ﺝ د در زی ر‬ ‫ه‬ ‫را‬ ‫ز‬ ‫ا ذﺥ‬ ‫ا از‬ ‫ ی‬target ‫رای‬ . ‫رگ‬
  • 252. : ‫ده‬ ‫ن‬ ‫ را‬GetChars() ‫د‬ ‫زی‬ Class getcharsDemo{ Public static void main(String args[]){ String s=”this is a demo of the getchars method.”; Int start=10; Int end=14; Char buf[]=new char[end-start]; s. getChars(start,end,buf,0); System.out.println(buf); } } : ‫ا‬ ‫ن داد‬ ‫در ذی‬ ‫ﺥ وﺝ‬ Demo ‫رﺵ ه‬ ‫ی‬ . ‫ی‬ ‫ه را‬ ‫ه ی زی ر‬ ‫ر‬ ‫دارد‬ ‫ی‬ String ‫س‬ equalsIgnoreCase(),equals() ‫رت زی‬ ‫ن‬ ‫. م‬ ‫د‬ ‫ا‬equals( )‫از‬ ‫را ر‬ ‫و دو ر‬ ‫ن‬ ‫ا‬ : ‫ا‬ Bolean equals(Object str) ‫ه‬ ‫را‬ .‫د‬ ‫ی‬ ‫ل‬ String ‫ ا ا‬string Str ‫ﺥ اه‬true ‫اﺥ ا‬ ‫ن‬ ‫ی‬ ‫ن‬ ‫و‬ ‫ا‬ ‫ه‬ ‫ﺝ د در ر‬ ‫ی‬ ‫در‬ ‫رگ و‬ ‫وف‬ .‫د‬ ‫ ﺥ اه‬false ‫رت‬ ‫ای‬ ‫د.در‬ . ‫ن‬ ‫ی‬ ‫ن‬ ‫ی‬ ‫ی‬ ‫در‬ ‫رگ و‬ ‫وف‬ ‫ن‬ ‫ا‬ ‫ن‬ ‫ ی‬a-z ‫ی‬ ‫ ه م‬A-Z ‫وف‬ . ‫ا‬ ‫ا‬ ‫ را‬equalsIgnoreCase() : ‫رت زی ا‬ ‫. م‬ Bolean equalsIgnoreCase(String str)
  • 253. ‫در‬ ‫ای‬ ‫د.‬ ‫ی‬ ‫ل‬ ‫‪string‬‬ ‫‪String‬ا ا‬ ‫‪Str‬‬ ‫د.‬ ‫رت ‪false‬ﺥ اه‬ ‫ای‬ ‫ن ‪ true‬ودر‬ ‫ه و‬ ‫ن دن را‬ ‫رت ی‬ ‫==‬ ‫)(‪ Equals‬در‬ ‫ده .ه ن‬ ‫وت ا م‬ ‫"= =" دو‬ ‫)(‪ equals‬و‬ ‫ا‬ ‫زم ا‬ ‫ی‬ ‫را‬ ‫رد‬ ‫‪String‬‬ ‫ﺝ د در‬ ‫ه‬ ‫)(‪ equals‬را‬ ‫ح داد‬ ‫از ای‬ ‫از‬ ‫ی‬ ‫ه دو‬ ‫د‬ ‫ی‬ ‫را‬ ‫"= =" دو‬ ‫.‬ ‫ارﺝ ع دار ی ﺥ .‬ ‫ی‬ ‫)(‪compareTo‬‬ ‫ه‬ ‫ا‬ ‫.‬ ‫ی ﺥ . ی‬ ‫ه‬ ‫دور‬ ‫ای‬ ‫او ت دا‬ ‫ا‬ ‫.‬ ‫ا‬ ‫از رد‬ ‫ر‬ ‫و ی‬ ‫ام را‬ ‫داد‬ ‫ان‬ ‫ی‬ ‫ز‬ ‫.‬ ‫از ن ﺝ ی دا‬ ‫از‬ ‫د‬ ‫دی‬ ‫ر‬ ‫ازی‬ ‫ا‬ ‫ر‬ ‫از ن ﺝ‬ ‫از‬ ‫د‬ ‫دی‬ ‫ر‬ ‫ازی‬ ‫ر‬ ‫ا‬ ‫ور‬ ‫ن داد‬ ‫ن درذی‬ ‫ه. م‬ ‫رراا م‬ ‫)(‪ compareTo‬س ‪string‬ای‬ ‫د.‬ ‫:‬ ‫ا‬ ‫)‪Int compraeto(string str‬‬ ‫دا‬ ‫ی‬ ‫د.‬ ‫ی‬ ‫ل‬ ‫‪string‬‬ ‫‪ Str‬ه ن ‪ string‬ا ا‬ ‫د:‬ ‫رت زی‬ ‫و‬ ‫.‬ ‫از‪ str‬ا‬ ‫ل‬ ‫: ر‬ ‫از‬ ‫.‬ ‫از‪ str‬ا‬ ‫ر‬ ‫ل‬ ‫: ر‬ ‫از‬ ‫ر‬ ‫.‬ ‫ا ه‬ ‫دور‬ ‫:‬ ‫نا‬ ‫ا‬ ‫د.‬ ‫در‬ ‫وف را ی‬ ‫و‬ ‫ر‬ ‫)(‪Compareto‬‬ ‫.‬ ‫ا‬ ‫وع‬ ‫ف رگ‬ ‫ی‬ ‫ا‬ ‫.از‬ ‫ا‬ ‫دی‬ ‫دور‬ ‫ی‬ ‫وف ه م‬ ‫و‬ ‫ر‬ ‫ﺥ اه‬ ‫ا‬ ‫.‬ ‫د‬ ‫)(‪ comparetoIgnoreCase‬ا‬
  • 254. Int compareToIgnoreCase(String str) ‫ن‬ ‫ی‬ ‫رگ و‬ ‫وف‬ ‫وت‬ ‫ای‬ ‫ ا‬compareTo() ‫ن‬ ‫ه‬ ‫ای‬ . ‫رﺵ ه‬ ‫را ا‬ ‫ه ر‬ ‫ا‬ ‫د از ن ه‬ ‫ا‬ ‫ارد‬ ‫در اﺥ ر ن‬ ‫ دو‬String ‫س‬ : ‫ﺝ‬ ‫رد‬ ‫ه‬ ‫را‬ ‫ی‬ ‫را‬ . ‫را ﺝ‬ ‫ی زی ر‬ ‫را‬ ‫از ی‬ : indexOf() . ‫را ﺝ‬ ‫ی زی ر‬ ‫را‬ ‫از ی‬ ‫ : ﺥ ی‬lastIndexOf() ‫ی‬ ‫ز را‬ ‫ارد ای‬ ‫م‬ ‫ا .در‬ overload ‫روش‬ ‫ای دو‬ .‫د‬ ‫دا‬ ‫م‬ ‫رت‬ ‫و 1- در‬ ‫رت‬ ‫در‬ ‫زی ر‬ : ‫ی‬ ‫د‬ ‫م زی ا‬ ‫, از‬ ‫را ﺝ‬ ‫را‬ ‫از ی‬ ‫ا ای‬ Int indexOf(int ch) : ‫ی‬ ‫د‬ ‫م زی ا‬ ‫, از‬ ‫را ﺝ‬ ‫را‬ ‫از ی‬ ‫ﺥ ی‬ ‫ن‬ ‫ا‬ Int lastIndexOf(int ch) .‫د‬ ‫ﺝ‬ ‫ا‬ ‫ را‬Ch ‫د‬ ‫زی ا‬ ‫مه‬ ‫, از‬ ‫را ﺝ‬ ‫زی ر‬ ‫از ی‬ ‫ی ﺥ ی‬ ‫ن‬ ‫ا‬ : ‫ی‬ Int indexOf(String str) Int lastIndexOf(String str) . ‫ا‬ ‫رد‬ ‫زی ر‬ Str : ‫را‬ ‫زﺝ‬ ‫ا‬ ‫زی‬ ‫د از م ه‬ ‫ا‬ Int indexOf(int ch,int startIndex) Int lastIndexOf(int ch,int startIndex) Int indexOf(String str,int startIndex) Int lastIndexOf(String str,int startIndex)
  • 255. ‫ از ای‬indexOf() ‫در‬ ‫.ﺝ‬ ‫ا‬ ‫زﺝ‬ ‫ای‬ startIndex ‫ز‬ startIndex ‫از‬ ‫ﺝ‬ lastIndexOf() ‫ی .در‬ ‫ادا‬ ‫اﺥ ر‬ ‫ای‬ .‫د‬ //Demonstrate indexOf() and lastIndexOf() Class indexofdemo{ Public static void main(String args[]){ String s=”now is the time for all good men “+ “to come to the aid of their country.”; System.out.println(s); System.out.println(“indexOf(t)=”+s.indexOf(‘t’)); System.out.println(“indexOf(the)=”+s.indexOf(“the”)); System.out.println(“lastIndexOf(the)=”+s.lastIndexOf(“the”)); System.out.println(“indexOf(t,10)=”+s.indexOf(‘t’,10)); System.out.println(“lastIndexOf(t,60)=”+s.lastIndexOf(‘t’,60)); System.out.println(“indexOf(the,10)=”+s.indexOf(“the”,10)); System.out.println(“lastIndexOf(the,60)=”+s.lastIndexOf(“the”,60)); } } : ‫ا‬ ‫ن داد‬ ‫در زی‬ ‫از اﺝ ا‬ ‫ﺥ وﺝ‬ Now is the time for all good men to come to the aid of their country. indexOf(t)=7 lastIndexOf(t)=65 indexOf(the)=7 last indexOf(the)=55 indexOf(t,10)=11 lastIndexOf(t,60)=55 indexOf(the,10)=44 lastIndexOf(the,60)=55 ‫رﺵ ه‬ ‫ﺕ‬ ‫ا‬ ‫ی‬ ‫ده‬ ‫ را‬string ‫اه ی‬ ‫ه‬ ‫ی ه‬ string ‫ه‬ ‫ن‬ ‫د‬ ‫زی ا‬ ‫از ه‬ ‫وی از ی‬ StringBuilder ‫ ی‬StringBuffer
  • 256. Substring : ‫م دارد. م‬ ‫دو‬ ‫ی .ای‬ ‫اج‬ ‫را ا‬ ‫زی ر‬ ‫ی‬ ‫ا‬ ‫د ازای‬ ‫ا‬ String substring(int startIndex) ‫ا‬ ‫م از زی ر‬ ‫ای‬ . ‫را‬ ‫وع زی ر‬ ‫ ای‬startIndex . ‫ادا‬ ‫ر‬ ‫زو ا‬ startIndex ‫از‬ ‫ا‬ .‫زد‬ ‫اه‬ ‫را‬ ‫زی ر‬ ‫ا اوا‬ ‫دن ای‬ ‫ن‬ ‫ا‬ ‫م دوم‬ Strng substring(int startIndex,int endIndex) . ‫ی ا‬ ‫ا‬ endIndex ‫ا ا و‬ ‫ای‬ startIndex ‫ی‬ ‫زی ر‬ ‫ی‬ ‫ه‬ ‫م‬ ‫دن‬ ‫ی‬ ‫ا ﺝ ی‬ substring ‫زی از‬ ‫در‬ .‫د‬ ‫د‬ ‫ا‬ ‫دی‬ ‫زی ر‬ //substring replacement. Class stringreplace{ Public static void main(string args[]){ String org = "This is atest.This is,too."; string search = "is"; string sub = "was"; string result = " "; int I; do { System.out.println(org); I = org.indexof(search); if(I != -1) { result = org.substring(0,I) ; result = result + sub; result = result + org.substring(I + search.length()); Org = result; } } While (I != -1); }
  • 257. } : ‫ﺥ وﺝ‬ This is a test.This is,too. Thwas is a test.This is,too. Thwas is a test.This is,too. Thwas is a test.Thwas is,too. Thwas is a test.Thwas is,too. Concat() . ‫اد م‬ ‫ای‬ ‫را‬ ‫دو ر‬ ‫ا‬ String concat(string str) ‫ن‬ str ‫ا‬ ‫ا‬ ‫ل‬ ‫و ر‬ ‫د‬ ‫ﺝی‬ ‫ای د‬ ‫ای‬ ‫ذﺥ‬ ‫رت زی‬ ‫ل‬ ‫ان‬ . ‫ده‬ ‫م‬ ‫" + " راا‬ concat().‫د‬ ‫ا‬ .‫د‬ s2‫" در‬onetwo" ‫ن‬ String s1 = "one" String s2 = s1.cotcat("two"); Replace() ‫م دارد‬ ‫دو‬ ‫ای‬ ‫ی‬ ‫ﺝی‬ ‫دی‬ ‫را‬ ‫ل‬ ‫در ر‬ ‫را‬ ‫ی‬ ‫ه‬ ‫م‬ : ‫م‬ . String replace(char original,char replacement) ‫د‬ ‫ی‬ ‫ﺝ ی‬ ‫را‬ ‫ی‬ ‫ا‬ ‫را‬ Original ‫رت زی‬ ‫ل‬ ‫ان‬ .‫د‬ ‫دا‬ ‫در‬ replacement .‫د‬ s ‫" در‬Heww" ‫ذﺥ‬ String a = "Hello".replace('1','w'); .‫د‬ ‫ی‬ ‫ﺝی‬ ‫دی‬ ‫ی‬ ‫را‬ ‫ی‬ ‫ای‬ ‫م دی‬ ‫در‬ String replace(Charsequense original,Charsequese replacement) Trim()
  • 258. ‫ی‬ ‫ا ای وا‬ ‫ه‬ ‫م‬ ‫دا‬ ‫ﺥ درا‬ ‫ل‬ ‫ا از ر‬ ‫ای‬ . ‫ا‬ ‫ف‬ ‫از ن‬ String trim() :‫ل‬ String s = "Hello world".trim(); .‫د‬ ‫ار‬ s ‫" در‬Hello world " ‫ر‬ ‫ی‬ valueof() ‫د از‬ ‫ا‬ ‫ﺕ ی داد ه‬ ‫ای‬ ‫ی‬ ‫.ای‬ ‫ی‬ ‫مﺥ ا‬ ‫ﺥ د ن‬ ‫داﺥ‬ ‫داد ه را از‬ ‫ای‬ ‫ن ر‬ ‫ا‬ overload ‫ﺝ وا‬ ‫ا ا اع داد ه‬ string ‫س‬ ‫در‬ ‫ه‬ ‫ه‬ ‫ا‬ overload object ‫ع‬ ‫ا‬ valueof. ‫ی‬ ‫ر‬ ‫ی‬ ‫د‬ ‫ا‬ ‫ن ای‬ ‫ان ر‬ ‫ا‬ ‫ن داد‬ ‫درزی‬ ‫م ای‬ static String valueOf(double num) static String valueOf(long num) static String valueOf(Object ob) static String valueOf(char chars[]) ‫ل‬ ‫ان‬ -‫د‬ ‫اﺥ ا‬ ‫دی‬ ‫ا ا اع داده‬ ‫ر‬ ‫ی‬ ‫ز‬ ‫ ه م‬valueof() ‫دو‬ ‫اﺥ ا‬ ‫ع داد ا‬ ‫ه‬ ‫.ای‬ ‫ت اد م داد ه‬ ‫در‬ ‫دل‬ ‫ا‬ ‫ر‬ ‫ی‬ ‫ی‬ ‫. م ا اع داد ه‬ ‫ا‬ ‫ر‬ string ‫ی‬ ‫ن‬ tostring ‫اﺥ ا‬ ‫د‬ ‫ ار ل‬valueof ‫.ه‬ ‫ی‬ ‫ﺥ د ن‬ ‫دا‬ ‫را‬ ‫ده‬ ‫ن‬ ‫دا‬ ‫ز را‬ ‫رای ه ر‬ ‫ا‬ Valueof() ‫ه‬ ‫را‬ ‫ ای د‬string ‫ ی‬char ‫ع‬ ‫رد رای ه‬ ‫.ا در‬ ‫رای ا‬ . ‫ ا‬char ‫ﺝ ددر رای‬ : ‫ای‬ ‫م‬ static String valueOf (char chars[],int startIndex,int numchars)
  • 259. ‫رای‬ ‫ای‬ startIndex ‫اردار‬ ‫ه در ن‬ ‫را‬ ‫ رای ای‬chars ‫را‬ ‫لر‬ numchars ‫دو‬ ‫ز‬ ‫از‬ ‫رد‬ ‫زی ر‬ ‫هی ا‬ ‫را‬ . ‫رﺵ‬ ‫ه در ی‬ ‫را‬ ‫و ر‬ ‫چ‬ ‫ﺕ‬ . ‫ی‬ ‫وف‬ ‫را‬ ‫ر‬ ‫رگ ی‬ ‫وف‬ ‫م‬ tolowercase() . ‫ی‬ ‫رگ‬ ‫وف‬ ‫را‬ ‫ر‬ ‫ی‬ ‫وف‬ ‫م‬ toUppercase() .‫د‬ ‫داد‬ ‫ه‬ ‫در را‬ :‫ه‬ ‫ای‬ ‫مه‬ String tolowerCase() String toUpperCase() : ‫ا‬ ‫د‬ ‫ل زی از ه دو ا‬ ‫در‬ //demonstrate toUppercase() and tolowercase(). Class changecase{ Public static void main(string args[]){ String s = "This is a test"; System.out.println( "original: " + s); String upper = s.toUppercase(); String lower = s.tolowercase(); System.out.println("Uppercase: " + upper); System.out.println("Lowercase: " + lower); } } : ‫ﺥ وﺝ‬ Original: This is a test. Uppercase: THIS IS A TEST. Lowercase: this is a test.
  • 260. string ‫س‬ ‫دی‬ ‫چ‬ J2SE 5 . ‫دا‬ ‫ را‬i ‫ی‬ ، Int codepointAt (int i) . ‫ا‬ ‫ا‬ . ‫دا‬ ‫ را‬i ‫از‬ ‫ی‬ ، intcodePointBefore (int i) . ‫ا‬ ‫ ا‬J2SE 5 end-1‫ و‬start ‫ﺝ ددر‬ ‫ه‬ ‫اد‬ ، Int codepointCount(int start,int end) . ‫ا‬ ‫ ا‬J2SE 5 ‫دا‬ ‫ل‬ String ‫رادر‬ ‫وﺝ د‬ ‫ل‬ ‫ در‬str ‫ر‬ ، Boolean contains(CharSequense ,str) ‫ ا‬J2SE 5 .‫د‬ ‫ ﺥ اه‬false ‫رت‬ ‫ای‬ ‫ ودر‬true ‫ن‬ ‫دا‬ . ‫ا‬ str ‫ر‬ ‫ل‬ ‫ر‬ ، Boolean contentEquals(Charsequense str) ‫ ا‬J2SE 5 .‫د‬ ‫ﺥ اه‬false ‫رت‬ ‫ای‬ ‫ ودر‬true ‫ن‬ ‫ن‬ ‫ی‬ . ‫ا‬ StringBuffer ‫ه را دارد و د ﻝ‬ ‫ر‬ ‫ر از‬ ‫ ا‬string ,StringBuffer ‫د ﻝ ا‬ ‫ی‬ StringBuffer ‫. در‬ ‫ا‬ ‫لﺙ‬ ‫ه‬ ‫از را‬ ‫ی‬ ‫ی ا‬ ‫ان‬ ‫ه ی را‬ ‫ه و زی ر‬ ‫را‬ ‫ه‬ ‫از را‬ ‫و‬ ‫ر‬ ‫ا ای‬ ‫رﺥ د رر‬ StringBuffer.‫د‬ ‫ ا‬StringBuffer ‫ص‬ ‫ن اﺥ‬ ‫زم‬ ‫از‬ ‫هی‬ ‫را‬ ‫دوا‬ ‫اه‬ ‫ت‬ ‫ا‬ ‫ر از‬ ‫ا‬ ‫د‬ ‫س زی د ا‬ ‫. ﺝ وا ازه دو‬ ‫وﺝ د دا‬ ‫ا ر‬ ‫ی‬ StringBuffer ‫ر‬ "+" ‫د ه از‬ ‫و ر دار و ا‬ string ‫ی ن‬ . ‫ﺝ وا وا ار‬ ‫د را‬ ‫در‬
  • 261. StringBuffer ‫ه‬ ‫ز‬ StringBuffer() StringBuffer(int size) StringBuffer(String str) StringBuffer(CharSequence char) . ‫د رزرو‬ ‫را ون‬ ‫١ ا‬ ‫ا‬ ‫ا‬ ‫را‬ ‫ز‬ ‫ع‬ ‫از‬ ‫ر‬ . ‫را‬ ‫ا از‬ ‫دارد‬ ‫ن از ع‬ ‫ر‬ ‫ی‬ ‫دو‬ ‫را ون‬ ‫١ را‬ ‫ا‬ ‫و‬ ‫ را‬stringbuffer ‫ار اوﻝ‬ ‫ دارد‬string stringbuffer ‫د‬ ‫درﺥ ا‬ ‫ا‬ ‫ل‬ ‫.و‬ ‫د رزرو‬ ‫ای‬ ‫ز‬ ‫د از‬ ‫ا‬ ‫را‬ ‫ا‬ ‫١ را‬ ‫ا‬ ‫ن‬ ‫ر‬ ‫ر‬ ‫د‬ ‫ی .ه‬ ‫ر‬ ‫ه ی‬ ‫ﻝ‬ ‫دا‬ ‫ه‬ ‫اد‬ ‫ا‬ ‫را‬ ‫ا‬ stringbuffer ‫د‬ char‫در‬ ‫و ر‬ ‫ای د‬ ‫رم‬ ‫ز‬ . ‫ده‬ ‫را ه‬ .‫د‬ ‫ﺥ اه‬ Length(),capacity() ‫ی‬ ‫ا از‬ ‫ و‬length() ‫ان‬ ‫ را‬stringBuffer ‫ا از ﺝ ر ه‬ . ‫رت زی ا‬ ‫م‬ ‫ورد‬ capacity() int length() int capacity() :‫ل‬ //stringbuffer length vs.capacity Class stringBufferDemo{ Public static void main(string args[]){ StringBuffer sb=new stringBuffer("Hello"); System.out.println("buffer = +sb"); System.out.println("length = "+sb.length()); System.out.println("capacity =" + sb.capacity()); }
  • 262. } ‫داز‬ ‫ا‬ stringbuffer ‫ه‬ ‫ن‬ ‫ﺥ وﺝ‬ : ‫رزرو‬ Buffer = Hello Length = 5 Capacity = 21 ‫ا‬ ‫ن١٢ ا‬ ‫.ا‬ ‫ل ن ا‬ ‫د‬ ‫ارده‬ "Hello" ‫م ای د‬ ‫ ه‬sb ‫ن‬ .‫د‬ ‫نا‬ ‫رﺥ د ر‬ ‫ا‬ ‫١ را‬ ‫ا‬ ensureCapacity() ‫ده‬ stringbuffer ‫از ای د‬ ‫را‬ ‫را‬ ‫ا‬ ‫اه‬ ‫ا‬ ‫ه‬ ‫اد زی د از ر‬ ‫ا‬ ‫از‬ ‫.ا‬ ‫د‬ ‫ ا‬ensureCapacity()‫از‬ ‫ا‬ ‫ای‬ ‫م‬ . ‫وا ﺥ اه‬ ‫دای ا‬ ‫ﺥ اه‬ ‫ ا‬StringBuffer ‫را‬ : ‫رت زی ا‬ Void ensureCapacituy(int capacity) . ‫را‬ ‫,ا از‬Capacity setLength() ‫م‬ . ‫ی‬ ‫د‬ ‫ ا‬setLength‫از‬ ‫ را‬StringBuffer ‫ه‬ ‫ا از‬ ‫ا‬ . ‫رت زی ا‬ ‫ن‬ Void setLength(int len) . ‫ار ن ی‬ . ‫را‬ ‫ ا از‬Len .‫د‬ ‫ﺝ دا‬ ‫ا‬ ‫ه‬ ‫را‬ ‫ه‬ ‫ای‬ ‫را ا‬ ‫ا از‬ ‫و‬ ‫ا‬ ‫ ا‬length() ‫از اﺥ ا‬ ‫از ارﺝ ر‬ ‫ار‬ ‫ را‬setLength() ‫ا‬ setCharAtDemo ‫د‬ . ‫ﺥ اه ر‬ ‫ل ﺝ ی از‬ ‫از‬ ‫ه‬ ‫رت ر‬ ‫در ن‬ . ‫د‬ ‫ ا‬stringBuffer ‫دن‬ ‫ا‬ setLengh()‫زی از‬ ‫در‬
  • 263. charAt(),setCharAt() .‫ورد‬ charAt() ‫ی‬ ‫ان از‬ ‫ را‬stringBuffer ‫ی‬ ‫ه‬ ‫ار را‬ ‫اره ی‬ ‫را در ه‬ ‫را‬ ‫اره‬ ‫ا‬ setCharAt()‫د از‬ ‫ا‬ .‫ورد‬ ‫د از‬ ‫ا‬ : ‫رت زی ا‬ ‫ن‬ ‫م‬ . stringBuffer Char charAt(int where) Void setCharAt(int where,char ch) ‫ار ﺝ ی‬ ch ‫و‬ ‫را‬ ‫رد‬ ‫را‬ ‫ ای‬charAt() ‫ا‬ Where ‫ازا‬ ‫و ی‬ ‫ی‬ ‫ در ه دو‬where ‫را‬ ‫را‬ . ‫را‬ :‫ل‬ //Demonstrate charAt() and setCharAt(). Class setCharAtDemo{ Public static void main(String args[]){ StringBuffer sb=new StringBuffer("Hello"); System.out.println("buffer before = " + sb); System.out.println("charAt(1) before= " + sb.charAt(1)); Sb.setCharAt(1,'i'); Sb.setLength(2); System.out.println("buffer after = " + sb); System.out.println("charAt(1) after= " + sb.charAt(1)); } } : ‫ﺥ وﺝ‬ Buffer before = Hello charAt (1) before = e buffer after = Hi charAt (1)after = i getchars() getChrs() ‫از‬ ‫رای ا‬ ‫ را‬stringBuffer ‫ا از ی‬ ‫زی ر‬ ‫ا‬ : ‫رت زی ا‬ ‫ن‬ ‫م‬ ‫د‬ ‫ا‬
  • 264. Void getChars(int sourceStart,int sourceEnd,char target[],int targetStart) ‫ای‬ sourceEnd ‫و‬ ‫را‬ ‫ر‬ ‫ا زی‬ ‫ا‬ ‫ ای‬sourceStart ‫زی ر‬ ‫.ی‬ ‫ا‬ ‫رد‬ ‫زی ر‬ ‫از ا‬ ‫وا‬ ‫ا از ی‬ ‫را‬ ‫ه‬ ‫را‬ ‫. رای ا‬ ‫ﺥ اه‬ ‫ را در‬sourceEnd-1 sourceStart ‫ه‬ ‫از را‬ ‫در‬ ‫ن زی ر‬ ‫د. ای‬ target ‫ن‬ ‫ا‬ ‫ ی‬target ‫رای‬ ‫د‬ ‫د. ی د‬ ‫ ار ل‬targetStart ‫ی‬ ‫از‬ target . ‫دا‬ ‫رد‬ ‫ه‬ ‫اد را‬ ‫ذﺥ‬ Append() ‫ل‬ stringBuffer ‫ا‬ ‫را‬ ‫ع داد دی‬ ‫ه‬ ‫دل ر‬ append .‫دارد‬ overload ‫رش‬ ‫ی‬ ‫. ای‬ ‫ا‬ StringBuffer append(String str) Stringbuffer append(int num) StringBuffer append(Object obj) ‫را‬ ‫ا‬ ‫دل ر‬ ‫د‬ ‫اﺥ ا‬ ‫ه‬ ‫را‬ ‫ا ی ی‬ String.valueOf() ‫ ﺥ د‬append() ‫ر‬ ‫م‬ .‫د‬ ‫ ﺝ ر ا‬StringBuffer ‫ر‬ ‫ای‬ .‫ورد‬ ‫ن‬ ‫ا ه‬ ‫رز‬ ‫ر‬ ‫اﺥ ا‬ ‫د‬ ‫دا . ای ا‬ ‫را‬ :‫د‬ ‫م‬ ‫ل زی ا‬ //Demonstrate append(). Class appendDemo{ Public static void main(string args[]){ string s; int a=42; stringBuffer sb = new stringBuffer(40); s = sb.append("a = ").append(a).append("i").tostring(); System.out.println(s); }
  • 265. : ‫ﺥ وﺝ‬ a = 42! ‫اﺥ ا‬ string ‫ه‬ ‫ا‬ "+" ‫د از‬ ‫ما‬ ‫او ت ه‬ append() ‫در‬ ‫ت‬ ‫رﺥ د ر‬ ‫ را‬string ‫ه‬ ‫ه‬ ‫ط‬ ‫ات‬ ‫د. ﺝ وا‬ ‫ا‬ append() ‫ن‬ ‫ل‬ ‫اد م‬ ‫ه از ای رو‬ stringBuffer ‫ه‬ ‫دی‬ ‫ را ی‬tostring() ‫اد م‬ ‫م‬ ‫ازا‬ ‫ی‬ .‫د‬ StringBuffer . ‫ی‬ String ‫ﺙ‬ ‫ی‬ ‫ را‬StringBuffer ‫ﺥ ا‬ ‫ا‬ string ‫س‬ ‫ا ی ی‬ . ‫ر‬ ‫ﻝ‬ ‫ا‬ ‫ره‬ ‫م ای‬ ‫ز ن اﺝ ا ﺝ وا‬ . ‫رای ا‬ ‫ای‬ ‫؟‬ ‫ دا‬StringBuffer ‫ه ن ر ر‬ . ‫م ده‬ ‫ا ا‬ ‫زی د‬ ‫ز ه‬ string ‫ه‬ ‫دن‬ ‫ی‬ Insert() ‫و‬ ‫ا‬ overload ‫. ای‬ ‫درج‬ ‫دی‬ ‫را در ر‬ ‫ر‬ ‫ ی‬insert() ‫ی د. ای‬ ‫ی را‬ ‫ ه ا اع داد ه‬Charsequense ‫ ه و‬object ، ‫ ه‬string ‫ن‬ ‫ا‬ ‫دل ر‬ ‫وردن‬ ‫ا‬ ‫ را‬String.valueOf() ,append() ‫ن‬ ‫ه‬ . ‫ﺥ ا‬ ‫ا‬ ‫ا‬ ‫اﺥ ا‬ :‫دارد‬ ‫م‬ ‫ی‬ ‫د. ای‬ ‫ درج‬StringBuffer ‫در‬ ‫ای ر‬ StringBuffer insert(int index,String str) StringBuffer insert(int index,char ch) StringBuffer insert(int index,Object obj) .‫د‬ ‫در ن درج‬ ‫ر‬ ‫ ا‬StringBuffer ‫از‬ ‫ای‬ : ‫" درج‬Java"‫" و‬I" ‫" را‬like" ‫زی‬ //Demonstrate insert(). Class insertDemo { Public static void main(String args[]) { StringBuffer sb = new StringBuffer("I Java!"); Sb.insert(2,"like"); System.out.println(sb);
  • 266. } } : ‫ﺥ وﺝ‬ I like Java! Reverse() : ‫س‬ ‫ را‬StringBuffer ‫ه‬ ‫ه‬ ‫را‬ ‫ا‬ reverse() ‫د از‬ ‫ا‬ StringBuffer reverse() . ‫ا‬ ‫ار ل‬ ‫اﺥ ا‬ ‫م‬ ‫ه‬ ‫دا‬ ‫ا را‬ ‫س‬ ‫ای‬ :‫ه‬ ‫ن‬ ‫را‬ ‫ر د ای‬ ‫زی‬ //Using reverse() to reverse astringBuffer. Class ReverseDemo{ Public static void main(String args[]){ StringBuffer s = new StringBuffer("abcdef"); System.out.println(s); s.reverse(); System.out.println(s); } } : ‫ﺥ وﺝ‬ abcdef fedcba delete( ),deleteCharAt . ‫ را ف‬StringBuffer ‫ه‬ ‫را‬ ‫ا‬ ‫د ازای دو‬ ‫ا‬ StringBuffer delete(int startIndex,int endIndex) StringBuffer deleteCharAt(int loc) startIndex . ‫ف‬ ‫اﺥ ان‬ ‫را از‬ ‫را‬ ‫ ی‬delete() ‫ای‬ endIndex ‫د و‬ ‫ف‬ ‫ی‬ ‫ا‬ ‫را‬ ‫ای‬
  • 267. startIndex ‫ه‬ ‫رو را‬ ‫د. از ای‬ ‫ف‬ ‫ی‬ ‫ا‬ ‫را‬ ‫از ﺥ ی‬ .‫د‬ ‫دا‬ StreingBuffer . ‫ف‬ startIndex-1 ‫. ای‬ ‫ف‬ ‫ را‬loc ‫ﺝ د در‬ ‫را‬ deleteCharAt() . ‫دا‬ ‫را‬ StringBuffer :‫ل‬ //Demonstrate delete() and deletecharAt() Class deleteDemo { Public static void main(String args[]){ StringBuffer sb = new stringBuffer("This is a test"); Sb.delete(4,7); System.out.println("After delete: " + sb); } } : ‫ﺥ وﺝ‬ After delete: This is a test After deletecharAt: his a test Replace() StringBuffer ‫ه را در ی‬ ‫ا از را‬ ‫ا‬ replace() ‫اﺥ ا‬ . ‫دی‬ ‫ی‬ ‫ﺝی‬ StringBuffer replace(int startIndex,int endIndex,String str) startIndex,endIndex ‫ه‬ ‫ای‬ ‫د و‬ ‫ی‬ ‫ﺝی‬ ‫ا‬ ‫زی ر‬ ‫ی‬ ‫دارد ﺝ ی‬ ‫ ادا‬endIndex-1 ‫و‬ ‫ز‬ startIndex‫از‬ ‫ا‬ ‫د از ای رو زی ر‬ ‫دا‬ stringbuffer .‫د‬ ‫ ار ل‬str‫ی ه در‬ ‫ﺝی‬ ‫د. ر‬ .‫د‬ //Demonstrate replace() Class replaceDemo{ Public static void main(String args[]){ stringbuffer sb = new stringbuffer("This is a test"); sb.replace(5,7,"was"); System.out.println("After replace: " + sb);
  • 268. } } : ‫ﺥ وﺝ‬ After replace: This was a test Substring() ‫در دو‬ ‫وری . ای‬ ‫ را‬stringBuffer ‫از ه‬ ‫ا‬ substring() ‫اﺥ ا‬ : ‫د ا‬ ‫ا‬ ‫م‬ String substring (int startIndex) Sting substring ( int startIndex,int endIndex) ‫ا‬ ‫و‬ ‫ز‬ startIndex ‫از ای‬ ‫دا‬ ‫ا را‬ ‫زی ر‬ ‫م‬ startIndex ‫از‬ ‫دا‬ ‫ا را‬ ‫زی ر‬ ‫م دوم‬ . ‫ی‬ ‫ ادا‬StringBuffer ‫ا‬ ‫ی‬ ‫ارد‬ ‫ن‬ ‫ه‬ ‫ه د‬ ‫ی . ای‬ ‫ ادا‬endIndex-1 ‫و‬ ‫ز‬ . ‫ ر‬string ‫دی‬ ‫چ‬ ‫و‬ ‫ﺥ از‬ ‫دارد‬ ‫دی‬ ‫ه‬ ‫ر‬ ‫ه‬ ‫و‬ stringbuffer . ‫ا‬ ‫ ا ود‬J2SE ‫ا‬ ‫ا‬ ‫را‬ ‫ی‬ ، stringbuffer appendCodePoint(int ch) . ‫ا‬ ‫ ا‬J2SE 5 ‫د. و‬ ‫دا ه‬ . ‫ ا‬J2SE 5 ‫و‬ . ‫دا‬ ‫ را‬i ‫ی‬ ، Int codePointAt(int i) . ‫ا‬ ‫را‬ end-1‫ و‬start ‫اد‬ ، Int codepointBeffor (int start ,int end) . ‫ا‬ ‫ ا‬J2SE 5 ‫و‬ ‫دا‬ ‫ ﺝ‬str ‫از‬ ‫ا ی‬ ‫ را‬StringBuffer ، Int indexOf(String str) . ‫دا‬ ‫م‬ ‫رت‬ ‫وی 1- رادر‬ ‫ا‬ ‫را‬ ‫.ای‬
  • 269. ‫ ا ی‬startIndex-1 ‫ را از‬StringBuffer، Int indexOf(String str,int startIndex) ‫م‬ ‫رت‬ ‫وی 1- رادر‬ ‫ا‬ ‫را‬ ‫.ای‬ ‫ ﺝ‬str ‫از‬ . ‫دا‬ ‫ ﺝ‬str ‫از‬ ‫ﺥ ی‬ ‫ا ی‬ ‫ را‬StringBuffer ، Int lastIndexOf(String str) . ‫دا‬ ‫م‬ ‫رت‬ ‫وی 1- رادر‬ ‫ا‬ ‫را‬ ‫.ای‬ ‫ ا‬startIndex-1 ‫ را از‬StringBuffer ، Int lastIndexOf(String str,int startIndex) ‫م‬ ‫رت‬ ‫و ی 1- را در‬ ‫ا‬ ‫را‬ ‫. ای‬ ‫ ﺝ‬str ‫از‬ ‫ﺥ ی‬ ‫ی‬ . ‫دا‬ ‫اﺥ ان را‬ ‫از ر‬ ‫ ، ای‬Int offsetByCodepoints(int start,int num) . ‫ا‬ ‫ ا‬J2SE 5 ‫و‬ ‫ار دارد‬ start ‫از ای‬ num ‫دا‬ ‫ازر‬ ‫ ، زی ر‬CharSequense subsequense(int startIndex,int stopIndex) ‫زرا‬ ‫رد‬ ‫.ای‬ ‫دا‬ stopIndex startIndex‫اﺥ ان رااز‬ . ‫َ ا‬ ‫ز‬ ‫ د‬StringBuffer ‫ای‬ ‫ ا‬Charsequence Void trimTosize() .‫د‬ ‫ار ﺝ ر در ن ﺝ‬ ‫ده‬ ‫اﺥ ان ه‬ ‫ا‬ ‫ه را‬ ‫را‬ ‫ا از‬ . ‫ا‬ ‫ ا‬J2SE 5 ‫ز‬ ‫د‬ ‫ را‬Charsequense ‫ز را‬ ‫رد‬ subSequense() ‫از‬ . ‫ز‬ ‫اه‬ stringbuffer ‫ا‬ ‫ را‬string ‫ا از ی‬ ‫نﺝ‬ ‫ا‬ ‫دی‬ ‫ه‬ :‫ه‬ ‫ن‬ ‫ را‬lastIndexOf()‫ و‬indexOf() ‫ر د دو‬ ‫زی‬ Class IndexOfDemo{ Static void main (String args[]){ stringBuffer sb = new StringBuffer (" one two one"); int I; I = sb.indexof("one"); System.out.println("First indrx:" + 1); I = sb.lastindexof("one"); System.out.println("Last indrx:" + 1);
  • 270. } } : ‫ﺥ وﺝ‬ First index: 0 Last index: 8 StringBuilder ‫ه ا ود ا‬ ‫ی ی ر‬ ‫ا‬ ‫ﺝ وا‬ ‫ر‬ ‫ﺝر‬ ‫ه‬ ‫را‬ ‫سﺝ ی‬ J2SE 5 ‫وت‬ ‫ا ی‬ ‫ ا‬StringBuffer ‫س‬ ‫ م دارد. ای‬StringBuilder ‫س ﺝ ی‬ ‫ای‬ ‫س‬ ‫ی‬ . ‫ی‬ ‫ر‬ "thread-safe" ‫ی‬ ‫ا‬ ‫ون‬ : ‫دارد‬ ‫د‬ ‫ ا‬multithreading ‫از‬ ‫ارد‬ ‫. ا در‬ ‫ا‬ ‫ ر ی‬StringBuilder . ‫د‬ ‫ ا‬StringBuffer‫ از‬StringBuilder ‫ﺝ‬ ‫ی‬
  • 271. ‫رای‬ ‫داد ا‬ ‫دی‬ ‫ای د‬ ‫د. در ﺝ وا ه رای ا‬ ‫ز‬ ‫س د‬ ‫رای در ﺝ وا‬ ‫. در رای‬ ‫ار‬ ‫ا از رای را‬ ‫ی‬ ‫رﺥ د ر‬ ‫م ‪length‬‬ ‫ا‬ ‫ﺝ وا‬ ‫د.ای‬ ‫د‬ ‫‪ length‬ا‬ ‫ل رای از‬ ‫ا‬ ‫ی‬ ‫لو‬ ‫ا‬ ‫ان از ه‬ ‫دو‬ ‫دد. در رای ه‬ ‫ر‬ ‫رای‬ ‫:‬ ‫ر زی را‬ ‫د. د‬ ‫د‬ ‫ض رای ا‬ ‫;]5[ ]4[ ‪Int [] [] x = new int‬‬ ‫ه را‬ ‫اد‬ ‫• ‪، x.length‬‬ ‫نه‬ ‫اد‬ ‫)‬ ‫‪ i‬ام را‬ ‫نه‬ ‫اد‬ ‫• ‪، x[i].length‬‬ ‫.(‬ ‫ا‬ ‫نو ا‬ ‫لی‬ ‫در ای‬ ‫، اﻝ‬ ‫وت‬ ‫ا‬ ‫ه‬ ‫رﺥ د را‬ ‫ﺝ وا‬ ‫ه‬ ‫در ه‬ ‫ار دارد‬ ‫‪java.lang‬‬ ‫س رای در‬ ‫د‬ ‫ا‬ ‫دی‬ ‫سه‬ ‫ان از‬ ‫رای ه‬ ‫رو‬ ‫ا‬ ‫ا ا م ره‬ ‫د. ا‬ ‫د.‬ ‫س ‪Arrays‬‬ ‫اه‬ ‫رای ه‬ ‫رو‬ ‫اول‬ ‫ا ا م ره‬ ‫را‬ ‫س‬ ‫ای‬ ‫ی ت دو‬ ‫دن‬ ‫و‬ ‫ر‬ ‫ار ،‬ ‫ی‬ ‫رای‬ ‫دن‬ ‫رای ،‬ ‫ز‬ ‫ار در رای .‬ ‫ی‬ ‫رای و ﺝ‬ ‫ا ا‬ ‫رت زی‬ ‫د از ن‬ ‫ا ا‬ ‫ار دارد ،‬ ‫‪java.util‬‬ ‫س ‪ Arrays‬در‬ ‫د:‬ ‫ی ا‬ ‫;*.‪Import java.util‬‬ ‫.‬ ‫وا‬ ‫رای ه‬ ‫ه م ر‬ ‫اه‬ ‫را‬ ‫ه‬ ‫س ‪Arrays‬‬
  • 272. : ‫ه‬ ‫د‬ ‫ا‬ ‫ار‬ ‫دن‬ ‫ا‬ ‫ا‬ ‫دودوی‬ ‫ﺝ‬ ‫ :از ی‬binarySearch() • ‫رت زی‬ ‫ن‬ ‫م‬ .‫رود‬ ‫ر‬ ‫رای ه‬ ‫ا‬ ‫.ای‬ : ‫ا‬ Static int binarySearch(type[] array,type key) ‫از‬ ‫ ی‬type ، ‫د‬ ‫ا‬ ‫ی‬ ‫ار ا‬ key ، ‫د‬ ‫ی ﺝ‬ ‫ رای ا ا‬array ‫ی‬ ‫و‬ array . ‫ا‬ ‫ی ا ا‬ ‫ا اع داد اوﻝ‬ ‫اﺥ ا‬ ‫ز ر‬ array ‫ع‬ key ‫ع‬ ‫ ( ی‬StringBuffer ) ‫ای‬ ‫ﺝ د‬ ‫ در رای‬key .‫د‬ ClassCastException ‫ا‬ .‫د‬ ‫دا‬ ‫دا‬ true ‫دل‬ ‫دو رای‬ ‫ی‬ ‫ :دو رای را‬equals() • : ‫رت زی ا‬ ‫ن‬ ‫م‬ .‫د‬ Static Boolean equals(type array1[],type array2) ‫دو‬ ‫ن‬ ‫م‬ . ‫ده‬ ‫ﺝ د در رای‬ ‫م‬ ‫ار را‬ : fill() • : ‫رت زی ا‬ static void fill(type array[],type value) . ‫ی‬ array ‫ﺝ د در‬ ‫م‬ value static void fill(type array[],int from,int to,type value) . value ‫ار‬ to from ‫از رای را از ا ی‬ :‫دو م دارد‬ . ‫د‬ ‫رای را‬ ‫ : ی‬Sort() • Static void sort(type array[]) Static void sort(type array[],int start,int end) start ‫ود‬ ‫در‬ array ‫از‬ ‫م دوم ن د‬ . ‫رای را‬ ‫م اول‬ . ‫ ار دار‬end-1
  • 273. Vector ‫س‬ ‫در‬ ‫دار‬ ‫ا از‬ ‫دار ز‬ ‫.در‬ ‫ز‬ ‫ی را د‬ ‫رای‬ ‫ ی‬Vector ، ‫ا ا ودن‬ ‫س وﺝ د دار‬ ‫ه ی در ای‬ .‫د‬ ‫رگ‬ ‫ی‬ ‫رت ﻝ وم‬ ‫ار‬ java.util ‫ در‬Vector ‫س‬ . ‫ی‬ ‫ر‬ ‫در دار‬ ‫ف ودرج‬ , ‫د‬ :‫د‬ ‫ی ا‬ ‫ا ا‬ ‫رت زی‬ ‫د از ن‬ ‫دارد, ا ا‬ Import java.util.*; :‫دارد‬ ‫ه‬ ‫ز‬ Vector Vector() Vector(int size) Vector(int size,int incr) ‫دار ای د‬ ‫م دوم‬ . ‫ن ٠١ ا‬ ‫ا از اوﻝ‬ ‫ای د‬ ‫دار‬ ‫م‬ ‫ای د‬ ‫دار‬ ‫م‬ ‫م‬ .‫د‬ size ‫و‬ ‫ن‬ ‫ا از اوﻝ‬ ‫ر‬ ‫ه‬ ‫ار‬ .‫د‬ incr ‫ن‬ ‫ و‬size ‫ن‬ ‫ا از اوﻝ‬ ‫را‬ ‫ع‬ ‫د. اﻝ‬ ‫داد‬ ‫دار‬ ‫اد‬ ‫ا از‬ ‫ه م ا ای‬ :‫د‬ ‫ن‬ ‫ز‬ ‫ان‬ Vector<type>() Vector<type> (int size) Vector<type> (int size,int incr) ‫ه‬ • Void addElement(type element) .‫د‬ ‫دار ا‬ ‫د‬ element ‫و‬ ‫ا‬ • Int capacity() . ‫دا‬ ‫دار را‬ ‫ا از‬ • Boolean contains(Object element) . ‫دا‬ true ‫ در دار‬element • Type elementAt(int index) . ‫دا‬ ‫را‬ ‫ای‬ ‫ﺝ د در‬ • Boolean isEmpty() . ‫دا‬ true ‫دار ﺥ ﻝ‬
  • 274. Void removeAllElements() .‫د‬ ‫دار‬ ‫ا از‬ ‫از اﺝ ا‬ . ‫دار را ﺥ ﻝ‬ • Boolean removeElement(Object element) . ‫دا‬ true ‫رت‬ ‫در‬ ‫ف‬ ‫ را از دار‬Element Stack ‫س‬ . ‫ز‬ ‫د‬ ‫ارد را‬ ‫ ا‬LIFO ‫ی‬ ‫ ا‬Vector ‫از‬ ‫ زی‬Stack :‫د‬ ‫ی‬ ‫رت زی‬ Class Stack<E> ‫هی‬ ‫و‬ Stack .‫د‬ ‫ذﺥ‬ ‫در‬ ‫ا‬ ‫ع‬ E .‫دارد‬ ‫ﺥ ص ﺥ د را‬ ‫ه‬ ‫ا‬ ‫ی‬ Vector ‫در‬ ‫ه‬ • Boolean empty() . ‫دا‬ true ‫ﺥﻝ‬ • E peek() . ‫ف‬ ‫ن را‬ ‫دا ا‬ ‫را‬ • E pop() . ‫ف‬ ‫دا و ن را‬ ‫را‬ • E push(E element) . ‫ا‬ ‫ را‬Element • Int search(Object element) ‫دا‬ ‫ن‬ ‫دا‬ ‫ا‬ ‫ﺝ‬ ‫ رادر‬Element . ‫دا‬ -1 ‫رت‬ ‫ای‬ ‫د. در‬
  • 275. .‫ﺥ ن داد ه دارد‬ ‫ز ا اع‬ ‫د‬ ‫ا‬ ‫سه‬ ‫ﺝ وا‬ ArrayList • LinkedList • HashSet • LinkedHashSet • TreeSet • PriorityQueue • … •
  • 276. ‫ی ه‬ ‫ورود / و‬ ‫ض‬ ‫در‬ ‫.‬ ‫ﻝ‬ ‫ه‬ ‫ﺝ وا‬ ‫ر د وا‬ ‫ه‬ ‫‪AWT(Abstract‬‬ ‫ر‬ ‫ار ط‬ ‫ار‬ ‫ا‬ ‫ای ه‬ ‫ا‬ ‫ه‬ ‫از ر ده‬ ‫ه‬ ‫دار .‬ ‫)‪ Window Toolkit‬ی ‪ Swing‬ﺝ وا ا‬ ‫د از‬ ‫ود د وا‬ ‫ﻝ‬ ‫ﺝ وا از ‪I/O‬‬ ‫ی .‬ ‫ر‬ ‫وا‬ ‫ﺝ وا در ره‬ ‫در‬ ‫ﻝ‬ ‫د ‪I/O‬‬ ‫ه‬ ‫در‬ ‫.‬ ‫زا‬ ‫ر‬ ‫ن‬ ‫ت‬ ‫ه ا‬ ‫ی ه و‬ ‫ل ﺝ وا در را‬ ‫.ا در‬ ‫ان‬ ‫ز ﺝ وا‬ ‫دارد.‬ ‫وی ر‬ ‫‪ I/O‬ﺝ وا‬ ‫ا ‪ I/O‬دارد.‬ ‫ف ی‬ ‫وا‬ ‫ی ه‬ ‫ا‬ ‫ی‬ ‫ر از ا‬ ‫ه .‬ ‫ی ه ا م‬ ‫ی ا‬ ‫ت ‪ I/O‬را از‬ ‫ﺝ وا‬ ‫ه‬ ‫ی‬ ‫‪ I/O‬ﺝ وا‬ ‫و‬ ‫ی‬ ‫.ه ا‬ ‫ف‬ ‫ت را ﻝ ی‬ ‫ا‬ ‫ا‬ ‫ا ا‬ ‫ی‬ ‫ا و ی‬ ‫ی‬ ‫ی ه‬ ‫د. م ا‬ ‫و‬ ‫ع‬ ‫ا ه‬ ‫ان‬ ‫را‬ ‫‪ I/O‬ی‬ ‫سه و ه‬ ‫.از ای رو‬ ‫وت‬ ‫زی د از ورود‬ ‫ا ا اع‬ ‫ی ورود‬ ‫ه ا‬ ‫ای‬ ‫ر د.ای‬ ‫و‬ ‫ره‬ ‫.ه‬ ‫از‬ ‫ی‬ ‫,‬ ‫دی‬ ‫از ی‬ ‫زد : ی‬ ‫ا‬ ‫دی‬ ‫ه را از ی‬ ‫ی‬ ‫.ا‬ ‫ل‬ ‫ی ا‬ ‫دی‬ ‫از ی‬ ‫ل ی‬ ‫ا‬ ‫ی ﺥ وﺝ‬ ‫ا‬ ‫ه‬ ‫ه از‬ ‫ز‬ ‫ی و دی‬ ‫ر‬ ‫ی ی ‪I/O‬‬ ‫ا‬ ‫ه روش‬ ‫سه‬ ‫ی ه را در‬ ‫.ﺝ وا ا‬ ‫و‬ ‫ی‬ ‫وت‬ ‫.‬ ‫ز‬ ‫‪ java.io‬د‬ ‫در‬ ‫ی‬ ‫و را‬ ‫ی‬ ‫ی ه‬ ‫ا‬
  • 277. ‫را‬ ‫روش‬ ‫ی‬ ‫ی ه‬ ‫.ا‬ ‫و را‬ ‫: ی‬ ‫ا‬ ‫ی‬ ‫ی در ﺝ وا‬ ‫دو ع ا‬ ‫ا ﺥ ا نی‬ ‫ی ه‬ ‫ل از ای ا‬ ‫ان‬ ‫زد.‬ ‫اه‬ ‫ی‬ ‫ی ی ‪ I/O‬داد ه‬ ‫ا‬ ‫ی ی ‪I/O‬‬ ‫ا‬ ‫روش‬ ‫را‬ ‫ی ه‬ ‫د. ا‬ ‫د‬ ‫ا‬ ‫ی‬ ‫داد ه‬ ‫ا‬ ‫ا‬ ‫ای‬ ‫و‬ ‫د‬ ‫ا‬ ‫ه از ی‬ ‫ﺥ ا . ای ا‬ ‫اه‬ ‫ه‬ ‫را‬ ‫ارد را‬ ‫ﺥ از‬ ‫ی ه در‬ ‫.ای ا‬ ‫ار‬ ‫د‬ ‫رد ا‬ ‫اﻝ‬ ‫ا اع ز ن ه‬ ‫.‬ ‫ه‬ ‫ی‬ ‫ی ه‬ ‫از ا‬ ‫ت‬ ‫م‬ ‫د و از ای رو‬ ‫ی‬ ‫ﺝ وا )0.1(‬ ‫رش‬ ‫در‬ ‫را‬ ‫ی ه‬ ‫ا‬ ‫س‬ ‫ه و‬ ‫ﺥ از‬ ‫و‬ ‫ﺝ وا1.1 ا ود‬ ‫را‬ ‫ی ه‬ ‫ا د .ا‬ ‫‪ I/O‬ی‬ ‫ی ه‬ ‫از ا‬ ‫ی‬ ‫ه‬ ‫ا‬ ‫دﻝ‬ ‫ه‬ ‫.‬ ‫ا‬ ‫ر‬ ‫ا‬ ‫ی‬ ‫ه‬ ‫.‬ ‫روز ر‬ ‫د از ن ه‬ ‫ا‬ ‫ﺝ‬ ‫ی‬ ‫د‬ ‫ا‬ ‫را‬ ‫ی ه‬ ‫.ا‬ ‫اه‬ ‫ی‬ ‫ی‬ ‫ت ‪ I/O‬ه ز ه در ی‬ ‫م‬ ‫دی :‬ ‫زد.‬ ‫اه‬ ‫ه‬ ‫را‬ ‫ی ی‬ ‫ا‬ ‫و را‬ ‫روش‬ ‫را‬ ‫ی‬ ‫ی ه‬ ‫ا‬ ‫سه‬ ‫س‬ ‫ا .دو‬ ‫ی‬ ‫سه‬ ‫ا‬ ‫ﺥ ر‬ ‫ﺥ از‬ ‫دو‬ ‫و‬ ‫ی‬ ‫ی ه‬ ‫ا‬ ‫ار دار : ‪. Outputstream,Inputstream‬ه ی‬ ‫سه‬ ‫ای‬ ‫ی‬ ‫در‬ ‫ا ا‬ ‫از ﺝ‬ ‫و ی ‪I/O‬‬ ‫وت ه‬ ‫س دار‬ ‫ی زی‬ ‫ا ا‬ ‫سه‬ ‫از ای‬ ‫. ﺥ از‬ ‫ی ی‬ ‫را‬ ‫ه‬ ‫و‬ ‫ت‬ ‫ه ,ا‬ ‫رو دی‬ ‫ی ه‬ ‫د از‬ ‫ا ا‬ ‫دا‬ ‫. ﺥ‬ ‫ار‬ ‫رد ر‬ ‫س ه در ای‬ ‫ای‬ ‫.‬ ‫‪ java.io‬را وارد‬ ‫ی ه ی‬ ‫ا‬ ‫سه‬ ‫ا‬ ‫ی‬ ‫ی‬ ‫‪Outputstream,Inputstream‬‬ ‫سا ا‬ ‫در دو‬ ‫ه )(‪ read(),write‬ه‬ ‫ی ای‬ ‫.و‬ ‫ز‬ ‫د‬ ‫دی‬ ‫سه‬ ‫و‬ ‫رت ا ا‬ ‫.ه دو‬ ‫د‬ ‫ر‬ ‫ی ه ی از داد ه‬ ‫ا ﺥ ا نو‬ ‫س ه‬ ‫زی‬ ‫و‬ ‫ه‬ ‫ا .ای‬ ‫ی‬ ‫‪Outputstream,Inputstream‬‬ ‫در‬ ‫.‬ ‫‪override‬‬
  • 278. : ‫ی‬ ‫ی ه‬ ‫ا‬ ‫سه‬ . ‫ی ورود‬ ‫ : ا‬BufferedInputStream . ‫ی ﺥ وﺝ‬ ‫ : ا‬BufferedOutputStream . ‫ﺥ ا‬ ‫ی‬ ‫رای‬ ‫از ی‬ ‫ی ورود‬ ‫ :ا‬ByteArrayInputStream . ‫ی‬ ‫رای‬ ‫در ی‬ ‫ی ﺥ وﺝ‬ ‫ : ا‬ByteArrayOutputStream ‫ارد ﺝ وا‬ ‫ا‬ ‫ا ﺥ ا ن ا اع داد ه‬ ‫هی‬ ‫ی ورود‬ ‫ : ا‬DataInputStream .‫دارد‬ ‫ارد ﺝ وا‬ ‫ا‬ ‫ا اع داد ه‬ ‫ا‬ ‫هی‬ ‫ی ﺥ وﺝ‬ ‫ : ا‬DataOutputStream .‫دارد‬ . ‫ﺥ ا‬ ‫ی‬ ‫از ی‬ ‫ی ورود‬ ‫ :ا‬FileInputStream . ‫ی‬ ‫ی‬ ‫در ی‬ ‫ی ﺥ وﺝ‬ ‫ :ا‬FileOutputStream . ‫ز‬ ‫ را د‬Inputstream : FilterInputStream . ‫ز‬ ‫ را د‬Outputstream :FilterOutputStream . ‫ی‬ ‫ی ورود را‬ ‫ا‬ ‫سا ا‬ : InputStream .‫ه‬ ‫ا‬ ‫ی ورود‬ ‫ : ا‬ObjectInputStream .‫ه‬ ‫ا‬ ‫ی ﺥ وﺝ‬ ‫ : ا‬ObjectOutputStream . ‫ی‬ ‫ی ﺥ وﺝ را‬ ‫ا‬ ‫ : س ا ا‬OutputStream . ‫ : ی ورود‬PipedInputStream . ‫ : ی ﺥ وﺝ‬PipedOutputStream . print(),println() ‫ی ﺥ وﺝ‬ ‫ : ا‬PrintStream ‫ی‬ ‫.ی‬ ‫ی‬ unget ‫از‬ ‫ی ورود‬ ‫ : ا‬PushbackInputStream . ‫دا‬ ‫ی ورود‬ ‫ا‬ ‫را‬ . ‫در ی‬ ‫د‬ I/O‫ :از‬RandomAccessFile ‫ر‬ ‫ی ورود ا‬ ‫از دو ا‬ ‫ی ورود‬ ‫ : ا‬SequenceInputStream . ‫ﺥ ا‬ ‫از دی‬ ‫اﻝ و ی‬
  • 279. ‫را‬ ‫ی ه‬ ‫ا‬ ‫سه‬ ‫س‬ ‫ا .دو‬ ‫ی‬ ‫سه‬ ‫ا‬ ‫ﺥ از‬ ‫دو‬ ‫و‬ ‫را‬ ‫ی ه‬ ‫ا‬ ‫ا ا‬ ‫سه‬ ‫ار دار :‪. Reader,Writer‬ای‬ ‫سه‬ ‫ای‬ ‫ی‬ ‫در‬ ‫ا ا‬ ‫س‬ ‫از ای دو‬ ‫س از ه ی‬ ‫ی زی‬ ‫ی ی‬ ‫را‬ ‫ی‬ ‫را‬ ‫ی ه‬ ‫ا‬ ‫ی‬ ‫ا .‬ ‫در زی ذ‬ ‫را‬ ‫ی ه‬ ‫ا‬ ‫سه‬ ‫ا .‬ ‫در ﺝ وا‬ ‫ز‬ ‫د‬ ‫دی‬ ‫سه‬ ‫و‬ ‫ا‬ ‫ی‬ ‫‪Reader,Writer‬‬ ‫سا ا‬ ‫در دو‬ ‫ه ی از‬ ‫را‬ ‫ا ﺥ ا نو‬ ‫ه )(‪ read(),write‬ه‬ ‫ی ای‬ ‫.و‬ ‫.‬ ‫س ه ‪override‬‬ ‫زی‬ ‫و‬ ‫ه‬ ‫.ای‬ ‫ر د‬ ‫داد ه‬ ‫را‬ ‫ی‬ ‫س ه ‪ I/O‬ا‬ ‫.‬ ‫ورود‬ ‫را‬ ‫ی‬ ‫‪ : BuffereReader‬ا‬ ‫.‬ ‫ﺥ وﺝ‬ ‫را‬ ‫ی‬ ‫‪ : BufferedWriter‬ا‬ ‫ﺥ ا .‬ ‫را‬ ‫رای‬ ‫از ی‬ ‫ی ورود‬ ‫‪: CharArrayReader‬ا‬ ‫ی .‬ ‫را‬ ‫رای‬ ‫در ی‬ ‫ی ﺥ وﺝ‬ ‫‪ : CharArrayWriter‬ا‬ ‫ﺥ ا .‬ ‫ی‬ ‫از ی‬ ‫ی ورود‬ ‫‪: FileReader‬ا‬ ‫ی .‬ ‫ی‬ ‫در ی‬ ‫ی ﺥ وﺝ‬ ‫‪: FileWriter‬ا‬ ‫.‬ ‫ی ورود‬ ‫‪ : FilterReader‬ا‬ ‫.‬ ‫ی ﺥ وﺝ‬ ‫‪ :FilterWriter‬ا‬ ‫.‬ ‫ی‬ ‫ه‬ ‫را‬ ‫ی ه را‬ ‫ی ورود‬ ‫‪ : InputStreamReader‬ا‬ ‫.‬ ‫رش‬ ‫ه را‬ ‫ی ورود‬ ‫‪ :LineNumberreader‬ا‬ ‫.‬ ‫ی‬ ‫ه را ی ه‬ ‫را‬ ‫ی ﺥ وﺝ‬ ‫‪ : : OutputStreamWriter‬ا‬ ‫‪ : PipedReader‬ی ورود .‬ ‫‪ : PipedWriter‬ی ﺥ وﺝ .‬ ‫)(‪. print(),println‬‬ ‫ی ﺥ وﺝ‬ ‫‪ : PrintWriter‬ا‬ ‫را‬ ‫ی ورود‬ ‫ا‬ ‫ه‬ ‫ن ز دا ن را‬ ‫ا‬ ‫ی ورود‬ ‫‪ : PushbackReader‬ا‬ ‫زد.‬ ‫اه‬
  • 280. ‫.‬ ‫ی‬ ‫را‬ ‫را‬ ‫ورود‬ ‫ی ه‬ ‫ا‬ ‫‪ : Reader‬س ا ا‬ ‫ﺥ ا .‬ ‫ر‬ ‫از ی‬ ‫ی ورود‬ ‫‪ : StringReader‬ا‬ ‫ی .‬ ‫ر‬ ‫در ی‬ ‫ی ﺥ وﺝ‬ ‫‪ : : StringWriter‬ا‬ ‫.‬ ‫ی‬ ‫را‬ ‫را‬ ‫ﺥ وﺝ‬ ‫ی ه‬ ‫ا‬ ‫سا ا‬ ‫‪: Writer‬‬ ‫ﺕ ی ﺵ‬ ‫از پ‬ ‫ی ه‬ ‫ا‬ ‫ر ﺥ د ر وارد‬ ‫‪ java.lang‬را‬ ‫ﺝ وا‬ ‫ه‬ ‫م‬ ‫دا‬ ‫ه ن‬ ‫ز ن‬ ‫از‬ ‫ه‬ ‫ﺝ‬ ‫ا‬ ‫ی‬ ‫م ‪System‬‬ ‫.در ای‬ ‫ز ن‬ ‫ا‬ ‫س‬ ‫ای‬ ‫ه‬ ‫ﺥ از‬ ‫د از‬ ‫ا‬ ‫ل‬ ‫ان‬ ‫.‬ ‫ن‬ ‫اﺝ ا را‬ ‫ی از‬ ‫ا‬ ‫وری .‬ ‫د‬ ‫را‬ ‫ط‬ ‫ت‬ ‫تﺥ‬ ‫و‬ ‫ﺝر‬ ‫و‬ ‫رت ای‬ ‫ه‬ ‫س ‪ System‬وﺝ د دارد:‪. err,out,in‬ای‬ ‫در‬ ‫ی‬ ‫ا .‬ ‫ی‬ ‫در ‪System‬‬ ‫ل‬ ‫ضه ن‬ ‫ی‬ ‫ارد ارﺝ ع دارد.ای ا‬ ‫ی ﺥ وﺝ ا‬ ‫ا‬ ‫‪System.out‬‬ ‫ض‬ ‫ارد ارﺝ ع دارد‬ ‫ا‬ ‫ورود‬ ‫.‪System.in‬‬ ‫ا‬ ‫ل‬ ‫ض‬ ‫ارد ارﺝ ع دارد‬ ‫ا‬ ‫ی ﺥ ه‬ ‫ا‬ ‫.‪ System.err‬ه‬ ‫ا‬ ‫د.‬ ‫ه ای‬ ‫ز ر دی‬ ‫‪I/O‬‬ ‫ه و‬ ‫ان‬ ‫ی ه را‬ ‫.ا ای ا‬ ‫ا‬ ‫ه ی از‬ ‫.‪System.out,System.err‬‬ ‫ا از ع ‪ InputStream‬ا‬ ‫‪System.in‬‬ ‫/در‬ ‫ه‬ ‫را‬ ‫ﺥ ا ن/‬ ‫ا‬ ‫ی ه‬ ‫ای ا‬ ‫.‬ ‫ع ‪ PrintSystem‬ه‬ ‫ﺥ اه دی در‬ ‫ی .ه ن‬ ‫ر‬ ‫ی‬ ‫ی ه‬ ‫دا ا‬ ‫د‬ ‫لا‬ ‫.‬ ‫را‬ ‫ی ه‬ ‫ن ه را در ا‬ ‫ا‬ ‫رت ز‬ ‫ل‬ ‫ا ن ورود ه‬ ‫د از ای روی‬ ‫ی‬ ‫ی‬ ‫ا‬ ‫د از ی‬ ‫ل در ﺝ وا 0.1 ا‬ ‫روش ﺥ ا ن ورود ه‬ ‫ا ﺥ ا ن‬ ‫ی‬ ‫ی ه‬ ‫د از ا‬ ‫.ا وز ا‬ ‫اول ا‬ ‫ی‬ ‫ه‬ ‫ه ز ه در‬ ‫د.روش از‬ ‫ر‬ ‫ا ا م ای‬ ‫ا‬ ‫ل ه ز ه از‬ ‫ورود ه‬
  • 281. ‫د‬ ‫ا‬ ‫اا‬ ‫را‬ ‫ی‬ ‫د از ا‬ ‫لا‬ ‫ا ﺥ ا ن ورود ه‬ ‫ی‬ . ‫ﺥ ا‬ ‫ن‬ ‫ه را‬ ‫دن‬ ‫اﻝ‬ ‫و‬ ‫دا‬ ‫از ان ه‬ ‫د. ا‬ ‫ ا م‬System.in ‫ی ﺥ ا ن از‬ ‫ل در ﺝ وا از‬ ‫ه‬ ‫ﺥ ا ن ورود‬ ‫ا از‬ ‫ را در‬System.in ‫ی‬ ‫ل‬ ‫را‬ ‫ی ه‬ ‫ﺥ ا نا‬ ‫ی ورود‬ ‫ از ا‬BufferReader. BufferReader ‫ع‬ : ‫زی ا‬ ‫د‬ ‫رد ا‬ Constructor ‫. اول ی‬ BufferReader(Reader inputReader) Reader. ‫د‬ ‫ای د‬ ‫ ا‬BufferReader ‫ا از‬ ‫ی‬ ‫ ا‬inputReader ‫ی ه‬ . ‫ ا‬InputStreamReader ‫ن‬ ‫سه‬ ‫از زی‬ ‫.ی‬ ‫ا‬ ‫سا ا‬ System.in InputStreamReader ‫ا از ع‬ ‫. ا ای د‬ ‫ی‬ ‫را‬ ‫را‬ : ‫د‬ ‫ ذی ا‬constructor ‫از‬ InputStreamReader(InputStream inputStream) ‫ی‬ ‫ا‬ ‫ا‬ ‫ان‬ ‫ ارﺝ ع دارد از ن‬InputStream ‫ع‬ ‫از‬ ‫ا‬ Stream.in ‫ن‬ ‫د‬ ‫ ای د‬BufferReader ‫زی ی‬ ‫د. در‬ ‫د‬ ‫ورود ا‬ :‫د‬ BufferReader br= new BufferReader (new InputStreamReader (System.in)); System.in ‫ی‬ ‫از‬ ‫د‬ ‫ﺥ اه‬ ‫را‬ ‫ی‬ ‫ا‬ ‫ ی‬br ‫از اﺝ ا‬ . ‫ا‬ ‫ل‬ ‫ه‬ ‫ا ن را‬ ‫از‬ ‫. ر‬ ‫د‬ ‫ ا‬Read() ‫از‬ ‫ا‬ BufferReader ‫را از ی‬ ‫را‬ ‫ن‬ ‫ا‬ : ‫رت زی ا‬ ‫د‬ ‫ر ﺥ اه‬ Read() int Read()throws IOExeption ‫ﺥ ا و ن را‬ ‫ی ورود‬ ‫را از ا‬ ‫د را‬ ‫اﺥ ا‬ Read() ‫ر‬ ‫ه‬ ‫دا .ه ن‬ ‫ی ١- را‬ ‫ا‬ ‫ا‬ . ‫دا‬ ‫ار‬ ‫رت ی‬
  • 282. . ‫ب‬ ‫ا‬ ‫ را‬ioexeption ‫ا‬ ‫ر را‬ ‫ده .ای‬ ‫ن‬ ‫ل‬ ‫ه از‬ ‫ را ﺥ ا ن را‬read() ‫د از‬ ‫ذی روش ا‬ :‫د‬ ‫ر داد‬ “q” ‫ف‬ ‫ده‬ ‫ر ادا‬ //use a BufferedReader to read characters from the console. Import java.io.*; Class BRRead{ Public static void main(String args[]) throws IOExeption { Char c; BufferedReader br=new BufferReader(new InputstreamReader(System.in)); System.out.println(“Enter charactors,’q’ to quit.”); //read characters Do{ C=(char)br.read(); System.out.println(c); }while(c!=’q’); } } : ‫ا‬ ‫ن داد‬ ‫در ذی‬ ‫ا از ﺥ وﺝ‬ Enter charactors,’q’ to quit. 123abcq 1 2 3 A B C Q system.in ‫ا‬ ‫وت دا‬ ‫ر‬ ‫رش را داری‬ ‫ا‬ ‫ا‬ ‫ﺥ وﺝ‬ ‫و‬ ‫ی‬ ‫ﺥ ا .ای‬ ‫رت‬ ‫را‬ ‫ض‬ ‫ا دری‬ read() ‫د‬ ‫.ای ا‬ ‫ار ل‬ ‫د ورودی‬ ‫ زد‬enter . ‫ان ارز‬ ‫ل‬ ‫ورودی از‬ ‫ا ن رﺵ ه‬
  • 283. ‫س‬ ‫از‬ ‫د‬ ‫ ا‬readline()‫ا از‬ ‫ا رااز‬ ‫ر‬ ‫ا‬ . ‫رت زی ا‬ ‫ن‬ ‫م‬ . ‫ ا‬bufferedreader String readline() throws loexception . ‫ ا‬string ‫ان ی‬ ‫ه ن‬ ‫ه را ن‬ ‫ه ای‬ ‫ن‬ ‫ را‬readline() ‫ و‬bufferedreader ‫د‬ ‫زی‬ : ‫ را ی‬word ‫ده‬ ‫ﺥ ا و ی‬ ‫ی‬ ‫ری‬ //read a string from console using a bufferedreader. Import java . io .*; Class breadlines { Public static void main (string args[] ) Throws ioexception { //create a bufferedreader using system. In Bufferedreader br = new bufferedeader (new inputsteamreader( system.in ); String str; System .out. println( enter lines of text. ); system .out. println(enter `stop` to quit.``); do { str =br .readline(); system.out. println(str); } while(!str.equals (``stop``); } } ‫ ای د‬string ‫ه‬ ‫از‬ ‫. رای ا‬ ‫ا‬ ‫د ای د‬ ‫ر‬ ‫وی ا‬ ‫زی ی‬ ‫در‬ ‫د.ی‬ ‫ﺥ ا‬ ١٠٠ ‫د. ا‬ ‫در رای ذﺥ‬ ‫وه‬ ‫ه ﺥ ا‬ ‫و‬ : ‫ا‬ ‫د‬ ‫ ا‬BufferRead ‫ل‬ ‫. ا ﺥ ا ن از‬ ‫`` را ی‬stop`` ‫ای‬ //A tiny editor
  • 284. Import java.io.*; Class TinyEdit{ Public static void main(String args[])throws IOException{ //creat a bufferreader using System.in BufferedReader br = new BufferedReader(new InputstreamReader(System.in)); String str[] = new String[100]; System.out. println(“enter lines of text.”); System.out. println(“enter ‘stop’ to quit.”); For(int i=0;i<100;i++){ Str[i]=br.readLine(); If(str[i].equals(“stop”))break; } System.out. println(“nHere is your file:”); //display the lines For(int i=0;i<100;i++){ If(str[i].equals(“stop”))break; System.out. println(str[i]); } } } : ‫ا‬ ‫ن داد‬ ‫در ذی‬ ‫ا از ﺥ وﺝ‬ Enter lines of text. Enter ‘stop’ to quit. This is line one. This is line two. Java makes working with strings easy. Just creat String objects. Stop Here is your file: This is line one. This is line two. Java makes working with strings easy. Just creat String objects. ‫ل‬ ‫و‬ ‫ﺵ‬
  • 285. ‫س‬ ‫و‬ ‫ه‬ ‫د. ای‬ ‫ ا م‬print(),println() ‫ا‬ ‫ل‬ ‫ﺥ وﺝ‬ ‫ه .ا‬ ‫ی‬ (‫ن ارﺝ ع دارد‬ System.out ) PrintStream ‫د ه ز‬ ‫ا‬ ‫د از ن ا ﺥ وﺝ‬ ‫ا ا‬ ‫ا‬ ‫ی‬ ‫ی‬ ‫ا‬ System.out . ‫ی شا‬ ‫ا‬ OutputStream ‫از‬ ‫ی ﺥ وﺝ ا‬ ‫ا‬ PrintStream ‫ن‬ ‫در‬ ‫ا‬ ‫ان‬ write() ‫.از ای رو از‬ ‫ز‬ ‫د‬ ‫ را‬write() ‫ی‬ ‫ا‬ ‫ی‬ PrintSystem ‫و‬ write() ‫م‬ ‫ی‬ ‫د. د‬ ‫د‬ ‫لا‬ : ‫رت زی‬ Void write (int byteval) ‫د‬ ‫ان‬ byteval ‫ی .ا‬ ‫ی‬ ‫ در ا‬byteval ‫ی‬ ‫ای‬ ‫زی از‬ ‫ل‬ ‫.در‬ ‫را‬ ‫ه‬ ‫ا‬ ‫ا‬ ‫ی‬ : ‫ا‬ ‫د‬ ‫ا‬ ‫ا ل‬ ‫را‬ ‫و‬A ‫را‬ ‫ ا‬write //Demonstrate System.out.write() Class WriteDemo{ Public static void main(String args[]){ Int b; B=’A’; System.out.write(b); System.out.write(‘n’); } } ‫د از‬ ‫ا‬ ‫ا‬ ‫د‬ ‫د‬ ‫ ا‬write() ‫از‬ ‫ل ا‬ ‫ه‬ ‫م ﺥ وﺝ‬ ‫ا‬ ‫ا‬ . ‫ا‬ ‫ن‬ print(),println() PrintWriter ‫س‬ ‫د از ن‬ ‫ا ا‬ ‫ی شا‬ ‫ل‬ ‫در‬ ‫ ا‬System.out ‫د از‬ ‫ا‬ ‫ا‬ ‫ه‬ ‫در‬ ‫د. رو‬ ‫د‬ ‫ه‬ ‫ل زدای ی‬ ‫ا‬ ‫ای‬ . ‫ ا‬PrintWriter ‫ی‬ ‫ا‬ ‫ی‬ ‫د از‬ ‫ل‬ ‫در‬ ‫ا‬ ‫وا‬
  • 286. ‫را‬ ‫س‬ ‫د از‬ ‫.ا‬ ‫ا‬ ‫را‬ ‫سه‬ ‫از‬ ‫ ی‬PrintWriter . ‫ن‬ ‫ه را‬ ‫ﺥ‬ ‫اﻝ‬ ‫ل‬ ‫ﺥ وﺝ ه در‬ ‫ﺝ‬ : ‫رت زی ا‬ ‫ه‬ ‫از ای‬ ‫.ی‬ ‫ا‬ ‫ی‬ PrintWriter‫در‬ ‫ز‬ PrintWriter(OutputStream outputstream,Boolean flushOneNewLine) flushOneNewLine ‫و‬ ‫ ا‬OutputStream ‫ا از ع‬ Outputstream ‫ار ن‬ . ‫دی ﺥ‬ println() ‫اﺥ ا‬ ‫ره م‬ ‫ی ﺥ وﺝ ه‬ ‫ا‬ ‫ر‬ ‫ر‬ ‫ای‬ false ‫ار ن‬ ‫د.ا ا‬ ‫رﺥ د را م‬ true . ‫اه‬ ‫ﺥ د را م‬ ‫از از‬ ‫ا‬ ‫زی‬ ‫ی‬ ‫د‬ ‫ل ا‬ ‫در‬ ‫ا‬ PrintWriter ‫ا‬ . ‫ﺝی‬ ‫از ه‬ ‫ی را‬ ‫ی وا‬ ‫د‬ ‫ی ﺥ وﺝ ا‬ ‫ ا ا‬System.out : ‫ل ﺥ وﺝ‬ ‫ را ای د و‬PrintWriter ‫ل‬ ‫ان‬ PrintWriter pw= new PrintWriter(System.out ,true); ‫د‬ ‫ل ﺥ وﺝ ا‬ ‫ی ی‬ ‫ا‬ PrintWriter ‫از‬ ‫ده‬ ‫ن‬ ‫زی‬ :‫د‬ //demonstrate PrintWriter Import java.io.*; Public class PrintWriterdemo{ Public static void main(String args[]){ PrintWriter pw = new PrintWriter(System.out ,true); Pw.println(“this is a string”); Int I =-7; Pw.println(i); Double d=4.5e-7; Pw.println(d); } } : ‫رت زی ا‬ ‫ﺥ وﺝ‬ This is a string -7
  • 287. 4.5e-7 ‫در ی ه‬ ‫ا ن از / ﺵ‬ ‫. م ی ه در‬ ‫د ا‬ ‫اه‬ ‫در ی ه‬ /‫ا ﺥ ا ن از‬ ‫را‬ ‫سو‬ ‫ی‬ ‫ﺝ وا‬ ‫ﺥ‬ ‫اه‬ ‫ی ه‬ / ‫ی ه از‬ /‫ه ی را ا ﺥ ا ن‬ ‫و ﺝ وا‬ ‫اه‬ ‫ﺝ وا ی‬ ‫ه‬ ‫ی ه را در‬ ‫ا‬ ‫ی‬ ‫ی ه‬ ‫نا‬ ‫ن‬ ‫. ای وﺝ د ﺝ وا ا‬ ‫ا‬ . ‫ﺥ ا‬ ‫اه‬ ‫را‬ FileOutputStream, ‫ار‬ ‫د‬ ‫رد ا‬ ‫س هی‬ ‫رد از‬ ‫دو‬ ‫ن‬ ‫. ا‬ ‫ی ه را ای د‬ ‫ی‬ ‫ی ه‬ ‫ا‬ ‫ ه‬FileInputStream ‫ن‬ ‫ان ر‬ ‫س ه را ای د و م ی را‬ ‫ع‬ ‫ا از ای‬ ‫ا‬ ‫را ز‬ ‫ی‬ override ‫ا‬ ‫ه‬ ‫ز‬ ‫س از‬ ‫ه دو‬ ‫ی .ا‬ ‫ز‬ : ‫ده‬ ‫م زی را‬ ‫دو‬ ‫ا‬ FileInputStream(String fileName)throws FileNotFoundEXeption FileOutputStream(String fileName)throws FileNotFoundEXeption ‫ی ورود ای د‬ ‫ا‬ ‫ی‬ ‫د.و‬ ‫ز‬ ‫ی‬ ‫را‬ ‫ م ی‬filename ‫ب‬ FileNotFoundEXeption ‫رت ا‬ ‫در ن‬ ‫ﺝ د‬ ‫ی‬ ‫رت ا‬ ‫در ن‬ ‫ﺝ د‬ ‫ی‬ ‫ﺥ وﺝ‬ ‫ی ه‬ ‫ا‬ ‫د, ا‬ .‫د‬ ‫ب‬ FileNotFoundEXeption ‫س‬ ‫ی .ه دو‬ close() ‫اﺥ ا‬ ‫ن را‬ ‫ی‬ ‫ین ر‬ ‫ی‬ ‫ر ن‬ ‫و‬ : ‫د ا‬ ‫ی‬ ‫ ن را‬FileOutputStream, FileInputStream Void close() throws IOException ‫س‬ ‫در‬ ‫د‬ ‫ ا‬read() ‫رش ه‬ ‫از‬ ‫از ی‬ ‫ا‬ ‫ی‬ ‫ا ﺥ ا ن از ه‬ : ‫رت زی ا‬ ‫رش ه‬ ‫از ای‬ ‫ی‬ ‫ا‬ ‫ی‬ FileInputStream Int read() throws IOException
  • 288. ‫رت ی‬ ‫ﺥ ا و ن را‬ ‫را از ی‬ ‫ی وا‬ ‫دی‬ ‫اﺥ ا‬ ‫ای‬ ‫ر‬ ‫ه‬ ‫رت‬ ‫د.در‬ ‫دا‬ -1 ‫ی‬ ‫ا‬ ‫ن‬ ‫از ر‬ . ‫دا‬ ‫د‬ .‫د‬ ‫ب‬ IOException ‫ا‬ ‫ﺥ‬ ‫وز ه‬ ‫داد‬ ‫ی‬ ‫ی‬ ‫ا‬ ‫و‬ ‫د‬ ‫ا ﺥ ا ن ورود ه ا‬ read() ‫زی از‬ ‫در‬ try/catch ‫ه‬ ‫ر د‬ .‫د‬ ‫ن‬ ‫ن در ﺥ‬ ‫ان ر‬ ‫د. م ی‬ ‫ا‬ ‫-ﺥ‬ ‫ﺝ‬ ‫ی‬ ‫اﺝ ا‬ ‫در‬ ‫ا‬ ‫ی ی دو ﺥ ی‬ ‫ا‬ ‫ان ه‬ ‫ن.از ای روی‬ ‫م ی در ﺥ‬ ‫دن ی‬ ‫ا ش‬ ‫رد‬ ‫ن ی‬ . ‫ی‬ ‫د‬ ‫نا‬ ‫ﺥ‬ ‫نه‬ ‫د از ر‬ ‫ه ما‬ /*display a text file. To use this program ,specify the name Of the file that you want to see. For example to see a file called TEST.TXT, Use the following command line: Java showFile TEST.TXT */ Import java.io.*; Class showFile{ Public static void main(String args[])throws IOException{ Int I; FileInputStream fin; Try{ Fin = new FileInputStream(args[0]); }catch(FileNotFoundException e){ System.out. println(“file not found”); Return; }catch(ArrayIndexoutOfBoundsException e){ System.out. println(“usage: showfile file”); Return; } //read charactors until EOF is encountered Do{ I=fin.read();
  • 289. If( I != -1)System.out.print((char)i); }while(I != -1); Fin.close(); } } FileOutputStream ‫س‬ ‫و‬ write() ‫از‬ ‫ا‬ ‫در ی‬ ‫ا‬ : ‫رت زی ا‬ ‫م ن‬ ‫ی‬ ‫. د‬ ‫د‬ ‫ا‬ ‫ا‬ ‫ی‬ Void write(int byteval) throws IOException ‫ی‬ int ‫رت‬ byteval ‫د. ا‬ ‫ در ی‬byteval ‫ی‬ ‫وز ه‬ ‫رت‬ ‫. در‬ ‫در ی‬ ‫را‬ ‫ه‬ ‫ا‬ ‫ا‬ ‫دن ی‬ ‫ا‬ write() ‫ل زی از‬ ‫د.در‬ ‫ب‬ IOException ‫ا‬ ‫ﺥ‬ . ‫ا‬ ‫د‬ ‫ا‬ ‫ی‬ /*copy a text file. To use this program specify the name of The source file and the destination file. For example to copy a file called EIRST.TXT To a file called SECOND.TXT ,use the following Command line. Java CopyFile FIRST.TXT SECOND.TXT */ Import java.io.*; Class CopyFile{ Public static void main(String args[])throws IOException{ Int I; FileInputStream fin; FileOutputStream fout; Try{ //open input file Try{ Fin=new FileInputStream(arg[0]); }catch(FileNotFoundException e){ System.out. println(“file not found”);
  • 290. Return; } //open output file Try{ Fout =new FileOutputStream(arg[1]); }catch(FileNotFoundException e){ System.out. println(“error opening output file”); Return; } }catch(ArrayIndexoutOfBoundsException e){ System.out. println(“usage: CopyFile from to”); Return; } //copy file Try{ Do{ I=fin.read(); If(I != -1)fout.write(i); }while(I != -1); }catch(IOException e){ System.out. println(“file error”); } Fin.close(); Fout.close(); } } ‫ارش‬ ‫ا‬ ‫ه‬ ‫ﺥ‬ ‫از‬ c,c++ ‫از ﺝ‬ ‫ی ز ن ه‬ ‫ﺥ ف‬ ‫ﺝ وا‬ ‫.ای ا‬ ‫ده‬ ‫ه ا‬ ‫ا‬ ‫ی ی‬ ‫,از‬ ‫د‬ ‫ی ه ا‬ ‫ﺥ ه‬ ‫ن‬ ‫ر‬ ‫ﺥ ه‬ ‫ده‬ ‫ن‬ ‫ﺝ وا ا‬ ‫د‬ ‫ی ه‬ ‫ی ی‬ ‫ر از‬ c,c++ ‫د.در دو ز ن‬ ‫ی‬ ‫ﺥ ا ن از ی‬ ‫در‬ ‫ی وﺥ ه‬ ‫ا‬ ‫را‬ ‫ی‬ ‫ه‬ ‫ی‬ ‫ا‬ ‫ن‬ ‫ﺥ ا نوه مر‬ ‫در‬ ‫وز ﺥ‬ ‫ه م‬ ‫ا‬ ‫د(.ای‬ ‫م‬ ‫ﺥ ا نا‬ ‫ار ﺥ‬ ‫ه ن‬ ‫ ا‬C/C++ ‫ در‬EOF ‫ط‬ ‫دا )ی‬ ‫د‬ ‫در‬ ‫رات‬ ‫ز ی‬ ‫ی‬ ‫ا‬ ‫هی ن‬ ‫ه‬ ‫ی ا‬ ‫ه در ز ن ﺝ وا از‬ ‫.ﺥ‬ ‫ا‬ ‫ام روی اد وا‬
  • 291. ‫ار 1-‬ ‫‪read‬‬ ‫دا .از ای رو و‬ ‫)(‪read‬‬ ‫هی‬ ‫ی‬ ‫از‬ ‫و‬ ‫م‬ ‫ا‬ ‫.‬ ‫ا‬ ‫‪EOF‬‬ ‫و‬ ‫ا‬ ‫وا‬ ‫نه‬ ‫دا‬ ‫را‬ ‫ن‬ ‫ان ر‬ ‫‪ FIRST.TXT‬و‪ SECOND.TXT‬ی‬ ‫رد‬ ‫ﺝ: م ی ه‬ ‫اﺝ ا‬ ‫ا‬ ‫د ی‬ ‫)(‪ main‬ار ل‬ ‫و‬ ‫ن‬ ‫)(‪ main‬در ﺥ‬ ‫:‬ ‫م‬ ‫نا‬ ‫رت زی در ﺥ‬ ‫‪Java CopyFile FIRST.TXT SECOND.TXT‬‬
  • 292. ‫ی ی ﺡ‬ : ‫وی ای‬ ‫در ﺝ وا‬ ‫ری‬ garbage collector ‫د‬
  • 293. ‫در ‪Java‬‬ ‫ی ی ﺡ‬ ‫ی ی‬ ‫.‬ ‫نا‬ ‫ی ی‬ ‫‪ c‬و‪++c‬‬ ‫ز‬ ‫‪Java‬‬ ‫وت ه‬ ‫از‬ ‫ی‬ ‫ﺥ د‬ ‫ارد. در وا‬ ‫ا ر‬ ‫ز‬ ‫ای ز ن‬ ‫ا ا‬ ‫در ‪Java‬‬ ‫را از‬ ‫سوﺥ‬ ‫و ای‬ ‫ه را‬ ‫ا ر‬ ‫ز ‪ ، Java‬ر‬ ‫در ‪، Java‬‬ ‫ی ی‬ ‫ای‬ ‫ی‬ ‫از‬ ‫ی‬ ‫.ه‬ ‫د ا‬ ‫ﺥ رج‬ ‫اﺥ ر ر‬ ‫د‬ ‫‪ c‬و ‪ ++c‬ر‬ ‫ز نه‬ ‫.ا‬ ‫)‪ (garbage collector‬ن ا‬ ‫لﺝ‬ ‫ی‬ ‫ر‬ ‫ا‬ ‫ی داری . در‬ ‫ی‬ ‫ً‬ ‫د ای .‬ ‫ن را از‬ ‫د، و‬ ‫د‬ ‫ا‬ ‫ﺥ د از ای‬ ‫، در‬ ‫ﺥ رﺥ د‬ ‫)ی‬ ‫ن‬ ‫ی ی‬ ‫و‬ ‫ده ، ﺥ د‬ ‫ص‬ ‫اﺥ‬ ‫ا را‬ ‫ه‬ ‫ن‬ ‫در ه م زی د‬ ‫ی ی‬ ‫داری .‬ ‫را‬ ‫ه ( و ز دا ن ن‬ ‫.ه‬ ‫و د ار ا‬ ‫رﺥ‬ ‫(‬ ‫ه‬ ‫ً در ﻝ‬ ‫ای ا ء )‬ ‫دارد‬ ‫ند‬ ‫را‬ ‫ی، ی د‬ ‫را‬ ‫ی‬ ‫ا‬ ‫زی د دارد. در ‪Java‬‬ ‫د‬ ‫د و ز‬ ‫رﺥ‬ ‫ً ای‬ ‫.‬ ‫زاد‬ ‫ان‬ ‫ز‬ ‫. ی‬ ‫ل‬ ‫‪(gc) garbage collector‬‬ ‫ل را‬ ‫ای ا‬ ‫را از‬ ‫،‬ ‫را‬ ‫. ‪gc‬‬ ‫ﺥ د‬ ‫دی‬ ‫دا‬ ‫ان ی‬ ‫د ن را‬ ‫ده .‬ ‫سا م‬ ‫د‬ ‫ا ء‬ ‫و‬ ‫ف در‬ ‫، ن‬ ‫ا‬ ‫ه‬ ‫ه‬ ‫و‬ ‫ر وا‬ ‫ز‬ ‫د.‬ ‫دا‬ ‫و‬ ‫ن زاد‬ ‫‪ thread‬در‬ ‫ان ی‬ ‫ی . ‪ gc‬را‬ ‫را از‬ ‫‪ ،++c‬ی‬ ‫و در‬ ‫ل‬ ‫و‬ ‫ن را ردی‬ ‫و ا ء ای د‬ ‫اﺝ ا‬ ‫از‬ ‫ر‬ ‫دا .‬ ‫و‬ ‫را از‬ ‫ﻝ وم،‬ ‫د ‪garbage collector‬‬ ‫ا ز ن ﺥ د ا د . در وا‬ ‫‪gc‬‬ ‫د‬ ‫ا اد‬ ‫ن ‪ ،Java‬اوﻝ‬ ‫ا اع‬ ‫‪ Lisp‬و‬ ‫نز نه‬ ‫ز‬ ‫دد. ه‬ ‫ز‬ ‫ده ه‬ ‫ای‬ ‫ان‬
  • 294. ‫ن در ه م‬ ‫از‬ ‫ﺝ‬ ‫‪Small Talk‬‬ ‫ﺥ د‬ ‫م ا ی‬ ‫،‬ ‫د و ای‬ ‫ارزش و‬ ‫ر‬ ‫،‬ ‫ی‬ ‫.‬ ‫ا م‬ ‫رو‬ ‫ر‬ ‫‪ gc‬ه ای د و‬ ‫د‬ ‫. از ن ه م‬ ‫ی‬ ‫ر‬ ‫ه‬ ‫.‬ ‫ا‬ ‫ا ه‬ ‫ر‬ ‫اوﻝ ، ای د ی‬ ‫در ‪gc‬ه‬ ‫ی رو‬ ‫د‬ ‫از‬ ‫ی‬ ‫از‬ ‫ن، ی‬ ‫ر‬ ‫ه‬ ‫و‬ ‫نا‬ ‫،ی‬ ‫ی‬ ‫) ‪(reference‬‬ ‫ص‬ ‫اﺥ‬ ‫ار ن‬ ‫،ه‬ ‫ار ی‬ ‫از ا ا دارا‬ ‫ر‬ ‫.ا‬ ‫ر‬ ‫را‬ ‫ا‬ ‫‪gc‬‬ ‫اری .‬ ‫ن ز‬ ‫و دی‬ ‫از ن‬ ‫،ی‬ ‫ن‬ ‫ر ه‬ ‫از ه‬ ‫ر‬ ‫ار‬ ‫ر‬ ‫م ده ،‬ ‫ی ا‬ ‫ر‬ ‫د.‬ ‫از ن‬ ‫ا‬ ‫ه ا دارد.‬ ‫،‬ ‫ی رو‬ ‫د‬ ‫از‬ ‫ی‬ ‫. ای روش‬ ‫ا‬ ‫ز‬ ‫دی‬ ‫ا ،‬ ‫نه‬ ‫، ر‬ ‫ه‬ ‫اد‬ ‫و‬ ‫ه‬ ‫.‬ ‫لا م‬ ‫، ره ای ا‬ ‫از دوران ز‬ ‫. در ه ﻝ‬ ‫و ...‬ ‫ا‬ ‫ی ،‬ ‫ﻝ (وی‬ ‫ی‬ ‫)در‬ ‫ا‬ ‫ﺝ‬ ‫ی‬ ‫ز‬ ‫ه‬ ‫ام از ای‬ ‫ا ه‬ ‫ا‬ ‫ا‬ ‫اد‬ ‫ر‬ ‫.‬ ‫ﻝ ( دا‬ ‫ی‬ ‫)در‬ ‫و‬ ‫ر‬ ‫.‬ ‫نا‬ ‫ر‬ ‫ای روش،‬ ‫ی‬ ‫ار داد ای . در وا‬ ‫ﺥ د‬ ‫د . وﻝ‬ ‫د‬ ‫ا‬ ‫د ،‬ ‫د‬ ‫از ای روش ا‬ ‫اوﻝ‬ ‫‪gc‬ه‬ ‫ر‬ ‫.‬ ‫ا‬ ‫ارا‬ ‫دن ای‬ ‫ف‬ ‫ا‬ ‫ر دی‬ ‫روش ه‬ ‫ﺥ‬ ‫از‬ ‫ض‬ ‫.‬ ‫ا‬ ‫ن‬ ‫در ‪ gc‬داری ،‬ ‫از‬ ‫دی‬ ‫ی‬ ‫را‬ ‫ا‬ ‫ل در ای‬ ‫ا .‬ ‫ص داد‬ ‫اﺥ‬ ‫ء‬ ‫ا‬ ‫،‬ ‫ای‬ ‫ی‬ ‫ًه‬ ‫.‬ ‫ض‬ ‫را ﺥ ﻝ‬ ‫ا‬ ‫د ای و‬ ‫اه در‬ ‫رگ‬ ‫ی‬ ‫نا‬ ‫.ا‬ ‫ری ی‬ ‫ﺥ ﻝ در‬ ‫ه‬ ‫ه‬ ‫ع‬ ‫.وﻝ‬ ‫ن ا‬ ‫ا‬ ‫ی‬ ‫ﺥﻝ‬ ‫ی‬ ‫ا‬ ‫د،‬ ‫ار‬ ‫و‬ ‫ی‬ ‫‪gc‬‬ ‫.‬ ‫ع‬ ‫از ن‬ ‫ی‬ ‫ا‬ ‫،‬ ‫ﺥﻝ‬ ‫ر‬ ‫ً ن ه را در‬ ‫.و‬ ‫ی ی‬ ‫ﺥ ﻝ را‬ ‫ه‬ ‫ا‬ ‫زم،‬ ‫ء‬ ‫از ا‬ ‫داری ،‬ ‫از ن‬ ‫ﺝ‬ ‫، ی‬ ‫ن‬ ‫ار ده . در‬ ‫ی ی‬ ‫.‬ ‫ا ر‬ ‫نﺝ ی‬ ‫داد و‬ ‫درس ﺥ د را‬ ‫ای‬ ‫‪ gc‬در ‪Java‬‬ ‫.ﺥ‬ ‫‪ gc‬ا‬ ‫د از و ی‬ ‫ارد‬ ‫،‬ ‫ارد ذ‬ ‫دو‬ ‫، اﺝ ا‬ ‫از در ه م اﺝ ا‬ ‫‪thread‬‬ ‫ی‬ ‫و‬ ‫ارد را در‬
  • 295. ‫و‬ ‫ز ن‬ ‫س را در ی‬ ‫د‬ ‫ه‬ ‫د، ا ء و‬ ‫ﺝ‬ ‫ر‬ ‫ا‬ ‫ر ن‬ ‫ﺝ‬ ‫ه‬ ‫ا‬ . ‫ور‬ ‫اي ﺥ د، ﺝ‬ .‫ی‬ ‫؟ ای‬ ‫ی‬ ‫را از‬ ‫ ی‬gc ‫ر‬ ‫از‬ ‫اه‬ ‫ﺥ د‬ ‫وﻝ ا‬ gc ‫اﺥ ا‬ ‫( و‬myobject=null) ‫دن ن‬ null ‫و‬ ‫را‬ ‫ا‬ ‫را‬ . ‫)( ا م ده‬system.gc Java memory model Implicit pointer semantics new, no delete (garbage collection) main stack frame new g text Greeting instance s getText “Hello, world” “hello, world” stack frame String instance stack heap
  • 296. ‫ت وی‬ ‫ا‬ : ‫وی ای‬ ‫ن‬ ‫ل ز ن و ر ده‬ applets ‫ه‬ ‫ل ری‬ ‫ا‬ ‫آ‬ ‫ی‬ Multithreaded programming The Main Thread ‫ا‬ ‫ای د ی‬ Runnable ‫زي‬ ‫د‬ ‫هي‬ ‫ای د‬ join() ‫ و‬isAlive() ‫د از‬ ‫ا‬ resume() ‫و‬suspend() ‫د از‬ ‫ا‬ ‫ي‬
  • 297. ‫ه ‪applets‬‬ ‫ل ری‬ ‫ا‬ ‫از واژ آ ي‬ ‫ا‬ ‫ه ي ‪ API‬ﺝ وا‬ ‫آ‬ ‫ه از ه‬ ‫از ‪ I/o‬و ری‬ ‫ای ز ن.‬ ‫ی آ س از‬ ‫ه‬ ‫د .ا‬ ‫ه ي )‪ (applications‬ﺝ وا‬ ‫از‬ ‫ﻝ ي‬ ‫آ‬ ‫ری‬ ‫.ه‬ ‫ا‬ ‫‪ applet‬ی ه ن ری‬ ‫. ع دی‬ ‫ه ي ﺝ وا‬ ‫ای‬ ‫ده‬ ‫وی‬ ‫آ روي ی‬ ‫ه‬ ‫هي آ‬ ‫ه "،‬ ‫، " ری‬ ‫ا ر‬ ‫ان‬ ‫و‬ ‫ر ﺥ دآ ر‬ ‫و‬ ‫و‬ ‫د و‬ ‫س‬ ‫د‬ ‫.‬ ‫وب اﺝ ا‬ ‫از ی‬ ‫ری‬ ‫دارد‬ ‫اي‬ ‫ود‬ ‫،د‬ ‫ر‬ ‫وی‬ ‫ی ر آ ‪ applet‬روي‬ ‫ی‬ ‫وی و‬ ‫د و ون ای د ری‬ ‫اي دﻝ ا را ای د‬ ‫ر‬ ‫آر‬ ‫ا ی را‬ ‫رت زی‬ ‫د‬ ‫ری‬ ‫ی . اﺝ ز ده‬ ‫را اﺝ ا‬ ‫ت‬ ‫داد ه‬ ‫:‬ ‫وع آ‬ ‫;*.‪import java.awt‬‬ ‫;*.‪import java.applet‬‬ ‫{ ‪public class SimpleApplet extends Applet‬‬ ‫{) ‪public void paint(Graphics g‬‬ ‫;)02 /02 /"‪g.drawString("A Simple Applet‬‬ ‫}‬ ‫}‬ ‫ا ار‬ ‫يﺝ‬ ‫رآ‬ ‫د‬ ‫د. اوﻝ‬ ‫ز‬ ‫ر ‪import‬‬ ‫دود‬ ‫ای ری‬ ‫ل دار‬ ‫وا‬ ‫ن‬ ‫ی ‪ AWT‬آ ر‬ ‫ه از‬ ‫آ . ری‬ ‫د ی ‪ AWT‬را وارد‬ ‫اي‬ ‫اي ی را‬ ‫ل ‪ . AWT‬در‬ ‫يآ‬ ‫ي ‪I/o‬‬ ‫ی آ‬ ‫از‬ ‫ر رگ‬ ‫ا ار‬ ‫ﺝ‬ ‫، ای‬ ‫ر دا‬ ‫ا‬ ‫ا‬ ‫ری‬ ‫. ه‬ ‫ا‬ ‫ا‬ ‫و‬ ‫.‬ ‫ا‬ ‫و‬ ‫ي ‪import‬‬ ‫ر‬ ‫ودي از ‪ AWT‬دارد. د‬ ‫ر‬ ‫د‬ ‫د ا‬ ‫ای ری‬ ‫ﺥ‬ ‫اي آ‬ ‫. ه ری‬ ‫آ س ‪ applet‬ا‬ ‫در‬ ‫آ . ای‬ ‫‪ Applet‬را وارد‬ ‫.‬ ‫از ‪Applet‬‬ ‫ی زی آ‬ ‫آ‬ ‫ﻝ‬
  • 298. ‫ان ‪public‬‬ ‫آ . ای آ س ی‬ ‫ن‬ ‫، آ س ‪ Simple Applet‬را ا‬ ‫ي در‬ ‫ﺥ‬ ‫. روش )(‪paint‬‬ ‫س‬ ‫د‬ ‫آ ه ي ﺥ رج از‬ ‫ن ی‬ ‫د،‬ ‫ن‬ ‫ا‬ ‫ری‬ ‫و ی‬ ‫ی‬ ‫‪AWT‬‬ ‫. ای روش‬ ‫ا‬ ‫ن‬ ‫درون ‪ SimpleApplet‬ا‬ ‫ده ، ‪()paint‬‬ ‫ی‬ ‫ی ﺥ وﺝ اش را دو ر‬ ‫آ ری‬ ‫د. ه‬ ‫ا‬ ‫اي‬ ‫ل ، روي‬ ‫ان‬ ‫.‬ ‫ا ق‬ ‫دﻝ‬ ‫ا‬ ‫ای‬ ‫د . ای‬ ‫اﺥ ا‬ ‫دو‬ ‫ي‬ ‫دی‬ ‫ا‬ ‫ل اﺝ ا‬ ‫ن در‬ ‫داﺥ‬ ‫آ ری‬ ‫آ ری‬ ‫د.و‬ ‫ذﺥ‬ ‫و‬ ‫ر‬ ‫ا‬ ‫ا‬ ‫‪applet‬‬ ‫د.ی‬ ‫ر‬ ‫ری‬ ‫،ه و‬ ‫د. دﻝ ه‬ ‫اﺥ ا‬ ‫آ ، )(‪paint‬‬ ‫وع‬ ‫اﺝ ا را‬ ‫د. روش )(‪ paint‬ی‬ ‫اﺥ ا‬ ‫، )( ‪paint‬‬ ‫د ﺥ وﺝ ﺥ د‬ ‫ی‬ ‫ر‬ ‫آ‬ ‫ا‬ ‫آ‬ ‫ا‬ ‫ا‬ ‫در‬ ‫را‬ ‫از ع ‪ Graphics‬دارد. ای‬ ‫را‬ ‫آ .‬ ‫را‬ ‫ل اﺝ ا‬ ‫‪ applet‬در ن در‬ ‫د. درون‬ ‫ار‬ ‫د‬ ‫رد ا‬ ‫، ای‬ ‫ز‬ ‫رد‬ ‫آ ﺥ وﺝ ‪applet‬‬ ‫ه‬ ‫. ای‬ ‫ي ازآ س ‪ Graphics‬ا‬ ‫)(‪ drawstring‬وﺝ د دارد آ‬ ‫اﺥ ا‬ ‫)(‪ paint‬ی‬ ‫ن‬ ‫آ .‬ ‫را ﺥ رج‬ ‫ي ‪ y‬و‪ x‬و‬ ‫در‬ ‫وع‬ ‫روش ی ر‬ ‫:‬ ‫رت زی ا‬ ‫) ‪Void drawstring( string message, int x, inty‬‬ ‫ﺝ وا‬ ‫د. در ی‬ ‫و ی ﺥ رج‬ ‫وع‬ ‫آ در‪ y‬و‪ x‬و‬ ‫اي ا‬ ‫‪ message‬ر‬ ‫در ای‬ ‫)(‪ drawstring‬در ری‬ ‫اﺥ ا‬ ‫.‬ ‫ن‪ o‬و‪ o‬و ا‬ ‫ی‬ ‫،‬ ‫آ ری‬ ‫آ‬ ‫ز د. د‬ ‫٠٢ و ٠٢‬ ‫در ی و در‬ ‫ی‬ ‫م "‪"A simple Applet‬‬ ‫د‬ ‫ه اﺝ اي ﺥ د را در‬ ‫ه ي ﺝ وا ، ری‬ ‫. ﺥ ف‬ ‫روش )(‪ main‬ا‬ ‫ار . در‬ ‫ی روش )(‪ main‬ه‬ ‫ه‬ ‫ری‬ ‫، اآ‬ ‫آ . در‬ ‫وع‬ ‫)(‪main‬‬ ‫ری‬ ‫ه‬ ‫ی‬ ‫مآ س ن‬ ‫آ‬ ‫آ ه‬ ‫وع ﺝ ا‬ ‫ض ، ی ری‬ ‫‪ SimpleApplet‬را‬ ‫آ‬ ‫از ای‬ ‫د.‬ ‫ر داد‬ ‫ور‬ ‫)‪ (applet viewer‬ی ی‬ ‫آ .‬ ‫ی‬ ‫ه را آ‬ ‫آ ، ری‬ ‫ی‬ ‫ه را آ‬ ‫آ‬ ‫ن رو‬ ‫وارد آ د ای ،‬ ‫اي اﺝ ای‬ ‫، دو را‬ ‫. در‬ ‫وت ا‬ ‫دازش‬ ‫ی‬ ‫ا اﺝ اي ‪SimpleApplet‬‬ ‫وﺝ د دارد:‬ ‫ری‬
  • 299. ‫‪Netscape NAvigator‬‬ ‫ﺝ وا‬ ‫ز ر‬ ‫وب‬ ‫ور‬ ‫ی‬ ‫داﺥ‬ ‫دن ‪applet‬‬ ‫اﺝ ا‬ ‫ارد ی‬ ‫ا ار ‪ JDK‬ا‬ ‫)‪(applet viewer‬‬ ‫ری‬ ‫ه‬ ‫د از ی‬ ‫ا‬ ‫آ .‬ ‫اﺝ ا‬ ‫را در ی‬ ‫، ری‬ ‫ری‬ ‫ه‬ ‫‪ .appletviewer‬ی‬ ‫. اﺝ ز ده ه‬ ‫ه ا‬ ‫اي ز ن ری‬ ‫ی را‬ ‫ی و‬ ‫ی‬ ‫روش‬ ‫ای‬ ‫ی‬ ‫ی‬ ‫وب ، زم ا‬ ‫ور‬ ‫ی . اي اﺝ اي ی ‪ applet‬در‬ ‫را ر‬ ‫رو‬ ‫آ ام ای‬ ‫ی‬ ‫. در ای‬ ‫د ﻝ ‪APPLET‬‬ ‫آ در‬ ‫ی‬ ‫‪ HTML‬آ‬ ‫ی .‬ ‫ه‬ ‫آ ،‬ ‫‪ HTML‬را آ ‪ Simple Applet‬را اﺝ ا‬ ‫>‪<html‬‬ ‫>‪<body‬‬ ‫>002=‪<applet code=YOURFILENAME.class width=200 height‬‬ ‫>‪</applet‬‬ ‫>‪</body‬‬ ‫>‪</html‬‬ ‫ری‬ ‫آ‬ ‫ه‬ ‫ی‬ ‫وع‬ ‫آ‬ ‫رات ‪ width‬و‪ height‬و‬ ‫د‬ ‫از ای‬ ‫.‬ ‫ا‬ ‫ی ی‬ ‫ی‬ ‫د. د ﻝ ‪ APPLET‬در‬ ‫ار‬ ‫د‬ ‫رد ا‬ ‫ی را ر اري آ‬ ‫ای‬ ‫د و‬ ‫ن را اﺝ ا‬ ‫ور‬ ‫ا‬ ‫ی را ای د آ دی ،‬ ‫ای‬ ‫اي اﺝ اي ‪SimpleApplet‬‬ ‫د.‬ ‫د آ ‪ SimpleApplet‬اﺝ ا‬ ‫م ای ر‬ ‫.ا‬ ‫ل،‬ ‫ان‬ ‫ی .‬ ‫را اﺝ ا‬ ‫ی ‪HTML‬‬ ‫ه‬ ‫ا‬ ‫،‬ ‫ری‬ ‫ه‬ ‫ی‬ ‫ي ، ‪SimpleApplet‬‬ ‫ن‬ ‫ﺥ‬ ‫،‬ ‫ا‬ ‫را ‪RunApp.html‬‬ ‫ی ‪HTML‬‬ ‫ا‬ ‫آ :‬ ‫را اﺝ ا‬ ‫‪C:>appletviewer Runnapp.html‬‬ ‫ي ی‬ ‫ده در‬ ‫را ا ای‬ ‫ز ی‬ ‫وﺝ د دارد آ‬ ‫ر را‬ ‫ا ، ی روش‬ ‫. ی‬ ‫د ﻝ ‪APPLE‬‬ ‫آ در‬ ‫)‪(comment‬‬ ‫ﺝ واي ﺥ د ی‬ ‫آ‬ ‫ری‬ ‫ا‬ ‫دو‬ ‫زي‬ ‫وري‬ ‫رات ‪HTML‬‬ ‫ی اﻝ ي د‬ ‫،آ‬ ‫رد‬ ‫ﺝ واي ﺥ د‬ ‫ی آ‬ ‫ری‬ ‫ه‬ ‫وع‬ ‫ﺥ د را‬ ‫ی‬ ‫آ‬ ‫ار زی‬ ‫‪Simple Applet‬‬ ‫، ی‬ ‫آ‬ ‫د‬ ‫از ای روش ا‬ ‫ار ده . ا‬ ‫ز ی‬ ‫د:‬ ‫ﺥ اه‬
  • 300. import java.awt.*; import java.applet.*; public class SimpleApplet extends Applet { public void paint(Graphics g ){ g.drwString:"A Simple Applet"/ 20 .20); } } ‫ار را اﺝ ا‬ ‫د از ای‬ ‫ا‬ ‫ری‬ ‫ی‬ ‫از‬ ‫ا‬ ‫در آ‬ : ‫ی‬ . ‫ی‬ ‫ﺝ وا وی ای‬ ‫ی‬ ‫( ی‬iterate) : 1 . ‫ی آ‬ ‫ا ن را آ‬ :٢ . ‫ی‬ ‫ا ن را‬ ‫ری‬ ‫م ی‬ ، ‫د‬ ‫را اﺝ ا‬ ‫ری‬ ‫ه‬ :٣ ‫را اﺝ ا‬ ‫و ری‬ ‫اﺝ‬ APPLET ‫د ﻝ‬ ‫، داﺥ‬ ‫ری‬ ‫ه‬ ‫زی‬ ‫ه‬ ‫ری‬ ، SimpleApplet ‫ﻝ‬ .‫د‬ ‫ﺥ اه‬ : ‫رت زی‬ ‫در‬ ‫ی‬ | >< |< | _ |_ ...| pplet Viewer SSimp | Applet | | A Simple Applet | | | | | | | | Applet started .| :‫از‬ ‫ر‬ ، ‫ع د دا‬ ‫ی در ای‬ ‫آ‬ ‫تا‬ ‫ری‬ ‫ه‬ ‫ی‬ ‫ه ی‬ ‫)( ار . ری‬main ‫روش‬ ‫زي‬ ‫ه‬ ‫ری‬ ‫ ﺝ ی ن ﺝ وا‬I/o ‫ي‬ ‫آ‬ ‫. ار‬ ‫ﺝ وا اﺝ ا‬ ‫ز ر‬ ‫ور‬ ‫( ی ی‬applet viewer) .‫ه‬ ‫ض ، ری‬ ‫د. در‬ ‫اﺝ ا‬
  • 301. ‫ﺵ ‪Multithreaded programming‬‬ ‫آ‬ ‫چ‬ ‫ی‬ ‫را‬ ‫آ‬ ‫ی‬ ‫آ ر از‬ ‫ي ، ﺝ وا ،‬ ‫يآ‬ ‫ی ز‬ ‫ﺥ ف‬ ‫ا‬ ‫دو ی‬ ‫)‪ (multithreaded‬در‬ ‫آ‬ ‫آ .ی‬ ‫اه‬ ‫ی‬ ‫اي را ی‬ ‫از‬ ‫.ه‬ ‫ن اﺝ ا‬ ‫رن و ه‬ ‫رت‬ ‫ا‬ ‫آ‬ ‫ای ،‬ ‫ی.‬ ‫ی‬ ‫از اﺝ ا‬ ‫ﺝا‬ ‫ا ی‬ ‫آ ه‬ ‫‪thread‬‬ ‫ر‬ ‫.‬ ‫اي )‪ (multitasking‬ا‬ ‫و‬ ‫از ه ن‬ ‫ی‬ ‫آ‬ ‫ع‬ ‫رن از ای‬ ‫هي‬ ‫، زی ا آ‬ ‫ه‬ ‫اي‬ ‫و‬ ‫م‬ ‫.‬ ‫آ‬ ‫اي وﺝ د دارد :‬ ‫و‬ ‫ا از‬ ‫دو ع‬ ‫وت‬ ‫آ‬ ‫. )‪ (thread-based‬زم ا‬ ‫ي‬ ‫دازش )‪ (process-based‬و‬ ‫ي‬ ‫. ی‬ ‫ل اﺝ ا ا‬ ‫در‬ ‫ی‬ ‫دازش از‬ ‫ی .ی‬ ‫ای دو را درك‬ ‫را‬ ‫دو ی‬ ‫ده‬ ‫ن‬ ‫ا‬ ‫آ‬ ‫دازش‬ ‫ي‬ ‫اي‬ ‫و‬ ‫،‬ ‫ا ن‬ ‫دازش‬ ‫ي‬ ‫اي‬ ‫و‬ ‫ل‬ ‫ان‬ ‫ی .‬ ‫ن اﺝ ا‬ ‫ون و ه‬ ‫ر‬ ‫د‬ ‫ا‬ ‫از ی وی ای‬ ‫ا‬ ‫ی ﺝ وا و در ه ن ز ن‬ ‫اﺝ اي آ‬ ‫در‬ ‫ده‬ ‫آ‬ ‫آيا‬ ‫ی وا‬ ‫،آ‬ ‫دازش ، ی‬ ‫ي‬ ‫اي‬ ‫و‬ ‫ی . در‬ ‫د )‪. (dispatched‬‬ ‫)‪ (scheduler‬زی‬ ‫ز‬ ‫. ای‬ ‫ا‬ ‫زی ، ه ن‬ ‫آ‬ ‫ی وا‬ ‫،آ‬ ‫ي‬ ‫اي‬ ‫و‬ ‫در ی‬ ‫ان‬ ‫ا م ده .‬ ‫رادر ن وا‬ ‫ی و‬ ‫ا دو ی‬ ‫د‬ ‫آ ی‬ ‫ا‬ ‫ان‬ ‫،‬ ‫ا‬ ‫پ‬ ‫ل‬ ‫آ‬ ‫ا در ه ن ز‬ ‫، ی وی ای‬ ‫. ی‬ ‫اﺝ ا‬ ‫ﺝا‬ ‫دو‬ ‫ای دو‬ ‫دا‬ ‫دازد ، اﻝ‬ ‫آ دن ی‬ ‫ﻝ‬ ‫و آ ر دارد در‬ ‫رگ"‬ ‫وی‬ ‫"‬ ‫دازش‬ ‫ي‬ ‫اي‬ ‫و‬ ‫،‬ ‫ما‬ ‫آ‬ ‫و‬ ‫هي‬ ‫آ‬ ‫ت آ ره را ادار‬ ‫ﺝ‬ ‫ي‬ ‫اي‬ ‫و‬ ‫و ی‬ ‫در ا‬ ‫داز‬ ‫.‬ ‫ه‬ ‫آ‬ ‫و‬ ‫ي‬ ‫داز‬ ‫ی‬ ‫ي در‬ ‫آ‬ ‫داز‬ ‫ت‬ ‫. ار‬ ‫ﺥص ﺥ د ن‬ ‫ه ي درس ﺝ ا‬ ‫ز‬ ‫آ‬ ‫ه‬ ‫‪(context‬‬ ‫ی‬ ‫و را‬ ‫آر‬ ‫ود ا‬ ‫و‬ ‫ه ی‬ ‫)‪ (Interprocess‬ا‬ ‫.‬ ‫ه‬ ‫ض‬ ‫. در‬ ‫ه ی ا‬ ‫دازش دی‬ ‫دازش‬ ‫)‪ switching‬از ی‬
  • 302. ‫و‬ ‫دازش‬ ‫ه ن‬ ‫رآ‬ ‫رت‬ ‫و‬ ‫ا‬ ‫اك‬ ‫ن درس را ا‬ ‫يی‬ ‫ی‬ ‫ی‬ ‫و را‬ ‫ه )‪ (Interthread‬ارزان ا‬ ‫ت‬ ‫ار . ار‬ ‫اك‬ ‫ا‬ ‫را‬ ‫اي‬ ‫و‬ ‫ي‬ ‫ه ي ﺝ وا از‬ ‫.ا‬ ‫آ ه ی ا‬ ‫دی‬ ‫از ی‬ ‫.‬ ‫آ ل ﺝ وا‬ ‫ي دازش‬ ‫اي‬ ‫و‬ ‫،ا‬ ‫آ‬ ‫د‬ ‫ي دازش ه ا‬ ‫اﺝ ز‬ ‫آ دن‬ ‫آ‬ ‫د.‬ ‫ار‬ ‫آ ل‬ ‫آ‬ ‫اي‬ ‫و‬ ‫ا‬ ‫،‬ ‫د از ‪ cpu‬را دا‬ ‫ا‬ ‫اآ‬ ‫آ‬ ‫ی‬ ‫ﺙ و آ را‬ ‫ر‬ ‫هی‬ ‫ده‬ ‫ص در‬ ‫ده . ای ا‬ ‫آه‬ ‫ا‬ ‫ز ن ﺥ ﻝ ‪ idle time‬را‬ ‫زی ا‬ ‫، زی ا در ای‬ ‫ا‬ ‫اه‬ ‫آ‬ ‫اي آ ﺝ وا در ن آ ر‬ ‫اي‬ ‫ﻝ و‬ ‫وا‬ ‫ی‬ ‫در‬ ‫خ ا ل داد روي ی‬ ‫ل،‬ ‫ان‬ ‫.‬ ‫ر زی د ا‬ ‫ه ز ن ﺥﻝ‬ ‫ي‬ ‫آ‬ ‫ی ي‬ ‫.‬ ‫ا‬ ‫رآ‬ ‫دازش آ‬ ‫خ‬ ‫ﺥ‬ ‫، ورودي آ ر‬ ‫و اﻝ‬ ‫و‬ ‫ی،ﺥ ا‬ ‫دازش‬ ‫‪ cpu‬در ا‬ ‫فو‬ ‫آ‬ ‫از‬ ‫،‬ ‫. در ی‬ ‫م ﺥ اه‬ ‫ا‬ ‫آ‬ ‫" زی دي را‬ ‫‪ cpu‬ز ن‬ ‫ا‬ ‫ا م اﺝ اي و ی‬ ‫را‬ ‫ي‬ ‫و از ن‬ ‫آ ل‬ ‫ري را‬ ‫ای ز ن‬ ‫ه‬ ‫اﺝ ز‬ ‫آ‬ ‫.‬ ‫ر‬ ‫59 ‪ windows‬ی‬ ‫هي‬ ‫اي‬ ‫ل‬ ‫ی . ا‬ ‫د‬ ‫ا‬ ‫.‬ ‫ه‬ ‫آ‬ ‫ی‬ ‫،‬ ‫آ د‬ ‫ی‬ ‫‪windows NT‬‬ ‫ن‬ ‫آ دن را‬ ‫آ‬ ‫آ ،‬ ‫ی ی‬ ‫ه را‬ ‫آ ﺝ وا‬ ‫ص ای‬ ‫ا‬ ‫.‬ ‫زد، زی ا‬ ‫‪The Main Thread‬‬ ‫ا‬ ‫ل اﺝ ا وﺝ د دارد. ای‬ ‫در‬ ‫از ن ، ی‬ ‫د،‬ ‫وع‬ ‫ﺝ وا‬ ‫ی‬ ‫و‬ ‫ﺥ اه‬ ‫. زی و‬ ‫ی ‪main thread‬‬ ‫ا‬ ‫را‬ ‫آ‬ ‫ا‬ ‫. ای ه ن‬ ‫ا‬ ‫ر‬ ‫دودﻝ‬ ‫ا‬ ‫.‬ ‫ا‬ ‫اﺝ ا‬ ‫د ، ای‬ ‫وع‬ ‫م‬ ‫آ اﺝ ا را‬ ‫ی ﺥ ی‬ ‫. ای‬ ‫ز )‪ (child‬از ن‬ ‫هي‬ ‫ی‬ ‫.‬ ‫ﺥ اه ی‬ ‫ﺥ‬ ‫د،‬ ‫ا‬ ‫آ‬ ‫آ .و‬
  • 303. ‫د،ا‬ ‫ر ﺥ دآ ر ای د‬ ‫ا‬ ، ‫آ‬ ‫ز‬ ‫ا ن را‬ ‫ه‬ ‫ا‬ ‫روش‬ ‫اﺥ ا‬ ‫اي ا م ای ر ، ی‬ .‫د‬ ‫ آ ل‬Thread ‫ی ی‬ ‫ان ن را از‬ . ‫وری‬ ‫ن‬ ‫، ی ارﺝ ع‬ ‫ ا‬thread ‫ از‬public static ‫ آ ی‬currentthread() : ‫رت زی‬ ‫ن‬ staticThreadcurrentThread() ‫دا . ه رآ ارﺝ‬ ‫را‬ ‫ا‬ ‫اﺥ ا‬ ‫آ در ن‬ ‫ای روش ی ارﺝ ع‬ ‫ی‬ ‫آ ل در وری . اﺝ ز ده‬ ‫ي‬ ‫دی‬ ‫ه‬ ‫ن را‬ ‫ا‬ ، ‫ای د آ‬ ‫ا‬ : ‫وع آ‬ ‫ل‬ // Controlling the main Thread. class CurrentThreadDemo { public static void main(String args[] ){ Thread t = Thread.CurrentThread(); System.out.println("Current thread :" + t); // change the name of the thread t.setName("My Thread"); System.out.println("After name change :" + t); try { for(int n = 5; n > 0; n-- ) { System.out.println(n); Thread.sleep(1000); } } catch( InterruptedException e ){ System.out.println("Main thread interrupted"); } } } ‫راﺥ ا‬ ( ‫ا‬ ‫،ه ن‬ ‫ﻝ‬ ‫ﺝ ري ) در ای‬ ‫، ی ارﺝ ع‬ ‫در ای‬ ‫ت در ر‬ ‫ا‬ ‫د‬ ‫ ذﺥ‬t ‫و در‬ currentThread () ‫ی‬ ‫را‬ ‫م داﺥ‬ ‫آ‬ ‫اﺥ ا‬ ‫ را‬etName() . ‫ده‬ ‫ی‬ ‫را‬ ‫س‬ ‫رش‬ ٥‫د‬ ‫از‬ ‫،ی‬ . ‫ی‬ ‫در‬ ‫ی‬ ‫دا‬ ‫ت در ر‬ ‫ی.ا‬ .‫د‬ ‫ ا م‬sleep() ‫روش‬ ‫ق‬ . ‫آ‬ ‫ه دو ﺥ ی ﺙ‬ ‫آ و‬
  • 304. ‫ك‬ ‫آ‬ ‫آ‬ ‫.د‬ ‫ا‬ ‫ﺙ‬ ‫ﺥ‬ ‫دور‬ ‫آ‬ ‫)(‪sleep‬‬ ‫ن‬ ‫ر‬ ‫ی‬ ‫ا‬ ‫. روش )(‪ sleep‬در ‪Thread‬‬ ‫آ د ا‬ ‫را ا‬ ‫‪ try/catch‬ای‬ ‫ق‬ ‫اه در ای‬ ‫ه ي دی‬ ‫ﺥ از‬ ‫ی.ا‬ ‫ب‬ ‫‪ InterruptedException‬را‬ ‫پ‬ ‫م را‬ ‫د،ی‬ ‫د رو‬ ‫لا‬ ‫. ای‬ ‫ا‬ ‫ا ق‬ ‫ﻝ‬ ‫ی ،‬ ‫اﺥ ل‬ ‫ﻝ‬ ‫ی . ﺥ وﺝ‬ ‫ر دی ي ادار‬ ‫را‬ ‫ﻝ‬ ‫، ی ای‬ ‫وا‬ ‫آ . در ی‬ ‫:‬ ‫ار زی‬ ‫ای‬ ‫]‪Current thread :Thread[main/5/main‬‬ ‫]‪After name change :Thread[My Thread/5/main‬‬ ‫5‬ ‫4‬ ‫3‬ ‫2‬ ‫1‬ ‫د.‬ ‫ﻝ‬ ‫د ، ﺥ وﺝ‬ ‫د‬ ‫)( ‪ println‬ا‬ ‫ن‬ ‫ر‬ ‫ان ی‬ ‫‪t‬‬ ‫آ و‬ ‫آ‬ ‫د‬ ‫ده :‬ ‫ی‬ ‫ي را‬ ‫ارد‬ ‫ای ﺥ وﺝ‬ ‫م‬ ‫.‬ ‫‪ main‬ا‬ ‫ا‬ ‫ض، م‬ ‫ر‬ ‫ن.‬ ‫و‬ ‫م ن،و م‬ ‫،‬ ‫م‬ ‫ان‬ ‫ه آ ای‬ ‫وه از‬ ‫م‬ ‫،ه‬ ‫ض‬ ‫اري‬ ‫آ‬ ‫ن٥ا‬ ‫ﻝ ی‬ ‫آ‬ ‫ﺥ ر داد ا‬ ‫ع‬ ‫‪ Threadgroup‬ی‬ ‫و‬ ‫.ی‬ ‫، ه ن ‪main‬‬ ‫ا‬ ‫ی ی‬ ‫اﺝ اي ﺥ‬ ‫دازش‬ ‫آ . ای‬ ‫آ ل‬ ‫رآ‬ ‫ه را‬ ‫از‬ ‫دا‬ ‫، ‪t‬‬ ‫ی‬ ‫م‬ ‫از ای‬ ‫د.‬ ‫ار‬ ‫ر‬ ‫رد‬ ‫و در ای‬ ‫ي‬ ‫رو‬ ‫ه د‬ ‫ی . اﺝ ز ده‬ ‫در‬ ‫ی‬ ‫د . در ای ز ن ، م ﺝ ی‬ ‫. روش )(‪sleep‬‬ ‫ا ، دا‬ ‫د‬ ‫ا‬ ‫‪ Thread‬آ در‬ ‫ی‬ ‫ر‬ ‫ﺙ‬ ‫از‬ ‫ت‬ ‫اي‬ ‫، اﺝ ا را‬ ‫اﺥ ا‬ ‫آ از ن‬ ‫د‬ ‫:‬ ‫رت زی ا‬ ‫ن‬ ‫ی.‬ ‫‪static void sleep( long miliseconds )Throws InterruptedException‬‬ ‫د . ای روش‬ ‫ﺙ‬ ‫د‬ ‫م‬ ‫ا‬ ‫ی‬ ‫هی آ‬ ‫ﺙ‬ ‫اد‬ ‫دوم ه دارد‬ ‫ی . روش )( ‪ sleep‬ی‬ ‫ب‬ ‫ی ‪ InterruptedException‬را‬ ‫ا‬
  • 305. ‫و ‪nanoseconds‬‬ ‫ﺙ‬ ‫ت ز ن را‬ ‫ه‬ ‫اﺝ ز‬ ‫ه و‬ ‫ن‬ ‫ا‬ ‫آ‬ ‫.‬ ‫ی‬ ‫‪static void sleep( long miliseconds/ int nanoseconds )Throws Interupt‬‬ ‫‪Exception‬‬ ‫را‬ ‫ي دور ه ي ز‬ ‫نز‬ ‫آ ا‬ ‫ا‬ ‫ی‬ ‫اي‬ ‫دوم‬ ‫ای‬ ‫د از‬ ‫ا‬ ‫ا‬ ‫ده ،‬ ‫ن‬ ‫ری‬ ‫‪ nanoseconds‬دار . ه‬ ‫را‬ ‫می‬ ‫ا‬ ‫)(‪getName‬‬ ‫اﺥ ا‬ ‫آ .‬ ‫را‬ ‫)(‪ setName‬م ی‬ ‫آ س‬ ‫ا‬ ‫(. ای رو‬ ‫ا‬ ‫ن داد‬ ‫آ ای روی در‬ ‫ﺝ آ‬ ‫وری ) ا‬ ‫:‬ ‫ن‬ ‫رت زی ا‬ ‫و‬ ‫‪ Thread‬ه‬ ‫)‪final void setName( string ThreadName‬‬ ‫‪final string getName‬‬ ‫ای د ی‬ ‫را ﺝ د وری .‬ ‫ی‬ ‫ا‬ ‫از ع ‪Thread‬‬ ‫زي ی‬ ‫د ،‬ ‫ز نﺥ‬ ‫زي‬ ‫د‬ ‫‪ Runnable‬را‬ ‫را‬ ‫ا‬ ‫ی :‬ ‫ی‬ ‫اي ا م ای ر‬ ‫ﺝ وا دو‬ ‫ر‬ ‫ق را‬ ‫هي‬ ‫ده . ه آ ام از‬ ‫ﺥ د آ س ‪ Thread‬را‬ ‫ا‬ ‫ی .‬ ‫آ .‬ ‫زي ‪Runnable‬‬ ‫پ د‬ ‫ی .‬ ‫زي‬ ‫د‬ ‫‪ Runnable‬را‬ ‫آ را‬ ‫ای د ی آ س ا‬ ‫ای د ی‬ ‫ی‬ ‫آ ‪Runnable‬‬ ‫روي ه‬ ‫ا‬ ‫آ .‬ ‫د‬ ‫‪ Runnable‬ی واﺝ از آ اﺝ ای را‬ ‫زم ا‬ ‫زي ‪ Runnable‬ی آ س‬ ‫د‬ ‫اي‬ ‫زی .‬ ‫ی ،ی‬ ‫زي‬ ‫د‬ ‫را‬ ‫ی:‬ ‫زي‬ ‫د‬ ‫ن‬ ‫رت زی ا‬ ‫)(‪ run‬را آ‬ ‫م‬ ‫ی روش‬ ‫)(‪public abstract void run‬‬
  • 306. ‫ا‬ run() ‫آ‬ ‫ا‬ ‫ا‬ . ‫ی‬ ‫ی‬ run() ‫زی را داﺥ‬ ‫ﺝ ی را‬ ‫آيآ‬ ‫ه ی در‬ ‫ی و‬ ‫د‬ ‫ا‬ ‫ی آ‬ ‫از‬ ‫آ ،ه‬ ‫اﺥ ا‬ ‫را‬ ‫ی رو‬ ‫ن‬ ‫ه‬ ‫دی‬ ‫اي‬ ‫ورودي‬ run () ‫آ‬ ‫وت در ای ا‬ . ‫ی‬ ‫ن‬ ‫را ا‬ ‫ا‬ ‫از‬ .‫د‬ ‫دد ، ی ن‬ run() ‫و‬ ‫آ . ای‬ ‫را‬ ‫اﺝ ا داﺥ‬ Thread ‫از ع‬ ‫دی ، ی ی‬ ‫آ ، ای د‬ ‫زي‬ ‫ را د‬Runnable ‫ی آ س آ‬ ‫ای‬ ‫از‬ ‫آ .ی‬ ‫ی‬ ‫را‬ ‫ز‬ ‫ی‬ . Thread ‫زي آ‬ ‫از داﺥ ه ن آ س‬ : ‫رت زی ا‬ ‫ار‬ ‫د‬ ‫رد ا‬ ‫آ‬ Thread( Runnable threadOb/ string threadName) ‫آ‬ ‫زي‬ ‫ را د‬Runnable ‫آ را‬ ‫از آ س ا‬ ‫ ی‬threadOb ، ‫ز‬ ‫درای‬ ‫ﺝی‬ ‫آ . م‬ ‫ی‬ ، ‫وع ﺥ اه‬ ‫را آ‬ ‫، ﺝی‬ ‫ز‬ ‫. ای‬ ‫ ن را آ‬start() ‫روش‬ ‫ز‬ ‫ن‬ ‫از ای د‬ ‫ﺝی‬ .‫د‬ ThreadName ‫ی‬start() ، ‫ذا‬ ‫آ . از‬ ‫وع ﺝ ا‬ ، ‫اﺥ ا‬ ، ‫ن‬ ‫ ا‬Thread ‫داﺥ‬ : ‫ن داد ای‬ ‫ را در زی‬start() ‫آ . روش‬ ‫ را اﺝ ا‬run() ‫اﺥ ا‬ synchronized void start() : ‫آ‬ ‫وع‬ ‫د و اﺝ اي ن را‬ ‫ﺝ ی ای د‬ ‫ﻝ وﺝ د دارد آ ی‬ ‫در ای‬ // Create a second thread. class NewThread implements Runnable { Thread t; NewThread (){ // Create a new/ second thread t = new Thread(this/ "Demo Thread"); System.out.println("Child thread :" + t); t.start)(; // Start the thread } // This is the entry point for the second thread. public void run (){ try { for(int i = 5; i > 0; i )--{ System.out.println("Child Thread :" + i);
  • 307. Thread.sleep(500); } } catch( InterruptedException e ){ System.out.println("Child interrupted."); } System.out.println("Exiting child thread."); } } class ThreadDemo { public static void main(String args[] ){ new NewThread)(; // create a new thread try { for(int i = 5; i > 0; i )--{ System.out.println("Main Thread :" + i); Thread.sleep(1000); } } catch( InterruptedException e ){ System.out.println("Main thread interrupted."); } System.out.println("Main thread exiting."); } } : ‫ا‬ ‫ي ای د‬ ‫ر‬ ‫د از د‬ ‫ا‬ ‫ ﺝ ی‬Thread ‫ ی‬New Thread ‫ز‬ ‫درون‬ t = new Thread(this/ "Demo Thread"); ‫را‬run() ‫ﺝ ی روش‬ ‫ﺥ اه‬ ‫ده آ‬ ‫ن‬ ‫ن‬ ‫ر‬ ‫ان اوﻝ‬ this ‫ر دادن‬ ‫وع آ ر را‬ ‫اﺝ اي‬ ‫د،آ‬ ‫اﺥ ا‬ start() .‫ی‬ ‫اﺥ ا‬ this ‫روي‬ ‫از‬ .‫د‬ ‫ز‬ ‫ز‬ for ‫دآ‬ ‫آ . ای‬ ‫ز‬ run() ‫در روش‬ ‫آ‬ ‫دد. و‬ main() New Thread ‫ط‬ ‫ز‬ ، start() ‫اﺥ ا‬ cpu ، ‫ده‬ ‫اﺝ ا را ادا‬ ‫آ . ه دو‬ ‫ ﺥ د را وارد‬for ،‫د‬ ‫از‬ ‫ار‬ ‫ای‬ ‫ﻝ‬ ‫. ﺥ وﺝ‬ ‫هی ن ین‬ ‫ای‬ ‫ا‬ ‫اك‬ ‫را‬ : ‫زی ا‬ Child thread :Thread[Demo Thread/5/main] Main Thread :5
  • 308. Child Thread :5 Child Thread :4 Main Thread :4 Child Thread :3 Child Thread :2 Main Thread :3 Child Thread :1 Exiting child thread. Main Thread :2 Main Thread :1 Main thread exiting. ‫آ اﺝ ا‬ ‫ی ﺥ ی‬ ‫ا‬ ، ‫آ‬ ‫، در ی‬ ‫ری‬ ‫ه‬ ،‫د‬ ‫د ، ین‬ ‫ز آ‬ ‫ی‬ ‫از ای‬ ‫ا‬ ‫ده . ا‬ ‫را ی ن‬ ‫ا‬ ‫ده آ‬ ‫ن‬ ‫ا‬ . ‫" در ی‬hang" ‫ﻝ‬ ‫اﺝ اي ﺝ وا‬ ‫ا‬ ‫ق‬ ‫اره‬ ‫ﺙ‬ ١٠٠٠ ‫اي‬ ‫ا‬ ‫د زی ا‬ ‫ین‬ ‫آ‬ ‫ا‬ ‫ﺥ ی‬ ‫ز‬ ‫دآ‬ ‫. ای‬ ‫ق‬ ‫ﺙ‬ ٥٠٠ ‫ز‬ ‫ﻝ‬ ‫در‬ ‫ﺥ از ه‬ ‫ا‬ ‫ن از ای‬ ‫ي اي ا‬ ‫، را‬ ‫د. ﺥ‬ ‫ین‬ ‫ا‬ ‫از‬ ‫زود‬ . ‫د ﺥ اه ی‬ ‫ین‬ ‫ی‬ ‫داد و‬ ‫ را‬Thread ‫آ‬ ‫، ای د ی آ س ﺝ ی ا‬ ‫ای د ی‬ ‫دو‬ ‫ﺥ‬ ‫ی ،آ‬ ‫)( را ﻝ‬run ‫ی روش‬ ‫ده‬ ‫آ .آ س‬ ‫از ه ن آ س ای د‬ ‫ﺝی‬ ‫اﺝ اي‬ ‫آ‬ ‫اﺥ ا‬ ‫)( را‬start ‫ی‬ ‫. ای آ س ه‬ ‫ﺝی ا‬ ‫اي‬ (entry) . ‫ده‬ ‫ را‬Thread ‫د ای‬ ‫ی‬ ‫را دو ر‬ ‫ی . در ای‬ ‫ز‬ ‫را‬ // Create a second thread by extending Thread. class NewThread extends Thread { NewThread (){ // Create a new/ second thread super("Demo Thread");
  • 309. System.out.println("Child thread :" + this); start)(; // Start the thread } // This is the entry point for the second thread. public void run (){ try { for(int i = 5; i > 0; i )--{ System.out.println("Child Thread :" + i); Thread.sleep(500); } } catch( InterruptedException e ){ System.out.println("Child interrupted."); } System.out.println("Exiting child thread."); } } class ExtendThread { public static void main(String args[] ){ new NewThread(); // create a new thread try { for(int i = 5; i > 0; i )--{ System.out.println("Main Thread :" + i); Thread.sleep(1000); } } catch( InterruptedException e ){ System.out.println("Main thread interrupted."); } System.out.println("Main thread exiting."); } } ‫ز‬ ‫ری‬ ‫آ .ه‬ ‫ﻝ‬ ‫را‬ ‫ه ن ﺥ وﺝ‬ ‫ای‬ ‫اﺥ ا‬ .‫د‬ ‫، ای د‬ Thread ‫ آ از‬NewThread ‫زي ی‬ ‫آ‬ ‫ل‬ ‫ را‬Trhead ‫ز‬ ‫ي‬ ‫ی . ای ا‬ ‫ د‬NewThread ‫ داﺥ‬super () . public thread( string threadName)
  • 310. ‫آ‬ ‫ا‬ ‫بی‬ ‫آ .ا‬ ‫را‬ ‫ ، م‬Thread Name ‫در ای‬ Thread ‫. آ س‬ ‫ا‬ ‫آ ام‬ ‫ز دارد و ای‬ ‫اي ای د‬ ‫ا ﺝ وا دو‬ ‫آ‬ ‫. از ای رو‬ ‫ﻝ‬ ‫ا‬ ‫ی آ س‬ ‫آ آ‬ ‫ی‬ ‫ی روش را‬ Runnable ‫آ و‬ ‫ا‬ ‫ه ن رو‬ ‫. ای روش اﻝ‬ ‫ ا‬run() ‫د‬ ‫ی ﻝ‬ ، ‫آ نآ‬ ‫آ‬ ‫س‬ ‫ی ن ﺝ وا ا‬ ‫ري از‬ . ‫زم ا‬ ‫زي‬ ‫د‬ ‫را‬ ‫ﺥ اه ه‬ ‫ای ا‬ . ‫ی‬ ‫، ی‬ ‫نه‬ ‫ح‬ ‫ی ا‬ ‫ل ا ای‬ ‫در‬ ‫و‬ .‫دارد‬ ‫د‬ ‫ﺥ‬ ‫ا‬ ‫ی ،ا‬ ‫ را ﻝ‬thread ‫ي‬ ‫ی رو‬ ‫از‬ ‫هيچ‬ ‫ای د‬ ‫اد‬ ‫ا‬ ، ‫ز .ا‬ ‫و‬ ‫ا‬ : ‫د ای‬ ‫د‬ ‫را ا‬ ‫دو‬ ‫ل‬ : ‫آ‬ ‫ز ای د‬ ‫ي‬ ،‫ل‬ ‫ان‬ . ‫ی‬ ‫ه‬ ‫رد ز از‬ // Create multiple threads. class NewThread implements Runnable { String name; // name of thread Thread t; NewThread(String threadname ){ name = threadname; t = new Thread(this/ name); System.out.println("New thread :" + t); t.start(); // Start the thread } // This is the entry point for thread. public void run (){ try { for(int i = 5; i > 0; i )--{ System.out.println(name + " :" + i); Thread.sleep(1000); } } catch( InterruptdException e ){ System.out.println(name + " Interrupted."); }
  • 311. System.out.println(name + " exiting."); } } class MultiThreadDemo { public static void main(String args[] ){ new NewThread("One"); // start threads new NewThread("Two"); new NewThread("Three"); try { // wait for other threads to end Thread.sleep(10000); } catch( InterruptedException e ){ System.out.println("Main thread Interrupted"); } System.out.println("Main thread exiting."); } } : ‫ار زی‬ ‫از ای‬ ‫ﺥ وﺝ‬ New thread :Thread[One/5/main] New thread :Thread[Two/5/main] New thread :Thread[Three/5/main] One :5 Two :5 Three :5 One :4 Two :4 Three :4 One :3 Three :3 Two :3 One :2 Three :2 Two :2 One :1 Three :1 Two :1
  • 312. ‫.‪One exiting‬‬ ‫.‪Two exiting‬‬ ‫.‪Three exiting‬‬ ‫.‪Main thread exiting‬‬ ‫ار‬ ‫اك‬ ‫ا‬ ‫ز ، ‪ cpu‬را‬ ‫،ه‬ ‫ز‬ ‫رآ‬ ‫،ه‬ ‫ری‬ ‫ه‬ ‫اي‬ ‫ا‬ ‫د آ‬ ‫ی . ای‬ ‫٠٠٠٠١‪ sleep‬در ‪ main‬ر د‬ ‫اﺥ ا‬ ‫ی .‬ ‫ین‬ ‫ده آ ﺥ از ه‬ ‫ن‬ ‫وا‬ ‫ق‬ ‫٠١ﺙ‬ ‫د از ‪ ()isAlive‬و‪()join‬‬ ‫ا‬ ‫، ای ر‬ ‫ﻝ ي‬ ‫د. در‬ ‫ین‬ ‫آ‬ ‫ی ﺥ ی‬ ‫ا‬ ‫،‬ ‫ذآ‬ ‫ری‬ ‫ه‬ ‫آ‬ ‫ن از ای‬ ‫اي ا‬ ‫آ‬ ‫ﺥ‬ ‫‪ ()sleep‬داﺥ ‪ ()main‬ی‬ ‫اﺥ ا‬ ‫را‬ ‫را‬ ‫ای‬ ‫م دادی . اﻝ‬ ‫،ا‬ ‫ین‬ ‫ا‬ ‫از‬ ‫ز‬ ‫هي‬ ‫ا از ی ن‬ ‫ی‬ ‫د:‬ ‫ا‬ ‫ال را‬ ‫ی‬ ‫در‬ ‫. ای را‬ ‫ا‬ ‫آ‬ ‫ا‬ ‫ن‬ ‫د آ‬ ‫اه‬ ‫اي‬ ‫‪ Thread‬و‬ ‫،ﺥ‬ ‫ه ی‬ ‫دی‬ ‫.‬ ‫ی‬ ‫ا‬ ‫ین‬ ‫آ ی ی‬ ‫آ‬ ‫وﺝ د دارد‬ ‫را ه .دو‬ ‫ای‬ ‫و‬ ‫ی‬ ‫‪Thread‬‬ ‫آ . ای روش‬ ‫اﺥ ا‬ ‫‪ ()isAlive‬را روي‬ ‫ا‬ ‫اول‬ ‫:‬ ‫رت زی‬ ‫ن‬ ‫آ‬ ‫)‪final boolean isAlive (Throws InterruptedException‬‬ ‫ار ‪ true‬را‬ ‫، روش )(‪isAlive‬‬ ‫ل اﺝ ا‬ ‫ن در‬ ‫ه‬ ‫اﺥ ا‬ ‫ی‬ ‫ا‬ ‫د‬ ‫)(‪isAlive‬‬ ‫ﻝ‬ ‫دا . در‬ ‫رت ‪ false‬را‬ ‫ای‬ ‫دا . در‬ ‫،‬ ‫ی‬ ‫اي ی ن ی‬ ‫د‬ ‫ار‬ ‫د‬ ‫رد ا‬ ‫ر رای‬ ‫آ‬ ‫، رو‬ ‫ا‬ ‫:‬ ‫رت زی‬ ‫آ‬ ‫)(‪ join‬ا‬ ‫)‪final void join (throws InterruptedException‬‬
  • 313. join() ‫ي دی ي از‬ .‫د‬ ‫ین‬ ‫آ روي ن اﺥ ا‬ ‫ای روش‬ ‫ی‬ ‫اي ی ن ی‬ ‫ﺥ اه‬ ‫آ‬ ‫ز‬ ‫اآ‬ ‫ه‬ ‫ده‬ ‫اﺝ ز‬ ‫وﺝ د دار آ‬ . ‫ی‬ ‫را‬ ‫آ‬ ‫ﺥص‬ ‫ن‬ ‫ا‬ ‫د آ د‬ ‫)( ا‬join ‫وﺝ د دارد آ از‬ ‫ل‬ ‫از‬ ‫ح‬ ‫ی روای ا‬ ‫در ای‬ ‫)( را‬isAlive ‫روش‬ ‫ه‬ ‫د . ای‬ ‫آ‬ ‫ا‬ ‫ﺥ ی‬ ‫ا‬ ‫ده آ‬ . ‫ده‬ ‫ن‬ // Using join )(to wait for threads to finish. class NewThread implements Runnable { String name; // name of thread Thread t; NewThread(String threadname ){ name = threadname; t = new Thread(this/ name); System.out.println("New thread :" + t); t.start(); // Start the thread } // This is the entry point for thread. public void run (){ try { for(int i = 5; i > 0; i-- ) { System.out.println(name + " :" + i); Thread.sleep(1000); } } catch( InterruptdException e ){ System.out.println(name + " Interrupted."); } System.out.println(name + " exiting."); } } class DemoJoin { public static void main(String args[] ){ NewThread ob1 = new NewThread("One"); NewThread ob2 = new NewThread("Two"); NewThread ob3 = new NewThread("Three"); System.out.println("Thread One is alive :" + ob1.t.isAlive))(;
  • 314. System.out.println("Thread Two is alive :" + ob2.t.isAlive))(; System.out.println("Thread Three is alive :" + ob3.t.isAlive))(; // wait for threads to finish try { System.out.println("Waiting for threads to finish."); ob1.t.join(); ob2.t.join(); ob3.t.join(); } catch( InterruptedException e ){ System.out.println("Main thread Interrupted"); } System.out.println("Thread One is alive :" + ob1.t.isAlive))(; System.out.println("Thread Two is alive :" + ob2.t.isAlive))(; System.out.println("Thread Three is alive :" + ob3.t.isAlive))(; System.out.println("Main thread exiting."); } } : ‫ار زی‬ ‫از ای‬ ‫ﺥ وﺝ‬ New thread :Thread[One/5/main] New thread :Thread[Two/5/main] New thread :Thread[Three/5/main] Thread One is alive :true Thread Two is alive :true Thread Three is alive :true One :5 Two :5 Three :5 One :4 Two :4 Three :4 One :3 Two :3 Three :3 One :2 Two :2 Three :2
  • 315. One :1 Two :1 Three :1 One exiting. Two exiting. Three exiting. One exiting. Thread One is alive :false Thread Two is alive :false Thread Three is alive :false Main thread exiting. resume() ‫ و‬suspend() ‫د از‬ ‫ا‬ ‫ان‬ ‫ﺝا‬ ‫د از ی‬ ‫ا‬ ‫ل‬ ‫ان‬ . ‫ی‬ ‫را ﻝ‬ ‫اﺝ اي ی‬ ‫زم ا‬ ‫ه‬ ‫ن ی‬ ‫ط‬ ، ‫ا‬ ‫د از‬ ‫ا‬ ‫ی‬ ‫آر‬ ‫ن داد. ا‬ ‫را‬ ‫و‬ ‫ر ا اﺥ‬ ‫.ه‬ ‫د اي ا‬ ‫آر‬ ‫دن ی‬ ‫،ﻝ‬ ‫ع نه‬ .‫د‬ ‫ﻝ‬ ‫از‬ ‫ر‬ ‫ه‬ ‫را ا م‬ ‫ی آ ای و و‬ ‫. رو‬ ‫د اي ا‬ ‫آر‬ ‫ﻝ‬ ‫دی‬ : ‫رت زی‬ ‫و‬ ‫ی‬ Thread . resume()‫و‬suspend() final void resume() final void suspend() : ‫ده‬ ‫ن‬ ‫را‬ ‫ي ای رو‬ // Using suspend ()and resume.() class NewThread implements Runnable {) String name; // name of thread Thread t; NewThread(String threadname ){ name = threadname; t = new Thread(this/ name); System.out.println("New thread :" + t);
  • 316. t.start()// Start the thread } // This is the entry point for thread. public void run (){ try { for(int i = 5; i > 0; i )--{ System.out.println(name + " :" + i); Thread.sleep(200); } } catch( InterruptdException e ){ System.out.println(name + " Interrupted ."); } System.out.println(name + " exiting."); } } class SuspendResume { public static void main(String args[] ){ NewThread ob1 = new NewThread("One"); NewThread ob2 = new NewThread("Two"); try { Thread.sleep(1000); ob1.t.suspend)( System.out.println("Suspending thread One"); Thread.sleep(1000); ob1.t.resume)( System.out.println("Resuming thread One"); ob2.t.suspend)( System.out.println("Suspending thread Two"); Thread.sleep(1000); ob2.t.resume)( System.out.println("Resuming thread Two"); } catch( InterruptedException e ){ System.out.println("Main thread Interrupted"); } // wait for threads to finish try { System.out.println("Waiting for threads to finish.");
  • 317. ob1.t.join)(; ob2.t.join)(; } catch( InterruptedException e ){ System.out.println("Main thread Interrupted"); } System.out.println("Main thread exiting."); } } : ‫آ‬ ‫ي را ﻝ‬ ‫ﺥ وﺝ‬ ‫ای‬ New thread :Thread[Two/5/main] One :15 New thread :Thread[Three/5/main] Two :15 One :14 Two :14 One :13 Two :13 One :12 Two :12 One :11 Two :11 Suspending thread One Two :10 Two :9 Two :8 Two :7 Two :6 Resuming thread One Suspending thread Two One :10 One :9 One :8 One :7 One :6 Resuming thread Two Waiting for threads to finish.
  • 318. ‫5: ‪Two‬‬ ‫5: ‪One‬‬ ‫4: ‪Two‬‬ ‫4: ‪One‬‬ ‫3: ‪Two‬‬ ‫3: ‪One‬‬ ‫2: ‪Two‬‬ ‫2: ‪One‬‬ ‫1: ‪Two‬‬ ‫1: ‪One‬‬ ‫.‪Two exiting‬‬ ‫.‪One exiting‬‬ ‫.‪Main thread exiting‬‬ ‫ي‬ ‫ﺕ‬ ‫ی‬ ‫ا‬ ‫ی اﺝ ز اﺝ ا‬ ‫د آ آ ام‬ ‫د‬ ‫د‬ ‫ا‬ ‫ز‬ ‫ي‬ ‫ي از‬ ‫،ز ن‬ ‫مآ‬ ‫ي داراي‬ ‫م‬ ‫ي داراي‬ ‫ري ،‬ ‫. از‬ ‫م‬ ‫و‬ ‫د،‬ ‫از ‪cpu‬‬ ‫آ ی‬ ‫ان و‬ ‫،‬ ‫. در‬ ‫‪ cpu‬را‬ ‫د‬ ‫اي را‬ ‫و‬ ‫ی‬ ‫ل ، ای‬ ‫ان‬ ‫ي ه دارد ) .‬ ‫دی‬ ‫ا‬ ‫م‬ ‫داراي‬ ‫.(ی‬ ‫ز ن ‪ cpu‬ﺙ دا‬ ‫ا روي د‬ ‫آ‬ ‫زي‬ ‫ی‬ ‫، و‬ ‫ان‬ ‫ی.‬ ‫م آ‬ ‫از ی‬ ‫ا‬ ‫ی‬ ‫ﻝ‬ ‫از‬ ‫د(‬ ‫از‬ ‫م‬ ‫وی‬ ‫ل اﺝ ا‬ ‫در‬ ‫مآ‬ ‫آ .‬ ‫مآ‬ ‫م‬ ‫ر روي ) ‪ I/o‬ای‬ ‫ا‬ ‫ا‬ ‫زم ا‬ ‫.ا‬ ‫‪ cpu‬دا‬ ‫دﻝ‬ ‫ی د‬ ‫م ا‬ ‫هي‬ ‫ري ،‬ ‫در‬ ‫ﺥ‬ ‫.‬ ‫ا‬ ‫ا‬ ‫از‬ ‫و‬ ‫اي آ ر در‬ ‫آ ﺝ وا‬ ‫. د دا‬ ‫.‬ ‫آ‬ ‫زي‬ ‫د‬ ‫،‬ ‫ی‬ ‫وت از‬ ‫اي را آ‬ ‫و‬ ‫،‬ ‫از‬ ‫. ای‬ ‫ی رآ ل‬ ‫ی ه‬ ‫ار‬ ‫اك‬ ‫ا‬ ‫را‬ ‫می‬ ‫هی آ‬ ‫،‬ ‫ای‬ ‫وا‬ ‫ن‬ ‫اي اﺝ ا‬ ‫ه ی‬ ‫ده آ آ‬ ‫ن‬ ‫ا‬ ‫ا‬ ‫وا‬ ‫ي‬ ‫در‬ ‫،‬ ‫. در‬ ‫)‪ (non-preemptive‬را ﺥ اه دا‬ ‫ﺥ‬ ‫ر‬ ‫ه‬ ‫ن دار ، زی ا اآ‬ ‫اﺝ ا‬ ‫نی‬ ‫ه ه‬ ‫، اآ‬
  • 319. ‫آ‬ ‫،‬ ‫ا‬ ‫ای ا ق‬ ‫.و‬ ‫اﺝ ﺥ اه‬ ‫اي ‪l/o‬‬ ‫ر‬ ‫ا‬ ‫زي‬ ‫ك‬ ‫ای‬ ‫را‬ ‫ﺥ اه اﺝ اي‬ ‫.ا ا‬ ‫اﺝ ا‬ ‫ا‬ ‫ه‬ ‫ی‬ ‫و‬ ‫ﻝ‬ ‫وﺝ د دار‬ ‫ﺥ ا اع و ی‬ ‫،‬ ‫.ه‬ ‫ی روي ای ا‬ ‫ا م ده ،‬ ‫ه ، ی‬ ‫ع از‬ ‫. روي ای‬ ‫ﺥ اه‬ ‫‪cpu‬‬ ‫هی‬ ‫ن‬ ‫‪ cpu‬دار‬ ‫ای‬ ‫آ‬ ‫.‬ ‫اﺝ ا‬ ‫ا‬ ‫ه‬ ‫ی‬ ‫آ ﻝ دا‬ ‫ي از‪Thread‬‬ ‫ی ، آ‬ ‫د‬ ‫، از روش ‪ ()setpriority‬ا‬ ‫م ی‬ ‫اي‬ ‫:‬ ‫ار زی ا‬ ‫ن‬ ‫.‬ ‫ا‬ ‫)‪final void setpriority( in level‬‬ ‫ود‬ ‫ار ‪ level‬ی داﺥ‬ ‫.‬ ‫ا‬ ‫اﺥ ا‬ ‫اي‬ ‫مﺝی‬ ‫‪level‬‬ ‫در ای‬ ‫.‬ ‫دی 1 و ٠١‬ ‫، ای‬ ‫ل‬ ‫. در‬ ‫‪ MIN-PRIORITY‬و ‪MAX-PRIORIT‬‬ ‫آ‬ ‫آ‬ ‫ض ، ‪ NORM-PRIORITY‬را‬ ‫م‬ ‫دا ن ی‬ ‫. اي‬ ‫ا .‬ ‫ی‬ ‫ه ي ‪ final‬داﺥ ‪Thread‬‬ ‫ان‬ ‫. ای‬ ‫5ا‬ ‫وری ، آ‬ ‫روش )(‪ getpriority‬در‪ Thread‬ر‬ ‫اﺥ ا‬ ‫م ﺝ ري را‬ ‫ا‬ ‫:‬ ‫رت زی‬ ‫)(‪final int getpriority‬‬ ‫ن‬ ‫و‬ ‫یير ر‬ ‫رت‬ ‫ی ،‬ ‫ي‬ ‫آ ز‬ ‫زي ﺝ وا ، و‬ ‫د‬ ‫‪solaries‬‬ ‫آ . ا روای‬ ‫ر داری آ ر‬ ‫ا‬ ‫ری‬ ‫ه‬ ‫وی وز ٥٩ آ‬ ‫ده . روای‬ ‫هی‬ ‫آ‬ ‫آ‬ ‫وز‬ ‫ز ری ه‬ ‫ري از‬ ‫آ .‬ ‫وت آ ر‬ ‫اي‬ ‫ر ر وا‬ ‫ی ،‬ ‫ف‬ ‫اآ‬ ‫رت ا‬ ‫ز ن ‪ cpu‬را‬ ‫ي ای‬ ‫آ‬ ‫دا‬ ‫ﺝ واي ا وز، ی از‬ ‫ر ر ارﺝ ع‬ ‫اي آ‬ ‫.‬ ‫د‬ ‫دار .‬ ‫دن ‪ cpu‬د‬ ‫ر اﺥ ري از آ ل‬ ‫آ‬ ‫د آ‬ ‫ی ا‬ ‫اﺝ ا‬ ‫ی ذآ‬ ‫زی‬ ‫ده ، آ روي دو‬ ‫ن‬ ‫را‬ ‫ي‬ ‫ي دو‬ ‫ل‬ ‫-‪Thread-NORM‬‬ ‫آ‬ ‫ﻝ‬ ‫م‬ ‫از‬ ‫دو‬ ‫.ی‬ ‫اه‬ ‫.‬ ‫ا‬ ‫ﻝ‬ ‫م‬ ‫از‬ ‫ی‬ ‫و دی ي دو‬ ‫ا‬ ‫ی‬ ‫‪PRIORITY‬‬ ‫اد‬ ‫آ ،آ‬ ‫را اﺝ ا‬ ‫ی‬ ‫اﺝ ز اﺝ ا دار . ه‬ ‫ت ٠١ ﺙ‬ ‫و‬ ‫ز‬ ‫ه‬
  • 320. ‫اد‬ . ‫آ‬ ‫را‬ ‫ه دو‬ ‫ا‬ ، ‫از د ﺙ‬ . ‫آ‬ ‫رش‬ ‫اره را‬ .‫ی‬ ‫در‬ ‫ی‬ ، ‫ﺥ‬ ‫ی‬ ‫از‬ ‫آ ه‬ ‫د‬ // Demonstrate thread priorities. class clicker implements Runnable { int click = 0; Thread t; private boolean running = true; public clicker(int p ){ t = new Thread(this); t.setPriority(p); } public void run )({ while( running ){ click++; } } public void stop )({ running = false; } public void start (){ t.start)(; } } class HiLoPri { public static void main(String args[] ){ Thread.currentThread.)(setPriority(Thread.MAX_PRIORITY); clicker hi = new clicker(Thread>NORM_PRIORITY + 2); clicker lo = new clicker(Thread>NORM_PRIORITY - 2); lo.start(); hi.start(); try { Thread.sleep(10000); } catch( InterruptedException e ){ System.out.println("Main thread interrupted."); } lo.start();
  • 321. hi.start(); // Wait for child threads to terminate. try { hi.t.join(); lo.t.join(); } catch( InterruptedException e ){ System.out.println("InterruptedException caught"); } System.out.println("Low-priority thread :" + lo.click); System.out.println("High-priority thread :" + hi.click); } } ‫ده آ‬ ‫ن‬ ‫د‬ ‫وی وز ٥٩ اﺝ ا‬ ‫ن داد ای ه‬ ‫ا‬ ‫آ‬ ‫ﺥ وﺝ ای‬ ‫ د‬cpu ‫ر اﺥ ري از‬ ‫ن‬ ‫ا‬ ‫ه‬ ‫ا‬ ، ‫م داد ا‬ ‫ را ا‬context switch ‫ه‬ . ‫آ‬ l/o ‫اي‬ ‫وی‬ Low-priority thread :434104 High-priority thread :4860791 ‫ل‬ ‫در‬ ‫ی و ی‬ ‫اد‬ ‫و‬ cpu ‫ای‬ ‫ﻝ‬ ‫ﺥ وﺝ د‬ ‫اﻝ‬ . ‫ﺥ اه دا‬ ‫اﺝ ا در‬ ‫ن‬ ‫د‬ ‫ اﺝ ا‬solaris ‫ي از ه ن آ س ﺝ وا ، آ ای ر روي ی‬ ‫ﺥ وﺝ‬ ‫م‬ ‫آ‬ ‫ظ نا‬ ‫. ای‬ ‫ا‬ ‫ز ن اﺝ ا‬ ‫در‬ ‫م‬ ‫ده آ‬ . ‫ا‬ cpu Low-priority thread :0 High-priority thread :3062507 ‫در‬ ‫د‬ ‫ا س‬ ‫ر ر‬ ‫آ هی آ‬ ‫آ‬ ‫ا‬ ‫ر‬ ، ‫دی‬ ‫اي‬ ‫در ی‬ . ‫ی‬ ، ‫ي دا‬ ‫دی‬ ‫ع‬ ‫وی وز ٥٩ ی ه‬
  • 322. ‫آ دن‬ ‫آ‬ ‫د از چ‬ ‫ا‬ ‫ن در‬ ‫آ‬ ‫آ ر از‬ ‫در اﺥ ر دا‬ ‫،‬ ‫ی ن‬ ‫ی‬ ‫ا‬ ‫آ‬ ‫ای ا‬ ‫ﺙ از ای‬ ‫د‬ ‫ا‬ ‫.آ‬ ‫ﺥ اه دا‬ ‫ز‬ ‫اي‬ ‫ی‬ ‫ز ن‬ ‫داﺥ‬ ‫دو زی‬ ‫ل،و‬ ‫ان‬ ‫یﻝ .‬ ‫رت‬ ‫ی‬ ‫"‬ ‫رت " ه‬ ‫د‬ ‫ی . ا‬ ‫د‬ ‫هي‬ ‫را‬ ‫،‬ ‫ن اﺝ ا‬ ‫ه‬ ‫ا‬ ‫داری آ‬ ‫ی‬ ‫اد‬ ‫.ا ا‬ ‫ی‬ ‫ﺙ ي‬ ‫ر‬ ‫هي‬ ‫ا‬ ‫آ دن ،‬ ‫آ‬ ‫آ را از‬ ‫ﺥ‬ ‫آ‬ ‫. د دا‬ ‫ا ن ﺥ اه‬ ‫د‬ ‫ا‬ ‫ی ،‬ ‫ه ای د‬ ‫زی دي از‬ ‫و‬ ‫ه ای د آ ،‬ ‫اد زی دي از‬ ‫.ا‬ ‫‪ conext switching‬ه ا ه‬ ‫ی‬ ‫.‬ ‫‪ context‬ه ﺥ اه‬ ‫ف‬ ‫،‬ ‫اي اﺝ اي اص ی‬ ‫از‬ ‫‪cpu‬‬
  • 323. ‫پ‬ ‫رت‬ ‫ﺥ ای‬ ‫هي‬ ‫را در‬ ‫م‬ ‫، م‬ ‫در ای‬ ‫زی ی‬ ‫له ی‬ ‫ارا‬ ‫ا‬ ‫.‬ ‫آ ر ﺥ اه‬ ‫ﺝ وا را درك آ .‬
  • 324. ‫زم‬ ‫ق‬ ‫.‬ ‫ا‬ ‫د و‬ ‫ر‬ ‫ن را داری ،‬ ‫اي‬ ‫م داد :‬ ‫ا‬ ‫ی‬ ‫ت زی را‬ ‫ر‬ ‫ی. ی‬ ‫را ای د‬ ‫ﺥ‬ ‫ی‬ ‫ا ر‬ ‫.‬ ‫را در ن ی‬ ‫رد‬ ‫لو‬ ‫‪ Notepad‬را‬ ‫•‬ ‫.‬ ‫را ذﺥ‬ ‫•‬ ‫دد.‬ ‫ﺝ وا ای د‬ ‫ا‬ ‫ی‬ ‫ی ﺝ وا ﺝ‬ ‫د از‬ ‫را ا‬ ‫•‬ ‫دد.‬ ‫ا ام‬ ‫ر‬ ‫ارش ﺥ ء ،‬ ‫رت‬ ‫در‬ ‫•‬ ‫.‬ ‫د‬ ‫در ن ا‬ ‫ای د‬ ‫وب ‪ Html‬ای د و از ا‬ ‫ی‬ ‫•‬ ‫.‬ ‫ﺝ وا را اﺝ اء‬ ‫ا‬ ‫•‬ ‫:‬ ‫رت زی ا‬ ‫ا ر‬ ‫;‪import java.awt.Graphics‬‬ ‫‪public class FirstApplet extends‬‬ ‫‪java.applet.Applet‬‬ ‫{‬ ‫)‪public void paint(Graphics g‬‬ ‫{‬ ‫;)002 ,002 ,0 ,0(‪g.drawLine‬‬ ‫}‬ ‫}‬ ‫: ی‬ ‫ﺡ ی‬ ‫دد. در ادا‬ ‫در ن ذﺥ‬ ‫م دﻝ ا ای د‬ ‫، ﻝر‬ ‫دن‬ ‫ر ذﺥ‬ ‫ب ‪TXT‬‬ ‫ا‬ ‫ای د ی ه‬ ‫در‬ ‫دی‬ ‫‪ ) Notepad‬و ی ه ادی ر‬ ‫وی ای‬ ‫ق‬ ‫. در ز ن ی‬ ‫ق را ی ) و ی ‪ Copy‬و ‪(Paste‬‬ ‫لو‬ ‫( را‬ ‫زم‬ ‫رت ی د. در ای را‬ ‫زم‬ ‫د‬ ‫رگ و‬ ‫وف‬ ‫در را‬ ‫ی‬ ‫د .‬ ‫ﺝ ول ق ، ی‬ ‫د‬ ‫رگ و‬ ‫وف‬ ‫ا‬ ‫دن ی‬ ‫ﺡ دوم : ذﺥ‬
  • 325. ‫د ای‬ ‫ای د‬ ‫ی‬ ‫در‬ ‫م ی ‪ FirstApplet.Java‬در ﻝ ر‬ ‫را‬ ‫ی‬ ‫ا در ی‬ ‫دد‬ ‫در م ی د‬ ‫رگ و‬ ‫وف‬ ‫د از‬ ‫ا‬ ‫.‬ ‫، ذﺥ‬ ‫.‬ ‫ار ﺥ اه‬ ‫رد د‬ ‫م‬ ‫ه‬ ‫ی‬ ‫ی‬ ‫م:‬ ‫ﺡ‬ ‫ی ‪FirstApplet.java‬‬ ‫ر ‪ ، CD‬در ﻝ ر‬ ‫د از د‬ ‫لو ا‬ ‫‪ MS-DOS‬را‬ ‫:‬ ‫، ی‬ ‫ﺝ‬ ‫ر‬ ‫ر زی را‬ ‫ود‬ ‫ار دارد ،‬ ‫‪javac FirstApplet.java‬‬ ‫(‬ ‫رگ و‬ ‫وف‬ ‫زم در را‬ ‫)د‬ ‫ی‬ ‫را ر‬ ‫و‬ ‫م ی‬ ‫ی‬ ‫رت وﺝ د ﺥ ء ،‬ ‫دن ﺥ ء ، در‬ ‫ف‬ ‫و‬ ‫ﺡ چ رم :‬ ‫د.‬ ‫ﺝ د ا ام‬ ‫ت‬ ‫ر ا‬ ‫،ی‬ ‫ای د‬ ‫د از ا‬ ‫ار و ا‬ ‫ر‬ ‫‪، Html‬‬ ‫: ای د ی‬ ‫پ‬ ‫ﺡ‬ ‫ار ده :‬ ‫ت زی را در ن‬ ‫وب ای د و ا‬ ‫ی ‪Html‬‬ ‫>‪<html‬‬ ‫>‪<body‬‬ ‫002=‪<applet code=FirstApplet.class width‬‬ ‫>002=‪height‬‬ ‫>‪</applet‬‬ ‫>‪</body‬‬ ‫>‪</html‬‬ ‫.‬ ‫ذﺥ‬ ‫م‬ ‫م ‪ applet.htm‬و در ﻝ ر‬ ‫ق را‬ ‫ی‬ ‫ر اﺝ ا ا‬ ‫ر زی را‬ ‫لود‬ ‫‪ MS-DOS‬را‬ ‫،‬ ‫: اﺝ ا ا‬ ‫ﺡ ﺵ‬ ‫:‬ ‫ی‬ ‫‪appletviewer applet.htm‬‬ ‫را‬ ‫را‬ ‫از‬ ‫ﺥ‬ ‫،ی‬ ‫از اﺝ ا ا‬ ‫دی .‬ ‫و اﺝ اء‬ ‫ﺝ وا‬ ‫اوﻝ‬ ‫ی‬ ‫د.‬ ‫ه ﺥ اه‬ ‫ی‬ ‫توﺕ‬ ‫ﺕ‬
  • 326. ‫ﺝ وا د‬ ‫ه‬ ‫از‬ ‫، عﺥ‬ ‫.ا‬ ‫د ﺝ وا ا‬ ‫ا‬ ‫ی‬ ‫ر د ﺝ وا‬ ‫ه‬ ‫ﺝ وا در‬ ‫ه‬ ‫د. ا‬ ‫اﺝ اء‬ ‫ور‬ ‫را در ی‬ ‫ان‬ ‫رو ی‬ ‫را‬ ‫ان‬ ‫د‬ ‫ه‬ ‫ر د ﺝ وا ،‬ ‫ه‬ ‫ا .‬ ‫ح‬ ‫. در ادا‬ ‫ا‬ ‫د‬ ‫‪ javac‬ا‬ ‫از‬ ‫دن ا‬ ‫ی‬ ‫ا‬ ‫د.‬ ‫اﺝ اء‬ ‫وب ای د و ا‬ ‫ن،ی‬ ‫ا اﺝ ا‬ ‫زم‬ ‫دن‬ ‫اه‬ ‫و‬ ‫ار ا‬ ‫ر‬ ‫‪appletviewer‬‬ ‫ان از‬ ‫ا‬ ‫ا اﺝ ا ی‬ ‫.‬ ‫ا‬ ‫ا زد‬ ‫ق‬ ‫در‬ ‫د.‬ ‫د‬ ‫ا‬ ‫ا‬ ‫عا‬ ‫ی‬ ‫د‬ ‫ق‬ ‫.‬ ‫ا‬ ‫دارا د ﺥ‬ ‫ه‬ ‫ق ، زم ا‬ ‫د‬ ‫ﺥ‬ ‫ر‬ ‫د.‬ ‫ان ای د‬ ‫ط‬ ‫از ﺥ‬ ‫رو ی‬ ‫ر‬ ‫. ی‬ ‫زم وﺝ د دا‬ ‫اء‬ ‫ی‬ ‫د:‬ ‫داد‬ ‫د ن‬ ‫و‬ ‫;)002 ,002 ,0 ,0(‪g.drawLine‬‬ ‫را ر‬ ‫ق،ﺥ‬ ‫ر‬ ‫.د‬ ‫ا‬ ‫در‬ ‫رد‬ ‫ت‬ ‫م‬ ‫لا‬ ‫ق‬ ‫ﺥ‬ ‫ر ق‬ ‫. د‬ ‫ق‬ ‫در ار ط ﺥ ا‬ ‫ط‬ ‫ی ﺥ‬ ‫د.‬ ‫ﺥ اه‬ ‫(‬ ‫و‬ ‫ت‬ ‫)‬ ‫را از‬ ‫،ﺥ‬ ‫ا‬ ‫.‬ ‫ت ٠٠٢ و ٠٠٢ ( ر‬ ‫)‬ ‫را‬ ‫ا د ٠٠٢ و‬ ‫(‬ ‫) در‬ ‫ا‬ ‫ی‬ ‫اﺝ اء و‬ ‫ط‬ ‫وب ، ا از‬ ‫در‬ ‫.‬ ‫ا‬ ‫د‬ ‫م ‪ drawLine‬ا‬ ‫(‬ ‫)‬ ‫ق از‬ ‫. در‬ ‫ا‬ ‫٠٠٢‬ ‫د‬ ‫ا‬ ‫ﺥ‬ ‫ی )٠٠٢،٠٠٢،٠،٠(. ا‬ ‫ان ورود اﺥ‬ ‫را‬ ‫ر را‬ ‫ق،‬ ‫ت‬ ‫ﺝ‬ ‫در ا‬ ‫د از‬ ‫ا‬ ‫ق‬ ‫را‬ ‫.‬ ‫ا‬ ‫";"‬ ‫از را‬ ‫ا‬ ‫ی‬ ‫.‬ ‫ا‬ ‫وع‬ ‫ف ‪.g‬‬ ‫ا ﺥ‬ ‫.ا‬ ‫ا‬ ‫‪ g‬وﺝ د دارد.‬ ‫م‬ ‫م ‪drawLine‬‬ ‫اﺥ ا‬ ‫ر‬ ‫ی‬ ‫ی‬ ‫ی‬ ‫م‬ ‫ا‬ ‫ه‬ ‫.‬ ‫را‬ ‫د‬ ‫ی‬ ‫،‬ ‫ی‬ ‫ت‬ ‫ا‬ ‫،ﺥ‬ ‫ی‬ ‫م‬ ‫ا‬ ‫د. ‪، drawLine‬‬ ‫م‬ ‫ﺥصا‬ ‫ط‬ ‫ان ﺥ‬ ‫‪(drawLine‬‬ ‫ه‬ ‫) را‬ ‫ت‬ ‫ی.‬ ‫را ر‬ ‫د.‬ ‫را ر‬ ‫ت‬ ‫د از‬ ‫دو ا‬
  • 327. ‫ر زم ا‬ ‫ی‬ ‫د؟‬ ‫د‬ ‫ان ا‬ ‫‪drawLine‬‬ ‫دی‬ ‫ا‬ ‫از‬ ‫ز ﺝ وا و‬ ‫د‬ ‫دد. در ز ن‬ ‫اﺝ‬ ‫س ‪Graphice‬‬ ‫ط‬ ‫ات‬ ‫، ی‬ ‫ﺥ اه‬ ‫رو‬ ‫ه‬ ‫از ی‬ ‫،ی‬ ‫ات‬ ‫ی . ‪drawLine‬‬ ‫ی‬ ‫س ‪ Graphic‬را‬ ‫ق‬ ‫. ی‬ ‫‪ java.awt.Graphice.html‬ا‬ ‫رر‬ ‫د دی‬ ‫ه‬ ‫س ‪ Graphic‬د و در ای ز‬ ‫ه‬ ‫از‬ ‫"ی‬ ‫و ... وﺝ د دارد.‬ ‫،‬ ‫ن،‬ ‫ط،‬ ‫ﺥ‬ ‫س‬ ‫"‬ ‫.‬ ‫ا‬ ‫اوا‬ ‫ه‬ ‫دارا‬ ‫س‬ ‫د وه‬ ‫د‬ ‫سه‬ ‫ﺝ وا دارا‬ ‫.‪SetColor‬‬ ‫ا‬ ‫ر‬ ‫ط‬ ‫ت‬ ‫و‬ ‫ی‬ ‫ر‬ ‫ه‬ ‫ا از‬ ‫‪ Color‬دارا‬ ‫ﺝ وا‬ ‫سه‬ ‫ط‬ ‫ه‬ ‫از‬ ‫د هزه ی‬ ‫. در ز ن ا‬ ‫ا‬ ‫ا در ای ز‬ ‫د.‬ ‫اه‬ ‫د از ن را‬ ‫ا‬ ‫ر ‪ import‬ز‬ ‫د از د‬ ‫ا‬ ‫در ا ا‬ ‫ی‬ ‫اﺵ ل زدا‬ ‫.‬ ‫وت ﺥ رد‬ ‫ﺥ ه‬ ‫ا‬ ‫،‬ ‫ه‬ ‫در ز ن‬ ‫ز ن اﺝ اء و‬ ‫،ﺥ‬ ‫ا‬ ‫:ﺥ‬ ‫و‬ ‫دارا ا اع‬ ‫ی‬ ‫ﺥ ه‬ ‫ل )‪(Bugs‬‬ ‫را ، ا‬ ‫از ه‬ ‫ق‬ ‫مﺥ ه‬ ‫.‬ ‫ﺥ‬ ‫ی .‬ ‫)‪(debugging‬‬ ‫ل زدا‬ ‫ل را ا‬ ‫دن ا‬ ‫ف‬ ‫ط‬ ‫ت‬ ‫و‬ ‫د‬ ‫ی ن را‬ ‫ار ز ن زی د از و‬ ‫ه‬ ‫ه‬ ‫ل زدا‬ ‫ا‬ ‫ص ﺥ اه داد.‬ ‫اﺥ‬ ‫ی‬ ‫ز ن‬ ‫ﺝ د در را‬ ‫ا‬ ‫ر‬ ‫در‬ ‫ی‬ ‫در ز ن‬ ‫ی در ز ن‬ ‫ﺝ ت در ﺝ وا ( ،‬ ‫";" در ا‬ ‫د از را‬ ‫ما‬ ‫دد )‬ ‫ر ی‬ ‫ی‬ ‫ارد‬ ‫ی . در‬ ‫م‬ ‫وا‬ ‫را‬ ‫ا‬ ‫ﺥ‬ ‫،ی‬ ‫ﺝ‬ ‫از‬ ‫د.‬ ‫، ا ام‬ ‫ارش داد‬ ‫ل‬ ‫دن ا‬ ‫ف‬ ‫،‬ ‫از ه ا ام دی‬ ‫دد. در ز ن‬ ‫اﺝ اء‬ ‫(،‬ ‫ا‬ ‫م وﺝ د ﺥ‬ ‫)‬ ‫ی‬ ‫ﺝ‬ ‫ق را ، ﺥ‬ ‫دی . ﺥ ه‬ ‫اﺝ‬ ‫از ﺥ ء‬ ‫ع دی‬ ‫ا‬ ‫اﺝ ا ی‬ ‫اﺝ اء‬ ‫ر‬ ‫و‬ ‫ز ن اﺝ اء‬ ‫دارا ﺥ‬ ‫ر‬ ‫. در‬ ‫ز ن اﺝ اء‬ ‫.ﺥ ه‬ ‫ی‬ ‫ﺥ ا‬ ‫ﻝ‬ ‫ﺥ وﺝ‬ ‫ا‬ ‫دد ،‬
  • 328. ‫از‬ ‫د‬ ‫رات و ی ا‬ ‫از د‬ ‫د در‬ ‫ما‬ ‫ی و‬ ‫ق را ﺥ ه‬ ‫،‬ ‫ی‬ ‫زم ا‬ ‫ارد‬ ‫ی . در‬ ‫ﺝ د‬ ‫اﻝ ری ه در ی‬ ‫رت ﻝ وم‬ ‫و در‬ ‫ه‬ ‫دن‬ ‫د ل‬ ‫د و‬ ‫دا ز‬ ‫را‬ ‫را‬ ‫دا‬ ‫ن ا ام و‬ ‫ر‬ ‫و‬ ‫ﺝ د را‬ ‫،ﺥ‬ ‫د‬ ‫ا‬ ‫اﻝ ری ه‬ ‫ی.‬ ‫ی و اﺝ اء‬ ‫ه‬ ‫.‬ ‫د‬ ‫ه ا‬ ‫ت از‬ ‫ا‬ ‫ار‬ ‫ر‬ ‫،‬ ‫ه‬ ‫م‬ ‫و‬ ‫ا‬ ‫وﺝ ر‬ ‫ان ورود ﺥ ا‬ ‫د را‬ ‫ا‬ ‫ا‬ ‫ر‬ ‫در‬ ‫د و‬ ‫ا‬ ‫ر‬ ‫د وارد‬ ‫ر ذﺥ‬ ‫ده ، از ی‬ ‫ی‬ ‫در ﺥ وﺝ‬ ‫.‬ ‫اه ﺥ اه‬ ‫ن‬ ‫رو‬ ‫ت دﻝ ا‬ ‫ن‬ ‫ا‬ ‫رد‬ ‫د‬ ‫دن‬ ‫از ذﺥ‬ ‫ع‬ ‫ی‬ ‫ی‬ ‫ی‬ ‫د. در ز ن‬ ‫ی‬ ‫د ،‬ ‫از ا‬ ‫ی‬ ‫ه را‬ ‫ی‬ ‫ان‬ ‫د.‬ ‫دد را‬ ‫ار‬ ‫در ن‬ ‫ار ا‬ ‫داد ه‬ ‫ان در ن م و م‬ ‫د‬ ‫ی‬ ‫را‬ ‫دی‬ ‫وی‬ ‫ار‬ ‫در ن ، ا اد‬ ‫د‬ ‫ی‬ ‫ی‬ ‫د‬ ‫ا‬ ‫ه‬ ‫م‬ ‫ﺝ وا‬ ‫ی‬ ‫د. در ز ن‬ ‫را ذﺥ‬ ‫ﺥ اد‬ ‫د.‬ ‫دد را‬ ‫ار‬ ‫ان در‬ ‫ن ع داد ه‬ ‫وه‬ ‫ق ، ‪int‬‬ ‫ه‬ ‫ع‬ ‫ا .‬ ‫ی‬ ‫‪ width‬و ‪height‬‬ ‫زی ، دو‬ ‫ل : در‬ ‫١، ٢ ، ٣ (‬ ‫)‬ ‫د‬ ‫ار ی‬ ‫از ع ‪ ، int‬در‬ ‫.ی‬ ‫ا‬ ‫ی‬ ‫.‬ ‫ا‬ ‫ار ٠٠٢ در‬ ‫ق،‬ ‫ه‬ ‫از‬ ‫ار اوﻝ ه ی‬ ‫.‬ ‫ا‬ ‫از‬ ‫ی .ی‬ ‫ار ده اوﻝ "‬ ‫ه "‬ ‫ار اوﻝ‬ ‫ده ی‬ ‫ط‬ ‫ت‬ ‫.‬ ‫ه ا‬ ‫ار ده اوﻝ‬ ‫م‬ ‫،‬ ‫ه ا قا‬ ‫ﺥ از‬ ‫در‬ ‫ا‬ ‫ا‬ ‫وز‬ ‫از‬ ‫م‬ ‫ن را ا‬ ‫ار ده اوﻝ‬ ‫،‬ ‫ی‬ ‫ی‬ ‫دد در ز ن‬ ‫ای‬ ‫دد.‬ ‫ﻝ در ی‬ ‫ا‬ ‫ﺥ ﺥ ه‬ ‫ع ‪int‬‬ ‫سه .‬ ‫د )‪ (Primitive‬و‬ ‫ه‬ ‫وﺝ د دارد :‬ ‫ع‬ ‫در ز ن ﺝ وا دو‬ ‫م‬ ‫د ا‬ ‫ه‬ ‫ان‬ ‫م‬ ‫.‬ ‫دا‬ ‫ار ی‬ ‫د و در‬ ‫د‬ ‫.‬ ‫ا‬ ‫ع‬ ‫ﺝ‬ ‫ار‬ ‫ار ی‬ ‫داد ،‬
  • 329. ‫ن‬ ‫،ا‬ ‫ه ی‬ ‫ط‬ ‫ه‬ ‫د از‬ ‫د و ا‬ ‫ی‬ ‫دارا دن‬ ‫س ه ، در‬ . ‫قا‬ ‫سه‬ ‫از‬ ‫ ی‬Rectangle .‫دد‬ ‫اه‬ ‫ن‬ ‫د‬ ‫ا‬ import java.awt.Graphics; import java.awt.Color; public class FirstApplet extends java.applet.Applet { public void paint(Graphics g) { int width = 200; int height = 200; g.drawRect(0, 0, width, height); g.drawLine(0, 0, width, height); g.drawLine(width, 0, 0, height); } } ‫،ر‬ ٢٠٠ * ٢٠٠ ‫ا د‬ ‫ا‬ ‫در‬ ‫ﺥ‬ ‫، ه ار ی‬ ‫ارا‬ ‫در‬ ‫ض‬ . ‫قا‬ ‫ودی ه‬ ‫از‬ ‫،ی‬ ‫ا د‬ ‫ن ی‬ ‫ما‬ .‫دد‬ ‫را‬ ‫دا د‬ ‫ر درﺥ ا‬ ‫از‬ ‫دد‬ ‫در‬ ‫،ا‬ ‫در ای را‬ ‫ا س ا د ارا‬ ‫ر ،ﺥ‬ ‫دن ا د‬ ‫از‬ .‫ی‬ ‫ﺝ د در ی‬ ) ، Graphic ‫س‬ ‫ط‬ ‫ات‬ ‫اﺝ‬ .‫دد‬ ‫،ر‬ ‫ا‬ ‫ا‬ ‫ت‬ ‫ط‬ ‫م ا‬ ‫ﻝ‬ ‫ق‬ ‫ ، ی‬java.awt.Graphic.html ‫ان ورود اﺥ‬ ‫را‬ ‫ق را‬ .‫د‬ ‫ﺥ رد ﺥ اه‬ getClipBounds ،( ، ‫دا‬ Rectangle . ‫دا‬ ‫ را‬Rectangle ‫ع‬ ‫ار از‬ ‫د وی‬ . ‫ا‬ ‫ا ر‬ ‫رد‬ ‫ود‬ ‫ض‬ ‫لو‬ ‫ر‬ ‫ای‬ . ‫ ا‬x,y,width,height ‫ا‬ ‫ر‬ ‫ دارا‬Rectangle ‫س‬ ‫ را اﺥ و‬Rectangle ‫ود‬ ، getClipBounds ‫د از‬ ‫، ا‬ ‫دن ا د‬ ‫ن ی‬ ‫ا‬ ‫ه‬ ‫را در‬ ، Rectangle ‫ از‬height ‫ و‬width ‫ط‬ ‫دی‬ ‫اج‬ ‫از ا‬ . ‫ ذﺥ‬height ‫ و‬width
  • 330. import java.awt.Graphics; import java.awt.Color; import java.awt.Rectangle; public class FirstApplet extends java.applet.Applet { public void paint(Graphics g) { int width; int height; Rectangle r; r = g.getClipBounds(); width = r.width - 1; height = r.height - 1; g.drawRect(0, 0, width, height); g.drawLine(0, 0, width, height); g.drawLine(width, 0, 0, height); } } ‫در‬ ‫رت‬ ‫ه‬ ‫ و‬Rectangle ‫ه ﺥ اه‬ ،‫ق‬ ‫از اﺝ ا‬ ‫ ا س‬Rectangle ‫ه و‬ ، ‫ا از‬ ‫از‬ . ‫ار ﺥ اه‬ ‫ود‬ ‫ت زی‬ ‫ق،ذ‬ ‫. در را‬ ‫ﺥ اه‬ ‫دا ر‬ ‫رت ﺥ د ر‬ ‫دی ﺝ ی‬ : ‫ور ا‬ ‫د‬ ‫ ا‬java.awt.Rectangle ‫از‬ ‫ ، زم ا‬Rectangle ‫س‬ ‫د از‬ ‫ا‬ ‫ﺝ‬ • .‫دد‬ ‫ و‬int ‫ع‬ ‫( از‬height ‫ و‬width ) ‫. دو‬ ‫ا‬ ‫ی‬ ‫ق‬ ‫• در‬ . ‫ ا‬Rectangle ‫( ، از ع‬r) ‫ی‬ ‫"ی‬ ‫د و‬ ‫ان ورود اﺥ‬ ‫را‬ ‫را‬ ، getClipBounds • ‫ را‬Rectangle ‫ ، ی‬r=g.getClipBounds : ‫ر‬ ‫دا . د‬ ‫ را‬Rectangle .‫ی‬ ‫ ذﺥ‬r ‫و ن را در‬ ‫دا‬ . ‫ا‬ ‫ر‬ ‫د و دارا‬ Rectangle ‫س‬ ‫ع‬ ‫ ، از‬r • ‫د‬ ‫ا‬ ‫ه ، از‬ ‫از‬ ‫ه ی‬ ‫رد‬ .(x,y,width,height)
  • 331. ‫م ‪ width‬زی‬ ‫ار‬ ‫‪،r‬‬ ‫در‬ ‫ی‬ ‫ان‬ ‫‪، r.width‬‬ ‫دد.‬ ‫دد.‬ ‫م ‪ width‬ذﺥ‬ ‫در‬ ‫رد‬ ‫ار‬ ‫دد.‬ ‫دد.‬ ‫د‬ ‫،ا‬ ‫ر‬ ‫ط‬ ‫ی از ‪ width‬و ‪ height‬در ا‬ ‫• در‬ ‫د‬ ‫‪ width‬و ‪ height‬ا‬ ‫ه‬ ‫از‬ ‫ا‬ ‫ق‬ ‫در‬ ‫ا‬ ‫زم‬ ‫ار داد.‬ ‫" در اﺥ ر ا‬ ‫ار 1 - ‪ r.width‬را‬ ‫د و‬ ‫از :‬ ‫ر‬ ‫رای در ای ز‬ ‫.‬ ‫د ا‬ ‫ع‬ ‫ی‬ ‫ﺝ وا دارا‬ ‫)‪(int‬‬ ‫ع‬ ‫•‬ ‫ر )‪(float‬‬ ‫عا‬ ‫•‬ ‫)‪(char‬‬ ‫ع را‬ ‫•‬ ‫از‬ ‫را ا م داد. در ای را‬ ‫و‬ ‫ت‬ ‫ان‬ ‫د‬ ‫ع‬ ‫رو داد ه‬ ‫دد.‬ ‫د‬ ‫ا‬ ‫بو/ ا‬ ‫ی ،* ا‬ ‫،- ا‬ ‫+ ا ﺝ‬ ‫ده .‬ ‫ن‬ ‫ق را‬ ‫ه‬ ‫د از‬ ‫ا‬ ‫زی‬ ‫;01 = ‪float diameter‬‬ ‫;‪float radius‬‬ ‫;‪float volume‬‬ ‫;0.2 / ‪radius = diameter‬‬ ‫* ‪volume = 4.0 / 3.0 * 3.14159 * radius * radius‬‬ ‫;‪radius‬‬ ‫ﺕ ار‬ ‫ه‬ ‫ﺡ‬ ‫ت‬ ‫توی‬ ‫م‬ ‫نا‬ ‫ده ، ا‬ ‫م‬ ‫ا‬ ‫را‬ ‫از‬ ‫ی‬ ‫ی . در ادا‬ ‫"‬ ‫" ه‬ ‫ه‬ ‫. در‬ ‫ار ا‬ ‫.‬ ‫ﺥ اه‬ ‫ار‬ ‫ت‬ ‫تو‬ ‫ر‬ ‫ا از ه‬ ‫ار‬ ‫دد :‬ ‫ر‬ ‫زی‬ ‫ﺥ اه‬ ‫ض‬ ‫ل:‬
  • 332. . ‫د‬ ‫رت زی ر‬ ‫طا‬ ‫ﺥ‬ ‫ا‬ ، ‫ق‬ ‫رر‬ ‫در ا ا و‬ ‫از‬ ‫ی‬ ‫ا‬ ‫ا از ه‬ ‫ط ق ، ای د‬ ‫ﺥ‬ ‫ر‬ ‫از روش ه‬ ‫ی‬ .( ‫ی‬ ). ‫اﺝ اء ﺥ اه‬ ‫دی‬ import java.awt.Graphics; public class FirstApplet extends java.applet.Applet { public void paint(Graphics g) { int y; y = 10; g.drawLine(10, y, 210, y); y = y + 25; g.drawLine(10, y, 210, y); y = y + 25; g.drawLine(10, y, 210, y); y = y + 25; g.drawLine(10, y, 210, y); y = y + 25; g.drawLine(10, y, 210, y); y = y + 25; g.drawLine(10, y, 210, y); y = y + 25;
  • 333. ‫;)‪g.drawLine(10, y, 210, y‬‬ ‫;52 + ‪y = y‬‬ ‫;)‪g.drawLine(10, y, 210, y‬‬ ‫;52 + ‪y = y‬‬ ‫;)‪g.drawLine(10, y, 210, y‬‬ ‫}‬ ‫}‬ ‫ا .‬ ‫ار‬ ‫ت‬ ‫دو ﺥ در‬ ‫دد‬ ‫ه‬ ‫ق،‬ ‫ط‬ ‫ﺥ‬ ‫ه‬ ‫ی‬ ‫ار و‬ ‫"ی‬ ‫را‬ ‫ار‬ ‫ان دو ﺥ‬ ‫ار‬ ‫ه‬ ‫د از‬ ‫ا‬ ‫ار )‪ (loop‬ای د‬ ‫ی‬ ‫ار داد. ی‬ ‫ار‬ ‫ت را‬ ‫ار‬ ‫دد.‬ ‫;‪import java.awt.Graphics‬‬ ‫‪public class FirstApplet extends‬‬ ‫‪java.applet.Applet‬‬ ‫{‬ ‫)‪public void paint(Graphics g‬‬ ‫{‬ ‫;‪int y‬‬ ‫;01 = ‪y‬‬ ‫)012 =< ‪while (y‬‬ ‫{‬ ‫;)‪g.drawLine(10, y, 210, y‬‬ ‫;52 + ‪y = y‬‬ ‫}‬ ‫}‬ ‫}‬ ‫ا از ٠٠٢‬ ‫ﻝ‬ ‫دارا‬ ‫ه ی‬ ‫ﺥ ا‬ ‫ق،‬ ‫از اﺝ ا‬ ‫دی .‬ ‫ﺥ اه‬ ‫، ر‬ ‫ار‬ ‫ار دا‬ ‫دد.‬ ‫ار در ز ن ﺝ وا‬ ‫ای د ی‬ ‫رت ‪while‬‬ ‫‪ while‬در‬ ‫ﺝ د در ا ا‬ ‫ط‬ ‫.‬ ‫ﺥ اه ی‬ ‫، ادا‬ ‫و ٠٠٢‬ ‫وی‬ ‫‪y‬‬ ‫دا"‬ ‫ﺝ د در‬ ‫رات‬ ‫،د‬ ‫ط در‬ ‫ر‬ ‫دد ،در‬ ‫ر‬ ‫ه‬ ‫ﺝ د در ا ا‬ ‫ط‬ ‫ر‬ ‫. در‬ ‫د‬ ‫}و{(‬ ‫ر‬ ‫رات‬ ‫ار ) د‬ ‫ر‬ ‫د‬ ‫اوﻝ‬ ‫و‬ ‫ار اﺝ اء‬ ‫رات‬ ‫،د‬ ‫‪ ، while‬در‬ ‫.‬ ‫اﺝ اء ﺥ اه‬ ‫از ا‬
  • 334. ‫از ٠١٢‬ ‫ار د‬ ‫ن‬ ‫.‬ ‫دل ٠١ ا‬ ‫ار ‪y‬‬ ‫ق در ا ا‬ ‫در ز ن اﺝ ا‬ ‫)٠١،٠١٢( ر‬ ‫)٠١،٠١(‬ ‫از‬ ‫ار اﺝ اء و ﺥ‬ ‫ﺝ د در‬ ‫رات‬ ‫، د‬ ‫اﺝ‬ ‫ط(‬ ‫ر‬ ‫)‬ ‫ا ا‬ ‫دا‬ ‫و‬ ‫و‬ ‫ار ‪، y‬‬ ‫. در ادا‬ ‫ﺥ اه‬ ‫رات‬ ‫دا" د‬ ‫د و‬ ‫ن در‬ ‫طه‬ ‫د و‬ ‫ار ٣ از ٠١٢‬ ‫دد.‬ ‫از ٠١٢‬ ‫ار ‪y‬‬ ‫ق دا‬ ‫ی‬ ‫.‬ ‫ار ، اﺝ اء ﺥ اه‬ ‫ﺝ د در‬ ‫و‬ ‫ار اﺝ اء‬ ‫دی ،‬ ‫ار ‪ y‬از ٠١٢‬ ‫از ای‬ ‫.‬ ‫ار ﺥ اه‬ ‫،‬ ‫.‬ ‫ﺥ اه ی‬ ‫ﺥ‬ ‫،‬ ‫ر دی‬ ‫م وﺝ د د‬ ‫ﺝ‬ ‫د.‬ ‫د‬ ‫ا‬ ‫ار دی‬ ‫ان از ی‬ ‫د ،‬ ‫ط‬ ‫ا ای د ﺥ‬ ‫;‪import java.awt.Graphics‬‬ ‫‪public class FirstApplet extends‬‬ ‫‪java.applet.Applet‬‬ ‫{‬ ‫)‪public void paint(Graphics g‬‬ ‫{‬ ‫;‪int x, y‬‬ ‫;01 = ‪y‬‬ ‫)012 =< ‪while (y‬‬ ‫{‬ ‫;)‪g.drawLine(10, y, 210, y‬‬ ‫;52 + ‪y = y‬‬ ‫}‬ ‫;01 = ‪x‬‬ ‫)012 =< ‪while (x‬‬ ‫{‬ ‫;)012 ,‪g.drawLine(x, 10, x‬‬ ‫;52 + ‪x = x‬‬ ‫}‬ ‫}‬ ‫}‬ ‫د.‬ ‫د‬ ‫ا‬ ‫ار‬ ‫ه‬ ‫ا ای د‬ ‫رت ‪for‬‬ ‫ان از‬ ‫در ز ن ﺝ وا ،‬ ‫ده .‬ ‫ن‬ ‫‪ while‬را‬ ‫‪ for‬در‬ ‫د از‬ ‫ا‬ ‫زی‬
  • 335. ‫د از ‪For‬‬ ‫ا‬ ‫ﺕ ار‬ ‫ﺡ‬ ‫)52 + ‪for (y = 10; y <= 210; y = y‬‬ ‫{‬ ‫;)‪g.drawLine(10, y, 210, y‬‬ ‫}‬ ‫د از ‪While‬‬ ‫ا‬ ‫ﺕ ار‬ ‫ﺡ‬ ‫;01 = ‪y‬‬ ‫)012 =< ‪while (y‬‬ ‫{‬ ‫;)‪g.drawLine(10, y, 210, y‬‬ ‫;52 + ‪y = y‬‬ ‫}‬ ‫.‬ ‫ا‬ ‫اوا‬ ‫ت‬ ‫د و دارا ا‬ ‫ل‬ ‫در‬ ‫ی‬ ‫ی ز‬ ‫از‬ ‫ﺝ وا ی‬ ‫ان‬ ‫ﺝ وا د.‬ ‫ی‬ ‫ز ن‬ ‫اوﻝ و‬ ‫هف‬ ‫ﻝ‬ ‫در ای‬ ‫تﺥ د‬ ‫ا‬ ‫ا‬ ‫ا ﺝ وا‬ ‫ات ارا‬ ‫ﺝ دﺥ‬ ‫ی‬ ‫از‬ ‫ا‬ ‫ی‬ ‫د‬ ‫ا‬
  • 336. ‫زارع ر‬ : ‫ﺝ‬ – ‫آ‬ ‫، رﻝ‬ ‫زش ﺝ وا در ١٢ روز – ﻝ راﻝ‬ ‫ري‬ ‫زاد‬ ‫ﺝ : هد‬ – ‫ت‬ ‫ﺝ وا – ه‬ ‫اد‬ ‫ا... ﺝ‬ – ‫ﺝ وا‬ ‫ی‬ ‫م‬ ‫زش م‬ ‫اﻝ‬ : ‫ﺝ‬ –‫ا‬ ‫ﺝ وا ره‬ ‫ی‬ ‫رش‬ : ‫ﺝ‬ – ‫ﺥ ن داد ه و اﻝ ری ه در ﺝ وا‬ Persian Refrence : www.dev.ir www.java.schoolnet.ir www.sarzemine-it.com www.sohail2d.com/forum www.paradise19791979.persianblog.com www.qomcse.com/forum English Refrence : Java programming primer.pdf (e-book) www.cs.umb.edu/~serl/java/ppt/ www.iut-orsay.fr/~fournier/Cork/OOP.pdf