java.io Paketi Bölüm Java'da Giri³/Çk³ ³lemleri (I/O) Ksa Tarihçe

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

Download "java.io Paketi Bölüm 1 1.1 Java'da Giri³/Çk³ ³lemleri (I/O) Ksa Tarihçe"

Transkript

1 çindekiler 1 java.io Paketi Java'da Giri³/Çk³ ³lemleri (I/O) Ksa Tarihçe System Snf java.io Paketi Giri³/Çk³ Akmlar Byte akmlar (byte streams) InputStream Snf OutputStream Snf OutputStream Snfnn Tanm OutputStream Snfnn Metotlar Al³trmalar Al³trmalar i

2 ii ÇINDEKILER ii

3 Bölüm 1 java.io Paketi 1.1 Java'da Giri³/Çk³ ³lemleri (I/O) Ksa Tarihçe Java'da giri³/çk³ (I/O input/output) i³lemleri, java dilinin geli³im sürecine paralellik gösterir. Geli³im sürecini daha iyi kavrayabilmek için, Java'nn sürümlerinin ortaya çk³ tarihlerine göz atmak yetecektir: Oak (1991) Java 1.0 (1995) JDK (Java Development Kit) 1.0 (23 Ocak 1996) J2SE 1.2 (8 Aralk 1998) J2SE 1.3 (8 Mays 2000) J2SE 1.4 (6 ubat 2002) J2SE 5.0 (30 Eylül 2004) Java SE 6 (11 Aralk 2006) Java SE 7 (28 Temmuz 2008) 1

4 2 1. java.io paketi J2SE 1.2 ile J2SE 5.0 sürümleri arasndaki sürümlere Java 2 ortak ad verilir. Ama bu sürümler arasnda önemli yetenek farklar oldu unu belirtmeliyiz. Veri akmlar (data streams) eylemi JDK 1.0 sürümüyle geldi. Gereksemeler do dukça Java Beans, JFC, RMI, jdbc gibi API'ler veri akmlarn gölgeleyen uygulamalar geli³tirdiler. Ama, giri³/çk³ akmlar JDK API'nin omurgas olmay sürdürdü. JDK 1.1 sürümüne kadar veri akmlar yalnzca byte akmlarndan ibaret kald. Ba³ka bir deyi³le veriler 8-bitlik diziler halinde akyordu. Gelen veri için InputStream snf, giden veri için OutputStream snf yeterli oluyordu. 16-bitlik Unicode karekterleri için akm, JDK 1.1 sürümünde ele alnd ve java.io.reader ile java.io.writer snar yazld. J2SE sürümü, giri³/çk³ i³lemlerinde büyük de i³iklik getiren java.nio paketini ortaya koydu. Aslnda bu paket java.io (new io) paketi üzerine kuruludur ve onun yeteneklerini artrr. Java 7 sürümüyle gelen NIO.2 paketi sözkonusu yetenekleri daha da artrd. imdiye dek giri³/çk³ (I/O) i³lemleriyle ilgili örnek programlar yazmadk. Yalnzca, ekran çktlar için System.out.print(), System.out.println() ve System.out.printf() metotlarn içeren basit deyimlerle yetindik. Bunun apaçk bir nedeni vardr. Java programlarnn ço u konsol ile basit text giri- ³/çk³ yapmann ötesindedir. Java'da, ço unlukla, giri³/çk³ i³lemleri için görsel esteti e sahip applet'ler ve ba³ka grak arayüzler kullanr. Bunlar, Java'nn Abstract Windowing Toolkit (awt) ve onun üzerine kurulan javax.swing paketine dayanr. Elbette, konsoldan text tabanl giri³/çk³ i³lemleri, di er dillerde oldu u gibi, Java ö retimi için de önem ta³r. Ama, konsoldan text tabanl giri³/çk³ i³lemleri Java'da snar, nesneleri ve metotlar bilmeyi gerektiriyor. O nedenle, giri³/çk³ i³lemleri bilinçli olarak geriye braklm³tr. Böyle yaplm³ olmasnn, java dilini ö renmeyi geciktirdi i söylenemez. Aksine, bu a³amada, ö renci giri³/çk³ eylemlerini daha iyi kavrayacaktr. Konsoldan giri³ yaplamamas konusundaki ele³tirilere yant olarak, J2SE 5.0 sürümü java.util.scanner snfn ortaya koydu. Bu snf, konsoldan kolay veri giri³ini yapan metotlara sahiptir. Bu snf kullanlarak, java'ya yeni ba³layanlar ilk derslerde konsoldan veri giri³i yapabilirler. Ancak, arka planda olup biteni kavrayabilmesi için, ö rencinin snf ve nesne kavramlarn biliyor olmas gerekir. Aksi halde, Scanner snfnn kullanlmas mekanik bir i³lem olur. 2

5 1.2. System Snf 3 Baz kaynaklar Java'da giri³/çk³ i³lemlerini gere inden çok karma- ³k bulur. Hattâ, giri³/çk³ i³lemlerini kolayla³tran arayüzlerin yazld da görülür. Oysa, ba³langçta ö renciye karma³k görünen Java'nn giri³/çk³ i³lemleri, ona a³ina olanlara esneklik ve kolaylk sa lar. Java Dili'nde ise giri³/çk³ i³lemleri fortran, cobol, basic, pascal, C gibi prosedural dillerden oldukça farkldr. Bunun apaçk bir nedeni vardr. Prosedural diller, hangi donanm üzerinde ve hangi i³letim sistemi altnda çal³acaksa, ona uyan giri- ³/çk³ yordamlarn tanmlayabilirler. Ancak, birisinde tanml olan yordam ba³kasnda çal³maz. Oysa, Java platformdan ba mszdr. Donanm ve i³letim sistemine ba l olmakszn, a üzerindeki her bilgisayardan veri alabilir ve her bilgisayara veri gönderebilir. Bunu yapabilmesi için, giri³/çk³ yöntemlerinin amaca uygun çe³itlilik göstermesi do aldr. imdiye kadar kullanageldi imiz System snf ile yaplan basit çk³ i³lemlerini anmsaynz. Bunun dayanaklarn giri³, çk³ ve hata i³lemleriyle birlikte geni³ kapsaml olarak ele alaca z. 1.2 System Snf java.lang.object java.lang.system public final class System extends Object Standart giri³/çk³ i³lemlerini yapan snftr. nal nitelemli oldu u için bir nesnesi yaratlamaz. Sistem ile ilgili i³leri yapan 30 dan çok metodu vardr. Örne in, bu metotlar çevre de i³kenlerine eri³im sa lar, dosyalar ve kütüphaneleri yükler, array kopyalayabilir, zaman bildirir, JVM'i sonlandrr, çöp toplaycy çal³trr, v.b. System snfnn giri³, çk³ ve hata yakalama eylemlerinde kullanlan üç önemli de i³keni (eld) vardr: giri³ (in), çk³ (out) ve hata (err) de i³kenleridir. Bunlarn tamnlar ³öyledir: static PrintStream err static InputStream in static PrintStream out Çk³ yoluna "standard" hatalar yollar "standard" giri³ yoludur "standard" çk³ yoludur Tablo 1.1: System Snfnn Nitelemleri 3

