Free Web Hosting Provider - Web Hosting - E-commerce - High Speed Internet - Free Web Page
Search the Web

java da iki islem
konsol ortaminda sayilar ve islemler teker teker girilip toplama yada cikarma yapiyor...
kolay gelsin

import java.io.*;
class toplamacikarma2
{
  public static void main (String args[]) throws IOException
  {
   String islem= new String("");
   String s = new String("");
   String cevap = new String("");
   int sayi1,sayi2;
   int toplam,fark;
   BufferedReader cin=new BufferedReader(new InputStreamReader(System.in));
   do
   {  
     System.out.print("ilk sayi :");
     sayi1=Integer.parseInt(cin.readLine());      
     do
     {
       System.out.print("islem girin :");
       islem=cin.readLine();  
     }
     while(!((islem.equals("+"))||(islem.equals("-"))));
  
     System.out.print("ikinci sayi :");
     sayi2=Integer.parseInt(cin.readLine());  
    
     if (islem.equals("+"))
     {
       toplam = sayi1+sayi2;
       s=sayi1+" + "+sayi2+" = "+Integer.toString(toplam);
     }
     else if (islem.equals("-"))
     {
       fark = sayi1-sayi2;
       s=sayi1+" - "+sayi2+" = "+Integer.toString(fark);
     }
     System.out.println(s);
    
     System.out.print("\ndevam etmek istiyormusunuz (e/h yada enter) :");
     cevap=cin.readLine();  
   }
   while (cevap.equals("e"));
   cin.close();    
   System.out.print("\ngule gule... :) ");
  }  
}

Java ile Oracle Bağlantısı & Table Kullanımı
Bu örnek sizlere oracle veritabanına bağlanıp aldığınız
verileri bir tabloya nasıl aktarılabileceğiniz konusunda
bilgi verecektir.

package tablepackage;
import java.awt.Rectangle;
import java.awt.Dimension;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.BorderFactory;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.sql.*;


public class table extends JFrame
{

  public table()
  {
    try
    {
      jbInit();
      SimpleTable();
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }

  }

  private void jbInit() throws Exception
  {
    this.getContentPane().setLayout(null);
    this.setSize(new Dimension(400, 300));
  }

  public static void main(String[] arg)
  {
    table t = new table();
    t.setVisible(true);
  }

  private void SimpleTable()
  {   
  
        String url = "jdbc:odbc:dtinter";
String query = "select * from aylar";
Connection con;
Statement stmt;
        int i;
    
try {
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch(java.lang.ClassNotFoundException e) {
     System.err.print("Surucu bulunamadi");
  System.err.println(e.getMessage());
}


    JPanel jp = new JPanel();
    getContentPane().add(jp);
  
    /*Object[][] Data = {
    {"1000", "Asabi", new Boolean(true)},
    {"2000", "Fatura", new Boolean(true)},
    {"3000", "Fiş", new Boolean(false)},
    {"4000", "Yansıtma", new Boolean(true)
    };  
    
    String[] columnNames = {"SNO","ACIKLAMA","YABANCI"};
    JTable table = new JTable(data,columnNames);*/

    JTable table = new JTable(13, 3);
    /*Bu kısımda siz row ve column sayısını veritabanından okuyabilirsiniz.*/
    JScrollPane sp = new JScrollPane(table);
    
    table.setPreferredScrollableViewportSize(new Dimension(300,200));
    table.setFont(new Font("Tahoma", 0, 10));
    
try {
con = DriverManager.getConnection(url,"disticaret", "sa");
   stmt = con.createStatement();
   ResultSet rs = stmt.executeQuery(query);    
   i = 0;
   while (rs.next())
   {
    table.setValueAt(rs.getString("sno"),i,0);
    table.setValueAt(rs.getString("aciklama"),i,1);
    table.setValueAt(rs.getString("yabanciaciklama"),i,2);
    i = i + 1;
   }
     stmt.close();
     con.close();
   } catch(SQLException ex) {
     System.err.print("Gecersiz sql cumlesi");
     System.err.println(ex.getMessage());
   }

    jp.add(sp);
    jp.setSize(500,300);
    jp.setVisible(true);

    }
  
}
 
Jsp ile Oracle Veritabanına Erişim
Jsp ile oracle veritabanına erişim hakkında
iyi bir örnek jsp sayfası.

Bu örnek jsp ile verilere nasıl ulaşıp, nasıl
görüntüleme işlemi yapabileceğiniz konusunda sizlere fikir verecektir.

Not:Bu örnek için jdbc.jar dosyasının jsp serverınızda
bulunuyor olması gerekiyor.

 



<html>
<head>
<title>oracle.jsp</title>
</head>
<body>
<basefont face=tahoma size=2>
<center>

<%@ page language = "java" import = "java.util.*, java.sql.*, java.text.*" %>

<% String sqlx = request.getParameter("sqlx"); %>

<%
   String urlx = "jdbc:odbc:dnsname";
   int x = 0;

