JAVA ile DAĞITIK PROGRAMLAMA

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "JAVA ile DAĞITIK PROGRAMLAMA"

Transkript

1 KARADENİZ TEKNİK ÜNİVERSİTESİ Bilgisayar Mühendisliği Bölümü Bilgisayar Sistemleri Laboratuarı JAVA ile DAĞITIK PROGRAMLAMA 1. Giriş JAVA, ağdaki programların haberleşmesi için TCP ve UDP olmak üzere iki farklı socket türü kullanır. Her iki socket türü de haberleşmede Client-Server ilişkisini kullanır. Bu deneyde TCP socket kullanılarak Server ve Client bilgisayarlar için yazılacak socket programları ile JAVA ile dağıtık programlama anlatılacaktır. Örnek programlar An Introduction to Network Programming with Java adlı kitaptan alınmıştır. 2. Server Socket Setlemeleri Burada Client bilgisayar ile haberleşme için gerekli Server Socket setlemeleri anlatılacaktır: 2.1. ServerSocket Nesnesi Türetme servsock isimli ServerSocket nesnesi arası yani özel amaçlar için ayrılmış numaraların dışında bir port numarası seçerek aşağıdaki gibi oluşturulur: ServerSocket servsock = new ServerSocket(1234); 2.2. Server ı Bekleme Konumuna Getirme servsock, ServerSocket sınıfına ait accept methodunu kullanarak herhangi bir Client ın bağlanmasını bekler. Bağlantı kurulduğunda aşağıdaki gibi link isimli bir Socket nesnesi türetilir: Socket link = servsock.accept(); 2.3. Gönderilecek/Alınacak Veriler için Input/Output Stream Setleme Client bilgisayardan gelecek mesajları almak ve ona mesaj göndermek üzere Socket sınıfına ait getinputstream ve getoutputstream methodları kullanılarak input ve output isimli stream nesneleri aşağıdaki gibi türetilir: Scanner input = new Scanner(link.getInputStream()); PrintWriter output = new PrintWriter(link.getOutputStream(),true); 2.4. Veri Gönderme ve Alma Veri gönderme ve alma işlemleri için sırasıyla println ve nextline methodları kullanılır : output.println(... ); String message = input.nextline();

2 2.5. Bağlantıyı Sonlandırma Bağlantı Socket sınıfının close methodu ile sonlandırılır: link.close(); 3. Client Socket Setlemeleri Server ile bağlantı kurma dışındaki Client Socket setlemeleri yukarıda Server için anlatılanlarla ayınıdır. Server ile bağlantı kurmak için link isimli Socket nesnesi Server ın ismi (veya IP adresi) ve port numarası parametreleri yardımıyla aşağıdaki gibi türetilir: Socket link = new Socket( ServerName, 1234); 4. Client-Server Programı Aşağıda örnek bir Client-Server programı ve ekran çıktısı verilmiştir. Öncelikle TCPServer.java programı koşularak Server başlatılır. Sonra TCPClient.java koşularak Server ile bağlantı kurulur. Bu örnekte Client tarafından gönderilen mesajlar Server tarafından sayılır ve BYE BYE mesajı geldiğinde bağlantı sonlandırılırken toplam mesaj sayısı yazılır. TCPServer.java import java.io.*; import java.net.*; import java.util.*; public class TCPServer private static ServerSocket servsock; private static final int PORT = 1234; public static void main(string[] args) servsock = new ServerSocket(PORT); System.out.println("Waiting for connection...\n"); System.out.println("Unable to attach to port!"); do while (true); handleclient(); 2

3 private static void handleclient() Socket link = null; String message = null; link = servsock.accept(); Scanner input = new Scanner(link.getInputStream()); PrintWriter output = new PrintWriter(link.getOutputStream(),true); int nummessages = 1; TCPClient.java import java.io.*; import java.net.*; import java.util.*; message = input.nextline(); while (!message.equals("bye BYE")) System.out.println("Received Message : " + message); nummessages++; message = input.nextline(); output.println(nummessages + " messages received."); ioex.printstacktrace(); Finally System.out.println("Because of Received Message : " + message); System.out.println(" * Closing connection... *"); link.close(); System.out.println("Unable to disconnect!"); public class TCPClient private static InetAddress host; private static final int PORT = 1234; public static void main(string[] args) //host = InetAddress.getByName("ServerName"); host = InetAddress.getLocalHost(); System.out.println("Connected to Server"); catch(unknownhostexception uhex) System.out.println("Host ID not found!"); accessserver(); 3

4 private static void accessserver() Socket link = null; link = new Socket(host,PORT); Scanner input = new Scanner(link.getInputStream()); PrintWriter output = new PrintWriter(link.getOutputStream(),true); Scanner useren = new Scanner(System.in); String message, response; do System.out.print("Enter message : "); message = useren.nextline(); output.println(message); while (!message.equals("bye BYE")); response = input.nextline(); System.out.println("\nSERVER > "+response); ioex.printstacktrace(); finally System.out.println("* Closing connection... *"); link.close(); System.out.println("Unable to disconnect!"); SERVER [0]Waiting for connection... [3]Received Message : MERHABA [5]Received Message : NASILSIN [7]Because of Received Message : BYE BYE * Closing connection... * CLIENT [1]Connected to Server [2]Enter message : MERHABA [4]Enter message : NASILSIN [6]Enter message : BYE BYE [8]SERVER > 3 messages received. * Closing connection... * 4

5 5. Multithreading Java ile dağıtık programlamada Server bilgisayara 1 den fazla Client bilgisayarın bağlantı kurması durumunda her bir Client bilgisayar için bir thread başlatılır. Bunun için öncelikle Thread sınıfı miraslanarak bir thread nesnesi türetilir. start methodu ile bu threadin yapacağı işin kodunu barındıran run methodu çağrılır. Çok sayıda thread aynı anda koşarken birbirlerine zaman ayırmaları için sleep methodu kullanılır ve parametre olarak aldığı milisaniye cinsinden zaman kadar askıda durur. Aşağıdaki örnek programda biri 5 kere Hello ; diğeri de 1-5 arası sayıları ekrana yazan iki threadi çağıran ThreadHelloCount adlı java programı ve çıktısı verilmiştir: ThreadHelloCount.java import java.io.*; public class ThreadHelloCount public static void main(string[] args) HelloThread hello = new HelloThread(); CountThread count = new CountThread(); hello.start(); count.start(); class HelloThread extends Thread public void run() for (int i=0; i<5; i++) System.out.println("Hello!"); sleep((int)(math.random()*1000)); catch (InterruptedException interruptex) System.out.println(interruptEx); class CountThread extends Thread public void run() for (int i=0; i<5; i++) System.out.println(i); sleep((int)(math.random()*1000)); catch (InterruptedException interruptex) System.out.println(interruptEx); Hello! 0 1 Hello! 2 3 Hello! Hello! 4 Hello! 5