6 4 1. java.io paketi 1.3 java.io Paketi Java'da veri akmn sa layan ilk pakete java.io denilir. Bu pakette yer alan snar, platformdan ba msz olarak, bir ortamdan ba³ka bir ortama veri akmn sa layacak yeteneklere sahiptirler. Java 7 API 'de bunlar 1 http : // download. o r a c l e. com/ javase /7/ docs / api / java / i o /package summary. html web adresinden görülebilir. java.io paketi giri³/çk³ birimleri, dosya sistemleri, a, bellek-alan gibi farkl ortamlarn birinden ötekine veri akmn sa layan ve serile³tirme i³lemlerini yapan arayüzler, snar, metotlar ve hata yakalayclardan olu- ³an büyük bir pakettir. Bu pakette 16 arayüz, 50 snf ve 16 hata yakalayc (exceptions) vardr. Bu pakette yer alan snar ve onlarn içerdi i metotlar kullanlarak her kaynaktan her hedefe veri akmlar yaplabilir. Bu akmlar makina düzeyine yakn oldu u için yetenekleri çoktur, ama hzlar göreli olarak yava³tr. Daha hzl giri³/çk³ i³lemleri için, J2SE 1.4 sürümüyle gelen java.nio (new io) paketi kullanlabilir. Bu bölümde java.io'yu, sonraki bölümde ise java.nio paketini ele alaca z. Java'da byte ve character akmlarn yapan snar ve metotlar, en tepede tanml dört tane soyut snftan elde edilir: 1. InputStream 2. OutputStream 3. Reader 4. Writer Uyar 1. Bu dört soyut snftan elde edilen veri akm (stream) says 60'dan çoktur. Bu kadar çok sayda veri yolunun olmas baz programclara göre ö renme sürecini uzatr ve zorla³trr. Baz programclara göre ise, farkl giri³/çk³ türleri için farkl akmlarn (stream) olmas, programn her donanmda her i³letim sistemi altnda hatasz çal³masn sa lar ve dolaysyla programclar için bir avantaj saylr. Character akmlar için kullanlan teknikler, büyük ölçüde byte akmlar için kullanlan tekniklere benzer. Byte akmn yapan snf adlar ile character akmn yapan snf adlar, ço unlukla son taklaryla birbirlerinden ayrlrlar. Böyle olu³u, ö renmeyi kolayla³tracaktr. 4

7 1.4. Giri³/Çk³ Akmlar Giri³/Çk³ Akmlar (Input/Output Streams) Java'da veri giri³/çk³ i³lemlerini, bir yerden ba³ka bir yere (byte dizileri halinde) akan veriler olarak dü³ünebiliriz. Böyle olunca, basit veri giri- ³/çk³ (I/O) i³lemlerini a³an çok kapsaml bir olgu kar³mza çkar. Veriler, bir kanaldan akan su gibi bir yerden ba³ka bir yere aktlr. Bu ak³, basitçe, ayn makinada bir bellek alanndan ba³ka bir bellek alanna olabilece i gibi uzaktaki iki makinann birinden ötekine de olabilir. Verinin kalk³ ya da var³ yerleri bir bellek alan, bir dosya, a üzerinde bir bilgisayarn kayt ortam gibi veri tutabilen bir yerdir. Tabii, bunlara klâvye, ekran, ses birimleri ve benzerleri gibi çevre birimlerini de eklemek gerekir. Verinin geldi i ve gitti i ziksel ortamlar birbirlerinden tamamen farkl olsalar bile, Java'da giri³/çk³ akmlar birbirine benzer. Dolaysyla, Java'nn I/O snar her türlü veriye ve donanma uygulanabilecek esnekli e ve kolay kullanlma özeli ine sahiptirler. Her ³eyden önce, Java'da veri akmlarnn iki ana gruba ayrld n söylemeliyiz: 1. Byte akmlar (byte streams) 2. Character akmlar (character streams) Byte akmlar binary verilerin giri³/çk³n yaparlar. Karekter tipinden olmayan resim, grak, ses ve benzer verileri ta³yan bütün veri akmlar byte akmlar'dr. Karekter akmlar, adndan da anla³laca üzere, char tipinden verilerin giri³/çk³n yapar. Unicode kulland için, farkl ülkelerin alfabelerine uyum sa lar. Bazan, programc için, karekter akmlar byte akmlarndan daha kolay uygulanr. Ama, bütün akmlarn esasta byte akmlar oldu unu, karakter akmnn onun üzerine kuruldu unu bilmeliyiz. Önceden belirtildi i üzere, (Java 1.0) sürümünde karekter akm yoktu. Bütün giri³/çk³ i³lemleri byte akmlar olarak düzenlenmi³ti. JDK 1.1, bu eksikli i görmü³ ve karakter akmlarn sisteme katm³tr. 1.5 Byte akmlar (byte streams) Java'da byte giri³/çk³ i³lemleri java.io paketi içindeki InputStream ve OutputStream snar ve bunlarn altsnar tarafndan yaplr. Byte akm ya- 5

8 6 1. java.io paketi InputStream BufferedInputStream ByteArrayInputStream DataInputStream FilterInputStream PrintStream PushbackInputStream RandomAccessFile FileInputStream PipedInputStream SequenceInputStream OutputStream BufferedOutputStream ByteArrayOutputStream DataOutputStream FileOutputStream FilterOutputStream PipedOutputStream Tablo 1.2: Byte Akmlar pan altsnardan bazlar Tablo 1.2'de listelenmi³tir. Java 7 'nin API'sinde bunlarn hiyerar³ik yaps a³a da gösterilmi³tir. java. lang. Object java. i o. InputStream 4 java. lang. Object java. i o. OutputStream Giri³/çk³ snarndan birisini kullanmak için java.io paketinin d- ³alm (import) gereklidir. InputStream ve OutputStream snarnn önemli metotlar vardr. Bu metotlar öteki akm snar ça rabilir. Bunlar arasnda çok kullanlan iki tanesi read() ve write() metotlardr. Bunlar verileri byte olarak okur ve yazarlar. Her iki metot soyuttur (abstract). Dolaysyla, ça ran snara ait nesnelerde override edilirler. Önce InputStream snfn ele alaca z. 1.6 InputStream Snf InputStream Snfnn Klglad Arayüzler Closeable, AutoCloseable InputStream Snfnn Altsnar Tablo 1.3, InputStream snfnn altsnarn göstermektedir. Bu altsnar, soyut InputStream snfnn soyut metotlarn kendi amaçlar için tanmlarlar (polimorzm). Örne in, FileInputStream altsnfnn read() metodu giri³ yolundan bir seferde bir byte okur. Ama read(byte[] b) metodu bir seferde bir byte dizisi okur. 6