   try {        
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
   }
   catch(java.lang.ClassNotFoundException e) {
  System.err.print("Surucu bulunamadi");
  System.err.println(e.getMessage());
   }
   catch(java.lang.InstantiationException e){
  System.err.print("Yukleme hatasi");
  System.err.println(e.getMessage());
   }
   catch(java.lang.IllegalAccessException e){
  System.err.print("Gecersiz uygulama");
  System.err.println(e.getMessage());
   }

   Connection con = DriverManager.getConnection(urlx,"username","password");
   Statement statement = con.createStatement();

   if ( sqlx == null )    
   sqlx = "select sno,aciklama from aylar order by sno";
  

   ResultSet rs = statement.executeQuery(sqlx);
   ResultSetMetaData rsmd = rs.getMetaData();  

  
   //out.println(rsmd.getColumnTypeName(1));

   out.println("::: Oracle Veritabani :::");      
   out.println(" <br><br><br><table border=1>");      
    
   int cols = rsmd.getColumnCount();  


   out.println("<TR>");      
   for (int i = 1; i <= cols; i++)
   {
   out.println("<TD>"+ rsmd.getColumnName(i) + "</TD>");
   }
   out.println("</TR>");      


   while (rs.next())
   {      
       x = x + 1;
       out.println("<TR>");      
       for (int i = 1; i <= cols; i++)
       {
       out.println("<TD>");
       out.println(rs.getString(i));
       out.println("</TD>");        
       }
       out.println("</TR>");      
   }

   out.println("</table>");
   out.println("Kayıt Sayısı:" + x + "<br>");      

   statement.close();
   con.close();
%>



<form action="oracle.jsp" method="post">
<input type="text" name="sqlx" size="75" value="<%=sqlx%>" style="border:1 solid #999999 font-family:Tahoma">
<input type="submit" name="gonder" value="Execute" style="border:1 solid #999999 font-family:Tahoma">
</form>

</center>
</body>
</html>
 
1.6 ARİTMETİK İŞLEMLER
Javadaki temel aritmetik işlemler

Javadaki temel aritmetik işlemler şunlardır :

+  toplama  
- çıkarma  
* çarpma  
/ bölme  
% tamsayılar için bölmede kalan (modül )

Program 1.15 deki program örneği int tamsayı kullanarak bu aritmetik işlemlerin yapılmasını göstermektedir.

Program 1.15 :    Aritmetik.java konsol programı
 


import java.io.*; //java girdi cikti sinifini cagir
class Aritmetik
{
public static void main(String args[])
{
int sayi1,sayi2;
int toplama,cikarma,carpma,bolme,kalan;
sayi1=2;
sayi2=3;
toplama = sayi1+sayi12;
cikarma = sayi1-sayi2;
carpma = sayi1*sayi2;
bolme=sayi1/sayi2;
kalan=sayi1%sayi2;
System.out.println("sayi1 + sayi2 ="+toplama);
System.out.println("sayi1 - sayi2 ="+cikarma);
System.out.println("sayi1 * sayi2 ="+carpma);
System.out.println("sayi1 / sayi2 ="+bolme);
System.out.println("sayi1 % sayi2 ="+kalan);
}
}
 



Aritmetik.java konsol programı çıktısı :

sayi1 + sayi2 =5
sayi1 - sayi2 =-1
sayi1 * sayi2 =6
sayi1 / sayi2 =0
sayi1 % sayi2 =2

şeklinde olacaktır. Swing grafik kütüphanesi çıktısı pratiği yapmak amacıyla aynı programı  swing JoptionPane çıktısı ile yazarsak :

Program 1.16 :    AritmetikSW.java konsol programı
 


import javax.swing.JOptionPane; //java swing cikti sinifini cagir

class AritmetikSW

{

      public static void main(String args[])