6 Yukarıdaki program çıktısına dikkat edilirse threadler farklı sıklıklarla çağrılmıştır. Bunun nedeni sleep methodundaki Math.random()*1000 ifadesidir. Böylece random fanksiyonu ile her bir thread 0 ile 1 saniye arasında değişen farklı sürelerde askıda durmaktadır. Dolayısıyla ThreadHelloCount adlı program her koşuşunda farklı bir çıktı üretecektir. Aşağıda, daha önce anlatılan TCPServer ve TCPClient programlarının multithreading versiyonu verilmiştir. MutiServer.java programı, Thread sınıfını miraslayan ClientHandler sınıfı herbir Client bağlantısında bir thread başlatmaktadır. MultiClient.java programı TCPClient ile hemen hemen aynıdır. MultiServer.java import java.io.*; import java.net.*; import java.util.*; public class MultiServer private static ServerSocket serversocket; private static final int PORT = 1234; public static void main(string[] args) throws IOException serversocket = new ServerSocket(PORT); catch (IOException ioex) System.out.println("\nUnable to set up port!"); do Socket client = serversocket.accept(); System.out.println("\nNew client accepted.\n"); ClientHandler handler = new ClientHandler(client); handler.start(); //As usual, method calls run. while (true); class ClientHandler extends Thread private Socket client; private Scanner input; private PrintWriter output; public ClientHandler(Socket socket) //Set up reference to associated socket... client = socket; input = new Scanner(client.getInputStream()); output = new PrintWriter( client.getoutputstream(),true); ioex.printstacktrace(); 6

7 public void run() String received; do //Accept message from client on the socket's input stream... received = input.nextline(); //Echo message back to client on the socket's output stream... output.println("echo: " + received); while (!received.equals("quit")); //Repeat above until 'QUIT' sent by client... if (client!=null) System.out.println("Closing down connection..."); client.close(); System.out.println("Unable to disconnect!"); MultiClient.java import java.io.*; import java.net.*; import java.util.*; public class MultiClient private static InetAddress host; private static final int PORT = 1234; public static void main(string[] args) //host = InetAddress.getByName("ServerName"); host = InetAddress.getLocalHost(); catch(unknownhostexception uhex) System.out.println("\nHost ID not found!\n"); sendmessages(); 7

8 private static void sendmessages() Socket socket = null; socket = new Socket(host,PORT); Scanner networkinput = new Scanner(socket.getInputStream()); PrintWriter networkoutput = new PrintWriter(socket.getOutputStream(),true); Scanner useren = new Scanner(System.in); String message, response; do System.out.print("Enter message ('QUIT' to exit): "); message = useren.nextline(); networkoutput.println(message); response = networkinput.nextline(); System.out.println("\nSERVER> " + response); while (!message.equals("quit")); ioex.printstacktrace(); finally System.out.println("\nClosing connection..."); socket.close(); System.out.println("Unable to disconnect!"); 6. Synchronized Thread ler Farklı threadlerin ortak kullandıkları kaynaklara eşzamanlı erişimleri yanlış sonuçlar üretmeye neden olabilir. O yüzden ortak kaynaklara erişimi engelleyecek bir mekanizmaya ihtiyaç vardır. Java synchronized anahtar kelimesi ile bunu gerçekleştirir. Örneğin aşağıdaki methodda ortak kullanılan sum adlı değişkenin aynı anda farklı threadler tarafından güncellenmemesi için updatesum adlı method synchronized yapılmıştır. public synchronized void updatesum(int amount) sum+=amount; Synchronized bir methodu koşan thread e o anlık bir iş düşmüyorsa wait methodunu çağırarak synchronized method üzerindeki kilidi kaldırır ve böylece diğer threadlerin de o methodu koşmasına izin verir. Eğer bir thread işini tamamlamışsa ve wait konumundaki başka bir thread in çalışmasını sağlamak istiyorsa notify methodunu kullanır. Wait konumundaki bütün threadlerin çalıştırılması için de notifyall methodu kullanılır. Bu durumda hangi thread e öncelik verileceğine JVM karar verir. 8