9 1.7. OutputStream Snf 7 AudioInputStream ByteArrayInputStream FileInputStream FilterInputStream InputStream ObjectInputStream PipedInputStream SequenceInputStream StringBuerInputStream Tablo 1.3: InputStream Snfnn Altsnar InputStream Snfnn Metotlar int available() void close() void mark(int readlimit) boolean marksupported() abstract int read() int read(byte[] b) int read(byte[] b, int o, int n) void reset() long skip(long n) Okunabilecek byte saysn bildirir. Giri³ yolunu kapatr ve yolu, ba l oldu u kaynaktan ayrr. Giri³ yolunda hangi konumda olundu unu bildirir. Giri³ yolunun i³aretleri ve reset metodunu destekleyip desteklemedi ini test eder. Veri yolunda sonraki byte' okur. Giri³ yolundan okudu u byte'lar buerda b arrayine koyar. Giri³ yolundan n tane byte okur ve b arrayine koyar. mark metodunu önceki ça rdaki konumuna gönderir. Giri³ yolunda n tane byte atlar (okumaz). Tablo 1.4: InputStream Snfnn Metotlar InputStream Snfnn Bildirimi java. lang. Object extended by java. i o. InputStream Tablo 1.4'den görüldü ü gibi, InputStream snfnn soyut abstract int read ( ) metodu kaynaktan bir byte okur; okudu u byte o anda metodun verdi i de erdir. E er kaynakta okunacak byte kalmam³sa -1 de erini verir. Gene listeden görüldü ü gibi, InputStream snfnn soyut olmayan read() metotlar da vardr. Bunlar birden çok byte' bir seferde okuyan (ya da istenirse okumadan atlayan) metotlardr. Farkl i³levleri olan read() metotlar farkl parametreleriyle birbirlerinden ayrt edilirler (override). 1.7 OutputStream Snf 7

