instagram twitter linkedin github youtube

1.6.18

desimal sayıyı Binary formatına dönüştüren Applet

Method 1: Using toBinaryString() method

class DecimalBinaryExample{
     
    public static void main(String a[]){
     System.out.println("Binary representation of 124: ");
     System.out.println(Integer.toBinaryString(124));
        System.out.println("\nBinary representation of 45: ");
        System.out.println(Integer.toBinaryString(45));
        System.out.println("\nBinary representation of 999: ");
        System.out.println(Integer.toBinaryString(999));
    }
}
Output:
Binary representation of 124: 
1111100

Binary representation of 45: 
101101

Binary representation of 999: 
1111100111

Method 2: Without using predefined method

class DecimalBinaryExample{
 
  public void convertBinary(int num){
     int binary[] = new int[40];
     int index = 0;
     while(num > 0){
       binary[index++] = num%2;
       num = num/2;
     }
     for(int i = index-1;i >= 0;i--){
       System.out.print(binary[i]);
     }
  }
 
  public static void main(String a[]){
     DecimalBinaryExample obj = new DecimalBinaryExample();
     System.out.println("Binary representation of 124: ");
     obj.convertBinary(124);
     System.out.println("\nBinary representation of 45: ");
     obj.convertBinary(45);
     System.out.println("\nBinary representation of 999: ");
     obj.convertBinary(999);
  }
}
Output:
Binary representation of 124: 
1111100
Binary representation of 45: 
101101
Binary representation of 999: 
1111100111

Method 3: Decimal to Binary using Stack

import java.util.*;
class DecimalBinaryStack
{
  public static void main(String[] args) 
  { 
    Scanner in = new Scanner(System.in);
 
    // Create Stack object
    Stack<Integer> stack = new Stack<Integer>();
 
    // User input 
    System.out.println("Enter decimal number: ");
    int num = in.nextInt();
 
    while (num != 0)
    {
      int d = num % 2;
      stack.push(d);
      num /= 2;
    } 
 
    System.out.print("\nBinary representation is:");
    while (!(stack.isEmpty() ))
    {
      System.out.print(stack.pop());
    }
    System.out.println();
  }
}
Output:
Enter decimal number: 
999

Binary representation is:1111100111

object ile class arasında ne fark vardır

Sınıf (Class) : Sınıflar nesne yönelimli (object oriented) programlamanın en önemli öğesidir. Sınıflar sayesinde programlar parçalara bölünür ve karmaşıklığı azalır. Yaratılan metodlar ve özellikler bir sınıfın içerisinde yer alır ve bir sınıf defalarca kullanılabilir. Bir sınıfta hem fonsiyonlar hem de veriler aynı anda birbiriyle sıkı bir şekilde bağlı olarak bulunurlar.Bir sınıf kendisinde oluşturulacak nesneler için bir takım üyeler içermelidir. Bu üyeler; alanlar (fields), metodlar (methods), yapıcılar (constructor), özellikler (properties), olaylar (events), delegeler (delegates), vb...dir.Sınıf nesneler için bir şablon görevi görmektedir. Yani sınıf nesnelerin durumları ile ilgili işlemleri ve özellikleri tanımlar. Ortak özelliklere sahip nesnelere ait veri ve yordamlar bir sınıfın içinde toplanır. Bu sınıf yapısı kullanılarak programın içinde nesneler tanımlanır.


Nesne (Object) :Nesneye yönelik programlamada nesneler sınıflardan üretilirler. Nesler sınıfların aksine canlıdır ve kimlikleri vardır. Aynı sınıftan üretilmiş iki nesnenin sahip olduğu özellikler benzerdir ancak bu özellikler farklılıklar da gösterebilir. Bir ifadenin nesne olabilmesi için bellekte yer belirtmesi gerekir. Sınıfı kullanan programda nesneler tanımlanır ve bu nesnelere mesajlar gönderilir. Gönderilen mesajlara göre yeni bir nesneye gereksinim duyulduğunda bu nesne yaratılır. Mesajlar karşısında bir davranışta bulunmak sınıfın işidir. Bir nesne kendi hakkında, yapabileceği işlemler ile ilgili bilgiler saklar.Programın gereksinim duyduğu tüm veriler nesneler tarafıdan tutulur. Yapılan işlemin cinsine göre nesnelerde farklı bilgiler içerirler