      {

          String s;

          int sayi1,sayi2;

          int toplama,cikarma,carpma,bolme,kalan;

          sayi1=Integer.parseInt(

          JOptionPane.showInputDialog("birinci sayıyı giriniz : ")

                                );

          sayi2=Integer.parseInt(

          JOptionPane.showInputDialog("ikinci sayıyı giriniz : ")

                                );

          toplama = sayi1+sayi2;

          cikarma = sayi1-sayi2;

          carpma  = sayi1*sayi2;

          bolme   = sayi1/sayi2;

          kalan   = sayi1%sayi2;

          s="";

          s=s+sayi1+" +  "+sayi2+" = "+toplama+"
";

          s=s+sayi1+" -  "+sayi2+" = "+cikarma+"
";

          s=s+sayi1+" /  "+sayi2+" = "+carpma +"
";

          s=s+sayi1+" *  "+sayi2+" = "+bolme  +"
";

          s=s+sayi1+" %  "+sayi2+" = "+kalan  +"
";

          JOptionPane.showMessageDialog(null,s,

          "Aritmetik islemleri",JOptionPane.PLAIN_MESSAGE);

          System.exit(0);

       }

}
 



Bu programın çıktısı :


Şekil 1.12 AritmetikSW.java  dosyasının JOptionPane  çıktı   penceresinde görünümü

Java ve C dillerinde temel aritmetik işlemlerinin yanı sıra bu işlemlerin kısaltılmış sembolleri de oldukça sık kullanılır. Bu işlemler :



++   bir ilave et  
--   bir çıkar  
+= sağ taraftaki rakamı ilave et  
-=  sağ taraftaki rakamı çıkar  
*= sağ taraftaki rakamla çarp  
/=  sağ taraftaki rakama böl  
%= sağ taraftaki rakama bölüp kalanını al işlemleridir.

++   ve -- işlemleri değişkenden önce veya sonra gelebilir. Bu iki şeklin değişken tek başlarına kullanıldığında bir farklılıkları yoktur, fakat ikinci bir değişkenle birlikte tek bir deyimde kullanıldıklarında ikinci değişkenin değeri değişir. Aşağıdaki iki program parçacığına göz atalım.

++ işlemcisinin değişkenden sonra kullanılması  

int a=2;
int c;
c=a++; // a nın değeri 3 c nin değeri 2


++ işlemcisinin değişkenden önce kullanılması  

int a=2;
int c;
c=++a; // a nın değeri 3 c nin değeri 3


a değişkeninin değeri başlangıçta 2 ise görüldüğü gibi hem ++a işleminde hem de a++ işleminde değeri 3 e çıkmaktadır. Ancak c değişkeninin değeri c=a++ işleminde 2 olarak kalırken (önce değeri yükle sonra arttır), c=++a işleminde 3 olmaktadır(önce arttır, sonra değeri yükle). ++ ve -- işlemleri genelde tam sayı değişkenler için kullanılır.

Program 1.17 da aritmetik işlemleri gösteren bir program verilmiştir. Bu programın sonuçları da altta  verilmektedir. Programı basamak basamak takip ederek sonuçların doğruluğunu elde hesaplayarak kontrol edebilirsiniz

Program 1.17 : Aritmetik1.java aritmetik işlem örneği

 


import java.io.*;
public class Aritmetik1
{ public static void main(String[] args)
{
int sayi1=1;
int sayi2=2;
sayi1+=sayi2;
System.out.println("sayi1+= : "+ sayi1);
sayi1-=sayi2;
System.out.println("sayi1-= : "+ sayi1);
sayi1*=sayi2;
System.out.println("sayi1*= : "+ sayi1);
sayi1/=sayi2;
System.out.println("sayi1/= : "+ sayi1);
}
}
 




Aritmetik1 sınıfının sonuçları

sayi1+= : 3
sayi1-= : 1
sayi1*= : 2
sayi1/= : 1
 

1.8 JAVA DİLİNDE BİT KOMUTLARI VE İŞLEMLERİ
Bit işlemi doğrudan doğruya bitler üzerinde yapılan işlemlerdir. Bit işlemleri genellikle veri trasferi (bilgisayardan bilgisayara veya çeşitli kontrol sistemlerinde) işlemlerinde kullanılır.

Javadaki bit işlemleri Tablo 1.4 de verilmiştir.
Tablo 1.4 Java dilindeki bit işlemleri ve anlamları



Bit işleminde ne olduğuna bir örnekle bakalım.

int x=7;
x=x<<1;

bit işleminde x değişkeninin bit yapısı  sola doğru bir bit kaydırılmıştır. 7 değerinin bit eşdeğeri

00000000000000000000000000000111

şeklindedir. Sola doğru bir bit kaydığımızda

00000000000000000000000000001110

bit yapısı oluşacaktır. Bu yapının int karşılığı 14 dür.

int x=7;
x=x<<1;
x=~x;
işlemi

11111111111111111111111111110001

değerini verecektir.

Küçük bir programda bit işlemlerinin bazılarını kullanalım.

Program 1.19 :  Java bit  işlemleri örnek problemi bitislemi.java
 


class bitislemi{
     public static void main (String args[])
     {
     int x=7;
     System.out.println("x = "+x);
     x= x<<1;
     System.out.println("x = "+x);
     x= x<<1;
     System.out.println("x = "+x);
     x= x>>2;
     System.out.println("x = "+x);
     x= ~x;
     System.out.println("x = "+x);
     }
}
 



bu programın sonucu

x = 7
x = 14
x = 28
x = 7
x = -8

şeklinde olacaktır. Çıkan sonuçların bit eşdeğerlerini kontrol ediniz. Bit işlemleri aslında bilgisayarın ve digital elektronik devrelerin temel işlemleridir. Bu işlemler assembler dillerinin de temel işlemlerini teşkil ederler.

 

Robot sinifi kullanimina örnek ve bir saka :)
Bu programin bilgisayariniz acilinca otomatikman açilmasini saglayin ve...


