30 Aralık 2011 Cuma

Sensin Salak!

Burayı ihmal ettim, javayı ihmal ettim. Ve yine yeni yeniden bir sınava birkaç gün kala. Hoş değil java'nın bu oyunları.
Geçen java labında asistan, "java for dummies" (salaklar için java) diye internette yardımcı siteler bulabilirsiniz dedi. Salaklar için java ve ben gittikçe salaklaşıyorum. Bu yazı da çok salak oldu ayrıca.

14 Aralık 2011 Çarşamba

sizi java'yla tanıştırmama izin verin sayın kediseverler.

 Java nedir? Bu aralar hayatımın temel soru ve sorunlarından biri.

Java bir object-oriented programlama dilidir. Programlama methodolojisine göre, bir program birbirleriyle methodlar yardımıyla etkileşim içinde olan objelerden meydana gelmiştir. Aynı tür objeler, aynı class içinde bulunurlar. Java'da bütün yapılar classların bir parçasıdır. Her java programı en azından bir class'a sahiptir. Her bir class, methodları ve datayı tanımlayan yapılardır. Methodlar ise, komutları(statement) içeren yapılardır. Bütün java uygulama programları main methodla başlar.

 Evet söz uçar, yazı kalır; ama bu yazı pek akılda kalır değil.

public class deneme_sesbirki {
       
    /**
     * Creates a new instance of <code>deneme_sesbirki</code>.
     */
    public deneme_sesbirki() {
    }
   
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    }

En başta gördüğünüz "deneme_sesbirki" class'ın yani programın adı. main(String[]args) ise main method'umuz. Komutları bu kısmın içine yazacağız. Aradaki açıklamalara takılmayın.

System.out.println Bu en başta kafa karıştıran kelimeler bütünü, aslında candır, canandır. Bu komut, yazdığınız programın dili olur, sesi olur, bülbül gibi şakıtır programı. 

System.out, ekrana outpu göndermemizi sağlayan bir objedir. Objelerden tarafından gerçekleştirilen işlere, method denir. Println, System.out objesinin gerçekleştirdiği iştir/methoddur.

Java'da Değişken Tanımlama

Java'da dğeişken tanımlamak için, önce o değişkenin türünü, sonra adını belirtmeniz lazım. = bu arkadaş, değişken atama/belirleme operatorü olarak kullanılır. +'nın ise iki tür kullanımı var. 1.si iki iki dört eder'deki kullanımı, 2.si ise concatenation yani herhangi iki değişkeni yanyana yazmamızı sağlamasıdır.

Kod:? Gizemli duruşuna bakmayın yahu. Kod dediğin, şu dünyada bir program veya o bile değil, bir program parçasıdır.
Source Code daha bir mağrur durur. Java gibi high-level programlama dillerinde yazılan kodlardır. Compiler programların inputları olurlar.

Class
Java programları, class denilen küçük parçalara bölünmüşlerdir. Her class, farklı dosyalardadır ve ayrı olarak derlenirler. Her class tanımı, class'ın adıyla aynı adda ve .java ile biten bir dosyada olmalıdır.

Hasılı nerdeee Matlab'ın printf'i, disp'i, nerdee Java'nın system.out.println'i. Nerde Matlab'ın o değişkenin türünü kendi anlayan üstün zekası, nerde Java'nın küstahlığı. Evet kediseverler, bu java. Java, bunlar da kediseverler. Java sizinle tanıştığına memnun olmuş. Ya siz?

12 Aralık 2011 Pazartesi

Java Age Finder/Yaş Bulma Kodu

 Topu topu 5 puanlık performans notunun yüzde bilmem kaçını etkileyecek, belki de hiç etkilemeyecek bir ödev için saatlerimi harcadığıma inanamıyorum. Bu durumun en boğucu ve sinir bozucu yanı ise, insanı bir kısır döngüye itmesidir. Aptal saptal bir iş için ne kadar çok zaman harcarsanız, o kadar çok pişman olursunuz, aynı zamanda o kadar ona tutsak olursunuz. Bu kadar zaman harcadım bari harcadığıma değsin derken, bedeli ödenemeyecek şeyler yitirirsiniz. O kadar çok şey yitirirsiniz ki artık yitirdikleriniz gözünüze gelmemeye başlar ve daha çok şey yitirirsiniz. Bildiğin bataklık ve çırpındıkça batma kuralı.

 İnternetten kopyala-yapıştır-sonra üstünde biraz oyna ve özgünleştirmeye çalış olduğu için bu ödev, harcadığım onca zamana karşılık hiçbir şey öğrenemedim. Neyse en azından burada paylaşıp, birilerinin işine yarar hale getirebilirim bu ödevi. Amaç java'da doğum tarihini giren kullanıcının yaşını ve doğduğu günün haftanın hangi günü olduğunu bulan bir kod yazmaktı. Ve kod sizindir:

 Here is a little java program which takes the birthdate of the user as input and then displays his age and the weekday of his born:

import static java.util.Calendar.DATE;
import static java.util.Calendar.DAY_OF_WEEK;
import static java.util.Calendar.MONTH;
import static java.util.Calendar.YEAR;
import java.text.DateFormatSymbols;
import java.util.*;
public class agefinderrr
{
     public static void main(String[] args)
     {
      //This program get the birth date of the user as input and displays the age of the user and birthday of the user as sunday,monday etc.
      Scanner kb=new Scanner(System.in);
    System.out.print("Enter your birth year:");
      int byear=kb.nextInt();
      System.out.print("Enter your birth month:");
      int bmonth=kb.nextInt();
      System.out.print("Enter your birth day(1-31):");
      int bdate=kb.nextInt();
      GregorianCalendar birthdate = new GregorianCalendar(byear,bmonth,bdate);
      GregorianCalendar currentdate = new GregorianCalendar();
      GregorianCalendar birthday = new GregorianCalendar(currentdate.get(YEAR),birthdate.get(MONTH),birthdate.get(DATE));
      int theage = currentdate.get(currentdate.YEAR) - birthdate.get(YEAR);
      String[] brthday = new DateFormatSymbols().getWeekdays();
      System.out.println("This year you " + (birthday.after(currentdate) ? " will be " : "are ") + theage + " years old.");
      System.out.println("You were born on a " + brthday[birthdate.get(DAY_OF_WEEK)]);
     }
}

her ayrılık, özlemi yanında getirir.

Matlab'ı özlemek, evet var böyle bir şey. Matlab'ın samimiyeti, Java'nın o resmiyetiyle tanışınca burunda tüter. Yine bir kaybetmeden-değeri-anlaşılamayan vakası, yine hüzün, yine sigaramın dumanı.