Sintaks
This presentation is the property of its rightful owner.
Sponsored Links
1 / 16

Identifikatoriai ir unikodas Komentarai Raktiniai žodžiai Duomenų tipai PowerPoint PPT Presentation


  • 157 Views
  • Uploaded on
  • Presentation posted in: General

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ų

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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ų

  • ◊ 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


Identifikatoriai ir unikodas komentarai raktiniai od iai duomen tipai

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!”);

}

}


Identifikatoriai ir unikodas komentarai raktiniai od iai duomen tipai

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.


Identifikatoriai ir unikodas komentarai raktiniai od iai duomen tipai

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


Identifikatoriai ir unikodas komentarai raktiniai od iai duomen tipai

  • 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


Identifikatoriai ir unikodas komentarai raktiniai od iai duomen tipai

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


Identifikatoriai ir unikodas komentarai raktiniai od iai duomen tipai

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


Identifikatoriai ir unikodas komentarai raktiniai od iai duomen tipai

  • 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);

}

}


Identifikatoriai ir unikodas komentarai raktiniai od iai duomen tipai

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.


Identifikatoriai ir unikodas komentarai raktiniai od iai duomen tipai

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:


Identifikatoriai ir unikodas komentarai raktiniai od iai duomen tipai

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


Identifikatoriai ir unikodas komentarai raktiniai od iai duomen tipai

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


Identifikatoriai ir unikodas komentarai raktiniai od iai duomen tipai

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!


Identifikatoriai ir unikodas komentarai raktiniai od iai duomen tipai

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'));


Identifikatoriai ir unikodas komentarai raktiniai od iai duomen tipai

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"


Identifikatoriai ir unikodas komentarai raktiniai od iai duomen tipai

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;


  • Login