import java.io.*;
import java.awt.*;
import java.awt.event.*;

public class OpenNotepad {
  Robot robot;
  Process p;
  
  public OpenNotepad() throws Exception{
    robot=new Robot();
  }
  

  public void run() throws Exception{
    Thread.sleep(5000); // süphe çekmemek için

    p=Runtime.getRuntime().exec("notepad");
    Thread.sleep(1000);
    typeLine("I am a virus",robot,true);
    typeLine("I will delete everything on your harddisc",robot,true);
    typeLine("I will save myself in your computer",robot,true);
    typeLine("Dont try  to remove me",robot,true);
    typeLine("    else I will destroy your PC",robot,true);
    typeLine("DO NOT TOUCH YOUR MOUSE",robot,true);
    Thread.sleep(1000);
    robot.keyPress(KeyEvent.VK_ALT);
    robot.keyPress(KeyEvent.VK_F4);
    robot.keyRelease(KeyEvent.VK_F4);
    robot.keyRelease(KeyEvent.VK_ALT);
    Thread.sleep(350);
    typeLine("",robot,true);
    Thread.sleep(100);
    typeLine("I am saving myself in your PC   Do not remove me",robot,false);
    Thread.sleep(900);
    typeLine("",robot,true);
    Thread.sleep(100);
    robot.keyPress(KeyEvent.VK_TAB);
    robot.keyRelease(KeyEvent.VK_TAB);
    typeLine("",robot,true);
  }
  public static void main(String[] args) throws Exception{
    OpenNotepad on=new OpenNotepad();
    on.run();
  }
  public void typeLine(String s,Robot robot,boolean enter) throws Exception{
    char[] array=s.toCharArray();
    for(int i=0;i<array.length;i++){
      Thread.sleep(random(60,200));
      if(array[i]>='a'&&array[i]<='z'){
        robot.keyPress((int)array[i]-(int)'a'+65);
        robot.keyRelease((int)array[i]-(int)'a'+65);
      }else if(array[i]==' '){
        robot.keyPress(KeyEvent.VK_SPACE);
        robot.keyRelease(KeyEvent.VK_SPACE);
      }else if(array[i]>='A'&&array[i]<='Z'){
        robot.keyPress(KeyEvent.VK_SHIFT);
        robot.keyPress((int)array[i]-(int)'A'+65);
        robot.keyRelease((int)array[i]-(int)'A'+65);
        robot.keyRelease(KeyEvent.VK_SHIFT);
      }else if(array[i]>='0'&&array[i]<='9'){
        robot.keyPress(KeyEvent.VK_SHIFT);
        robot.keyPress(KeyEvent.VK_0+(int)(array[i]-'0'));
        robot.keyRelease(KeyEvent.VK_0+(int)(array[i]-'0'));
        robot.keyRelease(KeyEvent.VK_SHIFT);
      }
    }
    if(enter){
      robot.keyPress(KeyEvent.VK_ENTER);
      robot.keyRelease(KeyEvent.VK_ENTER);
    }
    
  }
  public long random(long min,long max){
    return min+(int)(Math.random()*(max-min+1));
  }
}
 

