20
1 Nimed. Muutujad. Tüübid int, double ja String. Tehted. Avaldised Programmeerimine 2. loeng

Nimed. Muutujad. Tüübid int , double ja String . Tehted. Avaldised

  • Upload
    peers

  • View
    66

  • Download
    7

Embed Size (px)

DESCRIPTION

Nimed. Muutujad. Tüübid int , double ja String . Tehted. Avaldised. Programmeerimine 2. loeng. Muutuja. Muutuja – teatavat tüüpi väärtuste jaoks ettenähtud mäluväli muutujale saab omistada väärtust ning seda väärtust kasutada avaldise arvutamisel muutujale viidatakse tema nime abil. - PowerPoint PPT Presentation

Citation preview

Page 1: Nimed. Muutujad. Tüübid  int ,  double  ja  String . Tehted. Avaldised

1

Nimed. Muutujad. Tüübid int, double ja String. Tehted. Avaldised

Programmeerimine

2. loeng

Page 2: Nimed. Muutujad. Tüübid  int ,  double  ja  String . Tehted. Avaldised

2

Muutuja

• Muutuja – teatavat tüüpi väärtuste jaoks ettenähtud mäluväli

• muutujale saab omistada väärtust ning seda väärtust kasutada avaldise arvutamisel

• muutujale viidatakse tema nime abil

Page 3: Nimed. Muutujad. Tüübid  int ,  double  ja  String . Tehted. Avaldised

3

Täisarvuline muutuja. Kirjeldamine

• teatavat tüüpi väärtused– nt. täisarvud

• byte 8 bitti -128 127• short 16 bitti -32768 32767• int 32 bitti -2147483648 2147483647• long 64 bitti

• muutujakirjeldus reserveerib koha antud tüüpi ja antud nimega muutujale (ja salvestab antud kohale antud tüübi vaike-algväärtuse)

int a;int a, b, autodeArv;

Page 4: Nimed. Muutujad. Tüübid  int ,  double  ja  String . Tehted. Avaldised

4

Omistamine

• a = 12;

• b = a + 10;

• Kirjeldamine ja omistamine koos

int koht = 8;

Page 5: Nimed. Muutujad. Tüübid  int ,  double  ja  String . Tehted. Avaldised

5

Täisarvuline avaldis

• liitmine +

• lahutamine -

• korrutamine *

• jagamine /

• jäägi leidmine %

Page 6: Nimed. Muutujad. Tüübid  int ,  double  ja  String . Tehted. Avaldised

6

Tehete järjekord

1. unaarne + unaarne –

2. * (korrutamine), / (jagamine), % (jääk)

3. + (liitmine), - (lahutamine), + (sõnede sidurdamine)

4. = omistamine

• saab sulgudega muuta

Page 7: Nimed. Muutujad. Tüübid  int ,  double  ja  String . Tehted. Avaldised

7

Algtüübid Vt. Leksikon, märksõna: tüüp

täisarvud int, byte, short, long

ujupunktarvud

float 32-bitilised (7 tüvekohta)

double 64-bitilised (15 tüvekohta) -1,7*10308…1,7*10308

char – 16-bitilised Unicode-sümbolid

boolean – true või false

void – tühitüüp; kasutatakse ainult tagastustüübina, juhul kui tegelikult väärtust ei tagastata

String ei ole algtüüp (on viittüüp)

Page 8: Nimed. Muutujad. Tüübid  int ,  double  ja  String . Tehted. Avaldised

8

double

• Ujupunktarv, ujukomaarv

– IEEE 754

– 1 bitt märgi, 11 järgu, 52 mantissi jaoks

double pikkus = 180.6;

järkmantissmärk 10**210*14869*169.148

järkmantissmärk 2**

Page 9: Nimed. Muutujad. Tüübid  int ,  double  ja  String . Tehted. Avaldised

9

String

• Sõne• Ei ole algtüüp, on natuke eripärane viittüüp

String kauneimLinn = "Tartu";

• On veel viise loomiseks, aga hetkel ei käsitle• Sõnesidurdus (tähistatakse plussmärgiga)

String hoone1 = kauneimLinn + " raekoda";

Page 10: Nimed. Muutujad. Tüübid  int ,  double  ja  String . Tehted. Avaldised

10

Arvuline e. arvulist tüüpi (int, double, …) muutujaomab arvulist väärtust int z, w, i1; double x, y; i1 = 0; … z + w*2 ... Loogiline e. loogilist tüüpi (boolean) muutuja

omab ühte kahest loogilisest väärtusest: true või false boolean k, m3; boolean g; k = true; m3 = (x <= 1); g = (c != (a + 2)); k = m3 && g;

Page 11: Nimed. Muutujad. Tüübid  int ,  double  ja  String . Tehted. Avaldised

11

Nimed ehk identifikaatorid

• Programmeerija poolt valitavad klasside, meetodite, väljade, lokaalmuutujate jmt. tähised

• Nõuded failinimedele on Java-välised, määratud kasutatava operatsiooni-süsteemiga.

Page 12: Nimed. Muutujad. Tüübid  int ,  double  ja  String . Tehted. Avaldised

12

• REEGLID

– võivad sisalduda tähed (ka täpitähed), numbrid, _ , $

– ei tohi alata numbriga

– pikkusel reaalsel kasutamisel häirivaid piire pole

– suured ja väikesed tähed (nt. A ja a) loetakse

erinevateks (nt. jaAk ja jAak on erinevad,

String ja string on erinevad).

– ei saa sisaldada tühikuid

– ei tohi olla võtmesõna (class, int, true, if …

... ca 60 tükki, vt. Leksikon)

Nimed (identifikaatorid)

Page 13: Nimed. Muutujad. Tüübid  int ,  double  ja  String . Tehted. Avaldised

13

Nimed (identifikaatorid)

• TAVAD

klassi nimi - suur algustäht KlassiNimi

meetodi nimi - väikesed tähed meetodiNimi

muutuja nimi - väikesed tähed muutujaNimi

alates teisest sõnast suure tähega

.java-fail võiks sisaldada ainult ühte klassi ja selle faili

nimi võiks olla sama, mis on klassi nimi (KlassiNimi)

(mõnes keskkonnas peabki olema)

.class-fail tekib siis faili KlassiNimi.java

kompileerimisel ja nimeks on KlassiNimi.classhttp://www.ut.ee/~jaanus/java/projektid/Java_koodistandard.html

Page 14: Nimed. Muutujad. Tüübid  int ,  double  ja  String . Tehted. Avaldised

14

Avaldis A Operatsioon Avaldise A väärtuseks on

x = avaldisB Arvutatakse avaldise B väärtus ja omistatakse see muutujale x

x väärtus pärast operatsiooni

x++

x--

x = x + 1

x = x - 1

x väärtus enne operatsiooni

++x

--x

x = x + 1

x = x - 1

x väärtus pärast operatsiooni

Omistamine

Page 15: Nimed. Muutujad. Tüübid  int ,  double  ja  String . Tehted. Avaldised

15

AvaldisNäiteavaldis Väärtus

1.5 (literaal) 1,5

x Muutuja x väärtus

x + y x ja y väärtuste summa

meetod(a) Meetodi poolt tagastatav väärtus (argumentavaldise a korral)

y = avaldis Muutuja y uus väärtus

y += avaldis Sama, mis

y = y + avaldis

(avaldis) == avaldis

Page 16: Nimed. Muutujad. Tüübid  int ,  double  ja  String . Tehted. Avaldised

16

z = Math.sqrt(2*y)/(x = x + 1)ehkz = Math.sqrt(2*y)/(++x) ;

avaldis

avaldis

avaldis

avaldis

avaldisavaldis avaldis

avaldisdirektiiv

avaldis

Page 17: Nimed. Muutujad. Tüübid  int ,  double  ja  String . Tehted. Avaldised

17

Avaldisdirektiivi erijuht (omistamistehteta):meetodi rakendus ehk meetodi väljakutse

meetodiNimi(argumentide loetelu);

Tavaline, kui meetodi tagastustüübiks on tühitüüp void.

Näide:

System.out.println();

Page 18: Nimed. Muutujad. Tüübid  int ,  double  ja  String . Tehted. Avaldised

18

MEETOD

piiritlejad -- võivad puududa

tagastustüüp meetodiNimi(formaalsete parameetrite loetelu){ lokaalmuutujad, direktiivid}

Meetodi kirjeldus (lühemalt: meetod):

Meetodi rakendus ehk väljakutse:

Klassi nimi. või isendiviit. -- võib puududa

meetodiNimi(argumentide loetelu)

Page 19: Nimed. Muutujad. Tüübid  int ,  double  ja  String . Tehted. Avaldised

19

Meetodint ruutudeSumma(int a, int b){ int c; c = a*a + b*b; return c;}

int f(int a, int b, int c, int d){ int x, y; x = ruutudeSumma(a, b); y = ruutudeSumma(c, d); z = ruutudeSumma(x, y); return z;}

void test(int a){ System.out.println(“Kui a = b = c = d = “ + a); System.out.println(“ siis f = “ + f(a,a,a,a));}

Page 20: Nimed. Muutujad. Tüübid  int ,  double  ja  String . Tehted. Avaldised

20

MUUTUJA

väli või parameeter või lokaalmuutuja

class A{

int meetod( ){

}

}