Osnove JAVA Programiranja

January 6, 2017 | Author: Omerovic Osman | Category: N/A
Share Embed Donate


Short Description

Download Osnove JAVA Programiranja...

Description

  

     

   

           

500

978-86-7912-189-9

    



   



           



                                                                          

              ' 



             !    # $  %       (    %      #          

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

   

        ' 

)             +  $   #           ,         )            

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

*  '' " &'



-  $                          ,$                         ,$                      

!   

 " & " 



     ' ' '

 

"  



./   $                       #    $                       

 



     # 



      

     

     

     

     

     

     

     

     

     

     

     

     

     

     

% !    &               !      %! '   '   '    (              )   ! '   ) "   & this          

     

     

     

     

     

     

     

     

     

     

     

     

 #  #   #*

                              

    

    

    

    

    

    

    

    

#   * *

 





+                +  for-each        ,  !      -           .&          



    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

!    / 0   !  ) "   & super % ! Object     1    

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

     #

"#$  %& 



* (                               * 61&

                         * . 1!                     

# # 

   

    !

     

     

# # # # # 

     

     

     

                                            

 ! "           $            

  

+    2!  !

3 4 !      ( "5   !



   

                                                   

   

  



 



    







  

  #  +    

  #   

  # % % %

% %

                                                            !     "               $    "                   &"                        '" (   )  "               !    ) "            ( *                   !     *            '" (  "   *                 *, -               '" (  "    ! , "          ( *                   '" (  "   *               '" (  "    ! , "          ( *  !           .                        / *, " , "   -   *   *     *             0   " main()                 !    *                      ) " ,  *  1        &"  *  1  1          2   3                     1! "   4                                                              

                             

                             

                             

                             

  # % 

 %% % %

% %   %   

%  

  %% %# % + +% + %  

         

     Graphics                                          !                       

    

    

    

    

    

    

      "

                                        

                                               !   "    

  #   $  %  &                            '             (                       &        "          

                    )      

*   + 

                                  "         ("     

       

                                             ,  ,--                             )                    .

               /             

     )                                             #                                 

 0                            "      iste širine 



 



          

                                                          

          

                   

    !       

   

[email protected]

  

    



1                                            

                    

               !                        "     #                        $   





  

%                   

  &       '                           !              

                                      

            !        (                   



       # !     &                       &  

                )                                   %  *

                   

     



  

            

                                  ! 

"    

 

    

                        # $$  % & #     #                            



      

     '   

             ((

   

      



 

   

 

"         

)     

    

 (( 

          *         

 



  

               

           !         #    

     

         

      

       

    

            +



    



 

"             

    

   

        

 #    "               #       

  

   

   #   

   

" # 

              

  

 

    





             

                     

                               !        " 

          #      $     #                 %                  %       ! &' (!



     

  

 

)  !   % 

   #      &'  !      %   

   *    %         !             "            % "  %  !       

 ! 

   +  , %       " ! %  -     

    *   %        "

      .             !     %     !   /                      %  .     

                        

    

          

        

    

                               

      

         !   

       ! !      "  #            !   

               

$                

               

  



         !     

          !      $   !  !                                #         

    %        

      &            

     

  '      (    

                          

$ 

 

                   

          )          '                *                      +               #    *



,                       



$                 #     !         

      



                

                       

     

      ! " #         $            $          %   %            $             &               '                         ( " ")) "*                                           '                             #                                     $                     %   +                    %     %   ,  '                        &                        --         $                                          '            

  %         . $                      %                      %      .                                 

     

                                                                                      !   " #        $ 

      %  &   " '  !     $          !(       

    '  !     )                        

 &                    

               

 &               *                                       *              (                                 %    *         

   *        *      

      +   *         *            *        

   *    , 

      -.        

   

 

            

  #  *   

/     -.            *                    *     *   )        &   *

       0      *            

     



                               

                                  

                      !"#"

 

 

     

    

      

     

     

    

$  

     "

%     

     

     " &                         " '   

                 

             " (      

                          " &       

      

    " (         

                         " )    

                               " *                          " &    

                 " )

          

       " %                             

     

                 "

     

                 

               

              

                                   !  "       #                 !            $        %    #       %             !    &                                   '           (     )* #+   , -  

%         .        

'            !                  !   %       , -      '     %      / 01 # %                      ! %                     &             %                22 0       /                                                 !   

     // Prvi Java program import java.util.*; public class Zdravo

    



{ public static void main(String[] args) { Scanner tastatura = new Scanner(System.in); System.out.print("Kako se zovete: "); String ime = tastatura.nextLine(); System.out.print("Koliko imate godina: "); int god = tastatura.nextInt(); System.out.println("Zdravo " + ime + "!"); System.out.println(god + " su najlepše godine."); } }

                                                      

                             !   "        #    $    %&                 '   #    Zdravo.java                          '  (    !  '  Zdravo"  '           # !         ' class     " !   &

    '      " )( !  "      java                           '  #   

    *           #      !  "             #  &   javac      &   java +       !            &  "            & ',

 





      

               

          Zdravo.java                        Zdravo.java            Zdravo.java  

 javac Zdravo.java

                  Zdravo.class 

! " # $         

 java Zdravo

%             "    &    '      "         ! "      '      

 Zdravo.java         "    (       '     '               "             

)  !* #!     *   $      +                ,      &       &       -        ,           (   -       )       .         / -0* -1 2 #-   1'  2$ )  !* 23  .               /    

     http://java.sun.com/javase/downloads/index.jsp http://download.netbeans.org/netbeans/6.0/final/                                           

        

                   !     "#$%      & ' 

      

(        & ' )

 * +,-              )        *   .$ / $ -

 

(        & ' 

(                                          )                $   



      

                                                                                  !

                

                                          "      !                 

         #$     %        

       &  !       '  "               (   !       (       )                   (                                       $            

)                                            )                                  *                                 +                                    *                    '     ,          (   -    #$                      )     

   

    



                                   

                  

 !          " 

   #             $                                              "      #               %             "      &      #                                              !                            '                            $         !        "    (            #)  *       + ,     ./

- '     

  0   

 

      

                        

         

          ! "     #      $%&     PrviProjekat      '    (           )       * )         +  "  #    JavaProjekti% *  ,  -     . - .  Zdravo           /+   0  1         (" # 2%  



    

 



        

                                                         

Zdravo.java   

                      

                           

      

           

           

 !   "

       #  $  

        %

Zdravo.java              %

    



  % &&

Zdravo.java '    ( %  )  * +  ,      -     %  !

 * !   %            



      

 

     

                          

           !

 

"   #      

$        %&' "(()""*&

    



  

                     

        

!"

               #            $    %    %    

           %    &   

         

       '  (  ) *  '  +           

 

          

               ' Zdravo.class '    $        ,            '

      

      $          -   

%    ' ...

 

    

   $       

 

           

' / ( / ) *  ' 0 '

     &  

       



   

      -        



  ' ..1            2      '3

         ' / ( /

) *  '  *   $  $ %   4    &     

         $  5 $  



      

  

   



          

    

       



www.netbeans.org



2                                              

         ! "         ## $%  $

 &  '$   ( )*  &  $     + , -                   $                    .                                 -      ' /+ ! &                     (                  ( $   ' 01          +       2      - 3   $    (              4  5 '  5+ 



       

     

         

          

                             

       !            "  !      #      $            " $  %        "      $   "     $               %    $  &

"  # $          '    (       $   "     &              

$          $           &            "    $

 $!    $ $      "  $      ! %   )$   *         

     "  $     "   !  

        "  ""              &        

      "            "      & " $      +        "$       &      $     $  ! $    $       $   

           $         "      ,     $ +   "     $ "          java.sun.com



      

  "     &                      "         &  " ! $  $  - 

         $                  #    !

        



                                                                               !           " "     "     "           # !                 $   !                   "                              ! %    " ! "      &    $

  "                                  &         '  "             &          (      "  " "  "              )          "    "  "     *      $             +              '      "  "    "               

 "                  )

    "        &                          *                                  ' "                     $

          !           "                    ,                %       "   "      "            -         " 

  !     "             (                 "            . !                        * "              

       

                              

                 

                                  !  

                      "          #       $ %    &                                     '       #                 (              )    $   #         %  ) ' $   #      %            $  %    '    $  %             *+

            

   $%

 $  '%

             '     &        Zgrada           brojSpratova boja  adresa                             okreˇci  dozidaj               (        Zgrada       **

        



brojSpratova boja adresa

okreˇ ci dozidaj

       Zgrada                                                              !          "                                            #

                                                                             Zgrada                       !      " class Zgrada { int brojSpratova; String boja; String adresa; . . . public void okreˇ ci() { ... };



        public void dozidaj() { ... }; }

                           Zgrada                                    ! " ½ " ¾ " ¿ brojSpratova

¿

brojSpratova

½¼

boja 

boja





adresa



adresa

brojSpratova

boja   adresa

okreˇ ci

okreˇ ci

okreˇ ci

dozidaj

dozidaj

dozidaj

 

¾ 

#   Zgrada

$   !              %  &          #                               

'                             

         #               (           $            )              *)          )      *      Zgrada   (              + *                  )       

                   StambenaZgrada          Zgrada  '      ,

        



Zgrada

StambenaZgrada

Soliter

 

Ku´ ca

PoslovnaZgrada

Vikendica

             

class StambenaZgrada extends Zgrada { boolean lift; . . . public void popraviLift() { ... }; }

                    StambenaZgrada                          extends         StambenaZgrada              StambenaZgrada    !              Zgrada "           StambenaZgrada         

   #             $%         #                                                    &                &       &



       

 ½ brojSpratova

 ¾ 

brojSpratova

boja  

adresa

lift 

boja   adresa



lift  

okreˇ ci

okreˇ ci

dozidaj

dozidaj

popraviLift

popraviLift

 

      StambenaZgrada

    

                                      

                           !"      

                 "                 ! # "   "   #            $     % java.lang

java.util

java.io

java.net

java.awt

java.math

     &''         !            #       !         #  !       #  ( )             *       (  "      

             ! #      "           ! #    !       !    !      !  (  

  $ " & +  !  #     "   ,-                    !            %

    



          

                

                         

                          !          "                         #             Date      java.util                     java.util.Date $"          % &  '    %  &           (     ) *  %                          



       

                import                 MojaKlasa       Date     class MojaKlasa { ... java.util.Date d = new java.util.Date(); ... }

     import java.util.Date; class MojaKlasa { ... Date d = new Date(); ... }

     !         "  #            import     $      #  *     !    %  &"               import java.util.*; class MojaKlasa { ... Date d = new Date(); ... }

'            (                           $   import                                     '   )*                        +    

    



                                                  java.lang                            ! import java.lang.*    

"              # $%                                               !            &                    ! package   $%        '   !                ! import            MojaKlasa       mojpaket  $%     ( package mojpaket; import java.util.*; class MojaKlasa { ... }

)          *  

 !          +    )                                 ,   *         MojaKlasa.java       MojaKlasa               mojpaket , %                             +    )   %  MojaKlasa                 *        mojpaket ,  $               

 -   ,                .         



       

        

                                                     package import                                          !                               !              "              .java #                               !   $    $     %    & Restoran

Gost

Kelner

Jelovnik

Raˇ cun

                        & Restoran.java

Gost.java

Jelovnik.java

Raˇ cun.java

Kelner.java

'              () class Restoran

class Gost

class Kelner

class Jelovnik

class Raˇ cun

{

{

{

{

{

... {

Restoran.java

... {

... {

Gost.java

Kelner.java

... {

Jelovnik.java

... {

Raˇ cun.java

              

   $        *        + !      ! %         !       !      ,        

     



                      javac Restoran.java javac Gost.java javac Kelner.java javac Jelovnik.java javac Raˇ cun.java

                  Restoran.class

Gost.class

Jelovnik.class

Raˇ cun.class

Kelner.class

                 !

 "  "      #             Restoran      java Restoran

 "                

  Restoran            !                  $                  .java        

      .class      %   % 

 

      $      %                        %  &   

           "         

               '

      "             (                              )    

                 



       

    // Prvi Java program import java.util.*; public class Zdravo { public static void main(String[] args) { Scanner tastatura = new Scanner(System.in); System.out.print("Kako se zovete: "); String ime = tastatura.nextLine(); System.out.print("Koliko imate godina: "); int god = tastatura.nextInt(); System.out.println("Zdravo " + ime + "!"); System.out.println(god + " su najlepše godine."); } }

        //                                                    

                           !     "

     !  !       ! !         !   #             import            java.util $             Scanner      Scanner      !             %      System    java.lang            import              System       !  !         &'  !  !         & ' (    import     )    

                              

     



               class                            {  }                                         Zdravo !    class        public   "                               #               $                  $             main()   % public static void main(String[] args) { // Naredbe ... }

&      main()            '            (     !                   main()          $        main()       )            Java Zdravo

      &       "       Zdravo         main()     *                      main()               "              " *                                  +                #  "         (  (           $        , &        main()    Zdravo  "

          -   & 

               $ 



       

                

         

    System.out.print( ... ) System.out.println( ... )

                              println                     !      System.out.print("Kako se zovete: ")

      " Kako se zovete: #        

              $    System.out.println("Zdravo " + ime + "!")

                                                     %     

  main()   Zdravo Scanner tastatura = new Scanner(System.in)

   &   new'    Scanner                 System.in $              (   )            tastatura        Scanner                  *       nextLine()    tastatura    String ime = tastatura.nextLine()

              

  nextInt()    tastatura    int god = tastatura.nextInt()

             !                      *                 

     



                                                                        

                                                                     

              



// Prvi Java program import java.util.*; public class Zdravo { public static void main(String[] args) {Scanner tastatura = new Scanner(System.in); System.out.print("Kako se zovete: "); String ime = tastatura.nextLine(); System.out.print ("Koliko imate godina: ");int god=tastatura.nextInt();System.out. println( "Zdravo " + ime + "!"); System.out.println (god + " su najlepše godine.");}}

    !  "               # $   %               &                              '                                                                      (                                   &  *   

             )    

&                 



       

                             



3                                                                                                   

               !       "           !            !                # $      #$ %  !                                            &                              '     #_$      

     ½ (           "               $                     ½

)*



     tastatura

Zdravo

brojStudenata

N

n

x15

broj_studenata

jedno_VRLO_dugaˇ cko_ime

                     broj_studenata  broj studenata  

              Zdravo zdravo ZDRAVO zdRaVO                

                              import class public static if else while            !       

 "      #   $       %                  # 

               

"                       tastatura             xy  bzvz &        

     &        !      '    (           '                          )             brojStudenata         "                                 

            *                                        !     '               "            +             ( System.out.println !       "        '      !                "       System.out.println  

     



     System           println

 out

  

     

                                  

                                   

!  "                  #      

               $ %       

 

 $  &    $ #  $ # '$          (                      $   

   %      )            

  "

          *                   byte# short# int# long# float# double# char boolean            $  +$  $      # 

,                 

  $ 



  $  &  byte 

   $ + $  ,  $  

  $     #          $        +     ,# %      &  short 

  $ +  $  ,  $  

  $            $        +     , &  int 

   $ + $ ,  $  

  $           $        + 

     , &  long 

   $  + $ ,  $  

  $            $          +         , )            #  

   $   %      $       



    

            int              float  double                                                                  !     "  float                # $

                      !             

               double                #                        ! %                $        double       $   char           !     # $

                    A a     ! 0 1           * ?      

                    &                             '               '      

 

 

    %          

                          (      char         $      ! "    ’A’ ’3’  ’*’ )    ! A        * 3       *        '    *        char

                +  

             ,             

  $   -           char      * &             

     



      \

           

 ’\n’       ’\t’        

    ’\\’            

                char                !         "       

       #         

    $     107 23.55  -0.5 %      &             '  (          $     0.32e4  12.345e-78 ) e4  e-78 '    

   0.32e4             12.345e-78           *      



          '    ' '   +                              &  double ¾ )                

float           F    f     1.2F  1.2f    



 float

,           

* !

       6945  -32       byte

short  int   '  %        long      L   $     6945L  -32L )  &     '      ' !    -      #       







$

     



   # 

   





  

    # 



-       

           

  045   #    

 

 



            float x = 1.2    ½ ¾  double     x  float       

   double  float          

  float x = 1.2f ¾



    

                                  !   "         # "      

$"   %     $" &       $" " %   0x  0X'  "    0x2A  0xFF70

( $"  )      $    $ $* %  " $     $  !   " %   \u   )

+ %     # "    $    ’\uC490’ $* %   ,-. /   "   " "  boolean ) $ "       %   ' %  % 0       & $%*        true  false  $ "   0 %     "       %+      $ $ %    "   &    "   "  "        " *    "       $    %                        1 $% "       "          2  " # "    $      % "       1  %    % "       $    * )      !$  "    &   % ' + - *  /

3     "         $   "      $    '  "     $ $ $ 17/5          & "    "   $ %   "          $% $

"  % # "     $ $ $ 17 % 5         "       17/5 4  "   "  "   1   "        " 2         " 5 *     "       $  & '

  ' <

    ' =

 ' ==   ' != !  ")      $ "   "     "+ $*

     





       ==                                 17 != 5       ’A’ == ’a’                                           ! "  

 #           !    $            %  #          &  %      !     '     ( String     String                )         %          *+( "Kako se zovete: " "Koliko imate godina: "

,     '                            '      -     !    !     #     !          " "  !  "ovo je string" ½¿         .             \n \t \\      .        \u   \uC490 /       0            \"      On reˇ ce: "Zdravo svima!"

            ( "On reˇ ce: \"Zdravo svima!\"\n"

                          +   %   "         "Java" + "programiranje"

 "Javaprogramiranje" .  #                         

               

          

           



     



                 

"Java" + " " + "programiranje" + " je " + "zabavno"           

"Java programiranje je zabavno"





       

 

     

     

 

        !       



 

  

   



   

  

      

   

  

      

"          

  

    

  



   

   #       

 



           

   

#   

    

                                   !     

  



         

        #

       

 

      



  

#  

        

    

        

                

#    

 

    



       

   

      



       

            

               

¿  

   

 



   

  



    

       $                   #       

        

%&

                          ¿

   



 x

y z

        

            x y  z                                                     ime = izraz;

 ime           izraz   

           !      "                izraz                ime              kamatnaStopa = 0.08;

#    ime  kamatnaStopa  izraz    0.08 $                      kamatnaStopa %           kamatnaStopa         &' (      &         &           kamata = kamatnaStopa * kredit;

)    kamatnaStopa * kredit      kamata       =   kamatnaStopa  kredit          *      &  *   "                          $    &       



    

  kamatnaStopa kredit           kamata                                                           

                                

                                       

           

                                                            x = 1         x      Ü      

   Ü   !                         x = x + 1  "       "      x  

"          =  "   #  $   x          =       %    x "         Ü  Ü           Ü        "  &           %   #     $  !              '    (             ' )    

       #  $                 "   &                             * tip ime;



tip ime = izraz;

   



  tip   

        ime      

      izraz           

   

         int godina; long n = 0L; float t; double x = 3.45; String imePrezime = "Pera " + "Peri´ c";

      

 godina n t x imePrezime                       

                 

n x imePrezime          =     !      "      

 "     

                   #      !    

 $         !    

 x          double #   !                 !    

 "        "                 

  "         

 %       &               %  !  &    

        int i, j, n=32; boolean ind = false; String ime, srednjeIme, prezime; float a = 3.4f, b, c = 0.1234f; double visina, širina;

'                            

                       

       $            " !      

 ime srednjeIme prezime (                  !    

                       double p;

// iznos kredita (principal)



     double k; int m; double r;

// meseˇ cna kamatna stopa // broj meseˇ cnih rata // iznos meseˇ cne rate

                

                                  

           main()  

                                         !"  #                           

      $ %              #    #             &              !  

        #                  &                               ''(                           !        %      

              ) #    *  "      

 )#              

 *                 #   +     )# # *             ,                    #       - .

    )#          *     + / 





 

   



            

                     f                

    c       

                 

              !   nextInt()            "           

     println()          #$    %     "  "    %    &

       

  import java.util.*; public class PretvaranjeStepeni { public static void main(String[] args) { int f; // broj stepeni Farenhajta int c; // broj stepeni Celzijusa // Ulaz programa se dobija preko tastature Scanner tastatura = new Scanner(System.in); // Uˇ citavanje stepena Farenhajta od korisnika System.out.print("Koliko stepeni Farenhajta? "); f = tastatura.nextInt(); // Izraˇ cunavanje stepena Celzijusa po formuli c = 5*(f - 32)/9; // Prikazivanje rezultata na ekranu System.out.print(f + " stepeni Farenhajta = "); System.out.println(c + " stepeni Celzijusa"); } }

$       {      

 % "               

   '"        (  



    

   

}

{

                

                    

           

                  

                         !  "             #  $ % &    #     $            

       '      

    %

     "   

     (

                    

   )      *     

      +             ) '               *        , )  )          &      (                    "   #   $         

             

  

   

   



 

         



            (

        -       

  *  

                                            .   

     

         

/

   

 00)    1         

          2           

!    



            #  *$          )  

         

3     

   

   



                 

main()



      

      4    



static

' )   

     



              

                                                              String             String          !

           "Java je kul!" "                                #                     $             %                      &  !   String                                 String '         Math                  (!              %      ))#  *                System

             +,    -        System out "       System           System.out " System.out                '                 #   .                          print '   System.out.print        print         out    System "         println/    System.out.println       println         out    System     01      %     print  println        "      (!       println  



    

                                               

                   System.out.println()

                                  

                                    

       print  println           !       "    

 double kamatnaStopa = 20.0/12; // kamatnaStopa = 1.666    System.out.println("Meseˇ cna kamata: " + kamatnaStopa);

           Meseˇ cna kamata: 1.6666666666666667

   

 kamatnaStopa   double          #$%#& '           "          '      '                    !           $(    printf     )

     ! '   * +  '   System.out.printf  !                 

     *     !'     )  ' ,  System.out.printf                      -   String.   / !            )                        printf   println double kamatnaStopa = 20.0/12; // kamatnaStopa = 1.666    System.out.printf("Meseˇ cna kamata: %5.2f\n", kamatnaStopa);

     



          Meseˇ cna kamata:

1.67

                   

  printf            %                                   d         f      s         !       %     "                 #       %d  %8d                 $                           %                              $   &                         %           int n = 23; System.out.printf("1. broj: %d\n", n); System.out.printf("2. broj: %8d\n", n);

     1. broj: 23 2. broj:

23

'           $   (

     ¾¿        "     '           %              printf "  "       (            \ )                "   "          "            int n = 23; System.out.printf("Kvadrat broja %d je %8d\n", n, n * n);

         Kvadrat broja 23 je

529



    

   %d           printf  n  %8d    

     n*n              printf                                       System.out.printf("Meseˇ cna kamata: %5.2f\n", kamatnaStopa);

    kamatnaStopa     %5.2f !  %   f  "   #                 # $  5.2  #             kamatnaStopa             %               &         e     $    ¼ ¿¿¿¿¾¿  %8.1e     0.3e23 '     g    e                        ( "  s              $              &      )  %10s  #               *  System      exit                         System.exit        "          &                 main +  exit                         System.exit(0)  System.exit(-1) )           "    "      $  ¼  #        "        "  "  "            #     Math ,       -#    .       #              #      $         

     



           

             Math          

         sqrt    x       Math.sqrt(x) 

       !   Math.sqrt(x)     double                                  System.out.println( Math.sqrt(x) );

"   Math.sqrt(x)            =      

      double stranica = Math.sqrt(x);

     #   Math             Math.abs(x) 

     x Math.sin(x) Math.cos(x) Math.tan(x) 

            x $% x          & Math.exp(x) 

        x Math.log(x) 

    x    Math.pow(x,y) 

  x   y Math.floor(x)       x  Math.round(x)      x         Math.floor(5.76)     Math.round(5.76)    Math.random()  $ &          %                    '   Math.abs(x) Math.round(x)          double  Math.abs(x)           x    Math.round(x)       long !     Math.random()   ( Math      #            Math.PI   



    

   



  

Math.E

double

      

 

  

    

        

      

    

 String   

String

  

String

             

   

        

              !

length()

 

 

  

      

"             



String

imePrezime



       !

String imePrezime = "Pera Peri´ c";                     #          $%

imePrezime

"Pera Peri´ c"

length

 

&             #   

String imePrezime = "Pera Peri´ c";

' 

imePrezime.length()

  

 

   

Peri´ c"

#  

s.length()

   

    

   

      

int s

length    (

      

     

   

imePrezime

s



String

 

"Pera

 

                      

           

length

    

                    

s

     



                     String                                                     

                     imePrezime   !     " "Pera Peri´ c"  #  $      imePrezime   "Pera Peri´ c"     $              String                    length()       String  %        &     #$ $         s1  s2    String' s1.equals(s2)   #   boolean' true ! #"    s1      #        s2 false ! #"    #  s1.equalsIgnoreCase(s2)            s1  s2                 s1.charAt(n)   n         char               s1            ¼  s1.charAt(0)       s1 s1.charAt(1)       s1            s1          s1.length()-1 s1.substring(n,m)   n  m        String           s1       · ½     ½ (                 s1   #  s1.indexOf(s2)              

    s2   s1 )   s2      s1     ½ &#     s1.indexOf(ch)                ch   s1 s1.compareTo(s2)                 s1  s2 )  s1  s2     

 ¼ )  s1     s2            

   s1   s2     



    

                                                    

s1.toUpperCase()              s1  !       s1    "     s1    "Jaje"    s1.toUpperCase()    "JAJE" #                  s1.toLowerCase() s1.trim()              s1  !       $     s1     "   s1    " to je: "    s1.trim()    "to je:" %  &              s1    s1.trim()   '      !          (          s1          )

s1.toUpperCase() s1.toLowerCase()

s1 = s1.toUpperCase();

*                    + , %        +        "  !    System.out.println("Zdravo " + ime + "!");

      "                 println "Zdravo "     ime  "!"                  #             %    &            !                 "         god    ¾¿       god + " su najlepše godine."

    "23 su najlepše godine." - $    .          ¾¿   god    .      "23"           " su najlepše godine."

     



      

         

print

      

System.out.println("Meseˇ cna rata: " + r);

          r   double                                               god    god + 1                              "" + god + 1           "231"          +                                  +                                         "23"       "23"     !   

      "1"      "231"  Scanner

"   # $              "    #    $                                   %             "  &     java.util   Scanner   #          "   '         "                        (     Scanner

                    

         Scanner                Klasa     new     #   new Klasa(

)

  Klasa( )                 Klasa        $  #     )*                     #                  +     ,   -   .                #  String 

   "    



     String imePrezime = new String( "Pera Peri´ c" );

             String        "Pera Peri´c"              String       new                      imePrezime             

          !               " String imePrezime = "Pera Peri´ c";

               #         $   new           Scanner %    " Scanner tastatura = new Scanner( System.in );

&           Scanner             tastatura $      Scanner         System.in '  

       Scanner                    (            #        )       &   *             in   System                     out   System + Scanner %           

              '    #   )       tastatura  " tastatura.next() ,  

             -           .       String tastatura.nextInt() tastatura.nextDouble()   ,  

          int double 

 /              #  

 #       tastatura.nextLine() ,                 -     .     

     



 String                                                             

     

    

int god = tastatura.nextInt();

  

   

     

    

god !  Scanner   "                                #     

tastatura.hasNext() $     

 boolean  

true %  &        

  

          

tastatura.hasNextInt() tastatura.hasNextDouble()   '  $          

 boolean   true %  & 

 int double 

    

     

tastatura.hasNextLine() $     

 boolean

  true %  &                                   Scanner                                                                         Scanner   

       

 

   

   (         

        )          '             *                  +   ,    

  

-      



     



    

  Byte Short Integer Long Float Double Character Boolean

                                                     Double                 double           double !    "      double      new Double d = new Double(5.220931);

    d   #                #   $         double    "         doubleValue()  Double    

   double x = d.doubleValue() * 3.14;

%     int         Integer

   char      Character    & 

   ' ( )  *     +        *             

   int            Integer

 int  *      Integer   !  

   Integer broj = 23;

 *          Integer broj = new Integer(23);

 *       ,  - !"               

    d       Double  *   double x = d * 3.14;

     



                 double            d                                                                                   !  Integer     MIN_VALUE  MAX_VALUE             int         "         

       #        Byte Short Long Float Double  Character    Float  Double  MIN_VALUE    $             ¿   %                             $                   !  Double                  ! POSITIVE_INFINITY                  &              1e200 * 1e200       MAX_VALUE   '      POSITIVE_INFINITY (      NEGATIVE_INFINITY !  NaN ) $      *   '     $                  !                  %   Integer   parseInt()      int &  Integer.parseInt("17")     $    int      parseInt()        $      (   Double   parseDouble()    

               

    d.doubleValue()       double         d



    

  double   Double.parseDouble("1.548e100")             double                                    valueOf()   Integer.valueOf("17")           Integer         Double.valueOf("1.548e100")           Double           Character                           char                                !  "  #$        %          &        '      (    isLetter() isLetterOrDigit() isLowerCase()                           char                      

  $                       )                                       *  + < $             +                                         print                                )                  *                     *  ,            #! "    *  17 0.23 true  ’A’(     -   

                            #          (           *       

 



                         x + y * z

                y * z          x             *               +                               (x + y) * z            x + y           z

    !      "        #                + - *  / !                  $byte short int long float  double%         &  #                           17.4 + 10    #  10        10.0        17.4 + 10.0 !                ' (       ' &(   )                   !                    )                   $         %               #     int    #    int*           double        double !              / )     #         #      #    #    7 / 2      #  3     3.5 +    n #       int    1 / n #  int   n   10        1 / n  0 $,        1 / n & 0      n &  -%    #             .                  

       

      1.0 / n               n                        n    10          10.0   1.0 / 10.0      0.1                                                      !        "     n  m        int  # (double) n / m

$            n  double              m         

      double %                        &   '        !       $        (  Math.random()   !              &         )    6*Math.random()         &                 (int) !                               *   (int)(6*Math.random())         $                *

       &     !  # (int)(6*Math.random()) + 1         +        !   &          int "             ,         (int) ’+’       (char) 97     ’a’        char  int                                 char

*                                        %     7 % 2      1  3456 % 100      56

 



       

          

                

                                                                 

 -            -x    (-1) * x !                

  

  "



 x   -x      #

 x   -x       $                     "

 %     +x         !  &                  '                                ()           x   %      x = x + 1      

=           x               x  

 *      x        

=+ ,     x = x - 1   %       x 

                

 ++ --                    "

 x++  ++x  )   x = x + 1  x--  --x  )   x = x - 1  

    x   

 !  

x++          ++  --            

                       -    x++;  ++x; * ;   + .'     x++ ++x x-- --x                %                y = x++; z = (--x) * (y++); System.out.println(--x - 1);

&         ++  --                    )    )     y = x++;            x 



    

 y         x ½   

 x   ½¼       y = x++;  y    ½¼    x     x   ½½           y = ++x;           x ½          x   y     x   ½¼       y = ++x;  x  y     ½½     x   y           --                      !                   "                

                     

#       $     %                   &                   true    false   '                

        ( &    %                            boolean        )           

               !       *    $   $     )         %                        + )   *   == != < > = #  x  y      $  