Thread ile calısmak
Java kullanıyorsanız mutlaka Thread'lerle calısmıssınızdır.Bu bolumde kısa bir ornek bulacaksınız.Ornegin içerigi 10 dakikadan geriye dogru sayan bir sayac..

import java.awt.*;
import java.awt.event.*;

public class Clock extends Frame implements Runnable {

String str="Süre Bitti !";
Graphics g2;
Thread t;
Font f;
int i=9,j=59,w=100,h=100;
int x,y,s=0,e;
int en;
public Clock(String title){
super(title);
t=new Thread(this);
f=new Font("Helvetica",Font.BOLD,15);
t.start();

addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}

public void run(){

try{
for(j=59;j>=-1;j--){
if(j==-1)
{
j=59;
i--;

}
if(i==9 && j==49){
t.stop();
this.setBackground(Color.BLUE);
repaint();
}
System.out.println(j);
System.out.println(i);
t.sleep(1000);
repaint();
}

}

catch(Exception e){}

}

public void paint(Graphics g){

g.setFont(f);
g.drawString("Saat = "+i+" : ",w,h);
g.drawString(""+j,180,h);

}

public static void main(String args[]){
Clock o=new Clock("Ornek start..");
o.setSize(300,300);
o.setVisible(true);
o.setBackground(Color.black);
o.setForeground(Color.white);
}
}
 
1.3 JAVA PROGRAMLAMA DİLİ TEMEL DEĞİŞKEN TÜRLERİ
Javada temel değişken tipleri

Programlama dillerinde rakamlar bilgisayar belleğinin temel depolama birimlerine yazılırlar. Temel bilgisayar bellek birimi bit olarak adlandırılır. Bir bilgisayar belleğindeki tek bir transistörden oluşmuştur. Bu transistörden akım geçiyorsa tansistörün veya bitin bellek değeri 1 (bir) veya true (doğru) olarak alınır. Eğer akım geçmiyor veya düşük düzeyde bir akım geçiyorsa transistörün bellek değeri 0 (sıfır) veya false(yanlış) olarak alınır. Bilgisayar bit birimleri bir araya gelerek bilgisayar temel değişken türlerini yazabileceğimiz bir sistem oluştururlar. Değişken türü bilgisayar tarafından bilinmelidir, çünkü aynı bit topluluğu bir harfi simgeleyebileceği gibi bir rakamı da simgeleyebilir. Java dilinde Tablo 1.1 de görülen temel değişken türleri mevcuttur.

Tablo 1.1  Java Temel Değişken türleri


Şimdi bu temel değişken türlerinin bazılarını daha detaylı inceleyelim:

1.3.1 boolean değişken türü
boolean değişken türü mantık işlemlerinde kullanılır. Sadece true veya false değerleri alır. true doğru false yanlış anlamı taşır. Mantık değişkenleri ne doğrudan true  veya false  değerleri yüklenebileceği gibi diğer değişkenleri mantık işlemlerini kullanarak karşılaştırarakta değerleri programların içinde hesaplanabilir.

Aşağıdaki küçük program parçası mantık değişkeni ilk mantık değiskenini tanımlamakta ve doğru değerini bu değişkene yüklemektedir.

boolean ilkmantıkdegiskeni ;
ilkmantikdegiskeni=true;


1.3.2 char (harf) değişken türü

char değişken türü harflerin tanımlanmasında kullanılır. Harfler java dilinde ISO Unicode kodu ile bilgisayara aktarılır. Unicode 4 hekzagonal (16 tabanlı) sayının bir araya gelmesiyle oluşur. Hekzagonal sayı sisteminin onlu ve ikili sayı sistemiyle eşitliği şöyledir :

Tablo 1.2 Haksagonal(onaltılı), onlu ve ikili sayı sistemleri eşitlikleri


ISO Unicode da tanımlanan 'u0041' kodu 'A' harfi anlamına gelir. Veya 'u03E1' kodu ' a ' harfini tanımlar. ISO Unicode karakter setinin ilk iki rakamı sıfır olduğunda ASCII karakter kodunu tanımlar. Unicode hakkında daha ayrıntılı bilgi için
http:unicode.org