object ile class arasında ne fark vardır

Gerçek hayat problemleri sınıf şablonları kullanılarak bilgisayar ortamına daha kolay ve anlaşılabilir bir biçimde aktarılabilir.

Sınıflar ve kodlar düzenli bir biçimde saklanarak zaman kaybı yaşanmaz.

Nesne yönelimli programlamada herhangi bir projede kullanılmak üzere yaratılan bir sınıf başka projelerde tekrar kullanılabilir.

Düzgün arabirimlerle birleşen sınıflar yaratabilir ve bu sınıfların birbirlerini minimum düzeyde etkileyecek şekilde programlar tasarlanarak birimsellik özelliğinden faydalanılabilir.

Sınıf yapısı

Metotlar üç ayri erisim kuralına göre tanımlanabilir. Bunlar public, protected ve private olarak adlandırılmıştır. Metotların bir geri dönüş değeri de vardır. Bir metodun geri dönüş değerinin boş olması istendiğinde bir prosedür ya da bunun mümküm olmadığı dillerde boş veri türü olan void kullanılmaktadır.

Verileri de metotlar da olduğu gibi üç erişim kuralı ile tanımlanabilir.

Yapıcı ve yıkıcı metotlar (constructor, destructor) otomatik olarak sistem tarafından çağrılır. Yıkıcı metotlar, nesnelerin bellekten silinmesi sırasında çağrılır. Böylece işi biten nesne için bellekte ayrılmış olan kısım, yeni nesneler için tekrar kullanılabilir. Yıkıcı metotlar hiçbir parametre almaz ve değer döndürmez.

Kurucu Metodlar diğer metot farkları

Java'da her nesne oluşturulduğunda aslında otomatikman bir kurucu metod çağırılır. Yani biz constructar tanımlamasak bile java bunu yapar. Kurucu metodlar "new" anahtar kelimesiyle çağırılırlar. Hemen bir örnekle açıklayalım.

public class Kitap{ //kitap adında bir nesne tanımladım

Kitap(){ //nesnenin kurucu metodu

}

}

Kurucu metodlar klasik metodlara benzesede iki noktada ayrılırlar.

1-Kurucu metodlar sınıf adıyla aynı ismi taşırlar.

2-Geri dönüş değerleri yoktur. (void,int String vb. gibi)

Kurucu metodların bu iki temel özelliğinden başka iki tane daha ayrıntı vardır.

1-Bir sınıfın kurucu metodu yazılmamışsa default sayılır ve parametresizdir.

2-Eğer bir sınıfın parametresiz constructor'ı varsa default constructor'ı iptal olur.


Abstract(Soyut) Sınıflar ve Interface(Arayüzler)

Soyut sınıflar, kendisinden türetilecek olan sınıflara arayüz sağlar. Türeteceğiniz yeni sınıfları bir kalıba(arayüz) zorlar ve kalıtımla kod tekrarını azaltır. Soyut sınıfllar, tek başlarına bir anlam ifade etmezler. Bu yüzden soyut sınıflardan nesne üretilemez.

abstract  anahtar kelimesini metot veya sınıfların başlarına yazarak tanımlayabilirsiniz. Eğer bir absract metot tanımladıysanız kesinlikle o metotun sınıfını da abstract olarak tanımlamalısınız. Aksi takdirde hata verecektir.

Soyut metotlara  kendi sınıfı içinde gövde yazılamaz ve türetildiği sınıfta bu metotlar ezilmek(override) zorundadır yani yeniden tanımlanmalıdır.


Interface (Arayüzler)
Arayüzler soyut sınıflar ile hemen hemen aynıdır. Alt sınıflara bir standart belirlersiniz ve alt sınıflarda bu standarta uymadığınız zaman hata verir. Soyut sınıf iki temel farkı vardır

Arayüzlerde sadece gövdesiz metot tanımlaması yapabilirsiniz.
Soyut sınıflarda sadece bir kez miras(extends) alarak uygulayabilirken, arayüzlerde istediğiniz kadar uygulayabilirsiniz(implements).
interface anahtar kelimesi ile tanımlanır  ve implements anahtar kelimesi ile sınıflara uygulanır.