İletileri Göster

Bu özellik size üyenin attığı tüm iletileri gösterme olanağı sağlayacaktır . Not sadece size izin verilen bölümlerdeki iletilerini görebilirsiniz


Mesajlar - asi kaptan

Sayfa: 1 ... 8 9 [10] 11 12 ... 21
136
Kendi Siteleriniz / Ynt: amatör bi çalışmam :)
« : Ağustos 04, 2009, 01:25:50 ÖS »
yok ya ne yanlış algılayacam :) biliyorum zaten senin şaka dediğini  :P

137
C/C++/C# / C++ Pointerla Dizi Kullanımı..
« : Ağustos 04, 2009, 02:11:24 ÖÖ »
#include<stdio.h>

int strlength(char *p);
void degistir(char *p, char eski, char yeni);

main()
{
char *p,eski[2],yeni[2];

printf("Lutfen bir cumle giriniz: ");

p = new char[255];
gets(p);
printf("Eski harf: ");
gets(eski); //enter beni engellememesi icin dizi kullandim.
printf("Yeni harf: ");
gets(yeni);

degistir(p, eski[0], yeni[0]);
printf("\nCumlenin yeni hali:\n%s",p);
}

void degistir(char *p, char eski, char yeni)
{
char *ptr;
ptr = p;

while(*ptr != NULL)
{
if(*ptr == eski)
{
*ptr = yeni;
}
ptr++;
}
}

138
ByKuS Muhabbet / Ynt: Bykuş Kafe
« : Ağustos 04, 2009, 02:06:40 ÖÖ »
tmm sanada iyi geçeler iyi uykular

139
C/C++/C# / N Adet Sayıdan En Büyük ve En Küçük...
« : Ağustos 04, 2009, 02:04:14 ÖÖ »
Girilen N adet sayıdan en büyük ve en küçük olan sayıları bulan basit bir uygulama... Visual Studio Console Uygulaması...static void Main(string[] args)
{
int max = 0, min = 0;
Console.Write("Kaç Adet Sayı Girmek İstiyorsunuz: ");
byte adet = byte.Parse(Console.ReadLine());
for (int i = 1; i <= adet; i++)
{
Console.Write("{0}. Sayıyı Giriniz................: ", i);
int sayi = int.Parse(Console.ReadLine());
if (i == 1)
{
max = sayi;
min = sayi;
}

else if (sayi > max)
{
max = sayi;
}
else if (sayi<min)
{
min = sayi;
}

}
Console.ReadLine();
} Console.WriteLine("\nGirilen En Büyük Sayı............: " + max);
Console.WriteLine("Girilen En Kücük Sayı............: " + min);

140
ByKuS Muhabbet / Ynt: Bykuş Kafe
« : Ağustos 04, 2009, 02:03:11 ÖÖ »
öle öle.. sen izmirin neresindensin ???

141
C/C++/C# / C de Fonksiyon kurma
« : Ağustos 04, 2009, 02:02:35 ÖÖ »
Fonksiyonlar Kurulumu:

Fonksiyonda en belirgin özellik void komutunun kullanılmasıdır. Void kelime anlamı itibariyel boş, geçersiz demektir. Ama biz burada void ile fonksiyon kuracağız.
Normal şartlarda #include <stdio.h> hemen sonra int main (void) komutunu kullanırız.
Fonksiyon kurulumunda işler başka. Bu defa #include <stdio.h> hemen sonra void komutunu çekiyoruz önce void yazıyoruz sonra da fonksiyonumuza bir isim veriyoruz ve en sonunda parantez içerisine int main komutunda belirtilecek olay giriyoruz.
Daha sonra int main (void ) komutunun altında bu void ile hazırlamış olduğumuz fonksiyon isimlerini yazarak topluca çalıştırabiliyoruz.
Her bir fonksiyon ismi kendi değerine bakar diğerine bakmaz. Mesela küp hesapla kendi a değerini hesaplarken , kare fonksiyonu kendi a değerini hesaplar ve biri diğerinin hesabına karışmaz.
Önemli olan main döngüsü içerisinde belirtilen fonksiyonun karşısındaki paranteze fonksiyonla ilgili değer girilsin.
Her fonksiyon bloğu void komutundan hemen sonra {} parantezleri arasında başlar biter
Her blokta girilen değerler kendi fonksiyonu için iş yaparken int main (void )bloğunda girilen her türlü değer bütün alt fonksiyonlar için global değer anlamını taşır.
Diyelim ki main bloğunda a ile tanımlanmış int girdisi program derlendiğinde, program kullancıya bir değer gir dediğinde kullanıcı a için 20 değerini girse bu 20 değeri her bir fonksiyon bloğunda farklı işlemlere tabi tutulacaktır.
Kare fonksiyonu 20 değerini kare formulune uygularken küp fonksiyonu da küp fonksiyonuna uygular.

ORNEK:


include<stdio.h>
// Verilen sayinin karesini hesaplar
void kare_hesapla( int sayi )
{
// kare_hesapla fonksiyonunda
// a degiskeni tanimliyoruz.
int a; //Sadece bu fonksiyon için geçerli olan int değeridir
a = sayi * sayi;
printf( "Sayının karesi\t: %d\n", a );
}