, x == y         true   x   y          false x != y         true  x    y-          false x < y         true   x   y          false

 



          true    x   y         false

x > y

          true    x       y         false

x = y

  x y                  char     char              ! "       #  ’a’ < ’z’      true     $   ’a’  

  $    ’z’  ! "  %  &   '          %     %   ( )             (  (    x y                   ==      != *          + boolean istiZnak = ((x > 0) == (y > 0));

,  %   "                      String !      == !=      ( )          ,     ==       )"       String                 '                       String         ./+ equals equalsIgnoreCase compareTo

    0           %             0              

               0    *     "      && #              true                  true !                 false     &&  false ,      



     (x == 0) && (y == 0)

       true        ¼       x  y                ||                  true                   true               false    ||  false       (x == 0) || (y == 0)

       true        ¼          x   y       !   &&  ||   "         #          #                 $                %             $ 

$& !   #   ' (x != 0) && (y/x > 1)

(  x     ¼       y/x     )    ¼           (y/x > 1)         (         x    ¼     % #                  (x != 0)    false %             false          *        &&     true              true  "                  !  %            ! x     true        x    false+         x    true       ! x   false ,                      

   "                                

 



                                                      logiˇ cki-izraz ? izraz½ : izraz¾

             logiˇckog-izraza        izraz½  izraz¾  !                   " #     logiˇ cki-izraz                true         izraza½ $         false         izraza¾  #      n = (m % 2 == 0) ? (2 * m) : (m - 1);

   n         2 * m        m              m % 2 == 0        n        m - 1        m         m % 2 == 0                     %           

    &                       =                = '(   =                                          )           ime = izraz

    izraza           "             izraza              ime              = #              y      x               ¼ 



    

                               ( (x = y) == 0 ) ? ( ... ) : ( ... )

             x = y       y    x                          y  x

       ==          ¼                           

  ?   :                                         

           

       !      "           #     x = y; (x == 0) ? ( ... ) : ( ... )

                    $               %&     '                          ime += izraz

    ime = ime + izraz

(       '   )                x x x n p

-= y; *= y; /= y; %= m; &&= q;

// // // // //

isto isto isto isto isto

što što što što što

i i i i i

x x x n p

= = = = =

x x x n p

- y; * y; / y; % m; (n i m celobrojne promenljive) && q;(p i q logiˇ cke promenljive)

*       +=  )       +       +        "  $    +  s += t    s = s + t   s  t          

                

 



      s             

      t      s    "Dragan"     s += "a";        "Dragana"

   

                 

               

                                                                          ! " #    ! $     ! %    ! &       ! '   (! '   ('(! )  ! )  !

 

+ - ++ -- * / % + -

      

 = == != && || ?: = += -= *= /= %=

*      &       # 

)                

                      

                               x * y / z           (x * y) / z   x = y = z

      x = (y = z) *                                           

             

     #          

               #  +                    

       



    

                                                                                                                                                             !                   "                      #           $  %                                                                            "                               !                    "                                         &              # $                  #  $                      "                          68 / 25         68 % 25 '   &              

               %    iznos     !                                    (          )                    *   +    iznos   %

 

 



                            n25 n10 n5  n1                   

       import java.util.*; public class Kusur { public static void main(String[] args) { int iznos; // dati iznos za usitnjavanje int n25, n10, n5, n1; // broj novˇ ci´ ca usitnjenog iznosa // Ulaz programa se dobija preko tastature Scanner tastatura = new Scanner(System.in); // Uˇ citavanje novˇ canog iznosa za usitnjavanje System.out.print("Unesite iznos za usitnjavanje: "); iznos = tastatura.nextInt(); // Izraˇ cunavanje brojeva novˇ ci´ ca usitnjenog iznosa n25 = iznos / 25; // broj novˇ ci´ ca vrednosti 25 iznos = iznos % 25; // preostali iznos za usitnjavanje n10 = iznos / 10; // broj novˇ ci´ ca vrednosti 10 iznos = iznos % 10; // preostali iznos za usitnjavanje n5 = iznos / 5; // broj novˇ ci´ ca vrednosti 5 n1 = iznos % 5; // broj novˇ ci´ ca vrednosti 1 // Prikazivanje rezultata na ekranu System.out.print("Minimalni broj novˇ ci´ ca za "); System.out.println("dati iznos je: "); System.out.println(n25 + " novˇ ci´ ca vrednosti 25"); System.out.println(n10 + " novˇ ci´ ca vrednosti 10"); System.out.println(n5 + " novˇ ci´ ca vrednosti 5"); System.out.println(n1 + " novˇ ci´ ca vrednosti 1"); } }



    

       

                                                                !         " #         !                    $               %       & '   % ¼        % ½ ¼   ¼   ¼         % ¾ ½  ½   ½                %   ½    ½    ½  (            )    ½          )    ¾           )  ¼      )       !         %                  







( *      )                     !             +      , )                 %                





$!  )  -                     ,         .      import java.util.*;

 



public class RataZaKredit { public static void main(String[] args) { // Ulaz programa se dobija preko tastature Scanner stdin = new Scanner(System.in); // Uˇ citavanje kredita, kamate i broja rata System.out.print("Iznos kredita> "); double p = stdin.nextDouble(); System.out.print("Godišnja kamata> "); double k = stdin.nextDouble(); System.out.print("Broj meseˇ cnih rata> "); int m = stdin.nextInt(); // Izraˇ cunavanje meseˇ cne rate double mk = k/12; // meseˇ cna kamata double aNaM = Math.pow(1 + mk, m); double r = (p * aNaM * mk) / (aNaM - 1); // Prikazivanje rezultata na ekranu System.out.println("Meseˇ cna rata: " + r); } }

                               

              Math.pow()                          aNaM                 

    

          mk  

    ½¾             



4  

                

   

      

 

   

              

                    

    

 

                             !                          

  !  "    

         #if   if-else   switch  $        #while   do-while   for  $½ %           

                        "   #     $  %                                              &

               &                               

 %                                         '               if    while

          ½

()



   

             



                                                 

  

   

   

           

            

         

       !   

 "

        

      # 

 "



          $#

   %    "       #          &

   

         

      '

{ niz-naredbi } (     



         

     {         }¾ %      

                   "  #      

     

 

                )$         

     

   &           

                              *           

  

    main()   &         "    #                      &           

main()  



   +, '

                                     ¾

  



{ Scanner tastatura = new Scanner(System.in); System.out.print("Kako se zovete: "); String ime = tastatura.nextLine(); System.out.print("Koliko imate godina: "); int god = tastatura.nextInt(); System.out.println("Zdravo " + ime + "!"); System.out.println(god + " su najlepše godine."); }

                    {      }                   x y          { int z = x = y =

z; x; y; z;

// // // //

pomo´ cna promenljiva vrednost z je stara vrednost x nova vrednost x je stara vrednost y nova vrednost y je stara vrednost x

}

             

       z          

                

   !   !       "    

                                  #     !       $ %         !          & 

           !                        '            "                !  "                

   (                  $  %      "  

       !       



 

    



   

     

                                                                                                         if  if-else            !                              "    switch                                    ¿

 if  if-else #  if  $ % if ( logiˇ cki-izraz ) naredba

&   if                logiˇ ckog-izraza  '       true   naredba        if (      false           naredba   " 

       if          

       if  )      if      !          *+ ,                     false         if  '       if-else  #  if-else  % if ( logiˇ cki-izraz ) naredba½ else naredba¾ ¿

       

       



     



logiˇ cki-izraz

true

false naredba

  

  

if 

if-else     if     

        



logiˇ ckog-izraza      false

naredba¾    naredba½      

logiˇ ckog-izraza   true  naredba½   

naredba¾       if-else             

if-else 

  

       

logiˇ cki-izraz

true

false

naredba¾

 



       

   

naredba½

if-else 

if-else     

if-else    

  

            



   

     if   if ( n % 2 == 0 ) // n je paran broj? System.out.println("n je paran broj"); System.out.println("n = " + n);

                      n % 2 == 0   if               n    ¾            n        true  !      System.out.println("n je paran broj");

  if           " n je paran broj#             if      

  n % 2 == 0  false  !       $      if   %       if                   if             System.out.println("n = " + n);

            n     &   '        System.out.println("n je paran broj");

     if         ( )    * 

               )             '           &                $     if           n                       if-else   %    if ( n % 2 == 0 ) // n je paran broj? System.out.println("n je paran broj"); else System.out.println("n je neparan broj"); System.out.println("n = " + n);

&             n % 2 == 0   if-else      true  !     

     



System.out.println("n je paran broj");  

else

   



if





  

  

false

 



  

System.out.println("n je neparan broj"); 

else



 

  



if-else

     

           

   



if-else

        

System.out.println("n = " + n);             

n

 

          

naredba naredba½

     

naredba¾ if

if

if-else

     !  

   



     

   

if ( logiˇ cki-izraz ) { niz-naredbi } 

if-else

    

if ( logiˇ cki-izraz ) { niz-naredbi } else { niz-naredbi } "   #            #

  

$   !     !

x

y

if

   



    

 

x

y

if ( x int z = x = y = }

> y z; x; y; z;

) { // pomo´ cna promenljiva // vrednost z je stara vrednost x // nova vrednost x je stara vrednost y // nova vrednost y je stara vrednost x

             {                  }            



   

         if            x            y              

        if-else                    Scanner tastatura = new Scanner(System.in); System.out.print("Unesite polupreˇ cnik: "); double r = tastatura.nextDouble(); if ( r = 0 ) if ( y >= 0 ) System.out.println("Prvi sluˇ caj"); else System.out.println("Drugi sluˇ caj"); )         *

x

    

   

¼

  

    

     

     



                Drugi sluˇcaj                    if-else                                     if          

if ( x >= 0 ) { if ( y >= 0 ) System.out.println("Prvi sluˇ caj"); } else System.out.println("Drugi sluˇ caj");

        if-else       else                 !   if ( x >= 0 ) if ( y >= 0 ) System.out.println("Prvi sluˇ caj"); else ; // prazna naredba else System.out.println("Drugi sluˇ caj");

        "

   if  if-else    