10 8 1. java.io paketi java. lang. Object java. i o. OutputStream OutputStream Snfnn Klglad Arayüzler Closeable, Flushable, AutoCloseable OutputStream Snfnn Altsnar Tablo 1.5 OutputStream snfnn altsnarn göstermektedir. ByteArrayOutputStream FileOutputStream FilterOutputStream ObjectOutputStream OutputStream PipedOutput Stream Tablo 1.5: InputStream Snfnn Altsnar OutputStream snf, InputStream snfnn kar³l dr. Bütün çk³ akm snarnn üstsnfdr. Çk³ birimine akm yazmak için gerekli yeteneklere sahip de i³kenleri, metotlar ve altsnar içerir. 1.8 OutputStream Snfnn Tanm Program { public abstract class java. i o. OutputStream extends java. lang. Object // öntanml ( d e f a u l t ) kurucu public OutputStream ( ) ; FilterOutputStream Snfnn Altsnar Tablo 1.6 FilterOutputStream snfnn altsnarn gösteriyor. 1.9 OutputStream Snfnn Metotlar void close() Açk çk³ akmn kapatr ve onun kulland sistem kaynaklarn serbest brakr. 8

11 1.9. OutputStream Snfnn Metotlar 9 BueredOutputStream CipherOutputStream DeaterOutputStream InaterOutputStream CheckedOutputStream DataOutputStream DigestOutputStream PrintStream Tablo 1.6: FilterOutputSream Snfnn Altsnar void ush() Çk³ yolunda ya da buer'da olan bütün verileri hedefe gönderir. void write(byte[ b)] b.length uzunluktaki byte array'i hedefe gönderir. void write(byte[ b, int m, int n)] m-inci byte'den ba³layarak n tane byte' hedefe gönderir. abstract void write(int b) b byte'n hedefe gönderir. OutputStream snfn kullanma teknikleri ile InputStream snfn kullanma teknikleri birbirlerine benzer. Byte Kopyala Program?? Melih Cevdet Anday'n Defne Orman adl ³iirinin bir ktasn kopyalyor. iirin ilk ktasn "defne.txt" adyla, ByteKopyala.class bytecode dosyasnn oldu u dizine koyunuz. Sonra komut satrndan java ByteKopyala deyimini yaznz. "defne.txt" dosyasnn "outdefne.txt" adyla kopyaland- n göreceksiniz. defne.txt: / DEFNE ORMANI 4 Köle s a h i p l e r i ekmek kaygusu çekmedikleri i ç i n f e l s e f e y a p y o r l a r d, çünkü Ekmeklerini k ö l e l e r veriyordu onlara ; K öleler ekmek kaygusu çekmedikleri i ç i n F e l s e f e yapmyorlard, çünkü ekmeklerini 9 köle s a h i p l e r i veriyordu onlara... Melih Cevdet Anday / 9

12 10 1. java.io paketi 4 Program import java. i o. FileInputStream ; import java. i o. FileOutputStream ; import java. i o. IOException ; public class ByteKopyala { public static void main ( String [ ] args ) throws IOException { FileInputStream i n = null ; FileOutputStream out = null ; 9 try { in = new FileInputStream (" defne. txt " ) ; out = new FileOutputStream ("outdefne. txt " ) ; int c ; 14 while ( ( c = in. read ( ) )!= 1) { out. write ( c ) ; finally { 19 if ( in!= null ) { in. c l o s e ( ) ; if ( out!= null ) { out. c l o s e ( ) ; 24 / outdefne. txt 3 / Karekter Kopyala Program bir text dosyasn kopyalyor. Bunu yaparken byte akmlar yerine, dosyay karekter karekter kopyalyor. Program import java. i o. FileReader ; 2 import java. i o. FileWriter ; import java. i o. IOException ; public class KarekterKopyala { public static void main ( String [ ] args ) throws IOException { 10

13 1.9. OutputStream Snfnn Metotlar 11 7 FileReader g i r i ³ = null ; FileWriter ç k ³ = null ; try { g i r i ³ = new FileReader ( "mca. txt " ) ; 12 ç k ³ = new FileWriter ( "gitanday. txt ") ; int c ; while ( ( c = g i r i ³. read ( ) )!= 1) { ç k ³. write ( c ) ; 17 finally { if ( g i r i ³!= null ) { g i r i ³. c l o s e ( ) ; 22 if ( ç k ³!= null ) { ç k ³. c l o s e ( ) ; 27 Satr Kopyala Program bir text dosyasn kopyalyor. Bunu yaparken byte byte ya da karekter karekter kopyalamak yerine, bir seferde bir satr kopyalyor. Program import java. i o. FileReader ; import java. i o. FileWriter ; 3 import java. i o. BufferedReader ; import java. i o. PrintWriter ; import java. i o. IOException ; public class SatrKopyala { 8 public static void main ( String [ ] args ) throws IOException { BufferedReader giri³akm = null ; PrintWriter çk³akm = null ; try { 13 giri³akm = new BufferedReader ( new FileReader ( "mca. txt " ) ) ; çk³akm = new PrintWriter ( new FileWriter ( "outmca. txt " ) ) ; 18 String l ; 11

14 12 1. java.io paketi while ( ( l = giri³akm. readline ( ) )!= null ) { çk³akm. p r i n t l n ( l ) ; finally { 23 if ( g iri³akm!= null ) { giri³akm. c l o s e ( ) ; if ( çk³akm!= null ) { çk³akm. c l o s e ( ) ; 28 Klavyeden Integer Oku Program klavyeden girilen satr okuyor. Onu Integer tipe dönü³türüyor. Sonra saynn pozitif mi, negatif mi oldu unu söylüyor. E er klavyeden girilen atr Integer tipine dönü³emiyorsa, derleyici, NumberFormatException hatas atar. Program import java. i o. ; class NumberTest { 4 public static void main ( String [ ] args ) throws IOException { BufferedReader s t d i n = new BufferedReader ( new InputStreamReader ( System. i n ) ) ; String s t r ; 9 int num; 14 System. out. p r i n t l n (" Bir tam s a y g i r i n i z : ") ; s t r = s t d i n. readline ( ) ; num = I n t e g e r. parseint ( s t r ) ; // str, i l g i l i s n f a gömülüyor if ( num < 0 ) // beklenen dallanma { System. out. p r i n t l n ( num + " s a y s n e g a t i f t i r ") ; 19 else // beklenmeyen dallanma { System. out. p r i n t l n ( num + " s a y s p o z i t i f t i r ") ; 12

15 1.9. OutputStream Snfnn Metotlar System. out. p r i n t l n ("Son" ) ; / Bir tam s a y g i r i n i z : s a y s p o z i t i f t i r 5 / Dosyadan Double Say Oku Program package nio ; import java. i o. FileReader ; import java. i o. BufferedReader ; 5 import java. i o. IOException ; import java. u t i l. Scanner ; import java. u t i l. Locale ; public class K e s i r l i { 10 public static void main ( String [ ] args ) throws IOException { Scanner s = null ; double sum = 0 ; try { s = new Scanner ( 15 new BufferedReader ( new FileReader ( " pi. txt " ) ) ) ; s. uselocale ( Locale.US) ; while ( s. hasnext ( ) ) { 20 if ( s. hasnextdouble ( ) ) { sum += s. nextdouble ( ) ; else { s. next ( ) ; 25 finally { s. c l o s e ( ) ; 30 System. out. p r i n t l n (sum) ; 13

16 14 1. java.io paketi / / 2 Program package de. v o g e l l a. java. i o ; import java. i o. BufferedReader ; import java. i o. BufferedWriter ; import java. i o. FileNotFoundException ; import java. i o. FileReader ; 7 import java. i o. FileWriter ; import java. i o. IOException ; public class MyFile { 12 public String readtextfile ( String filename ) { String returnvalue = "" ; FileReader f i l e ; String l i n e = "" ; try { 17 f i l e = new FileReader ( filename ) ; BufferedReader reader = new BufferedReader ( f i l e ) ; while ( ( l i n e = reader. readline ( ) )!= null ) { returnvalue += l i n e + "\n" ; 22 catch ( FileNotFoundException e ) { throw new RuntimeException (" F i l e not found ") ; catch ( IOException e ) { throw new RuntimeException ("IO Error occured ") ; 27 return returnvalue ; public void writetextfile ( String filename, String s ) { 32 FileWriter output ; try { output = new FileWriter ( filename ) ; BufferedWriter w r i t e r = new BufferedWriter ( output ) ; w r i t e r. write ( s ) ; 37 catch ( IOException e ) { e. printstacktrace ( ) ; 42 14

17 1.9. OutputStream Snfnn Metotlar 15 / 3 / Program package j a v a i o ; 2 / BinOITest. java program binary dosya yazar ve onu okur / import java. i o. ; 7 class Demo { public static void main ( String [ ] args ) throws IOException { DataOutputStream out = new DataOutputStream ( new FileOutputStream ( "bindosya") ) ; 12 double x = 1. 0 ; int count = 10; out. w r i t e I n t ( count ) ; for ( int i = 0 ; i < count ; i++) { out. writedouble ( x ) ; 17 x = x / 9. 0 ; out. c l o s e ( ) ; DataInputStream i n = new DataInputStream ( new FileInputStream (" bindosya") ) ; 22 count = in. readint ( ) ; for ( int i = 0 ; i < count ; i++) { System. out. p r i n t l n ( in. readdouble ( ) ) ; 27 / E E E E E E 9 / Program

18 16 1. java.io paketi package j a v a i o ; / 3 DataInputStreamDemo. java b i r g i r i ³ akm y a r a t r v e r i okur / import java. i o. ; 8 class DataInputStreamDemo { public static void main ( String [ ] args ) { 13 try { // Create a f i l e input stream FileInputStream f i s = new FileInputStream ("oku. txt " ) ; 18 // Create a data input stream DataInputStream d i s = new DataInputStream ( f i s ) ; // Read and d i s p l a y data 23 System. out. p r i n t l n ( d i s. readboolean ( ) ) ; System. out. p r i n t l n ( d i s. readbyte ( ) ) ; System. out. p r i n t l n ( d i s. readchar ( ) ) ; System. out. p r i n t l n ( d i s. readdouble ( ) ) ; System. out. p r i n t l n ( d i s. readfloat ( ) ) ; 28 System. out. p r i n t l n ( d i s. readint ( ) ) ; System. out. p r i n t l n ( d i s. readlong ( ) ) ; System. out. p r i n t l n ( d i s. readshort ( ) ) ; // Close f i l e input stream 33 f i s. c l o s e ( ) ; catch ( Exception e ) { System. out. p r i n t l n (" Exception : " + e ) ; 38 1 / true 114? / 16

19 1.10. Al³trmalar 17 5 Program package j a v a i o ; // : i o / StoringAndRecoveringData. java import java. i o. ; public class StoringAndRecoveringData { public static void main ( String [ ] args ) throws IOException { DataOutputStream out = new DataOutputStream ( new BufferedOutputStream ( new FileOutputStream ("Data. txt " ) ) ) ; 10 out. writedouble ( ) ; out. writeutf ( "That was pi " ) ; out. writedouble ( ) ; out. writeutf ( " Square root of 2") ; out. c l o s e ( ) ; 15 DataInputStream i n = new DataInputStream ( new BufferedInputStream ( new FileInputStream ("Data. txt " ) ) ) ; System. out. p r i n t l n ( in. readdouble ( ) ) ; // Only readutf ( ) w i l l recover the // Java UTF String properly : 1 / / 1.10 Al³trmalar Program , a dizini içindeki "vatan.txt" dosyasn, b dizini içindeki "out- Vatan.txt" adl dosyaya yazyor (kopyalyor). Programn kaynak ve hedef dizinleri bulabilmesi için, DosyaKopyala.class adl bytecode'un bulundu u dizin içinde a alt dizini ile b alt dizinini yaratnz. a dizini içine "vatan.txt" dosyasn koyunuz. vatan.txt: VATAN Ç N Neler yapmadk ³u vatan için! Kimimiz öldük; Kimimiz nutuk söyledik. ---Orhan Veli Kank--- 17

20 18 1. java.io paketi Program package javanio ; import java. i o. FileInputStream ; import java. i o. FileOutputStream ; import java. nio. ByteBuffer ; 6 import java. nio. channels. FileChannel ; public class DosyaKopyala { static public void main ( String args [ ] ) throws Exception { 11 FileInputStream gelendosya = new FileInputStream (". / a/ vatan. txt " ) ; FileOutputStream gidendosya = new FileOutputStream (". / b/ outvatan. out ") ; 16 FileChannel gelenkanal = gelendosya. getchannel ( ) ; FileChannel gidenkanal = gidendosya. getchannel ( ) ; ByteBuffer bb = ByteBuffer. a l l o c a t e (1024) ; while ( true ) { int ch = gelenkanal. read (bb) ; 21 if ( ch == 1) { break ; bb. f l i p ( ) ; gidenkanal. write (bb) ; 26 bb. c l e a r ( ) ; 1 / /. / b/outvatan. txt dosyas Açklamalar: Kaynak dosyann okunaca dizin ile hedef dosyann yazlaca dizinlerin varolmas gerekir. Aksi halde, derleyici hata atar. Kaynak dosyann okunaca a dizini yoksa, derleyici java. i o. FileNotFoundException :. \ a\ vatan. txt ( Sistem b e l i r t i l e n yolu bulamyor ) hata iletisini; heden yazlaca b dizini yoksa, 18

21 1.10. Al³trmalar 19 java. i o. FileNotFoundException :. \ b\ outeinstein. txt ( Sistem b e l i r t i l e n yolu bulamyor ) hata iletisini atar. 11. ve 12. satrlardaki FileInputStream gelendosya = new FileInputStream (". / a/ vatan. txt " ) ; FileOutputStream gidendosya = new FileOutputStream (". / b/ outvatan. out ") ; deyimler, srasyla, giri³ akm (input stream) ile çk³ akm (output stream) nesnelerini yaratrlar. 14.ve 15 satrlardaki FileChannel gelenkanal = gelendosya. getchannel ( ) ; FileChannel gidenkanal = gidendosya. getchannel ( ) ; deyimleri, srasyla giri³ ve çk³ kanallarn (nesnelerini) yaratrlar. 17.satrkaki ByteBuffer bb = ByteBuffer. a l l o c a t e (1024) ; deyimi, kaynaktan gelip hedefe giden verinin geçici süreyle içinde duraca bb adl veri kabna (buer) ana bellekte yer açar. Açlan buer 1024 byte uzunluktadr. Kaynaktan srayla gelen veriler (byte) buraya bir array halinde yerle³eceklerdir. 19.satrdaki while döngüsü, kaynak dosyann ba³ndan ba³lar, sonuna kadar her seferinde bir byte (8 bit) veriyi alr ve bb ye koyar. Aslnda bu i³i yapan deyim 20.satrdaki int ch = gelenkanal. read (bb) ; deyimidir. Bu deyim, kaynaktan gelen 1 byte' bb içine koyar. While döngüsü, bu eylemi, okunacak veri (byte) kalmayana kadar tekrarlar. Giri³ kanalndan 1 geldi inde, döngü, kaynak dosyann sonuna gelindi ini, dolaysyla dosyada okunacak ba³ka veri kalmad anlar. Bu olay olunca, break deyimi while döngüsünü durdurur. 24.satrdaki bb. f l i p ( ) ; deyimi, bb nin giri³ kapsn kapatr, çk³ kapsn açar. 19

22 20 1. java.io paketi 25.satrdaki gidenkanal. write (bb) ; deyimi, bb içindeki bütün veriyi çk³ kanalna gönderir; o kanal veriyi hedef dosyaya yazar. bb. c l e a r ( ) ; deyimi, buerdaki bütün verinin gidi³ kanalna gitmesini; böylece buer'n tamamen bo³altlmasn sa lar. Bu eylem, buerda veri kalma olasl n ortadan kaldrr; çünkü kalanlar varsa onlarn hepsini çk³ kanalna gönderir Al³trmalar 20

23 Kaynakça 21

24 Dizin öntanml, 8 API, 2 AudioInputStream, 6, 8 AutoCloseable, 6, 8 available(), 7 byte, 4 byte akmlar, 5 byte streams, 5 ByteArrayInputStream, 6, 8 character streams, 5 close(), 7, 8 Closeable, 6, 8 err, 3 FileInputStream, 6, 8 FilterInputStream, 6, 8 ush(), 8 ObjectInputStream, 6, 8 out, 3 OutputStream Snf, 7 PipedInputStream, 6, 8 reset(), 7 RMI, 2 SequenceInputStream, 6, 8 skip(), 7 soyut snf, 4 StringBuerInputStream, 6, 8 Unicode, 4 write(), 8 write(byte[] b), 8 write(byte[] b, int m, int n), 8 write(int b), 8 giri³/çk³, 1 I/O, 1 in, 3 Input Output Stream, 5 input/output, 1 InputStream, 6, 8 java.io, 1, 7 java.io Paketi, 4 JavaBeans, 2 JFC, 2 karekter akmlar, 5 kurucu, 8 mark(), 7 22

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ı

// 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ı

InputStream Sınıfı. Class InputStream. java.io. java.lang.object java.io.inputstream. Kılgıladığı Arayüzleri: Closeable, AutoCloseable

InputStream Sınıfı. Class InputStream. java.io. java.lang.object java.io.inputstream. Kılgıladığı Arayüzleri: Closeable, AutoCloseable InputStream Sınıfı java.io Class InputStream java.lang.object java.io.inputstream Kılgıladığı Arayüzleri: Closeable, AutoCloseable Altsınıfları: AudioInputStream, ByteArrayInputStream, FileInputStream,

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ı

İÇİNDEKİLER VII İÇİNDEKİLER

İÇİNDEKİLER VII İÇİNDEKİLER İÇİNDEKİLER VII İÇİNDEKİLER 1 JAVA 8 NEDİR? 1 Java Nasıl Çalışır? 3 HOTSPOT Teknolojisi Nedir? 5 Çöp Toplayıcı (GarbageCollector) Nedir? 5 Jar Nedir? 6 Java Geliştirme Ortamı 7 Açıklama Satırıları 8 Nesnel

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ı

protected Reader() Karekter akımı okumak için Reader nesnesi yaratır. Yaratılan nesne kendi kendisiyle eşzamanlı olur.

protected Reader() Karekter akımı okumak için Reader nesnesi yaratır. Yaratılan nesne kendi kendisiyle eşzamanlı olur. Reader sınıfı java.lang.object java.io.reader Karekter akımlarını okuyan soyut (abstract) sınıftır. Soyut olmasına neden olan ve dolayısıyla alt sınıflarda kurulması gereken tek metodu read(char[], int,

Detaylı

CharArrayReader. Kılgıladığı Arayüzler: Bildirimi: Değişkenleri (fields): java.io.reader Sınıfından Kalıtsal Gelen Değişken:

CharArrayReader. Kılgıladığı Arayüzler: Bildirimi: Değişkenleri (fields): java.io.reader Sınıfından Kalıtsal Gelen Değişken: CharArrayReader java.lang.object java.io.reader java.io.chararrayreader Kılgıladığı Arayüzler: Closeable, AutoCloseable, Readable Bildirimi: public class CharArrayReader extends Reader Karekter giriş akımı

Detaylı

JAVA DA İSTİSNALAR VE DOSYA İŞLEMLERİ. Yrd. Doç.Dr. İlhan AYDIN

JAVA DA İSTİSNALAR VE DOSYA İŞLEMLERİ. Yrd. Doç.Dr. İlhan AYDIN JAVA DA İSTİSNALAR VE DOSYA İŞLEMLERİ Yrd. Doç.Dr. İlhan AYDIN Exceptions - İstisnalar İstinsa çalışma zamanında oluşan bir hatadır. Java VM tarafından beklenmeyen bir durum için veya throw komutunu çalıştırmanın

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 11

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 11 NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 11 G/Ç işlemleriyle uygulamalara neler yaptırabiliriz... Dosya işlemleri Dosyadan okuma Dosyaya yazma Verilerin Aktarılması Ağ (network) üzerinden Nesnelerin kalıcı

Detaylı

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama İçerik Java da İşleçler, Kontrol Akış ve Döngü Deyimleri Geçen ders: Nesne ve Sınıf Kavramları Nesne ve Sınıf ın Java da gerçekleştirilmesi Bu ders: Java da işleçler ( operators ) Java da kontrol-akış

Detaylı

Java da İşleçler, Ders #3 (4 Kasım 2009)

Java da İşleçler, Ders #3 (4 Kasım 2009) Java da İşleçler, Kontrol Akış ve Döngü Deyimleri BS-515 Nesneye Yönelik Programlama Ders #3 (4 Kasım 2009) İçerikç Geçen ders: Nesne ve Sınıf Kavramları Nesne ve Sınıf ın Java da gerçekleştirilmesi Bu

Detaylı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ 2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 7 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Java Programlama Dili ve Algoritmadan Kodlamaya Geçiş) Yrd. Doç. Dr. İbrahim Küçükkoç

Detaylı

BİL132 Bilgisayar Programlama II

BİL132 Bilgisayar Programlama II BİL132 Bilgisayar Programlama II 8. Olağandışı durumlar (exceptions) Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü Yüksel Tarhan Olağandışı durum Kütük bulunamadı Diskte yer kalmadı Nesne referans

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ı

çindekiler 3 Python Programlarn Yürütme Kaynak Program... 24

çindekiler 3 Python Programlarn Yürütme Kaynak Program... 24 çindekiler 1 Giri³ 1 1.1 Veri ve Veri Yaplar.............................. 2 1.2 Algoritma ve Fonksiyon............................ 2 1.2.1 Veri Yaplar Üzerinde ³lemler.................... 3 1.2.2 Veri

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ı

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ Amaçlar: 1- Arayüzler (Interfaces) 2- Soyut Sınıflar ve Metotlar(Abstract classes and methods) Uygulama-1: interface:cihaz ac() kapat() goster(string) class: TV class: LCD class: Projector... Cihaz adındaki

Detaylı

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

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ı

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ı

BM-209 Nesne Yönelimli Programlama

BM-209 Nesne Yönelimli Programlama BM-209 Nesne Yönelimli Programlama Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş,

Detaylı

PROGRAMLAMA TEMELLER. C Program Yap s

PROGRAMLAMA TEMELLER. C Program Yap s PROGRAMLAMA TEMELLER 1 C Program Yap s 2 Aç klama sat r Program kodlar n makine diline çeviren C dili derleyicisi /* ve */ karakterleri aras nda kalan bölümleri ihmal eder. /* Aç klama Sat r */ Sadece

Detaylı

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 1 Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 Eclipse Mimarisi 4 Java Teknolojisine Genel Bir Bakış 6 Taşınabilirlik 6 Java Derleyicisi ve Bytecode 6 Java Sanal Makinası (Java Virtual Machine - JVM)

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ı

Programlama Dillerinde Kullanılan Veri Tipleri

Programlama Dillerinde Kullanılan Veri Tipleri Programlama Dillerinde Kullanılan Veri Tipleri Taban/Biçim Basic Paskal C/C++/C#/Java 10 (Decimal ) - - - 16 (Hexadecimal) &hsayı veya &Hsayı $sayı 0xsayı veya 0Xsayı Üstel eüs veya Eüs eüs veya Eüs eüs

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ı

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır. GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.

Detaylı

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO while(), do-while(), for() Döngü (loop) : Bir koşul sağlandığı (true olduğu) sürece bir veya birden çok komutun tekrarlanması işlemidir. Java Döngüler (loops) While() do-while() for ( ) while ( koşul )

Detaylı

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır. GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.

Detaylı

Progress Barlı, FTP Dosya Upload Appleti

Progress Barlı, FTP Dosya Upload Appleti FTP ile dosya etmek kolay ancak bunu bir progressbar (yükleniyor barı) ile yapmak biraz karışık olabilir. Bir kaç java class yapısı kullanarak yazmak daha sonra bu klasları başka yerdede kullanabilmenize

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ı

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu BBS515 Nesneye Yönelik Programlama Ders 2 Zümra Kavafoğlu https://zumrakavafoglu.github.io/ Bu derste neler öğreneceğiz? IntelliJ ile proje oluşturma Yorum satırları Sınıf deklarasyonu İsimlendirme kuralları

Detaylı

B A. A = B [(A B) (B A)] (2)

B A. A = B [(A B) (B A)] (2) Bölüm 5 KÜMELER CEB R Do a olaylarnn ya da sosyal olaylarn açklanmas için, bazan, matematiksel modelleme yaplr. Bunu yapmak demek, incelenecek olaya etki eden etmenleri içine alan matematiksel formülleri

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ı

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KU ÇU

Nesneye Yönelik Programlama-JAVA, Ders sorumlusu Yrd.Doç.Dr.Hilmi KU ÇU 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 13/11/2009 devam Dokümantasyon & Aç klamalar Üç türlü yöntem vard r: // Bu i aret sat r sonuna kadar olan tüm ifadeyi aç

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Ü-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN TEMEL AMAÇLAR Bir dairenin yarıçapını kullanıcıdan alarak dairenin alanını hesaplamak istediğimizi düşünelim. Eğer girilen değer

Detaylı

Yeni G/Ç (new I/O) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 10 1

Yeni G/Ç (new I/O) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 10 1 Yeni G/Ç (new I/O) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 10 1 YENİ G/Ç (NEW I/O) Yeni G/Ç (nio) paketi içerisindeki sınıfları kullanarak dosya işlemleri (okuma/yazma) ve ağ üzerinden

Detaylı

Merge (Bireşim) Algoritmayı önce bir örnek üzerinde açıklayalım.

Merge (Bireşim) Algoritmayı önce bir örnek üzerinde açıklayalım. Merge (Bireşim) Her biri kendi içinde artan yönde sıralanmış ve aynı veri tipinden olan a ve b dizileri (array) verilsin. Bu iki diziyi birleştirip sıralı bir dizi yapmak istiyoruz. Tabii, birisini ötekinin

Detaylı

C Dosyalama. Öğr. Gör. M. Ozan AKI. Rev 1.0

C Dosyalama. Öğr. Gör. M. Ozan AKI. Rev 1.0 C Dosyalama Öğr. Gör. M. Ozan AKI Rev 1.0 Dosyalama Dosyalar, disk üzerinde verilerin kalıcı olarak saklanmasını ve başka bir ortama kopyalanarak taşınabilmesini sağlayan yapılardır. Dosyalama C Dili ve

Detaylı

Binary Search. (Yarılama) Bölüm Dizide Bir Öğe Arama

Binary Search. (Yarılama) Bölüm Dizide Bir Öğe Arama Bölüm 39 Binary Search (Yarılama) 39.1 Dizide Bir Öğe Arama İkil aramayı (yarılama yöntemi) sıralı veri kümelerinde sık sık kullanırız. Örneğin, sözlükte bir sözcüğü ararken, sözlüğün bütün sayfalarını

Detaylı

Burada, Input ve Output stream ler ile ilgili sınıfların hiyerarşisi gösterilmektedir.

Burada, Input ve Output stream ler ile ilgili sınıfların hiyerarşisi gösterilmektedir. PART 15 15.1 Dosyaları Okuma ve Yazma Stream, bir veri dizisi olarak tanımlanabilir. InputStream, bir kaynak dosyadan veri okumak için ve OutputStream bir hedef dosyaya veri yazmak için kullanılır. Burada,

Detaylı

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu https://zumrakavafoglu.github.io/

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu https://zumrakavafoglu.github.io/ BBS515 Nesneye Yönelik Programlama Ders 2 Zümra Kavafoğlu https://zumrakavafoglu.github.io/ print metodu System.out.print imleci aynı satırda tutar, System.out.println imleci bir alt satıra indirir Tamsayı

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ı

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ı

İstisnalar (Exceptions) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 8 1

İstisnalar (Exceptions) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 8 1 İstisnalar (Exceptions) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 8 1 İstisna deyince aklınıza ne geliyor? Diğerlerinin yazdığı programda hata olabilir ama benim yazdığım programda hata olmaz...

Detaylı

Struts2 ile Merhaba Dünya uygulamas

Struts2 ile Merhaba Dünya uygulamas Yazar : Tu çe Kalkavan Web : tugcekalkavan.net admin@tugcekalkavan.net Bili³im Blo u Struts2 ile Merhaba Dünya uygulamas Bu yazda Struts2 ile ilk uygulamamz yapaca z. 1 Açklamalar Öncelikle,struts2 ortamn

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ı

Dizi türündeki referanslar, dizi nesnelerine bağlanmaktadır. Dizi referansları tanımlamak bu dizinin hemen kullanılacağı anlamına gelmez...

Dizi türündeki referanslar, dizi nesnelerine bağlanmaktadır. Dizi referansları tanımlamak bu dizinin hemen kullanılacağı anlamına gelmez... Javada Diziler Java da diziler nesnedir; içerisinde belirli sayıda eleman bulunur. Eğer bu sayı sıfır ise, dizi boş demektir. Dizinin içerisindeki elemanlara eksi olmayan bir tam sayı ile ifade edilen

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ı

Dizi ( Array ) ve Dizgi ( String )

Dizi ( Array ) ve Dizgi ( String ) Java da Dizi ( Array ) ve Dizgi ( String ) Tanımlama BBS-515 Nesneye Yönelik Programlama Ders #6 (25 Kasım 2009) İçerikç Geçen ders: Kalıtım ( inheritance ) -- tekrar ziyaret Java da super kullanımı Java

Detaylı

Bölüm 4 Button 4.1 Button Nedir? Button (dü me), tkinter içinde bir snftr; ba³ka bir deyi³le bir widget'tir. Üstelik, Button, öteki GUI araç çantalarnn hemen hepsinde ayn ad ile var olan standart bir widget'tir.

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ı

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ı

A = i IA i = i I A = A = i IA i = {x α((α I) (x A α ))} (7.7) A = (α,β I) (α β) A α A β = (7.8) A A

A = i IA i = i I A = A = i IA i = {x α((α I) (x A α ))} (7.7) A = (α,β I) (α β) A α A β = (7.8) A A Bölüm 7 KÜME A LELER 7.1 DAMGALANMI KÜMELER E er inceledi imiz kümelerin says, alfabenin harerinden daha çok de ilse, onlara,b,...,w gibi harerle temsil edebiliriz. E er elimizde albenin harerinden daha

Detaylı

JAVA. public class Welcome { // class isimleri her zaman büyük harfle başlar. public static void main(string[] args){ System.out.print("Welcome"); } }

JAVA. public class Welcome { // class isimleri her zaman büyük harfle başlar. public static void main(string[] args){ System.out.print(Welcome); } } JAVA java ve.net platform bağımsızlığını nasıl sağlar? -->sorce kodunun uzantısı.java dır. derlendiği zaman direk makine diline değil byte code a çevrilir. buradan JVM (java virtual machine) yardımıyla

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ı

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ı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

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ı

yurdugul@hacettepe.edu.tr VB de Veri Türleri 1

yurdugul@hacettepe.edu.tr VB de Veri Türleri 1 yurdugul@hacettepe.edu.tr 1 VB de Veri Türleri 1 Byte 1 aretsiz tamsay Integer 2 aretli Tamsay Long 4 aretli Tamsay Single 4 Gerçel say Double 8 Gerçel say Currency 8 Gerçel say Decimal 14 Gerçel say Boolean

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ı

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input

Detaylı

D İ Z İ L E R A R R A Y S

D İ Z İ L E R A R R A Y S D İ Z İ L E R A R R A Y S 1 Örneğin 120 adet öğrencinin adını klavyeden girip, daha sonra bunları ekrandan yazdıralım. Bunun için, her öğrenci için ayrı bir değişken tanımlanmalıdır. String ad1; String

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# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ C# Yazım Kuralları 1 İçindekiler C# Yazım Kuralları Veritipleri Değişkenler Operatörler Sınıflar Nesneler, Özellik, Metot ve Olay Bileşenler 2 C# yazım kuralları Deyimlerde büyük küçük harf yazıma uyulmalı

Detaylı

1 - Button Kontrolu Nasıl Yapılır?

1 - Button Kontrolu Nasıl Yapılır? 1 - Button Kontrolu Nasıl Yapılır? Graphical Layout Activity_main.xml

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.1 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...1

Detaylı

EMT2226 Nesne Yönelimli Programlamaya Giriş

EMT2226 Nesne Yönelimli Programlamaya Giriş 2017-2018 Bahar Yarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü EMT2226 Nesne Yönelimli Programlamaya Giriş 2 Yrd. Doç. Dr. İbrahim Küçükkoç Web: ikucukkoc.baun.edu.tr Email: ikucukkoc@balikesir.edu.tr

Detaylı

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü 2017-2018 Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü Yrd. Doc. Dr. İbrahim KÜÇÜKKOÇ Web: http://ikucukkoc.baun.edu.tr Email: ikucukkoc@balikesir.edu.tr Dersin Amaci: Algoritma geliştirme

Detaylı

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü 2017-2018 Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü Yrd. Doc. Dr. İbrahim KÜÇÜKKOÇ Web: http://ikucukkoc.baun.edu.tr Email: ikucukkoc@balikesir.edu.tr 1 Dersin Amaci: Algoritma

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ı

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN GİRİŞ Ekrana «Merhaba Java» şeklinde bir mesajı 100 defa yazmak istediğinizi düşünelim. Aşağıdaki komut satırını 100 kez yazmak sıkıcı

Detaylı

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ Java programlama dili, Java SUN bilgisayar şirketi tarafından 1991 yılında geliştiril Program bloklar halinde yazılır ve bloklar { } ile oluşturulur. Komutlar aynı satıra

Detaylı

Bölüm 6. Karma. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 31

Bölüm 6. Karma. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 31 Bölüm 6. Karma Olcay Taner Yıldız 2014 O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, 2013 1 / 31 O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi

Detaylı

Görsel Programlama 1

Görsel Programlama 1 Görsel Programlama 1 1. Ekrana Hello world! yazan c# console application kodları: Console.Write("Hello world!"); 2. Ekranda ilk satıra Hello, ikinci satıra world! yazan kod: Console.WriteLine("Hello");

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10 NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10 Konular Kural Dışı Durumlar try ve catch Blokları ve throw Komutu Kural Dışı Durum Sınıfı Tanımlama Bir try Bloğuyla Çok Sayıda catch Kullanımı İç İçe try - catch

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ı

Belirli bir iş bir çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü deyimleriyle istenildiği kadar tekrar tekrar çalıştırılabilir.

Belirli bir iş bir çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü deyimleriyle istenildiği kadar tekrar tekrar çalıştırılabilir. Bölüm 09 Döngüler for döngüsü do döngüsü while döngüsü foreach döngüsü Belirli bir iş bir çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü deyimleriyle istenildiği kadar tekrar tekrar

Detaylı

Bölüm 2 Programlama Dilleri 2.1 Programlama Dilleri ve C Bölüm ba³l nn aksine, burada programlama dillerinin çok uzun ve ilginç geli³im öykülerine girmeyecek ve onlarn tam snandrmasn yapmak gibi zor bir

Detaylı

Java ile Nesneye Yönelik Programlama (Object Oriented Programming)

Java ile Nesneye Yönelik Programlama (Object Oriented Programming) Java ile Nesneye Yönelik Programlama (Object Oriented Programming) Giriş Yrd. Doç. Dr. Aybars UĞUR Örnek 1 Bir Yolcu sınıfı, yolcu1 nesnesi oluşturulması ve kullanılması class Yolcu String ad; String soyad;

Detaylı

Pascalda oluşturulacak dosyalar değişkenler gibi programın başında tanımlanır.

Pascalda oluşturulacak dosyalar değişkenler gibi programın başında tanımlanır. DOSYALAMALAR Programlama bilgilerin her zaman ekrana yazdırılması veya değişkenlerde tutulması yeterli olmayabilir. Programın çalışması sonucu girilen yada hesaplanan her bilgi manyetik ortama programda

Detaylı

Temel Veri Türü İşlemleri

Temel Veri Türü İşlemleri Temel Veri Türü İşlemleri BİL131 - Bilişim Teknolojileri ve Programlama Hakan Ezgi Kızılöz Değişkenler ve Veri Türleri Programlama dillerinde her değişken için bir veri türü tanımı yapılır. Değişkenler,

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ı

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA Muhammet BAYKARA 1 İlkel Veri Türleri Type Name Kind of Value Memory Used Size Range byte integer 1 byte -128 to 127 short integer 2 bytes -32768

Detaylı

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta Ön bilgi: Özyineli fonksiyon tanımlanabilmeli. Dizilerin fonksiyon parametresi veya geri dönüş değeri olarak kullanımı bilinmeli. 1. Klavyeden girilen sayı n olmak üzere [1..n] aralığındaki sayıların toplamı

Detaylı

Yukardaki örneğe dayanarak, aşağıdakiler tanımlar Object Oriented açısından doğrudur:

Yukardaki örneğe dayanarak, aşağıdakiler tanımlar Object Oriented açısından doğrudur: PART 17 17. Kalıtım Kalıtım; bir nesnenin, başka bir nesnenin özelliklerinin edinmesi işlemi olarak tanımlanabilir. Kalıtımın kullanımı ile, bilgi hiyerarşik sırayla yönetilebilir. Kalıtımdan bahsettiğimiz

Detaylı

Java Programlama Dili

Java Programlama Dili Java Java Programlama Dili Nesneye yönelik (object-oriented) programlama dili Üst seviye, genel amaçlı ve açık kodlu Tüm değişkenler sabit bir veri tipine sahip (statically typed) Veri tipleri: Temel veri

Detaylı

ÜNİTE NESNE TABANLI PROGRAMLAMA I İÇİNDEKİLER. Okt. Mustafa AKBUĞA HEDEFLER DOSYA VE KLASÖR İŞLEMLERİ

ÜNİTE NESNE TABANLI PROGRAMLAMA I İÇİNDEKİLER. Okt. Mustafa AKBUĞA HEDEFLER DOSYA VE KLASÖR İŞLEMLERİ DOSYA VE KLASÖR İŞLEMLERİ İÇİNDEKİLER Dosya ve Klasör İşlemleri Klasör Sınıfları (Directory ve DirectoryInfo) Dosya Sınıfları (File ve FileInfo) Dosyalarda Okuma Ve Yazma İşemi Yapabilen Sınıflar (FileStream,

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ı

Java diğer programlama dilleri gibi başlı başına bir ürün değildir.

Java diğer programlama dilleri gibi başlı başına bir ürün değildir. Java Nedir? Java platformu, ağ(network) ın önemi hesaba katılarak ve aynı yazılımın birçok değişik bilgisayar ortamında veya değişik tür makinalarda çalışması fikri ile geliştirilmiş yeni bir teknolojidir.

Detaylı

Interface Comparator. Kılgılayan sınıf: Collator. Bildirimi: public interface Comparator

Interface Comparator. Kılgılayan sınıf: Collator. Bildirimi: public interface Comparator Interface Comparator java.util Interface Comparator Kılgılayan sınıf: Collator Bildirimi: public interface Comparator Comparator arayüzü Java Collections Framework un bir üyesidir. Bir nesneler koleksiyonu

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ı

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek Boyutlu Diziler Yrd. Doç. Dr. İlhan AYDIN 1 Problem 100 adet sayı okumak istediğimizi düşünelim. Bu sayıların ortalaması hesaplanacak ve sayıların kaç tanesinin

Detaylı

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü BM-209 Nesne Yönelimli Programlama Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü Java Programlama Dili Java bayt kodları Java Sanal Makineleri üzerinde

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ı

Eln 1001 Bilgisayar Programlama I

Eln 1001 Bilgisayar Programlama I Eln 1001 Bilgisayar Programlama I GiriŞ / ǹk¹Ş Fonksiyonlar¹ Ne ÖĆreneceĆiz? Temel Giriş/Çıkış Yapısı Giriş Fonksiyonları Karakterler için giriş fonksiyonları Scanf fonksiyonu Formatlı giriş Çıkış Fonksiyonları

Detaylı

Java Class Yapısında Finalize Metotunun Kullanımı

Java Class Yapısında Finalize Metotunun Kullanımı Java'da finalize() Metodu: Java dili kullanılmayan nesneleri silmek için arka planda çalışan bir sisteme sahiptir. Bu yüzden C++ gibi dillerde dinamik nesne tanımlarında mutlaka yer alması gereken nesneyi

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 2 C# Programlama Dili Elemanları Bu bölümde;

Detaylı