internet adresini ziyaret edebilirsiniz. Aşağıdaki küçük program parçacığı char tipi A1, A2 ve alpha1,alpha2 değişkenlerine A ve a harflerini yüklemektedir.


char A1,A2;
char alpha1,alpha2;
A1='u0041';
A2='A';
alpha1='u03E1';
alpha2='a ';


Burada şunu kaydedelim alpha1 değişkenini her ortamda doğru olarak görebiliriz, fakat alpha2 değişkeni bazı ortamlarda doğru olarak görülmeyebilir.

1.3.3 Tam sayı değişken türleri (byte, short,int,long)
Tam sayı değişkenler hafızada işgal ettikleri yere göre byte(8 bit), short(16 bit), int(32 bit) ve long(64 bit) adını alırlar. Bir bitlik hafızaya sadece iki rakamın (0 veya 1) yazılabileceği göz önüne alınırsa örneğin sekiz bitlik byte türü tamsayı değişkenine 256 sayı (ikili sayı eşiti 11111111) yazılabileceği ortaya çıkar. Bitlerden biri + veya - işareti için kullanıldığından byte değişkeninin sınır değerleri -128den 127 e kadardır (toplam 256 sayı). Eğer bir tamsayı değişkenin sadece artı değerlerini kullanmak istersek unsigned terimini kullanırız. Örneğin unsigned byte tipi tamsayı değişkenin sınır değerleri 0 dan 256 ya kadardır. Tamsayı değişken türleri içinde en fazla kullanılan int türüdür. Aşağıdaki küçük program parçacığında int türü ilktamsayi değişkenine 32 rakamı yüklenecektir.

int ilktamsayi;
ilktamsayi=32;

bu iki satırlık program parçacığı tek bir satır olarak
int ilktamsayi=32;

şeklinde de yazılabilirdi.



Javadaki tamsayı değişken türleri + ve – değeri alabilen türlerdir. Örneğin byte değişken türü –128 den +127 e kadar toplam 256 sayı kullanabilir. Eğer – bölgeyi kullanmayacaksak tamsayı değişkenlerin kullanım bölgesini unsigned deyimini kullanarak tamamen artı bölgeye çekebiliriz. Örneğin

unsigned byte artıbolgetamsayisi;

işlemiyle tanımlanan  artıbolgetamsayisi değişkeni 0 ile 256 arasında değerler alabilir.

1.3.4 Gerçek sayı değişken türleri (float, double,long double)


Gerçek sayı sistemleri de 0 ve 1 bitleri kullanılarak oluşturulabilir. Gerçek sayıların tamsayıdan küçük kısımları 2 li tabanda eksi üstler kabul edilerek oluşturulur. Örnek olarak 16 bitlik gerçek bir sayıyı ikili sistemdeki bilgisayar belleğinde şu şekilde gösterebiliriz :

Tablo 1.3 gerçek sayı 22.625e-17 yazılmasında kullanılan onlu ve ikili sayıların bellekte gerçek sayı organizasyonu örneği


Yukarıda 16 bitle temsil edilen sayı : +16+4+2+0.5+0.125)*10-(16+1) = 22.625e-17 rakamıdır. Gerçek sayı değişkende yeterli hassasiyeti sağlayabilmek için genelde 64 bit uzunluğundaki double değişken türü kullanılır. Javadaki Matematik kütüphaneleri de double değişken türü için tanımlanmıştır. Aşağıdaki küçük program parçacığında double türü ilkgercekdegisken değişkenine 22.625e-7 sayısını yüklüyoruz.

double ilkgerçekdegisken;
ilkgerceldegisken=22.625e-17;

eğer 64 bit double sayı hassaslığı yetmezse long double kullanılabilir.  Bu değişken türü 128 bit boyutundadır.
 

1.4 JAVA NESNESİ OLARAK TANIMLANMIŞ TEMEL DEĞİŞKENLER
Java nesne temelli bir dildir. Javadaki tüm değişken türlerinin nesne kökenli eşdeğerleri mevcuttur. Bunun yanında temel değişken türleri arasında yer almıyan String gibi sadece nesne kökenli olarak tanımlanmış değişken türleri de mevcuttur. Şimdi bunların bir kısmını biraz daha detaylı inceleyelim.