// Verilen sayinin kupunu hesaplar
void kup_hesapla( int sayi )
{
// kup_hesapla fonksiyonunda
// a degiskeni tanimliyoruz.
int a; //Sadece bu fonksiyon için geçerli olan int değeridir
a = sayi * sayi * sayi;
printf( "Sayının küpü\t: %d\n", a );
}

int main( void ) //bütün fonksiyonları çalıştıran gövde makine program bloğu
{
// main( ) fonksiyonunda
// a degiskeni tanimliyoruz.
int a;//Kullanıcıların bütün fonksiyonlar için girdiği global int değeridir.
printf( "Sayı giriniz> ");
scanf( "%d",&a );
printf( "Girdiğiniz sayı\t: %d\n", a );
kare_hesapla( a );//yukarıdaki fonksiyonu çalıştımak için yukarıda void ile tanımlanan fonksiyonun adını ve işlem değerini parentez ile belirtmek yeterli.
// Eger a degiskeni lokal olmasaydi,
// kare_hesapla fonksiyonundan sonra,
// a'nin degeri bozulur ve kup yanlis
// hesaplanirdi.
kup_hesapla( a ); );//yukarıdaki fonksiyonu çalıştımak için yukarıda void ile tanımlanan fonksiyonun adını ve işlem değerini parentez ile belirtmek yeterli.
getchar (); //bu komut programı çalışırken ekrana getirir. pause gibi birşey.
return 0;
}

II. Örnek:
/* Ev sekli cizen program */
#include<stdio.h>
// Evin catisini cizen fonksiyon.
void catiyi_ciz( void )
{
printf( " /\\ \n" );
printf( " / \\ \n" );
printf( " / \\ \n" );
printf( " / \\\n" );
printf( "Masterhack\n" );
}

// Evin katini cizen fonksiyon.
void kat_ciz( void )
{
printf( "| |\n" );
printf( "| |\n" );
printf( "| |\n" );
printf( "Masterhack\n" );
}

// Programin calismasini saglayan
// ana fonksiyon.
int main( void )
{
catiyi_ciz( );
// 3 adet kat ciziliyor.
kat_ciz( );
kat_ciz( );
kat_ciz( );

return 0;
}

Bu örnekte hem void hem de int main (void ) değer almadığından fonksiyonların parentezleri boş bırakılmıştır. kat_ciz(); gibi.

142
Java / Java İle Sonsuz Basakmaklı İki Sayıyı Çarpma
« : Ağustos 04, 2009, 01:59:11 ÖÖ »
bu program ıle ıstedıgınız basamak uzunlugunda(1000,2000 farketmez) ıkı sayıyı carpabılırsınız.

