Örnekler: 5. Bölüm

Bu bölümde Java’nın kontrol yapıları ele alınıyor. Dolayısıyla for ve while döngüleri, if, if-else ve switch karar mekanizmaları ile break ve continue akış kontrolü sağlayan anahtar kelimeleleriyle ilgili örnekler verilmektedir.

ListCharacters.java: Bir for örneğidir ve makinanızdaki karakter setinin ilk 256 karakterini (yanı ASCII ve Extended ASCII) ekrana basar.

package org.javaturk.oop.ch05;

public class ListCharacters {
    public static void main(String[] args) {
    	
        for(char c = 0; c < 256; c++)
            System.out.println("value: " + (int)c + " character: " + c);
    }
}

 

ListCharacterWithIf.java: Yukarıdaki örneğin, if kullanılarak bir satıra 10 karakter gelecek şekilde düzenlenmiş hali.

public class ListCharactersWithIf {

	public static void main(String[] args) {

		for (char c = 0; c < 256; c++) {
			System.out.print("\t" + (int) c + " : " + c);
			if (c % 10 == 0 & c != 0)
				System.out.print("\n");
		}
	}
}

 

IfElseDemo.java: Basit bir if-else kontrol mekanizması örneği.

package org.javaturk.oop.ch05;

public class IfElseDemo {
    
    public static void main(String[] args) {
    	
        String testscore = args[0];
        int score = (new Integer(testscore)).intValue();
        
        char grade;

        if (score >= 90) {
            grade = 'A';
        } else if (score >= 80) {
            grade = 'B';
        } else if (score >= 70) {
            grade = 'C';
        } else if (score >= 60) {
            grade = 'D';
        } else {	// Comment out this else see what happens to grade variable
            grade = 'F';
        }
        System.out.println("Your grade = " + grade);
    }
}

 

WhileDemo.java: basit bir while kullanımı.

package org.javaturk.oop.ch05;

public class WhileDemo {
    public static void main(String[] args) {
    	
        double r = Math.random();
        
        while(r < 0.8d) {
            r = Math.random();
            System.out.println(r);
        }
    }
}

 

DoWhileDemo.java: Yukarıdaki örneğin do-while ile yapılmış hali.

package org.javaturk.oop.ch05;

public class DoWhileDemo {
    public static void main(String[] args) {
    	
        double r = 0;
        
        do {
            r = Math.random();
            System.out.println(r);
        }while(r < 0.8d);
    }
}

 

AgeClassifier.java: Girilen yaşlara göre hangi yaş aralığında kaç kişi olduğunu bulup ekrana basar.

package org.javaturk.oop.ch05;

import java.util.Scanner;

public class AgeClassifier {

	private static Scanner in = new Scanner(System.in);
	private static int childCount;
	private static int youngCount;
	private static int middleAgeCount;
	private static int oldCount;

	public static void main(String[] args) {
		System.out.println("This program classifies people based on their ages.");
		System.out.println("Here are the ranges:");
		System.out.println(" 1-12 : Child \n 13-30: Young \n 31-49: Middle age \n 60-  : Old \n");

		while (true) {
			System.out.println("Please enter the age:");
			int age = in.nextInt();
			if ((age <= 0) || (age > 120)) {
				System.out.println("Are you kidding me?");
				break;
			} else if ((1 <= age) & (age <= 12))
				childCount++;
			else if ((13 <= age) & (age <= 30))
				youngCount++;
			else if ((31 <= age) & (age <= 49))
				middleAgeCount++;
			else
				oldCount++;
		}
		System.out.println("Here is the classification:");
		System.out.println("There are " + childCount + " children.");
		System.out.println("There are " + youngCount + " young people.");
		System.out.println("There are " + middleAgeCount + " middle age people.");
		System.out.println("There are " + oldCount + " old people.");
	}
}

 

MonteCarloPI.java: Bu örnek ise Monte Carlo yöntemiyle pi sayısını hesaplar. Monte Carlo algoritmik bir yaklaşımdır ve örnekteki de, girilen nokta sayısı ne kadar çok olursa pi sayısına o kadar yakınsayan bir algoritmadır.

package org.javaturk.oop.ch05;

import java.util.Scanner;

public class MonteCarloPI {
	public static void main(String[] args) {
		int dotsInCircle = 0;
		System.out.print("Number of points: ");
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		
		double start = System.currentTimeMillis();
		for(int i = 0; i<n; i++){
			double x = Math.random();
			double y = Math.random();
			double distance = Math.pow(x, 2) + Math.pow(y,2);
			if(distance <= 1.0)
				dotsInCircle++;
		}
		double finish = System.currentTimeMillis();
		
		double seconds = (finish-start)/1000;
		double myPI = (double) 4*dotsInCircle/n;
		System.out.println("My PI is: " + myPI + " and Java's PI is: " + Math.PI);
		System.out.println("Time is: " + seconds);
	}
}

 

SwitchDemo.java: Girilen sayıya göre ayı ekrana basan bir örnektir.

package org.javaturk.oop.ch05;

import java.util.Scanner;

public class SwitchDemo {
    
    public static void main(String[] args) {
    	System.out.println("A number :");
	Scanner stdin = new Scanner(System.in);
	int month = stdin.nextInt();

        switch (month) {
            case 1:  System.out.println("January"); break;
            case 2:  System.out.println("February"); break;
            case 3:  System.out.println("March"); break;
            case 4:  System.out.println("April"); break;
            case 5:  System.out.println("May"); break;
            case 6:  System.out.println("June"); break;
            case 7:  System.out.println("July"); break;
            case 8:  System.out.println("August"); break;
            case 9:  System.out.println("September"); break;
            case 10: System.out.println("October"); break;
            case 11: System.out.println("November"); break;
            case 12: System.out.println("December"); break;
            default: System.out.println("Error! Please enter the month number between 1 and 12"); break;
        }
    }
}

 