Java nesne temelli bir dildir. Javadaki tüm değişken türlerinin nesne kökenli eşdeğerleri mevcuttur. Bunun yanında temel değişken türleri arasında yer almıyan String gibi sadece nesne kökenli olarak tanımlanmış değişken türleri de mevcuttur. Şimdi bunların bir kısmını biraz daha detaylı inceleyelim.

1.4.1 String nesne tipi değişkeni
String değişkeni yazı yazdırma işleri için kullanılır. Nesne türü değişkendir. Java dilinde char değişken türü kullanılarak tanımlanmış bir nesne tipi değişkendir. Aşağıdaki küçük program parçacığında bu değişken türünün kullanılmasını görüyoruz.

String a="ali";
String c="veli";
String d;
d=a+b; // d nin değeri "ali veli"
System.out.println(d); // bu satır ali veli çıktısı verir

  

String türü sabitler her zaman " işaretleri arasına yazılırlar ve + işaretiyle bir araya getirilebilirler.

String türü değişkenleri tanımlamak için aynı zamanda

String a=new String("ali");
String c=new String("veli");
String d=new String();
d=a+b; // d nin değeri "ali veli"
System.out.println(d); // bu satır ali veli çıktısı verir


Formunu da kullanabiliriz. İkinci verdiğimiz form işlem olarak ilk verilenin tamamen aynıdır.
String türü bir değişkenin toplam boyutu length() alt metoduyla belirlenebilir. Örneğin

String a=new String("ali");
int x=a.length();

x değişkenine 3 değerini yükleyecektir.

Stringin alt metodu equals() karşılaştırma yapar. Örneğin

String a=new String("ali");
boolean y=a.equals(“ali”);
boolean z=a.equals(“veli”);


y boolean değişkenine true değerini, z boolean değişkenine false değerini  yükleyecektir.

1.4.2 Integer nesne tipi değişkeni
Integer değişkeni, string değişkeni gibi


Integer i;
i=new Integer(3);

veya

Integer i=new Integer(3);


Şeklinde tanımlanabilir. Integer tanımı  String değişkeni üzerinden de tanımlanabilir. Örneğin


String s=”15”;
Integer i=new Integer(s);


Tanımı 15 değerini yükler. Integer değerini int değerine (temel değişken) çevirebiliriz.


int x;
Integer  y=new Integer(3);
x=Integer.IntegerValue(y);


String değerini int değerine direkt olarak çevirmek içinse


String s=”15”;
int x=Integer.parseInt(s);


kullanılır.

int tipi (temel) değişkeni String değişkenine değiştirmek için


int x=3;
String s=Integer.toString(x);

kullanılır.

1.4.3 Double nesne tipi değişkeni
Double değişkeni kullanım olarak Integer değişkeninden bir farkı yoktur. Aynı tanımlamalar Integer yerine Double kullanılarak yapılabilir. Değişkenler
  

Double  x;
X=new Double(3.66e5);

veya

Double x=new Double(3.66e5);

Şeklinde tanımlanabilir. Double tanımı  String değişkeni üzerinden de tanımlanabilir. Örneğin


String s=”15.66e-3”;
Double x=new Double(s);


Tanımı 15.66*10 -3 değerini yükler. Double değerini double değerine (temel değişken) çevirebiliriz.


double x;
Double  y=new Double(15.66e-3);
X=Double.doubleValue(y);
int x;
Double  y=new Double(15.66e3);
x=Double.intValue(y);


String değerini double (temel değişken) değerine direkt olarak çevirmek içinse


String s=”15.25”;
double x=Double.parseDouble(s);



İşlemi kullanılabilir.

double tipi (temel) değişkeni String değişkenine değiştirmek için


double x=3.75;
String s=Double.toString(x);

kullanılır.

1.4.4 diğer nesne temelli değişken türleri

Object, Long, Float, Boolean, Character, Vector gibi diğer nesne tipi değişken türleri de mevcuttur. Object nesne tipi tüm bu değişken nesne tiplerini içinde barındıran genel bir tiptir. Tüm nesne tipi değişkenlerin bizim için temel avantajı alt metodlarını kullanarak işlemler gerçekleştime olasılıklarıdır. Fakat bu tür değişkenler temel değişken türlerine göre daha çok hafıza yeri işgal ettiklerinden mecbur kalınmadıkça da kullanılmamalıdırlar. Ayrıca Yine nesne tipi BigDecimal ve BigInteger türleri de hassasiyeti kullanıcı tarafından belirlenen nesne tipi değişkenler olarak kullanılabilirler