9 6.1. Producer-Consumer Problemi Bilindiği gibi producer-consumer probleminde producerın ürettiği consumerın tükettiği ortak kaynak kullanılmaktadır. Burada en önemli problem kaynağa eş zamanlı erişimi engelleyerek tutarlılığı sağlamaktır. Yukarıda da bahsedildiği gibi producer ve consumerın ortak çağırdıkları methodlar synchronized yapılarak tutarlı bir kaynak güncellemesi yapılabilecektir. Producer-consumer uygulaması, kaynak kodlardan Multi Producer-Consumer adlı klasörün içindedir. Producer ve consumerın ortak erişeceği, kaynak (resourse) üretme ve tüketme işini yapan addone ve takeone methodları, Resourse.java programı içindedir. ResourseServer.java programı öncelikle item isimli bir Resourse nesnesi türetir ve bu nesneyi parametre vererek türettiği Producer türünden producer isimli thread nesnesinde addone methodunu sürekli çağırarak kaynak üretmeye başlar. ResourseServer adından da anlaşılabileceği gibi aynı zamanda bir server programıdır. Kaynak üreten server programıdır. Kaynak tüketimi de bu servera bağlanan clientlar tarafından yapılacaktır. Bağlantı kurulduğunda ResourseServer programında handler isimli bir ClientThread threadi başlatılır ve clientlerın isteklerine cevap verilir. Client bilgisayar 1 karakteri yolladıkça kaynakları tutan item nesnesinin takeone methodu çağrılarak kaynak harcanır. 0 karakteri ile de bağlantı sonlandırılır. Kaynak üretimi belli bir MAX (5) değerle sınırlandırılmıştır. Bu değere ulaşıldığında wait methodu çağrılarak clientların kaynağı harcaması beklenir. Ayrıca herhangi bir kaynak üretildiğinde de yine tüketilebilmesi için notifiyall methodu ile clientlara bilgi verilir. 7. Deneye Hazırlık Bölüm 6.1. de anlatılan Producer-Consumer uygulamasında Client bilgisayarda koşacak program Multithreading uygulamasındaki MultiClient.java programına çok benzediği için ayrıca anlatılmamıştır. MultiClient.java programının ismini ConsumerClient.java olarak değiştiriniz ve gerekli değişiklikleri yaparak Producer-Consumer uygulamasının doğru bir şekilde çalışmasını sağlayınız. Yazdığınız programı deneye getiriniz. 8. Deneyin Yapılışı Resource.java programı ekrana addone methodunda üretilen, takeone da da kalan numresources toplam kaynak sayısını yazmaktadır. Bunun yerine Resourse.java programına ( Deneyin Yapılışı adlı klasördeki basit bir Stack uygulamasından da yararlanarak) Stack ekleyip, addone methodu çağrıldığında hangi kaynağın üretildiğini PUSHED ITEM = 55 şeklinde, takeone çağırıldığında da hangi kaynağın tüketildiğini POPED ITEM = 55 şeklinde ekrana yazınız. Burada üretilen kaynak numresources değişkeninden farklı olarak arası random belirlensin. Dolayısıyla stack e itilen ve stack ten çekilen değerler de arası olacaktır. Stack in dolu veya boş olduğu bilgisini de STACK IS FULL/EMPTY şeklinde ekrana yazınız. Resourse.java programının başında java.util.*; adlı package i import etmeyi unutmayınız. ResourseServer.java, ConsumerClient.java ya YOU POPED = 55 şeklinde stackten çekilen değeri yollasın. ConsumerClient.java programından gelen isteklere ( 1 veya 0 ) bağlı olarak ResourseServer.java ve ConsumerClient.java programlarının ekran çıktısı aşağıdakine benzer olmalıdır : 9

10 RESOURSESERVER.JAVA CONSUMERCLIENT.JAVA PUSHED ITEM = 55 Enter message ('0' to exit): 1 New client accepted. SERVER> YOU POPED = 55 POPED ITEM = 55 Enter message ('0' to exit): 1 PUSHED ITEM = 21 SERVER> YOU POPED = 21 POPED ITEM = 21 Enter message ('0' to exit): 1 STACK IS EMPTY SERVER> YOU POPED = 12 PUSHED ITEM = 12 Enter message ('0' to exit): 1 POPED ITEM = 12 SERVER> YOU POPED = 73 STACK IS EMPTY Enter message ('0' to exit): 1 PUSHED ITEM = 73 SERVER> YOU POPED = 6 POPED ITEM = 73 Enter message ('0' to exit): 1 PUSHED ITEM = 51 SERVER> YOU POPED = 51 PUSHED ITEM = 6 Enter message ('0' to exit): 1 POPED ITEM = 6 SERVER> YOU POPED = 47 POPED ITEM = 51 Enter message ('0' to exit): 0 STACK IS EMPTY SERVER> Connection closed... PUSHED ITEM = 47 Closing connection... POPED ITEM = 47 Process completed. PUSHED ITEM = 48 PUSHED ITEM = 18 PUSHED ITEM = 17 PUSHED ITEM = 0 PUSHED ITEM = 70 STACK IS FULL Closing down connection Rapor Raporu programların olduğu klasördeki şablon belgeyi kullanarak yazınız. Rapor grup adına yazılacaktır. Her öğrencinin ayrı ayrı rapor yazmasına gerek yoktur. Raporun son teslim tarihi sonraki hafta deney saatidir. Daha geç verilen raporlar değendirilmeyecektir. 9. Değerlendirme Kriterleri Deney notu aşağıdaki kriterlere göre verilecektir: DENEYE HAZIRLIK DENEYİN YAPILIŞI RAPOR 40 PUAN 40 PUAN 20 PUAN 10

KARADENİZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR AĞLARI LABORATUARI. Soket Programlama

KARADENİZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR AĞLARI LABORATUARI. Soket Programlama KARADENİZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR AĞLARI LABORATUARI Soket Programlama 1. Giriş JAVA dili süreçler arası iletişim için TCP ve UDP olmak üzere iki farklı soket yapısı

Detaylı

Soket, bir sunucu programı ve bir veya birden çok istemci programı arasında çift yönlü iletişim kuran bir yazılım uç noktasıdır.

Soket, bir sunucu programı ve bir veya birden çok istemci programı arasında çift yönlü iletişim kuran bir yazılım uç noktasıdır. Bölüm 24 Java Ağ Uygulamaları 24.1 Java Soket Programlama Soket, bir sunucu programı ve bir veya birden çok istemci programı arasında çift yönlü iletişim kuran bir yazılım uç noktasıdır. Sunucu programı

Detaylı

Görsel Programlama DERS 12. Görsel Programlama - Ders12/

Görsel Programlama DERS 12. Görsel Programlama - Ders12/ Görsel Programlama DERS 12 1 Java Ağ İşlemleri (Java Networking) Birbirleri ile ağ araçları ve kabloları ile bağlantılı bilgisayarlar bir ağ sistemi oluştururlar. İnternet, şirketlerin yerel bilgisayar

