:::: MENU ::::
Java

Java’da public ve private class oluşturma ve kullanımı

Java’da public ve private class oluşturma ve kullanımı

Insan.java:


public class Insan
int yas;
int kilo;
String adi;
String meslek;
public void Beslen(String yemek_ismi, int kalori){
}
}

Hayvan.java:


public class Hayvan {
private String hayvan_adi;
private String hayvan_cinsi;
private int hayvan_yasi;
public void Avlanma(String kimi, int kacadet){
}
public void setHayvan_adi(String hayvan_adi) {
this.hayvan_adi = hayvan_adi;
}
public void setHayvan_cinsi(String hayvan_cinsi) {
this.hayvan_cinsi = hayvan_cinsi;
}
public void setHayvan_yasi(int hayvan_yasi) {
this.hayvan_yasi = hayvan_yasi;
}
public int getHayvan_yasi() {
return hayvan_yasi;
}
}

MainActivity.java:

Insan ahmet = new Insan();
ahmet.adi = "Ahmet";
ahmet.yas = 34;
ahmet.kilo = 80;
ahmet.meslek = "Öğretmen";
ahmet.Beslen("Adana Kebabı", 1000);
Hayvan aslan = new Hayvan();
aslan.setHayvan_adi = "Aslan";
aslan.setHayvan_cinsi = "Kara";
aslan.setHayvan_yasi = 50;
int hyvnyas=aslan.getHayvan_yasi();
Hayvan at=new Hayvan();
at.setHayvan_adi("At");
at.setHayvan_cinsi("Kara");
at.setHayvan_yasi(30);
at.Avlanma("Ot",10);


Java hassasiyetin kaybolmasına izin vermez

Örneğin:

int k;
double l;
l = k = 13.72;

Yukardaki komutlar ile (=) sembolünün birleşme özelliği sağdan sola olduğu için,

( l = (k = 13.72));

sırasıyla atamalar yapılacaktır. Java hassasiyetin kaybolmasına izin vermeyeceği için k=13.72 atamasında,

“possible loss of precision” veya Eclipse’te “cannot convert from double to int”

şeklinde bir hata mesajı verilecektir. Java’da sadece programcının açıkça cast ifadeleri ile,

(int) 13.72

gibi, hassasiyetin kaybolmasına özellikle izin verdiğini belirtmesi halinde bu tür atamalar yapılır.

public class Uyg10{
public static void main(String[ ] args){
int k;
double l;
l = k =13.72;
System.out.println("l="+l);
System.out.println("k="+k);
}
}

uyg10

public class Uyg10{
public static void main(String[ ] args){
int k;
double l;
l = k =(int)13.72;
System.out.println("l="+l);
System.out.println("k="+k);
}
}

uyg10_dogru

Kaynak: https://gelecegiyazanlar.turkcell.com.tr/konu/android/egitim/android-101/aritmetiksel-atama-operatorleri


Kayan noktalı bir tip yerine tamsayı tipini kullandığımızda ne olur?

public class FloatDeneme1 {
public static void main(String[] args) {
int sinav1=50;
int sinav2=55;
int ortalama_yaklasik =(sinav1+sinav2)/2;
float ortalama_tam =(float) (sinav1+sinav2)/2;
System.out.println("Sinav ort. (yaklasik): "+ortalama_yaklasik);
System.out.println("Sinav ort. (tam olrk): "+ortalama_tam);
}
}

Bu programın çıktısı şu şekilde olacaktır:
floatdeneme1

Gördüğünüz gibi int tipindeki ortalama_yaklasik değişkenin 52,5 çıkan sonucu, tamsayı tipinde olduğu için 52’ye yuvarladı. float tipindeki ortalama_tam değişkeni ise olması gerektiği gibi 52,5 olarak kaldı.

NOT: float ortalama = (float) (sinav1+sinav2)/2; satırındaki (float) ifadesi ile “(sinav1+sinav2)/2” işleminden gelen sonucun float olarak tutulmasını sağlıyoruz.

Gördüğünüz gibi kayan noktalı değişkenleri tanımlarken bazı ifadelere dikkat etmek gerekiyor.

Kaynak: https://gelecegiyazanlar.turkcell.com.tr/konu/android/egitim/android-101/float-turundeki-ifadeler