StringInSwitchDemo.java: Java SE 7 ile birlikte gelen, String tiplerin switch yapısında kullanımını gösteren örnek.

package org.javaturk.oop.ch05;

public class StringInSwitchDemo {

	public static void main(String[] args) {
		String dayInEnglish = args[0];
		
		final String s = "sunday";
		
		switch(dayInEnglish){
			case "monday":		System.out.println("Pazartesi"); break;
			case "tuesday":		System.out.println("Sali"); break;
			case "wednesday":	System.out.println("Çarsamba"); break;
			case "thursday":	System.out.println("Persembe"); break;
			case "friday":		System.out.println("Cuma"); break;
			case "saturday":	System.out.println("Cumartesi"); break;
			case s:				System.out.println("Pazar"); break;
		}
	}
}

 

BreakDemo.java: break anahtar kelimesiyle akışın yönlendirilmesine bir örnektir.

package org.javaturk.oop.ch05;

public class BreakDemo {

	public static void main(String args[]) {
		for (int i = 1; i <= 5; ++i) {
			if (i == 4)
				break; // Terminate loop. Control to ***
			System.out.println(i + "\t" + Math.sqrt(i));
		} // end of for loop
		System.out.println("I'm here.");
	} // ***
}

 

ContinueDemo.javacontinue anahtar kelimesiyle akışın yönlendirilmesine bir örnektir.

package org.javaturk.oop.ch05;

public class ContinueDemo {

	public static void main(String args[]) {
		for (int i = 1; i <= 5; ++i) {
			if (i == 4)
				continue; // Skip the rest for this iteration
			System.out.println(i + "\t" + Math.sqrt(i));
		} // end of for loop
	}
}

 

BreakAndContinueDemo.java: break ve continue anahtar kelimeleriye akışın yönlendirilmesine bir örnektir.

package org.javaturk.oop.ch05;

public class BreakAndContinue {
	public static void main(String[] args) {
		for (int i = 0; i < 100; i++) {
			if (i == 74)
				break; // Out of for loop
			if (i % 9 != 0)
				continue; // Next iteration
			System.out.println(i);
		}

		int i = 0;
		while (true) {
			i++;
			int j = i * 27;
			if (j == 1269)
				break; // Out of loop
			if (i % 10 != 0)
				continue; // Top of loop
			System.out.println(i);
		}
	}
}

 

BreakAndContinueWithLabelDemo.java: Etiket kullanarak break ve continue anahtar kelimeleriye akışın yönlendirilmesine bir örnektir.

package org.javaturk.oop.ch05;

public class BreakAndContinueWithLabelDemo {

	public static void main(String[] args) {
		int[][] arrayOfInts = { { 32, 87, 3, 589 }, { 12, 1076, 2000, 12 }, { 622, 127, 12, 955 } };
		int searchfor = 12;

		int i = 0;
		int j = 0;
		boolean foundIt = false;

		search: for (; i < arrayOfInts.length; i++) {
			for (j = 0; j < arrayOfInts[i].length; j++) {

				if (arrayOfInts[i][j] == searchfor) {
					foundIt = true;
					System.out.println("Found " + searchfor + " at " + i + ", " + j);
					break search;
				}
			}
		}

		if (!foundIt)
			System.out.println(searchfor + "not in the array");
	}
}

 

ReversingANumber.java: break ve continue anahtar kelimelerini kullanarak girilen bir doğal sayının rakamlarını tersten sıralayan bir örnektir.

package org.javaturk.oop.ch05;

import java.util.Scanner;

public class ReversingANumber {
	private static Scanner in;
	
	public static void main(String[] args) {
		System.out.println("This program reverses the number you enter.");
		System.out.println("Please enter a natural number that has digits between 2 and 9.");
		while (true) {
			int number = 0;
			String numberString = null;
			in = new Scanner(System.in);
				numberString = in.next();
				if(numberString.equalsIgnoreCase("X"))
					break;
				try {
					number = Integer.parseInt(numberString);
			} catch (NumberFormatException e) {
				System.out.println("Please enter a number thas at least two digits and at most 9 digits:");
				continue;
			}
			
			numberString = String.valueOf(number);
			int length = numberString.length();
			if((length < 2) || (length > 9) || number < 0){
				System.out.println("Please enter a positive number thas at least two digits and at most 9 digits:");
				continue;
			}
			
			StringBuilder sb = new StringBuilder(length);
			for(int i = length-1; i >= 0; i--){
				sb.append(numberString.charAt(i));
			}
			String reversedNumberString = sb.toString();
			System.out.println("Number you entered: " + numberString);
			System.out.println("Reverse of your number: " + reversedNumberString);
			System.out.println("\nPlease enter a natural number that has digits between 2 and 9.");
		}
		in.close();
	}
}

 

 

Bu yazı toplam 1957 defa görüntülenmiştir.

4 Comments

  1. genel okuyucu
    15 Ocak 2015 @ 19:55

    Örnekler: 5. Bölüm.. 4. yü atlamışsınız sanki 🙂

  2. Akin
    15 Ocak 2015 @ 22:28

    🙂 ANlamadım ki 🙂
    Atlanan şey nedir?
    Teşekkürler.

  3. genel okuyucu
    01 Şubat 2015 @ 13:05

  4. Akin
    01 Şubat 2015 @ 13:24

    Farkındayım 🙂 Geliyor 4. bölüm de.
    Aslıdna https://github.com/javaturk/OOP adresinde tüm örnekler var.
    Teşekkürler.

Leave a Reply

*

*