Java
Programming




Logo
        Java өгөгдлийн бүтэц
       багш Á.Ãàíçîðèã




          Улаанбаатар дээд сургууль
                  2011 он
Logo

  Агуулга
                   1   Java сан (Package)


                   2   Функц түүний хэрэглээ


                   3   Функцийн аргумент дамжуулалт


                   4   Маth класс ашиглах


                   5   Санамсаргүй тоо ашиглах


                   6   JTextArea класс


                   7   Массив

Жава програмчлал                            Улаанбаатар Дээд Сургууль 2011 он
Logo

  Java сан (Package)

 Урьдчилан бэлдэж өгсөн классууд Java-
  ийн санд бүлэг бүлгээрээ байдаг.
 Нэг төрлийн үүрэг гүйцэтгэдэг классууд
  нэг сан дотор байрладаг.
 Санг import түлхүүр үгийн тусламжтай
  ашигладаг.
  Жишээ нь:
           import javax.swing.JOptionPane;

Жава програмчлал            Улаанбаатар Дээд Сургууль 2011 он
Logo

  Java сан (Package)

 Java сангууд нь хавтас (folder) хэлбэрээр
  байх бөгөөд уг сан доторх классууд нь уг
  хавтас доторх class өргөтгөлтэй файлууд
  юм.
 Java-н хавтас дахь jrert.jar файлд java-н
  сангууд байрладаг.
 JVM програм ажиллахад шаардлагатай
  классыг (import-д заасны дагуу) rt.jar
  файлаас авч ашигладаг.

Жава програмчлал               Улаанбаатар Дээд Сургууль 2011 он
Logo

  Жишээ сангууд

  java.lang: java дээр бичигдсэн ихэнх програмууд
   ашигладаг гол үндсэн функцүүд байрлана. Бүх
   java програмд автоматаар импортлогддог.
  javax.swing: График, цонх ашигласан java
   программуудад хэрэглэгдэнэ.
  java.applet: аудио, клип, интернэт програмчлалд
   ашиглагдах аплет класс.
  java.util: огноо, тэмдэгт мөр, санамсаргүй тоотой
   ажиллах классууд байрлана.
  java.io: Java-н оролт гаралтын классууд. Файлаас
   угших, бичих гэх мэт.

Жава програмчлал                   Улаанбаатар Дээд Сургууль 2011 он
Logo

  Функц зарлалт

 Функц
       Програм бичих процессийг
        хялбаршуулах
       Шаардлагатай үед дуудаж хэрэглэх
       Кодыг давтаж бичих үзэгдлээс
        сэргийлэх
 Локал хувьсагч
       Функц дотор зарлагдсан хувьсагч

Жава програмчлал               Улаанбаатар Дээд Сургууль 2011 он
Logo

  Функц зарлалт
  Функцийг дараах байдлаар зарлана:
       public БуцаахТөрөл ФункцНэр (ПараметрТөрөл
                                            Параметр)
       public static БуцаахТөрөл ФункцНэр(ПараметрТөрөл
                                            Параметр)
  Жишээ:
       public int square (int y)
       public String getName (int x, int y)
  Return түлхүүр үг ашиглан функц дотроос утга буцаадаг.
   Return бичлэгийг ажиллуулангуут функц дуусаж
   програмын удирдлага уг функцийг хаанаас дуудсан тэнд
   буцаасан утгыг авч очдог.
Жава програмчлал                    Улаанбаатар Дээд Сургууль 2011 он
Logo

  Функц ашиглалт
  Cтатик функц ашигласан жишээ.
       Эхний 10 ширхэг тооны кубыг ол.

             public class FunctionDemo{
                       public static int cube (int x)
                       {
                                 return x * x * x;
                       }

             public static void main ( String args[] )
                       {
                                for ( int i = 1; i < 10; i++)
                                System.out.println( cube ( i ) );
                       }
                                }


Жава програмчлал                                        Улаанбаатар Дээд Сургууль 2011 он
Logo

  Функц ашиглалт
  Cтатик биш функц ашигласан жишээ.
       Эхний 10 ширхэг тооны кубыг ол.

             public class FunctionDemo{
                public int cube (int x)
                {
                       return x * x * x;
                }

             public static void main ( String args[] )
                {
                       FunctionDemo myObject = FunctionDemo();
                       for ( int i = 1; i < 10; i++)
                       System.out.println( myObject.cube ( i ) );
                }
                                   }



Жава програмчлал                                   Улаанбаатар Дээд Сургууль 2011 он
Logo

  Функц дуудалт
 Нэг классын функцүүд бие биенээ дуудах
  дүрэм:
       Нэг классын статик функцээс тухайн классын
        статик биш функцийг дуудвал заавал уг классын
        обьектоор дамжуулж дуудна.
       Нэг классын статик функцээс тухайн классын
        статик функцийг дуудвал шууд нэрээр нь эсвэл
        обьектоор нь дуудаж болно.
       Нэг классын статик биш функцээс тухайн классын
        статик болон статик биш функцийг дуудвал шууд
        нэрээр нь эсвэл обьектоор нь дуудаж болно.

Жава програмчлал                   Улаанбаатар Дээд Сургууль 2011 он
Logo

  Функц дуудалт
 Нэг классаас өөр классын функц дуудах
  тохиолдолд:
       Өөр классын статик функцийг дуудвал заавал
        классын нэрээр нь дуудна.
           • Жишээ нь B класс дотроос А классын static add функцийг
             дуудвал:
                   – A.add( );
       Өөр классын статик биш функцийг дуудвал заавал
        обьектоор нь дамжуулж дуудна.
           • Жишээ нь B класс дотроос А классын add функцийг
             дуудвал:
                   – A myObject = new A( );
                   – myObject.add( );
Жава програмчлал                              Улаанбаатар Дээд Сургууль 2011 он
Logo

  Функцийн параметр дамжуулалт
 Java-д хоѐр төрлийн параметр (аргумент)
  дамжуулалт байдаг.
       Утгаар дамжуулах (Pass by Value)
           • Дамжуулагдаж байгаа параметрийн утгыг хуулаад
             функцэд дамжуулна.
           • Өгөгдлийн үндсэн төрлүүд (int, char, гэх мэт эхний үсэг нь
             жижгээр бичигддэг төрлүүд) бүгд утгаар дамжигддаг.
       Заалтаар дамжуулах (Pass by Reference)
           •    Дамжуулж буй өгөгдлийн эх хувийг дамжуулна.
           •    Дуудагдсан функц энэ эх хувийг өөрчилж болно.
           •    Утгаар дамжуулахыг бодвол илүү хурдан байдаг.
           •   Java-д бүх обьектууд заалтаар дамжигддаг.
       Java –д массив бол обьект юм.
Жава програмчлал                              Улаанбаатар Дээд Сургууль 2011 он
Logo

  Функцийн параметр дамжуулалт

   public class ArgumentDemo{
             public void sub(int x)
             {
                       System.out.println(“x =: ” + x);
                       x = x + 1;
                       System.out.println(“x =: ” + x);
             }
   public static void main()
             {
             int z =12;
             System.out.println(“z =: ” + z);
             sub(z);
             System.out.println(“z =: ” + z);
             }
   }

Жава програмчлал                                          Улаанбаатар Дээд Сургууль 2011 он
Logo

  Утгаар параметр дамжуулах

   public class ArgumentDemo{
             public void sub(String m)
             {
                      System.out.println(“Функц дотор эхлээд: ” + m);
                      m = “C++”
                      System.out.println(“Функц дотор дараа нь: ” + m);
             }
   public static void main()
             {
             String m = “Java”;
             System.out.println(“Дамжуулахын өмнө: ” + m);
             sub(m);
             System.out.println(“Дамжуулсны дараа: ” + m);
             }
   }

Жава програмчлал                                   Улаанбаатар Дээд Сургууль 2011 он
Logo

  Заалтаар параметр дамжуулах
   public class ArgumentDemo{
             public void sub(String s)
             {
             System.out.println(“Функц дотор эхлээд: ” + s[0] + “ “ + s[1]);
             s[0] = “C”;
             s[1] = “is procedural.”;
             System.out.println(“Функц дотор дараа нь: ” + s[0] + “ “ + s[1]);
             }
   public static void main()
             {
             String m[] = {“Java”,”is object oriented.”};
             System.out.println(“Дамжуулахын өмнө: ” + m[0] + “ “ + m[1]);
             sub(m);
             System.out.println(“Дамжуулсны дараа: ” + m[0] + “ “ + m[1]);
             }
   }


Жава програмчлал                                     Улаанбаатар Дээд Сургууль 2011 он
Logo

  Math класс

 Математик функцүүдийг ашиглах боломж
  олгоно.
 Ашиглахын тулд import java.lang.Math гэж
  оруулж ирэх хэрэгтэй.
  Жишээ: 900-аас язгуур гаргахдаа
  Math.sqrt( 900.0 )




Жава програмчлал             Улаанбаатар Дээд Сургууль 2011 он
Logo

  Math класс
 Маth классын зарим функцүүдээс жагсаавал:
  функц            Тайлбар                                     Жишээ
  abs( x )         x-ийн модулийг олно (абсолют утгыг)         abs( 23.7 ) нь 23.7
                                                               abs( 0.0 ) нь 0.0
                                                               abs( -23.7 ) нь 23.7
  ceil( x )        x-ийг өөрөөс нь багагүй хамгийн ойр бүхэл   ceil( 9.2 ) нь 10.0
                   тоо руу тоймлох                             ceil( -9.8 ) нь -9.0
  cos( x )         x-ийн косинус (x нь радианаар)              cos( 0.0 ) нь 1.0
  exp( x )         e тооны х зэргийг олно.                     exp( 1.0 ) нь 2.71828
                                                               exp( 2.0 ) нь 7.38906
  floor( x )       x-ийг өөрөөс нь ихгүй хамгийн ойр бүхэл тоо floor( 9.2 ) нь 9.0
                   руу тоймлох                                 floor( -9.8 ) нь -10.0
  log( x )         x-ийн натурал логарифм (e суурьтай)         log( Math.E ) нь 1.0
                                                               log( Math.E * Math.E ) нь 2.0
  max( x, y )      x ба y ийн аль ихийг нь олно.               max( 2.3, 12.7 ) нь 12.7
                                                               max( -2.3, -12.7 ) нь -2.3
  min( x, y )      x ба y ийн аль багыг нь олно.               min( 2.3, 12.7 ) нь 2.3
                                                               min( -2.3, -12.7 ) нь -12.7
  pow( x, y )      x -ийг y зэрэгт дэвшүүлэх                   pow( 2.0, 7.0 ) нь 128.0
                                                               pow( 9.0, 0.5 ) нь 3.0
  sin( x )         x-ийн синус утга (x нь радианаар)           sin( 0.0 ) нь 0.0
  sqrt( x )        x-ээс язгуур гаргах                         sqrt( 900.0 ) нь 30.0
                                                               sqrt( 9.0 ) нь 3.0
Жава програмчлал                                                   Улаанбаатар Дээд Сургууль 2011 он
Logo

  Math класс жишээ

   import java.lang.Math;
   public class MathDemo{
   public static void main(String args[])
            {
            System.out.println(“16 root:” + Math.sqrt( 16 ));
            System.out.println(“16 iin 3 zereg:” + Math.pow( 16, 3 ));
            System.out.println(“16.15 toimloh” + Math.floor( 16.15 ));
            System.out.println(“16 ба -16 –ийн их нь :” + Math.max(16,-16));
            }
   }




Жава програмчлал                                Улаанбаатар Дээд Сургууль 2011 он
Logo

  Санамсаргүй тоо ашиглах

 Програм бичих явцад ямар нэгэн урьдчилан
  зохиосон биш санамсаргүйгээр үүсэх
  тоонуудыг ашиглах шаардлага гардаг.

  Жишээ нь:
 Мөрий тавьж морь уралдуулах програм.
 4 шагай хаях тоглоом
 Ижил эрхтэй 10 хүнээс нэгийг нь сонгох.


Жава програмчлал             Улаанбаатар Дээд Сургууль 2011 он
Logo

  Санамсаргүй тоо ашиглах

 Санамсаргүйгээр тоо үүсгэхийн тулд
   Math.random функцийг ашигладаг. Энэ функц
   нь [0;1[ завсрын санамсаргүй бутархай тоо
   буцаадаг.
   Жишээ:
      (int) ( Math.random() * 6 ) нь 0-5 хоорондох
   санамсаргүй нэг утга буцаана.


    Тайлбар: 6 аар үржүүлээд бүхэл хэсгийг нь авч байна.

Жава програмчлал                              Улаанбаатар Дээд Сургууль 2011 он
Logo

  JTextArea класс

 Олон мөрөөс тогтсон текстүүдийг цонхон дээр
  дүрслэх чадвартай.




       Цагаан хэсэг
       нь JTextArea




Жава програмчлал            Улаанбаатар Дээд Сургууль 2011 он
Logo

  JTextArea класс

 Ашиглахын тулд
       import javax.swing.JTextArea;                    эсвэл
           • import javax.swing.*;    гэж оруулж өгнө.
       Обьектийг нь зарлана:
           • JTextArea myText = new JTextArea();
       Текстийг нь setText функцээр нь оруулж
        өгдөг.
           • myText.setText (“Hello class!”);



Жава програмчлал                          Улаанбаатар Дээд Сургууль 2011 он
Logo

  JTextArea класс
   import javax.swing.JOptionPane;
   import javax.swing.JTextArea;
   public class TextAreaDemo{
   public static void main (String args[])
             {
             String output;
             JTextArea mmm = new JTextArea();
             mmm.setText("Sirname: tBold n Name: tGan");
             JOptionPane.showMessageDialog( null, mmm, "Anket",
                                JOptionPane.INFORMATION_MESSAGE);
             output = "Ovog: Bold n Ner: Gan";
             mmm.setText(output);
             JOptionPane.showMessageDialog( null, mmm, "Anket",
                                JOptionPane.INFORMATION_MESSAGE);
             System.exit(0); }




Жава програмчлал                             Улаанбаатар Дээд Сургууль 2011 он
Logo

  Санамсаргүй тоо жишээ
    import javax.swing.JOptionPane;
          public class RandomIntegers {
          public static void main( String args[] )
             {
                int value;
               String output = "";
    // 20 удаа давтах
              for ( int counter = 1; counter <= 20; counter++ ) {
    // 1-ээс 6 хоорондох тооноос санамсаргүйгээр сонгох
                 value = 1 + ( int ) ( Math.random() * 6 );
              output += value + " ";
    // уг сонгогдсон тоог гаралтын хувьсагчид залгана.
    // хэрвээ counter нь 5-д хуваагдаж байвал шинэ мөрнөөс хэвлэе.
                 if ( counter % 5 == 0 )
                    output += "n";
              } // for давталтын төгсгөл
    JOptionPane.showMessageDialog( null, output,
    "20 Random Numbers from 1 to 6", JOptionPane.INFORMATION_MESSAGE );
            System.exit( 0 ); // програмыг дуусгах
        } // main функцийн төгсгөл
            } // RandomIntegers классын төгсгөл
Жава програмчлал                                 Улаанбаатар Дээд Сургууль 2011 он
Logo

  Массив

  Нэг төрөлтэй хэсэг бүлэг өгөгдлийг массивт хадгалж
   хэрэглэж болно. Доор 12 ширхэг элементтэй
   массивын жишээ үзүүллээ:
  Бүтэц:
       Төрөл       МассивНэр[ ] = new Төрөл[ тоо ];
       int    numbers[ ] = new int[ 12 ];
   эсвэл
       Төрөл[ ] МассивНэр = new Төрөл[ тоо ];
       int[ ]  numbers = new int[ 12 ];



Жава програмчлал                  Улаанбаатар Дээд Сургууль 2011 он
Logo

  Массив

  Хэрвээ массивт байх элементийн тоо тодорхойгүй
   байгаа бол доорх байдлаар зарлаж болно:

         int       numbers[ ] = null;
     эсвэл                              null бол хоосон гэсэн
                                        утгатай. Обьектод null буюу
         int[ ]     numbers = null;     хоосон гэсэн утга өгч
                                        хэрэглэдэг.




Жава програмчлал                         Улаанбаатар Дээд Сургууль 2011 он
Logo

  Массив

  Массивын элемент нь 0 –оос эхлэн дугаарлагддаг.

  Тиймээс int c[ 3 ]; гэж зарлавал с массив нь 4
   элементтэй байна (0 дугаар элементийг оруулан).

  Массивын элементэд хандахдаа хаалтан дотор нь
   элементийнх нь дугаарыг тавьж хандана. Хаалтан
   дотор нь мөн бүхэл тоо буцаах арифметик
   илэрхийлэл байж болно.



Жава програмчлал                  Улаанбаатар Дээд Сургууль 2011 он
Logo

  Массив ашиглах жишээ
    Бодолт №1
    public Number{
    public static void main ( String args[ ] )
    {
               int numbers[ 9 ] = new int[ 9 ];
               // 1-10 хүртэлх утгуудаа олгоѐ:
                          numbers[ 0 ] = 1;
    numbers[ 1 ] = 2;
    numbers[ 2 ] = 3;
    numbers[ 3 ] = 4;
    numbers[ 4 ] = 5;
    numbers[ 5 ] = 6;
    numbers[ 6 ] = 7;
    numbers[ 7 ] = 8;
    numbers[ 8 ] = 9;
    numbers[ 9 ] = 10;
    }
    }


Жава програмчлал                                  Улаанбаатар Дээд Сургууль 2011 он
Logo

  Массив ашиглах жишээ


    // ¯ðãýëæëýë…
             // îäîî õýâëýå:
         System.out.println ( numbers[ 0 ] );
         System.out.println ( numbers[ 1 ] );
         System.out.println ( numbers[ 2 ] );
         System.out.println ( numbers[ 3 ] );
         System.out.println ( numbers[ 4 ] );
         System.out.println ( numbers[ 5 ] );
         System.out.println ( numbers[ 6 ] );
         System.out.println ( numbers[ 7 ] );
         System.out.println ( numbers[ 8 ] );
         System.out.println ( numbers[ 9 ] );
         System.out.println ( numbers[ 10 ] );
         }
    }


Жава програмчлал                                 Улаанбаатар Дээд Сургууль 2011 он
Logo

  Массив ашиглах жишээ

   Бодолт №2


   public Number{
   public static void main ( String args[ ] )
   {
             int numbers[ 9 ] = new int[ 9 ];
     for (int x = 0; x<=9; x++)
                numbers[ x ] = x;

             for (int x = 0; x<=9; x++)
               System.out.println ( numbers[ x ] );
   }
   }



Жава програмчлал                                      Улаанбаатар Дээд Сургууль 2011 он
Logo

  Массив ашиглах жишээ

   Бодолт №3

   public Number{
   public static void main ( String args[ ] )
   {
                     int numbers[ 9 ] = new int[ 9 ];
     for (int x = 0; x<=9; x++)
             {
                     numbers[ x ] = x;
                     System.out.println ( numbers[ x ] );
             }
   }
   }
   Тайлбар: Эндээс давталт програмыг их хөнгөвчилдөг нь харагдаж байна.

Жава програмчлал                                          Улаанбаатар Дээд Сургууль 2011 он
Logo

  Олон хэмжээст массив

 1 хэмжээст массив:
     int numbers[ ] = new int[ 3 ];
     int a[ ] = {1, 2, 3};
  2 хэмжээст массив:
     int numbers[ ][ ] = new int[3][3];
     int a[][] = {{10,21,32}, {20, 21, 22 }, {30, 31, 32}}
 3 хэмжээст массив:
     int numbers[ ][ ][ ] = new int[2][2][2];
     int a[][][] = {{{1,1,1},{2,2,2},{3,3,3}},
                                         {{4,4,4},{5,5,5},{6,6,6}}};



Жава програмчлал                            Улаанбаатар Дээд Сургууль 2011 он
Logo

  Олон хэмжээст массив жишээ

 Жишээ:
    10õ10 õýìæýýòýé õî¸ð õýìæýýñò ìàññèâò ñàíàìñàðã¿é
   òîîí óòãóóä õèéãýýä äºðâºëæèí õýëáýðýýð õýâëý.




Жава програмчлал                  Улаанбаатар Дээд Сургууль 2011 он
Logo

  Олон хэмжээст массив жишээ
   public class ArrayDemo{
   public static void main(String args[])
          {
                    int a[][] = new int[10][10];
                    for (int i=0; i<a.length; i++)
                      for (int j=0; j<a.length; j++)
                             {
          a[ i ][ j ] = ( int ) ( Math.random( ) * 10 );
          System.out.print(“ “ + a[ i ][ j ]);
          System.out.println( );
                    }
          }
   }
Жава програмчлал                             Улаанбаатар Дээд Сургууль 2011 он
Logo

  Шинэ үгс

 Reference:         Заалт. Функцийн
  аргумент дамжуулах үед хэрэглэгдвэл
  аргументийг хаягаар нь дамжуулах гэсэн
  утгатай болдог.
 Row:         Мөр. (массивын мөр)
 Column:      Багана. (массивын багана)
 index:       индекс. (массивын индекс)
 Length:      урт. (массивын элементийн
  тоонд хэрэглэгдсэн)
Жава програмчлал          Улаанбаатар Дээд Сургууль 2011 он
Logo

  Шинэ үгс

 Method: Функц. Классын функцийг хэлдэг.
 Argument:      Aргумент. Функцэд
  дамжуулагдах хувьсагч.
 Parameter:     Аргументтай адилхан.
 Array:         Массив.
 Value:         Утга.
 Multidimentional:    Олон хэмжээст.
  Multidimentional array: oлон хэмжээст массив


Жава програмчлал              Улаанбаатар Дээд Сургууль 2011 он
Logo

  Шинэ үгс

  principle: Зарчим.
  concept: зарчим, онол.
  Nested : Дотроо агуулсан. Nested if structure:
            if ()
              { ….
                         if () {
                         ….
                     }
              }

  while:                          Зуур. Тэгэх ингэх зуур гэсэн утгатай.




Жава програмчлал                                   Улаанбаатар Дээд Сургууль 2011 он
Logo

  Шинэ үгс

  Counter:           Тоолуур хувьсагч. (i = i +1 эсвэл i++)
   Давталт дотор хэд дэх үйлдэл хийгдэж байгааг
   бүртгэх зорилгоор хэрэглэгддэг.
  Initial value:           Анхны утга. Эхний утга.
  loop:        Нэг удаа давталт хийх. Давтах бичлэгүүдээ
   бүгдийг нь нэг удаа ажиллуулж давталтын эхэнд
   буцан ирэхийг loop гэж хэлнэ.
  iteration: Итераци буюу цикл. Loop-тэй ижил.
  enclose: хаших. Enclosed by { } => { } хаалтаар
   хашигдсан.


Жава програмчлал                      Улаанбаатар Дээд Сургууль 2011 он
Logo

  Шинэ үгс

  while:          Зуур. Тэгэх ингэх зуур гэсэн утгатай.
  Counter:        Тоолуур хувьсагч. (i = i +1 эсвэл i++)
   Давталт дотор хэд дэх үйлдэл хийгдэж байгааг
   бүртгэх зорилгоор хэрэглэгддэг.
  Initial value:        Анхны утга. Эхний утга.




Жава програмчлал                    Улаанбаатар Дээд Сургууль 2011 он
Logo

  Даалгавар

 n элементтэй массивын бүх элементүүдийн
  нийлбэрийг ол.
 n элементтэй массивын бүх сондгой
  элементүүдийн нийлбэрийг ол.
 n элементтэй массивын бүх сондгой
  индекстэй элементүүдийн нийлбэрийг ол.
 Массивын бүх элементийг хэвлэдэг функц
  бич.
 Массивын i ба j-р элементийн байрыг сольдог
  функц бич.
Жава програмчлал            Улаанбаатар Дээд Сургууль 2011 он
Java
Programming




Logo




         Улаанбаатар дээд сургууль
                 2011 он

Java lecture4

  • 1.
    Java Programming Logo Java өгөгдлийн бүтэц багш Á.Ãàíçîðèã Улаанбаатар дээд сургууль 2011 он
  • 2.
    Logo Агуулга 1 Java сан (Package) 2 Функц түүний хэрэглээ 3 Функцийн аргумент дамжуулалт 4 Маth класс ашиглах 5 Санамсаргүй тоо ашиглах 6 JTextArea класс 7 Массив Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 3.
    Logo Javaсан (Package) Урьдчилан бэлдэж өгсөн классууд Java- ийн санд бүлэг бүлгээрээ байдаг. Нэг төрлийн үүрэг гүйцэтгэдэг классууд нэг сан дотор байрладаг. Санг import түлхүүр үгийн тусламжтай ашигладаг. Жишээ нь: import javax.swing.JOptionPane; Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 4.
    Logo Javaсан (Package) Java сангууд нь хавтас (folder) хэлбэрээр байх бөгөөд уг сан доторх классууд нь уг хавтас доторх class өргөтгөлтэй файлууд юм. Java-н хавтас дахь jrert.jar файлд java-н сангууд байрладаг. JVM програм ажиллахад шаардлагатай классыг (import-д заасны дагуу) rt.jar файлаас авч ашигладаг. Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 5.
    Logo Жишээсангууд  java.lang: java дээр бичигдсэн ихэнх програмууд ашигладаг гол үндсэн функцүүд байрлана. Бүх java програмд автоматаар импортлогддог.  javax.swing: График, цонх ашигласан java программуудад хэрэглэгдэнэ.  java.applet: аудио, клип, интернэт програмчлалд ашиглагдах аплет класс.  java.util: огноо, тэмдэгт мөр, санамсаргүй тоотой ажиллах классууд байрлана.  java.io: Java-н оролт гаралтын классууд. Файлаас угших, бичих гэх мэт. Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 6.
    Logo Функцзарлалт Функц  Програм бичих процессийг хялбаршуулах  Шаардлагатай үед дуудаж хэрэглэх  Кодыг давтаж бичих үзэгдлээс сэргийлэх Локал хувьсагч  Функц дотор зарлагдсан хувьсагч Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 7.
    Logo Функцзарлалт  Функцийг дараах байдлаар зарлана: public БуцаахТөрөл ФункцНэр (ПараметрТөрөл Параметр) public static БуцаахТөрөл ФункцНэр(ПараметрТөрөл Параметр)  Жишээ: public int square (int y) public String getName (int x, int y)  Return түлхүүр үг ашиглан функц дотроос утга буцаадаг. Return бичлэгийг ажиллуулангуут функц дуусаж програмын удирдлага уг функцийг хаанаас дуудсан тэнд буцаасан утгыг авч очдог. Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 8.
    Logo Функцашиглалт  Cтатик функц ашигласан жишээ.  Эхний 10 ширхэг тооны кубыг ол. public class FunctionDemo{ public static int cube (int x) { return x * x * x; } public static void main ( String args[] ) { for ( int i = 1; i < 10; i++) System.out.println( cube ( i ) ); } } Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 9.
    Logo Функцашиглалт  Cтатик биш функц ашигласан жишээ.  Эхний 10 ширхэг тооны кубыг ол. public class FunctionDemo{ public int cube (int x) { return x * x * x; } public static void main ( String args[] ) { FunctionDemo myObject = FunctionDemo(); for ( int i = 1; i < 10; i++) System.out.println( myObject.cube ( i ) ); } } Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 10.
    Logo Функцдуудалт Нэг классын функцүүд бие биенээ дуудах дүрэм:  Нэг классын статик функцээс тухайн классын статик биш функцийг дуудвал заавал уг классын обьектоор дамжуулж дуудна.  Нэг классын статик функцээс тухайн классын статик функцийг дуудвал шууд нэрээр нь эсвэл обьектоор нь дуудаж болно.  Нэг классын статик биш функцээс тухайн классын статик болон статик биш функцийг дуудвал шууд нэрээр нь эсвэл обьектоор нь дуудаж болно. Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 11.
    Logo Функцдуудалт Нэг классаас өөр классын функц дуудах тохиолдолд:  Өөр классын статик функцийг дуудвал заавал классын нэрээр нь дуудна. • Жишээ нь B класс дотроос А классын static add функцийг дуудвал: – A.add( );  Өөр классын статик биш функцийг дуудвал заавал обьектоор нь дамжуулж дуудна. • Жишээ нь B класс дотроос А классын add функцийг дуудвал: – A myObject = new A( ); – myObject.add( ); Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 12.
    Logo Функцийнпараметр дамжуулалт Java-д хоѐр төрлийн параметр (аргумент) дамжуулалт байдаг.  Утгаар дамжуулах (Pass by Value) • Дамжуулагдаж байгаа параметрийн утгыг хуулаад функцэд дамжуулна. • Өгөгдлийн үндсэн төрлүүд (int, char, гэх мэт эхний үсэг нь жижгээр бичигддэг төрлүүд) бүгд утгаар дамжигддаг.  Заалтаар дамжуулах (Pass by Reference) • Дамжуулж буй өгөгдлийн эх хувийг дамжуулна. • Дуудагдсан функц энэ эх хувийг өөрчилж болно. • Утгаар дамжуулахыг бодвол илүү хурдан байдаг. • Java-д бүх обьектууд заалтаар дамжигддаг.  Java –д массив бол обьект юм. Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 13.
    Logo Функцийнпараметр дамжуулалт public class ArgumentDemo{ public void sub(int x) { System.out.println(“x =: ” + x); x = x + 1; System.out.println(“x =: ” + x); } public static void main() { int z =12; System.out.println(“z =: ” + z); sub(z); System.out.println(“z =: ” + z); } } Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 14.
    Logo Утгаарпараметр дамжуулах public class ArgumentDemo{ public void sub(String m) { System.out.println(“Функц дотор эхлээд: ” + m); m = “C++” System.out.println(“Функц дотор дараа нь: ” + m); } public static void main() { String m = “Java”; System.out.println(“Дамжуулахын өмнө: ” + m); sub(m); System.out.println(“Дамжуулсны дараа: ” + m); } } Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 15.
    Logo Заалтаарпараметр дамжуулах public class ArgumentDemo{ public void sub(String s) { System.out.println(“Функц дотор эхлээд: ” + s[0] + “ “ + s[1]); s[0] = “C”; s[1] = “is procedural.”; System.out.println(“Функц дотор дараа нь: ” + s[0] + “ “ + s[1]); } public static void main() { String m[] = {“Java”,”is object oriented.”}; System.out.println(“Дамжуулахын өмнө: ” + m[0] + “ “ + m[1]); sub(m); System.out.println(“Дамжуулсны дараа: ” + m[0] + “ “ + m[1]); } } Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 16.
    Logo Mathкласс Математик функцүүдийг ашиглах боломж олгоно. Ашиглахын тулд import java.lang.Math гэж оруулж ирэх хэрэгтэй. Жишээ: 900-аас язгуур гаргахдаа Math.sqrt( 900.0 ) Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 17.
    Logo Mathкласс Маth классын зарим функцүүдээс жагсаавал: функц Тайлбар Жишээ abs( x ) x-ийн модулийг олно (абсолют утгыг) abs( 23.7 ) нь 23.7 abs( 0.0 ) нь 0.0 abs( -23.7 ) нь 23.7 ceil( x ) x-ийг өөрөөс нь багагүй хамгийн ойр бүхэл ceil( 9.2 ) нь 10.0 тоо руу тоймлох ceil( -9.8 ) нь -9.0 cos( x ) x-ийн косинус (x нь радианаар) cos( 0.0 ) нь 1.0 exp( x ) e тооны х зэргийг олно. exp( 1.0 ) нь 2.71828 exp( 2.0 ) нь 7.38906 floor( x ) x-ийг өөрөөс нь ихгүй хамгийн ойр бүхэл тоо floor( 9.2 ) нь 9.0 руу тоймлох floor( -9.8 ) нь -10.0 log( x ) x-ийн натурал логарифм (e суурьтай) log( Math.E ) нь 1.0 log( Math.E * Math.E ) нь 2.0 max( x, y ) x ба y ийн аль ихийг нь олно. max( 2.3, 12.7 ) нь 12.7 max( -2.3, -12.7 ) нь -2.3 min( x, y ) x ба y ийн аль багыг нь олно. min( 2.3, 12.7 ) нь 2.3 min( -2.3, -12.7 ) нь -12.7 pow( x, y ) x -ийг y зэрэгт дэвшүүлэх pow( 2.0, 7.0 ) нь 128.0 pow( 9.0, 0.5 ) нь 3.0 sin( x ) x-ийн синус утга (x нь радианаар) sin( 0.0 ) нь 0.0 sqrt( x ) x-ээс язгуур гаргах sqrt( 900.0 ) нь 30.0 sqrt( 9.0 ) нь 3.0 Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 18.
    Logo Mathкласс жишээ import java.lang.Math; public class MathDemo{ public static void main(String args[]) { System.out.println(“16 root:” + Math.sqrt( 16 )); System.out.println(“16 iin 3 zereg:” + Math.pow( 16, 3 )); System.out.println(“16.15 toimloh” + Math.floor( 16.15 )); System.out.println(“16 ба -16 –ийн их нь :” + Math.max(16,-16)); } } Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 19.
    Logo Санамсаргүйтоо ашиглах Програм бичих явцад ямар нэгэн урьдчилан зохиосон биш санамсаргүйгээр үүсэх тоонуудыг ашиглах шаардлага гардаг. Жишээ нь: Мөрий тавьж морь уралдуулах програм. 4 шагай хаях тоглоом Ижил эрхтэй 10 хүнээс нэгийг нь сонгох. Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 20.
    Logo Санамсаргүйтоо ашиглах Санамсаргүйгээр тоо үүсгэхийн тулд Math.random функцийг ашигладаг. Энэ функц нь [0;1[ завсрын санамсаргүй бутархай тоо буцаадаг. Жишээ:  (int) ( Math.random() * 6 ) нь 0-5 хоорондох санамсаргүй нэг утга буцаана. Тайлбар: 6 аар үржүүлээд бүхэл хэсгийг нь авч байна. Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 21.
    Logo JTextAreaкласс Олон мөрөөс тогтсон текстүүдийг цонхон дээр дүрслэх чадвартай. Цагаан хэсэг нь JTextArea Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 22.
    Logo JTextAreaкласс Ашиглахын тулд  import javax.swing.JTextArea; эсвэл • import javax.swing.*; гэж оруулж өгнө.  Обьектийг нь зарлана: • JTextArea myText = new JTextArea();  Текстийг нь setText функцээр нь оруулж өгдөг. • myText.setText (“Hello class!”); Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 23.
    Logo JTextAreaкласс import javax.swing.JOptionPane; import javax.swing.JTextArea; public class TextAreaDemo{ public static void main (String args[]) { String output; JTextArea mmm = new JTextArea(); mmm.setText("Sirname: tBold n Name: tGan"); JOptionPane.showMessageDialog( null, mmm, "Anket", JOptionPane.INFORMATION_MESSAGE); output = "Ovog: Bold n Ner: Gan"; mmm.setText(output); JOptionPane.showMessageDialog( null, mmm, "Anket", JOptionPane.INFORMATION_MESSAGE); System.exit(0); } Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 24.
    Logo Санамсаргүйтоо жишээ import javax.swing.JOptionPane; public class RandomIntegers { public static void main( String args[] ) { int value; String output = ""; // 20 удаа давтах for ( int counter = 1; counter <= 20; counter++ ) { // 1-ээс 6 хоорондох тооноос санамсаргүйгээр сонгох value = 1 + ( int ) ( Math.random() * 6 ); output += value + " "; // уг сонгогдсон тоог гаралтын хувьсагчид залгана. // хэрвээ counter нь 5-д хуваагдаж байвал шинэ мөрнөөс хэвлэе. if ( counter % 5 == 0 ) output += "n"; } // for давталтын төгсгөл JOptionPane.showMessageDialog( null, output, "20 Random Numbers from 1 to 6", JOptionPane.INFORMATION_MESSAGE ); System.exit( 0 ); // програмыг дуусгах } // main функцийн төгсгөл } // RandomIntegers классын төгсгөл Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 25.
    Logo Массив  Нэг төрөлтэй хэсэг бүлэг өгөгдлийг массивт хадгалж хэрэглэж болно. Доор 12 ширхэг элементтэй массивын жишээ үзүүллээ:  Бүтэц: Төрөл МассивНэр[ ] = new Төрөл[ тоо ]; int numbers[ ] = new int[ 12 ]; эсвэл Төрөл[ ] МассивНэр = new Төрөл[ тоо ]; int[ ] numbers = new int[ 12 ]; Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 26.
    Logo Массив  Хэрвээ массивт байх элементийн тоо тодорхойгүй байгаа бол доорх байдлаар зарлаж болно: int numbers[ ] = null; эсвэл null бол хоосон гэсэн утгатай. Обьектод null буюу int[ ] numbers = null; хоосон гэсэн утга өгч хэрэглэдэг. Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 27.
    Logo Массив  Массивын элемент нь 0 –оос эхлэн дугаарлагддаг.  Тиймээс int c[ 3 ]; гэж зарлавал с массив нь 4 элементтэй байна (0 дугаар элементийг оруулан).  Массивын элементэд хандахдаа хаалтан дотор нь элементийнх нь дугаарыг тавьж хандана. Хаалтан дотор нь мөн бүхэл тоо буцаах арифметик илэрхийлэл байж болно. Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 28.
    Logo Массивашиглах жишээ Бодолт №1 public Number{ public static void main ( String args[ ] ) { int numbers[ 9 ] = new int[ 9 ]; // 1-10 хүртэлх утгуудаа олгоѐ: numbers[ 0 ] = 1; numbers[ 1 ] = 2; numbers[ 2 ] = 3; numbers[ 3 ] = 4; numbers[ 4 ] = 5; numbers[ 5 ] = 6; numbers[ 6 ] = 7; numbers[ 7 ] = 8; numbers[ 8 ] = 9; numbers[ 9 ] = 10; } } Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 29.
    Logo Массивашиглах жишээ // ¯ðãýëæëýë… // îäîî õýâëýå: System.out.println ( numbers[ 0 ] ); System.out.println ( numbers[ 1 ] ); System.out.println ( numbers[ 2 ] ); System.out.println ( numbers[ 3 ] ); System.out.println ( numbers[ 4 ] ); System.out.println ( numbers[ 5 ] ); System.out.println ( numbers[ 6 ] ); System.out.println ( numbers[ 7 ] ); System.out.println ( numbers[ 8 ] ); System.out.println ( numbers[ 9 ] ); System.out.println ( numbers[ 10 ] ); } } Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 30.
    Logo Массивашиглах жишээ Бодолт №2 public Number{ public static void main ( String args[ ] ) { int numbers[ 9 ] = new int[ 9 ]; for (int x = 0; x<=9; x++) numbers[ x ] = x; for (int x = 0; x<=9; x++) System.out.println ( numbers[ x ] ); } } Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 31.
    Logo Массивашиглах жишээ Бодолт №3 public Number{ public static void main ( String args[ ] ) { int numbers[ 9 ] = new int[ 9 ]; for (int x = 0; x<=9; x++) { numbers[ x ] = x; System.out.println ( numbers[ x ] ); } } } Тайлбар: Эндээс давталт програмыг их хөнгөвчилдөг нь харагдаж байна. Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 32.
    Logo Олонхэмжээст массив 1 хэмжээст массив:  int numbers[ ] = new int[ 3 ];  int a[ ] = {1, 2, 3};  2 хэмжээст массив:  int numbers[ ][ ] = new int[3][3];  int a[][] = {{10,21,32}, {20, 21, 22 }, {30, 31, 32}} 3 хэмжээст массив:  int numbers[ ][ ][ ] = new int[2][2][2];  int a[][][] = {{{1,1,1},{2,2,2},{3,3,3}}, {{4,4,4},{5,5,5},{6,6,6}}}; Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 33.
    Logo Олонхэмжээст массив жишээ Жишээ:  10õ10 õýìæýýòýé õî¸ð õýìæýýñò ìàññèâò ñàíàìñàðã¿é òîîí óòãóóä õèéãýýä äºðâºëæèí õýëáýðýýð õýâëý. Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 34.
    Logo Олонхэмжээст массив жишээ public class ArrayDemo{ public static void main(String args[]) { int a[][] = new int[10][10]; for (int i=0; i<a.length; i++) for (int j=0; j<a.length; j++) { a[ i ][ j ] = ( int ) ( Math.random( ) * 10 ); System.out.print(“ “ + a[ i ][ j ]); System.out.println( ); } } } Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 35.
    Logo Шинэүгс Reference: Заалт. Функцийн аргумент дамжуулах үед хэрэглэгдвэл аргументийг хаягаар нь дамжуулах гэсэн утгатай болдог. Row: Мөр. (массивын мөр) Column: Багана. (массивын багана) index: индекс. (массивын индекс) Length: урт. (массивын элементийн тоонд хэрэглэгдсэн) Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 36.
    Logo Шинэүгс Method: Функц. Классын функцийг хэлдэг. Argument: Aргумент. Функцэд дамжуулагдах хувьсагч. Parameter: Аргументтай адилхан. Array: Массив. Value: Утга. Multidimentional: Олон хэмжээст. Multidimentional array: oлон хэмжээст массив Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 37.
    Logo Шинэүгс  principle: Зарчим.  concept: зарчим, онол.  Nested : Дотроо агуулсан. Nested if structure: if () { …. if () { …. } }  while: Зуур. Тэгэх ингэх зуур гэсэн утгатай. Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 38.
    Logo Шинэүгс  Counter: Тоолуур хувьсагч. (i = i +1 эсвэл i++) Давталт дотор хэд дэх үйлдэл хийгдэж байгааг бүртгэх зорилгоор хэрэглэгддэг.  Initial value: Анхны утга. Эхний утга.  loop: Нэг удаа давталт хийх. Давтах бичлэгүүдээ бүгдийг нь нэг удаа ажиллуулж давталтын эхэнд буцан ирэхийг loop гэж хэлнэ.  iteration: Итераци буюу цикл. Loop-тэй ижил.  enclose: хаших. Enclosed by { } => { } хаалтаар хашигдсан. Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 39.
    Logo Шинэүгс  while: Зуур. Тэгэх ингэх зуур гэсэн утгатай.  Counter: Тоолуур хувьсагч. (i = i +1 эсвэл i++) Давталт дотор хэд дэх үйлдэл хийгдэж байгааг бүртгэх зорилгоор хэрэглэгддэг.  Initial value: Анхны утга. Эхний утга. Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 40.
    Logo Даалгавар n элементтэй массивын бүх элементүүдийн нийлбэрийг ол. n элементтэй массивын бүх сондгой элементүүдийн нийлбэрийг ол. n элементтэй массивын бүх сондгой индекстэй элементүүдийн нийлбэрийг ол. Массивын бүх элементийг хэвлэдэг функц бич. Массивын i ба j-р элементийн байрыг сольдог функц бич. Жава програмчлал Улаанбаатар Дээд Сургууль 2011 он
  • 41.
    Java Programming Logo Улаанбаатар дээд сургууль 2011 он