PROGRAMIRANJE. Objekt-orjentirano programiranje (OOP)

Similar documents
Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0.

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa

PROGRAMIRANJE. Amir Hajdar

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list.

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt

/*#include <iostream> // Prvi zadatak sa integralnomg ispita

3. Java - Language Constructs I

Programiranje III razred

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1

Uvod u relacione baze podataka

Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal

CSC 1214: Object-Oriented Programming

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets

BIT Java Programming. Sem 1 Session 2011/12. Chapter 2 JAVA. basic

Numeričke metode i praktikum

Expressions and Data Types CSC 121 Fall 2015 Howard Rosenthal

VB komande. Programiranje 1

An overview of Java, Data types and variables

CS5000: Foundations of Programming. Mingon Kang, PhD Computer Science, Kennesaw State University

VRIJEDNOSTI ATRIBUTA

Vežbe - XII nedelja PHP Doc

Prirodno-matematički fakultet u Nišu Departman za fiziku. dr Dejan S. Aleksić Programiranje u fizici

Java language. Part 1. Java fundamentals. Yevhen Berkunskyi, NUoS

1 Shyam sir JAVA Notes

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end.

PROGRAMIRANJE. Teme. Packages Reference objekata Inheritance nasljeđivanje Exceptions. Amir Hajdar

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010

Java Programming Language Mr.Rungrote Phonkam

Introduction to Programming Using Java (98-388)

: Primitive data types Variables Operators if, if-else do-while, while, for. // // First Java Program. public class Hello {

Lecture 2: Variables and Operators. AITI Nigeria Summer 2012 University of Lagos.

Accelerating Information Technology Innovation

CSC Java Programming, Fall Java Data Types and Control Constructs

Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups:

1.Which four options describe the correct default values for array elements of the types indicated?

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo

JAVA Ch. 4. Variables and Constants Lawrenceville Press

2 rd class Department of Programming. OOP with Java Programming

Programske paradigme Funkcionalna paradigma

Tools : The Java Compiler. The Java Interpreter. The Java Debugger

Naredbe za kontrolu toka

JavaScript i HTML DOM

CHETTINAD COLLEGE OF ENGINEERING & TECHNOLOGY JAVA

Aspektno programiranje u Javi. AOP + AspectJ

Primjer ispisuje rečenicu "Dobro dosli na brzi tecaj C-a" na ekranu

3. Java - Language Constructs I

CSE 201 JAVA PROGRAMMING I. Copyright 2016 by Smart Coding School

Prva recenica. Druga recenica.

Building Java Programs. Introduction to Programming and Simple Java Programs

PREDMET. Osnove Java Programiranja. Čas JAVADOC

Java Programming. Atul Prakash

JAVA OPERATORS GENERAL

Java. Ugnježdeni tipovi IMI PMF KG OOP 09 AKM. najveći deo teksta je preuzet sa slajdova Prof. Dragana Milićeva (ETF Bg) namenjenih pedmetu OOP2

x y = z Zadaci - procedure

For. 1) program ispis; {ispisuje brojeve od 1 do 5 jedan ispod drugog} uses wincrt; var s,i:integer; begin for i:=1 to 5do writeln(i); end.

COMP 202 Java in one week

Chapter 2. Elementary Programming

16. Sigurnije programiranje

The Sun s Java Certification and its Possible Role in the Joint Teaching Material

DM503 Programming B. Peter Schneider-Kamp.

ECE 122 Engineering Problem Solving with Java

5/3/2006. Today! HelloWorld in BlueJ. HelloWorld in BlueJ, Cont. HelloWorld in BlueJ, Cont. HelloWorld in BlueJ, Cont. HelloWorld in BlueJ, Cont.

BM214E Object Oriented Programming Lecture 4

Last Time. University of British Columbia CPSC 111, Intro to Computation Alan J. Hu. Readings

PITANJA ZA II KOLOKVIJUM KLASE I OBJEKTI

Outline. Overview. Control statements. Classes and methods. history and advantage how to: program, compile and execute 8 data types 3 types of errors

Computer Components. Software{ User Programs. Operating System. Hardware

Program Fundamentals

Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups:

Getting started with Java

Uputstvo za korišćenje logrotate funkcije

Java Identifiers. Java Language Essentials. Java Keywords. Java Applications have Class. Slide Set 2: Java Essentials. Copyright 2012 R.M.

DM550 / DM857 Introduction to Programming. Peter Schneider-Kamp

PROGRAMMING FUNDAMENTALS

Računarske osnove Interneta (SI3ROI, IR4ROI)

Welcome to CSE 142! Zorah Fung University of Washington, Spring Building Java Programs Chapter 1 Lecture 1: Introduction; Basic Java Programs

Language Fundamentals Summary

Crash Course in Java. Why Java? Java notes for C++ programmers. Network Programming in Java is very different than in C/C++

Expressions and Data Types CSC 121 Spring 2017 Howard Rosenthal

Objektno orjentirano programiranje

Uvod, varijable, naredbe, petlje

PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I POLIMORFIZAM

Objectives. Problem Solving. Introduction. An overview of object-oriented concepts. Programming and programming languages An introduction to Java

CS/B.TECH/CSE(OLD)/SEM-6/CS-605/2012 OBJECT ORIENTED PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET

JAVA MOCK TEST JAVA MOCK TEST II

Tony Valderrama, SIPB IAP 2010

Java Basic Programming Constructs

Preview from Notesale.co.uk Page 9 of 108

Tony Valderrama, SIPB IAP 2009

1 Epic Test Review 2 Epic Test Review 3 Epic Test Review 4. Epic Test Review 5 Epic Test Review 6 Epic Test Review 7 Epic Test Review 8

Binarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133

... ; ako je a n parno. ; ako je a n neparno

Operators and Expressions

Variable Neighborhood Descent - VND (Metoda promenljivog spusta)

Računarski praktikum 4

24/03/2018. Deklaracija promenljivih. Inicijalizacija promenljivih. Deklaracija i inicijalizacija promenljivih

Transcription:

PROGRAMIRANJE Amir Hajdar 2 Objekt-orjentirano programiranje (OOP) Objekt je kolekcija podataka i operacija koje se mogu vršiti nad istim Klasa je opis (specifikacija) objekta abstraktni pojam! Objekti komuniciraju preko definisanog interfejsa Detalji implementacije su skriveni unutar objekta

3 Objekt-orjentirano programiranje (OOP) Drugačiji način razmišljanja od proceduralnog Vrijeme se više troši na projektovanje a manje na programiranje Razmišlja se o problemu pa tek onda o implementaciji Razmišlja se prvo o akterima a kasnije o algoritmu Klasa: STOLNI DIGITALNI SAT 4 Operacije nad podacima Podaci Podesi vrijeme Prikaži vrijeme Sati: 12 Minuta: 21 Osvijetli sat

Karakteristike OOP-a 5 1. Apstrakcija ( instantiation ) Vanjski izgled objekta, bez razmišljanja o implementaciji 2. Enkapsulacija ( encapsulation ) Implementacija klase; javni i privatni dijelovi klase 3. Polymorphism Univerzalnost klase u obavljanju zadataka 4. Hijerarhija ( inheritance ) Logično grupisanje i nasljeđivanje Etika programiranja 6 Kopirati softver samo ako je dopušteno Pomenuti autora softvera koji ste kopirali/koristili u svom softveru Zaštiti privatne podatke ( privacy ) Koristiti principe razvoja softvera kako bi proizveli kvalitetan softver bez grešaka

Tehnike rješavanja problema 7 Postavljajte pitanja (o podacima, procesu, greškama, rezultatima, itd.) Pogledajte da li ima već nešto poznato neke situacije se znaju ponavljati Pokušaj riješiti analogijom Means-ends analiza krenuti od I/O i razviti detalje između Divide and conquer podijeli problem na manje dijelove i riješi Oslobodi se mentalnog bloka napiši problem svojim riječima Prvi java program 8 1 2 3 4 5 6 7 8 public class test { //implementacija klase public static void main (String[ ] args) { System.out.println("Hello World!"); return; Napomena: Program mora biti snimljen sa imenom klase, tj. u ovom slučaju, ime programa mora biti: test.java

Drugi java program 9 // Printati pozdravnu poruku i vrijeme import java.util.*; public class Time { public static void main(string[] args) { System.out.println( Pozdrav, ); System.out.println( Tacno vrijeme je: + new Date()); Teme 10 Java sintaksa ASCII, Unicode i data tipovi Identifikatori i varijable Deklaracija konstanti i varijabli Operatori i casting IF-THEN-ELSE i SWITCH FOR WHILE i DO-WHILE BREAK i CONTINUE

Java sintaksa 11 Sintaksa je skup pravila koji precizno definisu kako se slova, brojevi i znakovi koriste u jeziku za programiranje. Sintaksa je objašnjena korištenjem metajezika ( metalanguage ) (npr. Bakcus-Naur-form, sintaks dijagram, i sintaks template ) ASCII i Unicode 12 ASCII (izgovara se: ask-key ) je stariji skup koji predstavlja znakove u obliku cijelih brojeva ( integer -a) Npr. A = 65, pa možemo porediti A i B ( B = 66) korisno kod sortiranja podataka Npr. a + 1 = b ASCII je zamijenjen sa Unicode-om

Data tipovi 13 primitive integral boolean floating point byte char short int long float double reference array interface class Data tipovi 14 Integralni tipovi Svi cijeli brojevi (uključujući negativne) int, short, long Jednocifreni brojevi mogu biti definisani kao char Floating point tipovi Realni brojevi float ili double

Data tipovi 15 Tip boolean char Veličina (bit) Min Max 1 false true 16 Default false '\u0000' (null) byte 8-128 127 (byte) 0 short 16-32,768 32,767 (short) 0 int 32-2,147,483,648 2,147,483,647 0 long 64-9,223,372,036,854,775,808 9,223,372,036,854,775,807 0L float 32 Approx ±3.4E+38 sa 7 značajnih cifara 0.0F double 64 Approx ±1.7E+308 sa15 značajnih cifara 0.0D void Identifikatori 16 Identifikator je ime koje se koristi za klasu, varijablu, konstantu, funkciju ili package u Java programu Java je case-sensitive ObimTrougla obimtrougla Savjet: Uvijek koristiti identifikatore koji imaju smisla a nisu predugački nazivi.

Identifikatori 17 Identifikatori moraju početi sa slovom, donjom crtom (_) ili znakom dolara ($), a ostali znakovi mogu biti bilo koje slovo (veliki ili malo), broj, donja crta ili znak dolara. Ispravno godina_proizvodnje GodinaProizvodnje _godinaproizvodnje Neispravno 13dana Godina& Godina-proizvodnje Rezervisane riječi 18 abstract boolean break byte case catch char class const continue default do double else extends false final finally float for goto if implements import instanceof int interface long native new null package private protected public return short static strictfp super switch synchronized this throw throws transienttrue try void volatile while Rezervisane riječi nemogu biti indentifikatori!

Varijable 19 Varijabla predstavlja memorijsku lokaciju kojoj možemo pristupiti preko identifikatora, a koja može sadržati vrijednost koja se može promijeniti. Deklaracija varijable predstavlja definisanje njenog imena i tip podataka koje može sadržati. Varijable i data tipovi 20 Primjeri deklaracija varijabli: int GodinaProzivodnje; int BrojStudentata = 713; double Procenat; double ProsjekOcjena =.406; char Spol; char Spol= m ; boolean Ispravno; boolean Prazno= true; double temp = 583d; float maxtemperatura = 100F;

Operatori 21 Aritmetika: +, -, *, /, % Primjer: x = (a + b)/(c + d); if (x % 2 == 0) { System.out.println( Broj je paran."); Relacija: >, <, >=, <=,!=, == Primjer: boolean quit = (index == 100); Boolova algebra: &&,,! Primjer: if(!quit (index < 5) ) { // uradi neke druge operacije Prefix i postfix operatori 22 x izraz x (prije) (poslije) Postfix incr.: x++ 1 1 2 Postfix decr.: x-- 1 1 0 Prefix incr.: ++x 1 2 2 Prefix decr.: --x 1 0 0

Casting 23 Pretpostavimo da hoćemo podijeliti cijele brojeve: int a = 5; int b = 2; float f; f = a/b; f =? f = (float)a/(float)b; //? f = (float)(a/b); //? IF 24 if(y > 0) System.out.println("Cao!"); if(z > 0 && isempty) { x = y; System.out.println("Pa-pa!");

IF/ELSE 25 if(a == b) { System.out.println("a i b su jednaki."); else { System.out.println("a je razlicito od b!"); IF/ELSE 26 if(a == b){ System.out.println("a i b su jednaki."); else { System.out.println("a je razlicito od b!");

IF/ELSE ( nesting ) 27 if(a == b) { if(c == d) { /* a je jednako b i c je jednako d*/ else { /* a je jednako b ali c nije jednako d*/ else { if(x == y) { /* a nije jednako b ali x je jednako y*/ else { /* a nije jednako b i x nije jednako y*/ Zadatak: Ako su definisane boolean varijable KisaPada i ImamKisobran, napišite IF/ELSE ( nesting ) koji će provjeriti da li će te pokisnuti i ispišite odgovarajuće rečenice zašto, odnosno zašto nećete pokisnuti. SWITCH 28 switch (month) { case APR: case JUN: case SEP: case NOV: numdays = 30; break; case FEB: if(year % 4 == 0) numdays = 29; else numdays = 28; break; default: numdays = 31; Zadatak: Ako je definisana varijabla Dan (slično kao varijabla month u primjeru), napišite dio programa koji će printati tekući dan u sedmici koristeći switch.

WHILE 29 int i = 1; while (i <= 10) { System.out.println(i); i++; int i = 10; while (i >= 0) { System.out.println(i); i--; FOR 30 for (int i = 1; i <= 10; i++) { System.out.println(i); for (int i = 10; i >= 0; i--) { System.out.println(i);

DO-WHILE 31 int i = 1; do { System.out.println(i); i++; while (i <= 10) int i = 10; do { System.out.println(i); i--; while (i >= 0); BREAK i CONTINUE 32 BREAK prekida izvršenje petlje CONTINUE prekida izvršenje trenutne iteracije petlje i pokreće slijedeću iteraciju int i = 0; while (i <= 10) { i++; if (i % 5 == 0) break; System.out.println(i); int i = 0; while (i <= 10) { i++; if (i % 5 == 0) continue; System.out.println(i); Zadatak: 1.) Koristeći BREAK, napišite dio programa koji će zaustaviti provjeru brojeva ako je broj negativan. 2.) Koristeći CONTINUE, napišite dio programa koji će ispisati sve parne brojeve.

Najjednostavnija klasa 33 HEADING public class praznaklasa { BODY