Kod:
import javax.swing.*;
public class Carpma
{
public static void main (String[] args)
{
int atHand=0, digit1=0, digit2=0, digitNew=0;
String Number1;
String Number2;
Number1=JOptionPane.showInputDialog("enter a number");
Number2=JOptionPane.showInputDialog("enter a number");

int length1=Number1.length();
int length2=Number2.length();

for(;length1>length2
{
Number2="0"+Number2;
length2++;
}
for(;length1<length2
{
Number1="0"+Number1;
length1++;
}
int k=0;
int i=length2-1;

String satir[]=new String[length2];
for(int h=0;h<length2;h++)
satir[h]="";

while (i>=0) {

digit2=((new Integer(Number2.charAt(i))).intValue()) -48;
atHand=0;
for(int j=length2-1;j>=0;j--){
digit1=((new Integer(Number1.charAt(j))).intValue())-48 ;
digitNew=(atHand+(digit1*digit2)) %10;
atHand=(digit1*digit2+atHand) / 10 ;
satir[k]=digitNew+satir[k];
if(atHand!=0 && j==0){
satir[k]=atHand+satir[k];
}

}//for

i--; k++;

} //while
for(int b=0;b<length2;b++)
{
if(b!=0)
for(int m=0;m<b;m++)
satir=satir+"0";
}

for(int b=0;b<length2-1;b++)
satir[b+1]=topla(satir,satir[b+1]);

JOptionPane.showMessageDialog(null,satir[length2-1]);


}

static String topla (String Number1 , String Number2){
int atHand=0, digit1=0, digit2=0, digitNew=0;
int length1=Number1.length();
int length2=Number2.length();

for(;length1>length2
{
Number2="0"+Number2;
length2++;
}
for(;length1<length2
{
Number1="0"+Number1;
length1++;
}

int i=length2-1;

String sum="";
while (i>=0) {
digit1=((new Integer(Number1.charAt(i))).intValue()) -48;
digit2=((new Integer(Number2.charAt(i))).intValue())-48 ;
digitNew=(atHand+digit1+digit2) %10;
atHand=(digit1+digit2+atHand) / 10 ;
sum=digitNew+sum;
--i;
}
if(atHand!=0)
sum=atHand+sum ;
return sum;
}

}//class

143
ByKuS Muhabbet / Ynt: Bykuş Kafe
« : Ağustos 04, 2009, 01:55:52 ÖÖ »
evet ya yaz olduğun olsa gerek millet tatile gitti herhalde :)

144
Java / bedava radyo yapın
« : Ağustos 04, 2009, 01:53:52 ÖÖ »
SINIRSIZ DINLEYICI KITLESI * PARASIZ * LEGAL * VEEEE CHATLI AYNI ANDA TANIS MÜZIKDINLE VEEE ISTEK AL YAYINDA MIKROFONLA KONUS BIR RADYONUN YAPABILCEGI NE VARSA BUNDADA VAR


sizlere bugün 25 dakikada internet radyosu nasil yapilir onu anlaticagim ..!! önce sitenin adresini vereyim (Cünkü Lazim olucak) http://www.flatcast.de/ (.com ingilizcesi) almanca tanidigimdan size bazi kelimeleri almanca olarak vericegim lakin karsiligini türkce tercümeli,

http://www.flatcast.de/ (.com) ye girdiginizde sol yukarda "You are new?
Register here" kayt yapin kendinizi ve e-mailinizi dogru verin (lazim olucak, onaylamak icin)

kayt ettikden sonra Login yapin (kayt isminizi ve sifrenizle)

sonra kayt isminizi görüceksiniz Login nin üstünde (bu sizin garanti kayit oldugunuzu gösterir)....arkadaslar lütfen(Username) kayit ismi örnek: calikusu, bagriyanik veya gül, xtragon, zirtdagon ,,bingül gibi dandik chat isimleri olmasin, cünkü radyoyu actiginizda isminiz orda yani radyo sahibi olarak gözükücek, iyi örnekler sunlardir: Dj-Aslan,,Radyo-yakamoz,,DJ-Gülen,,Istanbul_FM,,Bakirköy-fm,,radyo-Manisa,, Radyo-direnis,,Radyo-Bozkurt,,Tilki-fm ,, kürt-fm,,,,vs,,,vs,, bunun gibi örnek isim olarak kayt ediniz..

eveeet,,,,kayit olduk ve Radyo ismimiz flatcastda gözüküyor,,,,

sonra Loginin assagisinda (ingilizcesi) "Broadcaster's area" ya tiklayin

"Registered Streams " adinda yeni sayfa acildi

burda yukaridaki "Create a new stream" tiklayin

ufak sayfa acildi

§1 Regsiter your show!
next

§2 Show´s specification
buraya "Titel" bölümüne radyonun ismini verin mesela "babafm"
onun altindaki "Description: " a radyonuzun motosunu yazin mesela "Babafm e hosgeldiniz" ... onun altinda "Enter stream password " yeri vardir oraya aklinizda tutacaginiz bir sifre verin (burasi ilerde radyonuzu diger DJ arkadasiniza devir ettiginizde lazim olucak)
next

§3. sayfada 64 kbit/s kalsin
ve radyonuz icin bir icon begenin
next

§4 "URL to the show" bu sayfayi simdilik bos birakin cünkü henüz radyomuz icin basit bir homepage almadik aldigimizda homepagemizin url adresi gelicek ve oraya baglanicak. (binlerce parasiz homepage veriliyor internette 1 sayfa bile yeterlidir radyo icin...)
next

§5 "scheme" sayfasinda lütfen "Continously" tiklayin süresiz yayini belirtir
assagidaki 480 ve 640 kalsin
next

§6 "Show´s date" buraya sunlari verinki bir daha ayar gereksinimi görmeyin
yukardaki tarih bugünü gösterir o ok.
assagida ise: Start: 00:00 Duration: 23:50 ve Your Timezone: (tr ye icin gmt+2 (saat londradan gmt dir yani sifir almanyada gmt+1)
next
sonra diger sayfalari degisiklik yapmadan assagi sag emirlerine tikliyarak bitirin

sonra

Registered Streams sayfasinda ilk girdigimiz sayfada degisiklikler olucak
söyle gözüküyor:
Title show´s description


Send time Edit entry

Date: 04/15/2005 Change streams´s data
Start: 17:00 Delete stream
End: 17:00 Start stream
Accesscounter

SID: 36514 (Bu sid numarasini bir sayfaya not alin) Book the user counter of all (not onair) streams to this stream

simdilik bu kadar

Şimdi Not defterini açın ve alttaki kodu atın ve dosyanın ismini radyo.html olarak kaydedin.

<IFRAME height="300" width="400"
src="http://www.flatcast.com/de/Player.aspx?sid=282"> </IFRAME>

sizin kodunuz e-mail e gelecektir.

yukardaki 282 sayisinin yerine kendi SID 36514(bu örnek sid numarasidir siz kendinizinkini vericeksiniz) numaranizi verinki homepage sizin radyonuzla baglantiya gecip radyonuzu icine alsin..

radyo html kodunu verdiginiz sayfanin adresini yukarda §4 ün yerine verin next lere basarak sayfayi etkinlesdirin

neler yaptik göz atalim:

kayit olduk + radyo ayari yaptik + homepage mize html kodunu ve sid numaramizi verdik ve homepagemizi etkinlesdirdik bu verilerimizle ..

simdi "Broadcaster's area" ya gidiyoruz acilan pencerenin üstünde "Registered Streams " yaziyor ve onun ortasinda su yere tikliyacaksiniz "Start stream"
ve bir sayfa aciliyor register olmadiginizi söyliyen simdi yapicaginiz bu sayfayi kapatip e-mailinize gidip "flatcast" e-mailinin icindeki aktifleme adresine tikliyarak radyonuzu aktiflestiriyorsunuz

yeniden "Registered Streams " sayfasina dönüyorsunuz ve orda "Start stream" e tikliyorsunuz iki sayfa aciliyor biri büyük digeri kücük, kücük sayfanin icinde "chatradio" yazar onu ikidefa hizli tiklayarak radyonuzu acmis oluyorsunuz.

acilan 3 sayfa oluyor 1. ortada radyo sayfasi 2.saginizda tools minik sayfa ve 3. ise saginizda DJ-mixer sayfasi,

ADD diyerek bilgisayarınızdan istediğiniz mp3 ü seçerek yayına başlayabilirsiniz.

Mikrofonla Konuşmak için:
EĞER MİKROFONLADA KONUŞMAK İSTİYORSANIZ TALK OVER DİYE BİR BUTON VAR. KONUŞURKEN ONA BASILI TUTUN VE KONUŞUN..


alıntıdır

145
ByKuS Muhabbet / Ynt: Bykuş Kafe
« : Ağustos 04, 2009, 01:47:11 ÖÖ »
hmm güzel bende bende kendi kategorimle  uğraştım konu falan açtım şimdi ise seninle konuşuyorum

146
ByKuS Muhabbet / Ynt: Bykuş Kafe
« : Ağustos 04, 2009, 01:41:57 ÖÖ »
benden de iyi ne yapıyorsun

147
ByKuS Muhabbet / Ynt: Bykuş Kafe
« : Ağustos 04, 2009, 01:35:02 ÖÖ »
ohh iyi bari bi kişi çıktı nbr merve nasılsın

148
ByKuS Muhabbet / Ynt: Bykuş Kafe
« : Ağustos 04, 2009, 01:31:59 ÖÖ »
kimse yok mu arkadaşlar muhabbet edelim canım sıkıldı  :-\

149
Java / Java Nedir?JAVA''ya genel bir bakış!!
« : Ağustos 04, 2009, 01:29:19 ÖÖ »
Java Nedir?JAVA''ya genel bir bakış!!
Sadece interneti değil tüm bilgisayar dünyasını değişime uğratacak SUN firmasının geliştirdiği yeni platform bağımsız programlama dili.Hindistan'da bir ada.Ana ihracat ürünü kahve olan Pazifik'te bir ada bu yüzden USA'da kahve için kullanılan argo kelimedir.



1. Basit & Küçük

Java programlama dilinin öğrenilmesinin kolay olduğunu iddia eden Sun'daki geliştiricilere, yeni programlamaya başlayanların inanması biraz güç olacaktır.
Programlamayı bilen kişiler için (özelliklede C++) çok daha kolaydır. Çünkü Java C++ 'a çok benzer.
C++ 'da karmaşık olan bazı şeyler atılmış, basit olanlar eklenmiş
Küçük : Java çok küçük işlemcilerde bile çalışabilir. Temel ihtiyacı ( İşlemci, standart sınfılar ve "Thread"-desteği ) 215 KB dır. (Sun 'ın iddiası )

2. Nesneye yönelimli & Dağınık

Nesneye yönelimli mi ? O da ne? Nesne yönelimli (Object Oriented) , insanların kavramada çok zorluk çektikleri bir kavram. Ama bu, iyi özelliklerinden dolayı, yazılım geliştirmede kabul görmesini engelleyemiyor.
Adından da anlaşıldığı gibi, nesneye yönelimli programlamada insan nesne geliştirmeye konsantre oluyor. Nesne, verilerden ( değişkenler ) ve bu verileri değiştirmeye yarayan fonksiyonlardan ( Method ) oluşuyor. Nesneye yönelimli programlamada, sonradan kullanılabilecek genel nesneler (Object) oluşturulması idealdir (Sınıflar). Profesyonel programlamada, devamlı büyüyen havuzda bulunan nesnelere ulaşılarak, bu nesneler tekrar kullanılabilir (Sınıf kütüphaneleri). Standart sınıf kütüphaneleri (Giriş/Çıkış, Grafik vb.) oluşturulmuştur. Bunlar programların içine katılırlar.
Uzaktaki bir sistemde bulunan nesnelere Java programları Internet üzerinden kolayca ulaşabilirler.Sun firmasının vizyonu : Programların tamamının lokal bilgisayarda bulunmaması, gerekli parçacıklarına ihtiyaç halinde internet üzerinden erişilmesi. Sun firmasının bu vizyonunun gerçek olup olmayacağını göreceğiz...


3. Yorumlayıcılı & Hızlı

Java programları direkt işlemci tarafından yorumlanmaz. Özel bir program tarafından yorumlanırlar (Yorumlayıcı = Interpreter ).
Bunun avantaj ve dezavantajları vardır : Programı geliştirirken bazı adımlardan kurtulursunuz. Örneğin bazı program parçacıklarına bağlantı kurmaktan (Link). Dezavantajı ise tüm desteklemelere rağmen, programın çalışmasının yavaş oluşu.
Sun firması bir ara katman oluşturdu. Java bir önyorumlayıcı tarafından byte koduna (bytecode) çevrilir. Çok büyük avantaj olan, bazı küçük değiştirmelerde derleyemeye gerek kalmaması, bununla yok oluyor.
Fakat bu "bytecode" makina diline çok yakındır. Bundan dolayıdır ki çok hızlı bir kod oluşturulmuş oluyor. Bu arada "Just-in-Time" Compiler lar "bytecode" u gerçek makina koduna çeviriyorlar. Böylece hız 10 kat (hatta daha fazla) artıyor.
Sun firmasının geliştireceği özel "Java işlemcileri" kapıda. Bunlar Java programları direkt çalıştıracaklar.


4. Sağlam & Güvenilir

Derleyici (Compiler) ve yorumlayıcı (Interpreter) kombinasyonun başka bir yönden avantajları var. Ön derleyici tip (ve buna benzer) hataları kontrol ederken, yorumlayıcı hataları yakalar ve gereğini yapar. En kötü ihtimalle, derlenmiş bir program çöker.
Yorumlayıcı, yabancı verilere ulaşılmasını engeller. C++ 'taki bu özellik kaldırmış.
Gerçekten Java güvenli bir programlama dili ( Hiç bir şey %100 güvenli değildir. Günümüzde kredi kartı üçkağıtçılığı yapılmasına rağmen halen insanlar hal kredi kartlarını internet üzerinden kullanıyorlar. Niye Java %100 güvenilir olsun ki ....)


5. Platform bağımsız & Taşınabilir

Burada program geliştiricilerinin bir rüyası gerçekleşiyor:Herkes farklı işlemcilerde ve işletim sistemlerindeki problemi bilir. Birisinde çalışır diğerinde çalışmaz ve bu geliştiricilerin kabusudur ( Düşünün ki 10 tane video sistemi var ). Derleyici burada devreye girer ve programı "bytecode" çevirir. Bu kod tamamen platform bağımsızdır ve tüm işlemcilerde çalışır ( İnşallah )
Bir Java programı, hiçbir değişiklik yapılmadan, desteklenen tüm sistemlerde çalışır.
Ayrıca C++ 'da bazı belirsizlik arz eden tanımlar temizlenmiş. Bu tanımlar değişik sistem ve derleyicilerde, değişik biçimlerde kabul ediliyorlardı. Örneğin C++ 'da hiçbir zaman bir tamsayının (integer) kaç byte olduğu bilinemiyordu. Java'da bir tamsayı herzaman (Hangi sistemde olursa olsun ) 4 Byte dır.


6. Multithread & Dinamik

Modern bir programda bir çok işlem aynı zamanda olur. Bu özelliğe "multithread" deniyor (Buna uygun bir türkçe kelime bulamadım). Java bu tür programlar geliştirenlere, özel fonksiyonlar sunuyor ki, geliştiriciler programın asıl amacına konsantre olsunlar.
Bazı düzenlemelerden dolayı Java, C++ 'dan daha dinamiktir. Sınıflar (Class) ve Nesneler (Object) arasındaki ilişkiler katı bir kural ile bağlı değildirler. İleriki safhalarda değiştirilmesi çok basittir. ( Bu da yorumlayıcı sayesindedir)

150
Java / Java kurulum ve yazilim gelistirme
« : Ağustos 04, 2009, 01:27:08 ÖÖ »
Java SDK kurulumu
Java kaynak kodunu derlemek ve java dil kutuphanelerinden yararlanmak icin Java SDK (Software Development Kit ) ya ihtiyaciniz vardir. Java SDK sadece Sun degil farkli uretici sirketler tarafindan gelistirilmektedir. Bilinen Java SDK'lari arasinda Sun, IBM ve Linux'a ozel BlackDown sayilabilir. Bu yazida java'nin ana gelistiricisi olan Sun'in yazilim gelistirme kiti goz onune alinacaktir. Bunun icin gerekli adimlar sunlardir. Isletim sistemi olarak is yerinde kullandigim Windows XP Professionel'i sectim ama ilerde Linux altinda ne gibi farklar olabilecegini de yazacagim.
1- Java SDK'nin indirilmesi. Kisaca: www.java.sun.com adresinden yaklasik 50MB'lik J2SE SDK'yi indirin.
Uzun Aciklama: Java'nin kaynak sitesi olan http://www.java.sun.com (veya yeni site adiyla http://developers.sun.com) Sayfanin sag tarafindaki "Related Links" yazili kutudan J2SE SDK 1.4.2 baglantisina tiklayin. (ya da dogrudan http://java.sun.com/j2se/1.4.2/download.html baglantisina da gidebilirsiniz ama ileriki surumler icin bu baglanti degisecektir.) Gelen sayfada cesitli secenekler mevcut. Sun, isteyenlere SDK'yi NetBeans asi verilen grafik arayuzlu bir Java gelistirme yazilimi ile birlikte sunuyor ama biz simdilik saf SDK istedigimizden alt bolumdeki "Download J2SE v 1.4.2_03" baslikli bolumdeki "32-bit/64-bit for Windows/Linux/Solaris SPARC 32-bit for Solaris x86 " satirindaki "SDK" baglantisini seciyoruz. Gelen yazilim anlasmasindan " accept, kabul " secenegini secerek asil indirme sayfasina erisiyoruz. Burada cesitli platformlar icin SDK'lar mevcut (Windows, Solaris, Linux, Linux itanium gibi), 48MB'lik Windows off-line installation secenegini secerek indirmeye baslayabiliriz. Sayfada Mac OSX icin bir baglanti yok, bunu http://www.apple.com/java/ adresinden indirebilirsiniz. Linux'a ozel tamamen ayri gelistirilen Blackdown ise http://blackdown.org/ adresinden indirilebilir. BlackDown su an icin AMD 64bit destegi veren tek JavaSDK'si ve oldukca hizli olmasi ile taniniyor.
Guncelleme: Yeni JavaSDK 1.5'in bu bahar cikmasi bekleniyor. Pek cok yeniligi beraberinde getirecek olan 1.5 surumu AMD 64 sistemlere 64 bitdestegi de verecek. (32 bit Java destegi zaten var)

2- Java SDK'nin kurulumu. Kisaca: Yazilimi sihirbaz'i izleyerek kurun.
Indirme islemi tamamlandiktan sonra kurma islemine exe dosyayi cift tiklayarak baslayabiliriz. Kurulum oldukca kolay, adim adim ilerlemeniz yeterli. Yazilim eger her seyi "next" diyerek ilerlerseniz kendisini C:\j2sdk1.4.2_03\ dizinine kuruyor. isterseniz kurulum sirasinda ismi biraz kisaltip baska sabit diske de kurabilirsiniz. (kurulduktan sonra klasor isimlerini degistirmeyin!)
Asagidaki bilesenler sisteme kurulur.

Java yazilim gelistirme araclari, derleyici, kutuphaneler vs.
Sadece SDK'nin kullanimina acik Java sanal makinesi JRE. Bu ...SDK klasoru\jre altina kuruluyor.
Cesitli demo uygulamalar
Muhtelif java kutuphanelerinin kaynak kodu
Genel kullanima acik Java sanal makinesi. Bu C:\Program Files\Java\j2re1.4.2_03 klasorune kuruluyor. Bu JRE hem java yazilimlari hem de icindeki plug-inler ile birlikte internet tarayicilari tarafindan kullaniliyor.
Ilk java yaziliminin calistirilmasi
1- Kodun yazilmasi. Kisaca: herhangi bir editore asagidaki kodu kopyalayin.
Yazilimi yazmak icin editor olarak baslangicta notepad, , bedava kucuk ve guclu Crimson Edit (http://www.crimsoneditor.com/), alismasi zor olan ama cok guclu konsol editoru vim (www.vim.org), ticari UltraEdit , ya da benim sahsi favorim java ile gelistirilmis son derece guclu ama biraz iyi bilgisayar isteyen Jedit'i (www.jedit.org) kullanabilirsiniz. Normalde hazir Gorsel java gelistirme yazilimlarinin kendi guclu editorleri de var ve klasik genel amacli editorlerin sunmadigi pek cok yazilim kolayligi da sagliyorlar, ama biz simdilik onlarla ilgilenmeyecegiz.
Ornek kod:
public class TestSinifi {
public static **** main(String[] args) {
System.out.println("Merhaba Dunya, naber java?");
}
}
2- Kodun saklanmasi. Kisaca: kodu "TestSinifi.java" olarak belirli bir yere kaydedin.
Java kodlari .java uzantili dosyalarda saklanir. Dosyanin adinin public sinif adi ile ayni olmasi sarttir. Editore yazmis oldugunuz kodu adi ve uzantisi "TestSinif.java" olacak sekilde ornegin C:\jproje\test\ klasoru altina kopyalayin. Bu klasor java projelerimizin tutuldugu yer olacak. ilk projemiz test projesi.
3- Kod yazma kurali: Kisaca: Standart java kod yazma kuralini takip edin
Java kodunu yazarken gereken temel iki tane java kodlama kuralini soyleyeyim. Bu kurallar mecburi degildir ama mevcut yazilimlarin cogu bu notasyonu kullandigindan kullanilmasi siddetle tavsiye edilir.

Sinif isimlerinde her kelimenin bas harfi buyuk, kelimeler bitisik yazilir ( Ornek: TestSinifi, BenimSinifim, Mesaj, StringToXml gibi.)
Sinif uye degisken isimleri ilk kelimenin bas harfi kucuk, diger kelimelerin bas harfi buyuk ve bitisik olacak sekilde yazilir. Bu yazilim sekline sanirim "deve tipi" ismi verilmis ( benBirKucukDeveyim, ilkDeger, model, enKucuk gibi. )
Ayrintili kod yazma kurallarina suradan erisebilirsiniz. Ama kendinizi bazi konularda cok zorlamayin. ornegin {} isaretlerinin baslangic ve bitisi, tab kullanimi ve satir baslarindaki bosluk sayisi kavramlari yazilimcidan yazilimciya degisebilir. Sahsen ben hic tab kullanmadan "{" isaretini satir sonuna koyarak ve uc bosluk iceri yazarak kodlamayi tercih ediyorum, ama ustam "{" isaretinin bir satir asagi koyulmasini istiyor, o yuzden ona uyacagim. (bazi baska usta yazilimcilarin onerisi de bu yonde http://www.javaranch.com/style.jsp) Isin iyi yani guclu editorlerin bir kismi otomatik yazim kurali destegi veriyor. yani siz yazim kuralini seciyorsunuz, tum kod bir anda duzenleniyor . O nedenle bu konu o kadar da buyutulecek bir sey degil, sadece yukaridaki iki kurala sadik kalmak uzere herkesin uzlastigi ortak bir stilde anlasin yeter.
4- Kodun derlenmesi. Kisaca: Konsoldan "javac TestSinifi.java" yazarak kodu derleyin
Java kodu'nun calisabilmesi icin kodun derlenmesi gerekir. Derleme islemi kurmus oldugumuz SDK icerisindeki javac yazilimi ile gerceklestirilir. Bildiginiz gibi bu yazida hazir java yazilim araclari (Ayrintili liste icin suraya bakin) ile degil konsoldan calisacagiz. Windows'ta konsolu calistirmak icin Start menusunden Run secenegini secin, bosluga cmd yazip Enter tusuna basin. Eski dos gunlerini andiran siyah bir ekran gelecek. (Not: Linux'un konsolu Windows'tan cok daha kolay kullanisli ve gucludur. ama idare edecegiz ). Onerim yazi tipini ve boyunu kucultup ekrani ve buffer boyunu biraz buyutun. Daha sonra java kodumuzu kaydettigimiz C:\jproje\test\ klasorune gidin (burada bir ipucu, Windows XP'de bir klasor ya da dosyanin adini hatirlayamazsaniz herhangi bir harf ya da hic bir sey yazmadan tab tusuna basarak var olan klasor ve dosyalarin otomatik olarak gelmesini saglayabilirsiniz. unix'tan gelme bir sey.) ve "javac TestSinifi.java" yazarak enter'e basin. Eger hic bir sey soylemeden yeni komut satirina gecerse derleme basarilmis demektir. "dir" komutu ile dosyalari incelediginizde ayni klasorde "TestSinifi.class" dosyasinin olustugunu goreceksiniz. Eger sistem asagidaki gibi bir mesaj verirse, bu yazilimin kaynak kodunda hata var demektir. derleyici hatanin yerini gosterir. Ornegin asagidaki mesaj koddaki 4. satirdaki System.out... satirinin sonundaki ");" isaretinin silinmesi ile olusur.
TestSinifi.java:4: ')' expected
}
^
1 error
Eger sistem
'javac' is not recognized as an internal or external command,operable program or batch file.
seklinde bir mesaj verirse, bu durumda javac yazilimina bulundugumuz klasorden erisilemedigini anlariz. Bu hatayi ortadan kaldirmak icin iki yol onerilebilir. Birincisi ve en garantili yol, javac.exe yaziliminin bulundugu SDK klasorundeki "\bin" alt klasorunu PATH bilgisine eklemektir. Windows XP'de her acilista bu bilginin eklenmesi icin asagidaki yontem izlenir.

Masaustundeki "My computer" ikonuna sag tiklayin, ve properties secin.
Advanced tabini secin, oradan da alt taraftaki Environment Variables dugmesine tiklayin.
Cikan ekrnin alt bolumundeki System Variables listesinden "path" degerini bulun. Daha sonra "edit" dugmesine basin.
Satirin sonuna ";c:\jdk1.4.2_03\bin" bilgisini ekleyin (noktali virgulu unutmadan).
Tamam ya da apply ile o pencereyi kapatin.
Simdi tekrar ayni komutu vererek calistirmayi deneyin. bazen komut window'u yeni path bilgisini algilayamayabiliyor, komut ekranini kapatip acmaniz gerekebilir.
Ikinci yol ise komut satirindan sunu yazmaktir:
path = %PATH%;c:\jdk1.4.2_03\bin
Bu sekilde varolan path bilgisine JAva SDK dizini de eklenmis olur. Ancak bunu her sistem acilisinda tekrar etmeniz gerekebilir. Bazen bu komutu bir bat dosyasina yazmak isinizi kolaylastirabilir (ikinci yazida bu konuya aciklik getirecegim umarim)
Eger sadece javac yazip enter tusuna basarsaniz java derleme seceneklerine iliskin bilgiler goruntulenir. Bunlar arasinda ilginc olanlar
eger javac -d C:\jproje\test\out TestSinifi.java
yazarsaniz olusan class dosyasi test\out klasoru icine atilir. Genellikle class dosyalarinin \out adinda ayri bir dizinde saklanmasi saglanir.
Ayrica java derleyicisinin sahnenin gerisinde neler cevirdigini merak ediyorsaniz javac -verbose TestSinifi.java yazabilirsiniz. Asagidaki gibi ilginc seyler gorebilirsiniz bu sekilde. (benim kullandigim sistemde JSDK'nin yeri farkli yerde)
C:\jproje\test>javac -verbose TestSinifi.java
[parsing started TestSinifi.java]
[parsing completed 70ms]
[loading c:\usr\jdk1.4.2\jre\lib\rt.jar(java/lang/Object.class)]
[loading c:\usr\jdk1.4.2\jre\lib\rt.jar(java/lang/String.class)]
[checking TestSinifi]
[loading c:\usr\jdk1.4.2\jre\lib\rt.jar(java/lang/System.class)]
[loading c:\usr\jdk1.4.2\jre\lib\rt.jar(java/io/PrintStream.class)]
[loading c:\usr\jdk1.4.2\jre\lib\rt.jar(java/io/FilterOutputStream.class)]
[loading c:\usr\jdk1.4.2\jre\lib\rt.jar(java/io/OutputStream.class)]
[wrote TestSinifi.class]
[total 521ms]
Peki birden fazla dosya derlemek istersek ne yapacagiz? Bu durumda javac TestSinifi.java Blah.java Hello.java seklinde ardi ardina java dosyalarini ekleyebilirsiniz. ya da o anki dizindeki tum java dosyalarini derlemek icin javac *.java yazilabilir. Eger alt dizinlerde yer alan java dosyalarini da derlemek istiyorsaniz kaynak dosyalarin kokunu derleyiciye soylemeniz gerekir. javac -sourcepath C:\jproje\test *.java
5- Derlenen kodun calistirilmasi: Kisaca: "java -cp C:\jproje\test TestSinifi.class" ile kodu calistirin.
Derleme sonrasinda gene konsoldan "java -classpath C:\jproje\test TestSinifi" yazin. Eger bir sorun yoksa sistem calisacaktir ve ekrana "Merhaba Dunya, naber java?" yazisi cikacaktir. classpath bilgisi ile java'ya class dosyalarinin yani siniflarin yerini gostermis oluyoru. Bu konuda ikinci yazida aciklik getirmeye calisacaim. Ilk calistirma sirasinda bir iki saniyelik bir gecikme olabilir, bunun nedeni bellekte bir Java sanal makinesinin olusturulmasidir. Eger asagidaki mesaj cikarsa, tipki derleme asamasinda oldugu gibi sistem "java" yazilimini bulamiyor demektir.
'java' is not recognized as an internal or external command,operable program or batch file.
Bunun icin en guzeli su islemi gerceklestirin: Gene onceki asamadaki sistem degiskenleri ekraninda System variables icinde "JAVA_HOME" degiskeni varmi diye bakin, eger yoksa onu da ekleyin. Bunun icin new dugmesine basip Variable name bolumune "JAVA_HOME", Variable value bolumune ise "C:\Program Files\Java\j2re1.4.2_03" bilgisini girip tamam tusuna baisn. (ya da tam olarak JRE hangi klasore kurulmussa ona gore, hata yapma olasiligi her zaman var, iyice kontrol edin.). Ayrica path icerisine ";%JAVA_HOME%\bin" (tirnak isaretleri haric tabi) ekleyin. Artik yazilimin calismasi gerekir.
Eger derleyip calistirmaya calistiginiz java sinifinda public static **** main(String[] args) {} metodu yoksa, asagidaki hata mesaji ile karsilasirsiniz.
Exception in thread "main" java.lang.NoSuchMethodError: main
Eger, sistem icinde main metodunu barindiran soz konusu sinifi bulamazsa asagidaki hatayi verir. Bu hatayi olusturmak icin "java -cp C:\jproje TestSinifi" yazin. java belirtilen dizin icinde TestSinifi.class dosyasini bulamadigindan asagidaki hatayi verecektir.
Exception in thread "main" java.lang.NoClassDefFoundError: TestSinifi
Burada iki not, bu ornek icin -classpath C:\jproje\tmp yazmaya gerek olmayabilirdi. .class dosyasinin oldugu yerde dogrudan java TestSinifi yazmak yazilimi calistirmak icin yeterli olabilirdi. Ancak aliskanlik kazanmak icin classpath bilgisini her zaman yazmayi tercih edin. Ayrica, -classpath kelimesi yerine -cp yazmak yeterli olur.
6- Neden main metodu? Kisaca: main java'ya yazilima baslangic noktasi gosterir.
main metodu ozeldir. derlenen java siniflarini calistirabilmek icin java'nin bir baslangic noktasina ihtiyaci vardir. main metodu bu baslangic noktasini tamsil eder. main metodun baslangic noktasi ozelligine sahip olabilmesi icin public static **** main(String[] args) yapisinda olmasi gerekir. args kelimesi bile "args" olarak kullanilmalidir. Her java sinifi icerisinde bu sekilde main metodu barindirabilir. Bu su anlama gelir, bir java yaziliminin farkli baslangic noktalari olabilir.

Sayfa: 1 ... 8 9 [10] 11 12 ... 21