Detaylı

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/ Ana Main Kodları /*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/ package javaapplication1; public class JavaApplication1 public static void

Detaylı

WWW.OZTEKHABERLESME.COM

WWW.OZTEKHABERLESME.COM ÖZTEK HABERLEŞME APİ DÖKÜMANI WWW.OZTEKHABERLESME.COM VER:6.1.0 ~ 1 ~ İÇİNDEKİLER BİLMENİZ GEREKENLER... 3 HTTP POST (XML) YÖNTEMİ... 4 TANIMLAR... 4 ÖRNEK XML YAPISI... 4 PHP ÖRNEK KOD... 5 Örnek Sayfayı

Detaylı

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) BBS-515 Nesneye Yönelik Programlama Ders #9 (16 Aralık 2009) Geçen ders: Java Applet lerde bileşen yerleştirme türleri ( applet layouts

Detaylı

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. 1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. [10 puan] int param = 30; int result = 300; if (param > 45) result

Detaylı

Dağıtık Sistemler CS5001

Dağıtık Sistemler CS5001 Dağıtık Sistemler CS5001 Th. Letschert Çeviri: Turgay Akbaş TH Mittelhessen Gießen University of Applied Sciences İstemci-Sunucu Uygulamaları: Aktive Monitörler Pasif monitörden(paylaşılan durum) aktif

Detaylı

Alıştırmalar 2 - Dağıtık Sistemler. Alıştırma 2. Prof. Dr. Th. Letschert Çeviri: Turgay Akbaş FB MNI 16. Mai 2013

Alıştırmalar 2 - Dağıtık Sistemler. Alıştırma 2. Prof. Dr. Th. Letschert Çeviri: Turgay Akbaş FB MNI 16. Mai 2013 1 Prof. Dr. Th. Letschert Çeviri: Turgay Akbaş FB MNI 16. Mai 2013 Alıştırmalar 2 - Dağıtık Sistemler Alıştırma 1 1. Neden dağıtık algoritmalar ardışık algoritmaların aksine her zaman literatürde bir melin

Detaylı

// hataları işaret eden referans

// hataları işaret eden referans System sınıfı java.lang.object java.lang.system public final class System extends Object System sınıfı, java.lang paketi içindedir. Platformdan bağımsız olarak sistem düzeyindeki eylemleri belirleyen dingin

Detaylı

Dağıtık Sistemler CS5001

Dağıtık Sistemler CS5001 Dağıtık Sistemler CS5001 Th. Letschert Çeviri: Turgay Akbaş TH Mittelhessen Gießen University of Applied Sciences Dağıtık Programlar ve Uygulamalar II - - 2 Katman / 3 Adım Yaklaşımı Dağıtık Programlar

Detaylı

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101

Detaylı

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Ders İçeriği An introduction to Object-oriented programming with Java Third Edition Update Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Nesneye Yönelik Öğr.

Detaylı

BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java) 1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,

Detaylı

BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java) 1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,

Detaylı

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat 1. Kısım Çoktan Seçmeli (48 puan) 1) Aşağıdaki JAVA kod parçası çalıştırıldığında

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

Detaylı

Scanner Sınıfı. Class Scanner. java.util. java.lang.object java.util.scanner. Kılgıladığı Arayüzler: Closeable, AutoCloseable, Iterator

Scanner Sınıfı. Class Scanner. java.util. java.lang.object java.util.scanner. Kılgıladığı Arayüzler: Closeable, AutoCloseable, Iterator<String> Sınıfı java.util Class java.lang.object java.util. Kılgıladığı Arayüzler: Closeable, AutoCloseable, Iterator Bildirimi: public final class extends Object implements Iterator, Closeable

Detaylı

JAVA DA GİRİŞ/ÇIKIŞ İŞLEMLERİ. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 9 1

JAVA DA GİRİŞ/ÇIKIŞ İŞLEMLERİ. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 9 1 JAVA DA GİRİŞ/ÇIKIŞ İŞLEMLERİ Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 9 1 G/Ç işlemleriyle uygulamalara neler yaptırabiliriz... Dosya işlemleri Dosyadan okuma Dosyaya yazma Verilerin Aktarılması

Detaylı

ByteArrayOutputStream

ByteArrayOutputStream ByteArrayOutputStream java.io java.lang.object java.io.outputstream java.io.bytearrayoutputstream Kılgıladığı Arayüzler: Closeable, Flushable, AutoCloseable public class ByteArrayOutputStream extends OutputStream

Detaylı

Klavyeden Basit Giriş/Çıkış İşlemleri

Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden veri girilmesi, girilen verilere çeşitli işlemler uygulandıktan sonra ekrana yazdırılması ya da herhangi bir yazıcıdan çıktı alınması gibi işlemlerdir. Javada

Detaylı

Görsel Programlama DERS 11. Görsel Programlama - Ders11/ 1

Görsel Programlama DERS 11. Görsel Programlama - Ders11/ 1 Görsel Programlama DERS 11 Görsel Programlama - Ders11/ 1 ÇOKLU KULLANIM(Multi Threading) Günümüz işletim sistemleri çok görevli(multi tasking) dir. Aynı anda farklı programlar çalışmakta, görevler yerine

Detaylı

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü:

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü: Bölüm 24 Java Ağ Uygulamaları 24.1 Java Appletleri Applet, Web tarayıcısında çalışan bir Java programıdır. Bir applet, Java uygulaması için tamamen fonskiyonel olabilir çünkü bütün Java API ye sahiptir.

Detaylı

ATATÜRK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BIM 205 GÖRSEL PROGRAMLAMA 2014-2015 GÜZ DÖNEMİ ÖDEV-1

ATATÜRK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BIM 205 GÖRSEL PROGRAMLAMA 2014-2015 GÜZ DÖNEMİ ÖDEV-1 ATATÜRK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BIM 205 GÖRSEL PROGRAMLAMA 2014-2015 GÜZ DÖNEMİ ÖDEV-1 (Son Teslim Tarihi: 08.11.2014 17:00 e kadar) Teslim: Arş. Gör. Uğur Güven ADAR. Java da Kullanıcıdan

Detaylı

Sunum İçeriği. Programlamaya Giriş 22.03.2011

Sunum İçeriği. Programlamaya Giriş 22.03.2011 Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon

Detaylı

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58; BTEP212 Java DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI Lab7 bazen bir metodun içinde o metodun ait olduğu sınıftan yaratılacak nesneyi veya o nesnenin bir alt

Detaylı

JAVA API v2.0 Belge sürümü: 2.0.2

JAVA API v2.0 Belge sürümü: 2.0.2 JAVA API v2.0 Belge sürümü: 2.0.2 1. İçindekiler 1. İÇİNDEKİLER... 2 2. BU BELGENİN AMACI... 3 3. BELGE SÜRÜMLERİ... 3 4. SİSTEM GEREKSİNİMLERİ... 3 5. KULLANIM ŞEKLİ... 4 5.1. GENEL... 4 5.2. UYARILAR...

Detaylı

BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java) 1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,

Detaylı

İki Yöntem. Komposizyon (Composition) Kalıtım (Inheritance)

İki Yöntem. Komposizyon (Composition) Kalıtım (Inheritance) İki Yöntem Komposizyon (Composition) Kalıtım (Inheritance) Komposizyon(Composition) class Meyva { } //... class Elma { } private Meyva m = new Meyva(); //... Komposizyon - UML Örnek Motor.java AileArabasi.java

Detaylı

Yığıtın en üstündeki öğeyi değer olarak alır; ama onu yığıttan almaz, yerinde bırakır.

Yığıtın en üstündeki öğeyi değer olarak alır; ama onu yığıttan almaz, yerinde bırakır. Stack Sınıfı (yığıt) java.util Class Stack java.lang.object java.util.abstractcollection java.util.abstractlist java.util.vector java.util.stack Stack (yığıt) sınıfı nesnelerin LIFO (last-input-first-output)

Detaylı

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM 2014) //Class (Sınıf) // Sınıf (class) soyut veri tipidir. // Nesne (object) sınıfın somutlaşan bir cismidir. // static : nesnesi oluşturulmaz.

Detaylı

Java Programlamada Paket Yapısı Ve Import

Java Programlamada Paket Yapısı Ve Import Java programlamada paket yapısı ve import Java Programlamada Paket yapısı ve Java programları paketlerden oluşmaktadır. Paketlerin içinde sınıflar ve arayüzler bulunur. İstenirse var olan paketlerden başka

Detaylı

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1 Paket Erişimleri Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1 Erişim Erişim konusunda iki taraf vardır: Kütüphaneyi kullanan kişiler (client) Kütüphaneyi yazan kişiler Altuğ B. Altıntaş

Detaylı

T.C. KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

T.C. KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ T.C. KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ Mikroişlemci Uygulamaları Ders Projesi Beaglebone Black ile Webcam Streaming ve Servo Kontrolü Melih YILDIRIM 100208006

Detaylı

BIL101 07/11/2012 Lab5 Programlama Sorulari

BIL101 07/11/2012 Lab5 Programlama Sorulari BIL101 07/11/2012 Lab5 Programlama Sorulari 1- Bir kişinin banka hesabı üstünden yapacağı para çekme ve yatırma işlemleri sonucu banka hesap bakiyesini hesaplayacak bir program yazınız. Programiniz asagidaki

Detaylı

İş Parçacıkları (Threads)

İş Parçacıkları (Threads) İş Parçacıkları (Threads) Bir elin nesi var iki elin sesi var -Atasözü- Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 11 1 İŞ PARÇACIKLARI (THREADS) Geçen bölümlerde yapılan uygulama örnekleri

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama JSP Üst Düzey Programlama-ders04/ 1 JSP JSP durağan HTML ile dinamik oluşturulan içeriği birleştirmeyi sağlar. Bir web sayfası tasarlama programı ile web sayfasını tasarlar daha sonra

Detaylı

Ağ Sunucusu Programlaması. Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com

Ağ Sunucusu Programlaması. Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com Ağ Sunucusu Programlaması Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com 1 Genel Sunum Bilgisi ve Lisans Sunum 16 Aralık 2004 günü Erciyes Üniversitesi'nde LKD adına verilmiştir. Sunuma ait

Detaylı

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama İçerik Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili kavramlar Bu hafta:

Detaylı

Dağıtık Sistemler CS5001

Dağıtık Sistemler CS5001 Dağıtık Sistemler CS5001 Th. Letschert Çeviri: Turgay Akbaş TH Mittelhessen Gießen University of Applied Sciences Dağıtık Programlar ve Uygulamalar I - Dağıtık Programlar Dağıtık Algoritmalar ve Dağıtık

Detaylı

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ AD SOYAD: TESLİM TARİHİ: OKUL NO: TESLİM SÜRESİ: 1 hafta ÖDEV NO: 4 1 Kısaca

Detaylı

Ders - 7 while döngüsü

Ders - 7 while döngüsü Ders - 7 while döngüsü import java.util.scanner; public class StringKiyaslama { public static void main(string[] args) { Scanner klavye=new Scanner(System.in); Oncelikle Lab icin bir aciklama System.out.println("1.

Detaylı

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Ders #2 (2 Kasım 2009) İçerikç Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili

Detaylı

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi 5.HAFTA Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi Sınıf Kavramı: Sınıf (class) soyut bir veri tipidir. Nesne (object) onun somutlaşan bir cismidir. Java da sınıf (class) kavramını

Detaylı

PORT HABERLEŞME SERİ PORT FARUK BOZAN

PORT HABERLEŞME SERİ PORT FARUK BOZAN PORT HABERLEŞME SERİ PORT FARUK BOZAN farukbozan@javatiryakileri.com bozanfaruk@gmail.com Merhaba değerli Java dostları. Bu yazımızda port haberleşme konusuna değineceğiz. Yalnız şu noktaya dikkatinizi

Detaylı

public static int Toplam int x, int y

public static int Toplam int x, int y static Kavramı 1 İçinde bulunduğu sınıftan nesne oluşturulmadan veya hiç bir nesneye referans olmadan kullanılabilen üyeler static olarak nitelendirilir. Metotlar ve alanlar static olarak tanımlanabilir.

Detaylı

Arayüz soyut metotların oluşturduğu bir koleksyondur. Bir sınıf arayüzü çalıştırırken arayüzün sahip olduğu soyut metotları da miras alır.

Arayüz soyut metotların oluşturduğu bir koleksyondur. Bir sınıf arayüzü çalıştırırken arayüzün sahip olduğu soyut metotları da miras alır. Bölüm 20 20 Arayüzler Arayüz bir sınıf değildir. Arayüz yazmak sınf yazmaya çok benzer ancak ikisi birbirinden farklı konseptlerdir. Sınıf bir nesnenin özelliklerini ve davranışlarını belirtirken; bir

Detaylı

Java da Program Denetimi ve Operatörler. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1

Java da Program Denetimi ve Operatörler. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1 Java da Program Denetimi ve Operatörler Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1 Atamalar int a ; a=4 ; // doğru bir atama 4=a ; // yanlış bir atama! Altuğ B. Altıntaş 2003 Java ve Yazılım

Detaylı

JAVADA DİZİ İŞLEMLERİ

JAVADA DİZİ İŞLEMLERİ JAVADA DİZİ İŞLEMLERİ Javada diziler nesnedirler, cdeki gibi hafızada yer kaplayan pointer değillerdir. Javada diziler, cye göre daha güvenilirdir. Dizilerin elemanlarına gelişigüzel değerler atayamazsınız.

Detaylı

Java Programlama Giriş

Java Programlama Giriş Java Programlama Giriş 2013-2014 Bahar Dönemi Mehmet Akif Ersoy Üniversitesi Teknik Bilimler Meslek Yüksekokulu Burdur 2014 Muhammer İLKUÇAR 1 Neden Java Programlama Platformdan bağımsızdır

Detaylı

Java Programlamaya Giriş

Java Programlamaya Giriş Java Programlamaya Giriş Amaçlar: 1. Java kurulumu (Netbeans ve JDK) 2. Java Netbeans Kullanımı 3. Program yazma Java Kurulumu Java dili ile programlama yapabilmek için java jdk ve java kodlama yapılabilecek

Detaylı

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals The European Union s Making the Labour Market more Inclusive III programme For North Cyprus Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals Module

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 8. Yrd.Doç.Dr.Hacer Karacan

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 8. Yrd.Doç.Dr.Hacer Karacan NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 8 Yrd.Doç.Dr.Hacer Karacan İçerik İstisna Yönetimi (Exception Handling) İstisna Nedir? İstisna Yakalama Mekanizması İstisna İşleme Modeli İstisnaların Listesi İstisna

Detaylı

Class LinkedHashMap. Class LinkedHashMap java.lang.object java.util.abstractmap java.util.hashmap java.util.linkedhashmap. Kılgıladığı arayüzler:

Class LinkedHashMap. Class LinkedHashMap java.lang.object java.util.abstractmap java.util.hashmap java.util.linkedhashmap. Kılgıladığı arayüzler: Class LinkedHashMap java.util Class LinkedHashMap java.lang.object java.util.abstractmap java.util.hashmap java.util.linkedhashmap Kılgıladığı arayüzler: Cloneable, Map, Serializable Bildirimi: public

Detaylı

İşletim Sistemleri. Dr. Binnur Kurt binnur.kurt@gmail.com. Omega Eğitim ve Danışmanlık http://www.omegaegitim.com. İşletim Sistemleri

İşletim Sistemleri. Dr. Binnur Kurt binnur.kurt@gmail.com. Omega Eğitim ve Danışmanlık http://www.omegaegitim.com. İşletim Sistemleri İşletim Sistemleri Dr. Binnur Kurt binnur.kurt@gmail.com Omega Eğitim ve Danışmanlık http://www.omegaegitim.com 1 S a y f a İÇİNDEKİLER 1. İşletim Sistemi 2. Kabuk 3. Prosesler 4. İplikler 5. 6. Prosesler

Detaylı

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI ITS-101A INTERNET EĞİTİM SİSTEMİ TCP/IP THE DOMAIN NAME SYSTEM (ALAN ADI SİSTEMİ) İstanbul Ticaret Üniversitesi Bilgisayar Mühendisliği Bölümü Araş. Gör. Can EYÜPOĞLU

Detaylı

Đlgili konular: Collection, Set, HashSet, Comparable, Comparator, TreeMap, Collections.synchronizedSortedSet(SortedSet), Serialized Form

Đlgili konular: Collection, Set, HashSet, Comparable, Comparator, TreeMap, Collections.synchronizedSortedSet(SortedSet), Serialized Form Class TreeSet java.util Class TreeSet java.lang.object java.util.abstractcollection java.util.abstractset java.util.treeset Kılgıladığı arayüzler: Cloneable, Collection, Serializable, Set, SortedSet Bildirimi:

Detaylı

Erişim konusunda iki taraf vardır:

Erişim konusunda iki taraf vardır: Erişim Erişim konusunda iki taraf vardır: Kütüphaneyi kullanan kişiler (client) Kütüphaneyi yazan kişiler Paket (package) Paketler kütüphaneyi oluşturan elemanlardır. PaketKullanim.java Varsayılan Paket

Detaylı

İST 264 VERİ YAPILARI Bitirme Sınavı A Grubu

İST 264 VERİ YAPILARI Bitirme Sınavı A Grubu İST 264 VERİ YAPILARI Bitirme Sınavı A Grubu SORU 1 Dünyanın en uzun beş nehrini öğeleri olarak kabul eden bir yığıt (stack) yaratınız. Yığıtın üçüncü öğesini bulunuz. Yığıtın üstündeki öğeyi bulunuz ve

Detaylı

Java: printf() Metodu İle Çıktıyı Biçemleme

Java: printf() Metodu İle Çıktıyı Biçemleme 1 Java: printf() Metodu İle Çıktıyı Biçemleme PrintStream ve PrintWriter sınıflarının yapısı: java.io Class PrintStream java.lang.object java.io.outputstream java.io.filteroutputstream java.io.printstream

Detaylı

BM 402 Bilgisayar Ağları (Computer Networks)

BM 402 Bilgisayar Ağları (Computer Networks) BM 402 Bilgisayar Ağları (Computer Networks) M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, ders kitabının yazarları James F. Kurose ve Keith W. Ross tarafından

Detaylı

Yazılım Kodlama ve İ simlendirme Standartları v1.0

Yazılım Kodlama ve İ simlendirme Standartları v1.0 Yazılım Kodlama ve İ simlendirme Standartları v1.0 İçerik Yazılım Kodlama ve İsimlendirme Standartları... 2 1. Amaç... Hata! Yer işareti tanımlanmamış. 2. Kapsam... Hata! Yer işareti tanımlanmamış. 3.

Detaylı

Android ile SQLLite Veri Tabanı

Android ile SQLLite Veri Tabanı Android ile SQLLite Veri Tabanı Android de verileri SQLLite veritabanında tutmak için: Adım-1) File-New Project buradan projeye bir isim verelim ( örneğin: AndroidSQLite), Next ile bir sonraki adımda API

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Servlet Üst Düzey Programlama-ders01/ 1 Servlet Nedir? Web sayfaları ilk başlarda durağan bir yapıya sahipti ve kullanıcıdan bilgi alarak işlemler yapmıyordu. Zamanın geçmesiyle kullanıcıya

Detaylı

Kurumsal Güvenlik ve Web Filtreleme

Kurumsal Güvenlik ve Web Filtreleme S a y f a 1 antikor Kurumsal Güvenlik ve Web Filtreleme SshClient, Putty v.s. S a y f a 2 S a y f a 3 Yönetici olarak AntiKor a girmek için SshClient veya Putty programı kullanılır. IP olarak kurum içinden

Detaylı

«BM364» Veritabanı Uygulamaları

«BM364» Veritabanı Uygulamaları HAFTA 8 DB içerisinde CLR Bileşenleri" Yaşar GÖZÜDELİ ygozudeli@verivizyon.com http://blog.verivizyon.com/ygozudeli «BM364» Veritabanı Uygulamaları Konu Akışı SQL Server ve.net CLR SQL Server içerisinde

Detaylı

BİL BİLGİSAYAR PROGRAMLAMA (JAVA)

BİL BİLGİSAYAR PROGRAMLAMA (JAVA) BİL 141 - BİLGİSAYAR PROGRAMLAMA (JAVA) KURULUM DÖKÜMANI Ders kapsamında lab saatlerinde veya lab saatleri dışında Java kodları yazabilmek ve çalıştırabilmek için bilgisayarınıza bazı yazılımların kurulması

Detaylı

Kurumsal Güvenlik ve Web Filtreleme

Kurumsal Güvenlik ve Web Filtreleme S a y f a 1 antikor Kurumsal Güvenlik ve Web Filtreleme SshClient, Putty v.s. S a y f a 2 S a y f a 3 S a y f a 4 S a y f a 5 S a y f a 6 S a y f a 7 şeklini alır. Bu durumda kullanıcı yasaklı konumdadır.

Detaylı

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir: Programın Akışının Denetimi Bir program komutların yazıldığı sırada akar. Ama çoğunlukla, bu akışı yönlendirmek gerekir. Bu iş için denetim yapılarını kullanırız. Bunlar iki gruba ayrılabilir: Yönlendiriciler

Detaylı

BM 402 Bilgisayar Ağları (Computer Networks)

BM 402 Bilgisayar Ağları (Computer Networks) BM 402 Bilgisayar Ağları (Computer Networks) M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, ders kitabının yazarları James F. Kurose ve Keith W. Ross tarafından

Detaylı

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI BİR BOYUTLU DİZİLER Amaçlar: 1. 1 BOYUTLU DİZİLERİ TANIMLAMAK 2. 1 BOYUTLU DİZİ UYGULAMALARI YAPMAK Örnek 5-1 Aşağıdaki program öğrenci notlarını bularak en iyi notu hesaplar. Harf notu şu şekilde hesaplanır:

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

Intercepting Filter Tasarım Şablonu KurumsalJava.com

Intercepting Filter Tasarım Şablonu KurumsalJava.com Intercepting Filter Tasarım Şablonu KurumsalJava.com Özcan Acar Bilgisayar Mühendisi http://www.ozcanacar.com Front Controller 1 tasarım şablonunda, kullanıcıdan gelen isteklerin (request) merkezi bir

Detaylı

MCR02-AE Ethernet Temassız Kart Okuyucu

MCR02-AE Ethernet Temassız Kart Okuyucu MCR02-AE Ethernet Temassız Kart Okuyucu Teknik Özellikleri Ethernet 10BaseT Dahili TCP/IP Stack TCP/IP Client-Server Bağlantı Özelliği Dahili DNS İstemcisi DHCP veya Statik IP ile çalışabilme UDP, TCP,ARP,ICMP(ping)

Detaylı

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals The European Union s Making the Labour Market more Inclusive III programme For North Cyprus Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals Module

Detaylı

Karşılaştırma İşlemleri ve Koşullu İfadeler

Karşılaştırma İşlemleri ve Koşullu İfadeler Karşılaştırma İşlemleri ve Koşullu İfadeler BİL131 - Bilişim Teknolojileri ve Programlama Hakan Ezgi Kızılöz Karşılaştırma İşlemleri Java'da sayısal veri tiplerinin karşılaştırılması için aşağıdaki karşılaştırma

Detaylı

Chain of Responsibility Tasarım Şablonu KurumsalJava.com

Chain of Responsibility Tasarım Şablonu KurumsalJava.com Chain of Responsibility Tasarım Şablonu KurumsalJava.com Özcan Acar Bilgisayar Mühendisi http://www.ozcanacar.com Chain of responsibility sorumluluk zinciri anlamına gelmektedir. Sisteme gönderilen bir

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 3 Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Sınıflar ve Fonksiyonlar Tekrar kullanılabilir kodlar 1 Nesne Tabanlı Tasarım

Detaylı

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1 Görsel Programlama DERS 02 Görsel Programlama - Ders02/ 1 Kodun Tekrar Kullanımı ve Kalıtım(Inheritance) Nesneye yönelik programlamanın diğer programlama paradigmalarına karşı bir avantajı kodun yeniden

Detaylı

BufferedReader. Kılgıladığı Arayüzler: Closeable, AutoCloseable, Readable. Altsınıfları: LineNumberReader. Bildirimi: public class BufferedReader

BufferedReader. Kılgıladığı Arayüzler: Closeable, AutoCloseable, Readable. Altsınıfları: LineNumberReader. Bildirimi: public class BufferedReader BufferedReader java.io java.lang.object java.io.reader java.io.bufferedreader Kılgıladığı Arayüzler: Closeable, AutoCloseable, Readable Altsınıfları: LineNumberReader Bildirimi: public class BufferedReader

Detaylı

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü İşletim Sistemleri Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Bu dersin sunumları, Abraham Silberschatz, Greg Gagne, Peter B. Galvin, Operating System Concepts 9/e, Wiley,

Detaylı

Ağ programlama (Network programming) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 13 1

Ağ programlama (Network programming) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 13 1 Ağ programlama (Network programming) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 13 1 Giriş Ağ programlama, uygulamaların ağ ortamı üzerinden iletişimde bulunarak veri alış-verişi yapılmasına

Detaylı

KUYRUKLAR QUEUES. Doç. Dr. Aybars UĞUR

KUYRUKLAR QUEUES. Doç. Dr. Aybars UĞUR KUYRUKLAR QUEUES Doç. Dr. Aybars UĞUR Giriş Bu bölümde gerçek yaşamdaki kuyrukların bilgisayardaki gösterimleri üzerinde durulacaktır. Kuyruklar, eleman eklemelerin sondan (rear) ve eleman çıkarmaların

Detaylı

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ Nesneye Yönelik Programlama C++ ile Beaglebone Black de Bluetooth Haberleşmesi Danışman: Yrd. Doç. Dr. Mehmet YAKUT Sinan

Detaylı

YIĞIT STACK. Yrd. Doç. Dr. Aybars UĞUR

YIĞIT STACK. Yrd. Doç. Dr. Aybars UĞUR YIĞIT STACK Yrd. Doç. Dr. Aybars UĞUR Giriş Eleman ekleme çıkarmaların en üstten (top) yapıldığı veri yapısına yığıt (stack) adı verilir. Bir eleman ekleneceğinde yığıtın en üstüne konulur. Bir eleman

Detaylı

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals The European Union s Making the Labour Market more Inclusive III programme For North Cyprus Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals Module

Detaylı

TARİHÇE. Versiyon Tarih Düzenleyen Açıklama 0.1 04.11.2015 Engin DURMAZ İlk versiyon

TARİHÇE. Versiyon Tarih Düzenleyen Açıklama 0.1 04.11.2015 Engin DURMAZ İlk versiyon İçindekiler 1 GİRİŞ... 2 2 KOD ÖRNEKLERİ... 3 2.1 AÇILIŞTA YAPILMASI GEREKENLER... 3 2.2 ÖKC-HARİCİ CİHAZ EŞLEŞMESİ... 3 2.3 MALİ REFERANS İSTEĞİ... 4 2.4 PROGRAMLAMA BİLGİLERİNİN GÖNDERİLMESİ... 5 2.5

Detaylı

PAKET TRANSFER SİSTEMİ

PAKET TRANSFER SİSTEMİ İLAÇ TAKİP SİSTEMİ ŞUBE MÜDÜRLÜĞÜ PAKET TRANSFER SİSTEMİ Kullanıcı Dökümanı Version 1.2 1 1. Revizyonlar... 1 2. Giriş... 1 2.1 Kapsam... 1 2.2 Hedef Kitle... 1 3. Gereksinimler... 1 3.1 Yazılım Gereksinimleri...

Detaylı

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ AD SOYAD: TESLİM TARİHİ: OKUL NO: TESLİM SÜRESİ: 1 hafta Ödev No: 2 1- A)

Detaylı

PAKET TRANSFER SİSTEMİ

PAKET TRANSFER SİSTEMİ İLAÇ TAKİP SİSTEMİ ŞUBE MÜDÜRLÜĞÜ PAKET TRANSFER SİSTEMİ Kullanıcı Dökümanı Version 1.0 1 1. Revizyonlar... 1 2. Giriş... 1 2.1 Kapsam... 1 2.2 Hedef Kitle... 1 3. Gereksinimler... 1 3.1 Yazılım Gereksinimleri...

Detaylı

PAKET ERİŞİMLERİ SINIFLARIN YENİDEN KULLANIMI. BMU-112 Algoritma ve Programlama-II Yrd. Doç.Dr. İlhan AYDIN

PAKET ERİŞİMLERİ SINIFLARIN YENİDEN KULLANIMI. BMU-112 Algoritma ve Programlama-II Yrd. Doç.Dr. İlhan AYDIN PAKET ERİŞİMLERİ SINIFLARIN YENİDEN KULLANIMI BMU-112 Algoritma ve Programlama-II Yrd. Doç.Dr. İlhan AYDIN PAKET (PACKAGE) Paketler kütüphaneleri oluşturan elemanlardır. import java.io.bufferedreader;

Detaylı

Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümü. BLGM 318 Ara Sınavı 2012 2013 Đlkbahar Dönemi 13 Nisan 2013. Ad, Soyad Öğrenci No.

Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümü. BLGM 318 Ara Sınavı 2012 2013 Đlkbahar Dönemi 13 Nisan 2013. Ad, Soyad Öğrenci No. Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümü BLGM 318 Ara Sınavı 2012 2013 Đlkbahar Dönemi 13 Nisan 2013 Ad, Soyad Öğrenci No. : : Öğretim Üyesi: Doç. Dr. Zeki BAYRAM Süre: 100 dakika Talimatlar:

Detaylı

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı Öğr. Gör. Cansu AYVAZ GÜVEN NESNE TABANLI PROGRAMLAMA Java Değişkenler ve Veri Tipleri Operatörler JAVA Java Java SUN bilgisayar şirketince

Detaylı

C# Çalışma Örnekleri

C# Çalışma Örnekleri C# Çalışma Örnekleri namespace sabittanimlama class program static void main (String [] agrs ) const String s="merhaba "; Console.WriteLine(s); Console.readLine ; merhaba namespace calisma class program

Detaylı

PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ

PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ Değişkenler PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ C# Programlama Dili Giriş Değişkenler bir programlama dilinde verilerin depolanma alanlarını temsil eder. Tanımlanan her değişkene bellek bölgesinden bir alan

Detaylı

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. ASP.NET DERS 1 Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. Gelen ekranda Visual C# seçildikten

Detaylı

9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr

9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr 9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II Öğr.Gör. Hakan YILMAZ hakanyilmaz@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 İçindekiler Request Nesnesinin Özellikleri

Detaylı

Multicore/Multithread Programlama

Multicore/Multithread Programlama Multicore/Multithread Programlama Onur Tolga Şehitoğlu Bilgisayar Mühendisliği 7 Şubat 2008 Başlıklar 1 Gereksinimi Dal ile Süreç Çok İşlemci ve Dal Modelleri Neden Çoklu Dal Programlama? 2 Çok İşlemci/Çok

Detaylı

Balon & Banka Teslim tarihi: 17 Kasım 2008

Balon & Banka Teslim tarihi: 17 Kasım 2008 Balon & Banka Ege Üniversitesi Bilgisayar Mühendisliği Veri Yapıları Proje-2 Hüseyin YAŞAR 05-06-7657 Didem KAYALI 05-06-7669 Umut BENZER 05-06-7670 http://www.ubenzer.com/ Özlem GÜRSES 05-07-8496 Teslim

Detaylı

Burak Kıymaz 13.10.2015 JAVA FX

Burak Kıymaz 13.10.2015 JAVA FX JavaFx neden çıktı? JAVA FX Eskiden desktop için swing kullanılırdı fakat pek iyi değildi. Javafx bu konuda css kullanmaya da izin verdiği için daha iyi bulundu. xml veriyi biçimlendirmek için kullanılan

Detaylı