#                  $                      

  %     #     &                            

       #               x y  z       

            %%     #              '                   x      #   (            y   z (   

       #   y   z           )                       % y   z



   

               

         import java.util.*; public class Sort3 { public static void main(String[] args) { // Uˇ citavanje tri vrednosti preko tastature Scanner tastatura = new Scanner(System.in); System.out.print("Unesite tri broja: "); int x = tastatura.nextInt(); int y = tastatura.nextInt(); int z = tastatura.nextInt(); // Prikazivanje sortiranih vrednosti na ekranu System.out.print("Rastu´ ci redosled unetih brojeva je: "); if (x < y && x < z) { // x je na prvom mestu if (y < z) System.out.println( x + " " + y + " " + z ); else System.out.println( x + " " + z + " " + y ); } else if (x > y && x > z) { // x je na poslednjem mestu if (y < z) System.out.println( y + " " + z + " " + x ); else System.out.println( z + " " + y + " " + x ); } else { // x je u sredini if (y < z) System.out.println( y + " " + x + " " + z ); else System.out.println( z + " " + x + " " + y ); } } }

                                    y  z 

     



        

y

z



 

 

if

   

               

            

       

                                                  



x

 

y

!

                "

                      

z



x



y

# 

          

$       

    

 

   %

if (x > y) { // zameniti vrednosti x i y int a; // pomo´ cna promenljiva a = x; x = y; y = a; } // x je sigurno ispred y if (z < x) // z je na prvom mestu System.out.println( z + " " + x + " " + y ); else if (z > y) // z je na poslednjem mestu System.out.println( x + " " + y + " " + z ); else // z je u sredini System.out.println( x + " " + z + " " + y );

 switch &     

switch

      

                   

   

switch ( izraz ) { case konstanta½ : niz-naredbi½ break; case konstanta¾ : niz-naredbi¾ break;

switch

 

%



    . . . case konstanta : niz-naredbi break; default: niz-naredbi·½ }

       izraz                          niz-naredbi         case   switch              konstanta   case          izraza    niz-naredbi    case        switch       default           izraza        konstanti  case       default           izraza        konstanti  case           switch           case          break    !" break           # case      switch   $     case        break          case   switch                  break          switch   %  case  switch            # niz-naredbi  break   $   & ' case    & ' case    niz-naredbi         (     #   niz-naredbi        izraza                        #  switch              case                   // n je celobrojna promenljiva switch ( 2 * n ) { case 1: System.out.println("Ovo se ne´ ce nikad izvršiti,");

     



System.out.println("jer je 2n paran broj!"); break; case 2: case 4: case 8: System.out.println("n ima vrednost 1, 2 ili 4,"); System.out.println("jer je 2n jednako 2, 4 ili 8."); break; case 6: System.out.println("n ima vrednost 3."); break; case 5: case 3: System.out.println("I ovo je nemogu´ ce!"); break; }

          switch                                                

                                         

 

   

import java.util.*; public class Meni { public static void main(String[] args) { // Prikazivanje menija na ekranu System.out.println("Opcije menija su:"); System.out.println(" 1. Predjelo"); System.out.println(" 2. Supe i ˇ corbe"); System.out.println(" 3. Glavno jelo"); System.out.println(" 4. Salate"); System.out.println(" 5. Poslastice");



    System.out.println(" 6. Pi´ ce"); System.out.print("Unesite broj opcije koju želite: "); // Uˇ citavanje izabrane opcije menija Scanner tastatura = new Scanner(System.in); int brojOpcije = tastatura.nextInt(); switch ( brojOpcije ) { case 1: System.out.println("Izabrali ste \"Predjelo\"."); break; case 2: System.out.println("Izabrali ste \"Supe i ˇ corbe\"."); break; case 3: System.out.println("Izabrali ste \"Glavno jelo\"."); break; case 4: System.out.println("Izabrali ste \"Salate\"."); break; case 5: System.out.println("Izabrali ste \"Poslastice\"."); break; case 6: System.out.println("Izabrali ste \"Pi´ ce\"."); break; default: System.out.println("Greška: pogrešna opcija!"); } }

}

        

                                                        ! 16 4 2008" #                              ! 17 4 2008"

     



                                

                    

                30 4 2008         1                                 31 12 2008            1          !          "  #                    $  " %        maxDanaUMesecu        switch          &                   

              

                 

 

         import java.util.*; public class Sutra { public static void main(String[] args) { // Uˇ citavanje datuma u formatu d m g preko tastature System.out.print("Unesite datum u formatu d m g: "); Scanner tastatura = new Scanner(System.in); int dan = tastatura.nextInt(); // dan datog datuma int mesec = tastatura.nextInt(); // mesec datog datuma int godina = tastatura.nextInt(); // godina datog datuma // Odre¯ divanje broja dana u aktuelnom mesecu int maxDanaUMesecu = 0; // ukupan broj dana u datom mesecu switch (mesec) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: maxDanaUMesecu = 31; break; case 4: case 6: case 9: case 11: maxDanaUMesecu = 30; break;



    case 2: if (godina % 4 == 0 && godina % 100 != 0 || godina % 400 == 0) maxDanaUMesecu = 29; else maxDanaUMesecu = 28; break; default: System.out.println("Pogrešan mesec!\n"); System.exit(0); } // Izraˇ cunavanje sutrašnjeg datuma if (dan < maxDanaUMesecu) dan++; else { dan = 1; if (mesec < 12) mesec++; else { mesec = 1; godina++; } } // Prikazivanje sutrašnjeg datuma na ekranu System.out.print("Sutrašnji datum je: "); System.out.println(dan + " " + mesec + " " + godina); }

}

              dan mesec  godina                                                                                                      !godina % 4 == 0" #$              

                    

      





              

               

                        default   switch      System.exit()

                                       

int maxDanaUMesecu = 0;      

 !       "

        maxDanaUMesecu                  

    #        $%                            maxDanaUMesecu if     "      &          '     "                        

 

(   '   

  

 !                              '                "  #  $  

        

#  $                  default   switch                maxDanaUMesecu  '                 )  if   

switch    (         default  

switch             if    switch     maxDanaUMesecu

   )     "

      

     

  

   maxDanaUMesecu

         

'   

  

                 switch   



   

     

                                  

                             true                      false                !                   

 while "   while  # while ( logiˇ cki-izraz ) naredba

 naredba   while             while       # while ( logiˇ cki-izraz ) { niz-naredbi }

$    while             

  logiˇckog-izraza   %         &  false '       while        while          &        while  %           logiˇ ckog-izraza   true       naredba   niz-naredbi              logiˇcki-izraz    &        logiˇcki-izraz   false       while (  logiˇcki-izraz   true     naredba   niz-naredbi          logiˇ cki-izraz 

                           while  )   * while         naredbe   niza-naredbi        logiˇ cki-izraz   %         while                         while  +        while      &    ! ,-

     



logiˇ cki-izraz

true

false naredba

 



while 

               



while             while

 

 

 

naredba  niz-naredbi   while  

  

           

while     logiˇ cki-izraz    

      

 

!  "      

¼











  

 

while     

    #

int broj = 0; // poˇ cetni broj koji se prikazuje while (broj < 10) { // ponoviti sve dok je broj manji od 10 System.out.print(broj + " "); // prikazati broj na ekranu broj = broj + 1; // pre´ ci na slede´ ci broj } System.out.println(); // pomeriti kursor u novi red $           "



% 

   

while         &

broj < 10

         



'    

  " 

true  

broj        

%           

       

   broj    

    

 

broj  

broj   ( " 

while       

broj < 10 '       true         

broj  

  

   





   

                         ½     broj         ½  

     broj   ¾       while  

              broj < 10         true          broj

 ¾       ¾        ½¼                                           broj         ½                   broj     ½¼         broj < 10   false  ½¼      ½¼              while                          while                                        while          logiˇcki-izraz     ! while                          "         while    #               $        while   %          &      logiˇcki-izraz   ! while               " &   while   #    "                 $        logiˇcki-izraz                  while   $    while                    '                      

             (                                                         

     

 

        

import java.util.*; public class Štednja { public static void main(String[] args) { double stanje; double kamatnaStopa; int period;

// akumulirani iznos štednje // godišnja kamatna stopa na štednju // broj godina za izveštaj

// Uˇ citavanje poˇ cetnog depozita, kamate i perioda izveštaja Scanner tastatura = new Scanner(System.in); System.out.print ("Unesite poˇ cetni depozit: "); stanje = tastatura.nextDouble(); System.out.print ("Unesite godišnju kamatu: "); kamatnaStopa = tastatura.nextDouble(); System.out.print ("Unesite broj godina izveštaja: "); period = tastatura.nextDouble(); // Prikazivanje akumulirane štednje nakon svake godine int godina = 1; // godina za koju se prikazuje štednja while (godina zamišljenBroj) System.out.println("Zamislio sam manji broj :-("); else { System.out.println("Bravo, pogodili ste broj :-)"); pogodak = true; } } } }

              ½  ½    

               

                pogodak

     



                    

while

     

        

   

      

false

      

            

                                

    

          

 

                     

                

  



         

                                                                        

  

         

         

           

  

        

                         

 

    

!        

                     

    

 

           

import java.util.*; public class Prosek { public static void main(String[] args) { double broj; double suma; int n; double prosek;

// // // //

aktuelni ulazni broj suma ulaznih brojeva brojaˇ c ulaznih brojeva prosek ulaznih brojeva

// Inicijalizacija sume i brojaˇ ca ulaznih brojeva suma = 0; n = 0;



    // Uˇ citavanje, sabiranje i brojanje ulaznih brojeva Scanner tastatura = new Scanner(System.in); System.out.print("Unesite 1. broj: "); while (tastatura.hasNextDouble()) { // broj = tastatura.nextDouble(); // suma = suma + broj; // n++; // System.out.print("Unesite " + (n+1) }

slede´ ci broj je unet? uˇ citati ga dodati ga sumi uve´ cati brojaˇ c za 1 + ". broj: ");

System.out.println(); if (n == 0) System.out.println("GREŠKA: uneto je nula brojeva."); else { System.out.println("Uneto je " + n + " brojeva."); System.out.println("Prosek tih brojeva je: " + suma/n); } } }

                  hasNextDouble()  Scanner       true        double                          

                        !        hasNextDouble()           false"             while   

 do-while  #         while      $             % & "                '             do-while        while  "   '     while          " 

       do ('   do-while    ) do naredba while ( logiˇ cki-izraz );

         

naredba





do-while

        

do { niz-naredbi } while ( logiˇ cki-izraz );                      

do-while

  

  

  

      

           ;

       

   } 

 

 ! 

naredba

logiˇ ckogizraza

do-while

     

niz-naredbi



 

do-while

  

             

     

   "            

     ! 

   

 !     

  

logiˇ ckog-izraza  

     $



 



false

       !

while

true

"      

 !    #  

           

%%

naredba

logiˇ cki-izraz

true

false

  '    !        

while

 

do-while

& ! 

do-while

logiˇ cki-izraz

  

     

            ! 

do-while

        

     *  *  

naredba

 $ 

    !      (    

do-while

 !  ) 

while

   

       #   



    while ( logiˇ cki-izraz ) naredba

               do-while    while                              pogodak                        do-while                                                                 do { System.out.print("Pogodite broj> "); pokušanBroj = tastatura.nextInt(); if (pokušanBroj < zamišljenBroj) System.out.println("Zamislio sam ve´ ci broj :-("); else if (pokušanBroj > zamišljenBroj) System.out.println("Zamislio sam manji broj :-("); else System.out.println("Bravo, pogodili ste broj :-)"); } while (pokušanBroj != zamišljenBroj);

 for !     "                                       #             ¼         while     !                      broj         

             $             for                #       % for ( int broj = 0; broj < 10; broj = broj + 1 ) System.out.print(broj + " "); // telo petlje System.out.println(); // pomeranje kursora u novi red

&   for     for ( kontrolni-deo ) naredba

      naredba

   



 for

        

for ( kontrolni-deo ) { niz-naredbi }

for



             

                 

       

 

   

kontrolni-deo



              

inicijalizacija; logiˇ cki-izraz; završnica    

    

for

    

for ( inicijalizacija; logiˇ cki-izraz; završnica ) naredba !"

   

for

    #    

   "      

while

    

  

inicijalizacija while ( logiˇ cki-izraz ) { naredba završnica } $     

  

inicijalizacija

 

    %                   



logiˇ ckim-izrazom

     

          

završnica 

      

  

%

naredbe

          



   





# 

završnica

   

true

%

         

#  

    

     #   

false

        

       

 



            

inicijalizacija

    %

     

logiˇ cki-izraz



' 

logiˇ cki-izraz

     

  &      

 

      

             

  ( 

break

        



  

  

                                



   

   inicijalizacija              završnica                                            false          for                       for     broj                                                           ! for ( int broj = 9; broj >= 0; broj-- ) System.out.print(broj + " ");

    inicijalizacija    završnica    for            "  #              

        ! for ( int n = 0, int m = 9; n < 10; n++, m-- ) { System.out.printf("%5d", n); // kolona širine 5 mesta za n. System.out.printf("%5d", m); // kolona širine 5 mesta za m, System.out.println; // i prelazak u novi red }

        

$                   %   "               &           %      '                                        '          %   (     

    )             %             %    

     #        *       %    %                 

     



          import java.util.*; public class ProstBroj { public static void main(String[] args) { int broj;

// ulazni broj

// Uˇ citavanje broja preko tastature Scanner tastatura = new Scanner(System.in); System.out.print("Unesite ceo broj ve´ ci od 1: "); broj = tastatura.nextInt(); int maxDelioc = (int)Math.sqrt(broj); // maksimalni delioc // Potraga za deliocem izme¯ du 2 i maxDelioc for (int k = 2; k < maxDelioc; k++) { if (broj % k == 0) { // da li je broj deljiv sa k? System.out.println("Taj broj nije prost."); System.out.println("Njegov delioc je " + k); System.exit(0); } } System.out.println("Taj broj je prost."); } }

                              Math.sqrt()        double    for     

                      if          

                !"                               #  



   

 if       if                                   

                                      

  

1 2 3 4 5 6 7 8 9

2 4 6 8 10 12 14 16 18

3 6 9 12 15 18 21 24 27

4 8 12 16 20 24 28 32 36

5 10 15 20 25 30 35 40 45

6 12 18 24 30 36 42 48 54

7 14 21 28 35 42 49 56 63

8 16 24 32 40 48 56 64 72

9 18 27 36 45 54 63 72 81

!                                 !      ½                     "       

  for      #            #             

  !    import java.util.*; public class TablicaMnozenja { public static void main(String[] args) { for (int brojReda = 1; brojReda < 10; brojReda++) { for (int brojKolone = 1; brojKolone < 10; brojKolone++) System.out.printf("%4d", brojReda * brojKolone); System.out.println(); // pre´ ci u novi red na ekranu } } }

     



                 for        for               brojReda       ½      brojKolone         ½  ½         brojReda             brojKolone                          brojReda           brojKolone                                                                                ! %4d                 

 break  continue "  while  do-while           #                  "   $  for                                         %        break        & break;

'   break       #                

         

   !                      & while ( true ) { // beskonaˇ cna petlja? System.out.print("Unesite pozitivan broj: "); int broj = tastatura.nextInt(); if ( broj > 0 ) // uneti broj je ok, prekinuti petlju break; System.out.println("Greška: morate uneti broj > 0"); } // Ovde se program nastavlja posle prekida petlje



   

          while    true                                       

                                break                     

               break                          !"!# while ( true ) { System.out.print("Pogodite broj> "); pokušanBroj = tastatura.nextInt(); if (pokušanBroj < zamišljenBroj) System.out.println("Zamislio sam ve´ ci broj :-("); else if (pokušanBroj > zamišljenBroj) System.out.println("Zamislio sam manji broj :-("); else { System.out.println("Bravo, pogodili ste broj :-)"); break; } }

$     %                  %  & $     break                          % %   '       break      %        (       )                while     gl_petlja %   # break

gl_petlja: while ...

'        %      break gl_petlja;

                    for            for (;;) { ... }

     



            s1 s2   

           for     sp      s1    for                s2               na¯denIstiZnak       true break           boolean na¯ denIstiZnak = false; // s1 i s2 nemaju isti znak sp: for (int i = 0; i < s1.length(); i++) for (int j = 0; j < s2.length(); j++) if (s1.charAt(i) == s2.charAt(j)) { // isti znakovi? na¯ denIstiZnak = true; break sp; } // Ovde se logika programa može nastaviti na osnovu // vrednosti logiˇ cke promenljive na¯ denIstiZnak.

            continue    

       continue;

  continue           !             !     break            !         !   "                          #       continue                   ¼      int broj = 0; // poˇ cetni broj intervala od 0 do 9 while ( broj < 10 ) { // ponoviti sve dok je broj manji od 10 if (broj % 2 != 0) // broj je neparan? continue; // preskoˇ citi ostatak tela petlje System.out.print(broj + " "); // prikazati broj na ekranu broj = broj + 1; // pre´ ci na slede´ ci broj } System.out.println(); // pomeriti kursor u novi red

$   break     continue                 !              continue             



   

            

  

     

oznaka: for (    ) { while (    ) { //    break;

}

//



oznaka: for (    ) { while (    ) { //    continue; //    continue oznaka;

  

  

continue



//    break oznaka; } //

break

}

} //

//

  

  

    break continue   

       break continue        while do-while for      break          switch            break       if   !       if          switch   "     break       #    switch     if   $  if          switch     if       break               %                                            &$  ' ( &  ( & (   )                                   *         &(         &(                   

     



            

                                                             import java.util.*; public class Palindrom { public static void main(String[] args) { Scanner tastatura = new Scanner(System.in); String red; // ulazni red znakova reˇ cenice novi_red: do { System.out.print("Unesite reˇ cenicu ( za kraj): "); red = tastatura.nextLine(); // Konvertovanje svih znakova ulaznog reda u mala slova red = red.toLowerCase(); // Zanemarivanje nevaže´ cih znakova ulaznog reda String reˇ cenica = ""; for (int i = 0; i < red.length(); i++) { char znak = red.charAt(i); if (Character.isLetterOrDigit(znak)) reˇ cenica += znak; } // Proveravanje znakova reˇ cenice sa dva kraja int l = 0; // indeks levog znaka int d = recenica.length() - 1; // indeks desnog znaka while (l < d) { // sve dok se indeksi ne preklapaju if (reˇ cenica.charAt(l) != reˇ cenica.charAt(d)) { System.out.println("To nije palindrom."); continue novi_red; // nastavi sa novim ulazom } l++; // pomeri levi indeks udesno d--; // pomeri desni indeks ulevo }



    System.out.println("To jeste palindrom."); } while (red.length() != 0); }

}

     length() toLowerCase() charAt()

  String    isLetterOrDigit()

  Character                                     !         "     #            continue                   



5                                       

               

    !             "        #  "      "                          $                          %     !                         $     &   !   

"          $                 '                   

   !                " !         

 !                                             !     "  !"   $      "                  ( )   ($               ) *              ( )    

"  ++,





      

    

                

    



            

               

           

     

    



          

        

   

  !                                    " #  

   

    $      

       %   

            $  

       



               

              

  &          

        '   #          

          '                    '     

       %   

   

       $       ( )      (    

                  *

 #          $            $  +$  

     

,  

     (    '        (         &   #   $  $

                

                           -                  

    

               &              '             

       + &   '      ( .

     



modifikatori tip-rezultata ime-metoda ( lista-parametara ) { niz-naredbi }

   main()

                public static void main (String[] args) { // Naredbe ... }

          public  static                void      main

        String[] args                  niz-naredbi             !   

                

  

             !            "   #       $      %   {&                   '  (    

                               ) modifikatori              

       

     *           static               +   public                            *      (            ,       

  (     *       tip-rezultata       

 *        ,   (           

tip-rezultata 

   void %-       

      (      

(& ' (  ime-metoda           .                   *    /

        01 $     

                                  



                





                   

                                  lista-parametara                                              

          promeniKanal()

!            

"   

               ! 

                     !                 

#

  promeniKanal()           $                                                 int        ciljniKanal       promeniKanal() !   %

public void promeniKanal (int ciljniKanal) { // Telo metoda } #        promeniKanal              ciljniKanal  int

&    

                      '                 

                          %     promeniKanal(8) '                   !     (

     ) 

        

!   

*          

    %

tip-parametra ime-parametra   

 !           

  

             

 

          +               x  y  double            

double x, double y  double x, y

     



                              public static void odigrajPotez () { // Telo metoda }

   public static    void                odigrajPotez                  int nacrtaj2DSliku (int n, int m, String naslov) { // Telo metoda }

                    int     nacrtaj2DSliku          n m   int naslov   String static boolean manjeOd (float x, float y) { // Telo metoda }

   static            boolean     manjeOd          x y   float !  nacrtaj2DSliku  "        # $ %              $ static &                 $ #      static% '   public               odigrajPotez ( )                 $        *     private        ( )                 '   public private          +

     $           

      ,             protected           $                                  #    "  "  %





                                                                          

              static              

   !                " #                     $                %        main()             &      '       ()      *                   +       (       #  &     , ime-metoda ( lista-argumenata )

-                            &        -       "  , public void uradiNešto(int n, double x, boolean test) { // Naredbe koje rade nešto ... }

.      uradiNešto      "   &      , n       x     test       -                     , uradiNešto(17, 0.69, false); uradiNešto(i, a, brojProst); uradiNešto(23, Math.sqrt(y+1), z >= 10);

  



                                                                                                          uradiNešto        17 0.69  false              n x  test     uradiNešto !         uradiNešto            i a  brojProst                      n x  test "       uradiNešto       

   Math.sqrt(y+1)  z >= 10             x  test !                     #                                                   $          %                                         uradiNešto()# uradiNešto(23, Math.sqrt(y+1), z >= 10);

   &     # { // Alokacija i inicijalizacija parametara metoda uradiNešto int n = 23; double x = Math.sqrt(y+1); boolean test = (z >= 10); // Izvršavanje tela metoda uradiNešto // Naredbe koje rade nešto ... }





                                                           uradiNešto()      MojaKlasa          

main()    MojaKlasa         public class MojaKlasa { . . . // Definicija metoda main public static void main(String[] args) { . . . uradiNešto(17, 0.69, false); // poziv metoda . . . uradiNešto(23, Math.sqrt(y+1), z >= 10); // poziv metoda . . . } // Definicija metoda uradiNešto public void uradiNešto(int n, double x, boolean test) { // Naredbe koje rade nešto ... } . . . }

           main()  uradiNešto()    MojaKlasa             

              !   "   main()     uradiNešto()     # $   %     !   &  $ #  '          (  #               #    &        # static   ' )    #                  # * 

    ime-klase .ime-metoda ( lista-argumenata )

  



  ime-klase           ime-metoda   ½             

                

                     Math  Math.sqrt(y+1)   Math.pow(1+k, m) !  sqrt()  pow()          Math     "                #                 

       "  "    $                      !  

""   ime-objekta .ime-metoda ( lista-argumenata )

  ime-objekta    % &           ime-metoda    '                     tastatura.nextInt()

(    tastatura       

      Scanner )         !       nextInt()                  "             !     nextInt()     "       "   * %+      "   $"       "  reˇ cenica.CharAt(i)

       CharAt()  String  !   i  "    "    String "     reˇcenica ,   "                  "  "            



    

                                

          ½





   

                                                           tip-rezultata                           tip-rezultata              void !        "     #     !                         $           %                           !                             %                  

                                                                

 #          $           #  & return izraz;

      izraza                    #          izraza                                     return     '  &    

izraza     #    !      # return                !  

  izraz       !    #  #         izraza                (                 )          !   '  & double hipotenuza(double a, double b) { // Hipotenuza pravouglog trougla sa katetama a i b

   



return Math.sqrt(a*a + b*b); }           

hipotenuza   

a b  double         

   

double       



                                                                                                         !   " #              $      %

double k1 = 3, k2 = 4; // vrednosti kateta double obim = k1 + k2 + hipotenuza(k1, k2);                

k2  !         



k1

&    

                    

obim &          

hipotenuza                          $              '              

obim        %

obim = k1 + k2 + hipotenuza(k1, k2);              %  

                      !                     (      %

k1 + k2 + hipotenuza(k1, k2);                   )*%

               

                

     &                   

k1 k2  "  +       

       %



 hipotenuza(k1, k2)

    

              

    

 

               

 

 

       

        

  hipotenuza     k1  k2     

         

  

  a  b          

 a  b   

  hipotenuza            

       

  hipotenuza       

   !           

 

  hipotenuza     return              "

     Math.sqrt(a*a + b*b) #                   

  hipotenuza          $     

  % 

 

 hipotenuza         k1 + k2 + hipotenuza(k1, k2);

      $       !                   k1  k2 &                obim          obim = k1 + k2 + hipotenuza(k1, k2);

'          (   $            k1 k2  obim             "    return             

   "           

    "           

  % return          

  



       )          return           $      

  *    "      

    $      +       

  ,-  .  void/ 

  



                  izraz   return      

return;                                        

                        

                          

              

                !    

         "     #   $             

   

    

                   return

izraz;              !  %                          "

   &                       %                     main()

'               

        %           %    $                                               (  

 

     

    )                                            '  

    

            

    



  %      

*             #      +, *     #            %    (  

              

- 

  main()                   #    





 

    

import java.util.*; public class Poga¯ danjeBroja { public static void main(String[] args) { String ponovo; // indikator nastavka igre Scanner tastatura = new Scanner(System.in); System.out.println("Ovo je igra poga¯ danja broja."); System.out.println("Ja ´ cu zamisliti broj izme¯ du 1 i 100,"); System.out.println("a vi treba da ga pogodite.\n"); do { pogodiBroj(); // poziv metoda za jedno poga¯ danje broja System.out.print("Želite li da ponovo igrate (d/n)? "); ponovo = tastatura.next(); } while (ponovo.equals("d")); System.out.println("Hvala i do vi¯ denja ..."); } public static void pogodiBroj() { int zamišljenBroj; // broj koji je raˇ cunar izabrao int pokušanBroj; // broj koji je korisnik pokušao Scanner tastatura = new Scanner(System.in); zamišljenBroj = (int)(100 * Math.random()) + 1; System.out.println("Zamislio sam ceo broj izme¯ du 1 i 100."); System.out.println("Pokušajte da ga pogodite.\n"); do { System.out.print("Pogodite broj> "); pokušanBroj = tastatura.nextInt(); if (pokušanBroj < zamišljenBroj) System.out.println("Zamislio sam ve´ ci broj :-("); else if (pokušanBroj > zamišljenBroj) System.out.println("Zamislio sam manji broj :-("); else System.out.println("Bravo, pogodili ste broj :-)");

  



} while (pokušanBroj != zamišljenBroj); } }

                                jeProst()                           true  false                           import java.util.*; public class ProstBroj { public static void main(String[] args) { int broj;

// ulazni broj

// Uˇ citavanje broja preko tastature Scanner tastatura = new Scanner(System.in); System.out.print("Ovo je program koji "); System.out.println("odre¯ duje da li broj prost."); System.out.print("Unesite broj ve´ ci od 1 (0 za kraj): "); broj = tastatura.nextInt(); while (broj != 0) { System.out.print("Taj broj "); if ( jeProst(broj) ) // poziv metoda System.out.print("je "); else System.out.print("nije "); System.out.println("prost."); System.out.print("Unesite broj ve´ ci od 1 (0 za kraj): "); broj = tastatura.nextInt(); } } public static boolean jeProst(int n) {



 int maxDelioc = (int)Math.sqrt(n); // maksimalni delioc // Potraga za deliocem izme¯ du 2 i maxDelioc for (int k = 2; k < maxDelioc; k++) { if (n % k == 0) return false; } return true; }

}

                                                   sredi()                                                 !    obrni()         

  "                                  #           import java.util.*; public class Palindrom { public static void main(String[] args) { String red; // ulazni red znakova reˇ cenice String reˇ cenica; // „sre¯ den” ulazni red znakova Scanner tastatura = new Scanner(System.in); do { System.out.print("Unesite reˇ cenicu ( za kraj): "); red = tastatura.nextLine(); reˇ cenica = sredi(red); // poziv metoda sredi System.out.print("Ta reˇ cenica "); if (reˇ cenica.equals(obrni(reˇ cenica)))// poziv metoda obrni System.out.print("je "); else System.out.print("nije ");

    



System.out.println("palindrom."); } while (red.length() != 0); } public static String sredi(String niska) { String sre¯ denaNiska = ""; // Konvertovanje svih znakova ulazne niske u mala slova niska = niska.toLowerCase(); // Zanemarivanje nevaže´ cih znakova ulazne niske for (int i = 0; i < niska.length(); i++) { char znak = niska.charAt(i); if (Character.isLetterOrDigit(znak)) sre¯ denaNiska += znak; } return sre¯ denaNiska; } public static String obrni(String niska) { String obrnutaNiska = ""; for (int i = niska.length() - 1; i >= 0; i--) { obrnutaNiska += niska.charAt(i); } return obrnutaNiska; } }



  

                                   

                  public void uradiNešto(int n, double x, boolean test) { // Naredbe koje rade nešto ... }





         uradiNešto(int, double, boolean)

                                                                      !     "#      $   

     %         $       "#                       &                    '    (    )      "      uradiNešto()   "                public void uradiNešto(String s) { // Naredbe koje rade nešto drugo ... }

!       uradiNešto(String)

          uradiNešto() !              $    #           %       *                   )     uradiNešto("super program");

           uradiNešto()    

         String )                                 Scanner                     nextInt(), nextDouble(), nextBoolean(), ...

      



           print      ¾                      nextValue       

             int nextValue() { ... } double nextValue() { ... } boolean nextValue() { ... } ...

         nextValue()                        nextValue             !       

" #                 $             %                

                &    Zgrada     ''   #   class Zgrada { int brojSpratova; String boja; String adresa; . . . public void okreˇ ci() { ... }; public void dozidaj() { ... }; }

      brojSpratova boja  adresa      

  okreˇci()  dozidaj()                                    ¾

 

print               





                          ¿                                   

                                                               !                                new                   "          #

      

$ "           %            &              '      static public  private (        # static String imeKorisnika; public int brojIgraˇ ca; private static double brzina, vreme;

! '   static         )     '              ! '     public  private  *       +    '   private                   ,    '   public      %                                                    +             ime-klase.ime-polja          ime-objekta.ime-polja   ime-klase

                         

               ¿

      



                   ime-objekta                                        out              System                    System.out                    ca                  brojIgraˇ           IgraSaKartama             IgraSaKartama                  brojIgraˇ ca                     brojIgraˇ ca  IgraSaKartama                IgraSaKartama  !  poker "                brojIgraˇ ca        poker                  poker.brojIgraˇ ca

       #         $  %             &                       !      "             !   '                    &                    !             '                                                       "                     (                                         )        !                                        #                                                 )                             





                                                                                    !     "# 

    $             % &     main()    ! ' public static void main(String[] args) { int x = 1; dodaj1(x); System.out.println("x = " + x), } public void dodaj1(int x) { x = x + 1; }

     ( x = 1)   ( x = 2) *           x     dodaj1()  !           x     main()          ½   x  main    dodaj1(x)            x +   dodaj1          x  ,     ½      ,  ½      ¾ &      x      dodaj1        dodaj1       x  main()            ½ -                 

                                                                             .                                         

      



                                   

  

  



         

       

               

      

      

      

    



      

       

   

                                                        

      



!      

                         "      " #

 $            

     

     %        

      

                    

  

   

                

 

                       

    "   %       

    



&'()

  



    "       

       

main()

   

    

     

            

   

pogodiBroj()

 

%     

                            

brojPogodaka

     

          

main()

 



   

pogodiBroj()

      

          



brojPogodaka

    

                                





         

 

              

            

        

  *                     

 

tastatura

    

brojPogodaka



     

      

%

       +     

            

  



 

main()

        

pogodiBroj()

%      





                tastatura                                         MAX_BROJ_POKUŠAJA  

                                       

             import java.util.*; public class PogadjanjeBroja { static int brojPogodaka = 0; // brojaˇ c pogo¯ denih brojeva final static int MAX_BROJ_POKUŠAJA = 5;// najve´ ci broj pokušaja static Scanner tastatura = new Scanner(System.in); public static void main(String[] args) { String ponovo; System.out.println("Ovo je igra poga¯ danja broja."); System.out.println("Ja ´ cu zamisliti broj izme¯ du 1 i 100,"); System.out.print("a vi treba da ga pogodite iz "); System.out.println(MAX_BROJ_POKUŠAJA + " puta.\n"); do { pogodiBroj(); System.out.print("Želite li da ponovo igrate (d/n)? "); ponovo = tastatura.next(); } while (ponovo.equals("d")); System.out.print("Pogodili ste "); if (brojPogodaka == 1) System.out.println("jedanput."); else System.out.println(brojPogodaka + " puta."); System.out.println("Hvala i do vi¯ denja ..."); } public static void pogodiBroj() {

      



int zamišljenBroj; // broj koji je raˇ cunar izabrao int pokušanBroj; // broj koji je korisnik pokušao int brojPokušaja; // brojaˇ c pokušaja korisnika zamišljenBroj = (int)(100 * Math.random()) + 1; brojPokušaja = 0; System.out.println("Zamislio sam ceo broj izme¯ du 1 i 100."); System.out.println("Pokušajte da ga pogodite.\n"); for (;;) { // beskonaˇ cna petlja! System.out.print("Pogodite broj> "); pokušanBroj = tastatura.nextInt(); brojPokušaja++; if (pokušanBroj == zamišljenBroj) { System.out.println("Bravo, pogodili ste broj."); brojPogodaka++; break; } else if (brojPokušaja == MAX_BROJ_POKUŠAJA) { System.out.print("Niste pogodili broj iz "); System.out.println(MAX_BROJ_POKUŠAJA + " puta."); System.out.print("Zamislio sam broj "); System.out.println(zamišljenBroj); break; } else if (pokušanBroj < zamišljenBroj) System.out.println("Zamislio sam ve´ ci broj."); else if (pokušanBroj > zamišljenBroj) System.out.println("Zamislio sam manji broj."); else { System.out.println("Ovaj sluˇ caj nije mogu´ c."); break; } } } }

               





    pogodiBroj()       

    

           

               

                                 

  break   

                   if                      

  else                          !           "    "#

    

  $        %            

&          '   (    

         (  $   %                       $  %     (     )     *            #           false#          + (  ’\u0000’ $*        (      (    null% *          brojPogodaka        (   (                             

     +           MAX_BROJ_POKUŠAJA +      

                

     + '    (   

 )  final             

       (   ,     ( ! final static int MAX_BROJ_POKUŠAJA = 5;

        MAX_BROJ_POKUŠAJA

 "    -      .      

           

     



                                                                           Math     Math.PI      Integer     MIN_VALUE         int

                                                              !        "                                 !               #  $                          !"               #   $ %                                                                     &                                       '                                                         (                                                             IgraSaKartama          "                          



 public class IgraSaKartama { static String pobednik; ...

// globalna promenljiva (polje)

static void odigrajIgru() { String pobednik; // lokalna promenljiva // Ostale naredbe metoda ... } ... }

  odigrajIgru()  pobednik               IgraSaKartama  pobednik                                                   pobednik     odigrajIgru()

          IgraSaKartama.pobednik                                                                            !                    "                                for  #  $ for (int i = 0; i < n; i++) { // Telo petlje }

      %      i             for  &                        for

              for

 '    (       for          #      $ for (int i = 0; i < n; i++) { // Telo petlje

     



} if (i == n) // GREŠKA: ovde ne važi ime i System.out.println("Završene sve iteracije");

                                                 void neispravanMetod(int n) { int x; while (n > 0) { int x; // GREŠKA: ime x je ve´ c definisano ... } }

                     !               "                          void ispravanMetod(int n) { while (n > 0) { int x; ... // Kraj oblasti važenja imena x } while (n > 0) { int x; // OK: ime x se može opet davati ... } }

                        #           $                   %                #  & %         #    '         

     %  (           (                                 )





                                                                                                                                                              

                  

           !                "          # $                %               %     !       $      &         %          Ludost      %   public Ludost Ludost( Ludost Ludost ) { // Telo metoda }

'  Ludost           Ludost      &$  Ludost                 Ludost       #                                  

  

(         %"       &              )       % !    !    )          Ü    Ü            Ò "   $      (              Math.pow(x,n)     Ü        Ü     Ò      

      $       

  



                                       stepen1   for           





double stepen1(double x, int n) { double y = 1; for(int i = 0; i < n; i++) y = y * x; return y; }

                                ¼      ½           

                               stepen2  !                 











double stepen2(double x, int n) { if (n == 0) return 1; else return x * stepen2(x, n-1); }

"                   stepen2   return   #             



   

                    #   stepen2      !             ! $       #       !                           ! $       %     $     &               $ ' (    stepen2 $              &  





   

  ½                                    

            

                             !    stepen2     

  ½    

   

        !      " # 

                        $      



"           

   %                              

        &    stepen2    

                         

           

"    

 

                   &   

"                 

       



                      "  !                 '    

              

    #            

        '       

 #     "    "     (      

 

     ! #     "    "      "     # "            )      " * )            "   #     "* %       "               " #  

  



Ü

    





     

  



         

 

         

  



  



     

 



    



   

     

 

      

 



 



  



     

 

   



  

   

 

 

   

 



    

    



 



   

 

  

       !         



         

      

  

 

      

          





      

 

              



  

  

 "

// Pretpostavlja se da je int nzd(int x, int y) {

Ü

Ý

if (x % y == 0) // bazni sluˇ caj return y; else return nzd(y, x % y); } #                

   



          

       %   

  

              &   

$  

   '

                    



    

    

  $            

                



                                                                     

       





                    

                

                                   ½  ½                                        ½                                                               !

          



"           ½ ¾ ¿        #

     $  #      !

 ¾   ½ 





   %          ½  ¾      #             & '#  & '#     







¾

 









 



  (    #       )                  $   ! // Pretpostavlja se da je int fib(int n) {



½

if (n "); n = tastatura.nextInt(); System.out.println(); System.out.println("Rešenje igre za taj broj diskova je: "); premestiDiskove(n, ’A’, ’B’, ’C’); } static void premestiDiskove(int n, char a, char b, char c) { if (n == 1) // bazni sluˇ caj premestiDisk(a, c); else { premestiDiskove(n-1, a, c, b); premestiDisk(a, c); premestiDiskove(n-1, b, a, c); }

  



} static void premestiDisk(char x, char y) { System.out.print("Disk na vrhu stuba " + x); System.out.println(" premestiti na vrh stuba " + y); } }

    premestiDiskove()              static         main()       premestiDisk()



6                                                                         

    !"#  

                   

                  $             

                                %   "              &      

   '                 

                             "

                        '      

        

         (                          

          )          

         

     '               

             *+,



  



    

                                                                                 main()               

                                                                                      !

                "            #         !   $                          

      %         # &  '                   &      $   static  $     '      &  '  

    #             ( %             

                                                        )        

                             #         %                    

           #           "

      

  $        #

            *        

&     '                  !           &     '

     



               

              new

  

                                                                      new     

                                 ! "         # class Korisnik { static String ime; static int id; }

$      Korisnik.ime  Korisnik.id  

              Korisnik.ime  Korisnik.id     

   "                                

  % Korisnik        Korisnik.ime  Korisnik.id                   # class Klijent { String ime; int id; }

&         Klijent.ime  Klijent.id    ime  id    ' (   Klijent $                    )       "                               ime  id *                               )     "               "                    %       



  

                 

                                                     class ˇ ClanPorodice { static String prezime; String ime; int uzrast; }

                                             

    ˇ ClanPorodice.prezime                              ime  uzrast             !  "

"  "   " #!       

" "              " $ "% "     "      #    "                                                &                "                  '  "                             (  

          )     "            ˇ ClanPorodice      uve´ cajUzrast()         )  ½     !  #  uve´ cajUzrast()  

       ˇ ClanPorodice          )     )   * " 

  +                    "      !                +   ,

     

 

                                                                       !                         "                              #          $              %  &               

              '                         ( # #           #       

        "             ) * modifikatori class ime-klase { telo-klase }

 modifikatori                                             public                                              ime-klase      !                  telo-klase       "     #                         $             %            & public class Student { public String ime; // ime studenta public int id; // matiˇ cni broj studenta public double test1, test2, test3; // ocene na tri testa



  

public double prosek() { // izraˇ cunati prosek ocena return (test1 + test2 + test3) / 3; } }

                                         static                       

         Student   ime test1 test2 test3    prosek()                      prosek()  !                        

              "  #  

                            $          

%       &         !           int  char '            (                    )                           #  

                            Student          s   Student* Student s;

+                         s        Student

,        Student      Student !    s       -   &               

               #        %                          

         

 

                                                                                                                                                                         !    "           #        $       

       "                       %#                    new & "                          

                    

 '      #                             "

        s  Student    

             ( s = new Student();

                 Student             s    )    s                           #          s      #     !        #   s  "     *       "   

  s         +       #   "                        ,       Student        s  "   ime test1 test2  test3 -                #       )  ( s.ime s.test1 s.test2  s.test3     "    #   (



   System.out.println("Ocene studenta " + s.ime + " su:"); System.out.println("Prvi test: " + s.test1); System.out.println("Drugi test: " + s.test2); System.out.println("Tre´ ci test: " + s.test3);

                          s   s.ime   s.test1           

    String    double     

     s.ime    s.ime.length()      prosek()         

  s   s.prosek()                s      System.out.print("Proseˇ cna ocene studenta " + s.ime); System.out.println(" je: " + s.prosek());

!                        !           " null      

  s = null;

 

    if (s == null) ...

#             null                   $                           $     s     null          s.test1  s.prosek() % &           '             "     ()   % &         Student s1, s2, s3, s4; s1 = new Student(); s2 = new Student();

         

 

s1.ime = "Pera Peri´ c"; s2.ime = "Mira Miri´ c"; s3 = s1; s4 = null;

               Student               Student            s1  s2           ime                                      !          s1     s3!     

   null     s4 "            #$            !             %   &     !                 %   &  null!          !             "  #$     s1  s3      !       s3 = s1;      s1 s3 '  &     &     (              !       !             )        #$       s1.ime   "Pera Peri´ c"!        s3.ime   "Pera Peri´ c" *          &      ==  != *!         %  ! ! if (s1 == s3) ...

  ! !          s1 s3   %     !           s1 s3      !                  )          !   &             !



   

s1 s2 s3 s4

   Student

   Student

ime

ime

test1

¼

test1

¼

test2

¼

test2

¼

test3

¼

test3

¼

prosek

prosek

   String "Pera Peri´ c"

   String "Mira Miri´ c"

                  

                            s1.ime.equals(s3.ime) && s1.test1 == s3.test1 && s1.test2 == s3.test2 && s1.test3 == s3.test3

  !"  

                     #    "Pera Peri´c"

"Mira Miri´ c"   $    %      String &    &   $    '  $ null(   )   *     $          ime    $       + ,               $              

    -  *    &        s1.ime String

         

 

  "Pera Peri´c"              s1.ime           "Pera Peri´c"                                                        !          !" #                  final $          

             %& $  

      final                    '             

   ( )                      *        

                     final Student s = new Student(); // vrednost polja ime: // s.ime = null s.ime = "Laza Lazi´ c"; // promena polja ime, // a ne promenljive s

*              x               +          x     '             ,     x                              

              #         x '                       -       void promeni(Student s) { s.ime = "Mika Miki´ c"; }

           Student x = new Student(); x.ime = "Pera Peri´ c"; promeni(x); System.out.println(x.ime);

  '     "Mika Miki´c"            promeni(x)             



   s = x; s.ime = "Mika Miki´ c";

    ime     s   x         

                                                                                                                                                     !                                                         "int double  #      false          $   ’\u0000’       !         null       $                                      ! !                    KockaZaIgru               !                                                 % public class KockaZaIgru { public int broj = 6;

// broj koji je pao

public void baci() { // „bacanje” kocke broj = (int)(Math.random()*6) + 1; } }

        

 

    broj                 KockaZaIgru                KockaZaIgru           broj                           public class KockaZaIgru { public int broj = (int)(Math.random()*6) + 1; public void baci() { broj = (int)(Math.random()*6) + 1; } }

     broj                             KockaZaIgru            !     broj "   # !$            

                                       

               %&'              %                    new (           KockaZaIgru     KockaZaIgru kocka;

// deklaracija promenljive // klasnog tipa KockaZaIgru kocka = new KockaZaIgru(); // konstruisanje objekta klase // KockaZaIgru i dodela njegove // reference toj promenljivoj

      KockaZaIgru kocka = new KockaZaIgru();

      new KockaZaIgru()        KockaZaIgru              )               *  )        



  

  kocka                 kocka           KockaZaIgru()     new                                                 KockaZaIgru                                                    !  !    "       #         $             $                  $                              "        "        % & '                 ( )        public * +      "  

private



protected

void

,         "      !              '                                  ,     KockaZaIgru          "        % public class KockaZaIgru { public int broj;

// broj koji je pao

public KockaZaIgru(int n) { broj = n; }

// konstruktor

public void baci() { // „bacanje” kocke broj = (int)(Math.random()*6) + 1; } }

-       %

        



public KockaZaIgru(int n) { broj = n; } 



       

      

           

new





    

   

KockaZaIgru

  

KockaZaIgru kocka = new KockaZaIgru(1);           

              

        

      

½

broj

    

        

kocka

      

     

 

                      

      

!     

$  #

KockaZaIgru

 

        %

   !

 



         

new KockaZaIgru()

    

" 

  

  #

 

           

 #  

   

          

KockaZaIgru

broj   

%

   

#     #  

public class KockaZaIgru { public int broj;

// broj koji je pao

public KockaZaIgru() { baci(); }

// konstruktor bez parametara // poziv metoda baci()

public KockaZaIgru(int n) { broj = n; }

// konstruktor sa parametrom

public void baci() { // „bacanje” kocke broj = (int)(Math.random()*6) + 1; } }



  

      KockaZaIgru 

           new KockaZaIgru()  new KockaZaIgru(x)   x    int                                               

            

!        static "     !          new     new ime-klase( lista-argumenata )

 lista-argumenata      #    $ 

          %              &'                           

    "         

    

 $    %

      ( )          !      

       % * +          )                              '  

   ,         

  - . )                                         %       / #$             #$                                   

  

              0               

        

          

        



    KockaZaIgru                                                                                                                   KockaZaIgru                            !                public class BacanjaDveKocke { public static void main(String[] args) { int brojBacanja = 0; // brojaˇ c bacanja dve kocke KockaZaIgru kocka1 = new KockaZaIgru(); // prva kocka KockaZaIgru kocka2 = new KockaZaIgru(); // druga kocka do { kocka1.baci(); System.out.print("Na prvoj kocki je pao broj: "); System.out.println(kocka1.broj); kocka2.baci(); System.out.print("Na drugoj kocki je pao broj: "); System.out.println(kocka2.broj); brojBacanja++;

// uraˇ cunati bacanje

} while (kocka1.broj != kocka2.broj); System.out.print("Dve kocke su baˇ cene " + brojBacanja); System.out.println(" puta pre nego što je pao isti broj."); } }

"               # BacanjaDveKocke.java



   KockaZaIgru.java

         BacanjaDveKocke  KockaZaIgru                                     

          new                            !              ! "     #                             !   $           ! 

      $    %       &                    &                  '                

                   '                           (  

         !                         )           

*  +               ,void novi() { Student s = new Student(); s.ime = "Pera Peri´ c"; ... }

          novi()        Student  "              s        novi()       s            "             novi()      &                  !         

     

    



        

 

           

Student s = new Student(); ... s = null; ... }          

s

      

null        

   Student 



 

    !           "    



 

Student            

#

      "         

                "        $%  &

 '            

  

( 

    )

     

  $* %  &   %   " 

  

 %         "         "          *   



 

Student          * 

  +   

 

           

    "           !  

  $%  &                

, 

    *      

            %                   

 

    -          

         '          %         

         .       

              

      *                    /  * "             

 

      

        #  

    

   

          ,       

             

  !      

    

           

             *      !  



  

              

   

                                           public                                  !                private "                        #                $      !           % &               '                 (                   $      (                      )       $            '                 )    $          

         $                          * public class Radnik { // Privatna polja private String ime; private long jmbg; private int staž; private double plata; // Konstruktor public Radnik(String i, long id, int s, double p) { ime = i; jmbg = id; staž = s; plata = p;

        



} // Javni interfejs public String getIme() { return ime; } public long getJmbg() { return jmbg; } public int getStaž() { return staž; } public void setStaž(int s) { staž = s; } public double getPlata() { return plata; } public void pove´ cajPlatu(double procenat) { plata += plata * procenat / 100; } }

              Radnik 

                   

             Radnik r = new Radnik("Pera Peri´ c", 111111, 3, 1000); System.out.println(r.ime); // GREŠKA: ime je privatno polje r.staž = 17; // GREŠKA: staž je privatno polje



 

      

                                       

             Radnik r = new Radnik("Pera Peri´ c", 111111, 3, 1000); System.out.println(r.getIme());



   r.setStaž(17);

                                                                                                                !"             #      ime   getIme     jmbg   getJmbg      $                #     Radnik    vredan  boolean         isVredan()  getVredan() %                        !"             &      staž    setStaž ' (     !" !"  !"                              )        *                                    *  +             , (           

      &                              (       )          -    (    (    ime jmbg staž  plata

                 

 . &                                . / (             (   (   / ime  jmbg                                   Radnik                  0   staž  plata             setStaž()  pove´cajPlatu() /           (   

            (     (

        



   staž plata            

                                                  public double getPlata() { plataBrojPristupa++; return plata; }

                

         public void setStaž(int s) { if (s < 0) { System.out.println("Greška: staž je negativan"); System.exit(-1); } else staž = s; }

                  !      !                                          Radnik      private String prezime;

   getIme() public String getIme() { return ime + " " + prezime; }

"                        #        $         %                      &     !   '                     

Radnik





  

  this

                                      pove´cajPlatu()   Radnik public void pove´ cajPlatu(double procenat) { plata += plata * procenat / 100; }

        plata                  agent007.pove´ cajPlatu(10);

          plata           agent007  ½¼             !      agent007.plata += agent007.plata * 10 / 100;

      pove´cajPlatu()  "                          Radnik               

           #  !                   $     %                    $       "      &   '    "     this (        this                                         pove´cajPlatu() "   public void pove´ cajPlatu(double procenat) { this.plata += this.plata * procenat / 100; }

)                                                  this           ! *          

    this



                              this   public Radnik(String ime, long jmbg, int staž, double plata) { this.ime = ime; this.jmbg = jmbg; this.staž = staž; this.plata = plata; }

                                  

               

  

this

  

ime = ime;

     

ime

  

           

       

ime

   

            

this

             

    

           

                   

!        

this

             "   

    

Radnik

      

    !             

ve´ ceOd()

# 

       

pera.ve´ ceOd(žika)          

pera

$        

žika



this

   

   

       

public Radnik ve´ ceOd(Radnik drugi) { if (this.getPlata() > drugi.getPlata()) return this; else return drugi; } $           

this

this.getPlata()

       

     

ve´ ceOd()

   

getPlata()

  

%      



  

 return this;            ve´ ceOd()            this                                                                                                       ! this

this( lista-argumenata );

"        Radnik                         #           ! public Radnik(String ime, long jmbg) { this.ime = ime; this.jmbg = jmbg; this.staž = 0; this.plata = 100; }

$               ! public Radnik(String ime, long jmbg) { this(ime, jmbg, 0, 100); }

%    ! this(ime, jmbg, 0, 100);

              Radnik      &                              '     this                                         %       

    this                          #     '    

    !             this                 (        ! public Radnik(String ime, long jmbg) {

    this System.out.println("Konstruisan pripravnik ... "); this(ime, jmbg, 0, 100); }

   public Radnik(String ime, long jmbg) { this(ime, jmbg, 0, 100); System.out.println("Konstruisan pripravnik ... "); }





7      

                                                                          !                          " #     $  

 %               &         

           '                             &                !     

     

(             

   )                                                    !                    *             +,-



    

               

              

                                  

                                   !     ½¼¼       a     ½¼¼               "#

a[0]

a[1]

a[2]

a[99]

  ! a  ½¼¼  $                           !         a    "#      int       a[0] a[1]     a[99]                

              %                    &    '             (         )          )               (             )                    * )     !         T              T[] %   T[]         

            T +       int     int[]           int ,         *     Student          Student[]             Student    T[]          -      T.   -    T. (                       &        !            

       /    

 



      int[]                     int[] a;

            a         int[]            int[]        int !      int[]      new                     a    a = new int[100];

  ½¼¼       "       #          $        int[] a = new int[100];

!             a    int[]        ½¼¼         int               a %  ½¼¼        $      int $           &  #       

      '( a

a[0]

a[1]

a[2]

a[99]

      a  ½¼¼  

!       $                 )    *         + a  ½¼¼  , -"     a   $

                     null .     $               $    



      Student[] s = new Student[15];

        s     Student[]       ½       Student             s                    Student                Student  null       N          new bazni-tip [N]

                 []    

     !        N          "             #    $                       %             int k = 5; double[] x = new double[2*k+10];

              x      &                  2*k+10                     x                          length             '    #             x.length      !               ()  "       length          final                 * %                                                  (%                 false      ’\u0000’     null     * %                       #    "       +      int[] a = new int[] {1, 2, 4, 8, 16, 32, 64, 128};

 



   a 

                   

  a[0]      

  a[1]            

  a[7]                        

                              

                                   ! Student pera = new Student("Pera Peri´ c", 1111, 99, 100, 100); Student[] odlikaši = new Student[] { pera, new Student("Laza Lazi´ c", 2222, 99, 95, 100), new Student("Mira Miri´ c", 3333, 100, 100, 100) };

"      new      !½ new bazni-tip [] { lista-vrednosti }

#         $       

           %                      bazni-tip []       prikaži()                  ! prikaži( new String[] {"Vrati", "Nastavi", "Odustani"} );

"         &'        (           

                      

     bazni-tip []  

                                ) *

  

                              ! int[] a = new int[100];

 new       ½

bazni-tip []

        



    

    ½

    

a[0] a[1]

    a[99]

                                                                       i      int       a[i]  a[3*i-7]           a 

    !          



    i           

 a[3*i-7]      

          "     i 

       a[2]#     i 

        a[23]   !            

       a$ for (int i = 0; i < a.length; i++) { System.out.println( a[i] ); }

%     

   i              a[0] &    i++   i     

             a[1] !        i                 

 

     a !                 

   i            a[99] '   i 

        i < a.length      a.length 

   " 

           

        a %           (     

   

      ! 

        a     

 null "     a                       a[i]            a   

      

   i  a[i]             "             i  i < 0  i >= a.length

 

 

                                                                                           

                                      ¼        

                                       

                          import java.util.*; public class Glasanje { public static void main(String[] args) { Scanner tastatura = new Scanner(System.in); // Uˇ citavanje ukupnog broja partija System.out.print ("Unesite ukupan broj partija: "); int brojPartija = tastatura.nextInt(); // Konstruisanje niza partija za sabiranje glasova int[] partija = new int[brojPartija]; // Uˇ citavanje glasova za pojedinaˇ cne partije for (;;) { // beskonaˇ cna petlja System.out.print("Redni broj partije kojoj ide glas> "); int p = tastatura.nextInt(); if (p < 1 || p > brojPartija) break; else partija[p-1] = partija[p-1] + 1; }



     // Prikazivanje osvojenih glasova svih partija for (int i = 0; i < partija.length; i++) { System.out.print("Partija pod rednim brojem " + (i+1)); System.out.println(" ima " + partija[i] + " glasova."); } }

}

       partija          ½             ½       ¼      

        x  double[] x = new double[20];

    y        double[] y;

      x  y             y = x;

   y       x   !     "            x  y                 #               x[i]  y[i]             $     %                  &'           Arrays( )                                     *                +                , %    +                  -       +        %           

 



public static double[] kopirajNiz(double[] original) { if (original == null) return null; double[] kopija = new double[original.length]; for (int i = 0; i < original.length; i++) kopija[i] = original[i]; return kopija; }

  x  y                      y = kopirajNiz(x);

       y       

     x      x[i]  y[i]  

                

 

          main()                      public static void main(String[] args)

  main()        A   !     "!#$%   &         A            java A

'      main()      args  String[]¾ (     main()    

         )   main()    &                    * +                   !               ) $  main()               ) !#$    &    args      

        &  java A        ,           ¾

 

args   main()         



    

    main() public class Poruka { public static void main(String[] args) { if (args[0].equals("-d")) System.out.print("Dobar dan"); else if (args[0].equals("-z")) System.out.print("Zbogom"); // Prikazati ostale argumente u komandnom redu for (int i = 1; i < args.length; i++) System.out.print(" " + args[i]); System.out.println("!"); } }

            java Poruka -z okrutni svete

    args    main()          args[0] = "-z"; args[1] = "okrutni"; args[2] = "svete";

                  

    Zbogom okrutni svete!

            java Poruka -d tugo

    args    main()          args[0] = "-d"; args[1] = "tugo";

            Dobar dan tugo!

   for-each



   for-each

        for     for-each               for-each                                       []  for-each     ! for (bazni-tip element : niz) { . . // rad sa aktuelnim elementom niza . }

"                 #   element         

      #    for-each  $   element                       #  %   for-each        &  for ! for (int i = 0; i < niz.length; i++) { bazni-tip element = niz[i]; . . // rad sa aktuelnim elementom niza . }

'          a  int[]        for-each         ! for (int e : a) { System.out.println( e ); }

(         a       &  ! int zbir = 0; for (int e : a) { if ( e > 0) zbir = zbir + e; }



    

   for-each                                                                                 for-each                        !              "           #       a     ½        $ for (int e : a) { e = 17; }

%          e          a   #     e            &        #               

   '  ()                 System.out.printf()  &                  

 *+

           "     System.out.printf()    String  

        #                          #     # ,  #           -                     prosek                double        prosek(1, 2, 3, 4) prosek(1.41, Math.PI, 2.3) prosek(Math.sqrt(3))    prosek() %                   

           

        



   prosek   

            public static double prosek (double... broj)

       double   

 broj              

                                   

 broj             

  broj  double[]                                  prosek                

      

  broj  double[]        broj.length                   broj[0] broj[1]    !           prosek  public static double prosek (double... broj) { double zbir = 0; for (int i = 0; i < broj.length; i++) zbir = zbir + broj[i]; return zbir / broj.length; }

"        for-each       #  public static double prosek (double... broj) { double zbir = 0; for (double e : broj) zbir = zbir + e; return zbir / broj.length; }

$         

                      %          T 

      

   !   T[]                &                      '       

 (                )           



    

                                                                                     ocene  double[]        prosek(ocene)             Arrays

              Arrays   java.util              

                              String toString(tip[] a) !       a "    #           a                           tip[] copyOf(tip[] a, int d) !      a     d $     d   a.length %           

    % false               d      a tip[] copyOfRange(tip[] a, int od, int do) !  a    od    do     &      od   a   

        do   

     $    do   a.length %           

    % false void sort(tip[] a) !  a      int binarnySearch(tip[] a, tip v) !   

     v    a $     v                              ½                    void fill(tip[] a, tip v) !

         a    v

        



  true     a  b                      false         tip            sort  binarnySearch           boolean boolean equals(tip[] a, tip[] b)

      

    Arrays                                         !                  "#                              $          n  k       

           %    broj                  &      '                       (            m 

         )          m          broj *          Math.random()                      *                broj             *                  broj              m   !       k                  broj          )                   broj    n - k       kombinacija           Arrays



     

 

   

import java.util.*; public class Loto { public static void main (String[] args) { final int n = 39; final int k = 7;

// dužina niza svih brojeva // dužina izvuˇ cene kombinacije

// Inicijalizacija niza brojevima 1, 2, ..., n int[] broj = new int[n]; for (int i = 0; i < n; i++) broj[i] = i + 1; int m;

// granica levog i desnog dela niza

// Izvlaˇ cenje k brojeva i premeštanje u desni deo niza for (m = n-1; m > n-k-1; m--) { // Generisanje sluˇ cajnog indeksa levog dela niza int i = (int) (Math.random() * (m+1)); // Me¯ dusobna zamena sluˇ cajnog elementa i poslednjeg // elementa levog dela niza int b = broj[i]; broj[i] = broj[m]; broj[m] = b; } // Kopiranje izvuˇ cenih brojeva u novi niz int[] kombinacija = Arrays.copyOfRange(broj, m+1, n); // Sortiranje novog niza Arrays.sort(kombinacija); // Prikazivanje izvuˇ cenih brojeva u rastu´ cem redosledu System.out.println("Dobitna kombinacija je: "); for (int b : kombinacija) System.out.print(b + " "); System.out.println();

   

   



} }

   

   

                                                                                !               int[]         int[][]          "    #               !        $     int[][][]            "         !                                      %    &     %                                     

                                '          "   !        ( int[][] a;

         a       $              int[][] )                    new           !      

( a = new int[3][4];

               $         "         a )              ( int[][] a = new int[3][4];

)             a          *  +           ,

  

                    



     

   

a[i][j]

 

   

  

                                             

   

  

    

         

        

a

a[0][0]

a[0][1]

a[0][2]

a[0][3]

a[1][0]

a[1][1]

a[1][2]

a[1][3]

a[2][0]

a[2][1]

a[2][2]

a[2][3]

 

   

!         

a



   

 

   

   





       "

         # 

       

a

 

new int[3][4]

         

                  

 

$

a a[0][0]

a[0][1]

a[0][2]

a[0][3]

a[1][0]

a[1][1]

a[1][2]

a[1][3]

a[2][0]

a[2][1]

a[2][2]

a[2][3]

a[0] a[1] a[2]

 

             



a

   



                  % &   %             

 

               '  

int[]

           

a[0] a[1]

a[2]

         

#    

    

         

 

 

   

    

    

  (     

int[]

   

   



                     a.length                    a                                       a[0].length a[1].length a[2].length 

                                                                !          "     #              new                    $                                           %   & int[][] a = new int[][] { { 1, -1, 0, 0}, {10, 17, -2, -3}, { 0, 1, 2, 3} };

' (!                                      "                             !                      #  for         (            (                       %            b& double[][] b = new double[10][10];

                   ½          ¼        !  & for (int i = 0; i < b.length; i++) {

// za svaki red // u tabeli for (int j = 0; j < b[i].length; j++) { // i za svaku kolonu // u aktuelnom redu if (i == j) // da li je element na glavnoj dijagonali? b[i][j] = 1;



     else b[i][j] = 0; } }

             b double zbir = 0; for (int i = 0; i < b.length; i++) for (int j = 0; j < b[i].length; j++) zbir = zbir + b[i][j];

         b         for-each   double zbir = 0; for (double[] red : b) for (double e : red) zbir = zbir + e;

       

                                         !"#  ½  $              $         % &    $         $     &     $             profit      double[][] profit = new double[10][12];

'    &         profit     $  &             $    (  &    & profit[5][2]              $     )* &    profit[i][j]               $      $ +  $    $    $  , -      profit[i]&             profit&                $    $       $

   

   



      profit                                            public double godišnjiProfit() { double ukupniProfit = 0; for (int i = 0; i < 10; i++) for (int j = 0; j < 12; j++) ukupniProfit += profit[i][j]; return ukupniProfit; }

                                !                      private double profitZaMesec(int m) { double meseˇ cniProfit = 0; for (int i = 0; i < 10; i++) meseˇ cniProfit += profit[i][m]; return meseˇ cniProfit; }

"                 !        public void prikažiProfitPoMesecima() { if (profit == null) { System.out.println("Greška: podaci nisu uneseni!"); return; } System.out.println("Ukupni profit prodavnica po mesecima:"); for (int m = 0; m < 12; m++) System.out.printf("%6.2f", profitZaMesec(m)); System.out.println(); }

#           !        $              



    

                                  

                                          

public void prikažiProfitPoProdavnicama() { if (profit == null) { System.out.println("Greška: podaci nisu uneseni!"); return; } double[] profitProdavnice = new double[n]; for (int i = 0; i < 10; i++) for (int j = 0; j < 12; j++) profitProdavnice[i] += profit[i][j]; System.out.println("Ukupni profit firme po prodavnicama:"); for (int i = 0; i < 10; i++) { System.out.print("Prodavnica " + i + ": "); System.out.printf("%7.2f", profitProdavnice[i]); System.out.println(); } }                           !"#        

$       

            

profit

 

Firma

n

% 

Firma



        

         $  

         &   

    

 

'  (       

import java.util.*; public class Firma { private int n; private double[][] profit; // Konstruktor

// broj prodavnica firme // tabela profita firme

   

    public Firma(int n) { this.n = n; } // Geter metod za polje profit public double[][] getProfit() { return profit; } public void unesiProfit() { profit = new double[n][12]; Scanner tastatura = new Scanner(System.in); for (int i = 0; i < n; i++) for (int j = 0; j < 12; j++) { System.out.print("Unesite profit prodavnice " + i); System.out.print(" za mesec " + j + ": "); profit[i][j] = tastatura.nextDouble(); } } public void prikažiProfit() { if (profit == null) { System.out.println("Greška: podaci nisu uneseni!"); return; } System.out.print("Tabela profita "); System.out.println("po prodavnicama i mesecima:"); for (int i = 0; i < n; i++) { for (int j = 0; j < 12; j++) System.out.printf("%6.2f", profit[i][j]); System.out.println(); } } public double godišnjiProfit() { double ukupniProfit = 0; for (int i = 0; i < n; i++)





     for (int j = 0; j < 12; j++) ukupniProfit += profit[i][j]; return ukupniProfit; } private double profitZaMesec(int m) { double meseˇ cniProfit = 0; for (int i = 0; i < n; i++) meseˇ cniProfit += profit[i][m]; return meseˇ cniProfit; } public void prikažiProfitPoMesecima() { if (profit == null) { System.out.println("Greška: podaci nisu uneseni!"); return; } System.out.println("Ukupni profit prodavnica po mesecima:"); for (int m = 0; m < 12; m++) System.out.printf("%6.2f", profitZaMesec(m)); System.out.println(); } public void prikažiProfitPoProdavnicama() { if (profit == null) { System.out.println("Greška: podaci nisu uneseni!"); return; } double[] profitProdavnice = new double[n]; for (int i = 0; i < n; i++) for (int j = 0; j < 12; j++) profitProdavnice[i] += profit[i][j]; System.out.println("Ukupni profit firme po prodavnicama:"); for (int i = 0; i < n; i++) { System.out.print("Prodavnica " + i + ": "); System.out.printf("%7.2f", profitProdavnice[i]); System.out.println();

   

   



} } }

                  

                             import java.util.*; public class ProfitFirme { public static void main(String[] args) { System.out.print("Program za rad sa tabelom profita "); System.out.print("koji je ostvarilo 10 prodavnica "); System.out.println("firme za 12 meseci."); System.out.println(); Firma abc = new Firma(10); // firma sa 10 prodavnica Scanner tastatura = new Scanner(System.in); int brojOpcije; do { prikažiMeni(); brojOpcije = tastatura.nextInt(); switch (brojOpcije) { case 1: abc.unesiProfit(); break; case 2: abc.prikažiProfit(); break; case 3: if (abc.getProfit() == null) System.out.println( "Greška: podaci nisu uneseni!"); else { System.out.print(



     "Ukupni godišnji profit firme:"); System.out.printf( "%8.2f", abc.godišnjiProfit()); System.out.println(); } break; case 4: abc.prikažiProfitPoMesecima(); break; case 5: abc.prikažiProfitPoProdavnicama(); break; case 0: System.out.println("Kraj programa ..."); break; default: System.out.println("Greška: pogrešna opcija!"); } } while (brojOpcije != 0); } private static void prikažiMeni() { System.out.println(); System.out.println("Izaberite jednu od ovih opcija:"); System.out.println(" 1. Unos tabele profita"); System.out.println(" 2. Prikaz tabele profita"); System.out.println(" 3. Prikaz ukupnog godišnjeg profita"); System.out.println(" 4. Prikaz profita po mesecima"); System.out.println(" 5. Prikaz profita po prodavnicama"); System.out.println(" 0. Kraj rada"); System.out.print("Unesite broj opcije: "); }

}

    

                                                    

    



               String[]                                                                                                     !               "  #                      

  !                                   $    Igraˇc             

               listaIgraˇca   Igraˇc[] % !      !         brojIgraˇ ca        !         %       " !   ½¼           &   ' Igraˇ c[] listaIgraˇ ca = new Igraˇ c[10]; // mogu´ ce do 10 igraˇ ca int brojIgraˇ ca = 0; // na poˇ cetku, broj igraˇ ca je 0

  "         ( &     & )* brojIgraˇ ca

¼

listaIgraˇ ca

listaIgraˇ ca[0] listaIgraˇ ca[1] listaIgraˇ ca[2]

  %     listaIgraˇca    

listaIgraˇ ca[9]

brojIgraˇ ca

  



+       (    ! "

     brojIgraˇca %      ' listaIgraˇ ca[0], listaIgraˇ ca[1], ... , listaIgraˇ ca[brojIgraˇ ca - 1]



     

                          brojIgraˇca                  brojIgraˇca               listaIgraˇca             noviIgraˇc                listaIgraˇ ca     ! listaIgraˇ ca[brojIgraˇ ca] = noviIgraˇ c; brojIgraˇ ca++;

// novi igraˇ c ide u prvi // slobodni element niza // aktuelni broj igraˇ ca je ve´ ci za 1

"                      #                    listaIgraˇca $                                             brojIgraˇca   ! listaIgraˇ ca[k] = listaIgraˇ ca[brojIgraˇ ca - 1]; brojIgraˇ ca--;

%                 listaIgraˇca #                                   ¼  brojIgraˇca - 1 &                             brojIgraˇca      $                              · ½            '     ´ · ½µ                 ´ · ¾µ     ´ · ½µ      (  

       ! for (int i = k+1; i < brojIgraˇ ca; i++) listaIgraˇ ca[i - 1] = listaIgraˇ ca[i]; brojIgraˇ ca--;

)          *                       +          , 

        +                   ½¼           listaIgraˇca                     $             -         .                      

    



                

                             

                 

                                                                       

                                                                                                                                              

                                  !   "                                                                   listaIgraˇca     ½¼                         # // Registrovanje novog igraˇ ca kada je niz listaIgraˇ ca popunjen if (brojIgraˇ ca == listaIgraˇ ca.length) { int novaDužina = 2 * listaIgraˇ ca.length; Igraˇ c[] noviNiz = Arrays.copyOf(listaIgraˇ ca, novaDužina); listaIgraˇ ca = noviNiz; } // Dodavanje novog igraˇ ca u stari ili novi niz listaIgraˇ ca[brojIgraˇ ca] = noviIgraˇ c; brojIgraˇ ca++;

         listaIgraˇca                         $    

  if    %       listaIgraˇca[brojIgraˇca]                        &      listaIgraˇca



    

                                      

                                                                                                   !       "         ArrayList    java.util #  ArrayList               $          %       &       

         ¼   

       ArrayList '          !   ( %      ArrayList )          ¼  size() - 1 *!          new ArrayList()

        add(elem) (      elem      %      +           

    a    %    a.length          a[a.length]=elem get(n) ( %                       ¼  size() - 1          +          

     a    a[n]                     set(n, elem) (          elem              %                      ¼  size() - 1          +    size()

    



                  a     a[n]=elem remove(elem)        elem       

                                                         

                               ¼  size() - 1                             

remove(n)    



indexOf(elem)             

     elem                            

             ½ ca   !              listaIgraˇ                " ArrayList listaIgraˇ ca = new ArrayList();

                 "

           

listaIgraˇ ca.add(noviIgraˇ c );

                  remove()" listaIgraˇ ca.remove(k);

     iskljuˇ cenIgraˇ c   Igraˇ c                    " listaIgraˇ ca.remove(iskljuˇ cenIgraˇ c );

          #      ArrayList      $     get(n)                              %      ArrayList()            Object[]               Object      &          Object              '   Object          



    

                                                              Object !                              "#        get()  Object   $       listaIgraˇca          Igraˇ c !                  get()                % Igraˇ c pacer = (Igraˇ c)listaIgraˇ ca.get(n);

&     Igraˇc     odigrajPotez()                                        % for (int i = 0; i < listaIgraˇ ca.size(); i++) { Igraˇ c slede´ ciIgraˇ c = (Igraˇ c)listaIgraˇ ca.get(i); slede´ ciIgraˇ c .odigrajPotez(); }

               % ((Igraˇ c)listaIgraˇ ca.get(i)).odigrajPotez();

'                $           $     listaIgraˇca             Igraˇc         odigrajPotez()     (          (Igraˇ c)listaIgraˇ ca.get(i)          )         *  +                     $                

  *  ,- .      #  #           &         ArrayList                 Object         ArrayList   T      /T         0 .  ArrayList                T &      %

    



ArrayList listaIgraˇ ca = new ArrayList();

      listaIgraˇca   ArrayList                 Igraˇc    

       listaIgraˇca        ArrayList                                                                  ! listaIgraˇ ca.add(noviIgraˇ c );

 listaIgraˇ ca.remove(iskljuˇ cenIgraˇ c );

"    #      $       

     noviIgraˇc  iskljuˇcenIgraˇc        Igraˇ c         %        

 listaIgraˇca     Igraˇc        

 &              ! Igraˇ c pacer = listaIgraˇ ca.get(n);

"         ArrayList     

          !       &            #         &                   

   ArrayList     '$          (                )* +         &                    ArrayList

               Double ,    Double       double         ArrayList                  double       ! double x; ArrayList nizBrojeva = new ArrayList();



    

       x      nizBrojeva   add() nizBrojeva.add( new Double(x) );

                   nizBrojeva.add( x );

               

                                                                    public class TelStavka { String ime; // ime osobe String telBroj; // tel. broj osobe }

                    ArrayList           !             TelImenik                     !               na¯ diBroj()                       dodajStavku()          "    #                  $                  %                    ukloniStavku()                  $            &  

   

 

import java.util.*;

'       

    



class TelImenik { private ArrayList imenik;

// niz stavki

// Konstruktor klase konstruiše prazan imenik public TelImenik() { imenik = new ArrayList(); } private int na¯ diStavku(String imeOsobe) { for (int i = 0; i < imenik.size(); i++) { TelStavka s = imenik.get(i); // Da li i-ta osoba ima dato ime? if (s.ime.equals(imeOsobe)) return i; // i-ta osoba ima dato ime } return -1; // nema osobe sa datim imenom } public String na¯ diBroj(String imeOsobe) { int i = na¯ diStavku(imeOsobe); if (i >= 0) // osoba se nalazi u imeniku? // Ako da, vratiti njegov tel. broj return imenik.get(i).telBroj; else // Ako ne, vratiti null referencu return null; } public void dodajStavku(String imeOsobe, String brojOsobe) { if (imeOsobe == null || brojOsobe == null) { System.out.println("Greška: prazno ime ili broj!"); return; } int i = na¯ diStavku(imeOsobe); if (i >= 0) // osoba se nalazi u imeniku? // Ako da, zameniti stari broj novim brojem imenik.get(i).telBroj = brojOsobe; else {



      // Ako ne, dodati novu stavku ime/broj u imenik TelStavka s = new TelStavka(); s.ime = imeOsobe; s.telBroj = brojOsobe; imenik.add(s); } } public void ukloniStavku(String imeOsobe) { int i = na¯ diStavku(imeOsobe); if (i >= 0) // osoba se nalazi u imeniku? // Ako da, ukloniti ga imenik.remove(i); }

}

           na¯diStavku()                    

      na¯diStavku()            

            TelImenik  TelImenik                                  

!    

         "           

       #     TelImenik    

   $ public static void main(String[] args) { TelImenik mojImenik = new TelImenik(); mojImenik.dodajStavku("Pera", null); mojImenik.dodajStavku("Pera", "111-1111"); mojImenik.dodajStavku("Žika", "222-2222"); mojImenik.dodajStavku("Laza", "333-3333"); mojImenik.dodajStavku("Mira", "444-4444"); System.out.println("Laza: " + mojImenik.na¯ diBroj("Laza")); mojImenik.dodajStavku("Laza", "999-9999"); System.out.println("Laza: " + mojImenik.na¯ diBroj("Laza")); System.out.println("Pera: " + mojImenik.na¯ diBroj("Pera")); mojImenik.ukloniStavku("Žika");

    



System.out.println("Žika: " + mojImenik.na¯ diBroj("Žika")); System.out.println("Mira: " + mojImenik.na¯ diBroj("Mira")); }



8                                                                                                                 

!                "                                       #                $##%&    

       

"                         '                      

                     

"           

      "                                (  "                      %               "                 #     ##%       

  ))*



   



  

           

                               

!"# 

      $           % $          

  &   

     '       #           #    $                 

  ( $      #         #       #        #    &    &    '    #        

   

     $         #  &                   $         

%     

 

    

            )                     $      $   (

modifikatori class ime-nove-klase extends ime-stare-klase { . . // Izmene ili dopune postoje´ ce klase . } '     $# ime-nove-klase        # 

ime-stare-klasa            %    &        

      $ 

  *         $#      &       $   extends           

   +  #       B   &   A   (

class B extends A { . . // Novi ˇ clanovi klase ili izmene . // postoje´ cih ˇ clanova klase A . } ,        &     $ $       -        $        

   



          

     

                       

Radnik

 

   

   

    

  

public class Radnik { String ime; long jmbg; long raˇ cun; double plata;

// // // //

ime i prezime radnika jedinstven broj radnika bankovni raˇ cun radnika plata radnika

public void uplatiPlatu() { System.out.print("Plata za " + ime + ", broj " + jmbg); System.out.println(" upla´ cena na raˇ cun " + raˇ cun); } public double izraˇ cunajPlatu() { // Obraˇ cunavanje meseˇ cne plate radnika } }  

 

      

 

  

   

Radnik

    

   

  



 

!     

      "     

 

  





      

 

                 "       

 #



 

      

      $ 

     #              

   

 

 

pla´ cenPoSatu



Radnik



   



    

  

 

% 

  

   

             

         





    

  

public double izraˇ cunajPlatu() { if (pla´ cenPoSatu) // Obraˇ cunavanje plate radnika pla´ cenog po satu } else { // Obraˇ cunavanje plate radnika sa fiksnom zaradom



    } }

                                                                             !  "                      tipRadnika                #    ¼           ½         ¾           $ !              !        % public double izraˇ cunajPlatu() switch (tipRadnika) { 0 : // Obraˇ cunavanje plate break; 1 : // Obraˇ cunavanje plate break; 2 : // Obraˇ cunavanje plate break; } }

{

radnika sa fiksnom zaradom

radnika pla´ cenog po satu

radnika pla´ cenog po danu

#              !                 &             Radnik   '   (                !   #                )         % public class RadnikPla´ cenFiksno { String ime; long jmbg;

// ime i prezime radnika // jedinstven broj radnika

    long raˇ cun; double plata;

 // bankovni raˇ cun radnika // meseˇ cna plata radnika

public void uplatiPlatu() { System.out.print("Plata za " + ime + ", broj " + jmbg); System.out.println(" upla´ cena na raˇ cun " + raˇ cun); } public double izraˇ cunajPlatu() { return plata; } } public class RadnikPla´ cenPoSatu { String ime; long jmbg; long raˇ cun; double brojSati; double cenaSata;

// // // // //

ime i prezime radnika jedinstven broj radnika bankovni raˇ cun radnika broj radnih sati radnika iznos za jedan radni sat

public void uplatiPlatu() { System.out.print("Plata za " + ime + ", broj " + jmbg); System.out.println(" upla´ cena na raˇ cun " + raˇ cun); } public double izraˇ cunajPlatu() { return brojSati * cenaSata; } }

                                                                                                         !   "                                           #          $    



   

      public class Radnik { String ime; long jmbg; long raˇ cun;

// ime i prezime radnika // jedinstven broj radnika // bankovni raˇ cun radnika

public void uplatiPlatu() { System.out.print("Plata za " + ime + ", broj " + jmbg); System.out.println(" upla´ cena na raˇ cun " + raˇ cun); } } public class RadnikPla´ cenFiksno extends Radnik { double plata;

// meseˇ cna plata radnika

public double izraˇ cunajPlatu() { return plata; } } public class RadnikPla´ cenPoSatu extends Radnik { double brojSati; double cenaSata;

// broj radnih sati radnika // iznos za jedan radni sat

public double izraˇ cunajPlatu() { return brojSati * cenaSata; } }

             izraˇ cunajPlatu()      Radnik                                      !    

      

                                          "     



    



       

   

   

    

                                     

  

          

!                 

  

RadnikPla´ cenFiksno RadnikPla´ cenPoSatu

Radnik

                     "              

Radnik

    

        

    %  

      

Date$

  

     

%     

   

  

         

Date

        

    

 

             

Date  #

Radnik

  

     

!       

    

Date

    "               

   

    



%  

 

 

  #

      

    %   &              

      

 

"          

      

(      

        

     &  

    

)   

                * +

&    

      '            &

     &  





 

     "      

             



A

   

     

     

A A

   &   * +   

B C

D

 

   &

         

D

  * +           #

    

     

E

  

E

, 

   -   .    %  

      

D

     

          

E

  

/                

   

     



   

 A

 C

 B

 D

 E

                                Osoba                    Vozilo                                     Vozilo                                    ! " Vozilo

Putniˇ ckoVozilo

Auto

Motocikl

TeretnoVozilo

Kamion

          #   Vozilo            

    $                      %

   



public class Vozilo { Osoba vlasnik; int brojMotora; String brojTablice; . . . public void promeniVlasnika(Osoba noviVlasnik) { . . . } . . . }

      

      

              

  public class Putniˇ ckoVozilo extends Vozilo { int brojVrata; Color boja; . . . } public class TeretnoVozilo extends Vozilo { int brojOsovina; . . . } public class Auto extends Putniˇ ckoVozilo { int brojSedišta; . . . } public class Motocikl extends Putniˇ ckoVozilo { boolean sedišteSaStrane; . . . } public class Kamion extends TeretnoVozilo { int nosivost;



    . . . }

      bmw       Auto       

      Auto bmw = new Auto();

     

   

        bmw brojSedišta brojVrata boja vlasnik brojMotora brojTablice

promeniVlasnika º º º

     Auto     bmw

  brojSedišta      Auto               bmw     !        bmw.brojSedišta = 2;

"  Auto #  PutniˇckoVozilo    Auto        bmw  !       PutniˇckoVozilo $        bmw        brojVrata boja    %    &   PutniˇckoVozilo '   System.out.println(bmw.brojVrata + bmw.boja);

'    PutniˇckoVozilo #   Vozilo       PutniˇckoVozilo (         Auto)  !      &   Vozilo         #

      bmw.vlasnik

bmw.brojMotora

bmw.brojTablice

   



   bmw.promeniVlasnika()

               

                                     Auto       Putniˇ ckoVozilo      Vozilo       Auto            !  PutniˇckoVozilo       Vozilo               "                                bmw #               $          %       A        x    A      &       A         '         x     &         (      )  '   A

 "             $                  *                            +          "                                $   '                        +              Vozilo    &      Auto        Putniˇ ckoVozilo  Vozilo ,          * Vozilo mojeVozilo; mojeVozilo = bmw;

 "* Vozilo mojeVozilo = bmw;

  * Vozilo mojeVozilo = new Auto();



   

                    mojeVozilo  Vozilo          Auto      Vozilo                                  instanceof             ime-promenljive instanceof ime-klase

                  !     "                 ime-klase#     instanceof  true$      #   false %   #   if (mojeVozilo instanceof Auto) ...

                 mojeVozilo     Auto &          instanceof#       #                     '  #               #             "     #       (            )        #                 (          %   #    bmw = mojeVozilo;

    #       mojeVozilo        "           %   #       mojeVozilo          Kamion#                    bmw           Kamion !       bmw.brojSedišta#

#                       bmw      brojSedišta#         ( "     Kamion )                      int       short#         int "

   



    short        Vozilo      Auto                          

                    mojeVozilo        Auto        bmw = (Auto)mojeVozilo;

   ((Auto)mojeVozilo).brojSedišta = 4;

                                                       !      mojeVozilo      Kamion        (Auto)mojeVozilo          "                        

                   instanceof #  if (mojeVozilo instanceof Auto) ((Auto)mojeVozilo).brojSedišta = 4; else if (mojeVozilo instanceof Motocikl) ((Motocikl)mojeVozilo).sedišteSaStrane = false; else if (mojeVozilo instanceof Kamion) ((Kamion)mojeVozilo).nosivost = 2;

        $      Vozilo       $                  %                        %   !                  

             &          '                      ( $    private  public               %       ) $    protected *      protected +  ),     



   

                                                                            !       protected                                            "    boja   PutniˇckoVozilo #    $                              %                         &      PutniˇckoVozilo $        boja                       $                          '         protected          PutniˇckoVozilo "                        

      (                              )     $                  $                                    $                 %                     *   *              &                       $                        

  super +  $                 $                  #       *    $                                    *  *   "       *          $                             $      *   )  

  super



                                        

                    

                                                                    

    !  super" super.zaklonjen-ˇ clan

#  !   super                              $  super.x       !       x       %                        !                  "                               $                                           !                           &                                        

                                 '    

        !              !   super   (        Dete        Uˇ cenik"    Dete              Uˇcenik        )     )   (   Uˇcenik      Dete         " public class Dete { private String ime; private int uzrast; // Konstruktor



    public Dete(String ime, int uzrast) { this.ime = ime; this.uzrast = uzrast; } // Metod prikaži() public void prikaži() { System.out.println(); System.out.println("Ime: " + ime); System.out.println("Uzrast: " + uzrast); }

} public class Uˇ cenik extends Dete { private String škola; private int razred; // Konstruktor public Uˇ cenik(String ime, int uzrast, String škola, int razred){ super(ime, uzrast); this.škola = škola; this.razred = razred; System.out.println("Konstruisan uˇ cenik ... "); prikaži(); } // Metod prikaži() public void prikaži() { super.prikaži(); System.out.println("Škola: " + škola); System.out.println("Razred: " + razred); } }

 Dete           ime  uzrast                    prikaži() 

            Uˇcenik         škola  razred                    prikaži()         

  super



  prikaži()   Uˇcenik            Dete   Uˇcenik                     

   prikaži()         Uˇcenik           Uˇcenik  prikaži()   Uˇcenik                        ime uzrast      Dete                   !       " super.prikaži();

 prikaži()    Uˇcenik      prikaži()       Dete #         ime uzrast

      !    $   %   & " Uˇ cenik u = new Uˇ cenik("Laza Lazi´ c", 16, "gimnazija", 2);

   ' &   " Konstruisan uˇ cenik ... Ime: Uzrast: Škola: Razred:

Laza Lazi´ c 16 gimnazija 2

(   %     %    prikaži()    Uˇ cenik        Dete   super   prikaži() )               prikaži()    Uˇ cenik        &     #                 super  %   $                    &       * &       '       * &       +            super                   %    * &    + !     prikaži()     



   

          prikaži()                               super             ime  uzrast   Dete          prikaži()     Uˇcenik                         super                   prikaži()  Uˇcenik             Dete 

                                   !                           "        #  final        $ public final void nekiMetod() {...}

%      &'      final  #    (  )          

  *   final                              # *     # final          final    #                $ public final class NekaKlasa {...}

%    final                    final          final              final                +          final  !          final                                                #   #  final * 

         System  String #    final  ,                  #    final  ! 

  super



     final                                    

                                                                                                                                   !              "        #              $%        !            super &                 

              '                       %        super                  ( super( lista-argumenata )

)      Uˇ cenik            Dete        ime uzrast      Uˇ cenik( super(ime, uzrast);

&               super           $                                      



   

                                 new                                    this  super       super()                   !                 !                              super           !                  !                              this                  !         !      

        !   

                       !   Object

"                      #          $ 

                   #      %         &      !     Object                    & ' Object # !

              (                        

                    

  Object



                    Object                                            Object                 extends    ! public class NekaKlasa { ... }

    ! public class NekaKlasa extends Object { ... }

"          Object                   Object       #           $       %&          '                Object (           Object                       '          ArrayList            )* +  Object          '         $                          '    # ,     & $  &          Object           -       '  '      %   '   '     &           equals

.  equals() &                                     /      o1 o2      Object   Object          o1.equals(o2)     o1 == o2 $                  Object      ,  $                  &                       '  



   

      Dete                        Dete        equals()     public boolean equals(Object obj) { if (obj == null || !(obj instanceof Dete)) return false; Dete drugoDete = (Dete)obj; // Konverzija tipa obj u Dete if (this.ime == drugoDete.ime && this.uzrast == drugoDete.uzrast) // Drugo dete ima isto ime i uzrast kao ovo dete, // pa se podrazumeva da su jednaki objekti-deca. return true; else return false; }

    equals()      String         String                           String ime = "Pera"; . . . if (ime.equals(korisniˇ ckoIme)) login(korisniˇ ckoIme); . . .

!                  if (ime == korisniˇ ckoIme)

// Pogrešno!

!  if                 String      "                  hashCode

# hashCode()                !  $  % &            '&              ("                )             '     

  Object



                   HashTable HashMap  HashSet      hashCode()   Object                                    !           equals()  Object "          equals()        hashCode() #      hashCode()        $                  Object %                       

toString &  toString()         String                    

"   toString()                        $                        toString()

'   toString()   (   Object  )                             @            %     mojeDete      Dete            * mojeDete.toString()

    "Dete@163b91"          )    (      toString()  !     +  %    Dete         !  * public String toString() { return ime + " (" + uzrast + ")"; }



   

  mojeDete           Dete                        mojeDete                           Dete mojeDete = new Dete("Aca", 10); System.out.print("Moj mali je " + mojeDete); System.out.println(", ljubi ga majka.");

    

   Moj mali je Aca (10), ljubi ga majka.

clone

 clone()                                             

         

                ! "       # 

       $           %          &               

                '                     (  #                

                )

 clone()    Object     $       *            

%   

  

              

   $    +  ,           # 

   +  '  +            -*     . /           0 1 2   +            2   +

                   *                    

  



                              

                                                !                 "       #     $ %     A    &   B               m '                 ( public class A { public void m() { System.out.println("m()"); } } public class B extends A { public void m(int x) { System.out.println("m(int x)"); } public void m(String y) { System.out.println("m(String y)"); } }

   A        m()   )  B        ! !    ( m(int x)

m(String y)

%         m       *                      B( B b = new B(); b.m(); b.m(17); b.m("niska");



   

                  m                                 ! m() m(int x) m(String y)

"                     #      $                        %& '                                (                         #     $                 )                       ! public class Ku´ cniLjubimac { public void koSamJa() { System.out.println("Ja sam ku´ cni ljubimac."); } } public class Pas extends Ku´ cniLjubimac { public void koSamJa() { System.out.println("Ja sam pas."); } } public class Maˇ cka extends Ku´ cniLjubimac { public void koSamJa() { System.out.println("Ja sam maˇ cka."); } }

"    Ku´ cniLjubimac  *   koSamJa()          Pas Maˇ cka                   (   

  



     ljubimac          Ku´cniLjubimac       koSamJa()     ljubimac.koSamJa();

                

         ljubimac                     Ku´cniLjubimac Pas Maˇcka              koSamJa()                              ljubimac                   koSamJa() !

               Ku´ cniLjubimac ljubimac1 = new Ku´ cniLjubimac(); Ku´ cniLjubimac ljubimac2 = new Pas(); Ku´ cniLjubimac ljubimac3 = new Maˇ cka(); ljubimac1.koSamJa(); ljubimac2.koSamJa(); ljubimac3.koSamJa();

         Ja sam ku´ cni ljubimac. Ja sam pas. Ja sam maˇ cka.

" 

    

  

    ljubimac1 ljubimac2

ljubimac3    Ku´cniLjubimac #       $        Ku´cniLjubimac             !                  %        koSamJa()                  

      

    Ku´cniLjubimac &  %              $   %                                     

          '     ' %                  !

      

                         ½¼¼¼¼¼   



    Ku´ cniLjubimac[] populacija = new Ku´ cniLjubimac[100000];

           

Pas



Maˇ cka

    

   

Ku´ cniLjubimac

   



    

for (Ku´ cniLjubimac ljubimac : populacija) { ljubimac.koSamJa(); }      

          

      

public class Kanarinac extends Ku´ cniLjubimac { public void koSamJa() { System.out.println("Ja sam kanarinac."); } }     

  



Kanarinac

populacija

   

   

               

                         



 

   

 

  

 

     

                 



9      

                                                                                 

                               !  "#                      $%                                       "   &           '    

                 #                '  &                                             ( )     &     &            "                       &  )                  #         )   '       &      *    " & +$,



   

                  

               

                                                                           !           !                "                   #                 

 



$               !               #  %        !          & %        #        !        

                       '          ( "           )         *       

 !    ½        P L J  Z                               +                ) !      z         , - .          ) public enum GodišnjeDoba { PROLE´ CE, LETO, JESEN, ZIMA }

*      GodišnjeDoba              PROLE´CE LETO JESEN  ZIMA " !                      !          

 





                 enum ime-tipa { lista-konstanti }

                 enum                    

         !       "                 #                

      $!                      %     &          !          ½ $    !     GodišnjeDoba               '                  

   

            '  

               

   

GodišnjeDoba modnaSezona;

"   modnaSezona              GodišnjeDoba      null (         modnaSezona            

           GodišnjeDoba '   modnaSezona = GodišnjeDoba.LETO;

"                 

      '   if (modnaSezona == GodišnjeDoba.LETO) System.out.println("Krpice za jun, jul i avgust."); else System.out.println(modnaSezona);

)         !                    if        equals()    == $                                                       GodišnjeDoba       GodišnjeDoba.java ½



   



         

     

              

println

           

  

             

      

     

  

   



!  

   

      

          

 

 

GodišnjeDoba.

              

public final static



  

"   

          

       

 



   

      

                 #

     

    

         $     

 #        

 



 

   

         

            %   

   

  $

     



  #  

 

  



#     &

public enum GodišnjeDoba { PROLE´ CE(’P’), LETO(’L’), JESEN(’J’), ZIMA(’Z’); private char skra´ cenica;

// polje

private GodišnjeDoba(char skra´ cenica) { // konstruktor this.skra´ cenica = skra´ cenica; } public char getSkra´ cenica() { return skra´ cenica; }

// geter metod

} '



    

  



 

toString()

(  





  



Enum

 

      

Enum

  

  

         

  &

modnaSezona = GodišnjeDoba.LETO; System.out.println(modnaSezona);

 





     println                  modnaSezona.toString()       "LETO"           

     toString()   Enum     valueOf()     static Enum valueOf(Class nabrojiviTip, String ime)

 valueOf()          

            Scanner tastatura = new Scanner(System.in); System.out.print("Unesite godišnje doba: "); String g = tastatura.nextLine(); modnaSezona = (GodišnjeDoba) Enum.valueOf( GodišnjeDoba.class, g.toUpperCase());

!       "                 zima    modnaSezona          GodišnjeDoba.ZIMA

   ordinal()   Enum                  #  $            GodišnjeDoba.PROLE´CE.ordinal()  int   ¼ GodišnjeDoba.LETO.ordinal()  int   ½               values()          #             gd         GodišnjeDoba.PROLE´CE GodišnjeDoba.LETO GodišnjeDoba.JESEN GodišnjeDoba.ZIMA %         GodišnjeDoba[] gd = GodišnjeDoba.values();

 values()         for-each                     "        enum Dan { PONEDELJAK, UTORAK, SREDA, ˇ CETVRTAK, PETAK, SUBOTA, NEDELJA}; for (Dan d : Dan.values()) {



    System.out.print(d); System.out.print(" je dan pod rednim brojem "); System.out.println(d.ordinal()); }

          PONEDELJAK je dan pod rednim brojem 0 UTORAK je dan pod rednim brojem 1 SREDA je dan pod rednim brojem 2 ˇ CETVRTAK je dan pod rednim brojem 3 PETAK je dan pod rednim brojem 4 SUBOTA je dan pod rednim brojem 5 NEDELJA je dan pod rednim brojem 6

            switch         switch                  case                                switch (modnaSezona) { case PROLE´ CE: // pogrešno je System.out.println("Krpice break; case LETO: System.out.println("Krpice break; case JESEN: System.out.println("Krpice break; case ZIMA: System.out.println("Krpice break; }

´ GodišnjeDoba.PROLECE za mart, april i maj.");

za jun, jul i avgust.");

za sept., okt. i nov.");

za dec., jan. i feb.");

  

                                               ! 

  





                          

 

         

                            Trougao Pravougaonik 

Krug          

  

   !

  "         #      GeomOblik  

   

     

     $  

    %      #     GeomOblik

GeomOblik

Trougao

 

Pravougaonik

Krug

&        

 

'    GeomOblik (       !                 

                (             !                      )¾

public class GeomOblik {

¾

Color

      

  

java.awt

  

   



    private Color boja; public void oboji(Color novaBoja) { boja = novaBoja; nacrtaj(); } public void nacrtaj() { . . // Naredbe za crtanje geometrijskog oblika . } // Ostala polja i metodi . . . }

          nacrtaj()   GeomOblik                         oboji()                              nacrtaj()                                            nacrtaj()           GeomOblik public class Trougao extends GeomOblik { public void nacrtaj() { . . // Naredbe za crtanje trougla . } // Ostala polja i metodi . . . } public class Pravougaonik extends GeomOblik { public void nacrtaj() { .

  





. // Naredbe za crtanje pravougaonika . } // Ostala polja i metodi . . . } public class Krug extends GeomOblik { public void nacrtaj() { . . // Naredbe za crtanje kruga . } // Ostala polja i metodi . . . }

    oblik 

    GeomOblik GeomOblik oblik;

                          Trougao Pravougaonik Krug             oblik                                               oblik.nacrtaj();

     nacrtaj()     

               oblik                                       !    oblik                            " #       nacrtaj()             $              

           nacrtaj()  

 GeomOblik       



   

                

      nacrtaj()  GeomOblik       GeomOblik                                                         nacrtaj()  GeomOblik                    GeomOblik !   nacrtaj()  "        GeomOblik

   #          oblik   GeomOblik    oblik.nacrtaj();

     $        %    &          GeomOblik           oblik "    nacrtaj()      

  %                        nacrtaj()   GeomOblik 

  '    (      

                  GeomOblik )               GeomOblik *   oblik+         '          %  GeomOblik ,   GeomOblik "                              %  .         "        #   # #     ,         "        /     "                      0                                  -               nacrtaj()  GeomOblik "             %    /                                 %

 GeomOblik       GeomOblik                    GeomOblik 

  





  nacrtaj()          nacrtaj()    GeomOblik         

  

              GeomOblik              nacrtaj()   

GeomOblik        GeomOblik    nacrtaj()        

   

 

          !

    abstract           "  

            

                  !          GeomOblik           # $

public abstract class GeomOblik { private Color boja; public void oboji(Color novaBoja) { boja = novaBoja; nacrtaj(); } public abstract void nacrtaj();

// apstraktni metod

// Ostala polja i metodi . . . } %                       &      

              '                                 GeomOblik    boja      oboji()                              new                     $

new GeomOblik()          



                         

  

               

                                                          

             

      

              

new 

                     

      !

super           

"      #                       

    

!      

  $     "        

%                 &

GeomOblik oblik = new Pravougaonik(); '        (!  )                

*       "

                      %

! %   %   %   "    $  !     +                 ,                                     !

abstract 

       *       +    "                 

                 -..

  

        +       ! + %   

   

     /   +    

   /       +        /   

 

#"  

 "  !    

+   "       !           0    1        (  2)           

 2       2 

  



                                                                                   !                      "  interface #    $                             %                &      '    "      &#    !      static final             ' (           " )     &   '     %   !       $   $       $        #           !   * sort()   Arrays "           +                              Comparable ,     !  )   $  + public interface Comparable { int compareTo(Object o); }

-     )     !      )           class    interface )                        .     &    '   )    public              #  )     Comparable             )    compareTo()              Object         int (                                "     +    x.compareTo(y)  compareTo()        x y $            $                x    y           x $  y



   

                                         implements                   public class Radnik implements Comparable { String ime; double plata;

// ime i prezime radnika // plata radnika

// Ostala polja i metodi . . . public int compareTo(Object o) { Radnik drugiRadnik = (Radnik) o; if (this.plata < drugiRadnik.plata) return -1; if (this.plata > drugiRadnik.plata) return +1; return 0; } }

!        compareTo()   Radnik "   #           $%                  compareTo()   & '             "    public                   Comparable (           Radnik     "   Comparable              %                 Radnik             )        Radnik[] spisakRadnika = new Radnik[500]; . . . Arrays.sort(spisakRadnika);

  



                                                          Radnik   Comparable

                             !      

     .java            "     .class #                !                "  $      "                            !                                 % new Comparable()

      $&"     '           (              &                   "             &"       '                                    )                     % Comparable x;

// OK

          *                     +                      Radnik     Comparable   %



    Comparable x = new Radnik();

// OK

         instanceof                                          if (nekiObjekat instanceof Comparable) . . .

       !!            "          #          $!        !!                    

 ! !!    %            !! &  public interface Radio { void ukljuˇ ci(); void iskljuˇ ci(); } public interface Klasiˇ canRadio extends Radio { void izaberiStanicu(); } public interface InternetRadio extends Radio { void izaberiSajt(); }

'                           (        extends                   )                 

      

  &  public interface Klasiˇ canRadio extends Radio { double B92 = 92.5; double STUDIO_B = 99.1; void izaberiStanicu(); }

*                 public          public static final 

 

  



                                                  

                                 Cloneable                 !  "   clone()   Object #        !                     $ !  !          Cloneable

Comparable    % public class Radnik implements Cloneable, Comparable { ... }

       Radnik           clone()

compareTo()    

&    "             !   

                #        Comparable  !  !     '    % abstract class Comparable { // Zašto ne? public abstract int compareTo(Object o); }

( !   Radnik              

     compareTo()% public class Radnik extends Comparable { // Zašto ne? String ime; double plata;

// ime i prezime radnika // plata radnika

// Ostala polja i metodi . . . public int compareTo(Object o) { Radnik drugiRadnik = (Radnik) o;



    if (this.plata < drugiRadnik.plata) return -1; if (this.plata > drugiRadnik.plata) return +1; return 0; } }

                                       Radnik      

   Osoba   Radnik       public class Radnik extends Osoba, Comparable

// GREŠKA

            !  "        # public class Radnik extends Osoba implements Comparable

// OK

   

$   %                 %                 &                               ' (                     )     (               * +                                    , +                      "  %#  )   

          - .            %      /       %                 0                        

   





¿                                                                       

              !     "                    static                ! class SpoljašnjaKlasa { // Ostala polja i metodi . . . static class Statiˇ ckaUgnjež¯ denaKlasa { . . . } class ObjektnaUgnjež¯ denaKlasa { . . . } }

#                                     $       public private protected       %               $       public    & '                       %    (   &    "   (            )       $ $           

                                                         !          ¿



   

     

                                  static             

                                              !             "                                 #    !                              !              $        KoordSistem   !       %       KoordSistem      Duž           $ & public class KoordSistem { // Ostali ˇ clanovi klase KoordSistem . . . public static class Duž { // Predstavlja duž u ravni od // taˇ cke (x1,y1) do taˇ cke (x2,y2) double x1, y1; double x2, y2; } }

'    Duž           KoordSistem      new Duž() (   KoordSistem        new KoordSistem.Duž() '            KoordSistem           (      Duž   !

   KoordSistem                                            static

     



KoordSistem$Duž.class

 

   

         

            

KoordSistem

 

KoordSistem.class

    

    

            



                   

                                         



    !

                 "    

     #        



                

               

            

   

      

static

 #     $ %

    

               

   

                    &                      ' 

                

              

     "              

  

              

      



     



                    

 (               

    

  

               )   

        

              



 

 ! 

                   

                                          * !

promenljiva.ObjektnaUgnjež¯ denaKlasa



   

                                                                            

                                          this                                                

                          ! public class Tabli´ c { private Karta[] špil;

ca // špil karata za this igru tabli´

private class Igraˇ c { . . . }

ca // jedan igraˇ c this igre tabli´

// Ostali ˇ clanovi klase Tabli´ c . . . }

"  igra       Tabli´c       

 igra   # #           

 Igraˇc           Tabli´c    

        new Igraˇc() $"     Tabli´ c        igra.new Igraˇ c()%  

 Igraˇc              špil    Tabli´c &               '                (           Igraˇc )          Igraˇc          

        Igraˇc   )  

                      

    

   



 

                                                                                                               !                        "                                                       #      "      #                             "           $ %                                                            &  #                       .this %             

                          '                

          %                   public private protected  static '                                                        final '      #               



                                                                    

  

          

                                                                    final

   !           "                          #                      $  %      &      new         '

new natklasa (lista-argmenata) { metodi-i-promenljive } 

new interfejs () { metodi-i-konstante } 

 

  

 

new

    

 

new

     

        

                       

 

new

new

 

       

   



    

      



   

   

 

   

     !  

"       

 !       

   ! 

     

         

 

  

              

     



 

#  

    

   !  

        

              

  

$



  !   

    Object



   

          

                                        



                  

!        

"

    #        $                        #         

%       

                          

    

              

java.awt

Button

 $

&         

addMouseListener

             

            #          

addMouseListener

   

%'        $

          

MouseListener

     

                 

new

(  #       

           

addMouseListener

    )

Button dugme = new Button("Pritisni me"); // dugme sa tekstom dugme.addMouseListener(new MouseListener() { // poˇ cetak tela // anonimne klase // Svi metodi interfejsa MouseListener se moraju definisati public void mouseClicked(MouseEvent e) { System.out.println("Kliknuto na dugme"); } public void mousePressed(MouseEvent e) { } public void mouseReleased(MouseEvent e) { } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } }); // srednja zagrada i taˇ cka-zapeta završavaju poziv metoda!



   

                           

                                                          !     "             #     NekaKlasa                     NekaKlasa$1.class NekaKlasa$2.class     



10                  

        

      

                

                                

     !  "         #  $%&' $       !             

          (             $              ) #                  "              ' %                        



          )               #      

  #  *               

   (      "       ' +                                          #   ,                      -       !     

          .//



   

                    





                   

 

        

                           !"    #$        %    &           '                &                     (                                             )  

*+    

   

      ,   -                         



           

                        



.         

              





     %

)     

 

    

!

 

/            

                      &      

       .        

      %

java.awt

  0# ! '

    

   

1                 

    &                      

 & 

1       

      

     

        '

  

0#   

           '           /            *     +    

  



                                                    !             javax.swing !                       "     #$  $ %                %                                  "    &   $     !       %       '  !            ( (  %      )   *    % +% *      )   ,  %               + -. / (        

 0%  *  ! 1    $                      + !     2 3 !    $   + 4,'               3 !                 3 !   $                 "          #      + !           +  %    (*     $          *        /'    + !         %   JButton0 5                 java.awt  javax.swing%      %             !           *         



   

     

                                                !   

        "                                                      # $        JOptionPane         showInputDialog()  showMessageDialog() %            !                  &             

            '                !        null                              !    (    JOptionPane    )             import javax.swing.*; public class ZdravoGUI { public static void main(String[] args) { String ime = JOptionPane.showInputDialog(null, "Kako se zovete?", "Grafiˇ cki ulaz", JOptionPane.QUESTION_MESSAGE); String godine = JOptionPane.showInputDialog(null, "Koliko imate godina?", "Grafiˇ cki ulaz", JOptionPane.QUESTION_MESSAGE); int god = Integer.parseInt(godine); String poruka = "Zdravo " + ime + "!\n"; poruka += god + " su najlepše godine.";

   



JOptionPane.showMessageDialog(null, poruka, "Grafiˇ cki izlaz", JOptionPane.INFORMATION_MESSAGE); System.exit(0); } }

    showInputDialog()                                                     parseInt()    Integer                       

             

   

!     "                  #              $                                             $                        %  &              



    



               

      

 

                 

          

  

            

 

                             



 



!   

 

   " "       

!   

   # $ "       "  

      "   " "  %&'   

      

(        



"                                   &   )*    +   

JFrame

      

            #  

JFrame

 

!    

           "   

!           

                    ,- .       ,- .

 

      

  

    

import javax.swing.*; public class PrazanOkvir { public static void main(String[] args) {

   



JFrame okvir = new JFrame("Prazan okvir"); okvir.setSize(300, 200); okvir.setLocation(100, 150); okvir.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); okvir.setVisible(true); } }

          main()                     JFrame JFrame okvir = new JFrame("Prazan okvir");

    JFrame                                                        ¼   ¼  ½                !     "   #   $     "               # %         JFrame         $     setSize()  setLocation() okvir.setSize(300, 200); okvir.setLocation(100, 150);



    !    !                   &         okvir.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

&  '                          (       $                         )*        ½

                               



   

                                                                     setVisible()

  JFrame    true okvir.setVisible(true);

                   main()                      !           "        #                  System.exit()       $   JFrame                %   %&'  $(      )       *  *   +*      JFrame        *             !  *              +         JFrame   *  +  *  ,  setLocationByPlatform()    true  

          *       -      !#      ,  setBounds()   -             !            okvir.setSize(300, 200); okvir.setLocation(100, 150);

      okvir.setBounds(100, 150, 300, 200);

,  setTitle()             ,  setResizable()    !            !    ,  setIconImage()          *    ,  setLayout()       !                 

   



                                                                                                                                    !"#  $% & ' ()*           +          ¾ Object

Component

Container

JComponent

Window

JPanel

Frame

JFrame

  ,      !"#-$%   

 

Component

 Container   ' !"#      

                                                                            ¾



   

            Container   Component                                            

                                 !      "    JComponent      #$     Container       #$            JButton JLabel JComboBox JMenuBar           #$                    %                #$            JFrame  JPanel &                  '                         '                                                   JFrame    Container     Component                                                               (                                                        &                       JPanel     JComponent        #$                    )  *  "           !           )   *  "         !              +       JComponent ,   #$                                JComponent '                                              JButton JLabel JTextField JCheckBox JRadioButton  JComboBox )&             +               -./0#$   * 1           

   



                                  

                     

         // Dugme sa tekstom "OK" JButton dugmeOK = new JButton("OK"); // Oznaka sa tekstom "Unesite svoje ime: " JLabel oznakaIme = new JLabel("Unesite svoje ime: "); // Tekstualno polje sa tekstom "Ovde upišite svoje ime" JTextField tekstPoljeIme = new JTextField("Ovde upišite svoje ime"); // Polje za potvrdu sa tekstom "Student" JCheckBox potvrdaStudent = new JCheckBox("Student"); // Radio dugme sa tekstom "Zaposlen" JRadioButton radioDugmeZaposlen = new JRadioButton("Zaposlen"); // Kombinovano polje sa tekstom godine studija JComboBox kombPoljeGodina = new JComboBox(new String[]{"I godina", "II godina", "III godina", "IV godina"});

                    

     

  !"#     $% &

          

          '    add() (   '                 

           

   



   

  panel        JPanel  okvir       JFrame               

  panel.add(new JButton("Test"));

      

                              okvir okvir.add(panel);

                                 !    "                                          #  $              %                    & 

        ½         

                      ! $                       '                                                                          JFrame        setBounds() %       okvir.setBounds(100, 150, 300, 200);

(                 

          )              *+ , '                 

     %              -                   

   







   

 

   





 



 



            

                                

 

                                   JButton dugme = new JButton("OK"); // OK dugme dugme.setBounds(20, 100, 60, 40); // granice OK dugmeta okvir.add(dugme); // dodavanje OK dugmeta u okvir



                                                !     

  " #                 $                          !          

                        %         &    &                    !                

       '                

      (       )  



   

                                                           setLayout()   Container public void setLayout(LayoutManager m)

                              LayoutManager LayoutManager                      !                         "  #           $             %&!'(



  

    

   

)                              *     +              ,      $  

 $                       #             -               .                                                             /                                         $    $        )                                          

  /         import javax.swing.*;

   



public class TestFlowLayout { public static void main(String[] args) { // Konstruisanje okvira JFrame okvir = new JFrame("Test FlowLayout"); okvir.setSize(300, 200); okvir.setLocation(100, 150); okvir.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Konstruisanje šest dugmadi JButton crvenoDugme = new JButton("Crveno"); JButton zelenoDugme = new JButton("Zeleno"); JButton plavoDugme = new JButton("Plavo"); JButton narandžastoDugme = new JButton("Narandžasto"); JButton beloDugme = new JButton("Belo"); JButton crnoDugme = new JButton("Crno"); // Konstruisanje panela za dugmad JPanel panel = new JPanel(); // Smeštanje dugmadi u panel panel.add(crvenoDugme); panel.add(zelenoDugme); panel.add(plavoDugme); panel.add(narandžastoDugme); panel.add(beloDugme); panel.add(crnoDugme); // Smeštanje panela u okvir okvir.add(panel); okvir.setVisible(true); } }

                                                                      !    "  



   

        

  

 

      

             

 

                                      !            "        GridLayout#  "        "

 $           #      #         %             

         

            import javax.swing.*; import java.awt.*; public class TestGridLayout {

   



public static void main(String[] args) { // Konstruisanje okvira JFrame okvir = new JFrame("Test GridLayout"); okvir.setSize(300, 200); okvir.setLocation(100, 150); okvir.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Konstruisanje više dugmadi JButton crvenoDugme = new JButton("Crveno"); JButton zelenoDugme = new JButton("Zeleno"); JButton plavoDugme = new JButton("Plavo"); JButton narandžastoDugme = new JButton("Narandžasto"); JButton beloDugme = new JButton("Belo"); JButton crnoDugme = new JButton("Crno"); // Konstruisanje panela za dugmad JPanel panel = new JPanel(); // Pridruživanje postupka GridLayout za razmeštanje // komponenti u panel u 3 reda i 2 kolone, sa horizontalnim // i vertikalnim rastojanjem 5 i 10 piksela izme¯ du njih panel.setLayout(new GridLayout(3, 2, 5, 10)); // Smeštanje dugmadi u panel panel.add(crvenoDugme); panel.add(zelenoDugme); panel.add(plavoDugme); panel.add(narandžastoDugme); panel.add(beloDugme); panel.add(crnoDugme); // Smeštanje panela u okvir okvir.add(panel); okvir.setVisible(true); } }

                               



   

      





 

    

       

   

     

            

setLayout()

  

new GridLayout(3, 2, 5, 10)                

 





  

      

 

   "

   



  



  

    

      



  

 

GridLayout

     

   

 



     

    

     

!       

GridLayout

   " 

       

#$%

 

            &  

  

       

       

    

      

    

  

"   '   

   

add()

(



 

   

   



BorderLayout.EAST

BorderLayout.WEST

BorderLayout.NORTH

BorderLayout.SOUTH

BorderLayout.CENTER

                                                                      

                                           import javax.swing.*; import java.awt.*; public class TestBorderLayout { public static void main(String[] args) { // Konstruisanje okvira JFrame okvir = new JFrame("Test BorderLayout"); okvir.setSize(300, 200); okvir.setLocation(100, 150); okvir.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Konstruisanje pet dugmadi JButton istoˇ cnoDugme = new JButton("Istoˇ cno"); JButton zapadnoDugme = new JButton("Zapadno"); JButton severnoDugme = new JButton("Severno"); JButton južnoDugme = new JButton("Južno"); JButton centralnoDugme = new JButton("Centralno"); // Konstruisanje panela za dugmad JPanel panel = new JPanel(); // Pridruživanje postupka BorderLayout za razmeštanje // komponenti u panel, sa horizontalnim i vertikalnim // rastojanjem 5 i 10 piksela izme¯ du njih panel.setLayout(new BorderLayout(5, 10));



    // Smeštanje dugmadi u panel panel.add(istoˇ cnoDugme, BorderLayout.EAST); panel.add(zapadnoDugme, BorderLayout.WEST); panel.add(severnoDugme, BorderLayout.NORTH); panel.add(južnoDugme, BorderLayout.SOUTH); panel.add(centralnoDugme, BorderLayout.CENTER); // Smeštanje panela u okvir okvir.add(panel); okvir.setVisible(true);

} }

                                                                       

          

 

 

                   !              "                                 "                 #                              

    



             

  

    

                          

                    ! !  "#$%          &    !    '                          !                        JComponent         paintComponent()   JComponent           !  !      ( public class MojaKomponenta extends JComponent { public void paintComponent(Graphics g) { // Naredbe za crtanje u komponenti } }

)!             '                *      

     + )    !      paintComponent()           Graphics &

                      Graphics



   

 Graphics                                                            !"      #    Graphics                  $  %        &  Graphics                            Graphics       ' (    Graphics          '     '            Graphics         '                        &   )     '                ( public void drawString(String s, int x, int y)

  x  y             s      '  '           ( public void drawRect(int x, int y, int w, int h)

  x  y                 w  h   #      %     '     

 

 ' *   '     '               #      ' +,+-   .         Graphics import javax.swing.*; import java.awt.*; public class TestGraphics { public static void main(String[] args) { // Konstruisanje okvira JFrame okvir = new JFrame("Test Graphics"); okvir.setSize(300, 200); okvir.setLocation(100, 150); okvir.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Konstruisanje komponente TestGraphicsKomponenta komp = new TestGraphicsKomponenta();

    



// Smeštanje komponente u okvir okvir.add(komp); okvir.setVisible(true); } } class TestGraphicsKomponenta extends JComponent { public void paintComponent(Graphics g) { g.drawString("Java je zabavna za programiranje!", 20, 50); g.drawRect(50, 80, 150, 50); } }

 

      Graphics

            TestGraphics  

   MojaKomponenta    MojaKomponenta        

                    



    

            public                      paintComponent()  MojaKomponenta ! 

                  

                              "#          paintComponent() 

    





   

                                                              paintComponent()                                                             !                 "   JComponent     #  $ protected void paintComponent(Graphics g)

                      %&'                        (   %&'   )  *          g  Graphics           paintComponent()      )        #  +     #       (*  paintComponent()          )  *          , ,                  (    )    ,  $ public void repaint()

  #     Component        )   "           *      )        *  %&'            %&'    ,         paintComponent()  *        )    , ,    

-      Graphics  %          -                 ,  ,        #                              

   



            Graphics2D  

                                                        

! "         #         $ Graphics2D %  Graphics !    

&    Graphics        Graphics2D            paintComponent()   &          Graphics2D     Graphics '  &               #           Graphics2D (     

   !   &     paintComponent()   JComponent      &       %      Graphics     #        Graphics2D )%    ! 

      Graphics2D    paintComponent() &   !                   * public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D) g; // Metodi za crtanje primenjeni na objekat g2, a ne g . . . }

+                       java.awt.geom    &  " Shape )% 

       *    , Rectangle2D     , Ellipse2D      , Arc2D   , CubicCurve2D    -    

 Line2D    

  Graphics2D     %   * void draw(Shape s) void fill(Shape s)



   

           s                     Graphics2D                                                              !             

               !         "   !     # $   

            %        float &       

              '   ! 

    float           double   !  float             double   ( )!              double!   float!        F      float   !           * float x = 2.34;

// GREŠKA!

            ¾   double           float x = 2.34F;

// OK

                       double  float             !  "                     float          double #                       Rectangle2D        $     ¿ Rectangle2D.Float

Rectangle2D.Double

%          Rectangle2D.Float                      float

               Rectangle2D               FloatRectangle2D DoubleRectangle2D ¿

   



      Rectangle2D.Double            double   Rectangle2D.Float p1 = new Rectangle2D.Float(50.0F, 100.0F, 22.5F, 45.5F); Rectangle2D.Double p2 = new Rectangle2D.Double(50.0, 100.0, 22.5, 45.5);

       Rectangle2D.Float Rectangle2D.Double         Rectangle2D                  Rectangle2D                              Rectangle2D             Rectangle2D p1 = new Rectangle2D.Float(50.0F, 100.0F, 22.5F, 45.5F); Rectangle2D p2 = new Rectangle2D.Double(50.0, 100.0, 22.5, 45.5);

  Rectangle2D.Float Rectangle2D.Double                           

                 Rectangle2D

!                                " #$ %     &   ' Ü             

            &   Point2D

$       Point2D.Float Point2D.Double          float double        Point2D t1 = new Point2D.Float(10F, 20F); Point2D t2 = new Point2D.Double(10, 20);

(        Point2D                       Point2D

 %                     )  "                *+, - &         . /0, - &  



   



      

      



                  ¼                        

    

Color     java.awt  





                   ! Color mojaBoja = new Color(r,g,b);

  r g  b    " int  float       #   $       

      Color %   $   $       $    ! Color.WHITE

Color.BLACK

Color.RED

Color.GREEN

Color.BLUE

Color.CYAN

Color.MAGENTA

Color.YELLOW

Color.PINK

Color.ORANGE

Color.LIGHT_GRAY

Color.GRAY

Color.DARK_GRAY

&      

'(   

     

         "      #  "         

        $                  $   )     #                *       '(                float      + + "        float )   +         ,     double *   Color  %   $   getHSBColor()    

  '(  ! Color mojaBoja = Color.getHSBColor(h,s,b);

-       '(   

  .    

$  $               $                  Graphics2D " Graphics                       &  g2     Graphics2D      %$                       setPaint()! g2.setPaint(c);

   



  c    Color                     g2.setPaint(Color.RED);

        paintComponent()        g2.setPaint(Color.RED); g2.drawString("Ceo disk ´ ce biti obrisan!", 50, 100);

                             setPaint()   

                getPaint()         Paint  Paint 

        Color Color aktuelnaBoja = (Color) g2.getPaint();

  getPaint()                             Color staraBoja = (Color) g2.getPaint(); g2.setPaint(new Color(0, 128, 128)); // zeleno-plava boja . . . g2.setPaint(staraBoja);

!             "#   $% &             '     ()        "   %         "     %      *        +           setBackground()       Component MojaKomponenta k = new MojaKomponenta(); k.setBackground(Color.PINK);

  setBackground()       ,                          (                               paintComponent()   



    public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D) g; if (isOpaque()) { // obojiti pozadinu g2.setPaint(getBackground()); g2.fillRect(0, 0, getWidth(), getHeight()); // Za preciznije bojenje pravougaonika komponente: // g2.fill(new // Rectangle2D.Double(0, 0, getWidth(), getHeight())); g2.setPaint(getForeground()); } // Ostale naredbe za crtanje u komponenti . . . }

            setForeground()    Component                                                                            

                       !  "  !                                 # $  !          %   

 & !               '()* +        ! , - !. -0 .

-  !. -0 1.

-/ .

- !.    !          2!3                   4               !            &  

    -  !.    !   

   



                                                                   !         "                    #$    %  &&       '  &    (   )      *  Font+ Font.PLAIN

Font.BOLD

Font.ITALIC

Font.BOLD + Font.ITALIC

 %     !  % !  ½  %          ),   -               +        ./  0             

   !        (  %       1     ) !   Font   java.awt      (     %      + Font obiˇ canFont = new Font("Serif", Font.PLAIN, 12); Font sansBold24 = new Font("SansSerif", Font.BOLD, 24);

2 *         3                '    *   3    setFont() "! %       3 !  getFont()    ) !   Font     % )                    4546+ class TestFontKomponenta extends JComponent { public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D) g; Font sansBold36 = new Font("SansSerif", Font.BOLD, 36); g2.setFont(sansBold36); // veliki font za tekst



   

         g2.drawString("Zdravo narode!", 50, 50); Font serifPlain18 = new Font("Serif", Font.PLAIN, 18); g2.setFont(serifPlain18); // manji font za tekst g2.setPaint(Color.RED); // crvena boja za crtanje g2.drawString("Java je zabavna za programiranje!", 80, 100); } }

                 setFont()    Component                                

              !" #$ %  &         '          (                                          "              % )             ! *&'                        +   + %                      JFrame                                                     

   



                 

                                      JApplet   JApplet                          init()   



             !  init()           " 

        #       $      "!  init()            main()      #               %     

           &             '(')

  *           +          Kamion          

       +         KamionAplet         init()  JApplet !  init()  KamionAplet      



   

                   JLabel            Kamion

 

       

import javax.swing.*; import java.awt.*; import java.awt.geom.*; public class KamionAplet extends JApplet { public void init() { setLayout(new BorderLayout()); JLabel naslov = new JLabel("KAMION", SwingConstants.CENTER); naslov.setFont(new Font("Serif", Font.BOLD, 20)); add(naslov, BorderLayout.NORTH); JComponent fap = new Kamion(); add(fap, BorderLayout.CENTER); } } class Kamion extends JComponent { public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D) g; // Bojenje pozadine Color bledoPlava = new Color(0.75f, 0.750f, 1.0f); g2.setColor(bledoPlava); g2.fill(new Rectangle2D.Double(0,0,300,300)); // Crtanje šasije kamiona g2.setColor(Color.RED); g2.fill(new Rectangle2D.Double(50,100,120,80)); g2.fill(new Rectangle2D.Double(170,130,80,50)); // Crtanje kabine kamiona Polygon trougao = new Polygon(); trougao.addPoint(170,100);

   



trougao.addPoint(170,130); trougao.addPoint(200,130); g2.setColor(Color.YELLOW); g2.fillPolygon(trougao); // Crtanje zadnjeg toˇ cka g2.setColor(Color.DARK_GRAY); g2.fill(new Ellipse2D.Double(70,160,40,40)); g2.setColor(Color.WHITE); g2.fill(new Ellipse2D.Double(80,170,20,20)); // Crtanje prednjeg toˇ cka g2.setColor(Color.DARK_GRAY); g2.fill(new Ellipse2D.Double(190,160,40,40)); g2.setColor(Color.WHITE); g2.fill(new Ellipse2D.Double(200,170,20,20)); /* Crtanje logoa na stranici kamiona */ g2.setFont(new Font("Serif", Font.ITALIC, 25)); g2.setColor(Color.WHITE); g2.drawString("Java",70,125); g2.drawString("prevoznik",70,150); } }             

                                           

        

                   

! "          #              

 $   % 

       & '                (  

   

        '

¿¼¼  ¿¼¼

 

) 

                 *         

KamionAplet.class



   

    

                main()                         

                                             !          ! 

           "

                  "              #      

      $    

           EventObject    java.util %    

  ! $&'   

       (     )         



       *  !        !   

     MouseEvent + 

    (       ,                      -!

                    " !         !          . 



    ActionEvent % MouseEvent  ActionEvent ,   -              EventObject *    

      !  

                                               /

           $        0     "                ,     - *  !  

         ActionEvent 1 

 

        .  

    

getSource()

 

        

            

EventObject

ActionEvent

     

e

            

                

  !   " #

EventObject

     

e.getSource()

$     

     



   !            !       

%       

          

 

      &  $                             ! "        $          !  '                                      ( !       "  & $                  )         !                  )          !  '                                    "           *+ *,                  ( $                  '   -               

% 

                

. 

 !    ! "                              

/ 



          

   

 

    

  

            

                                     



ActionEvent        

     

ActionListener        

ActionPerformed()

package java.awt.event; public interface ActionListener extends java.util.EventListener { public void ActionPerformed(ActionEvent e); }                            

ActionListener

public class MojRukovalac implements ActionListener { . . . public void ActionPerformed(ActionEvent e) { // Reakcija na pritisak tasterom miša na dugme . . . } } !                "            #

JButton dugme = new JButton("OK");

    

 

ActionListener rukovalacDugmeta = new MojRukovalac(...); dugme.addActionListener(rukovalacDugmeta);

                  rukovalacDugmeta                                       e   ActionEvent    rukovalacDugmeta.ActionPerformed(e)

             e                 !           ActionPerformed() "

 "                      # $                                  Event         %       Listener           ActionEvent             MouseEvent      "      ActionListener  MouseListener &                     java.awt.event '                                        addListener() !      Button    public void addActionListener(ActionListener a);

       "                  (     $              "                  "     ) *   %                          java.awt.event      import



   

¾

                                      



ActionListener

                   

  

!           "

 

#

!             $   "         

   & 

%        

addActionListener()

          '               (       "             &  

          

                 &   

) "           *+ *,

 

) "

 



  

  

  

&





      &         

  $   &    

ActionEvent

!                                      

      &    

-

    

     &        *+ *. /     &          

        

brojaˇ c

 $       

      $     

oznaka



JLabel0

class RukovalacDugmeta implements ActionListener {

    

 

 

   

private int brojaˇ c;

        

// brojaˇ c pritisaka na dugme

public void actionPerformed(ActionEvent e) { brojaˇ c++; oznaka.setText("Broj pritisaka = " + brojaˇ c); } }                                                       

                     

       

DugmeBrojaˇ cOkvir       JFrame

                

oznaka   JLabel

           

class DugmeBrojaˇ cOkvir extends JFrame { private JLabel oznaka; // oznaka u okviru . . . // Konstruktor public DugmeBrojaˇ cOkvir() { setTitle("Brojanje pritisaka na dugme "); setSize(300, 150); setLayout(new FlowLayout(FlowLayout.CENTER, 30, 20)); oznaka = new JLabel("Broj pritisaka = 0"); add(oznaka); JButton dugme = new JButton("Pritisni me");



    add(dugme); dugme.addActionListener(new RukovalacDugmeta()); }

}

   DugmeBrojaˇcOkvir                                                  addActionListener()     

               

  RukovalacDugmeta          DugmeBrojaˇcOkvir    

   oznaka  JLabel        

                   

  !             

 oznaka              

              "           RukovalacDugmeta      oznaka        DugmeBrojaˇcOkvir !                                     RukovalacDugmeta  #         DugmeBrojaˇ cOkvir          $            %&                                                #                       '              

         !          import java.awt.*; import javax.swing.*; import java.awt.event.*; // Poˇ cetna klasa public class TestDugmeBrojaˇ c { public static void main(String[] args) {

    

 

DugmeBrojaˇ cOkvir okvir = new DugmeBrojaˇ cOkvir(); okvir.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); okvir.setVisible(true); } } // Glavni okvir sa dugmetom i oznakom class DugmeBrojaˇ cOkvir extends JFrame { private JLabel oznaka; // oznaka u okviru // Ugnjež¯ dena klasa rukovaoca akcijskog doga¯ daja private class RukovalacDugmeta implements ActionListener { private int brojaˇ c;

// brojaˇ c pritisaka na dugme

public void actionPerformed(ActionEvent e) { brojaˇ c++; oznaka.setText("Broj pritisaka = " + brojaˇ c); } } // Konstruktor public DugmeBrojaˇ cOkvir() { setTitle("Brojanje pritisaka na dugme "); setSize(300, 150); setLayout(new FlowLayout(FlowLayout.CENTER, 30, 20)); oznaka = new JLabel("Broj pritisaka = 0"); add(oznaka); JButton dugme = new JButton("Pritisni me"); add(dugme); dugme.addActionListener(new RukovalacDugmeta()); } }

                RukovalacDugmeta              DugmeBrojaˇcOkvir()          



   

         RukovalacDugmeta                 

                        

 

         

import java.awt.*; import javax.swing.*; import java.awt.event.*; // Poˇ cetna klasa public class TestDugmeBrojaˇ c { public static void main(String[] args) { DugmeBrojaˇ cOkvir okvir = new DugmeBrojaˇ cOkvir(); okvir.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); okvir.setVisible(true); } } // Glavni okvir sa dugmetom i oznakom class DugmeBrojaˇ cOkvir extends JFrame { private JLabel oznaka;

// oznaka u okviru

// Konstruktor public DugmeBrojaˇ cOkvir() { setTitle("Brojanje pritisaka na dugme "); setSize(300, 150); setLayout(new FlowLayout(FlowLayout.CENTER, 30, 20)); oznaka = new JLabel("Broj pritisaka = 0"); add(oznaka); JButton dugme = new JButton("Pritisni me"); add(dugme); // Dodavanje objekta za rukovanje doga¯ dajem dugmeta dugme.addActionListener(new ActionListener() { // Anonimna klasa koja implementira ActionListener private int brojaˇ c ; // brojaˇ c pritisaka na dugme

    



public void actionPerformed(ActionEvent e) { brojaˇ c++; oznaka.setText("Broj pritisaka = " + brojaˇ c); } }); } }

  

                      MouseListener     

             package java.awt.event; public interface MouseListener extends java.util.EventListener { public public public public public

void void void void void

mousePressed(MouseEvent e); mouseReleased(MouseEvent e); mouseClicked(MouseEvent e); mouseEntered(MouseEvent e); mouseExited(MouseEvent e);

}

  mousePressed()                mouseReleased()               mouseClicked()                    !            "  mousePressed() mouseReleased()  mouseClicked()  #   mouseEntered()  mouseExited()               $            %                     $    $    $     MouseListener   &  '         

      &    $    (       JFrame      WindowEvent )$    $     $      WindowListener          package java.awt.event;



   

public interface WindowListener extends java.util.EventListener { public public public public public public public

void void void void void void void

windowOpened(WindowEvent e); windowClosing(WindowEvent e); windowClosed(WindowEvent e); windowIconified(WindowEvent e); windowDeiconified(WindowEvent e); windowActivated(WindowEvent e); windowDeactivated(WindowEvent e);

}

                       windowIconified()  windowDeiconified()                              

                  

       WindowEvent       !  WindowListener             windowClosing()           " public class Zatvaraˇ cOkvira implements WindowListener { public void windowClosing(WindowEvent e) { if (korisnik se slaže) System.exit(0); } public public public public public public

void void void void void void

windowOpened(WindowEvent e) {} windowClosed(WindowEvent e) {} windowIconified(WindowEvent e) {} windowDeiconified(WindowEvent e) {} windowActivated(WindowEvent e) {} windowDeactivated(WindowEvent e) {}

}

#    !               !          

                               $  MouseAdapter          !  MouseListener 

    



 WindowAdapter                WindowListener                                                                                                                     !            "       #                     $         ActionListener!                   WindowAdapter       %    ZatvaraˇcOkvira                    windowClosing()& public class Zatvaraˇ cOkvira extends WindowAdapter { public void windowClosing(WindowEvent e) { if (korisnik se slaže) System.exit(0); } }

'    ZatvaraˇcOkvira  $   $                  & okvir.addWindowListener(new Zatvaraˇ cOkvira());

(  okvir        WindowEvent           $      ZatvaraˇcOkvira )               "                     windowClosing()       System.exit(0)                           ZatvaraˇcOkvira   %                  $        $  & okvir.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {



    if (korisnik se slaže) System.exit(0); } });

                         

        

                   

                  

                                   

  !            "          

               #                                  WindowAdapter $         %  #                #          windowClosing()                            &                      

  showOptionDialog()   JOptionPane            #                    " ' 

                   

    ( okvir.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

    



                                                                                                                                                   import java.awt.*; import javax.swing.*; import java.awt.event.*; // Poˇ cetna klasa public class TestDugmeBrojaˇ c { public static void main(String[] args) { DugmeBrojaˇ cOkvir okvir = new DugmeBrojaˇ cOkvir(); okvir.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); // Pridruživanje rukovaoca doga¯ daja zatvaranja okvira okvir.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { Object[] opcija = {"Da", "Ne"}; int izabranaOpcija = JOptionPane.showOptionDialog(null, "Zaista želite da završite program?", "Kraj rada programa", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, opcija, opcija[0]); if (izabranaOpcija == 0) System.exit(0); } }); okvir.setVisible(true); }



   

} // Glavni okvir sa dugmetom i oznakom class DugmeBrojaˇ cOkvir extends JFrame { private JLabel oznaka;

// oznaka u okviru

// Konstruktor public DugmeBrojaˇ cOkvir() { setTitle("Brojanje pritisaka na dugme "); setSize(300, 150); setLayout(new FlowLayout(FlowLayout.CENTER, 30, 20)); oznaka = new JLabel("Broj pritisaka = 0"); add(oznaka); JButton dugme = new JButton("Pritisni me"); add(dugme); dugme.addActionListener(new ActionListener() { private int brojaˇ c ; // brojaˇ c pritisaka na dugme public void actionPerformed(ActionEvent e) { brojaˇ c++; oznaka.setText("Broj pritisaka = " + brojaˇ c); } }); } }

 

         

   

   

  

      



     

!     







    "

#

         

  $%



&

   '())* )+  ,      -

 & 

     



./0

!  

   

1 

 & 

   

 ./0

! ,    1

      

!    

2% 3   45 $ 

     







" "

6!

7

 

% 



!

6 



  " #   $

  

80     "

9

6!

7   

! 6 



 % &

   '

  " #   $

  

80     9

:

;    


View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF