1 / 16

Identifikatoriai ir unikodas Komentarai Raktiniai žodžiai Duomenų tipai

Sintaks ė ir semantika. Identifikatoriai ir unikodas Komentarai Raktiniai žodžiai Duomenų tipai Pirminiai duomenų tipai ◊ Sveikieji skaičiai ◊ Slankaus kablelio skaičiai ◊ Simboliai ◊ Loginiai kintamieji Pirminių duomenų tipų konvertavimas ◊ Slankaus kablelio į sveikąjį skaičių

dawn-glover
Télécharger la présentation

Identifikatoriai ir unikodas Komentarai Raktiniai žodžiai Duomenų tipai

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sintaksė ir semantika • Identifikatoriai ir unikodas • Komentarai • Raktiniai žodžiai • Duomenų tipai • Pirminiai duomenų tipai ◊ Sveikieji skaičiai ◊ Slankaus kablelio skaičiai ◊ Simboliai ◊ Loginiai kintamieji • Pirminių duomenų tipų konvertavimas ◊ Slankaus kablelio į sveikąjį skaičių • ◊ double tipo į float • ◊ Loginis į arba iš bet kurio tipo • Kintamųjų paskelbimas ◊ Galiojimas ◊ Kintamųjų pavadinimai • Operacijos ◊Operacijos su skaičiais • ◊Unarinės operacijos • ◊Binarinės operacijos • ◊Operacijos su objektais • ◊Operacijos su eilutėmis

  2. Galimi Java komentarų stiliai: • // tekstas Visas tekstas toliau už // ženklo iki eilutės • pabaigos bus ignoruojamas. • /* tekstas */ Visas komentarų tekstas ignoruojamas. Jis gali susidaryti iš daugelio eilučių. • /** tekstas */ • Komentarai skirti įtraukti į javadoc generuojamą dokumentaciją Komentarų pvz: class test{ public static final void main (String[] S){ /* normalūs komentarai su // /* /** simboliai viduje. komentarai pasibaigia čia */ System.out.println(“Sveikas, Pasauli!”); } }

  3. Java kalbos raktiniai žodžiai abstract do implements package throw boolean double import private throws break else *inner protected transient byte extends instanceof public try case final int *rest *var *cast finally interface return void catch float long short volatile char for native static while class *future new super ** strictfp *const *generic null*** switch continue *goto operator synchronized default if *outer this * - rezervuoti ateičiai, ** - buvo pridėti Java 2 *** - null yra specialus kintamasis ir Java 2 versijoje nevadinamas raktiniu.

  4. Vardas Dydis Minimumas Maksimumas Pavyzdys byte 8 -128 127 16,-16 short 16 -32768 32767 99, -99 int 32 -2147483648 2147483648 99999, -99999 long 64 -9223…808 9223…807 10000000 Sveikieji skaičiai: Pavyzdžiai: short i = 0x7fff; // šešioliktaine forma short j = 07777; // tas patsaštuntaine forma short k = 32767 // tas pats dešimtaine forma Cikliškas perkėlimas: byte i=(byte)127; boolean b=(byte)(i+1) == -128; // !Keista

  5. Slankaus kablelio skaičiai: • Yra dviejų tipų: float ir double • Nutylimieji visuomet double tipo • float num = 1.0;//! Kompiliavimo klaida • // nes 1.0 yra double tipo • Teisingai: • float num = 1.0f; //arba • float num = (float)1.0; • Galimos specifinės reikšmės: • Float.MAX_VALUE • Float.MIN_VALUE • Float.NaN • Float.NEGATIVE_INFINITY • Float.POSITIVE_INFINITY • Analogiškai Double • Daugiaženklius lyginti pavojinga! • Pvz.: Rezultatas • 0.333333333333333333!= • 0.3333333333333333333 • bus sunkiai prognozuojamas

  6. Perėjimosekos Paskirtis Unikodas \b Tarpas \u0008 \t Horizontalus tarpas \u0009 \n Eilutės perdavimas \u000a \f Eilutės perstūma \u000c \r Karietėlė \u000d \" Dviguba kabutė \u0022 \' Vienguba kabutė \u0027 \\ Pasviras brūkšnys \u005c Simboliai (characters) Perėjimas į unikodo simbolius: • Pavyzdžiai: • 'a' - simbolis . • '\n' - eilutės perdavimas. • '\\' - unikodo pasviras brūkšnys. • '\u0042' - unikodas seka. Unikodo koncsorciumo Web puslapis: http://www.unicode.org

  7. Prad.  tipas Paskirties tipas byte short int long float double char boolean byte C X short C, L C X int C, L C, L C, L X long C, L C, L CL C, L C C, L X float C, L C, L CL C, L C, L X double C, L C, L CL C, L C, L C, L X char C, L C C C C C C X boolean X X X X X X X • Loginiai kintamieji • Tik dvi reikšmės true ir false • Galima naudoti santykio operacijas. Pvz: • boolean tiesa=1==1, netiesa=1==0; Tipų konvertavimas: C - kad konvertuoti jūs turite naudoti (cast)operatorių; L - konvertavimo metu galima prarastitikslumas; X - konvertavimas draudžiamas. Pavyzdys: int i = 1; shortj = 1; // ! Klaida

  8. Kintamųjų paskelbimo taisyklės: • Kintamieji gali būti pirminių tipų, • objektai ir interfeisai; • Kintamojo paskelbimas gali būti pratęstas pradinės • reikšmės priskyrimu; • Kintamųjų paskelbimo vietą pasirenkate laisvai. Kintamųjų paskelbimo pavyzdžiai: int i=42; String it="Hello World"; float pi=3.14f; boolean cont; Kintamieji galioja kol neišeinama iš jų paskelbimo bloko {}. Pavyzdžiui class foo { int cnt; public void test1() { int num; } public void test2() { for( int cnt=0; cnt< 5; cnt++) System.out.println(cnt); } }

  9. Kintamųjų galiojimo medis: Kintamųjų užgožimo efektas ir sprendimas: this.cnt = 4; • Kintamųjų vardai ir jų paskelbimas: • Turi prasidėti raide; • Toliau gali būti ir skaitmenys bei skyrybos ženklai; • Vardai negali dubliuotis to paties lygio bloke; • Simboliai laikomi vienodais tada ir tik tada, kai sutampa jų unikodo reikšmės.

  10. 1 tipas . int   1 tipas [] int   2 tipas 2 tipas () int   Rezultatas Rezultatas int   ++ -- long   ! long   ~ instanceof byte   byte   int   * int   / float   % float   byte   short   int   int   + - double double byte   int   int   << float   >> float   >>> float   byte   long   long   float   < > double <= double >= short   short   int   == != short   int   int   & short   long   long   ^ | && || ?: = Op= , Operacijos Operacijųeiliškumo tvarka yra iš viršaus į apačią. Tos pačios eilutės operacijos yra lygaus pirmumo. Pvz. x = 2+4*3 rezultatas dėl eilišk. bus x=14, bet ne 18. Operacijos su skaičiais:

  11. Operacija Aprašymas - Unarinis minus + Unarinis plius ~ Bitinis papildinys ++ Padidinimas vienetu -- Sumažinimas vienetu Unarinės operacijos: Pvz: i++; ++i; i--; ~i; +i Netikėtas rezultatas -128: byte i=(byte)-128; System.out.println(-i); Bitinis papildinys: Paskalyje: ~(byte)0 == 255 Javoje: ~(byte)0 == -1 Apibrėžimas: ~x=-(x-1) Padidinimas ir sumažinimas vienetu: int i=0, j=0; System.out.println(++i); System.out.println(j++); Spausdinimo rezultatas: 1 ir 0; galutinės i ir j reikšmės: i=j=1

  12. Operacija Aprašymas + Sudėtis - Atimtis * Daugyba / Dalyba % Modulis & Bitinis AND | Bitinis OR ^ Bitinis XOR << Su ženklu poslinkis į kairę >> Su ženklu poslinkis į dešinę >>> Be ženklo poslinkis į dešinę Op= Kombinacija priskyrimas ir operacija Binarinės operacijos: • Adityvios operacijos: +, - • Dauginimo operacijos: *,/,% • Neasociatyvios. Pvz. • float v = 1f; • floatmax = 2^24e104; • v +max - v == max - v + v yra false • Apibrėžimas: (a/b) * b + (a%b) = a • pvz: 11 % 4 == 3, 11 % (-4) == -3 • Bitiniai operatoriai: &, |, ^ . Pvz: • byte flags=0xff; // inicijuoja 11111111 • byte mask=0xfe; // trafaretas 11111110 • flags = flags & mask; // eilės 8 pozicija • flags = flags | mask; // išvalo 8 poziciją • flags = flags ^ mask; // = 00000001

  13. Operatorius Aprašymas < Mažiau kaip > Didesnis kaip <= Mažiau kaip arba lygus >= Didesnis kaip arba lygus == Yra lygūs != Nelygūs Postūmiai: <<, >>, >>> int i = 129; // 10000001 dvejetainis i = i >> 1; // dabar 1000000 arba 64 Kombinacija priskyrimas ir operacija. Pvz: int i = 7; i *= 3; // i = 21 i +=5; // i =26 i += --i; // i = 51, bet ne 50 Santykio (palyginimo) operacijos: Kuo skiriasi = ir == operacijos? C/C++ kompiliatorius tokio operacijų sumaišymo nepastebės!

  14. Operatorius Aprašymas Loginės operacijos ! Neiginys & Loginis AND | Loginis OR ^ Loginis XOR && Sąlyginis AND || Sąlyginis OR == Lygus != Nelygus Op= Kombinacija priskyrimas ir operatorius ?: Sąlygos operatorius Sąlygos op. vienintelis naudoja tris operandus: a?b:c Pvz: int i; boolean salyga=false; // įprasta if komanda if (salyga) i=5; else i=6; // tas pats naudojant sutrumpinimą: i = (salyga?5:6); Operacijos su simboliais char c='B'; c = (char) (c - ('A' - 'a'));

  15. test1 test2 test3 test1 == != == test2 != == != test3 == != == Operacijos su objektais: =, ==, != ir instanceof foo test = new foo(); foo test2 = null; test2 = test;  // test2 pasidaro test sinonimas foo test1 = new foo(); foo test2 = new foo(); foo test3 = test1; Instanceof naudojamas patikrinti objekto tipą. Pvz: shape shapeHolder; if (shapeHolder instanceof polygonShape) { polygonShape polygon = (polygonShape) shapeHolder; // darome ką nors su polygon } Operacijos su eilutėmis. Hibridinės savybės. String foo = "Sveikas "; String bar = "Pasauli"; int i = 42; boolean cont = false; String rezultatas = null; result =foo + bar; // = "Sveikas Pasauli" result =foo + i; // = "Sveikas 42" result =foo + cont; // = "Sveikas false"

  16. Operandas i Taisyklė nullkintamieji Kiekvienas kintamieji kurios reikšmė bus  null  bus pakeistas eilute "null ". Sveikasis skaičius Sveikasis skaičius bus konvertuotas į eilutę vaizduojančią dešimtainę skaičiaus išraišką. - ženklas pradės neigiamą skaičių ir nebus rašomi vedantieji nuliai, išskyrus 0 atvejį. Slankaus kablelio Slankaus kablelio skaičiai bus konvertuojami į kompaktišką formą. Jeigu užrašo ilgis viršija 10 simbolių, jis bus užrašytas eksponentine forma. Neigiamas skaičius prasidės - ženklu. Simbolis Simbolis bus konvertuotas į jai ekvivalenčią 1 simbolio ilgio eilutę. Loginis Rezultatas bus arba "true"  arba "false"   eilutė priklausomai nuo loginio kintamojo reikšmės. Objektas Objektams bus keičiamas toString() metodas. + operacijos su eilute ir kito tipo kintamuoju: String S=“Mano tekstas papildytas: “ + i;

More Related