0% found this document useful (0 votes)
73 views325 pages

Java Turkce

Uploaded by

koseliabk111
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
73 views325 pages

Java Turkce

Uploaded by

koseliabk111
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

JAVA

QUESTION
BANK

2022
TechPro Education LLC.

JAVA Questions Bank

Copyright © TechPro Education LLC, 2022

All publication rights of this work belong to TechPro Education LLC.

All right reserved. No part of this book may be reproduced


or transmitted in any form or by any means, electronic
or mechanical, including photocopying, recording,
or by any information storage and retrieval system
without permission in writing from TeachPro Education.

ISBN : 979-8-9862229-2-9

[Link]
Published: September 2022
PREFACE
What is JAVA?

Java is a versatile and powerful programming language that enables developers to


create robust, high-performance applications. Java is platform-independent, meaning
that programs written in Java can run on any operating system. Java programming
language is a high-level, object-oriented, and general-purpose computer programming
language. Using java you can write computer applications, games, and utility software.
Programming and coding with Java is an excellent way to develop your skills in coding
and programming. Java is a versatile language that can be used for developing a wide
range of applications. In addition, Java's Just-In-Time compiler makes it possible to run
Java programs at high speed. Java is an excellent choice for developing a wide variety of
applications.

Why should I learn JAVA?

Java is easy to learn and use, making it an ideal choice for beginners. Programming
and coding with Java will allow you to develop applications for a variety of platforms,
including Windows, Mac, Linux, and Android.

As you become more proficient in coding with Java, you will be able to develop
increasingly complex applications. In addition, you will be able to take advantage of the
many features that Java offers, such as its object-oriented programming model and its
rich set of libraries.

With its versatility, ease of use, and rich set of features, Java is an ideal choice for
anyone interested in coding and programming.

About the book

Mastering Java can be challenging, especially for beginners. This question bank
will help you hone your Java skills, whether you're just starting or looking to take your
knowledge to the next level.
ABOUT THE AUTHOR
Mr. Alptekin has more than 10 years of teaching experience and touched many people's
lives by teaching development courses.

Mr. Alptekin is a very passionate instructor. He is currently teaching development classes


such as APEX, SOQL, JAVA at TechPro Educations for future developers.

Mr. Alptekin holds Bachelor's in Mathematics and an Associate degree in Computer Sci-
ence. He has Oracle JAVA, AWS, and Scrum Mater certified. He is also a high-rated Udemy in-
structor. Mr. Alptekin is one of the TechPro Education co-founders as well.
CONTENTS
PART 1 - TESTS
Introduction to Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Variables Wrappers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Increment Decrement Concatenation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Scanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Type Casting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
If Else - If ElseIf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
NestedIf Ternary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Nested Ternary Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
String Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
String Methods For Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
For Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
While Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Do While Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Instance Local Variables Method Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Constructors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Static Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Static Block Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Multi Dimensional Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99
Array Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
For Each Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110
Date Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116
Varargs Access Modifiers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122
String Builder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128
Encapsulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134
Inheritance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142
Inheritance Constructor Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146
Overriding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155
Overloading-Overriding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168
Exceptions - 1 - 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .176
Exceptions - 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185
CONTENTS
Abstract Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195
Interface - 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .203
Interface - 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210
Iterators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .219
Collections 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226
Collections 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232

PART 1 - APEX QUESTIONS


Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .239
Type Casting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241
Wrapper Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242
String Manipulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .243
Date Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249
Date - Time Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .252
If Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254
Ternary Statement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .261
Switch-On Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .264
Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .274
Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .299
Lists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307
Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .316
Maps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319

Answer Keys. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .323


TESTS
Java Introduction to Java

1. Java'da objelerle ilgili aşağıdakilerden hangisi yanlıştır?

A) Objelerin özellikleri ve işlevleri olur.


B) Özellikler Fields, işlevler method olarak adlandırılır.
C) Objeler Class'lar kullanılarak oluşturulur.
D) Objeler Class'lar için birer kalıptir.

2. Java'da Class'lar için aşağıdakilerden hangisi yanlıştır?

A) Class isimleri büyük harf ile baslar.


B) Class'lar kalıp gibi kullanılarak objeler üretilir.
C) Class'larda da Fieldlar ve Methodlar vardır.
D) Class isimlerinden sonra ( ) kullanılır.

3. Java'da Access Modifier'larla ilgili aşağıdakilerden hangisi yanlıştır?

A) Giriş düzenleyici demektir. Oluşturulan bir Class'a kimin ulaşıp kimin ulaşamayacağını
düzenlemeye yarar.
B) Java'da 4 tane Access Modifier vardır.
C) Bir Class'in Access Modifieri "public" olursa, o Class'a herkes ulaşabilir demektir.
D) Class oluştururken Access Modifierlar Class isminden hemen sonra yazılır.

4. Aşağıdakilerden hangisi bir Class oluşturmak için doğru yazılan bir kod'dur?

A) public class MyFirstClass{ }


B) class public MyFirstClass{ }
C) MyFirstClass public class{ }
D) public class myFirstClass{ }

Techpro Education 9
Introduction to Java

5. public int myFirstMethod(){ }


Yukarıda yazılan kod ile ilgili aşağıdakilerden hangisi yanlıştır?

A) Bir method oluşturmak için yazılmıştır.


B) "int" return type olarak adlandırılır ve method'un ürettiği sonuçun tipinin tamsayı olduğunu
ifade eder.
C) Method ismi küçük harfle başlatılarak hata yapılmıştır.
D) “{” ile başlayıp “}” ile biten kısım Method Body olarak isimlendirilir.

6. Aşağıdakilerden hangisi main method oluşturmak için yazılan koddur?

A) public static void main(String[ ] args) { }


B) public static void Main(String[ ] args) { }
C) public void static main(String[ ] args) { }
D) public static void main(String() args) { }

7. public static void main(String[ ] args) { }

Yukarıda verilen kod ile ilgili aşağıdakilerden hangisi yanlıştır?

A) Java programlarının başlangıç noktasıdır.


B) Main Method olarak adlandırılır.
C) Bir Java programında main method olmazsa o program çalıştırılamaz.
D) Hiçbiri.

10 Techpro Education
Introduction to Java

8. Java'da bir method 1.2 ile 4.7'i topluyor.

Aşağıdakilerden hangileri doğrudur?

A) Bu method 5.9 return eder


B) Bu method'un return type'i ondalıklı sayıdır.
C) Bu methodun ismi küçük harfle başlamalıdır.
D) Bu method'un access modifier'i public olmak zorundadır.

9. Aşağıdaki eşleştirmelerden hangisi yanlıştır?

A) fields = variables
B) functions = methods
C) entry point = main method
D) void = access modifier

10. Aşağıdakilerden hangileri doğrudur?

A) OOP Object Oriented Programming demektir


B) Integrate parçaları bir araya getirmek demektir.
C) Java Code'larını 0 ve 1 lere çevirmek Compile demektir.
D) 0 elektrik var, 1 elektrik yok demektir.

Techpro Education 11
Java Variables

1. Hangileri doğrudur?

A) [Link]("Ali");
[Link]("Can");
Yukarıdaki ifade console'a AliCan yazdırır

B) [Link]("Ali");
[Link]("Can");
Yukarıdaki ifade console'a AliCan yazdırır

C) [Link]("Ali");
[Link]("Can");
Yukarıdaki ifade console'a
Ali
Can
yazdırır

D) [Link]("Ali");
[Link]("Can");
Yukarıdaki ifade console'a
Ali
Can
yazdırır

2. 1) "class" kelimesi
2) Class ismi
3) Access Modifier
4) { }

Class oluşturabilmek için yukarıdakilerin doğru sıralaması aşağıdakilerden hangisi gibi


olmalıdır?

A) 3 - 1 - 2 - 4
B) 3 - 2 - 1 - 4
C) 2 - 3 - 1 - 4
D) 4 - 2 - 1 - 3

12 Techpro Education
Variables

3. 1) ( )
2) Access Modifier
3) { }
4) Return Type
5) Method Ismi
Bir metod oluşturmak için yukarıdakilerin doğru sıralanışı hangisi gibi olmalıdır?

A) 2 - 4 - 5 - 1 - 3
B) 2 - 5 - 4 - 1 - 3
C) 2 - 1 - 3 - 4 - 5
D) 3 - 4 - 5 - 1 - 2

4. Java'da toplama işlemi yapan bir method yazdık. Bu method 3 ile 5 tam sayılarını toplayarak bize
sonuçunu veriyor.
"Return Type" aşağıdakilerden hangisidir?

A) 8
B) Tamsayı
C) 3 ile 5
D) Toplama

5. Ekrana "Java Kolaydır" yazdırmak için aşağıdakilerden hangileri doğrudur?

A) [Link](Java Kolaydır);
B) [Link]("Java Kolaydır")
C) [Link]("Java Kolaydır");
D) [Link]("Java Kolaydır");

Techpro Education 13
Variables

6. int fiyat = 123;


Aşağıdakilerden hangisi doğrudur?

A) [Link]("fiyat");
Ekrana 123 yazdırır.
B) [Link](fiyat);
Ekrana 123 yazdırır.
C) [Link]('fiyat');
Ekrana fiyat yazdırır.
D) [Link]('fiyat');
Ekrana 123 yazdırır.

7. Hangisi yanlıştır?

A) 8 byte 1 bittir.
B) Memory'nin en küçük parçası bittir.
C) Her boolean memory'de 1 bit yer kaplar.
D) boolean'lar için iki farklı değer vardır.

8. Java kodlarının arasına yorum cümlesi veya cümleleri eklemek isteyen biri aşağıdakilerden
hangilerini yapabilir?

A) // Ben bir yorum cümlesiyim Java beni okumaz

B) / Ben bir yorum cümlesiyim Java beni okumaz /

C) /*
Ben bir paragraftaki yorum cümlesiyim Java beni okumaz
Ben bir paragraftaki yorum cümlesiyim Java beni okumaz
Ben bir paragraftaki yorum cümlesiyim Java beni okumaz
/*

D) /*
Ben bir paragraftaki yorum cümlesiyim Java beni okumaz
Ben bir paragrafaki yorum cümlesiyim Java beni okumaz
Ben bir paragraftaki yorum cümlesiyim Java beni okumaz
*/

14 Techpro Education
Variables

9. Aşağıdaki kodlardan hangileri ekrana


Ali Can
216 1234567
Imza
yazdırır?

A) [Link]("Ali Can");
[Link]("216 1234567");
[Link]("Imza");
B) [Link]("Ali Can");
[Link]("216 1234567");
[Link]("Imza");
C) [Link]("Ali");
[Link](" Can");
[Link]("216 1234567");
[Link]("Imza");
D) [Link]("Ali Can");
[Link]("216 1234567");
[Link]("Imza");

10. int x = 12;


int y = 13;
Aşağıdakilerden hangileri yukarıdaki ile aynı anlamdadır?

A) int x; int y;
x = 12; y = 13;
B) int x = 12, y = 13;
C) int x = 12, int y = 13;
D) int (x = 12, y = 13);

Techpro Education 15
Java Variables Wrappers

1. Aşağıdakilerden hangisi yanlıştır?

A) primitive data type'lar Java tarafından üretilmiştir. Bilgisayar programcıları yeni primitive data
type'lar üretemezler.
B) Bir ilçenin nüfusunu gösteren bir variable için "byte" data type kullanılabilir.
C) Türkiye'de bir öğretmenin aylık maaşını gösteren bir variable için "short" data type
kullanılabilir.
D) Java butun ondalik sayıları otomatik olarak "double" olarak kabul eder, eğer siz ondalık sayıyı
"float" yapmak isterseniz sonuna "f" veya "F" koymalısınız.

2. long data type'larin alabileceği maximum değeri bulmak için aşağıdaki kodlardan hangisi
yazılmalıdır?

A) [Link](Long.Max_Value);
B) [Link]([Link]-VALUE);
C) [Link](LONG.MAX_VALUE);
D) [Link](Long.MAX_VALUE);

3. Aşağıdakilerden hangileri doğrudur?

A) int harf = 'a';


[Link](harf );
Ekrana a yazdırır.
B) char harf = 'b';
[Link](harf );
Ekrana b yazdırır.
C) [Link]('a' + 'b');
Ekrana bir sayı yazdırır.
D) int harf = 'a';
[Link](harf );
Kodu yanlış yazılmıştır, int data type'ina char atanamaz.

16 Techpro Education
Variables Wrappers

4. Aşağıdakilerden hangisi "non-primitive data type" lar için yanlıştır?

A) String bir "primitive data type" dir.


B) Bilgisayar programcıları istedikleri kadar "non-primitive data type" üretebilirler.
C) "non-primitive data type" larin memory'de kapladıkları yer hep aynı büyüklüktedir.
D) "non-primitive data type" lar memory'de değer yanında method da içerirler.

5. Hangileri doğrudur?

A) Primitive’ler sadece value içerir, non-primitive’ler value and methodlar içerir.


B) Primitive’ler küçük harf ile, non-primitive’ler büyük harf ile başlar.
C) Primitive’leri Java oluşturdu biz primitive oluşturamayız.
Non-primitive’leri biz de oluşturabiliriz, Java da oluşturabilir.
D) Primitive’lerin büyüklükleri data type’ing göre değişir, non-primitive’lerin hepsi aynı
büyüklüktedir.

6. Aşağıdakilerden hangileri doğrudur?

A) [Link]('b' > 'B');


Console'a true yazdırır.

B) [Link]('At');
Console'a At yazdırır.

C) [Link]('a' + 0);
Compile Time Error verir.

D) char ch = ''; //Tek tirnak arasında hiçbirşey yok


[Link](ch);
Compile Time Error verir.

Techpro Education 17
Variables Wrappers

7. Aşağıdakilerden hangileri Compile Time Error verir?

A) float f1 = 1.34;
B) byte b1 = 723;
C) String s1 = ""; //Cift tirnak arasında hiçbirşey yok
D) double d1 = 5;

8. byte b1 = 10;
byte b2 = 20;
byte b3 = b1 * b2;
[Link](b3);
Yukarıdaki kod ile ilgili aşağıdakilerden hangisi doğrudur?

A) Ekrana b3 yazdırır.
B) Ekrana 200 yazdırır.
C) Compile Time Error verir.
D) Hiçbiri

9. Aşağıdakilerden hangileri Wrapper Class'lar için doğrudur?

A) Her primitive data type için bir tane Wrapper Class vardır.
B) Wrapper Class'lar non-primitive'dir.
C) Wrapper Class'lar içlerinde variable değeri ve faydali methodlar içerirler.
D) Boolean, Char, Byte, Short, Int, Long, Float ve Double wrapper class'lardır.

10. String s1 = "Java Kolaydır";


[Link]([Link]());
Yukarıdaki kodun ekran çıktısı nedir?

A) Java Kolaydır
B) Java Kolaydır
C) JAVA Kolaydır
D) Compile Time Error verir

18 Techpro Education
Java Increment Decrement Concatenation

1. [Link](2+3x(4+5));
Ekran çıktısı nedir?

A) 29
B) 45
C) 19
D) 23

2. int sayı1 = 5;
int sayı2 = 2;
int sonuç = sayı1 / sayı2;
[Link](sonuç);
Yukarıdaki kod çalıştırıldığında ekran çıktısı ne olur?

A) 2.5
B) 2
C) 1
D) Hiçbiri

3. int sayı1 = 5;
int sayı2 = 2;
double sonuç = sayı1 / sayı2;
[Link](sonuç);
Yukarıdaki kod çalıştırıldığında ekran çıktısı ne olur?

A) 2.5
B) 2.0
C) 2
D) Hiçbiri

Techpro Education 19
Increment Decrement Concatenation

4. double sayı1 = 5;
double sayı2 = 2;
double sonuç = sayı1 / sayı2;
[Link](sonuç);
Yukarıdaki kod çalıştırıldığında ekran çıktısı ne olur?

A) 2.5
B) 2.0
C) 2
D) Hiçbiri

5. int num = 12;


num isimli variable'in değerini 1 artirmak için aşağıdakilerden hangisi yanlıştır?

A) num = num + 1;
B) num=+1;
C) num++;
D) num+=1;

6. int num = 12; num isimli variable'in değerini 2 azaltmak için aşağıdakilerden hangileri
yapılabilir?

A) num = num - 2;
B) num-=2;
C) num--;
D) num-2=num;

20 Techpro Education
Increment Decrement Concatenation

7. int x = 12;
int y = 15;
x*=2;
y/=3;
x++;
y--;
[Link](x + y);
Yukarıdaki programın ekran çıktısı nedir?

A) 24
B) 27
C) 29
D) 3

8. Aşağıdakilerden hangisinin ekran çıktısı "true" değildir?

A) [Link](2+3 = 5);
B) [Link](2+3 >= 5);
C) [Link](2+3 <= 5);
D) [Link](2+4 != 5);

9. int g = 2
int h = 4;
String i = "A";
Aşağıdakilerden hangileri doğrudur?

A) [Link]((g*h) + [(h-g) + i] + (g-h));


Console'a 82A-2 yazdırır
B) [Link]((g*h) + (h-g) + i + (g-h));
Console'a 10A-2 yazdırır
C) [Link]((g*h) + (h-g) + (h/g) + i );
Console'a 12A yazdırır

Techpro Education 21
Increment Decrement Concatenation

10. int num1 = 4;


int num2 = 5;
String str1 = “Ali”;
Hangileri doğrudur?

A) [Link](str1 + num1 + num2);


Console'a Ali45 yazdırır

B) [Link](num1 + str1 + num2);


Console'a 4Ali5 yazdırır

C) [Link](num1 + num2 + str1);


Console'a 45Ali yazdırır

D) [Link](str1 + [num1 + num2]);


Console'a Ali9 yazdırır

22 Techpro Education
Java Scanner

1. Scanner scan = new Scanner([Link]);


Yukarıdaki kod parçası ile ilgili aşağıdakilerden hangisi yanlıştır?

A) Scanner class'i kalıp olarak kullanılarak scan isimli bir object oluşturulmuştur.
B) new kelimesi object oluştururken kullanılan bir keyword'dur.
C) Scanner scan = new Scanner([Link]);
kodu yazıldıktan sonra kırmızı bir alt çizgi alırız, bu hata mesajıdır. Bu hatayı düzeltmek için
Scanner class'ini [Link] kütüphanesinden import etmemiz gerekir.
D) Hiçbiri

2. Scanner scan = new Scanner([Link]);


[Link]("Lutfen bir sayı giriniz");
double sayı = [Link]();
[Link](sayı*sayı);
Yukarıdaki program ile ilgili aşağıdakilerden hangileri yanlıştır?

Program kullanıcıdan sayı alır ve bu sayının karesini ekrana yazdırır.


Program ekrana sayı*sayı yazdırır.
Program hatalı yazılmıştır.
Kullanıcı tamsayı girerse program çalışmaz.

3. Kullanıcının girdiği, sadece true veya false değerlerini içeren data'yi yazdığımız
programdaki bir variable'a atayabilmek için hangi method kullanılmalıdır?

A) nextBoolean()
B) next()
C) nextInt()
D) Hiçbiri

Techpro Education 23
Scanner

4. Kullanıcıdan bir byte data type'inda bir sayı alıp, o sayının 5 katını ekrana yazdırmak için
aşağıdaki kodlardan hangileri yazilabilir?

A) Scanner scan = new Scanner([Link]);


[Link]("Lutfen -128 ile 127 arasında bir sayı giriniz");
Byte sayı = [Link]();
[Link](5*sayı);

B) Scanner scan = new Scanner([Link]);


[Link]("Lutfen -128 ile 127 arasında bir sayı giriniz");
byte sayı = [Link]();
[Link](sayı + sayı + sayı + sayı + sayı);

C) Scanner scan = new Scanner([Link]);


[Link]("Lutfen -128 ile 127 arasında bir sayı giriniz");
int sayı = [Link]();
[Link](5*sayı);

D) Scanner scan = new Scanner([Link]);


[Link]("Lutfen -128 ile 127 arasında bir sayı giriniz");
double sayı = [Link]();
[Link](sayı + sayı + sayı + sayı + sayı);

5. Scanner scan = new Scanner([Link]);


[Link]("Kare'nin bir kenar uzunluğunu giriniz");
double kenar = [Link]();
double alan = kenar*kenar;
[Link]("Alan: " + alan);
Yukarıda verilen kod ile ilgili aşağıdakilerden hangisi doğrudur?

A) Kullanıcının girdiği her değer için


Ekrana Alan: alan yazdırır.
B) Kullanıcı 5 girerse
Ekrana Alan: 25 yazdırır.
C) Kullanıcı 7 girerse
Ekrana Alan: 49.0 yazdırır.
D) Program çalışmaz

24 Techpro Education
Scanner

6. Hangisi yanlıştır?

A) char harf = [Link]().charAt(0);


Kullanıcıdan char type'inda bir data almak için yukarıdaki kod kullanılır.
B) String isim = [Link]();
Kullanıcıdan tek kelimelik bir data almak için yukarıdaki kod kullanılır.
C) String isim = [Link]();
Kullanıcının girdiği String type'indaki tüm data'yi almak için yukarıdaki kod kullanılır.
D) char harf = [Link]();
Kullanıcıdan char type'inda bir data almak için yukarıdaki kod kullanılır.

7. Aşağıdakilerden hangileri doğrudur?

A) Scanner scan = new Scanner([Link]);


[Link]("Ad ve soyadınızı giriniz");
String isim = [Link]();
[Link](isim);
Kullanıcı Ali Can girerse ekrana Ali Can yazar
B) Scanner scan = new Scanner([Link]);
[Link]("Ad ve soyadınızı giriniz");
String isim = [Link]();
[Link](isim);
Kullanıcı Ali Can girerse ekrana Ali yazar
C) Scanner scan = new Scanner([Link]);
[Link]("Ad ve soyadınızı giriniz");
String isim = [Link]();
[Link](isim);
Kullanıcı 12,345 girerse ekrana 12,345 yazar
D) Scanner scan = new Scanner([Link]);
[Link]("Ad ve soyadınızı giriniz");
String isim = [Link]();
[Link](isim);
Kullanıcı true false girerse ekrana true false yazar

Techpro Education 25
Java Type Casting

1. [Link](2+3x(4+5));
Ekran çıktısı nedir?

A) 29
B) 45
C) 19
D) 23

2. Scanner scan = new Scanner([Link]);


[Link]("Adınızı giriniz");
String isim = [Link]();
[Link](isim);
Yukarıdaki kod çalıştırıldığında kullanıcı Ali Can girerse ekran çıktısı ne olur?

A) Ali Can
B) Ali
C) Can
D) Hiçbiri

3. next() ile nextLine() arasındaki farklar aşağıdakilerden hangileridir?

A) next() ilk space karakterine kadar olan String'i alir, sonrasını almaz.
B) nextLine() kullanıcının girdiği tüm String'i alir.
C) next() char data type'lar için, nextLine() String data type'lar için kullanılır.
D) next() ve nextLine() aynı isi yapar.

26 Techpro Education
Type Casting

4. int sayı1 = 5;
int sayı2 = 2;
int sonuç = sayı1 / sayı2;
[Link](sonuç);
Yukarıdaki kod çalıştırıldığında ekran çıktısı ne olur?

A) 2.5
B) 2
C) 1
D) Hiçbiri

5. int sayı1 = 5;
int sayı2 = 2;
double sonuç = sayı1 / sayı2;
[Link](sonuç);
Yukarıdaki kod çalıştırıldığında ekran çıktısı ne olur?

A) 2.5
B) 2.0
C) 2
D) Hiçbiri

6. double sayı1 = 5;
double sayı2 = 2;
double sonuç = sayı1 / sayı2;
[Link](sonuç);
Yukarıdaki kod çalıştırıldığında ekran çıktısı ne olur?

A) 2.5
B) 2.0
C) 2
D) Hiçbiri

Techpro Education 27
Type Casting

7. "Auto Widening" nedir?

A) Küçük data tipini büyük data tipine atarsak Java


otomatik olarak küçük data tipini büyük data tipine çevirir.
Bu isleme "Auto Widening" denir.

B) Büyük data tipini küçük data tipine atarsak Java


otomatik olarak büyük data tipini küçük data tipine çeviremez.
Bunu biz yapmalıyız. Bizim yaptigimiz bu isleme "Auto Widening" denir.

C) boolean data type'indaki bir variable'in char data type'indaki bir variable'a atanmasına "Auto
Widening" denir.

8. Aşağıdakilerden hangisi "Auto Widening"e örnektir?

A) byte sayı1 = 12;


int sayı2 = sayı1;

B) long sayı1 = 234;


short sayı2 = sayı1;

C) int sayı1 = 57;


int sayı2 = sayı1;

D) short sayı1 = 1232;


byte sayı2 = (byte)sayı1;

28 Techpro Education
Type Casting

9. Aşağıdakilerden hangisi "Explicit Narrowing"'e örnektir?

A) int sayı1 = 987;


int sayı2 = sayı1;

B) short sayı1 = 127;


byte sayı2 = (byte)sayı1;

C) long sayı1 = 732;


short sayı2 = sayı1;

D) byte sayı1 = 17;


int sayı2 = sayı1;

10. double sayı1 = 18.934;


int sayı2 = (int)sayı1;
[Link](sayı2);
Yukarıdaki kod çalıştırıldığında ekran çıktısı aşağıdakilerden hangisidir?

A) 18.934
B) 18
C) Hiçbiri
D) 19

Techpro Education 29
Java If Else - If ElseIf

1. if ( 5 > 7 && 10 > 6 ) {


[Link]("Elma");
} else {
[Link]("Armut");
}
Ekran çıktısı nedir?

A) Elma
B) Armut
C) Hiçbiri

2. if ( 5 < 7 && 10 > 6 ) {


[Link]("Elma");
} else {
[Link]("Armut");
}
Ekran çıktısı nedir?

A) Elma
B) Armut
C) Hiçbiri

3. if ( 5 > 7 | | 10 < 6 ) {
[Link]("Elma");
} else {
[Link]("Armut");
}
Ekran çıktısı nedir?

A) Elma
B) Armut
C) Hiçbiri

30 Techpro Education
If Else - If ElseIf

4. If(yas > 65){


[Link]("Emekli");
}
If(yas<70){
[Link]("Dede");
}
Yaşı 67 olan birisi için ekran çıktısı aşağıdakilerden hangisidir?

A) Emekli
Dede
B) EmekliDede
C) Emekli
D) Dede

5. if(sayı != 10){
[Link]("Elma");
}else{
[Link]("Armut");
}
9 için ekran çıktısı nedir?

A) Elma
Armut

B) Elma

C) Armut

D) Hiçbiri

Techpro Education 31
If Else - If ElseIf

6. if(sayı<100){
[Link]("Elma");
}
if(sayı<90){
[Link]("Armut");
}
80 için ekran çıktısı nedir?

A) Elma
Armut
B) Elma
C) Armut
D) Hiçbiri

7. if(sayı<100){
[Link]("Elma");
}else{
[Link]("Armut");
}
100 için ekran çıktısı nedir?

A) Armut
B) Elma
C) Elma
Armut
D) Hiçbiri

8. Aşağıdakilerden hangisi "OR" işlemi için yanlıştır?

A) Sembolü | |
B) Şartlardan birinin doğru olması sonuçun doğru olması için yeterlidir.
C) Sonucun false olması için şartların ikisi de false olmalıdır.
D) Hiçbiri

32 Techpro Education
If Else - If ElseIf

9. Aşağıdakilerden hangisi "AND" işlemi yanlıştır?

A) Sembolu ||
B) Sonucun false olması için butun şartların false olması gerekir
C) Sonucun true olması için şartlardan birinin true olması yeterlidir
D) Hepsi

10. Scanner scan = new Scanner([Link]);


[Link]("Bir pozitif inteğer giriniz");
int a = [Link]();

if(a>9 && a<100) {


[Link]("Elma");
}
if(a>99 && a<1000) {
[Link]("Armut");
}
if(!(a>99 && a<1000) && !(a>9 && a<100)) {
[Link]("Karpuz");
}
Yukarıdaki koda göre aşağıdakilerden hangileri doğrudur?

A) Kullanıcı 55 girerse console'a Elma yazdırır.


B) Kullanıcı 555 girerse console'a Armut yazdırır.
C) Kullanıcı 5555 girerse console'a Karpuz yazdırır.
D) Kullanıcı Karpuz girerse console'a Karpuz yazdırır

Techpro Education 33
Java NestedIf Ternary

1. int y = 20;
[Link]((y >= 20) ? (2 + y) : (y-3));
Ekran çıktısı nedir?

A) 20
B) 22
C) 17
D) Kod çalışmaz

2. int y = 8;
int x = (y %2 == 1) ? (3 * y) : (y/4);
[Link](x);
Ekran çıktısı nedir?

A) 2
B) 24
C) 8
D) Hiçbiri

3. int y = 12;
if(y%2==0){
[Link](3*y);
}else{
[Link](5+y);
}
Aşağıdakilerden hangilerinin ekran çıktısı yukarıdaki ile aynıdır?

A) int y = 12;
int x = y%2==0 ? 3*y : 5+y;
[Link](x);
B) int y = 12;
int x = y%2>0 ? 5+y : 3*y;
[Link](x);
C) int y = 9;
int x = y%3!=1 ? 4*y : 8+y;
[Link](x);

34 Techpro Education
NestedIf Ternary

4. int y = 2;
int z = 0;
z>=0 ? y++ : z--;
[Link](y + “," + z);
Ekran çıktısı nedir?

A) 3,0
B) 2,0
C) 3,-1
D) 2,-1

5. if([Link]("Erkek")) {
if(yas<18) {
[Link]("Elma");
}else {
[Link]("Armut");
}
}else if([Link]("Kadin")) {
if(yas<18) {
[Link]("Portakal");
}else {
[Link]("Erik");
}
}else {
[Link]("Domates");
}
Aşağıdakilerden hangisi yanlıştır?

A) Kullanıcı Erkek ve 18 girerse output Armut olur


B) Kullanıcı Erkek ve 12 girerse output Elma olur
C) Kullanıcı Kadın ve 32 girerse output Erik olur
D) Kullanıcı kadın ve 13 girerse output Portakal olur

Techpro Education 35
NestedIf Ternary

6. Scanner scan = new Scanner([Link]);


[Link]("Enter an inteğer");
int a = [Link]();

if(a%2==0) {
if(a%3==0) {
[Link]("Woooow!");
}else {
[Link]("Hmmmm!");
}
}else{
if(a%3==0) {
[Link]("Normal!");
}else {
[Link]("Yazik!");
}
}
Yukarıdaki kod ile ilgili aşağıdakilerden hangisi yanlıştır?

A) Kullanıcı 6 girerse output Woooow! olur


B) Kullanıcı 10 girerse output Hmmmm! olur
C) Kullanıcı 9 girerse output Normal! olur
D) Kullanıcı 15 girerse output Yazik! olur

7. Scanner scan = new Scanner([Link]);


[Link]("Bir tamsayı giriniz");
int n = [Link]();
int result = n>=0 ? n : -1*n;
[Link](result);
Aşağıdakilerden hangisi yanlıştır?

A) n=2 ise console'a 2 yazdırır.


B) n=-2 ise console'a 2 yazdırır.
C) n=0 ise console'a 0 yazdırır.
D) Hiçbiri

36 Techpro Education
NestedIf Ternary

8. Scanner scan = new Scanner([Link]);


[Link]("Enter password");
String password = [Link]();
char initial = [Link](0);

if(initial>='A' && initial<='Z') {


if(initial=='A') {
[Link]("Gecerli");
}else {
[Link]("Gecersiz");
}
}else if(initial>='a' && initial<='z') {
if(initial=='z') {
[Link]("Gecerli");
}else {
[Link]("Gecersiz");
}
}else {
[Link]("Bu ne?");
}
Aşağıdakilerden hangisi yanlıştır?

A) Kullanıcı Ali girerse output Geçerli olur


B) Kullanıcı cem girerse output Geçersiz olur
C) Kullanıcı 123 girerse output Bu ne? olur
D) Kullanıcı B123 girerse output Geçerli olur

Techpro Education 37
NestedIf Ternary

9. Scanner scan = new Scanner([Link]);


[Link]("Ürün miktarını sayı olarak giriniz");
int miktar = [Link]();
[Link]("Ürün birim fiyatını giriniz");
double fiyat = [Link]();
double result = miktar>1000 ? fiyat*0.9*miktar : fiyat*miktar;
[Link](result);

Aşağıdakilerden hangileri doğrudur?

A) miktar = 2000 ve fiyat = 3 ise console'a 5400.0 yazdırır.


B) miktar = 200 ve fiyat = 3 ise console'a 600.0 yazdırır.
C) miktar = 1000 ve fiyat = 3 ise console'a 2700.0 yazdırır.
D) miktar = 900 ve fiyat = 3 ise console'a 2460.0 yazdırır.

10. Scanner scan = new Scanner([Link]);


[Link]("Iki tamsayı giriniz");
int n1 = [Link]();
int n2 = [Link]();
int result = n1 > n2 ? n2 : n1;
[Link](result);

Aşağıdakilerden hangileri doğrudur?

A) n1 = 12 ve n2 = 13 ise console'a 12 yazdırır


B) n1 = 12 ve n2 = -15 ise console'a -15 yazdırır
C) n1 = 12 ve n2 = 12 ise console'a 12 yazdırır
D) n1 = -13 ve n2 = 0 ise console'a -13 yazdırır

38 Techpro Education
Java Nested Ternary Switch

1. switch(m) {
case 'A':
[Link]("First letter");
break;
case 'B':
[Link]("Second letter");
case 'C':
[Link]("Third letter");
break;
case 'D':
[Link]("Fourth letter");
default:
[Link]("What kind of letter is this?");
}
m'nin hangi değerleri için console'a What kind of letter is this? yazdırır?

A) B
B) C
C) D
D) E

Techpro Education 39
Nested Ternary Switch

2. switch(dayNum) {
case 1:
[Link]("Sunday");
break;
case 2:
[Link]("Monday");
break;
case 3:
[Link]("Tuesday");
break;
case 4:
[Link]("Wednesday");
break;
case 5:
[Link]("Thursday");
break;
case 6:
[Link]("Friday");
break;
case 7:
[Link]("Saturday");
break;
default:
[Link]("Enter a valid day number");
}
1) Kullanıcı herhangi bir gün sayısı girdiğinde o gunun ve sonraki günlerin isimlerini ekranda
görmek istiyor.
2) default mesajını geçerli gün sayısı girdiğinde görmek istemiyor.
Buna göre yukarıdaki kod'dan kac tane "break;" kodunu silmelidir?

A) 5
B) 6
C) 7
D) 4

40 Techpro Education
Nested Ternary Switch

3. int x = (y > 5) ? (y<10 ? 2+y : 3*y) : (y>10 ? 2*y : 3+y);


Hangileri doğrudur?

A) If y = 10 then the value of x is 30


B) If y = 4 then the value of x is 8
C) If y = 11 then the value of x is 13
D) If y = 1 then the value of x is 4

4. String str = (y > 'a' && y<'z') ? (y<'f' ? "Good" : "Bad") : (y>'K' ? "Big" : "Small");
Hangileri doğrudur?

A) If y = 'c' then the value of str is Good


B) If y = 'h' then the value of str is Bad
C) If y = 'K' then the value of str is Small
D) If y = 'P' then the value of str is Big

5. boolean result = (y%2==0 || y<13) ? (true) : (y<0 ? true : false);


[Link](result);
Hangisi yanlıştır?

A) if y = 12 then
prints true on the console
B) if y = -12 then
prints true on the console
C) if y = 15 then
prints false on the console
D) if y = -17 then
prints false on the console

Techpro Education 41
Nested Ternary Switch

6. String result = (a%2!=0 && a>29) ? ("Good") : ("Bad");


[Link](result);
Hangileri doğrudur?

A) If a = 33 then the output is Good


B) If a = 29 then the output is Bad
C) If a = 12 then the output is Bad
D) If a = 44 then the output is Good

7. int i = 1;
int j = 0;
switch (i) {
case 2 :
j += 6;
case 4 :
j += 1;
case 1 :
j += 4;
default :
j += 2;
}
[Link]("j = " + j);
Ekran çıktısı nedir?

A) j = 6
B) j = 4
C) j = 2
D) j = 0

42 Techpro Education
Nested Ternary Switch

8. char ch = 'a';
switch (ch){
case 'a' :
case 'A' :
[Link](ch);
break;
case 'b' :
case 'B' :
[Link](ch);
break;
case 'c' :
case 'C' :
[Link](ch);
break;
case 'd' :
case 'D' :
[Link](ch);
}
Ekran çıktısı nedir?

A) a
B) a
a
C) a
A
D) a
a
A
A

Techpro Education 43
Nested Ternary Switch

9. int number = 3;
if(number == 1) {
[Link]("One");
}
if(number == 2){
[Link]("Two");
}
if(number == 3){
[Link]("Three");
}
Aşağıdakilerden hangisi yukarıdaki program ile aynı çıktıyı verir?

A) int number = 3;
switch(number){
case 1:
[Link]("One");
break;
case 2:
[Link]("Two");
break;
case 3:
[Link]("Three");
break;
}

B) int number = 3;
switch(number){
case 1:
[Link]("One");
break;
case 2:
[Link]("Two");
break;
case 3:
[Link]("Three");
default:
[Link]("Done");
}

44 Techpro Education
Nested Ternary Switch

C) int number = 3;
switch(number){
case 3:
[Link]("One");
break;
case 2:
[Link]("Two");
break;
case 1:
[Link]("Three");
break;
default:
[Link]("Done");
}

10. int variable = 1;


switch (variable){
case 1 :
[Link]("P");
case 2 :
case 3 :
[Link]("Q");
break;
case 4 :
[Link]("R");
default :
[Link]("S");
}
Ekran çıktısı nedir?

A) P
B) S
C) PQ
D) PQR

Techpro Education 45
Java String Methods

1. Scanner scan = new Scanner([Link]);


[Link]("İsminizi giriniz");
String isim = [Link]();
Kullanıcıdan ismini aldıktan sonra, o ismin tüm harflerini büyük harfe çevirmek için Aşağıda-
ki kodlardan hangisi yazılmalıdır?

A) isim = [Link]();
B) isim = [Link];
C) isim = [Link]();
D) isim = [Link];

2. String str = "sarıkanarya";


Yukarıda verilen String'e göre aşağıdakilerden hangisi yanlıştır?

A) [Link]([Link](4));
Ekran çıktısı k olur.
B) [Link]([Link](0));
Yukarıdaki kod ilk harfi ekrana yazdırır
C) [Link]([Link]());
Ekran çıktısı 10 olur.
D) [Link]([Link]([Link]()-1));
Yukarıdaki kod son harfi ekrana yazdırır

3. String str = "Ayhan Beyhan";


Aşağıdakilerden hangisi yanlıştır?

A) [Link]([Link]());
Ekrana ayhan beyhan yazdırır.
B) [Link]([Link]("h", ""));
Ekrana Ayan Beyan yazdırır.
C) [Link]([Link]("han", "ol"));
Compile Time Error verir çünkü 3 harf yerine 2 harf konulamaz
D) [Link]([Link]());
Ekrana 12 yazdırır.

46 Techpro Education
String Methods

4. String str = "Java ah java";


Yukarıda verilen String'e göre aşağıdakilerden hangisi yanlıştır?

A) [Link]([Link]("J"));
Ekrana true yazdırır

B) [Link]([Link]("x"));
Ekrana -1 yazdırır

C) [Link]([Link]("ja"));
Ekrana true yazdırır

5. String str1 = "Ali";


String str2 = "ali";
Yukarıda verilen String'lere göre aşağıdakilerden hangisi yanlıştır?

A) [Link]([Link](str2));
Ekrana true yazdırır

B) [Link]([Link](str2));
Ekrana true yazdırır

C) [Link]([Link](str1));
Ekrana false yazdırır

D) [Link]([Link](str1));
Ekrana true yazdırır

6. Aşağıdakilerden hangisi yanlıştır?

A) !(false) = true
B) !(!true) = true
C) !(4<5) = false
D) !(2>3) = false

Techpro Education 47
String Methods

7. String str1 = "ali";


String str2 = "Ali";
Yukarıda verilen String'lere göre aşağıdakilerden hangileri yanlıştır?

A) [Link]([Link](str2));
Ekrana true yazdırır

B) [Link](str1==str1);
Ekrana true yazdırır

C) [Link]([Link](str2));
Ekrana true yazdırır

D) [Link]((str1+str2).equals(str2+str1));
Ekrana true yazdırır

8. String str = "şeyhan yavuz";


Yukarıdaki Stringde "s" ve "y" harflerini büyük harf yapmak için hangileri doğrudur?

A) [Link]([Link]("s", "S"));
[Link]([Link]("y", "Y"));

B) [Link]([Link]("s", "S"));
[Link]([Link]("y", "Y"));

C) [Link]([Link]('s', 'S'));
[Link]([Link]('y', 'Y'));

D) [Link]([Link]('s', 'S'));
[Link]([Link]('y', 'Y'));

48 Techpro Education
String Methods

9. String str = "Java Kolaydır";


Aşağıdakilerden hangileri doğrudur?

A) [Link]([Link]("r"));
Ekranan true yazdırır

B) [Link]([Link]("dir"));
Ekranan true yazdırır

C) [Link]([Link](""));
Ekranan true yazdırır

D) [Link]([Link]("Java Kolaydır"));
Ekranan true yazdırır

10. String b = "Ali 12 ?_";


Aşağıdakilerden hangisi yanlıştır?

A) [Link]([Link]("\\d", "*"));
Ekrana Ali ** ?_ yazdırır

B) [Link]([Link]("\\D", "*"));
Ekrana ****12*** yazdırır

C) [Link]([Link]("\\S", "*"));
Ekrana *** ** ** yazdırır

D) [Link]([Link]("\\w", "*"));
Ekrana Ali*12**_ yazdırır

Techpro Education 49
Java String Methods For Loop

1. String str= "Canan Can";


Aşağıdakilerden hangileri ekrana true yazdırır?

A) [Link]([Link]("c"));
B) [Link]([Link]("n"));
C) [Link]([Link]("a",3));
D) [Link]([Link]("Can"));

2. String str = "Java code yaz";


Aşağıdakilerden hangileri doğrudur?

A) [Link]([Link](5));
Ekrana ode yaz yazdırır.

B) [Link]([Link](12));
Ekrana z yazdırır.

C) [Link]([Link](5, 9));
Ekrana code yazdırır.

D) [Link]([Link](8, 8));
Ekranda hiçbirşey göremezsiniz.

3. String text = "Can, Cananlara gitmek için can atıyor";


[Link]([Link]("Can", "Türk"));
Yukarıdaki kodun ekran çıktısı nedir?

A) Türk, Türkanlara gitmek için turk atıyor


B) Türk, Türkanlara gitmek için can atıyor
C) Hiçbiri
D) Türk, Cananlara gitmek için can atıyor

50 Techpro Education
String Methods For Loop

4. String str = "Ayhan BEYHAN";


Yukarıdaki String'i AYHAN beyhan yapmak için hangileri yapılabilir?

A) [Link](0,5).toUpperCase();
[Link](6).toLowerCase();

B) [Link]("Ayhan", "AYHAN");
[Link]("BEYHAN", "beyhan");

C) [Link]('Ayhan', 'AYHAN');
[Link]('BEYHAN', 'beyhan');

D) [Link]([Link](0), "AYHAN beyhan");

5. for(int i=1; i<6; i++) {


[Link](i + "-");
}
Yukarıdaki programın ekran çıktısı nedir?

A) 1-2-3-4-5-

B) 5-4-3-2-1-

C) 1-2-3-4-5-6-

D) 1-
2-
3-
4-
5-

Techpro Education 51
String Methods For Loop

6. Aşağıdakilerden hangileri aynı ekran çıktısını verir?

A) for(int i=1; i<10; i+=2){


[Link](i);
}
B) for(int i=1; i<10; i=i+2){
[Link](i);
}
C) for(int i=9; i>=1; i-=2){
[Link](i);
}
D) for(int i=1; i<=9; i++){
[Link](i);
i++;
}

7. Hangisi doğrudur?

A) String str = "Java";


[Link]([Link]("", "/"));
Ekrana J/a/v/a yazdırır

B) String str = "Java";


[Link]([Link]("", "/"));
Ekrana /J/a/v/a yazdırır

C) String str = "Java";


[Link]([Link]("", "/"));
Ekrana /J/a/v/a/ yazdırır

D) String str = "Java";


[Link]([Link]("", "/"));
Ekrana Java yazdırır

52 Techpro Education
String Methods For Loop

8. String s = "Java is Java";


Hangisi doğrudur?

A) [Link]([Link]('a'));
Ekrana 2 yazdırır
B) [Link]([Link]("Java"));
Ekrana 0 yazdırır
C) [Link]([Link]('a', 4));
Ekrana 10 yazdırır
D) [Link]([Link]("va", 2));
Ekrana 10 yazdırır

9. String s = "Java is Java";


Hangileri doğrudur?

A) [Link]([Link]('v'));
Ekrana 11 yazdırır
B) [Link]([Link]("va"));
Ekrana 10 yazdırır
C) [Link]([Link]().lastIndexOf("V"));
Ekrana -1 yazdırır
D) [Link]([Link]().lastIndexOf("j"));
Ekrana 8 yazdırır

10. String s = "Learn";


String t = "Java";
Hangisi yanlıştır?

A) [Link](([Link](t)).length());
Ekrana 9 yazdırır
B) [Link]("" + [Link]() + [Link]());
Ekrana 9 yazdırır
C) [Link]([Link]([Link]()));
Ekrana Learn4 yazdırır
D) [Link]([Link]() > [Link](2));

Techpro Education 53
Java For Loops

1. int sum =0;


for(int i=1; i<6; i++) {
sum = sum + i;
}
[Link]("Toplam: " + sum);
Yukarıdaki programın ekran çıktısı nedir?

A) Toplam: 10
B) Toplam: 15
C) Toplam: 6
D) Hiçbiri

2. int sum=0;
for(int i=10; i>0; i=i-5) {
sum=sum+i;
}
[Link](sum);
Yukarıdaki programın ekran çıktısı nedir?

A) 10
B) 15
C) 0
D) Hiçbiri

3. for ( int j = 0; j <=10; ? ){


[Link]( j + " " );
}
? yerine ne yazılırsa output 0 3 6 9 olur?

A) j = j + 3
B) j = j - 3
C) j++
D) j--

54 Techpro Education
For Loops

4. int product = 1;
for(int i=5; i>=0; i--){
product = product * i;
}
[Link](product);
Yukarıdaki programın ekran çıktısı nedir?

A) 0
B) 5
C) 24
D) 120

5. for (int i = 1; i <= 6; i++) {


[Link](i + " ");
i++;
}
Output nedir?

A) 1 3 5
B) 2 4 6
C) 1 2 3 4 5 6
D) Compile Time Error

6. for ( int j = 10; j >0; j++){


[Link]("Hello");
}
Ekrana kac kere Hello yazdırır?

A) 10
B) 11
C) 0
D) Sonsuz kere

Techpro Education 55
For Loops

7. for ( char i = 'f'; i>'a'; i--){


[Link](i + " " );
i--;
}
Output nedir?

A) f d b
B) f e d b c
C) e c
D) Run Time Error

8. Aşağıdakilerden hangileri ekrana 10 kez "Welcome to Java" yazar?

A) for (int count = 1; count <= 10; count++) {


[Link]("Welcome to Java");
}

B) for (int count = 1; count <10; count++) {


[Link]("Welcome to Java");
}

C) for (int count = 10; count >=1; count--) {


[Link]("Welcome to Java");
}

D) for (int count = 1; count <11; count++) {


[Link]("Welcome to Java");
}

56 Techpro Education
For Loops

9. for(int i=1; i<=5; i++) {


for(int j=(5-i); j>1; j--) {
[Link](i+j);
}
[Link]();
}
Output nedir?

A) 543
54
5

B) 432
43
4

C) 5
4
3

D) 5432
543
54

Techpro Education 57
For Loops

10. Scanner scan = new Scanner([Link]);


[Link]("Başlangıç değerini giriniz");
int bas = [Link]();
[Link]("Bitis değerini giriniz");
int bit = [Link]();

int carpim = 1;
int toplam = 0;

if(bas<=bit) {
for(int i=bas; i<=bit; i++) {
toplam = toplam + i;
}
} else {
for(int i=bas; i>=bit; i--) {
carpim = carpim * i;
}
}
[Link](carpim);
[Link](toplam);
[Link]();
}
Yukarıdaki kod ile ilgili aşağıdakilerden hangileri doğrudur?

A) Başlangıç değeri bitiş değerinden küçük ve eşit ise, program başlangıç değerinden bitiş
değerine kadar tüm tamsayıları toplar.
B) Başlangıç değeri bitiş değerinden büyük ise, program başlangıç değerinden bitiş değerine
kadar tüm tamsayıları çarpar.
C) Başlangıç değeri 3, bitiş değeri 5 ise, program ekrana 112 yazdırır.
D) Başlangıç değeri 5, bitiş değeri 3 ise, program ekrana 600 yazdırır.

58 Techpro Education
Java While Loops

1. int num = 1;
while(num<3) {
[Link](num + " ");
num++;
}
Yukarıdaki programın ekran çıktısı nedir?

A) 1 2 3
B) 1 2
C) 1
2
D) 1

2. int num = 1;
while(num<1) {
[Link](num + " ");
num++;
}
Yukarıdaki programın ekran çıktısı nedir?

A) 1
B) Program çalışmaz
C) Program çalışır ama ekranda hiçbirşey görülmez

3. int num = 1;
while(num<=1) {
[Link](num + " ");
num--;
}
Yukarıdaki programın ekran çıktısı nedir?

A) 1
B) Program çalışmaz
C) 1 0 -1 -2 ... şeklinde negative sonsuza kadar yazar

Techpro Education 59
While Loops

4. int num = 1;
while(num=1) {
[Link](num + " ");
num++;
}
Yukarıdaki programın ekran çıktısı nedir?

A) 1
B) Program çalışmaz
C) Sonsuz defa "1 " yazar
D) Hiçbiri

5. char ch = 'a';
while(ch<'d') {
[Link](ch + " ");
ch++;
}
Aşağıdakilerden hangilerinin ekran çıktısı yukarıdaki ile aynıdır?

A) for(char i='a'; i<'d'; i++) {


[Link](i + " ");
}

B) [Link]('a ' + 'b ' + 'c ');


Not: a, b ve c harflerinden sonra tek tırnağın içinde bir karakter bosluk vardır.

C) [Link]('a' + " " + 'b' + " " + 'c' + " ");


Not: Cift tırnakların içinde bir karakter bosluk vardır.

D) [Link]('a' + 'b' + 'c');

60 Techpro Education
While Loops

6. for(int i=1; i<10; i=i+1) {


if(i%3==0) {
[Link](i + " ");
}
}
Aşağıdakilerden hangilerinin ekran çıktısı yukarıdaki ile aynıdır?

A) int num = 3;
while(num<10) {
[Link](num + " ");
num=num+3;
}

B) int num = 1;
while(num<10) {
if(num%3==0){
[Link](num + " ");
}
num=num+1;
}

C) int num = 9;
while(num>1) {
[Link](num + " ");
num=num-3;
}

Techpro Education 61
While Loops

7. int sum = 0;
int num = 1;
while(num<5) {
sum = sum + num;
num++;
}
[Link](sum);
Yukarıdaki programın ekran çıktısı nedir?

A) Program çalışmaz
B) 10
C) 15
D) Program çalışır ama ekranda hiçbirşey görülmez

8. int sum = 5;
int num = 1;
while(num<5) {
sum = sum + num;
num++;
}
[Link](sum);
Yukarıdaki programın ekran çıktısı nedir?

A) Program çalışmaz
B) 10
C) 15
D) Program çalışır ama ekranda hiçbirşey görülmez.

62 Techpro Education
While Loops

9. int product = 1;
int num = 1;
while(num<5) {
product = product * num;
num++;
}
[Link](product);
Yukarıdaki programın ekran çıktısı nedir?

A) 10
B) 12
C) 120
D) 24

10. int product = 1;


int num = 1;
while(num<5) {
product = product * num;
product++;
}
[Link](product);
Yukarıdaki programın ekran çıktısı nedir?

A) 120
B) 24
C) Program çalışmaz
D) Sonsuz döngü oluşur

Techpro Education 63
Java Do While Loop

1. int num = 1;
do {
[Link](num + " ");
num++;
}while(num<4);
Yukarıdaki programın ekran çıktısı nedir?

A) 1 2 3

B) 1
2
3

C) 1 2 3 4

D) 1
2
3
4

2. int num = 1;
do {
[Link](num + " ");
num++;
}while(num<1);
Yukarıdaki programın ekran çıktısı nedir?

A) Program çalışır ama ekranda hiç bir şey görünmez


B) 1
C) Program çalışmaz
D) 1 2

64 Techpro Education
Do While Loop

3. int num = 1;
do {
[Link](num + " ");
num++;
}while(num<2);
Aşağıdakilerden hangisinin ekran çıktısı yukarıdaki programın ekran çıktısı ile aynıdır?

A) int num=1;
while(num<2) {
[Link](num + " ");
num+=1;
}
B) int num=1;
while(num<=1) {
[Link](num + " ");
num++;
}
C) for(int num=1; num<2; num++){
[Link](num + " ");
}
D) Hepsi

4. Aşağıdakilerden hangileri while loop ile do-while loop'un farklarındandır?

A) while loop once condition'i kontrol eder sonra kodu çalıştırır.


do-while loop once kodu çalıştırır sonra condition'i kontrol eder.

B) while loop'da body içindeki kod bazı durumlarda hiç çalışmayabilir.


do-while loop'da body içindeki kod en az bir kere çalışır.

C) while loop sonsuz döngüye girebilir.


do-while loop sonsuz döngüye girmez.

Techpro Education 65
Do While Loop

5. int numA=4;
while(numA<3) {
[Link](numA);
numA++;
}

int numB=4;
do {
[Link](numB);
numB++;
}while(numB<3);
Yukarıdaki while loop ile do-while loop'larin ekran çıktıları ile ilgili aşağıdakilerden hangisi
doğrudur?

A) while loop ekrana hiçbirşey yazdıramaz.


do-while loop ekrana 4 yazdırır.
B) while loop ekrana hiçbirşey yazdıramaz.
do-while loop ekrana hiçbirşey yazdıramaz.
C) while loop ekrana 4 yazdırır.
do-while loop ekrana 45 yazdırır.
D) Hiçbiri

6. int num = 2;
do {
[Link](num + " ");
num++;
}while(num>2);
Yukarıdaki program ile ilgili aşağıdakilerden hangisi doğrudur?

A) Program çalışmaz.
B) Sonsuz döngü oluşur.
C) Ekrana 2 yazdırır.
D) Program çalışır ama ekrana hiçbirşey yazdırmaz.

66 Techpro Education
Do While Loop

7. int num=0;
do {
[Link](num + " ");
num+=2;
}while(num<8);
Yukarıdaki programın ekran çıktısı nedir?

A) 2 4 6 8
B) 0 2 4 6 8
C) 0 2 4 6
D) 2 4

8. int num=0;
do {
if(num%2==0){
[Link](num + " ");
}
num++;
}while(num<8);
Yukarıdaki programın ekran çıktısı nedir?

A) 2 4 6 8
B) 0 2 4 6 8
C) 0 2 4 6
D) 2 4

9. String str = "AliCan";


[Link]([Link](2,5));
Yukarıdaki programın ekran çıktısı nedir?

A) iCan
B) iCa
C) liCa
D) liCan

Techpro Education 67
Do While Loop

10. Kullanıcıdan passwordunu alıp, password'un "AliCan" olup olmadığını kontrol eden,
password doğru ise ekrana "Doğru", password yanlış ise ekrana "Yanlış" ve "Passwordunuzu
giriniz" yazdıran program aşağıdakilerden hangileri gibi olabilir?

A) Scanner scan = new Scanner([Link]);


String password = "";
do {
[Link]("Passwordunuzu giriniz");
password = [Link]();

if([Link]("AliCan")) {
[Link]("Doğru");
}else {
[Link]("Yanlış");
}

}while(!([Link]("AliCan")));

B) Scanner scan = new Scanner([Link]);


String password = "";
do {
[Link]("Passwordunuzu giriniz");
password = [Link]();

if(!([Link]("AliCan"))) {
[Link]("Yanlış");
}
}while(!([Link]("AliCan")));
[Link]("Doğru");

C) Scanner scan = new Scanner([Link]);


[Link]("Passwordunuzu giriniz");
String password = [Link]();
while(!([Link]("AliCan"))) {
[Link]("Yanlış");
[Link]("Passwordunuzu giriniz");
password = [Link]();
}
[Link]("Doğru");

68 Techpro Education
Java Instance Local Variables Method Call

1. Not: Eğer aynı isimli farklı parametreli method'lar oluşturursanız buna method overloading denir.
Aşağıdakilerden hangisi method overloading yapmak için doğru bir yol değildir?

A) Parametrelerin sayısını değiştirmek


B) Parametrelerin data type'ini değiştirmek
C) Parametrelerin data type'lari farklı ise yerlerini değiştirmek
D) Method body'i değiştirmek.

2. public static void multiply(int num1, int num2) {


[Link](num1* num2);
}
public static void multiply(int num1) {
[Link](num1*num1);
}
public static void multiply(double num1, double num2) {
[Link](num1* num2);
}
Hangisi yanlıştır?

A) public static void main(String[] args) {


multiply(3, 5);
}
Ekrana 15 yazar.

B) public static void main(String[] args) {


multiply(5);
}
Ekrana 25 yazar
C) public static void main(String[] args) {
multiply(2.5);
}
Ekrana 4 yazar
D) public static void main(String[] args) {
multiply(2.5, 2.5);
}
Ekrana 6.25 yazar

Techpro Education 69
Instance Local Variables Method Call

3. public static void add(int num1, int num2) {


[Link](2 + num1 + num2);
}
public static void add(double num1, double num2) {
[Link](3 + num1 + num2);
}
Hangisi yanlıştır?

A) public static void main(String[] args) {


add(3, 5);
}
Ekrana 10 yazar

B) public static void main(String[] args) {


add(3.1, 5.2);
}
Ekrana 11.3 yazar

C) public static void main(String[] args) {


add(3.1, 5);
}

D) Compile Time Error verir

4. public static void main(String[] args) {


updateWord("john", "black");
}
public static void updateWord(String s, String t) {
s = [Link](0,1).toUpperCase() + [Link](2);
[Link](s);
}
Output nedir?

A) Jack
B) Joack
C) Jck
D) Compile Time Error

70 Techpro Education
Instance Local Variables Method Call

5. private static void getData(){


[Link]("Method 1");
}
public static void getData(){
[Link]("Method 2");
}
public static void main(String[] args){
getData();
}
Hangisi doğrudur?

A) Ekrana 0 yazar
B) Ekrana 1 yazar
C) Ekrana hiçbirşey yazmaz
D) Compile Time Error verir

6. public static void main(String[] args) {


add(3.2, 4.8); //Output A
add(5, 7.3); //Output B
add(5, 7); //Output C
add(5.3, 7); //Output D
}
public static void add(double n1, double n2) {
[Link](n1 + n2);
}
public static void add(int n1, double n2) {
[Link](n1 + n2);
}
public static void add(int n1, int n2) {
[Link](n1 + n2);
}
Hangisi yanlıştır?

A) Output A = 8.0
B) Output B = 12.3
C) Output C = 12
D) Output D Compile Time Error verir.

Techpro Education 71
Instance Local Variables Method Call

7. Hangileri doğrudur?

A) public static void function(float i, int j){


[Link]("Good"):
}
public static void function(double i, double j){
[Link]("Bad"):
}
public static void main(String[] args){
function(1.2, 3);
}
Ekrana Bad yazar

B) public static void function(float i, int j){


[Link]("Good"):
}
public static void function(double i, double j){
[Link]("Bad"):
}
public static void main(String[] args){
function(2, 3);
}
Ekrana Good yazar

C) public static void function(float i, int j){


[Link]("Good"):
}
public static void function(double i, double j){
[Link]("Bad"):
}
public static void main(String[] args){
function(2.1F, 3.2);
}
Ekrana Bad yazar

72 Techpro Education
Instance Local Variables Method Call

8. public class MyClass{


int num1;
String name = “Ali”;
public static void main(String args){
add();
product(5);
}
public static void add(){
num1++;
int num2 = 6;
char letter;
[Link](“Do addition”);
}
public void product(int num3){
name = “Veli”;
num2++;
[Link](num3 * num3);
}
}
Aşağıdakilerden hangileri doğrudur?

A) num1 ve name instance variable'dir.


B) num2 ve letter local variable'dir.
C) [Link](num1) ekrana hiçbirşey yazdırmaz
D) num2++; kodu Compile Time Error verir.
E) product(5); kodu Compile Time Error verir.

Techpro Education 73
Java Constructors

1. Aşağıdakilerden hangisi Constructor ile Method'un farklarından değildir?

A) Constructor'larda return type yoktur, Method'larda return type olmalıdır


B) Constructor'larin ismi class ile aynı olmalıdır, Method'larin ismi class'dan farklı olabilir.
C) Constructor'larin ismi büyük harf ile baslar, Method'larin ismi küçük harfle baslar.
D) Bir class'da sadece bir tane Constructor olabilir, fakat birden fazla Method olabilir.

2. public class MyClass {


int price = 20000;
int year = 2020;
String make = "Honda";
public static void main(String[] args) {
MyClass hondaAraba = new MyClass();
[Link]([Link]);
[Link]([Link] - 3);
[Link]([Link]("H", "K"));
}
}
Yukarıdaki programın ekran çıktısı nedir?

A) 20000
2020
Honda
B) 20000
2020
Konda
C) 20000
2017
Konda
D) 2017
Konda

74 Techpro Education
Constructors

3. Aşağıdakilerden hangileri Constructor için doğrudur?

A) Her class oluşturulduğunda Java otomatik olarak bir Constructor oluşturur, bu Constructor'a
default constructor denir.
B) Default Constructor'larin parametresi olmaz.
C) Biz bir class'da Constructor oluşturduğumuzda, Java default constructor'i iptal eder.
D) Constructor'lar bir class'dan yeni bir obje oluşturmak için kullanılır.

4. public class MyClass {


String isim = "Ali Can";
int yas = 33;
int kilo = 85;

MyClass(){
}
MyClass(String isim, int yas){
[Link] = isim;
[Link] = yas;
}
MyClass(String isim){
[Link] = isim;
}
}
Yukarıdaki class'da 3 farklı constructor verilmiştir.
Aşağıdakilerden hangisi yanlıştır?

A) MyClass insan01 = new MyClass();


insan01 objesinin ismi Ali Can olur.
B) MyClass insan02 = new MyClass("Veli Han");
insan02 objesinin ismi Veli Han, yasi 33, kilosu 85 olur.
C) MyClass insan03 = new MyClass(44, "Ayse Tan");
insan03 objesinin ismi Ayse Tan, yasi 44, kilosu 85 olur.

Techpro Education 75
Constructors

5. Aşağıdakilerden hangileri default constructor'a sahiptir?

A) public class Bird { }


B) public class Bird { bird() {} }
C) public class Bird { Bird(String name) {} }
D) public class Bird { Bird() {} }
E) public class Bird { void Bird() {} }

6. public class Car {


int price = 50;

public Car(int price) {


[Link] = price;
}
public static void main(String[] args) {

}
}
Hangisi ekrana 50 yazar?

A) Car c1 = new Car(50);


[Link]([Link]);

B) Car c1 = new Car();


[Link]([Link]);

C) Car c1 = new Car(50);


[Link](c1);

D) Car c1 = new Car();


[Link](c1);

76 Techpro Education
Constructors

7. public class BirdSeed {


private int numberBags;
boolean call;
public BirdSeed() {
[Link] = 11;
call = false;
}
public BirdSeed(int numberBags) {
[Link] = numberBags;
[Link] = true;
}
public static void main(String[] args) {
}
}
Aşağıdakilerden hangisi yanlıştır?

A) BirdSeed seed = new BirdSeed();


[Link]([Link]);
Output 11 dir

B) BirdSeed seed = new BirdSeed(7);


[Link]([Link]);
Output 7 dir

C) BirdSeed seed = new BirdSeed();


[Link]([Link]);
Output false dir

D) BirdSeed seed = new BirdSeed(7);


[Link]([Link]);
Gives Compile Time Error.

Techpro Education 77
Constructors

8. public class Order {


String value = "a";
Order() {
value = value + "b";
}
Order(String c) {
value = value + c;
}
public static void main(String[] args) {
}
Hangileri doğrudur?

A) Order order = new Order("f");


[Link]([Link]);
Output af dir

B) Order order = new Order();


[Link]([Link]);
Output ab dir

C) Gives Compile Time Error

D) Order order1 = new Order("r");


Order order2 = new Order();
[Link]([Link] + [Link]);
Output arab dir

78 Techpro Education
Java Static Keyword

1. public class Try {


static int a = 10;
public static void main(String[] args) {
Try t1 = new Try();
Try t2 = new Try();

t1.a = a + 2;
t2.a = a + 3;
[Link](t1.a);
[Link](t2.a);
}
}
Output nedir?

A) 15
15

B) 12
13

C) 12
15

D) 10
10

Techpro Education 79
Static Keyword

2. public class Try {


int a = 10;
public static void main(String[] args) {
Try t1 = new Try();
Try t2 = new Try();

t1.a = 12;
t2.a = 13;
[Link](t1.a);
[Link](t2.a);
}
}
Output nedir?

A) 12
13

B) 15
15

C) 13
12

D) 10
10

3. Hangileri doğrudur?

A) Static variable'lara sadece classin ismi kullanılarak da ulaşılabilir.


B) Static olmayan variable'lara ulaşabilmek için object oluşturmak zorundayız.
C) Static variable'larin diğer adi class variable'dir. Instance variable'larin diğer adi object
variable'dir.
D) Static variable'lar object'lerin ortak kullanımına açıktır fakat instance variable'lar değildir.

80 Techpro Education
Static Keyword

4. public class Try {


public static void main(String[] args) {
}
public static void m1(float x) {
[Link]("Method 1");
}
public static void m1(int x, double y) {
[Link]("Method 2");
}
}Eğer aşağıdaki kodları main method içine yazarsak hangileri yanlıştır?

A) m1(33);
prints Method 1 on the console

B) m1(33, 44);
prints Method 2 on the console

C) m1(33.3, 44);
prints Method 2 on the console

D) m1(33.3);
prints Method 1 on the console

Techpro Education 81
Static Keyword

5. class Student{
String name;
static String college ="UNF";

Student(String n, String college){


[Link] = n;
[Link] = college;
}
public static void main(String args[]){
Student s1 = new Student(”Mark", “UCF”);
Student s2 = new Student(”Kevin”, “FIU");

[Link]([Link]);
[Link]([Link]);

[Link]([Link]);
[Link]([Link]);
}
}
Output nedir?

A) Mark
Kevin
FIU
FIU
B) Mark
Kevin
UCF
FIU
C) Kevin
Kevin
UCF
FIU
D) Kevin
Kevin
FIU
FIU

82 Techpro Education
Static Keyword

6. class Counter {
int count=0;
Counter(){
count+=2;
[Link](count);
}
public static void main(String args[]){
Counter c1=new Counter();
Counter c2=new Counter();
Counter c3=new Counter();
}
}
Output nedir?

A) 2
2
2

B) 0
2
4

C) 2
4
6

D) 6
6
6

Techpro Education 83
Static Keyword

7. public class Test1 {


int y = 5;
static int x = 7;
public static void main(String[] args) {
Test1 t1 = new Test1();
Test1 t2 = new Test1();
t1.x = 17;
t1.y = 15;
[Link](t1.x + " ");
[Link](t2.x);

[Link](t1.y + " ");


[Link](t2.y);
}
}
Output nedir?

A) 17 17
15 5

B) 17 17
15 15

C) 17 7
15 5

D) 7 7
55

84 Techpro Education
Static Keyword

8. public class StaticDemo {


int num1 = 5;
static int num2 = 7;

public static void main(String args[]) {


StaticDemo s1 = new StaticDemo();
StaticDemo s2 = new StaticDemo();
s1.num1 = 13;
s1.num2 = 23;
s2.num1 = 33;
s2.num2 = 43;
[Link](s1.num1 + " " + s1.num2 + " " + s2.num1 + " "+ s2.num2);
}
}
Output nedir?

A) 13 43 33 43
B) 13 23 33 43
C) 33 23 33 43
D) 13 43 13 43

Techpro Education 85
Static Keyword

9. public class Static03 {


static int counter = 0;
int age = 0;

public Static03() {
counter++;
age++;
}
public static void main(String[] args) {
Static03 obj1 = new Static03();
Static03 obj2 = new Static03();
Static03 obj3 = new Static03();
[Link]([Link]);
[Link]([Link]);
[Link]([Link]);
[Link](" - ");
[Link]([Link]);
[Link]([Link]);
[Link]([Link]);
}
}
Output nedir?

A) 333 - 111
B) 333 - 333
C) 123 - 111
D) 123 - 123

86 Techpro Education
Static Keyword

10. public class Test {


String studentName;
String year = "2020";
static int counter = 1000;
String studentId;
public Test() {
Scanner scan = new Scanner([Link]);
[Link]("Enter your name");
studentName = [Link]();
setStudentId();
}
public static void main(String[] args) {
Test student1 = new Test();
[Link]([Link] + [Link]); //A

Test student2 = new Test();


[Link]([Link] + [Link]); //B
}
public void setStudentId() {
counter++;
[Link] = year + "" + counter;
}
}
Kullanıcı ilk studnet name için "Ali Can" ve ikinci student name için "Veli Han" girerse A ve B
output'lari ne olur?

A) A ==> Ali20201001
B ==> Veli20201002
B) A ==> Ali20201001
B ==> Veli20201001
C) A ==> Ali Can20201001
B ==> Veli Han20201002
D) A ==> Ali Can20201001
B ==> Veli Han20201001

Techpro Education 87
Java Static Block Arrays

1. Note: Array oluşturmanın 2 yolu vardır;


1) int arr[] = new int[4];
arr[0]=11; arr[1]=12; arr[2]=13; arr[3]=14;
2) int arr[] = {11, 12, 13, 14};
int arr[] = {11, 12, 13, 14};
Hangisi yanlıştır?

A) [Link]([Link](arr));
Ekrana [11, 12, 13, 14] yazdırır.

B) [Link](arr[[Link]-2]);
Ekrana 13 yazdırır.

C) [Link](arr[1]);
Ekrana 11 yazdırır.

D) for(int i=0; i<4; i++) {


[Link](arr[i] + " ");
}
Ekrana 11 12 13 14 yazdırır.

2. int arr[] = {2, 11, 0, 23, 7};


Hangisi ekrana en büyük elemanı yazdırır?

A) [Link](arr);
[Link](arr[[Link]-1]);

B) [Link]();
[Link](arr[[Link]-1]);

C) [Link](arr);
[Link](arr[[Link]-1]);

D) [Link](arr);
[Link](arr[[Link]]);

88 Techpro Education
Static Block Arrays

3. char arrCh[] = {'a', 'C', 'c', 'A', 'b'};


[Link](arrCh);
[Link]([Link](arrCh));
Output nedir?

A) [A, C, a, b, c]
B) [A, a, b, C, c]
C) [a, b, c, A, C]
D) [a, C, c, A, b]

4. int arr[] = {2, 11, 0, 23, 7};


[Link](arr);
for(int i=4; i>=0; i--) {
[Link](arr[i] + " ");
}
Output nedir?

A) 0 2 7 11 23
B) 23 11 7 2 0
C) 2 11 0 23 7
D) Gives Compile Time Error

Techpro Education 89
Static Block Arrays

5. public class Try {


static int a = 11;
public static void main(String[] args) {
int b = 12;
[Link](b);
}
static{
a = 13;
[Link](a);
}
}
Output nedir?

A) 13
12

B) 11
12

C) 12
13

D) 11
13

6. Whiçh ones are true for Arrays?

A) Arrays can store primitive data types and references


B) If the index of last element is 5 in an array, it means we can store 5 elements at most inside
the array
C) Data types of all elements must be same in an array
D) int arr[] = new int[]; is the syntax to create an array in Java

90 Techpro Education
Static Block Arrays

7. public class Try {


static int a = 11;
public static void main(String[] args) {
int b = 12;
[Link](b);
}
static{
int c = 13;
[Link](c);
}
static{
a = 14;
[Link](a);
}
}
Output nedir?

A) 13
14
12

B) 12
13
14

C) 12
14
13

D) 13
11
12

Techpro Education 91
Static Block Arrays

8. public class Try {


public static void main(String[] args) {
int arr[] = new int[3];
[Link](arr[1]);

arr[0] = 11;
arr[1] = 12;
[Link]([Link](arr));
}
}
Output nedir?

A) 0
[11, 12, 0]
B) 0
[11, 12]
C) [0, 0, 0]
11
12
D) Gives Compile Time Error

9. char arr[] = new char[4];


arr[0] = 'A';
arr[2] = 'E';
arr[3] = 'M';
[Link]([Link](arr));
Output nedir?

A) [A, , E, M]
B) [A, 0, E, M]
C) [A, E, M]
D) Gives Compile Time Error

92 Techpro Education
Static Block Arrays

10. int arr[] = {3, 2, 3, 4, 4, 5};


int count = 0;
for(int i=0; i<[Link]; i++) {
if(arr[i]==3) {
count++;
}
}
[Link](count);
Output nedir?

A) 0
B) 1
C) 2
D) 3

11. public class Try {


public static void main(String[] args) {
int x[] = { 3, 5, 7 };
int a = 0;
int b = 0;
while (a < [Link]) {
b = b + x[a];
a++;
}
[Link](b);
}
}
Output nedir?

A) [3, 5, 7]
B) 15
C) 10
D) 3 5 7

Techpro Education 93
Java Arrays

1. int arr[] = {11, 12, 13, 14};


Yukarıda verilen array ile ilgili aşağıdakilerden hangisi yanlıştır?

A) [Link]([Link](arr));
Ekrana [11, 12, 13, 14] yazdırır.

B) [Link](arr[[Link]-2]);
Ekrana 13 yazdırır.

C) [Link](arr[1]);
Ekrana 11 yazdırır.

D) for(int i=0; i<4; i++) {


[Link](arr[i] + " ");
}
Ekrana 11 12 13 14 yazdırır.

2. int arr[] = {2, 11, 0, 23, 7};


Yukarıda verilen Array'in en büyük elemanını ekrana yazdıran kod aşağıdakilerden hangisi-
dir?

A) [Link](arr);
[Link](arr[[Link]-1]);

B) [Link]();
[Link](arr[[Link]-1]);

C) [Link](arr);
[Link](arr[[Link]-1]);

D) [Link](arr);
[Link](arr[[Link]]);

94 Techpro Education
Arrays

3. char arrCh[] = {'a', 'C', 'c', 'A', 'b'};


[Link](arrCh);
[Link]([Link](arrCh));
Ekran çıktısı nedir?

A) [A, C, a, b, c]
B) [A, a, b, C, c]
C) [a, b, c, A, C]
D) [a, C, c, A, b]

4. int arr[] = {2, 11, 0, 23, 7};


[Link](arr);
for(int i=4; i>=0; i--) {
[Link](arr[i] + " ");
}
Yukarıda verilen kodun ekran çıktısı nedir?

A) 0 2 7 11 23
B) 23 11 7 2 0
C) 2 11 0 23 7
D) Compile Time Error verir

5. int arr1[] = {1, 2, 3};


int arr2[] = {1, 2, 3};
Aşağıdakilerden hangileri ekrana true yazdırır?

A) [Link](arr1==arr2);
B) [Link](arr1==arr1);
C) [Link]([Link](arr1, arr2));
D) [Link]([Link](arr2));

Techpro Education 95
Arrays

6. int arr[] = {1, 23, 12, 2, 3};


Yukarıda verilen array'de 12'nin eleman olarak var olup olmadığını kontrol etmek için aşağı-
daki kodlardan hangisi yazılmalıdır?

A) [Link](arr);
[Link]([Link](arr, 12));

B) [Link]([Link](arr, 12));
[Link](arr);

C) [Link]([Link](12));
[Link]([Link](12));

7. int arr[] = {12, 23, 12, 2, 3};


[Link](arr);
[Link]([Link](arr, 12));
Yukarıdaki kod ile ilgili aşağıdakilerden hangisi doğrudur?

A) Kesin bir sonuç alamayız


B) 3
C) [2, 3]
D) Compile Time Error verir.

8. int arr[] = {12, 23, 12, 2, 3};


[Link](arr);
[Link]([Link](arr, 5));
Ekran çıktısı nedir?

A) Compile Time Error


B) ArraysIndexOutOfBoundsException
C) -3
D) -2

96 Techpro Education
Arrays

9. int arr[] = {3, 2, 3, 4, 4, 5};


int count = 0;
for(int i=0; i<[Link]; i++) {
if(arr[i]==3) {
count++;
}
}
[Link](count);
Ekran çıktısı nedir?

A) 0
B) 1
C) 2
D) 3

10. char arr[] = new char[4];


arr[0] = 'A';
arr[2] = 'E';
arr[3] = 'M';
[Link]([Link](arr));
Ekran çıktısı nedir?

A) [A, , E, M]
B) [A, 0, E, M]
C) [A, E, M]
D) Copile Time Error

Techpro Education 97
Arrays

11. Aşağıdakilerden hangisi yanlıştır?

A) public static void main(String[] args) {


String str = "Cok calis, mutevazi ol";
String strArray[] = [Link](",");
[Link]([Link](strArray));
}
Output [Cok calis, mutevazi ol]

B) public static void main(String[] args) {


String str = "Cok calis, mutevazi ol";
String strArray[] = [Link](" "); // cift tirnak içinde space var
[Link]([Link](strArray));
}
Output [Cok, calis,, mutevazi, ol]

C) public static void main(String[] args) {


String str = "Cok calis, mutevazi ol";
String strArray[] = [Link]("X");
[Link]([Link](strArray));
}
Output [Cok calis, mutevazi ol]

D) Hiçbiri

98 Techpro Education
Java Multi Dimensional Arrays

1. public class Test01 {


public static void main(String[] args) {
int[][] x = {{2, 1}, {1, 7, 1}};
[Link](m(x[1]));
}

public static int m(int[] m) {


int result = 0;
for (int i = 0; i < [Link]; i++){
result += m[i];
}
return result;
}
}
Output nedir?

A) 8
B) 9
C) 10
D) 11

Techpro Education 99
Multi Dimensional Arrays

2. public class Test02 {


public static void main(String[] args) {
int[][] x = {{1, 2}, {3, 4, 5}};
[Link](m(x));
}

public static int m(int[][] m) {


int result = 3;
for (int i = 0; i < [Link]; i++) {
for (int j = 0; j < m[i].length; j++) {
result += m[i][j];
}
}
return result;
}
}
Output nedir?

A) 15
B) 16
C) 17
D) 18

100 Techpro Education


Multi Dimensional Arrays

3. public class Test03 {


public static void main(String[] args) {
int[][] x = {{2, 1}, {5, 7, 6}};
[Link](m(x));
}

public static int m(int[][] m) {


int result = m[0][1];
for (int i = 0; i < [Link]; i++) {
for (int j = 0; j < m[i].length; j++) {
if (result < m[i][j]) {
result = m[i][j];
}
}
}
return result;
}
}
Ouput nedir?

A) 1
B) 2
C) 6
D) 7

Techpro Education 101


Multi Dimensional Arrays

4. public class Test04 {


public static void main(String[] args) {
int arr[][] = { {3,2,1},{1,2,3} };
for (int i = 1; i < [Link]; i++) {
for (int k = 1; k < arr[0].length; k++) {
if (arr[i][k] % 2 == 1){
arr[i][k] = arr[i][k] + 1;
}
if (arr[i][k] % 2 == 0){
arr[i][k] = arr[i][k] * 2;
}
}
}
[Link]([Link](arr));
}
}
Output nedir?

A) [[3, 2, 1], [1, 4, 8]]


B) [[4, 3, 2], [1, 4, 8]]
C) [[4, 3, 2], [1, 2, 3]]
D) [[3, 2, 1], [1, 2, 3]]

102 Techpro Education


Multi Dimensional Arrays

5. public class Test05 {


public static void main(String[] args) {
int arr[][] = {{5, 12}, {3, 8, 4}, {6, 3}};
[Link](m(arr));
}

public static int m(int[][] arr) {


int r, c;
int i, k = 0;

for (r = 0; r < [Link]; r++) {


for (c = 0; c < arr[0].length; c++) {
i = arr[r][c];
if (i > k)
k = i;
}
}
return k;
}
}
Output nedir?

A) 12
B) 8
C) 3
D) 5

Techpro Education 103


Java Array Lists

1. public static void main(String[] args) {


ArrayList<String> list = new ArrayList<String>() ;
[Link]( "A" );
[Link]( "B" );
[Link]( "F" );
[Link]( "D" );
}
Hangisi doğrudur?

A) [Link]( 2, "C" );
[Link](list);
Ekrana [A, B, C, D] yazar

B) [Link](1,"*");
[Link](list);
Ekrana [*, A, B, C, D] yazar

C) [Link]([Link]("F"));
Ekrana false yazar

D) [Link]([Link]());
Ekrana true yazar

104 Techpro Education


Array Lists

2. public static void main(String[] args) {


ArrayList<String> list = new ArrayList<String>();
[Link]("A");
[Link]("B");
[Link]("C");
[Link]("D");
[Link](3);
[Link]("A");
[Link](list);
}
Output nedir?

A) [B, C]
B) Run Time Error
C) [B, C, D]
D) Compile Time Error

3. public static void main(String[] args) {


ArrayList<String> list = new ArrayList<String>();
[Link]("A");
[Link]("B");
[Link]("C");
[Link]("D");
for (int i = 0; i < [Link](); i++) {
[Link]([Link](i) + " ");
}
}
Output nedir?

A) A B C D
B) [A, B, C, D]
C) Run Time Error
D) Compile Time Error

Techpro Education 105


Array Lists

4. public static void main(String[] args) {


ArrayList<String> list = new ArrayList<String>();
[Link]("A");
[Link]("B");
[Link]("C");
[Link]("D");
[Link]([Link](2));
[Link]([Link]("C"));
}
Output nedir?

A) C
false
B) false
C
C) true
false
D) C
C

5. public static void main(String[] args) {


int arr[] = new int[5];
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i = 1; i <= [Link]; i++) {
[Link](i);
}
[Link](list);
}
Output nedir?

A) [1, 2, 3, 4, 5]
B) [ ]
C) Compile Time Error
D) [1, 2, 3, 4]

106 Techpro Education


Array Lists

6. public class Test01 {


List<String> list1 = new ArrayList<String>();
public static void main(String[] args) {
Test01 obj1 = new Test01();
[Link](obj1.list1);
[Link]("z");
[Link]("t");
[Link](obj1.list1);
}
public List<String> myMethod(List<String> list1) {
[Link]("x");
[Link]("y");
return list1;
}
}
Output nedir?

A) [x, y, z, t]
B) [x, y]
C) [z, t]
D) Compile Time Error

7. public static void main(String[] args) {


ArrayList<Character> list = new ArrayList<Character>();
for (char i = 'a'; i <= 'e' ; i++) {
[Link]();
[Link](i);
}
[Link](list);
}
Output nedir?

A) [ ]
B) [ e ]
C) [a, b, c, d, e]
D) Compile Time Error

Techpro Education 107


Array Lists

8. Hangileri Compile Time Error verir?

A) List<Character> list = new ArrayList<Character>();


B) List<int> list = new ArrayList<>();
C) ArrayList<> list = new ArrayList<String>();
D) ArrayList<boolean> list = new ArrayList<>();

9. public static void main(String[] args) {


List<Integer> list = new ArrayList<>();
[Link](3);
[Link](5);
[Link](7);
[Link](9);
int i = 0;
int x = 0;
while(i<[Link]()) {
x = x + [Link](i);
i++;
}
[Link](x);
}
Output nedir?

A) 24
B) Compile Time Error
C) 9
D) 15

108 Techpro Education


Array Lists

10. public static void main(String[] args) {


int arr[] = {2, 4, 6, 8};
List<Integer> list = new ArrayList<>();
int i = 0;
do {
[Link](arr[i]);
i++;
} while (i < [Link]);
[Link](list);
}
Yukarıdaki kod ne yapıyor?

A) Array'i list'e çeviriyor


B) Compile Time Error verir
C) List'i array'e çeviriyor
D) Run Time Error verir

11. List<Integer> list2 = new ArrayList<>();


[Link](5);
[Link](2);
[Link](4);
[Link](3);
[Link](1);
[Link](4);
[Link](list2);
Output nedir?

A) [5, 2, 4, 3]
B) [5, 2, 3, 1]
C) [5, 2, 3]
D) Compile Time Error

Techpro Education 109


Java For Each Loops

1. public static void main(String[] args) {


int arr[] = { 1, 3, 5 };
int x = 0;
for (int w : arr) {
x = x + w * w;
}
[Link](x);
}
Output nedir?

A) 35
B) 9
C) 23
D) Compile Time Error

2. public static void main(String[] args) {


int arr[] = { 1, 3, 5, 7, 9 };
for (int w : arr) {
if(w<4) {
continue;
}
[Link](w + " ");
}
}
Output nedir?

A) 1 3 5 7 9
B) 1 3
C) 5 7 9
D) None

110 Techpro Education


For Each Loops

3. public static void main(String[] args) {


int arr[] = { 1, 3, 5, 7, 9 };
for (int w : arr) {
[Link](w + " ");
if(w>4) {
break;
}
}
}
Output nedir?

A) 1 3 5
B) 1 3
C) 1 3 5 7 9
D) None

4. public static void main(String[] args) {


int arr[][] = { { 1, 2 }, { 3 }, { 4, 5, 6 } };
for (int[] w : arr) {
for (int z : w) {
[Link](z + " ");
}
}
}
Output nedir?

A) 1 2 3 4 5 6
B) [1, 2] [3] [4, 5, 6]
C) 1 2
D) [1, 2]

Techpro Education 111


For Each Loops

5. public static void main(String[] args) {


int arr[][] = { { 1, 2 }, { 3 }, { 4, 5, 6 } };
int x = 0;
for (int[] w : arr) {
for (int z : w) {
x = x + z;
}
}
[Link](x);
}
Output nedir?

A) 21
B) 1 2 3 4 5 6
C) 3
D) 1 2

6. List<Integer> list1 = new ArrayList<>();


[Link](21);
[Link](22);
[Link](23);
[Link](24);
for(int w : list1) {
if(w%2==0) {
continue;
}
[Link](w+ " ");
}
Output nedir?

A) 21 23
B) 22 24
C) 21 22 23 24
D) None

112 Techpro Education


For Each Loops

7. public static void main(String[] args) {


int arr[] = {3, 4, 5, 6};
List<Integer> list1 = new ArrayList<>();
for(int w : arr) {
[Link](w);
}
[Link]([Link](2));
}
Output nedir?

A) 5
B) 4
C) Run Time Error
D) Compile Time Error

8. public static void main(String[] args) {


int arr[] = {3, 4, 5, 6};
List<Integer> list1 = new ArrayList<>();
for(int w : arr) {
[Link](w);
}
}
Hangisi aynı output'u verir?

A) int arr[] = {3, 4, 5, 6};


List<Integer> list1 = [Link](arr);
B) int arr[] = {3, 4, 5, 6};
List<Integer> list1 = [Link](arr);
C) int arr[] = {3, 4, 5, 6};
List<Integer> list1 = asList(arr);
D) int arr[] = {3, 4, 5, 6};
List<Integer> list1 = toList(arr);

Techpro Education 113


For Each Loops

9. List<Integer> list = new ArrayList<>();


[Link](21);
[Link](22);
[Link](23);
Hangileri doğrudur?

A) int count = 0;
for(int w : list) {
[Link](w + " ");
count++;
if(count==2) {
break;
}
}
Prints 21 22 on the console

B) int count = 0;
for(int w : list) {
count++;
if(count==2) {
continue;
}
[Link](w + " ");
}
Prints 21 23 on the console

C) int count=0;
for(int w : list) {
count++;
if(count<3) {
[Link](w + " ");
}
}
Prints 21 22 on the console

114 Techpro Education


For Each Loops

10. public class Test01 {


static int x = 1000;
public static void main(String[] args) {

Scanner scan = new Scanner([Link]);


List<String> products = new ArrayList<>();
int i=0;
do {
[Link]("Enter " + (i+1) + ". product name");
[Link]([Link]());
i++;
}while(i<3);
[Link](products);
List<String> productId = new ArrayList<>();
for(String w : products) {
[Link]("" + [Link](0) + [Link](1) + x);
x++;
}
[Link](productId);
[Link]();
}
}
Kullanıcı Toy, Lego, ve Shoes girerse output ne olur?

A) [Toy, Lego, Shoes]


[To1000, Le1001, Sh1002]

B) [Toy, Lego, Shoes]


[To1000, Le1000, Sh1000]

C) [Toy, Lego, Shoes]


[To, Le, Sh]

D) [Toy, Lego, Shoes]


[T1000, L1001, S1002]

Techpro Education 115


Java Date Time

1. LocalDate date = [Link]();


Eğer tarih 29 Haziran 2020 ise hangileri doğrudur?

A) [Link](date);
Output 2020-06-29

B) [Link]([Link](2));
Output 2020-08-29

C) [Link]([Link](5));
Output 2020-06-24

D) DateTimeFormatter dtf = [Link]("dd/MMM/yyyy");


[Link]([Link](date));
Output 29/Haz/2020

2. LocalTime time = [Link]();


Eğer saat 09:34:02.960 PM ise hangileri doğrudur?

A) [Link]([Link](11));
Output 09:45:02.960

B) [Link]([Link](2));
Output 07:34:02.960
DateTimeFormatter dtf = [Link]("hh:mm");

C) [Link]([Link](time));
Output 09:34

D) DateTimeFormatter dtf = [Link]("HH:mm");


[Link]([Link](time));
Output 21:34

116 Techpro Education


Date Time

3. public class A{
public static void main(String[] args){
int x = 5;
change(x);
[Link](x);
}
public static void change(int x){
x = 20;
}
}
Output nedir?

A) 5
B) 20
C) Compile Time Error
D) 0

4. class Test{
int x;
Test(int i) { x = i; }
Test() { x = 0; }
}
class A{
public static void main(String[] args){
Test t = new Test(5);
change(t);
[Link](t.x);
}
public static void change(Test t){
t = new Test();
t.x = 10;
}
}
Output nedir?

A) 5
B) 10
C) 0

Techpro Education 117


Date Time

5. class Test{
int x;
Test(int i) { x = i; }
Test() { x = 0; }
}

class A{
public static void main(String[] args){
Test t = new Test(5);
change(t);
[Link](t.x);
}
public static void change(Test t){
t.x = 10;
}
}
Output nedir?

A) 5
B) 10
C) 0

6. LocalDate date = [Link]();


Eğer tarih 1 Temmuz 2020 ise hangisi yanlıştır?

A) DateTimeFormatter dtf = [Link]("dd:MMM:yy");


[Link]([Link](date));
Output 01:Jul:20
B) DateTimeFormatter dtf = [Link]("dd/MMMM/yyyy");
[Link]([Link](date));
Output 01/Temmuz/2020
C) DateTimeFormatter dtf = [Link]("dd/MM/yyyy");
[Link]([Link]([Link](2)));
Output 01/09/2020
D) None

118 Techpro Education


Date Time

7. for(int i=1; i<4; i++) {


for(int k=3; k>1; k--) {
[Link](i + "==>" + k);
}
}
Output nedir?

A) 1==>3
1==>2
2==>3
2==>2
3==>3
3==>2

B) 1==>3 ==>2
2==>3==>2
3==>3==>2

C) 1==>3
2==>3
3==>3

D) 3==>1
2==>1
3==>2
2==>2
3==>3
2==>3

Techpro Education 119


Date Time

8. int a[] = {1, 2};


int b[] = {3, 2, 1};
for(int w : a) {
for(int m : b) {
[Link](w + m + " ");
}
}
Output nedir?

A) 4 3 2 5 4 3
B) 21
C) 5 4 3 4 3 2
D) 8

9. LocalDate currentDate = [Link]();


[Link]([Link](3).minusMonths(4).plusYears(2));
Eğer tarih 2020-10-08 ise output nedir?

A) 2022-06-11
B) 2023-02-11
C) 2022-10-11
D) 2022-10-08

120 Techpro Education


Date Time

10. Tarih 2020-10-08 ve saat 03:00:00pm.


Hangisi yanlıştır?

A) LocalDate date = [Link]();


DateTimeFormatter dtf =
[Link]("dd-MMMM-yy");
[Link]([Link](date));
Output 08-Ekim-20

B) LocalDate date = [Link]();


DateTimeFormatter dtf = [Link]("MM/dd/yyyy");
[Link]([Link](date));
Output 10/08/2020

C) LocalTime time = [Link]();


DateTimeFormatter dtf = [Link]("HH:mm");
[Link]([Link]([Link](1)));
Output 04:00

D) LocalTime time = [Link]();


DateTimeFormatter dtf = [Link]("hh:mm:ss");
[Link]([Link]([Link](1)));
Output 02:00:00

Techpro Education 121


Java Varargs Access Modifiers

1. public static int m1(boolean b1, boolean... b2) {


return [Link];
}
Hangisi 2 return eder?

A) m1(true, false, true);


B) m1(false, true);
C) m1(true, false, true, true);
D) m1();

2. public static void m2(int i, int j, int... k) {


[Link]([Link]);
}
Hangisi yanlıştır?

A) m2(1, 2, 3, 4);
Output 4

B) m2(1, 2, 3, 4, 5);
Output 3

C) m2(1, 2);
Output 0

D) m2(1);
Compile Time Error

122 Techpro Education


Varargs Access Modifiers

3. public static void m3(String x, int... y) {


int p = 1;
for(int w: y) {
p = p * w;
}
[Link](x);
[Link](p);
}
Hangisi yanlıştır?

A) m3("Result: ", 2, 3, 4);


Output Result: 24
B) m3("Result: ", 2, 2.5);
Output Result: 5
C) m3("Result: ");
Output Result: 1
D) m3("Result: ", 2);
Output Result: 2

4. Hangileri Compile Time Error verir?

A) public static void m4(int i, int... j, int... k) {


[Link]([Link]);
}
B) public static void m4(int... j, int k) {
[Link]([Link]);
}
C) private class Test02 {
}
D) protected class Test02 {
}

Techpro Education 123


Varargs Access Modifiers

5. public class Test1 {


public static void main(String args[]) {
m1(10);
m1(11, 12, 13, 14);
}
static void m1(int... a) {
[Link]("==> " + [Link]);
for (int i : a) {
[Link](i + " ");
}
[Link]();
}
}
Output nedir?

A) ==> 1
10
==> 4
11 12 13 14

B) ==> 10
1

C) ==> 11 12 13 14
4

D) ==> 10
==> 11 12 13 14

124 Techpro Education


Varargs Access Modifiers

6. public class Test2 {


static void m2(String str, int... a) {
[Link](str);
for (int i : a) {
[Link](i + " ");
}
[Link]();
}
public static void main(String args[]) {
**********
}
********** yerine aşağıdaki kodlar yazılırsa hangileri doğru olur?

A) m2("Java", 101, 102);


Output Java
101 102

B) m2(100, 101, 102);


Output 100
101 102

C) m2(101, 102);
Output 101 102

D) m2(100, 101, "102");


Compile Time Error

7. Hangileri default ve protected access modifier'larin farklarındandır?

A) Bir class member'i default yapmak için herhangi bir access modifier yazmayız. Fakat bir class
member'i protected yapmak için "protected" yazmak zorundayız.
B) default class member'lara diğer package'lardan ulaşılamaz fakat protected olanlara diğer
package'lardaki child class'lardan ulaşılabilir.
C) protected access modifier'in diğer ismi package private'dir.
D) default access modifier'in başka ismi yoktur.

Techpro Education 125


Varargs Access Modifiers

8. Hangileri Compile Time Error?

A) package pack1;
class A{ }

package pack2;
class B {
public static void main(String[] args) {
A obj = new A();
}
}
B) package pack1;
public class A{ }

package pack2;
class B {
public static void main(String[] args) {
A obj = new A();
}
}
C) package pack1;
public class A{ }

package pack2;
public class B {
public static void main(String[] args) {
A obj = new A();
}
}
D) package pack1;
class A{ }

package pack2;
public class B {
public static void main(String[] args) {
A obj = new A();
}
}

126 Techpro Education


Varargs Access Modifiers

9. package pack1;
public class Test3 {
protected int i = 12;
void m3() {
[Link](i);
}
}
package pack1;
public class Test4 {
public static void main(String[] args) {
Test3 obj = new Test3();
[Link](obj.i);
obj.m3();
}
}
Output nedir?

A) 12
12
B) 12
C) Compile Time Error
D) Run Time Error

10. Hangileri Compile Time Error verir?

A) public class Test3 { }


B) private class Test3 { }
C) class Test3 { }
D) protected class Test3 { }

Techpro Education 127


Java String Builder

1. StringBuilder strBld = new StringBuilder(6);


[Link]("Learn");
[Link]("Java");
[Link](strBld);
Output?

A) LearnJ
B) LearnJava
C) Run Time Error
D) Compile Time Error

2. StringBuilder strBld = new StringBuilder("LearnJava");


Hangileri doğrudur?

A) [Link](3);
[Link](strBld);
Output LearnJava

B) [Link](0,"You");
[Link](strBld);
Output YouLearnJava

C) [Link]();
[Link](strBld);
Output avaJnraeL

D) [Link](5, 9);
[Link](strBld);
Output Learn

128 Techpro Education


String Builder

3. StringBuilder strBld = new StringBuilder("John ");


[Link]("Woo ").append("Leo").deleteCharAt(6);
[Link](strBld);
Output?

A) John Wo Leo
B) John Woo Leo
C) John oo Leo
D) John W

4. Hangisi yanlıştır?

A) public static void main(String[] args) {


StringBuilder str = new StringBuilder("LearnJava");
[Link](3);
[Link]([Link](2, 6));
}
Output anJa

B) public static void main(String[] args) {


StringBuilder str = new StringBuilder("LearnJava");
[Link](5, 'L');
[Link](str);
}
Output LearnLava

C) public static void main(String[] args) {


StringBuilder str = new StringBuilder(7);
[Link]("Java");
[Link]([Link]() + "," + [Link]());
}
Output 4,7

D) None

Techpro Education 129


String Builder

5. Hangileri doğrudur?

A) public static void main(String[] args) {


StringBuilder str = new StringBuilder("LearnJava");
int index = [Link]("earn");
[Link](index);
}
Output 1

B) public static void main(String[] args) {


StringBuilder str = new StringBuilder("LearnJava");
int index = [Link]("a", 4);
[Link](index);
}
Output 6

C) public static void main(String[] args) {


StringBuilder str = new StringBuilder("LearnJava");
int index = [Link]("e", 4);
[Link](index);
}
Compile Time Error

130 Techpro Education


String Builder

6. public static void main(String[] args) {


StringBuilder str = new StringBuilder("LearnJava");
[Link]();
[Link](str);
}
Hangisinin output'u yukarıdaki ile aynıdır?

A) public static void main(String[] args) {


String str2 = "LearnJava";
String str3 = "";
for(int i = [Link]()-1; i>=0; i--) {
str3 = str3 + [Link](i);
}
[Link](str3);
}

B) public static void main(String[] args) {


String str2 = "LearnJava";
String str3 = "";
for(int i = 0; i<=[Link]()-1; i++) {
str3 = str3 + [Link](i);
}
[Link](str3);
}

C) public static void main(String[] args) {


String str2 = "LearnJava";
String str3 = "";
for(int i = [Link]()-1; i>=0; i++) {
str3 = str3 + [Link](i);
}
[Link](str3);
}

Techpro Education 131


String Builder

7. Bilgi: append(char[] ch) method'u char array eklemek için kullanılır.


public static void main(String[] args) {
StringBuilder stb = new StringBuilder("Learn ");
char[] ch = new char[] { 'J', 'A', 'V', 'A' };
[Link](ch);
[Link](stb);
}
Output nedir?

A) Learn JAVA
B) JAVA
C) JAVA Learn
D) Learn

8. Hangileri doğrudur?

A) public static void main(String[] args) {


String str = "Learn";
str = str + "Java";
[Link](str);
}
Output LearnJava
B) public static void main(String[] args) {
String str = "Learn";
[Link](str + "Java");
}
Output LearnJava
C) public static void main(String[] args) {
String str = "Learn";
join("Java");
[Link](str);
}
public static String join(String str) {
return str + "Java";
}
Output LearnJava
D) None

132 Techpro Education


String Builder

9. StringBuilder sb3 = new StringBuilder("Learn");


[Link]("Before trim: " + [Link]());
[Link]();
[Link]("After trim: " + [Link]());
Output nedir?

A) Before trim: 21
After trim: 5

B) Before trim: 5
After trim: 5

C) Before trim: 5
After trim: 21

D) Before trim: 16
After trim: 5

10. Hangileri doğrudur?

A) StringBuilder sb = new StringBuilder(9);


[Link]([Link]() + " - " + [Link]());
Output 0 - 9

B) StringBuilder sb = new StringBuilder();


[Link]([Link]() + " - " + [Link]());
Output 0 - 16

C) StringBuilder sb = new StringBuilder("Java");


[Link]([Link]() + " - " + [Link]());
Output 4 - 20

D) StringBuilder sb = new StringBuilder("StringBuilder");


[Link]([Link](3, 6).toString() + " - " + [Link]());
Output StrBuilder - 10

Techpro Education 133


Java Encapsulation

1. public class Encapsulation {


private int ssn = 100003123;
private String disease = "Cancer";
private double salary = 200000;

public int getSsn() {


return ssn;
}
public void setSsn(int ssn) {
[Link] = ssn;
}
public void setDisease(String disease) {
[Link] = disease;
}
public double getSalary() {
return salary;
}
}
Hangileri doğrudur?

A) ssn, disease, ve salary variables encapsulated yapılmıştır.


B) ssn ve salary variable'larinin degerleri diğer class'lardan okunabilir.
C) salary variable'inin değeri diğer class'lardan değiştirilebilir.
D) disease variable'inin değeri diğer class'lardan okunabilir.

2. Encapsulation için hangisi yanlıştır?

A) Static ve instance variable'lar encapsulated yapılabilir.


B) Sadece private variable'lar encapsulated yapılabilir.
C) getters methodlar variable degerlerini diğer class'lardan okumak için kullanılır.
D) setter methodlar variable degerlerini diğer class'lardan değiştirmek için kullanılır.

134 Techpro Education


Encapsulation

3. public class Encapsulation {


private int ssn = 1234;
private String disease = "Headahce";
private double salary = 100000;

public int getSsn() {


return ssn;
}
public void setSsn(int ssn) {
[Link] = ssn;
}
public void setDisease(String disease) {
[Link] = disease;
}
public double getSalary() {
return salary;
}
}
Hangisi yanlıştır?

A) Encapsulation obj = new Encapsulation();


[Link]([Link]());
Output 1234

B) Encapsulation obj = new Encapsulation();


[Link](6789);
[Link]([Link]());
Output 6789

C) Encapsulation obj = new Encapsulation();


[Link]([Link]());
Output Headache

Techpro Education 135


Encapsulation

4. Hangisi yanlıştır?

A) Eğer encapsulated datalar için sadece getter methodlari oluşturursanız class "immutable
class" olmuş demektir.
B) Eğer encapsulated dataların okunmasını istemiyorsanız getter methodlari olusturmamalısınız.
C) Eğer encapsulated datalarin update edilmesini istemiyorsanız setter methodlari
olusturmamalısınız.
D) Hiçbiri

5. public class Student {


public int id;
protected String name;

public int getId() {


return id;
}
public void setId(int id) {
[Link] = id;
}
public String getName() {
return name;
}
}
Aşağıdakilerden hangilerini yaparsak class immutable class olur?

A) id ve name variable'larinin access modifierlari private yapılmalı


B) setId(int id) methodu silinmeli
C) Tume getter methodlar silinmeli
D) Student class'inin access modifier'i "private" yapılmalı

136 Techpro Education


Encapsulation

6. public class Test1 {


private String gender = "Male";
private int age = 23;
private boolean disabled = false;
public int getAge() {
return age;
}
public void setAge(int age) {
[Link] = age;
}
public boolean isDisabled() {
return disabled;
}
public void setDisabled(boolean disabled) {
[Link] = disabled;
}
public String getGender() {
return gender;
}
}
Hangisi yanlıştır?

A) public static void main(String[] args) {


Test1 obj1 = new Test1();
[Link](true);
[Link]([Link]());
}
Output true
B) public static void main(String[] args) {
Test1 obj1 = new Test1();
[Link]("Female");
[Link]([Link]());
}
Output Female
C) public static void main(String[] args) {
Test1 obj1 = new Test1();
[Link]([Link]());
}
Compile Time Error
D) Hiçbiri

Techpro Education 137


Encapsulation

7. public class Test1 {


public int id;
protected String name;
public void getId() {
return id;
}
public int setId(int id) {
[Link] = id;
}
public String getName() {
return name;
}
}
Fully Encapsulation için aşağıdakilerden hangileri yapılmalı?

A) id ve name variable'larinin access modifierlari private yapılmalı


B) getId() methodunun return type'i int yapılmalı
C) setId(int id) methodunun return type'i void yapılmalı
D) name variable'inin setter methodu oluşturulmalı

138 Techpro Education


Encapsulation

8. public class Test1 {


private double width;
private double height;
private double screenSize;
private int maxVolume;
private int volume = 12;
private boolean power;
public Test1(double width, double height, double screenSize) {
[Link] = width;
[Link] = height;
[Link] = screenSize;
}
public double channelTuning(int channel) {
switch (channel) {
case 1:
return 34.56;
case 2:
return 54.89;
case 3:
return 73.89;
case 4:
return 94.98;
}
return 0;
}
public int decreaseVolume() {
if (0 < volume) {
volume--;
}
return volume;
}
public void powerSwitch() {
[Link] = !power;

Techpro Education 139


Encapsulation

}
public int increaseVolume() {
if (maxVolume > volume)
volume++;
return volume;
}
}
Hangileri doğrudur?

A) public class Test2 {


public static void main(String args[]){
Test1 t= new Test1(11.5,7,9);
[Link]();
[Link]([Link](2));
}
}
Output 54.89
B) public class Test2 {
public static void main(String args[]){
Test1 t= new Test1(11.5,7,9);
[Link]();
[Link]([Link]());
}
}
Output 11
C) public class Test2 {
public static void main(String args[]){
Test1 t= new Test1(11.5,7,9);
[Link]();
[Link]([Link]);
}
}
Output 0

140 Techpro Education


Encapsulation

9. public class Student {


private int id = 12345;
private String name = "Ali Can";

public int getId() {


return id;
}
public void setId(int id) {
[Link] = id;
}
public String getName() {
return name;
}
}
Hangisi yanlıştır?

A) id read ve update edilebilir


B) name update edilebilir ama read edilemez
C) Student class'indan oluşturulan tüm object'lerin name value'su Ali Candır.
D) Student class'indan oluşturulan her object için farklı bir id oluşturabiliriz.

Techpro Education 141


Java Inheritance

1. public class Animal {


public int weight;
public static void main(String[] args) {
}
}
public class Mammal extends Animal {
protected boolean feed = true;
public static void main(String[] args) {

}
}
public class Dog extends Mammal {
private boolean bark = true;
public static void main(String[] args) {
Dog dog = new Dog();
[Link]([Link]);
[Link]([Link]);
[Link]([Link]);
}
}
Hangisi doğrudur?

A) true
true
0
B) [Link]([Link]);
kodu Compile Time Error verir
C) Çalışır ama ekrana birşey yazdırmaz
D) Run Time Error

142 Techpro Education


Inheritance

2. public class A { }
public class B extends A { }
public class C extends B { }
Hangileri doğrudur?

A) C IS-A B
B) C IS-A A
C) B HAS-A C
D) A HAS-A C

3. Hangisi yanlıştır?

A) public class Animal { }


public class Mammal extends Animal { }
Bu "Single Inheritance" ve Java bunu kabul eder.

B) public class Animal { }


public class Mammal extends Animal { }
public class Mammal extends Creator { }
Bu "Multiple Inheritance" ve Java bunu kabul eder.

C) public class Animal { }


public class Mammal extends Animal { }
public class Dog extends Mammal { }
Bu "Multi Level Inheritance" ve Java bunu kabul eder.

D) public class Animal { }


public class Dog extends Animal { }
public class Cat extends Animal { }
Bu "Hierarchiçal Inheritance" ve Java bunu kabul eder.

Techpro Education 143


Inheritance

4. Java'da inheritance ile alakalı aşağıdakilerden hangileri doğrudur?

A) Java'da tüm classlar Object class'dan inherit yaparlar.


B) Java'da Object class haric tüm class'larin parent class'i vardır.
C) public ve protected class memberlar problemsiz bir şekilde inherit edilebilirler.
D) default class memberlar inherit edilemezler

5. public class Animal {


public void m1()
public void m2()
}
public class Mammal extends Animal {
public void m3()
}
public class Dog extends Mammal {
public void m4()
public void m5()
}
Hangisi doğrudur?

A) Dog obj = new Dog();


m1(), m2(), m3(), m4(), ve m5() methodlarina obj object kullanılarak ulaşılabilir.

B) Dog obj = new Dog();


obj object kullanılarak sadece m4() ve m5() methodlarina ulaşılabilir.

C) Dog obj = new Dog();


obj object kullanılarak sadece m3(), m4() ve m5() methodlarina ulaşılabilir.

D) Compile Time Error verir

144 Techpro Education


Inheritance

6. package x
public class Animal {
void m1()
private void m2()
}
package y
public class Mammal extends Animal {
public void m3()
protected void m4()
void m5()
}
package y
public class Dog extends Mammal {
public void m6()
private void m7()
}
Hangisi doğrudur?

A) Dog obj = new Dog();


obj object kullanılarak sadece m3(), m4(), m5(), m6() ve m7() methodlarina ulaşılabilir
B) Dog obj = new Dog();
obj object kullanılarak m1(), m2(), m3(), m4(), m5(), m6() ve m7() methodlarina ulaşılabilir
C) Dog obj = new Dog();
obj object kullanılarak sadece m2(), m3(), m4(), m5(), m6() ve m7() methodlarina ulaşılabilir
D) Dog obj = new Dog();
obj object kullanılarak sadece m3(), m4(), m5(), m6() methodlarina ulaşılabilir

7. Hangileri doğrudur?

A) Eğer X IS-A Y ise X classi Y classinin sub classidir ve Y classi X classinin super classidir.
B) Eğer X HAS-A Y ise X super class ve Y sub classdir
C) Eğer X IS-A Y ve Y HAS-A Z ise X ve Z kardes olabilirler
D) Eğer X IS-A Y ve Z HAS-A X ise bu Java'nin desteklemedigi bir inheritance olabilir.

Techpro Education 145


Java Inheritance Constructor Call

1. public class Animal {


Animal(){
[Link]("Animal Constructor");
}
public static void main(String[] args) {
}
}
public class Mammal extends Animal {
Mammal(){
[Link]("Mammal Constructor");
}
public static void main(String[] args) {

}
}
public class Dog extends Mammal {
Dog(){
[Link]("Dog Constructor");
}
public static void main(String[] args) {
Dog dog = new Dog();
}
}
Output?

A) Animal Constructor
Mammal Constructor
Dog Constructor
B) Dog Constructor
Mammal Constructor
Animal Constructor
C) Dog Constructor
D) Runs but no output

146 Techpro Education


Inheritance Constructor Call

2. public class Animal {


public int weight = 12;
protected boolean feed = true;
public static void main(String[] args) {
}
}
public class Mammal extends Animal {
public int weight = 13;
public boolean bark = false;
public static void main(String[] args) {

}
}
public class Dog extends Mammal {
private boolean bark = true;
public static void main(String[] args) {
Dog dog = new Dog();
[Link]([Link]);
[Link]([Link]);
[Link]([Link]);
}
}
Hangisi doğrudur?

A) true
true
13
B) [Link]([Link]); Compile Time Error verir.
C) true
D) Run Time Error

Techpro Education 147


Inheritance Constructor Call

3. public class Animal {


public int weight;
public static void main(String[] args) {
}
}
public class Mammal extends Animal {
protected boolean feed = true;
public static void main(String[] args) {

}
}
public class Dog extends Mammal {
public boolean bark = true;
public static void main(String[] args) {
Mammal dog = new Dog();
[Link]([Link]);
[Link]([Link]);
[Link]([Link]);
}
}
Hangisi doğrudur?

A) true
true
0
B) [Link]([Link]); Compile Time Error verir.
C) Çalışır ama ekrana birşey yazdırmaz
D) Run Time Error

148 Techpro Education


Inheritance Constructor Call

4. public class Animal {


public int weight;
public static void main(String[] args) {
}
}
public class Mammal extends Animal {
protected boolean feed = true;
public static void main(String[] args) {

}
}
public class Dog extends Mammal {
public boolean bark = true;
public static void main(String[] args) {
Animal dog = new Dog();
[Link]([Link]);
[Link]([Link]);
[Link]([Link]);
}
}
Hangisi doğrudur?

A) true
true
0
B) [Link]([Link]); ve [Link]([Link]); Compile Time Error verir
C) Çalışır ama ekrana birşey yazdırmaz
D) Run Time Error

Techpro Education 149


Inheritance Constructor Call

5. public class A { }
public class B extends A { }
public class C extends B { }
Hangileri doğrudur?

A) A ve B super classdir
B) B ve C sub classdir
C) Bu multi level inheritance'dir
D) Java bu inheritance'i desteklemez

6. Hangileri aynıdır?

A) public class C1 { }
B) public class C1 { C1(){} }
C) public class C1 { C1(){ super() } }
D) public class C1 { C1(){ super(int i) } }

7. 1: class X{
2: public X(int i){
3: [Link](1);
4: }
5: }
6: class Y extends X{
7: public Y(){
8: [Link](2);
9: }
10: }
Hangisi doğrudur?

A) Line 2 de Compile Time Error verir


B) Line 6 da Compile Time Error verir
C) Line 7 de Compile Time Error verir
D) Compile Time Error yoktur

150 Techpro Education


Inheritance Constructor Call

8. public class C {
public int x = 11;
public void m() { [Link]("Good"); }
}
public class B extends C {
public int x = 12;
public void m() { [Link]("Bad"); }
}
public class A extends B {
public static void main(String[] args) {
B b = new B();
b.m();
[Link](b.x);

C c = new B();
c.m();
[Link](c.x);

C d = new C();
d.m();
[Link](d.x);
}
Output?

A) Bad
12
Bad
11
Good
11
B) Bad
12
Bad
12
Good
11
C) Bad
12
Good
11
Good
11

Techpro Education 151


Inheritance Constructor Call

9. public class School {


String name = "School";
public void grade() {
[Link]("S");
}
}
public class Room extends School {
String name = "Class";
public static void main(String[] args) {
*********************
[Link]();
}
public void grade() {
[Link]("C");
}
}
Asagidaki kodlar ********************* yerine yazılırsa hangileri doğru olur?

A) Room obj1 = new Room();


output C
B) School obj1 = new School();
Output S
C) Room obj1 = new Room();
Output S
D) School obj1 = new School();
Output C

152 Techpro Education


Inheritance Constructor Call

10. class A{
public A(int i){
[Link]("Class A int Constructor");
}
public A(){
[Link]("Class A Constructor");
}
}
class B extends A{
public B(){
super(5);
[Link]("Class B Constructor");
}
public B(double d){
[Link]("Class B double Constructor");
}
}
class C extends B{
public C(){
[Link]("Class C Constructor");
}
public C(String s){
super(1.2);
[Link]("Class C String Constructor");
}
}
Hangileri doğrudur?

A) class MainClass{
public static void main(String[] args){
B obj = new C();
}
}
Output Class A int Constructor
Class B Constructor
Class C Constructor

Techpro Education 153


Inheritance Constructor Call

B) class MainClass{
public static void main(String[] args){
A obj = new C("Java");
}
}
Output Class A Constructor
Class B double Constructor
Class C String Constructor

C) class MainClass{
public static void main(String[] args){
C obj = new C();
}
}
Output Class A Constructor
Class B Constructor
Class C Constructor

154 Techpro Education


Java Overriding

1. public class A {
int i = 11;
public void display() {
[Link](i);
}
}
class B extends A {
int i = 12;
public void display() {
[Link](i);
}
}
Hangisi yanlıştır?

A) public class C {
public static void main(String args[]) {
B obj1 = new B();
[Link]();
[Link](obj1.i);
}
}
Output 12
12

B) public class C {
public static void main(String args[]) {
A obj2 = new B();
[Link]();
[Link](obj2.i);
}
}
Output 12
11

Techpro Education 155


Overriding

C) public class C {
public static void main(String args[]) {
A obj3 = new A();
[Link]();
[Link](obj3.i);
}
}
Output 11
11

D) class C {
public static void main(String args[]) {
B obj4 = new A();
[Link]();
[Link](obj4.i);
}
}
Output 11
11

2. public class A {
void display() {
[Link]("Good");
}
}
class B extends A {
@Override
**** void display() {
[Link]("Bad");
}
}
"****" yerine hangisi yazılamaz?

A) private
B) nothing
C) protected
D) public

156 Techpro Education


Overriding

3. public class A {
public A display() {
return new A();
}
}
class B extends A {
}
class C extends B {
@Override
public **** display() {
return new C();
}
"****" yerine hangileri yazılabilir?

A) A
B) B
C) C
D) None

4. Overloading ve Overriding için hangileri doğrudur?

A) Overloading'de method signature farklı olmalıdır fakat Overriding'de method signature aynı
olmalıdır.
B) static, private, ve final method'lar override edilemezler fakat overload edilebilirler.
C) Overriding için inheritance sarttir fakat Overloading için inheritance sart değildir.
D) Overriding ve Overloading de method body değiştirilmek zorundadır.

Techpro Education 157


Overriding

5. Hangileri method overriding için yanlıştır?

A) public class A {
private void fly(){
[Link]("A flies");
}
}
public class B extends A {
@Override
public void fly(){
[Link]("B flies");
}
}

B) public class A {
public final void fly(){
[Link]("A flies");
}
}
public class B extends A {
@Override
public final void fly(){
[Link]("B flies");
}
}

C) public class A {
public static void fly(){
[Link]("A flies");
}
}
public class B extends A {
@Override
public static void fly(){
[Link]("B flies");
}
}

158 Techpro Education


Overriding

D) public class A {
public int fly(){
[Link]("A flies");
return 5;
}
}
public class B extends A {
@Override
public byte fly(){
[Link]("B flies");
return 7;
}
}

Techpro Education 159


Overriding

6. Hangileri method overriding değildir?

A) public class A {
public int fly(int i){
return 2*i;
}
}
public class B extends A {
public int fly(int i, int j){
return i+j;
}
}

B) public class A {
public int fly(int i){
return 2*i;
}
}
class B extends A {
public int fly(short i){
return i;
}
}

C) public class A {
public int fly(){
return 2;
}
}
class B extends A {
public short fly(){
return 2;
}
}

160 Techpro Education


Overriding

7. public class Shape{


public void draw(){
[Link]("Shape");
}
public void paint(){
[Link]("Shape painted");
}
}

public class Circle extends Shape{


public void draw(){
[Link]("Circle");
}
}

public class Square extends Shape{


public void draw(){
[Link]("Square");
}
public void paint(){
[Link]("Square painted");
}
}
Hangisi yanlıştır?

A) public class Main{


public static void main(String aga[]){
Shape c = new Circle();
[Link]();
[Link]();
}
}
Output Circle
Shape painted

Techpro Education 161


Overriding

B) public class Main{


public static void main(String aga[]){
Shape s = new Square();
[Link]();
[Link]();
}
}
Output Square
Square painted

C) public class Main{


public static void main(String aga[]){
Shape t = new Shape();
[Link]();
[Link]();
}
}
Output Shape
Shape painted

D) None

162 Techpro Education


Overriding

8. Hangileri Compile Time Error verir?

A) public class Test06 {


private void go() {
[Link]("Good");
}
}
public class Test extends Test06 {
@Override
public void go() {
[Link]("Bad");
}
public static void main(String args[]) {
Test obj = new Test();
[Link]();
}
}

B) public class Test06 {


private void go() {
[Link]("Good");
}
}
public class Test extends Test06 {
public void go() {
[Link]("Bad");
}
public static void main(String args[]) {
Test obj = new Test();
[Link]();
}
}

Techpro Education 163


Overriding

C) public class Test06 {


public Integer go() {
return 11;
}
}
public class Test extends Test06 {
@Override
public Short go() {
return 6;
}
public static void main(String args[]) {
Test obj = new Test();
[Link]();
}
}

164 Techpro Education


Overriding

9. Hangileri Compile Time Error verir?

A) public class Test06 {


public int go() {
return 11;
}
}
public class Test extends Test06 {
@Override
protected int go() {
return 12;
}
public static void main(String args[]) {
Test obj = new Test();
[Link]();
}
}

B) public class Test06 {


int go() {
return 11;
}
}
class Test extends Test06 {
@Override
protected int go() {
return 12;
}
public static void main(String args[]) {
Test obj = new Test();
[Link]();
}
}

Techpro Education 165


Overriding

C) public class Test06 {


int go() {
return 11;
}
}
class Test extends Test06 {
@Override
byte go() {
return 12;
}
public static void main(String args[]) {
Test obj = new Test();
[Link]();
}
}

D) public class Test06 {


final int go() {
return 11;
}
}
class Test extends Test06 {
@Override
final int go() {
return 12;
}
public static void main(String args[]) {
Test obj = new Test();
[Link]();
}
}

166 Techpro Education


Overriding

10. public class A extends B{


int age = 11;
public static String sing(){
return "fa";
}
public static void main(String[] args){
A a = new A();
B b = new B();
[Link]([Link]() + " " + [Link]());
[Link]([Link] + " " + [Link]);
}
}
class B {
int age = 12;
public static String sing(){
return "la";
}
}
Output nedir?

A) fa la
11 12

B) la fa
11 12

C) fa la
12 11

D) fa fa
11 11

Techpro Education 167


Java Overloading-Overriding

1. public class Test01 {


public static void main(String s[]) {
go();
go(12);
go(5 >= 5);
}
public static void go() {
[Link]("Bad");
}
public static void go(double i) {
[Link]("Good");
}
public static void go(boolean b) {
if (b) {
[Link]("The best");
} else {
[Link]("The worst");
}
}
}
Output?

A) Bad
Good
The best

B) Bad
Good
The worst
C) Compile Time Error

D) Bad
The best

168 Techpro Education


Overloading-Overriding

2. public class Test02 {


public static void main(String s[]) {
String str = print(8) + print();
print(str);
}
public static int print() {
return 3;
}
public static String print(int i) {
return "5";
}
public static void print(String j) {
[Link](j);
}
}
Output?

A) 53
B) 83
C) 8
D) Compile Time Error

Techpro Education 169


Overloading-Overriding

3. public class Test03 {


public static void main(String[] args) {
int x = add(2, 8);
double y = add(3, 4.5);
double z = add(x, y, 20);
[Link](z);
}
static int add(int i, int j){
return i + j;
}
static double add(double i, double j){
return i + j;
}
static double add(int i, double j, int k) {
return i + j + k;
}
}
Output?

A) 37.5
B) Compile Time Error
C) 27.5
D) 37

170 Techpro Education


Overloading-Overriding

4. public class Test04 {


public static void main(String[] args) {
[Link](avg(1.2, 4.8));
[Link](avg(1.2, 4.8, 6));
}
public static double avg(double i, double j) {
[Link]("Good ");
return (i+j)/2;
}
public static double avg(double... k) {
[Link]("Bad ");
double sum = 0;
for(int i=0; i<[Link]; i++) {
sum = sum + k[i];
}
return sum/[Link];
}
}
Output?

A) Good 3.0
Bad 4.0

B) Good 3
Bad 4

C) Compile Time Error

D) Bad 3.0
Bad 4.0

Techpro Education 171


Overloading-Overriding

5. public class Test05 {


int x = 11;
public void go() {
[Link]("Good");
}
}
public class Test extends Test05 {
int x = 12;
public void go() {
[Link]("Bad");
}
public static void main(String args[]) {
Test05 obj = new Test();
[Link]();
[Link](obj.x);
}
}
Output?

A) Bad
11

B) Bad
12

C) Good
11

D) Good
12

172 Techpro Education


Overloading-Overriding

6. final class A {
int i = 11;
}
class B extends A {
int i = 12;
}
class Runner {
public static void main(String args[])
{
B obj = new B();
[Link](obj.i);
}
}
Hangisi doğrudur?

A) Output 11
B) Output 12
C) Compile Time Error
D) Run Time Error

Techpro Education 173


Overloading-Overriding

7. class A {
int i;
public void display() {
[Link](i);
}
}
class B extends A{
int j;
public void display() {
[Link](j);
}
}
Hangileri doğrudur?

A) class Main {
public static void main(String args[]){
B obj2 = new B();
obj2.i = 1;
obj2.j = 2;
A r = obj2;
[Link]();
}
}
Output 2

B) class Main {
public static void main(String args[]){
B obj2 = new B();
obj2.i = 1;
obj2.j = 2;
A r = obj2;
[Link](r.j);
}
}
Compile Time Error

174 Techpro Education


Overloading-Overriding

C) class Main {
public static void main(String args[]){
B obj2 = new B();
obj2.i = 1;
obj2.j = 2;
A r = obj2;
[Link](r.i);
}
}
Output 1

8. Hangileri doğrudur?

A) final variable'larin degerleri değiştirilemez, sabit deger sahiptirler.


B) final variable'lar initialize edilmelidirler.
C) final variable'lar isimlendirilirken büyük harfler kullanılır, isimlendirmede birden fazla kelime
kullanılırsa kelimeler arasina "_" konulur.
D) final keyword program boyunca değerinin degistirilmesini istemedigimiz variable'lar için
kullanılır.

9. Whiçh ones are true?

A) Bir final class'a extend edemeyiz.


B) Bir class için inheritance kullanilmasin istersek o class'i final class yapariz.
C) Bir final method override edilemez.
D) Tum child class'larin parent class'daki bir methodu, body'sini degistirmeden kullanmasini
istiyorsak o methodu final method yapariz.

10. Whiçh ones are true?

A) "Method Overloading" Compile Time Polymorphism'dir, "Method Overriding" Run Time


Polymorphism'dir.
B) static method'lar overload edilebilir ama override edilemez.
C) Static variable'lara ve static method'lara sadece class ismi kullanılarak da ulaşılabilir.
D) None

Techpro Education 175


Java Exceptions - 1 - 1

1. public static void main(String[] args){


FileInputStream f = new FileInputStream("src/day/TextFile");
}
Hangileri doğrudur?

A) Problemsiz çalışır
B) Compile Time Exception verir, ")" ve "{" arasina throws FileNotFoundException yazarak
Exception'i handle edebiliriz.
C) Compile Time Exception verir, ")" ve "{" arasina throws IOException yazarak Exception'i handle
edebiliriz.
D) Run Time Exception verir.

2. public static void main(String[] args) {


FileInputStream f = new FileInputStream("src/day/TextFile");
int i = 0;
while ((i = [Link]()) != -1) {
[Link]((char) i);
}
[Link]();
}
Hangisi doğrudur?

A) Problemsiz çalışır
B) Compile Time Exception verir, ")" ve "{" arasina throws FileNotFoundException yazarak
Exception'i handle edebiliriz.
C) Compile Time Exception verir, ")" ve "{" arasina throws IOException yazarak Exception'i handle
edebiliriz.
D) Run Time Exception verir.

3. Hangileri doğrudur?

A) FileNotFoundException path yanlış olduğu zaman, dosya silinmiş olduğu zaman, veya dosya
var ama ulasilamiyor olduğu zaman devreye girer.
B) IOException input ve output işlemlerinde problem olduğu zaman devreye girer.
C) FileNotFoundException extends IOException
D) FileNotFoundException ve IOException Run Time Exception'dirlar.

176 Techpro Education


Exceptions - 1

4. Hangileri doğrudur?

A) public class E02 {


public static void main(String[] args) {
int x = 5;
int y = 2;
[Link](x / y);
}
}
Output 2.5

B) public class E02 {


public static void main(String[] args) {
int x = 0;
int y = 2;
[Link](x / y);
}
}
Output 0

C) public class E02 {


public static void main(String[] args) {
int x = 5;
int y = 0;
[Link](x / y);
}
}
Throws ArithmeticException

D) public class E02 {


public static void main(String[] args) {
int x = 5;
int y = 0;
[Link](x / y);
}
}
Compile Time Exception verir ")" ve "{" arasina throws ArithmeticException yazılmalıdır.

Techpro Education 177


Exceptions - 1

5. Hangileri ekrana "Good" yazar?


A) public class E02 {
public static void main(String[] args) {
int x = 5;
int y = 0;
[Link]("Good");
[Link](x / y);
}
}
B) public class E02 {
public static void main(String[] args) {
int x = 5;
int y = 0;
[Link](x / y);
[Link]("Good");
}
}
C) public class E02 {
public static void main(String[] args) {
int x = 5;
int y = 2;
[Link](x / y);
[Link]("Good");
}
}
D) public class E02 {
public static void main(String[] args) {
int x = 5;
int y = 2;
[Link]("Good");
[Link](x / y);
}
}

178 Techpro Education


Exceptions - 1

6. Hangileri doğrudur?

A) public class E {
public static void main(String[] args) {
int arr[] = {9, 8, 7, 6};
try {
[Link]("Good");
[Link](arr[4]);
}catch(ArrayIndexOutOfBoundsException e) {
[Link]("Better");
}
}
Output GoodBetter

B) public class E {
public static void main(String[] args) {
String s2 = null;
try{
[Link]([Link]());
[Link]("Good");
}catch(NullPointerException e) {
[Link]("Better");
}
}
Output GoodBetter

C) String s = "123";
[Link](s + 1); // A
int num = [Link](s);
[Link](num + 1); // B
A = 1231 ve B = 124

Techpro Education 179


Exceptions - 1

D) public class E {
public static void main(String[] args) {
String s2 = "abc";
try{
[Link]([Link](s2));
}catch(NullPointerException e) {
[Link]("Better");
}catch(NumberFormatException e) {
[Link]("The Best");
}
}
Output The Best

7. public static void main(String[] args) {


try {
FileInputStream f = new FileInputStream("src/daypackage/TextFile");

} catch(FileNotFoundException e) {
[Link]("Good");
} catch(IOException e) {
[Link]("Bad");
} finally {
[Link]("Not bad");
}
}
Hangisi yanlıştır?

A) Eğer FileNotFoundException ve IOException yer degistirirse Compile Time Error verir.


B) Eğer IOException silinirse Compile Time Error verir
C) Eğer finally silinirse ekranda ya hiçbir şey görünmez veya output Good olur
D) Output "Bad" olamaz.

180 Techpro Education


Exceptions - 1

8. public static void main(String[] args) {


try {
FileInputStream f = new FileInputStream("src/daypackage/TextFile");
int i = 0;
while ((i = [Link]()) != -1) {
[Link]((char) i);
}
[Link]();
} catch(FileNotFoundException e) {
[Link]("Most probably path is wrong or someone deleted my file");

} catch(IOException e) {
[Link]("Text could not be read or the file could not be closed");

} finally {
[Link]("Do not forget to close the file!");
}
}
Hangisi doğrudur?

A) File silinmis ise output


Most probably path is wrong or someone deleted my file
Do not forget to close the file!

B) Path doğru ve file silinmemis ise output just the text inside the file

C) Compile Time Error verir

D) Run Time Error verir

Techpro Education 181


Exceptions - 1

9. Bilgi: ArrayIndexOutOfBoundsException class'i Exception class'in child class'idir.


Yukarıdaki bilgiye gore hangisi yanlıştır?

A) public static void main(String[] args){


try {
int a[]= {7, 8, 9};
for (int i = 1; i <= 3; i++){
[Link](a[i]);
}
} catch(Exception e) {
[Link] ("Exception");
}catch(ArrayIndexOutOfBoundsException e) {
[Link] ("Out of index");
}finally {
[Link]("Done!");
}
}
Compile time error verir

B) public static void main(String[] args){


try {
int a[]= {7, 8, 9};
for (int i = 1; i <= 2; i++){
[Link](a[i]);
}
} catch(ArrayIndexOutOfBoundsException e) {
[Link] ("Out of index");
}finally {
[Link]("Done!");
}
}
Output
8
9
Done!

182 Techpro Education


Exceptions - 1

C) public static void main(String[] args){


try {
int a[]= {7, 8, 9};
for (int i = 1; i <= 7; i++){
[Link](a[i]);
}
} catch(Exception e) {
[Link] ("Exception");
}finally {
[Link]("Done!");
}
}
Output
8
9
Exception
Done!

D) Hiçbiri

Techpro Education 183


Exceptions - 1

10. public class Test2 {


String str = "a";
void A() {
try {
str = str + "b";
B();
} catch (Exception e) {
str = str + "c";
}
}
void B() throws Exception {
try {
str = str + "d";
C();
} catch (Exception e) {
str = str + "e";
} finally {
str = str + "f";
}
str = str + "g";
}
void C() throws Exception {
[Link](12/0);
}
void display() {
[Link](str);
}
public static void main(String[] args) {
Test2 object = new Test2();
object.A();
[Link]();
}
}
Output nedir?

A) abdefg
B) abcdefg
C) abd
D) abcefg

184 Techpro Education


Java Exceptions - 2

1. Hangisi yanlıştır?

A) throw method body içine yazılır, throws method parantezi ile curly brace arasina yazılır.

B) throw method body içinde bircok kez kullanilabilir. throws bir method için sadece bir kez
kullanılabilir.

C) 1 throw sadece 1 exception atar fakat 1 throws 1'den fazla exception atabilir.

D) throws new NullPointerException();


kodu NullPointerException atar.

2. Eğer console'da sadece exception mesajını görmek isterseniz aşağıdakilerden hangisini


yatmalısınız?

A) catch (Exception e) {
[Link](e);
}
B) catch (Exception e) {
[Link]([Link]());
}
C) catch (Exception e) {
[Link]();
}
D) catch (Exception e) {
[Link]();
}

Techpro Education 185


Exceptions - 2

3. Exception hakkinda detayli aciklama gormek isterseniz aşağıdakilerden hangisini


yazmalisiniz?

A) catch (Exception e) {
[Link]();
}
B) catch (Exception e) {
[Link]([Link]());
}
C) catch (Exception e) {
[Link]([Link]());
}
D) catch (Exception e) {
[Link]();
}

4. public static void main(String[] args) {


try {
run();
} catch (Exception e) {
[Link]([Link]());
}
}
private static void run() {
throw new RuntimeException("Run more");
}
Output nedir?

A) [Link]: Run more


B) Run more
C) [Link]: Run more
at [Link]([Link])
at [Link]([Link])

186 Techpro Education


Exceptions - 2

5. Hangisi yanlıştır?

A) public static void main(String[] args) {


Integer z = 0;
try {
String s = "1234";
z = [Link](s);
}catch(NumberFormatException e) {
[Link](e);
}
[Link](z);
}
Output 1234

B) public static void main(String[] args) {


Integer z = 0;
try {
String s = "abcd";
z = [Link](s);
}catch(NumberFormatException e) {
[Link]("Good");
}
[Link](z);
}
Output
Good
0

Techpro Education 187


Exceptions - 2

C) public static void main(String[] args) {


Integer z = 0;
try {
String s = "abcd";
z = [Link](s);
}catch(NumberFormatException e) {
[Link]("Good");
}
[Link](z);
}
Run Time Exception verir

D) public static void main(String[] args) {


String s = "abcd";
try {
Object obj = new Integer(12);
s = (String)obj;
}catch(ClassCastException e){
[Link]("Good");
}
[Link](s);
}
Output abcd

188 Techpro Education


Exceptions - 2

6. Hangisi yanlıştır?

A) public static void main(String[] args) {


try {
m(-12);
}catch(IllegalArgumentException e) {
[Link]([Link]());
}
}
public static void m(int x) {
if(x<0 || x>9) {
throw new IllegalArgumentException("Good");
}else {
[Link](x);
}
}
Output Good

B) public static void main(String[] args) {


try {
m(12);
}catch(IllegalArgumentException e) {
[Link]([Link]());
}
}
public static void m(int x) {
if(x<0 || x>9) {
throw new IllegalArgumentException("Good");
}else {
[Link](x);
}
}
Output Good

Techpro Education 189


Exceptions - 2

C) public static void main(String[] args) {


try {
m(5);
}catch(IllegalArgumentException e) {
[Link]([Link]());
}
}
public static void m(int x) {
if(x<0 || x>9) {
throw new IllegalArgumentException("Good");
}else {
[Link](x);
}
}
Output
Good
5

D) public static void main(String[] args) {


try {
m(9);
}catch(IllegalArgumentException e) {
[Link]([Link]());
}
}
public static void m(int x) {
if(x<0 || x>9) {
throw new IllegalArgumentException("Good");
}else {
[Link](x);
}
}
Output 9

190 Techpro Education


Exceptions - 2

7. public class Test {


public static void main(String[] args) {
try {
int a = 0;
[Link]("Hi");
int b = 20 / a;
[Link]("How are you?");
} catch (ArithmeticException e) {
[Link]("Good");
} finally {
[Link]("Bad");
}
}
}
Output nedir?

A) Hi
Good
Bad

B) Hi
How are you?
Bad

C) Hi
Good

D) Hi
Bad

Techpro Education 191


Exceptions - 2

8. public class Test2 {


public static void main(String[] args){
try {
int a[]= {7, 8, 9};
for (int i = 1; i <= 3; i++){
[Link](a[i]);
}
} catch(Exception e) {
[Link] ("Out of index");
} finally {
[Link]("Done!");
}
}
}
Output nedir?

A) 8
9
Out of index
Done!
B) Out of index
Done!
C) 8
9
Out of index
D) Out of index

192 Techpro Education


Exceptions - 2

9. try {
[Link](num1/num2);
}catch(ArithmeticException e) {
[Link]("Do not divide by 0");
}finally {
[Link]("Done");
}
Hangisi doğrudur?

A) If int num1 = 22; and int num2 = 0; the output is


Do not divide by 0
B) If int num1 = 22; and int num2 = 2; the output is
11
Do not divide by 0
Done
C) If int num1 = 0; and int num2 = 22; the output is
0
Do not divide by 0
Done
D) If int num1 = 2; and int num2 = 22; the output is
0
Done

10. Hangileri doğrudur?

A) finally{} try-catch block'dan sonra kullanılır.


finally block exception atılsa da atılması da çalışır.
B) final variable'larin değerleri değiştirilemez ve final variable'lar mutlaka initialize edilmelidirler.
C) final method'lar override edilemezler.
D) final class'lara extend edilemez.
E) finalize() method, Garbage Collector datalari imha etmeden once çalıştırılır.

Techpro Education 193


Exceptions - 2

11. public class Test01 {


public static void main(String[] args) {
String s1 = "";
String s2 = null;
try {
s1 = s1 + "J";
[Link]([Link]());
s1 = s1 + "a";
}catch(ArithmeticException e) {
s1 = s1 + "v";
}catch(NullPointerException e) {
s1 = s1 + "u";
}finally{
s1 = s1 + "n";
}
s1 = s1 + "e";
[Link](s1);
}
}
Output nedir?

A) June
B) Jave
C) Jaune
D) 0Jane

194 Techpro Education


Java Abstract Classes

1. public abstract class Ab01 {


public int a = 10;
public abstract void set(int a);
public abstract void get();
}
public class Test extends Ab01{
public void set(int a){
this.a = a;
}
public static void main(String[] args){
Test obj = new Test();
[Link](20);
[Link](obj.a);
}
}
Aşağıdakilerden hangisi doğrudur?

A) The output is 20
B) The output is 10
C) Gives compile time error
D) Gives run time error

Techpro Education 195


Abstract Classes

2. public abstract class Ab01 {


public int a = 10;
public abstract void set(int a);
public int get() {
return a;
}
}
public class Test extends Ab01{
public void set(int a){
this.a = a;
}
public static void main(String[] args){
Test obj = new Test();
[Link](20);
[Link]([Link]());
}
}
Aşağıdakilerden hangisi doğrudur?

A) Output 20
B) Output 10
C) Compile Time Error verir
D) Run Time Error verir

196 Techpro Education


Abstract Classes

3. Aşağıdakilerden hangileri Compile Time Error verir?

A) public class Ab01 {


public int a = 10;
public abstract void set(int a);
public int get() {
return a;
}
}

B) public abstract class Ab01 {


public int a = 10;
public int get() {
return a;
}
}
C) public abstract class Ab01 {
public int a = 10;
public abstract void set(int a);
public int get();
}
public class abstract Test extends Ab01{
public void set(int a){
this.a = a;
}
public static void main(String[] args){
}
}
D) public abstract class Ab01 {
public int a = 10;
public abstract void set(int a);
public int get() {
return a;
}
public static void main(String[] args) {
Ab01 obj = new Ab01();
}
}

Techpro Education 197


Abstract Classes

4. Aşağıdakilerden hangileri Compile Time Error verir?

A) public abstract class Ab01 {


public int a = 10;
public abstract void set(int a);
public abstract int get() {
return a;
}
}

B) public abstract class Ab01 {


public int a = 10;
public abstract void set(int a);
public int get();
}

C) public class Ab01 {


public int a = 10;
public abstract void set(int a);
public int get() {
return a;
}
}

D) public abstract class Ab01 {


public int a = 10;
public void set(int a) {
this.a = a;
}
public int get() {
return a;
}
}

198 Techpro Education


Abstract Classes

5. Aşağıdakilerden hangisi abstraction için yanlıştır?

A) Bir abstract class'a extend ettigimizde, parent class'daki tüm abstract method'lari implement
etmezsek, Compile Time Error almamak için child class'i abstract yapabiliriz.
B) Abstract class'in içinde hiç abstract method uretmesek de olur.
C) Bir concrete class abstract method içeremez, ama bir abstract class concrete method
içerebilir.
D) Abstract class bir class oldugundan, abstract class'lardan object üretilebilir.

6. public abstract class Ab01 {


int b = 12;
abstract void getNumber(int x, int y);
}
public class Test extends Ab01 {
int b = 10;
Test() {
b = super.b;
}
void getNumber(int x, int y) {
int i = x * y + b;
[Link](i);
}
public static void main(String[] args) {
Test sub = new Test();
[Link](7, 3);
}
}
Output nedir?

A) 33
B) 31
C) Compile Time Error verir
D) Run Time Error verir

Techpro Education 199


Abstract Classes

7. public abstract class Y { public int method(){ return 5; } }


public class Z { public abstract void method(); }
public abstract class T { }
public class U { }
Aşağıdakilerden hangisi veya hangileri Compile Time Error verir?

A) Z
B) Y
C) Y, Z
D) U, T, Z

8. 1) Bir okulda 6'inci, 7'inci ve 8'inci siniflar var.


2) Matematik ve İngilizce dersleri tüm siniflar için farklı içeriklerle mecburi derstir.
3) Resim tüm sınıflar için aynı icerikle seçmeli bir derstir.

Yukarıdaki senaryo için aşağıdakilerden hangisi en uygundur?

A) Okul class'i abstract parent class olmalıdır.


Matematik ve Ingilizce dersleri abstract method'lar olmalıdır.
Resim dersi concrete method olmalıdır.

B) Okul class'i abstract parent class olmalıdır.


Matematik, Ingilizce ve Resim dersleri abstract method'lar olmalıdır.

C) Okul class'i concrete parent class olmalıdır.


Matematik, Ingilizce ve Resim dersleri concrete method'lar olmalıdır.

D) Okul class'i concrete parent class olmalıdır.


Matematik ve Ingilizce dersleri abstract method'lar olmalıdır.
Resim dersi concrete method olmalıdır.

200 Techpro Education


Abstract Classes

9. abstract class A{
abstract void firstMethod();
void secondMethod(){
[Link]("SECOND");
firstMethod();
}
}

abstract class B extends A{


@Override
void firstMethod(){
[Link]("FIRST");
}
abstract void thirdMethod();
}
class C extends B{
@Override
void thirdMethod(){
[Link]("THIRD");
}
}
public class MainClass{
public static void main(String[] args){
C c = new C();
[Link]();
[Link]();
[Link]();
}
}
Output nedir?

A) FIRST
SECOND
FIRST
THIRD

B) FIRST
SECOND
THIRD

Techpro Education 201


Abstract Classes

C) SECOND
FIRST
FIRST
THIRD

D) SECOND
FIRST
THIRD

10. public abstract class A {


abstract int getSum();
abstract int getSum(int x);
abstract int getSum(int x, int y);
}

class Sub extends A {


int x = 4;
int getSum(){
return x + x;
}
int getSum(int x, int y){
int z = x + y;
[Link](z);
return z;
}
public static void main(String[] args){
A sub = new Sub();
[Link](4,2);
}
}
Aşağıdakilerden hangileri doğrudur?

A) Compile Time Error yoktur ve output 6 olur


B) Compile Time Error vardır, sub class'i abstract class yaparak Compile Time Error'dan
kurtulabiliriz.
C) Compile Time Error vardır, getSum method'lardan Compile Time Error'a sebep olanini
override ederek Compile Time Error'dan kurtulabiliriz.
D) Compile Time Error vardır, getSum method'lardan Compile Time Error'a sebep olanini silerek
Compile Time Error'dan kurtulabiliriz.

202 Techpro Education


Java Interface - 1

1. public interface I01{


int myMethod();
}
public class Test01 implements I01 {
public static void main(String[] args) {
Test01 obj = new Test01();
[Link]([Link]());
}
@Override
public int myMethod() {
return 12;
}
}
Hangisi doğrudur?

A) "implements" keyword yerine "extends" keyword kullanılmalıydı

B) Output 12 dir.

C) int myMethod(); yerine


public abstract int myMethod(); yapılmalıydı.

D) myMethod() methodunu çağırmak için object oluşturmaya gerek yok, sadece method ismini
kullanmak yeterlidir.

Techpro Education 203


Interface - 1

2. Hangileri Compile Time Error verir?

A) public interface I02{


int x = 3;
x++;
}

B) public interface I02{


int myMethod() {
return 12;
}
}

C) public interface I02{


int x;
}

D) public interface I02{


public abstract int myMethod();
}

204 Techpro Education


Interface - 1

3. public interface I02{


int x = 2;
char c = 'A';
void myMethod();
void myMethod(char c, int x);
}
public class Test01 implements I02 {
int x = 3;
char c = 'B';
public void myMethod() {
[Link]("No parameter: " + I02.c + x);
}
public void myMethod(char c, int x) {
[Link]("One parameter: " + c + I02.x);
}
public static void main(String[] args) {
Test01 obj = new Test01();
[Link]();
[Link]('Z', 7);
}
}
Output nedir?

A) No parameter: A3
One parameter: Z2

B) No parameter: B3
One parameter: Z7

C) No parameter: A2
One parameter: Z2

D) No parameter: A3
One parameter: B2

Techpro Education 205


Interface - 1

4. public class A { }
public abstract class B { }
public interface C { }
public interface D { }
Hangisi compile time error verir?

A) public class A implements C{ }


B) public abstract class B implements D{ }
C) public interface C extends D{ }
D) public interface D extends B{ }

5. Hangisi yanlıştır?

A) public interface I02 {


int x = 12;
}
x'in değeri değiştirilemez.

B) public interface I02 {


protected int x = 12;
}
Compile time error verir

C) public interface I02 {


int x = 12;
}
x'in access modifier'i default'tur.

D) public interface I02 {


int x = 12;
}
x static variable'dir.

206 Techpro Education


Interface - 1

6. public interface I02{


int x = 5;
void cal(int x);
}
public interface I03 {
int x = 6;
void cal(int x);
}
public class Test03 implements I02, I03 {
int x;
public void cal(int item){
x = item * item;
}
public static void main(String args[]){
Test03 obj = new Test03();
[Link](I03.x);
[Link](obj.x);
[Link](I02.x);
[Link](obj.x);
}
}
Output nedir?

A) 36
25

B) 36
36

C) 25
25

D) 25
36

Techpro Education 207


Interface - 1

7. public interface I02{


int x = 5;
void cal(int i);
}
public class Test03 implements I02 {
int x;
public void cal(int item){
x = item * item;
}
}
public class Test04 implements I02 {
int x;
public void cal(int item){
x = item + item;
}
public static void main(String args[]){
Test03 obj1 = new Test03();
Test04 obj2 = new Test04();
[Link](I02.x);
[Link](obj1.x);
[Link](I02.x);
[Link](obj2.x);
}
}
Output nedir?

A) 25
10
B) 25
25
C) 10
10
D) 0
0

208 Techpro Education


Interface - 1

8. public interface I01 {


int v1 = 2000;
String str1 = "Honda";
}
public interface I02 {
int v1 = 3000;
String str2 = "Audi";
}
Hangileri doğrudur?

A) public class C01 implements I01, I02{


[Link](v1);
}
Compile time error verir.

B) public class C01 implements I01, I02{


[Link](I01.v1);
}
Output 2000 dir.

C) public class C01 implements I01, I02{


[Link](str2);
}
Compile time error verir.

D) public class C01 implements I01, I02{


[Link](I02.str2);
}
Output Audi'dir.

Techpro Education 209


Java Interface - 2

1. public interface Animal {


int x = 5;
abstract void eat();
}
public interface Mammal {
int x = 7;
void eat();
}
Hangisi doğrudur?

A) public class Cat implements Animal, Mammal{


public static void main(String[] args) {
Cat cat = new Cat();
[Link](Animal.x);
[Link]();
}
@Override
public void eat() {
[Link]("Cats like cheese");
}
}
Output
5
Cats like cheese

B) public class Cat implements Animal, Mammal{


public static void main(String[] args) {
Cat cat = new Cat();
[Link](Animal.x);
[Link]();
}
@Override
public void eat() {
[Link]("Cats like cheese");
}
}
Compile Time Error verir cunku 2 tane eat() method'u var.
Java hangisini seçeceğine karar veremez.

210 Techpro Education


Interface - 2

C) public class Cat implements Animal, Mammal{


public static void main(String[] args) {
Cat cat = new Cat();
[Link](Animal.x);
[Link]();
}
@Override
public void eat() {
[Link]("Cats like cheese");
}
}
Compile Time Error cunku 2 tane x variable'i var.
Java hangisini sececegine karar veremez.

2. Hangileri Compile Time Error verir?

A) public interface I02 {


default void add() {
[Link]("Makes addition");
}
}
B) public interface I02 {
static void add() {
[Link]("Makes addition");
}
}
C) public interface I02 {
void add() {
[Link]("Makes addition");
}
}
D) public interface I02 {
default void add();
}

Techpro Education 211


Interface - 2

3. interface Animal {
int height = 10;
}
interface Mammal {
int height = 12 ;
int weight = 300;
}
Hangisi yanlıştır?

A) public class Cat implements Animal, Mammal {


public static void main(String args[]){
[Link]([Link]);
}
}
Output 10

B) public class Cat implements Animal, Mammal {


public static void main(String args[]){
[Link]([Link]);
}
}
Output 12

C) public class Cat implements Animal, Mammal {


public static void main(String args[]){
[Link](weight);
}
}
Compile Time Error verir

D) public class Cat implements Animal, Mammal {


public static void main(String args[]){
[Link]([Link]);
}
}
Output 300

212 Techpro Education


Interface - 2

4. public interface A {
void myMethod();
}
public class B {
public void myMethod() {
[Link]("Good");
}
}
public class C extends B implements A {
}
public class Test01 {
public static void main(String[] args) {
A a = new C();
[Link]();
}
}
Hangisi doğrudur?

A) Compile Time Error verir


B) Output Good
C) Run Time Error verir
D) Console'da hiçbirşey gözükmez

Techpro Education 213


Interface - 2

5. public interface I02{


void myMethod();
}

public class Test02 implements I02{


void myMethod(){
[Link]("Good");
}
}
Yukarıdaki code Compile Time Error verir cunku ...

A) Interface'deki methodlarin access modifier'lari public 'dir. override edildiklerinde access


modifier'lari daraltılmaz.
B) Interface'deki variable'lar public, static ve final'dirlar. Bu yuzden bir variable initialize
edildikten sonra değeri değiştirilemez.
C) Bir interface ancak bir başka interface'e extend edebilir. Bir interface'in parent'i class olamaz.
D) Interface'lerin constructor'i olamaz.

6. public interface I02{


int i = 12;
}

public class Test02 implements I02{


void myMethod(){
i = 13;
}
}
Yukarıdaki code Compile Time Error verir cunku ...

A) Interface'deki variable'lar public, static ve final'dirlar. Bu yuzden bir variable initialize


edildikten sonra değeri değiştirilemez.
B) Interface'deki methodlarin access modifier'lari public 'dir. override edildiklerinde access
modifier'lari daraltılmaz.
C) Bir interface ancak bir başka interface'e extend edebilir. Bir interface'in parent'i class olamaz.
D) Interface'lerin constructor'i olamaz.

214 Techpro Education


Interface - 2

7. interface K {
String a = "Awesome";
String mA();
}
interface L extends K {
String b = "Bad";
String mB();
}
class M implements K, L {
public String mA() {
return a + " " + b;
}
public String mB() {
return b + " " + a;
}
}
public class Test02 {
public static void main(String[] args) {
M m = new M();
[Link]([Link]());
[Link]([Link]());
}
}
Output nedir?

A) Awesome Bad
Bad Awesome

B) Awesome Bad
Awesome Bad

C) Bad Awesome
Bad Awesome

D) Compile Time Error

Techpro Education 215


Interface - 2

8. public class D implements E {


public int methodB(int i) {
return i = i * i;
}
}
interface E {
int methodB(int i);
}
public class Test03 {
public static void main(String[] args) {
E b = new D();
[Link]([Link](5));
}
}
Output nedir?

A) 25
B) 5
C) Compile Time Error
D) Run Time Error

216 Techpro Education


Interface - 2

9. interface InfB {
int x = 3;
int myMethod();
}
interface InfA extends InfB{
int x = 7;
int y = 9;
int myMethod();
}
class MyClass implements InfA{
int x = 5;
public int myMethod(){
return x;
}
Hangisi yanlıştır?

A) public static void main(String[] args){


InfA obj = new MyClass();
[Link]([Link]());
}
Output 5
B) public static void main(String[] args){
InfA obj = new MyClass();
[Link](InfA.x);
}
Output 7
C) public static void main(String[] args){
MyClass mc = new MyClass();
[Link](mc.y);
[Link]([Link]());
}
Output 95
D) public static void main(String[] args){
[Link](y);
[Link](x);
}
Output 97

Techpro Education 217


Interface - 2

10. Hangileri Compile Time Error verir?

A) interface B {
protected int x = 3;
}

B) interface B {
public static final int x = 3;
}
C) interface B {
protected int m();
}

D) interface B {
default int m() {
return 1;
}
}

E) interface B {
private static int m() {
return 1;
}
}

218 Techpro Education


Java Iterators

1. Hangileri doğrudur?

A) public class Iterator02 {


public static void main(String[] args) {
List<String> list = new ArrayList<>();
[Link]("X");
[Link]("Y");
[Link]("Z");
ListIterator<String> it = [Link]();
while([Link]()) {
Object el = [Link]();
[Link](el + " ");
}
}
}
Output X Y Z

B) public class Iterator02 {


public static void main(String[] args) {
List<String> list = new ArrayList<>();
[Link]("X");
[Link]("Y");
[Link]("Z");
ListIterator<String> it = [Link]();
while([Link]()) {
Object el = [Link]();
[Link]();
}
[Link](list);
}
}
Output [ ]

Techpro Education 219


Iterators

C) public class Iterator02 {


public static void main(String[] args) {
List<String> list = new ArrayList<>();
[Link]("X");
[Link]("Y");
[Link]("Z");
ListIterator<String> it = [Link]();
while([Link]()) {
Object el = [Link]();
[Link](el + "!");
}
[Link](list);
}
}
Output [X!, Y!, Z!]

D) public class Iterator02 {


public static void main(String[] args) {
List<String> list = new ArrayList<>();
[Link]("X");
[Link]("Y");
[Link]("Z");
for(String w : list) {
w = w + "!";
}
[Link](list);
}
}
Output [X!, Y!, Z!]

220 Techpro Education


Iterators

2. Not: ListIterator interface'inin previousIndex() method 'u verilen elemanın index'ini return eder.
Bu method pointer list'in basina yerlestirildiginde -1 return eder.
Yukarıda verilen bilgiye gore aşağıdakilerden hangileri doğrudur?

A) class Test{
public static void main(String args[]){
List<String> list = new ArrayList<>();
[Link]("AB");
[Link]("CD");
[Link]("EF");
ListIterator<String> it = [Link]();
if([Link]()==-1) {
while([Link]()) {
[Link]([Link]() + " ");
}
}else {
[Link]("Good Morning!");
}
}
}
Output AB CD EF

B) class Test{
public static void main(String args[]){
List<String> list = new ArrayList<>();
[Link]("AB");
[Link]("CD");
[Link]("EF");
ListIterator<String> it = [Link]();
if([Link]()!=-1) {
while([Link]()) {
[Link]([Link]() + " ");
}
}else {
[Link]("Good Morning!");
}
}
}
Output Good Morning!
C) Compile Time Error
D) Run Time Error

Techpro Education 221


Iterators

3. Not: ListIterator interface'inin nextIndex() method 'u verilen elemanın index'ini return eder. Bu
method pointer list'in sonuna yerleştirildiğinden -1 return eder.
Yukarıda verilen bilgiye gore aşağıdakilerden hangileri doğrudur?

A) class Test{
public static void main(String args[]){
List<String> list = new ArrayList<>();
[Link]("AB");
[Link]("CD");
[Link]("EF");
ListIterator<String> it = [Link]();
if([Link]()==-1) {
while([Link]()) {
[Link]([Link]() + " ");
}
}else {
[Link]("Good Morning!");
}
}
}
Output Good Morning!

B) class Test{
public static void main(String args[]){
List<String> list = new ArrayList<>();
[Link]("AB");
[Link]("CD");
[Link]("EF");
ListIterator<String> it = [Link]();
if([Link]()!=-1) {
while([Link]()) {
[Link]([Link]() + " ");
}
}else {
[Link]("Good Morning!");
}
}
}
Output AB CD EF

C) Compile Time Error

D) Run Time Error

222 Techpro Education


Iterators

4. class Test{
public static void main(String args[]){
List<String> list = new ArrayList<>();
[Link]("AB");
[Link]("CD");
[Link]("EF");
ListIterator<String> it = [Link]();
[Link](list);
while([Link]()) {
[Link]([Link]() + " ");
}
}
}
Output nedir?

A) EF CD AB
B) AB CD EF
C) Compile Time Error
D) AB CD EF EF CD AB

5. iterator ile ilgili aşağıdakilerden hangileri doğrudur?

A) Iterator kullanarak, collection'daki elemanlari okuyabilir ve silebiliriz.


B) Iterator collection içinde bastan sona doğru ilerleyebilmemize imkan sağlar.
C) Iterator kullandığımızda index'lerle çalışamayız.
D) Iterator kullanarak bir collection'a eleman ekleyemeyiz.

Techpro Education 223


Iterators

6. ListIterator ile ilgili aşağıdakilerden hangileri doğrudur?

A) ListIterator collection içinde bastan sona ve sondan basa doğru ilerleyebilmemize imkan
sağlar.
B) ListIterator sadece List'ler için kullanılabilir.
C) ListIterator'da set() method'unu kullanarak elemanları değiştirebiliriz.
D) ListIterator'da aşağıdaki method'larin hepsini kullanmak mümkündür;
next(), previous(), hasNext(), hasPrevious(), add(), set(), nextIndex(), previousIndex().

7. List<Integer> list = new ArrayList<>();


[Link](22);
[Link](23);
[Link](24);
ListIterator<Integer> it = [Link]();
while([Link]()) {
[Link]();
}
while([Link]()) {
Integer el = [Link]();
[Link](el = el + 3);
[Link](el + " ");
}
Output nedir?

A) 25 26 27
B) 27 26 25
C) 22 23 24
D) 24 23 22

224 Techpro Education


Iterators

8. List<Integer> list = new ArrayList<>();


[Link](12);
[Link](13);
[Link](14);
[Link](15);
[Link](16);
[Link](list);
ListIterator<Integer> it = [Link]();
int idx = 0;
while([Link]()) {
Integer el = [Link]();
if(idx>2) {
break;
}
[Link](el = el*2);
[Link](el + " ");
idx++;
}
Output nedir?

A) 24 26 28
B) 24 26 28 30 32
C) 30 32
D) Nothing will be printed on the console

Techpro Education 225


Java Collections 1

1. Verilen sekle göre aşağıdakilerden hangileri doğrudur?

A) LinkedList'in 2 interface parent'i var.


B) PriorityQueue class implements Queue interface
C) Set interface extends Collection interface.
D) TreeSet class, Set interface'deki tüm abstract methodlari override etmelidir.

2. Verilen şekle göre aşağıdakilerden hangisi doğrudur?

A) Queue interface Collections interface'deki tüm abstract methodlari override etmelidir.

B) Queue obj1 = new Queue();


Yukarıdaki code bir object oluşturmaktadır.

C) SortedSet obj2 = new TreeSet();


Yukarıdaki code bir object oluşturmaktadır.

D) ArrayList<String> obj3 = new LinkedList<>();


Yukarıdaki code bir object oluşturmaktadır.

3. Aşağıdakilerden hangileri doğrudur?

A) List<String> list1 = new LinkedList<>();


B) Queue<String> list2= new LinkedList<>();
C) Collection<String> list3= new LinkedList<>();
D) LinkedList<String> list4= new LinkedList<>();

226 Techpro Education


Collections 1

4. Aşağıdakilerden hangileri doğrudur?

A) inkedList'de her eleman Node olarak adlandirilir.


Her Node iki bolumden oluşur:
1) Data/Value
2) Pointer/Address/Reference.

B) Head sadece ilk node'un address'ini icerir.

C) Son node'un pointer'i null'i point eder.

D) Insert ve delete işlemleri LinkedList'de kolaylıkla yapılır. Bu yüzden insert ve delete


işlemlerinin çoğunlukla yapılması gereken durumlarda LinkedList kullanılır.

5. Knowledge:
1) addFirst() method LinkedList'in en başına eleman eklemek için kullanılır.
2)addLast() method LinkedList'in en sonuna eleman eklemek için kullanılır.
LinkedList<String> linkedList = new LinkedList<>();
[Link]("A");
[Link]("B");
[Link]("C");
[Link]("B");
[Link]("D");
Hangisi doğrudur?

A) [Link](2);
LinkedList'den B'yi siler.

B) [Link](1, "Ali"); ve [Link]("Ali");


aynı işlemi yapar.

C) [Link]("Veli"); ve [Link]("Veli");
aynı işlemi yapar

D) [Link]() ve [Link]() aynı işlemi yapar

Techpro Education 227


Collections 1

6. Hangi senaryolar LinkedList kullanmak için uygundur?

A) Müze ziyaretçilerini listelemek


B) Bir ülkedeki şehirleri listelemek
C) Bir şehirdeki posta kod'larini listelemek
D) Bir toptan satış deposundaki ürünleri listelemek

7. LinkedList<String> linkedList = new LinkedList<>();


[Link]("A");
[Link]("B");
[Link]("C");
[Link]("B");
Hangileri doğrudur?

A) [Link]("B");
[Link](linkedList);
Console'a [A, B, C] yazar

B) [Link]([Link](2));
Console'a C yazar.

C) [Link](linkedList);
[Link](linkedList);
Console'a [C, B, B, A] yazar

D) [Link](0, "X");
[Link](linkedList);
Console'a [X, A, B, C, B] yazar

228 Techpro Education


Collections 1

8. public class Test02 {


public static void main(String[] args) {
LinkedList<String> sll = new LinkedList<>();
[Link]("B");
[Link]("A");
[Link]("B");
[Link]("C");
[Link]("B");
}
}
Hangileri doğrudur?

A) [Link](sll);
Console'a [C, B, B, A, B] yazar
[Link]("B");

B) [Link](sll);
Console'a [C, B, A, B] yazar
[Link]("B");

C) [Link](sll);
Console'a [C, B, B, A] yazar

D) [Link]([Link]() + [Link]() + [Link](2));


Console'a BCB yazar

Techpro Education 229


Collections 1

9. Hangileri aynı output'u verir?

A) public static void main(String[] args) {


List<String> m = new ArrayList<>();
[Link]("B");
[Link]("C");
[Link]("A");
[Link](m);
for(int i = [Link]()-1; i>=0; i--) {
[Link]([Link](i) + " ");
}
}
B) public static void main(String[] args) {
List<String> m = new ArrayList<>();
[Link]("B");
[Link]("C");
[Link]("A");
[Link](m);
[Link](m);
for(int i = 0; i<[Link](); i++) {
[Link]([Link](i) + " ");
}
}
C) public static void main(String[] args) {
List<String> m = new ArrayList<>();
[Link]("B");
[Link]("C");
[Link]("A");
[Link](m);
for(int i = 0; i<[Link](); i++) {
[Link]([Link](i) + " ");
}
}

230 Techpro Education


Collections 1

10. public static void main(String[] args) {


LinkedList<String> c1= new LinkedList<String>();
[Link]("Red");
[Link]("Green");
[Link]("Black");
[Link]("White");
[Link]("Pink");
}
Hangileri doğrudur?

A) [Link](c1);
Console'a [Red, Green, Black, White, Pink] yazar

B) [Link]([Link]());
Console'a false yazar
[Link](c1);

C) [Link](c1);
Console'a [ ] yazar

D) [Link]([Link](c1));
Console'a false yazar

Techpro Education 231


Java Collections 2

1. public class Test01 {

public static void main(String[] args) {

Queue<Integer> queue = new LinkedList<>();


[Link](3);
[Link](5);
[Link](7);
[Link](9);
[Link](11);
[Link](13);
int count = 0;
while ([Link]() == false) {
[Link]();
count++;
if(count == 3) {
break;
}
}
[Link](queue);
}
}
Output nedir?

A) [9, 11, 13]


B) [3, 5, 7]
C) [11, 13]
D) [7, 9, 11, 13]

232 Techpro Education


Collections 2

2. public class Test02 {


public static void main(String[] args) {
TreeSet<String> tSet = new TreeSet<>();
[Link]("C");
[Link]("B");
[Link]("C");
[Link]("A");
for (String w : tSet){
[Link](w + " ");
}
}
}
Output nedir?

A) A B C
B) C B A
C) C B C A
D) A B C C

3. Hangileri doğrudur?

A) Eleman ekleme ve silme işlemlerini çok yapacaksanız LinkedList kullanmak en iyi seçenektir.

B) Natural order'da unique elemanlar iceren bir collection lazım olduğunda once HashSet
oluşturup elemanları ekledikten sonra, HashSet'i TreeSet'e çevirmek iyi bir yöntemdir.

C) Collection'daki elemanları tekrar tekrar bulmanız gerekirse veya tekrar tekrar update etmeniz
gerekirse ArrayList kullanmak iyidir.

D) Inertion order'da unique elemanlar içeren bir collection lazım olduğunda HashSet kullanmak
iyidir.

Techpro Education 233


Collections 2

4. 1) Elemanlar random order'dadir.


2) Tekrarli eleman kullanilmaz.
3) null value'lara izin verilir.
4) Eleman eklemede cok hizlidir.
Yukarıdaki ozelliklerin hepsi aşağıdakilerden hangisinde vardır?

A) HashSet
B) LinkedHashSet
C) PriorityQueue
D) LinkedList

5. Hangileri doğrudur?

A) remove() ve poll() method'larinin ikisi de queue'daki ilk elemanı siler ve return eder.
B) element() ve peek() method'larinin ikisi de queue'daki ilk elemanı silmeden return eder.
C) Eğer queue bos ise, element() methodu "NoSuchElementException" atar, peek() methodu
null return eder.
D) Eğer queue bos ise, remove() methodu "NoSuchElementException" atar, poll() methodu null
return eder.

6. Hangileri doğrudur?

A) Ilk eklenen elemanın, ilk kullanılmasını gerektiren durumlarda Queue kullanmak iyidir.
B) Knowledge: ArrayList'ler index kullanır fakat Queue'lar index kullanmaz.
Queue'lar element ekleme ve silmede başarılıdırlar, fakat istenilen elemanı bulmakta
yavastırlar. Diğer taraftan, ArrayList'ler eleman ekleme ve silmede biraz yavas olmalarına
rağmen istenilen elemanı bulmakta başarılıdırlar.
C) Queue<String> q = new PriorityQueue<>();
[Link]("Teddy");
[Link]("Mark");
[Link]("Leo");
[Link](); kesinlikle Leo elemanını siler

234 Techpro Education


Collections 2

7. public class Test05 {


public static void main(String[] args) {
HashSet<String> hSet = new HashSet<>();
[Link]("Z");
[Link]("Y");
[Link]("X");
[Link]("X");
[Link](hSet);//A
TreeSet<String> tSet = new TreeSet<>(hSet);
[Link](tSet);//B
}
}
Hangisi doğrudur?

A) A kesinlikle [X, Y, Z] dir


B) B kesinlikle [X, Y, Z] dir
C) A [X, X, Y, Z] olabilir
D) B [X, X, Y, Z] olabilir

8. Eslestirmelerden hangileri doğrudur?

A) Uniqueness of elements ==> HashSet, TreeSet, LinkedHashSet


B) Insertion order ==> ArrayList, LinkedList, LinkedHashSet
C) FIFO ==> Queue
D) Eleman ekleme ve silmede basari ==> LinkedList, HashSet

Techpro Education 235


Collections 2

9. public class Test01 {


public static void main(String[] args) {
HashSet<String> hs = new HashSet<>();
[Link]("A");
[Link]("B");
[Link]("A");
[Link](null);
[Link](null);
[Link](hs);
}
}
Aşağıdakilerden hangisi output olabilir?

A) [null, A, B]
B) [null, null, A, B]
C) [null, A, A, B]
D) [null, null, A, A, B]

10. Hangileri doğrudur?

A) Set'ler tekrarlı eleman icerebilir fakat List'ler içeremez.

B) List'ler elemanları ekleme sirasina göre dizer fakat HashSet'ler elemanları rastgele dizer.

C) Hashing technique her data için kod'lar oluşturur.

D) HashSet, Set'lerin en yavaşıdır.

236 Techpro Education


Java Variables

1) Herhangi bir 3 öğenin fiyatları için double data tipinde değişkenler oluşturunuz. Fiyatların
toplamını konsola yazdırınız.

double gomlekFiyat = 12.99;


double sapkaFiyat= 23.99;
double ayakkabiFiyat = 15.99;
[Link](“Toplam Fiyat: “+ (gomlekFiyat + sapkaFiyat + ayakkabiFiyat));

2) Herhangi bir 3 öğe için float, long ve integer data tipinde değişkenler oluşturunuz. Bu
değişkenlerin değerlerinin çarpımını konsolda yazdırınız.

float x = 15.99F;
long y = 13L;
int z = 12;
[Link]("Degiskenlerin carpimi: " + x*y*z);

3) Basit faizi bulmak için bir kod yazınız.


Not: Basit faiz formülü = anapara * oran * yılDegeri /100

int anapara = 10000, oran = 6, yilDegeri = 3;


int basitFaiz = anapara * oran * yilDegeri /100;
[Link]("Basit faiz degeri:" + basitFaiz);

4) Bir String ve iki long data tipinde değişken oluşturunuz. Konsolda bu long değişkenlerin
toplamını ve çarpımını String ile yazdırınız.

String s = "Sonuc ";


Long a = 123L;
Long b = 9123456782L;
[Link](s + (a+b));
[Link](s + a*b);

Techpro Education 239


Variables

5) Değerleri farklı olan iki boolean data tipinde değişken oluşturunuz ve bu değerleri iki
ardışık değer arasında boşluk bırakacak şekilde aynı satırda yazdırınız.

boolean a = true;
boolean b = false;
[Link](a + " " + b);

6) 3 öğe (kitap, defter ve laptop) fiyatı için long data tipinde değişkenler oluşturunuz.
Konsolda 2 kitap, 4 defter ve 3 laptop için toplam fiyatını yazdırınız.

float kitap = 12.99F, defter = 23.45F, laptop = 34.12F;


float toplamFiyat= 2* kitap + 4* defter + 3*laptop;
[Link]("Toplam fiyat : " + toplamFiyat);

7) İki tamsayıyı değiştirmek için bir kod yazınız.

Scanner scan = new Scanner([Link]);


[Link]("2 sayi giriniz :");
double n1 = [Link]();
double n2 = [Link]();
[Link]("Degistirmeden once : " + n1 + " - " + n2);

[Link]: 3. değişken kullanarak


double temp = n1;
n1 = n2;
n2 = temp;
[Link]("Degistirdiktan sonra: " + n1 + " - " + n2);

[Link]: 3. değişken kullanmadan


n1 = n1 + n2;
n2 = n1 - n2;
n1 = n1 - n2;
[Link]("Degistirdiktan sonra: " + n1 + " - " + n2);

240 Techpro Education


Java Type Casting

1) Short data tipinde bir değişken oluşturunuz ve onu bir int değişkenine dönüştürünüz.

short yas = 12;


int yeniYas = yas;

2) Long data tipinde bir değişken oluşturunuz ve onu bir int değişkenine dönüştürünüz.

long yas = 12L;


int yeniYas = (int) yas;

3) Double data tipinde bir değişken oluşturunuz ve onu bir float değişkenine dönüştürünüz.

double fiyat = 2.34;


float yeniFiyat = (float) fiyat;

4) Double data tipinde bir değişken oluşturunuz ve onu bir short değişkenine dönüştürünüz.
Sonrasında bu short değişkenin değerini konsolda yazdırınız.
Not : Çıktıya dikkat ediniz, ondalık bir değer olmayacaktır.

double fiyat = 1.2;


short yeniFiyat = (short) fiyat;
[Link](yeniFiyat);

5) Byte data tipinde bir değişken oluşturunuz ve onu bir double değişkenine dönüştürünüz.
Sonrasında bu double değişkenin değerini konsolda yazdırınız.
Not : Çıktıya dikkat ediniz, ondalık bir değer olmayacaktır.

byte age = 23;


double newAge = age;
[Link](newAge);

Techpro Education 241


Java Wrapper Classes

1) Byte data tipinin minimum değeri ile short data tipinin maksimum değerinin toplamını
bulmak için bir kod yazınız.

byte min = Byte.MIN_VALUE;


short max = Short.MAX_VALUE;
[Link](min + max);

2) Data tipi String olan “103” değerini byte data tipine dönüştürmek için bir kod yazınız ve
yine data tipi String olan “2351” değerini short data tipine dönüştürüp konsolda iki
değişken arasındaki farkı yazdırınız.

byte sayi1 = [Link]("113");


short sayi2 = [Link]("2351");
[Link](sayi2 - sayi1);

3) valueOf(String s) ile parseByte(String s) methodları arasındaki farklar nelerdir?

parseByte() ilkel tamsayı (primitive integer) tipini (int) döndürürken; valueOf(), ilkel tamsayının
nesne temsilcisi olan [Link]'ı döndürür. Primitive türler yerine, bir tamasyı nesnesini
isteyebileceğimiz durumlar da vardır.

Bariz olan bir diğer fark ise; valueOf() bir örnek metod(instance method) iken parseByte() statik
bir metoddur.

242 Techpro Education


Java String Manipulations

1) Sadece tek bir kelimeden oluşan şehir isimleri için bir String değişkeni oluşturun. Şehir
ismini, baş harfi büyük ve diğer tüm karakterleri küçük harfler olacak şekilde konsolda
yazdırınız.
Örnek: mIAMI - Miami
miami - Miami
MIAMI - Miami
mIaMi - Miami vb.

String sehirIsim = " mIAMI ";


String konsolSehirIsım = [Link]().toLowerCase();
konsolSehirIsım = konsolSehirIsı[Link](0,1).toUpperCase() + konsolSehirIsı[Link](1);
[Link](konsolSehirIsım);

2) Kişi isimleri için 3 String değişken oluşturunuz. Boşluk karakterleri hariç 3 isimdeki
karakter sayısının toplamını yazdırınız.
Örnek: İsimler Ali Can, Merve Star, Mark Tom ise konsolda 22 görmelisiniz.

String isim1 = "Ali Can";


String isim2 = "Aliye Canan";
String isim3 = "Aliyev Can Cananov";
Integer c1 = [Link]("\\s","").length();
Integer c2 = [Link]("\\s","").length();
Integer c3 = [Link]("\\s","").length();
[Link]("Bosluk karakteri olmadan 3 ismin toplam karakter sayisi: " + (c1 + c2 + c3));

3) Bir String değişkeni oluşturunuz, String'deki toplam alfabetik ve sayısal karakter sayısını
konsolda yazdırınız.
Örnek: String : ' Miami 33018!!! ' ise konsolda 10 yazdırmanız gerekir.

String s = " Miami 33018!!! ";


Integer karakterSayisi = [Link]("\\s","").replaceAll("[^A-Za-z0-9]","").length();
[Link]("Toplam alfabetik ve sayısal karakter sayisi:" + karakterSayisi);

Techpro Education 243


String Manipulations

4) Bir String değişkeni oluşturunuz, String'deki rakam olmayan karakterlerin sayısını


konsolda yazdırınız.
Örnek: String: '1a3Bcf4!...' ise konsolda 8 yazdırmanız gerekir.

String s = "2a3B4?-!5";
Integer rakamOlmayanKrkSayisi = [Link]("[0-9]","").length();
[Link]("rakam olmayan toplam karakter sayisi: " + rakamOlmayanKrkSayisi);

5) Bir String değişkeni oluşturunuz ve String değişkenin konsolda boşluk olmayan son
karakteri yazdırınız.
Örnek: 'Ali Can' için n yazdırmalısınız.
‘Miami’ için i yazdırmalısınız.

String s = "Miami ";


int boslukOlmayanSonKrkIndex= [Link]().length()-1;
String boslukOlmayanSonKrk = [Link](boslukOlmayanSonKrkIndex,
boslukOlmayanSonKrkIndex +1);
[Link]("Bosluk olmayan son karakter: " + boslukOlmayanSonKrk);

6) Bir String değişkeni oluşturunuz ve String'in ilk ve son karakterlerinin ASCII değerlerinin
toplamını bulunuz.

String s = "Miami";
int sonKrkIndex = [Link]()-1;
int ilkKrkAscii= [Link](0);
int sonKrkAscii = [Link](sonKrkIndex);
[Link]("ilk ve son karakterlerin ASCII degerlerinin toplami: " + (ilkKrkAscii +
sonKrkAscii));

244 Techpro Education


String Manipulations

7) Bir String değişkeni oluşturunuz ve ilk karakteri dışındaki tüm karakterleri konsolda
yazdırınız.
Örnek: String 'Java' ise konsola 'ava' yazdırmalısınız.

String s = "Java";
String ilkKrkDisindakiler = [Link](1);
[Link]("ilk karakter disindaki tum karakterleri: " + ilkKrkDisindakiler);

8) Bir String değişkeni oluşturunuz ve son karakteri dışındaki tüm karakterlerini konsolda
büyük harfle yazdırınız.
Örnek: String 'Java' ise konsola 'JAV' yazdırmalısınız.

String s = "Java";
Integer sonKrkIndex = [Link]()-1;
String sonKrkDisindakiler = [Link](0, indexOfLastChar).toUpperCase();
[Link]("son karakter disindaki tum karakterler buyuk harf ile : " + sonKrkDisindakiler);

9) Bir String değişkeni oluşturunuz ve konsolda ilk karakter ve son karakter dışındaki tüm
karakterleri büyük harflerle yazdırınız.
Örnek: String 'Java' ise konsolda 'AV' yazdırmalısınız.

String s = "Java";
Integer sonKrkIndex = [Link]()-1;
String ilkSonKrkDisindakiler = [Link](1, sonKrkIndex).toUpperCase();
[Link]("ilk ve son karakter disindaki tum karakterler buyuk harf ile : " +
ilkSonKrkDisindakiler);

Techpro Education 245


String Manipulations

10) Bir String in ortadaki herhangi bir konumda yalnızca tek bir boşluk karakteri olup
olmadığını kontrol etmek için kod yazınız.
Örnek: ‘Ali Can’ için konsolda false yazmalıdır.
‘ Ali Can ’ için konsolda false yazmalıdır.
‘ Ali Can ’ için konsolda false yazmalıdır.
‘Ali Can’ için konsolda true yazmalıdır.
String s = "Tom Hanks";
String trimlenmis = [Link]();
String hicBoslukYok = [Link]("\\s", "");
Boolean ortadaTekBoslukVarMi = [Link]() - [Link]()==1;
[Link]("ortada tek bosluk var " + ortadaTekBoslukVarMi);

11) Bir String’ in başında ve sonunda boşluk karakteri olup olmadığını kontrol etmek için kod
yazınız.
Örnek: ‘ Ali ’ için kodunuz konsolda false yazmalıdır
‘Ali’ için kodunuz konsolda true yazmalıdır
String s = " Tom ";
String trimlenmis = [Link]();
Boolean sonuc = [Link](trimlenmis);
[Link]("basinda ve sonunda bosluk var mi : " + !sonuc);

12) Bir String’ in başında büyük harf ve sonunda nokta olup olmadığını kontrol etmek için kod
yazınız.
Örnek: ‘Ali’ için kodunuz konsolda false yazdırmalıdır
‘ali.’ için kodunuz konsolda false yazdırmalıdır
‘ Ali. ’ için kodunuz konsolda false yazdırmalıdır
‘Ali.’ için kodunuz konsolda true yazdırmalıdır
‘ALI.’ için kodunuz konsolda true yazdırmalıdır
String s = "Tom Hanks.";
char ilkKrk = [Link](0); char sonKrk = [Link]([Link]()-1);
Boolean ilkKrkBuyukMu = ilkKrk >='A' && sonKrk <='Z';
Boolean sonKrkNoktaMi= sonKrk =='.';
Boolean ilkKrkBuyukSonKrkNoktaMi = ilkKrkBuyukMu && sonKrkNoktaMi;
[Link]("Ilk karakter buyuk harf, son karakter nokta mi? "+ilkKrkBuyukSonKrkNoktaMi);

246 Techpro Education


String Manipulations

13) Aşağıdaki koşullar için bir parolanın geçerli olup olmadığını kontrol etmek için kod yazınız;
Şifre boşluk karakterinden farklı olacak şekilde en az 8 karakter içermelidir. Şifrede en az 1
sembol olmalıdır.
Örnek: 'A2b!' için kodunuz konsolda false yazdırmalıdır.
'A2b3cdef' için kodunuz konsolda false yazdırmalıdır
'!1a23b4' için kodunuz konsolda false yazdırmalıdır.
'!1a23b4?es' için kodunuz konsolda true yazdırılmalıdır.
'! a b 3 k' kodunuz konsolda false yazdırmalıdır.

String sifre = "!1a23b4?es";


Boolean enAzSekizKrkMi= [Link]("\\s","").length()>=8;
Boolean enAzBirSembolVarMi = [Link]("\\s","").replaceAll("[A-Za-z0-9]","").length()>0;
[Link]("sifre gecerli mi ? " + (enAzSekizKrkMi && enAzBirSembolVarMi));

14) Bir String’ in belirli bir tek karaktere sahip olup olmadığını üç farklı şekilde kontrol etmek
için kod yazınız.

1. Yol:
String s = "Java";
Boolean sonuc = [Link]("v");
[Link]("karakteri iceriyor mu? " + sonuc);

2. Yol:
String s = "Java";
Boolean sonuc = [Link]("[^v]", "").length()>0;
[Link]("karakteri iceriyor mu? " + sonuc);

3. Yol:
String s = "Java";
Boolean sonuc = [Link]("v")!=-1;
[Link]("karakteri iceriyor mu? " + sonuc);

Techpro Education 247


String Manipulations

15) String gomlekFiyat = ‘$12.99’;


String kitapFiyat = ‘$35.99’;
Gömlek ve kitap fiyatlarının toplamını bulmak için gereken kodu yazınız.

String s = [Link]("[$.]","");
String b = [Link]("[$.]","");
double x = [Link](s);
double y = [Link](b);
[Link]("Toplam Fiyat : " + (x+y)/100);

16) Verilen bir ismin adının ve soyadının baş harflerini almak için kodu yazınız.
Not: İkinci isim kapsam dışındadır.
Örnek: Tom Hanks ==> TH, Mary Star ==> MS

[Link]:
String isim = "Tom Hanks";
String adIlkHarf = [Link](0,1);
int soyadIlkHarfIndex = [Link](" ") + 1;
String soyadIlkHarf= [Link](soyadIlkHarfIndex, soyadIlkHarfIndex +1);
[Link](adIlkHarf + soyadIlkHarf );

[Link]:
String isim = "Tom Hanks";
String adIlkHarf = [Link](0,1);
String soyadIlkHarf = [Link](" ")[1].substring(0, 1);
[Link](adIlkHarf + soyadIlkHarf );

17) Bir String’ de kullanılan noktalama işaretlerinin sayısını bulmak için bir kod yazınız.

String s = "Vay be! Ali 13 yaşında ama üniversite öğrencisi.";


int toplamKrkSayisi = [Link]();
int noktalamaIsaretleriDisindakilerinSayisi = [Link]("\\p{Punct}", "").length();
int noktalamaIsaretlerininSayisi= toplamKrkSayisi - noktalamaIsaretleriDisindakilerinSayisi;
[Link](noktalamaIsaretlerininSayisi);

248 Techpro Education


Java Date Class

1) Ali'nin kaç gün yaşadığını bulan kodu yazınız.


Ali'nin doğum tarihi 12 Mayıs 2002'dir.

LocalDate dogumGunuTarihi = [Link](2002, 5, 12);


LocalDate bugunTarihi = [Link]();
long yasadigiGunSayisi = [Link](dogumGunuTarihi, bugunTarihi);
[Link]("Ali’ nin su ana kadar yasadigi gun sayisi : " + yasadigiGunSayisi);

2) Ali'nin kaç ay yaşadığını bulan kodu yazınız.


Ali'nin doğum tarihi 4 Haziran 1997'dir.

LocalDate dogumGunuTarihi = [Link](1997, 06, 04);


LocalDate bugunTarihi = [Link]();
long yasadigiAySayisi = [Link](dogumGunuTarihi, bugunTarihi);
[Link]("Ali'nin su ana kadar yasadigiı ay sayisi :" + yasadigiAySayisi);

3) Ali'nin doğum tarihi 4 Haziran 1997'dir. Ali'nin doğum tarihinden 2 yıl, 3 ay ve 12 gün
sonraki tam tarihi bulmak için kodu yazınız.

LocalDate dogumGunuTarihi = [Link](1997, 06, 04);


LocalDate kesinTarih = [Link](2).plusMonths(3).plusDays(12);
[Link]("Kesin Tarih : " + kesinTarih);

Techpro Education 249


Date Class

4) Ali, 29 Ekim 1923'ten 45 yıl 8 ay 5 gün sonra doğmuştur.


Veli, 15 Eylül 1993'ten 24 yıl 2 ay 11 gün önce doğmuştur.
Ali ve Veli'nin kesin doğum tarihini hesaplamak için kodu yazınız.
Ali ve Veli'nin doğum tarihinin aynı olup olmadığını kontrol etmek için kodu yazınız.

LocalDate dogumGunuTarihiAli =
[Link](1923,10,29).plusYears(45).plusMonths(8).plusDays(5);
LocalDate dogumGunuTarihiVeli =
[Link](1993, 9, 15).minusYears(24).minusMonths(2).minusDays(11);
[Link]("Tarihler ayni mi ? : " + [Link](dogumGunuTarihiVeli));

5) Veli, Ali'den 3 yıl 11 gün sonra doğmuştur.


Ali size doğum tarihi bilgisini 24 Kasım 2012 olarak vermiştir.
Veli'nin doğum tarihini hesaplamak için gerekli kodu yazınız.

LocalDate dogumGunuTarihiAli = [Link]("2012-11-24");


LocalDate dogumGunuTarihiVeli = [Link](3).plusDays(11);
[Link]("Veli'nin dogum tarihi " + dogumGunuTarihiVeli);

6) Kendinizin ve çocuğunuzun doğum tarihi için Tarih Değerleri oluşturup, ardından farkı gün
olarak hesaplayınız.

LocalDate benimDogumTarihim = [Link](1986, 8, 21);


LocalDate cocugumunDogumTarihi = [Link](2015, 3, 12);
long fark = [Link](benimDogumTarihim, cocugumunDogumTarihi);
[Link]("iki tarih arasindaki gun sayisi : " + fark);

250 Techpro Education


Date Class

7) Belirli bir tarihte yılın son 2 hanesini alınız.

LocalDate bugunTarih = [Link](1996, 8, 21);


int sonIkiRakam = [Link]()%100;
[Link]("yilin son 2 hanesi : " + sonIkiRakam);

8) Belirli bir yılın "Artık yıl" olup olmadığını kontrol etmek için kodu yazınız.
Artık Yıl:
i) Bir yıl 100'e ve 400'e tam bölünüyorsa buna artık yıl denir. Örneğin; 2000 artık yıl, 1900
değildir.
ii) Bir yıl 100'e ve 4'e tam bölünemiyorsa artık yıl olarak adlandırılır. Örneğin; 2004 artık yıl, 2007
değildir.

LocalDate tarih = [Link](1996, 8, 21);


boolean artikYilMi = [Link]();
[Link]("tarihteki yil artik yildir " + artikYilMi);

9) İki farklı tarihin ay numaralarının toplamını bulunuz.

LocalDate tarih1 = [Link](1996, 8, 21);


LocalDate tarih2 = [Link](2015, 3, 12);
[Link]("Toplam ay degerleri : " + [Link]() + [Link]());

10) İki farklı tarih için saat farkını bulunuz.

LocalDate tarih1 = [Link](1996, 8, 21);


LocalDate tarih2 = [Link](2015, 3, 12);
long saatFarki = [Link](tarih1, tarih2);
[Link]("Saatler arasindaki fark : " + saatFarki);

Techpro Education 251


Java Date - Time Class

1) Eğer saat
i) 24:00 ile 05:00 arasında ise konsola 'Uyku zamanı' yazdırınız.
ii) 08:00 ile 16:00 arasında ise konsola 'Çalışma zamanı' yazdırınız.
iii) 19:00 ile 22:00 arasında ise konsola 'Aile zamanı' yazdırınız.
iv) Diğerleri için konsolda 'Kişisel zaman' yazdırınız.

LocalTime bugunTarihi = [Link]();


int saat = [Link]();

if(saat >0 && saat <5){


[Link]("'Uyku zamani");
}else if(saat >8 && saat <16){
[Link]("Calisma Zamani");
}else if(saat >19 && saat <22){
[Link]("Aile Zamani");
}else{
[Link]("Kisisel Zaman");
}

2) Japonya saat dilimi ile Almanya saat dilimi arasındaki saat farkını bulmak için kodu yazınız.

LocalDateTime zamanJaponya = [Link]([Link]("Asia/Tokyo"));


[Link](zamanJaponya);
LocalDateTime zamanAlmanya = [Link]([Link]("Europe/Berlin"));
[Link](zamanAlmanya);
long fark = [Link](zamanAlmanya, zamanJaponya);
[Link](fark);

252 Techpro Education


Date - Time Class

3) Ali 5 Şubat 2015 TRT 10:00'da İstanbul' da, Mark 5 Şubat 2015 12:00 EST' de ABD' de
doğmuştur. Ali'nin doğum saati ile Mark'ın doğum saati arasındaki saat cinsinden fark
nedir?

LocalDateTime dogumTrhAli = [Link](2015, 2, 5, 10, 0, 0);


ZonedDateTime yerelDogumTrhAli = [Link]([Link]("Europe/Istanbul"));
LocalDateTime dogumTrhVeli = [Link](2015, 2, 5, 12, 0, 0);
ZonedDateTime yerelDogumTrhVeli = [Link]([Link]("America/New_York"));
long saatFarki = [Link](yerelDogumTrhAli, yerelDogumTrhVeli);
[Link]("Saatler arasi fark : " + saatFarki);

4) Ali 5 Şubat 2015 saat 10:15 EST'de doğmuştur, Veli 6 Mart 2015 saat 12:25 EST'de
doğmuştur. Ali ve Veli'nin doğum süreleri arasındaki fark nedir?

LocalDateTime dogumTrhAli = [Link](2015, 2, 5, 10, 15, 0);


LocalDateTime dogumTrhVeli = [Link](2015, 3, 6, 12, 25, 0);
long saatFarki = [Link](dogumTrhAli, dogumTrhVeli);
[Link]("Saatler arasi fark : " + saatFarki);

5) Mark 23.02.2018 tarihinde saat 15:25'te GMT ' de doğmuştur, Mark'ın Japonya'daki tam
doğum tarihi ve saati nedir?

LocalDateTime dogumTrhTokyo = [Link]([Link]("Asia/Tokyo"));


LocalDateTime dogumTrhGMT= [Link]([Link]("GMT"));
long saatFarki = [Link](dogumTrhGMT, dogumTrhTokyo);
LocalDateTime dogumTrhMark = [Link](2018, 2, 23, 15, 25, 0).minusHours(saatFarki);
[Link]("Tokyo daki dogum tarihi : " + dogumTrhMark);

Techpro Education 253


Java If Statement

1) Aşağıdaki seçenekler doğrultusunda gereken kodu yazınız.


a) Aralık, Ocak, Şubat için "Kış"
b) Mart, Nisan, Mayıs için "İlkbahar"
c) Haziran, Temmuz, Ağustos için "Yaz"
d) Eylül, Ekim, Kasım için "Sonbahar"
e) Diğerleri için "Geçersiz ay adı"
String ayAdi = " Aralik";
ayAdi = [Link]();
if([Link]("aralik ") || [Link]("ocak") || [Link]("subat")){
[Link]("Kis");
}else if([Link]("mart") || [Link]("nisan") || [Link]("mayis")){
[Link](Ilkbahar ");
}else if([Link]("haziran") || [Link]("temmuz") || [Link]("agustos")){
[Link]("Yaz ");
}else if([Link]("eylul") || [Link]("ekim") || [Link]("kasim")){
[Link]("Sonbahar ");
}else{
[Link]("Gecersiz ay adi ");
}

2) Aşağıdaki seçenekler doğrultusunda gereken kodu yazınız.


a) Şifre boşluk karakterinden farklı en az 8 karakter içeriyorsa "Geçerli Şifre"
b) Herhangi bir pozisyonda şifrede boşluk karakteri varsa "Şifrede boşluk karakteri kullan-
mayınız"
c) a ve b koşullarının sağlanmaması durumunda "Geçersiz Şifre"
Not: Çözümdeki koşulların sıralarına dikkat ediniz.

String sifre = "a1b2c3d4";


if([Link]("\\S", "").length()>0){
[Link]("Sifrede bosluk karakteri kullanmayiniz");
}else if([Link]("\\s", "").length()>=8){
[Link]("Gecerli Sifre");
}else{
[Link]("Gecersiz Sifre ");
}

254 Techpro Education


If Statement

3) Ayın numarasını girdiğinizde ayın adını yazdırmak için gereken kodu yazınız.
Örnek; 1 için çıktı: "Ocak", 2 için çıktı: "Şubat" vb.

int ayNo = 3;
if(ayNo ==1){
[Link]("Ocak");
}else if(ayNo ==2){
[Link]("Subat");
}else if(ayNo ==3){
[Link]("Mart");
}else if(ayNo ==4){
[Link]("Nisan");
}else if(ayNo ==5){
[Link]("Mayis");
}else if(ayNo ==6){
[Link]("Haziran");
}else if(ayNo ==7){
[Link]("Temmuz");
}else if(ayNo ==8){
[Link]("Agustos");
}else if(ayNo ==9){
[Link]("Eylul");
}else if(ayNo ==10){
[Link]("Ekim");
}else if(ayNo ==11){
[Link]("Kasim");
}else if(ayNo ==12){
[Link]("Aralik");
}else{
[Link]("Gecersiz ay numarasi");
}

Techpro Education 255


If Statement

4) Aşağıdaki seçenekler doğrultusunda gereken kodu yazınız.


a) Son basamak 5 ‘e eşit ve 5 den büyükse, yuvarlama işlemi: “Son basamağı bir üst ondalı-
ğa yuvarla”
b) Son basamak 5 den küçükse, yuvarlama işlemi: “Son basamağı bir alt ondalığa yuvarla”

int i = 124;
if(i%10>=5){
[Link]("Son basamağı bir üst ondalığa yuvarla :”+ (i/10+1)*10);
}else{
[Link]("Son basamağı bir alt ondalığa yuvarla :”+ (i/10)*10);
}

5) Aşağıdaki seçenekler doğrultusunda gereken kodu yazınız.


a) Bir üçgenin iki kenarının uzunluğu eşitse "İkizkenar Üçgen".
b) Bir üçgenin tüm kenarlarının uzunluğu eşitse "Eşkenar Üçgen".
c) a ve b koşulları sağlanmıyorsa "Çeşit Kenar Üçgen"
int a = 5;
int b = 3;
int c = 4;

if (a == b && b == c) {
[Link]("Eskenar Ucgen");
} else if (a == b && b != c || a == c && b != c || b == c && a != c) {
[Link]("Ikizkenar Ucgen ");
} else {
[Link]("Cesit Kenar Ucgen ");
}

256 Techpro Education


If Statement

6) Mili km'ye, saniyeyi saate, fahrenhaytı santigrata çeviren bir dönüştürücü oluşturmak için
kod yazınız. Google'dan dönüşümler için formülleri bulunuz.
a) Kullanıcı mile değerini 10 ve operatorü mildenKmye olarak girdiğinde, konsolda kodu-
nuz "16 km" yazmalıdır (sayı dinamik olacak)
b) Kullanıcı saniye değerini 7200 ve operatorü saniyedenSaate olarak girdiğinde, konsolda
kodunuz "2" yazmalıdır (sayı dinamik olacak)
c) Kullanıcı fahrenheit değerini 83 ve operatorü fahrenaytdanSantigarata olarak girdiğin-
de, konsolda kodunuz "28.3333 santigrat" yazmalıdır (sayı dinamik olacak)

double mil = 10;


double saniye = 7200;
double fahrenayt= 83;
String operator = " fahrenaytdanSantigarata ";

if([Link]("mildenKmye ")){
[Link](mil*1.60934);
}else if([Link]("saniyedenSaate ")){
[Link]((saniye /60)/60);
}else if([Link]("fahrenaytdanSantigarata ")){
[Link]((fahrenayt -32)*5/9);
}

Techpro Education 257


If Statement

7) Tam isim için dilbilgisi kurallarını kontrol etmek için kodu yazınız.
a) Kodunuz "ali Can", "Ali can", "ali can" için "Baş harflerinde hata" yazmalıdır.
b) Kodunuz, aşağıdaki gibi tek kelimeler için "Ad veya soyadı eksik" yazmalıdır.
c) "Ali" veya "Can" veya "ali"Kodunuz "ALI CAN" gibi tüm formatlar için "Format hatası" yaz-
malıdır.
d) Kodunuz bir veya daha fazla boşluk (" " veya " " gibi karakterler) için " Isim girilmedi"
yazmalıdır.
e) Ad, harfler ve boşluktan başka herhangi bir karakteri içeriyorsa, kodunuz "Geçersiz Ad"
yazmalıdır.
Not : Kısaltmada 1'den fazla hata varsa, ilgili tüm hata mesajları çıktı olarak konsolda
görünmelidir. Örneğin; "ali3" için kodunuz "Baş harflerinde hata", "Ad veya soyadı eksik" ve
"Geçersiz Ad"

String isim = "ali Can?";


String adinIlkHarfi = [Link](0,1);
Integer boslukIndex = [Link]().indexOf(' ');
String soyadinIlkHarfi = [Link](indexOfSpace+1,indexOfSpace+2);
Boolean adinIlkHarfiBuyukMu = ([Link](0)>='A' && [Link](0)<='Z');
Boolean soyadinIlkHarfiBuyukMu = ([Link](0)>='A' && soyadinIlkHarfi.
charAt(0)<='Z');

if(boslukIndex ==-1){
[Link]("Ad veya soyadi eksik ");
}
if(!adinIlkHarfiBuyukMu || !soyadinIlkHarfiBuyukMu){
[Link]("Bas harflerinde hata");
}
if([Link]([Link]())){
[Link]("Format hatasi");
}
if([Link]("\\s","").length()==0){
[Link]("Isim girilmedi ");
}
if([Link]("\\s","").replaceAll("[A-Za-z]","").length()>0){
[Link]("Gecersiz Isim");
}

258 Techpro Education


If Statement

8) ABD'deki eyalet kısaltmalarının biçimini kontrol etmek için kod yazınız.


a) Kısaltma 2'den fazla karakter içeriyor ise kodunuz, "Eyalet kısaltmaları 2 karakterden faz-
la olamaz" yazmalıdır.
b) Kısaltmada küçük harfler var ise kodunuz, "Eyalet kısaltmaları küçük harf içeremez" yaz-
malıdır.
c) Kısaltmanın harflerinden farklı karakterler var ise kodunuz, "Eyalet kısaltmaları aşağıda-
kilerden farklı karakterler içeremez" yazmalıdır.

Not: Kısaltmada 1'den fazla hata varsa ilgili tüm hata mesajları yazdırılmalıdır.
örnek; "fl3" için kodunuz; "Eyalet kısaltmaları 2 karakterden fazla olamaz", "Eyalet kısaltmaları
küçük harf içeremez", ve "Eyalet kısaltmaları aşağıdakilerden farklı karakterler içeremez"
yazmalıdır.

String eyaletKisaltma = "Fl3";


if([Link]()>2){
[Link]("Eyalet kisaltmalari 2 karakterden fazla olamaz ");
}
if([Link]("[^a-z]","").length()!=0){
[Link]("Eyalet kisaltmalari kucuk harf iceremez ");
}
if([Link]("[^A-Za-z]","").length()!=0){
[Link]("Eyalet kisaltmalari asagidakilerden farkli karakterler iceremez ");
}

Techpro Education 259


If Statement

9) Herhangi bir 2 sayıyla toplama, çıkarma, çarpma ve bölme yapan basit bir hesap makinesi
oluşturmak için kod yazınız.
a) Kullanıcı 10.2 ve 5 ve + işaretini girdiğinde kodunuz konsolda "Sonuç 15.2" yazmalıdır.
b) Kullanıcı 10 ve 5 ve - işaretini girdiğinde kodunuz konsolda "Sonuç 5.0" yazmalıdır.
c) Kullanıcı 10 ve 5.3 ve * işaretini girdiğinde kodunuz konsolda "Sonuç 53.0" yazmalıdır.
d) Kullanıcı 10 ve -5 ve / işaretini girdiğinde kodunuz konsolda "Sonuç -2.0" yazmalıdır.
double a = 10.2, b=5;
String operator = "+";
if([Link]("+")){
[Link](a+b);
}else if([Link]("-")){
[Link](a-b);
}else if([Link]("*")){
[Link](a*b);
}else if([Link]("/")){
[Link](a/b);
}

10) Verilen BMI değerleri için Vücut Kitle İndeksi (BMI) ile ilgili mesajları yazdırmak için kod
yazınız.
Geçersiz BMI değeri < 0
Zayıf = <18.5
Normal ağırlık = 18.5–24.9
Fazla kilolu = 25–29.9
Obezite = 30 veya daha büyük BMI
double bmi = 12;
if(bmi<0){
[Link]("Gecersiz BMI degeri");
}else if(bmi<18.5){
[Link]("Zayif ");
}else if(bmi<24.9 && bmi>=18.5){
[Link]("Normal agirlik ");
}else if(bmi<29.9 && bmi>=25){
[Link]("Fazla kilolu");
}else if(bmi>30){
[Link]("Obezite");
}

260 Techpro Education


Java Ternary Statement

1) Ternary kullanarak, aşağıdaki kodları konsolda yazdırınız.


Parola boşluk karakterinden farklı olarak en az 8 karakter içeriyorsa, "Geçerli Parola",
Parola boşluk karakterinden farklı olarak 8 karakterden daha az ise, "Geçersiz Parola"

String parola = "a1b 2c3";


String gecerliMi = [Link]("\\s","").length()>7 ? "Gecerli Parola" : "Gecersiz Parola";
[Link](gecerliMi);

2) Ternary kullanarak, aşağıdaki kodları konsolda yazdırınız.


a) Bir üçgenin iki kenarının uzunluğu eşitse "İkizkenar Üçgen".
b) Bir üçgenin tüm kenarlarının uzunluğu eşitse "Eşkenar Üçgen".
c) a ve b koşulları sağlanmıyorsa "Çeşit Kenar Üçgen "

int a = 5, b = 4, c = 3;
String ucgenTipi = a==b && b==c ? "Eskenar Ucgen" : (a==b && b!=c || a==c && b!=c || b==c &&
a!=c ? " Ikizkenar Ucgen" : "Cesit Kenar Ucgen");
[Link](ucgenTipi);

3) Ternary kullanarak, aşağıdaki kodları konsolda yazdırınız.


a) Son basamak 5 ‘e eşit ve 5 den büyükse, yuvarlama işlemi: “Son basamağı bir üst ondalı-
ğa yuvarla”
b) Son basamak 5 den küçükse, yuvarlama işlemi: “Son basamağı bir alt ondalığa yuvarla”
Örneğin; 127 yukarı yuvarlanacak ve değer 130 olacaktır.
125 yukarı yuvarlanacak ve değer 130 olacaktır.
123 aşağı yuvarlanacak ve değer 120 olacaktır.

int i = 125;
String sonuc = i%10>=5 ? ("Son basamagi bir ust ondaliga yuvarla:" + (i/10+1)*10) : ("Son
basamagi bir alt ondaliga yuvarla:" + (i/10)*10);
[Link](sonuc);

Techpro Education 261


Ternary Statement

4) Nested Ternary kullanarak Apex kodunu yazınız.


Bir yılın artık yıl olup olmadığını kontrol eden bir program yazınız.
Yıl 100'e tam bölünüyorsa 400'e tam bölünmelidir.
Bir yıl 100'e tam bölünemiyorsa 4'e tam bölünmelidir.

int y = 1800;
String artikYilMi = (y%100==0) ? ( (y%400==0) ? ("Artik Yil") : ("Artik Yil Degil") ) : ( (y%4==0 ? ("Artik
Yil ") : ("Artik Yil Degil ") ));
[Link](artikYilMi);

5) Nested Ternary kullanarak;


Şifreyi kontrol etmek için kodu yazınız.
8'den fazla karakter içeriyorsa, baş harfi 'i' olmalıdır.
8 karakterden fazla içermiyorsa, baş harfi 'K' olmalıdır.

String p = "XXXXXXXXX";
String r = [Link]()>8 ? [Link]("i") ? "Gecerli": "Gecersiz": [Link]("K") ? "Gecerli ":
"Gecersiz";
[Link](r);

6) Bir sayının mutlak değerini hesaplamak için kodu yazınız.


Pozitif sayılar ve sıfır mutlak değer için sayı ile aynıdır.
Negatif sayıların mutlak değerini bulmak için sayıyı -1 ile çarpınız.

int i = -5;
int sonuc = i<0 ? -1*i : i;
[Link](sonuc);

262 Techpro Education


Ternary Statement

7) Ternary kullanarak; 2 tamsayıdan küçük olanı konsola yazdıran bir program yazınız.

int i = 13, k = 12;


int sonuc = i<k ? i : k;
[Link](sonuc);

8) Sayı 3 basamaklı ise konsolda kodunuz "Bu sayı 3 basamaklıdır" olacaktır. Aksi takdirde,
kodunuz " Bu sayı 3 basamaklı değildir" olacaktır.

[Link]:
int i = 750;
String r = (i>99 && i<1000) || (i>-1000 && i<-99) ? "Bu sayı 3 basamaklıdır " : "Bu sayı 3 basamaklı
değildir ";
[Link](r);

2. Yol:
int i = -750;
i = [Link](i);
String r = (i>99 && i<1000) ? "Bu sayı 3 basamaklıdır " : "Bu sayı 3 basamaklı değildir ";
[Link](r);

9) Ternary kullanarak; konsolda tek sayılar için “Tek” , çift sayılar için “Çift” yazdırınız.

int i = 14;
String sonuc = i%2==0 ? "Cift" : "Tek";
[Link](sonuc);

10) Ternary kullanarak; konsolda sayı pozitif ise “Pozitif” , negatif ise “Pozitif Değil” yazdırınız.

int i = -12;
String sonuc = i>0 ? " Pozitif " : " Pozitif Degil ";
[Link](sonuc);

Techpro Education 263


Java Switch-On Statement

1) Yazdırmak için switch ifadesini kullanınız.


a) Aralık, Ocak, Şubat için "Kış"
b) Mart, Nisan, Mayıs için "Bahar"
c) Haziran, Temmuz, Ağustos için "Yaz"
d) Eylül, Ekim, Kasım için "Güz"
e) Diğerleri için "Geçersiz ay adı"

String ayAdi = "Haziran";


ayAdi = [Link]();
switch(ayAdi){
case "aralik":
case "ocak":
case "subat":
[Link]("Kis");
break;
case "mart":
case "nisan":
case "mayis":
[Link]("Bahar");
break;
case "haziran":
case "temmuz":
case "agustos":
[Link]("Yaz");
break;
case "eylul":
case "ekim":
case "kasim":
[Link]("Guz");
break;
default:
[Link]("Gecersiz ay adi");
break;
}

264 Techpro Education


Switch-On Statement

2) Ayın numarasını girdiğinizde ayın adını yazdırmak için bir switch ifadesi kullanınız.
Örneğin;
kullanıcı 1 girerse kodunuz "Ocak" yazmalıdır,
kullanıcı 2 girerse kodunuz "Şubat" yazmalıdır vb.
Kullanıcı geçersiz ay numarası girerse kodunuz "Geçersiz numara" yazmalıdır.

int ayNo = 8;
String ayIsim;
switch (ayNo) {
case 1: ayIsim = "Ocak";
break;
case 2: ayIsim = "Subat";
break;
case 3: ayIsim = "Mart";
break;
case 4: ayIsim = "Nisan";
break;
case 5: ayIsim = "Mayis";
break;
case 6: ayIsim = "Haziran";
break;
case 7: ayIsim = "Temmuz";
break;
case 8: ayIsim = "Agustos";
break;
case 9: ayIsim = "Eylul";
break;
case 10: ayIsim = "Ekim";
break;
case 11: ayIsim = "Kasim";
break;
case 12: ayIsim = "Aralik";
break;
default: ayIsim = " Gecersiz numara ";
break;
}
[Link](ayIsim);

Techpro Education 265


Switch-On Statement

3) Verilen ay numaralarından başlayarak tüm ay adlarını yazdıran bir kod yazınız.


Örnek: Ay numarası 9 ise konsolda kodunuz Eylül Ekim Kasım Aralık olacaktır.

List<String> gelecekAylar = new ArrayList<>();


int ayNo = 8;
switch (ayNo) {
case 1: [Link]("Ocak");
case 2: [Link]("Subat");
case 3: [Link]("Mart");
case 4: [Link]("Nisan");
case 5: [Link]("Mayis");
case 6: [Link]("Haziran");
case 7: [Link]("Temmuz");
case 8: [Link]("Agustos");
case 9: [Link]("Eylul");
case 10: [Link]("Ekim");
case 11: [Link]("Kasim");
case 12: [Link]("Aralik");
break;
default: break;
}

if ([Link]()) {
[Link]("Gecersiz ay numarasi");
} else {
for (String ayAdi : gelecekAylar) {
[Link](ayAdi + " ");
}
}

266 Techpro Education


Switch-On Statement

4) Cinsiyet "Erkek" ise "Erkek" yazdırınız.


Cinsiyet "Kadın" ise "Kız" yazdırınız.
Cinsiyet "Erkek" ve "Kadın"dan farklıysa "Diğerleri" yazdırınız.
Not : Bu seçenekler dışındakilerini yoksayınız.

String cinsiyet = "Kadin";


switch([Link]()){
case "kadin":
[Link]("Kadin");
break;
case "erkek":
[Link]("Erkek");
break;
default:
[Link]("Digerleri");
}

Techpro Education 267


Switch-On Statement

5) Belirli bir yılın belirli bir ayındaki gün sayısını görüntülemek için bir kod yazınız.
Örnek: 2000 yılının Şubat ayında gün sayısı 29.

int ay = 2;
int yil = 2000;
int gunSayisi = 0;

switch (ay) {
case 1: case 3: case 5:
case 7: case 8: case 10:
case 12:
gunSayisi = 31;
break;
case 4: case 6:
case 9: case 11:
gunSayisi = 30;
break;
case 2:
if (((yil % 4 == 0) && !(yil % 100 == 0)) || (yil % 400 == 0)) {
gunSayisi = 29;
}else {
gunSayisi = 28;
}
break;
default:
[Link]("Gecersiz Ay");
break;
}
[Link]("Gun Sayisi = " + gunSayisi);

268 Techpro Education


Switch-On Statement

6) Switch ifadesini kullanarak, herhangi bir 2 sayıyla toplama, çıkarma, çarpma ve bölme
yapan basit bir hesap makinesi oluşturmak için kod yazınız.
a) Kullanıcı 10.2 ve 5 ve + işaretini girdiğinde kodunuz konsolda "Sonuç 15.2" yazmalıdır.
b) Kullanıcı 10 ve 5 ve - işaretini girdiğinde kodunuz konsolda "Sonuç 5.0" yazmalıdır.
c) Kullanıcı 10 ve 5.3 ve * işaretini girdiğinde kodunuz konsolda "Sonuç 53.0" yazmalıdır.
d) Kullanıcı 10 ve -5 ve / işaretini girdiğinde kodunuz konsolda "Sonuç -2.0" yazmalıdır.
e) Kullanıcı 10 ve -5 girdiğinde +, -, *, / 'den farklı bir işlem yaptığında kodunuz "Geçersiz İş-
lem" yazmalıdır.

double a = 10.2;
double b = 5;
String operator = "+";
switch(operator){
case "+":
[Link](a+b);
break;
case "-":
[Link](a-b);
break;
case "*":
[Link](a*b);
break;
case "/":
[Link](a/b);
break;
default:
[Link]("Gecersiz islem");
}

Techpro Education 269


Switch-On Statement

7) Switch ifadesini kullanarak, mili km'ye, saniyeyi saate, fahrenhaytı santigrata çeviren bir
dönüştürücü oluşturmak için kod yazınız. Google'dan dönüşümler için formülleri bulunuz.
a) Kullanıcı mile değerini 10 ve operatorü mildenKmye olarak girdiğinde, konsolda kodu-
nuz "16 km" yazmalıdır (sayı dinamik olacak)
b) Kullanıcı saniye değerini 7200 ve operatorü saniyedenSaate olarak girdiğinde, konsolda
kodunuz "2" yazmalıdır (sayı dinamik olacak)
c) Kullanıcı fahrenheit değerini 83 ve operatorü fahrenaytdanSantigarata olarak girdiğin-
de, konsolda kodunuz "28.3333 santigrat" yazmalıdır (sayı dinamik olacak)
d) Kullanıcı mildenKmye, saniyedenSaate, fahrenaytdanSantigarata ‘dan farklı bir işlem gir-
diğinde, kodunuz "Bu operatör, o dönüştürücü için tanımlanmadı" yazmalıdır.

double mil = 10;


double saniye = 7200;
double fahrenayt= 83;
String operator = " fahrenaytdanSantigarata ";

switch(operator){
case "mildenKmye":
[Link](mil*1.60934);
break;
case "saniyedenSaate":
[Link]((saniye/60)/60);
break;
case " fahrenaytdanSantigarata":
[Link]((fahrenayt-32)*5/9);
break;
default:
[Link]("Bu operator, o donusturucu icin tanimlanmadi");
}

270 Techpro Education


Switch-On Statement

8) Bir Enum oluşturun ve içine CHROME, SAFARI, IE, FIREFOX, YANDEX gibi tarayıcı adlarını
koyunuz. Switch ifadesini kullanın ve CHROME için 'CHROME kullanıyorum', SAFARI için
'SAFARI kullanıyorum', 'IE için IE kullanıyorum', 'FIREFOX için FIREFOX kullanıyorum' ve
YANDEX için 'YANDEX kullanıyorum', CHROME, SAFARI, IE, FIREFOX, YANDEX'ten farklı
tarayıcılar için 'Geçersiz tarayıcı' yazınız.
Not: Geliştirici konsolunda enum oluşturmalısınız.

public enum Browsers{


CHROME, SAFARI, IE, FIREFOX, YANDEX
}

String browser = [Link]();


switch(browser){
case "CHROME":
[Link]("'CHROME kullaniyorum");
break;
case "SAFARI":
[Link]("SAFARI kullaniyorum");
break;
case "IE":
[Link]("IE kullaniyorum");
break;
case "FIREFOX":
[Link]("FIREFOX kullaniyorum");
break;
case "YANDEX":
[Link]("YANDEX kullaniyorum");
break;
default:
[Link]("Gecersiz tarayici'");
}

Techpro Education 271


Switch-On Statement

9) Adı 'Seasons' olan bir Enum oluşturun ve Enum da switch-on deyimini kullanarak
aşağıdakileri yazdırınız.

Kış için 'Snowboard yapmak'


Yaz ve bahar için 'Balık tutmak'
Sonbahar için 'Doğa yürüyüşü yapmak'

public enum Seasons {


WINTER, SUMMER, FALL, SPRING
}

String browser = [Link]();


switch(browser){
case "Kis":
[Link]("Snowboard yapmak");
break;
case "Yaz":
case "Bahar":
[Link]("Balik tutmak'");
break;
case "Sonbahar":
[Link]("Doga yuruyusu yapmak'");
break;
default:
[Link]("Gecersiz data");
}

272 Techpro Education


Switch-On Statement

10) myClass isminde bir class oluşturunuz, class'ta size rastgele bir alfabetik karakter veren bir
yöntem oluşturun ve ardından yöntemi kullanarak aşağıdakileri yazdırınız.
'A' ve 'a' için "İlk Karakter" yazdırınız.
'B' ve 'b' için "İkinci Karakter" yazdırınız.
'C' ve 'c' için "Üçüncü Karakter" yazdırınız.
'D' ve 'd' için "Dördüncü Karakter" yazdırınız.
Diğerleri için "Diğer Karakterleri" yazdırınız.

public class myClass {


public static String getRandomAlphabet(){
String alfabe = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
int maxIndex = [Link]()-1;
int randomIndex = (int)[Link]([Link]()*maxIndex);
return [Link](randomIndex, randomIndex+1);
}
}

String alfabe = [Link]().toLowerCase();


switch(alfabe){
case "a":
[Link]("Ilk Karakter");
break;
case "b":
[Link]("Ikinci Karakter");
break;
case "c":
[Link]("Ucuncu Karakter");
break;
case "d":
[Link]("Dorduncu Karakter");
break;
default:
[Link]("Diger Karakterler");
}

Techpro Education 273


Java Loops

1) 120'den 11'e kadar 4 ile bölünebilen ve 6 ile bölünebilen tüm tam sayıları aynı satırda iki
ardışık tam sayı arasında boşluk bırakarak yazınız.
1. Yol:
String s = "";
for(Integer i=120; i>10; i--){
if(i%4==0 && i%6==0){
s = s + i + " ";
}
}
[Link](s);

2. Yol:
String s = "";
Integer i=120;
while(i>10){
if(i%4==0 && i%6==0){
s = s + i + " ";
}
i--;
}
[Link](s);

3. Yol:
String s = "";
Integer i=120;
do{
if(i%4==0 && i%6==0){
s = s + i + " ";
}
i--;
}while(i>10);
[Link](s);

274 Techpro Education


Loops

2) Bir String’ de tekrarlanan karakterleri yazdırmak için kod yazınız.


Örneğin; accessories ´ ces
1. Yol:
String s = "accessories";
String d = "";
for(Integer i=0; i<[Link](); i++){
String c = [Link](i,i+1);
if([Link](c)!=[Link](c)){
if(![Link](c)){
d = d + c;
}
}
}
[Link](d);
2. Yol:
String s = "accessories";
String d = "";
Integer i=0;
while(i<[Link]()){
String c = [Link](i,i+1);
if([Link](c)!=[Link](c)){
if(![Link](c)){
d = d + c;
}
}
i++;
}
[Link](d);
3. Yol:
String s = "accessories";
String d = "";
Integer i=0;
do{
String c = [Link](i,i+1);
if([Link](c)!=[Link](c)){
if(![Link](c)){
d = d + c;
}
}
i++;
}while(i<[Link]());
[Link](d);

Techpro Education 275


Loops

3) Bir String ‘ in palindrom olup olmadığını kontrol etmek için kod yazınız. Bir String, tersi ile
aynıysa, buna palindrom denir. Örneğin; “anna”, “123321” palindromlardır.
1. Yol:
String s = "runnur";
String r = "";
for(Integer i=[Link]()-1; i>-1; i--){
String c = [Link](i,i+1);
r = r + c;
}
if([Link](r)){
[Link](s + " palindromdur");
}else{
[Link](s + " palindrom degildir");
}
2. Yol:
String s = "runnur";
String r = "";
Integer i=[Link]()-1;
while(i>-1){
String c = [Link](i,i+1);
r = r + c;
i--;
}
if([Link](r)){
[Link](s + " palindromdur");
}else{
[Link](s + " palindrom degildir");
}
3. Yol:
String s = "runnur";
String r = "";
Integer i=[Link]()-1;
do{
String c = [Link](i,i+1);
r = r + c;
i--;
}while(i>-1);
if([Link](r)){
[Link](s + " palindromdur");
}else{
[Link](s + " palindrom degildir");
}

276 Techpro Education


Loops

4) Benzersiz (Tekrarsız) rakamları bir tamsayı olarak yazdırmak için kod yazınız.
Örnek; 223878 ´ 37
1. Yol:
Integer num = 223878;
String s = [Link](num);
String d = "";
for(Integer i=0; i<[Link](); i++){
String c = [Link](i,i+1);
if([Link](c)==[Link](c)){
d = d + c;
}
}
[Link](d);
2. Yol:
Integer num = 223878;
String s = [Link](num);
String d = "";
Integer i = 0;
while(i<[Link]()){
String c = [Link](i,i+1);
if([Link](c)==[Link](c)){
d = d + c;
}
i++;
}
[Link](d);
3. Yol:
Integer num = 223878;
String s = [Link](num);
String d = "";
Integer i = 0;
do{
String c = [Link](i,i+1);
if([Link](c)==[Link](c)){
d = d + c;
}
i++;
}while(i<[Link]());
[Link](d);

Techpro Education 277


Loops

5) Aşağıdaki görüntüyü bir for döngüsü kullanarak elde eden kodu yazınız.
AAAAA
AAAAA
AAAAA
1. Yol:
int rows = 3;
int columns = 5;
for(int i=1; i<=rows; i++){
String s = "";
for(Integer k=1; k<=columns; k++){
s = s + "A ";
}
[Link](s);
}
2. Yol:
int rows = 3;
int columns = 5;
int i=1;
while(i<=rows){
String s = "";
for(Integer k=1; k<=columns; k++){
s = s + "A ";
}
[Link](s);
i++;
}
3. Yol:
int rows = 3;
int columns = 5;
int i=1;
do{
String s = "";
for(Integer k=1; k<=columns; k++){
s = s + "A ";
}
[Link](s);
i++;
}while(i<=rows);

278 Techpro Education


Loops

6) Aşağıdaki görüntüyü bir for döngüsü kullanarak elde eden kodu yazınız.
A
AA
AAA
AAAA
1. Yol:
int rows = 4;
for(Integer i=1; i<=rows; i++){
String s = "";
for(Integer k=1; k<=i; k++){
s = s + "A ";
}
[Link](s);
}

2. Yol:
int rows = 4;
int i=1;
while(i<=rows){
String s = "";
for(int k=1; k<=i; k++){
s = s + "A ";
}
[Link](s);
i++;
}

3. Yol:
int rows = 4;
int i=1;
do{
String s = "";
for(int k=1; k<=i; k++){
s = s + "A ";
}
[Link](s);
i++;
}while(i<=rows);

Techpro Education 279


Loops

7) Aşağıdaki çarpım tablosunu oluşturmak için kod yazınız.


3x1=3 3x2=6 3x3=9 3x4=12 3x5=15 3x6=18 3x7=21 3x8=24 3x9=27 3x10=30

1. Yol:
int num = 3;
for(int i=1; i<11; i++){
[Link](num + "x" + i + "=" + num*i);
}

2. Yol:
int num = 3;
int i=1;
while(i<11){
[Link](num + "x" + i + "=" + num*i);
i++;
}

3. Yol:
int num = 3;
int i=1;
do{
[Link](num + "x" + i + "=" + num*i);
i++;
}while(i<11);

280 Techpro Education


Loops

8) 20'den 3'e kadar olan tek tamsayıları aynı satırda ardışık olacak şekilde aralarında boşluk
bırakarak yazdırmak için gereken kodu yazınız.

1. Yol:
String s = "";
for(Integer i=20; i>2; i--){
if(i%2!=0){
s = s + i + " ";
}
}
[Link](s);

2. Yol:
String s = "";
int i=20;
while(i>2) {
if(i%2!=0){
s = s + i + " ";
}
i--;
}
[Link](s);

3. Yol:
String s = "";
int i=20;
do{
if(i%2!=0){
s = s + i + " ";
}
i--;
}while(i>2);
[Link](s);

Techpro Education 281


Loops

9) String içindeki tüm küçük harfleri yıldız işaretiyle yazdırmak için gereken kodu yazınız.
Örneğin; 'Ali Can?' ==> l*i*a*n*
1. Yol:
String s = "Ali Can?";
s = [Link]("[^a-z]", "");
String t = "";
for(Integer i=0; i<[Link](); i++){
String r = [Link](i,i+1);
t = t + r + '*';
}
[Link](t);
2. Yol:
String s = "Ali Can?";
s = [Link]("[^a-z]", "");
String t = "";
Integer i=0;
while(i<[Link]()){
String r = [Link](i,i+1);
t = t + r + '*';
i++;
}
[Link](t);
3. Yol:
String s = "Ali Can?";
s = [Link]("[^a-z]", "");
String t = "";
Integer i=0;
do{
String r = [Link](i,i+1);
t = t + r + '*';
i++;
}while(i<[Link]());
[Link](t);

282 Techpro Education


Loops

10) Verilen ondalık sayının sadece ondalık kısmındaki rakamlarını, kendisinden önce bir yıldız
işaretiyle yazdırmak için gereken kodu yazınız.
Örneğin; 75.4238 ´ *4*2*3*8
1. Yol:
double num = 75.4238;
String s = [Link](num);
int idxOfComma = [Link](".");
String decimalPart = [Link](idxOfComma + 1);
String t = "";
for(Integer i=0; i<[Link](); i++){
String r = [Link](i,i+1);
t = t + "*" + r;
}
[Link](t);
2. Yol:
double num = 75.4238;
String s = [Link](num);
int idxOfComma = [Link](".");
String decimalPart = [Link](idxOfComma + 1);
String t = "";
Integer i=0;
while(i<[Link]()){
String r = [Link](i,i+1);
t = t + '*' + r;
i++;
}
[Link](t);
3. Yol:
double num = 75.4238;
String s = [Link](num);
int idxOfComma = [Link](".");
String decimalPart = [Link](idxOfComma + 1);
String t = "";
Integer i=0;
do{
String r = [Link](i,i+1);
t = t + '*' + r;
i++;
}while(i<[Link]());
[Link](t);

Techpro Education 283


Loops

11) Bir String’ i tersine çevirmek için kod yazınız. Örnek; Mark ==> kraM
1. Yol:
String t = "Mark";
String rev = "";
for(Integer i=[Link]()-1; i>-1; i--){
rev = rev + [Link](i,i+1);
}
[Link](rev);
2. Yol:
String t = "Mark";
StringBuilder sb = new StringBuilder(t);
[Link]([Link]());

12) Aşağıdaki görüntüyü bir for döngüsü kullanarak elde eden kodu yazınız.
AAAAAAAA
AXXXXXXA
AXXXXXXA
AXXXXXXA
1. Yol:
int rows = 4, columns = 8;
for(int i=1; i<=rows; i++){
String s = "";
if(i==1 || i==rows){
for(Integer k=1; k<=columns; k++){
s = s + "A ";
}
[Link](s);
}else{
s = s + "A ";
for(Integer m=2; m<columns; m++){
s = s + "X ";
}
s = s + "A ";
[Link](s);
}
}

284 Techpro Education


Loops

2. Yol:
int rows = 4, columns = 8, i = 1;
while(i<=rows){
String s = "";
if(i==1 || i==rows){
for(Integer k=1; k<=columns; k++){
s = s + "A ";
}
[Link](s);
}else{
s = s + "A ";
for(Integer m=2; m<columns; m++){
s = s + "X ";
}
s = s + "A ";
[Link](s);
}
i++;
}
3. Yol:
int rows = 4, columns = 8, i = 1;
do{
String s = "";
if(i==1 || i==rows){
for(Integer k=1; k<=columns; k++){
s = s + "A ";
}
[Link](s);
}else{
s = s + "A ";
for(Integer m=2; m<columns; m++){
s = s + "X ";
}
s = s + "A ";
[Link](s);
}
i++;
}while(i<=rows);

Techpro Education 285


Loops

13) 3 ile 14 arasındaki tam sayıların toplamını bulmak için kodu yazınız.

1. Yol:
int sum = 0;
for(int i=3; i<15; i++){
sum = sum+i;
}
[Link](sum);

2. Yol:
int sum = 0, i = 3;
while(i<15){
sum = sum+i;
i++;
}
[Link](sum);

3. Yol:
int sum = 0, i = 3;
do{
sum = sum+i;
i++;
}while(i<15);
[Link](sum);

286 Techpro Education


Loops

14) 3 ile 9 arasındaki tam sayıların çarpımını bulmak için kodu yazınız.

1. Yol:
int m = 1;
for(int i=3; i<10; i++){
m = m*i;
}
[Link](m);

2. Yol:
int m = 1, i = 3;
while(i<10){
m = m*i;
i++;
}
[Link](m);

3. Yol:
int m = 1, i = 3;
do{
m = m*i;
i++;
}while(i<10);
[Link](m);

Techpro Education 287


Loops

15) Do-while döngüsünü kullanarak konsolda 'C' ile 'A' arasındaki karakterleri yazdırmak için
kod yazınız.

1. Yol:
String result = "";
for(char i = 'C'; i>='A'; i--){
result = result + i;
}
[Link](result);

2. Yol:
char ch = 'C';
String result = "";
while(ch>='A'){
result = result + ch;
ch--;
}
[Link](result);

3. Yol:
char ch = 'C';
String result = "";
do{
result = result + ch;
ch--;
}while(ch>='A');
[Link](result);

288 Techpro Education


Loops

16) Bir String de, ilk 'm' karakterinden önceki tüm karakterleri yazınız.
1. Yol:
String s = "Christmas";
String result = "";
for(int i=0; i<[Link](); i++){
String c = [Link](i,i+1);
if([Link]("m")){
break;
}
result = result + c;
}
[Link](result);
2. Yol:
String s = "Christmas";
String result = "";
int i=0;
while( i<[Link]()){
String c = [Link](i,i+1);
if([Link]("m")){
break;
}
result = result + c;;
i++;
}
[Link](result);
3. Yol:
String s = "Christmas";
String result = "";
int i=0;
do{
String c = [Link](i,i+1);
if([Link]("m")){
break;
}
result = result + c;;
i++;
}while( i<[Link]());
[Link](result);

Techpro Education 289


Loops

17) Bir tamsayıdaki rakamların toplamını bulmak için kodu yazınız.


1. Yol:
int n = 753;
int sumOfDigits = 0;
for(int i = n; i>0; i=i/10){
sumOfDigits = sumOfDigits + i%10;
}
[Link](sumOfDigits);

2. Yol:
int num = 753;
int sumOfDigits = 0;
while(num>0){
sumOfDigits = sumOfDigits + num%10;
num = num/10;
}
[Link](sumOfDigits);

3. Yol:
int num = 753;
int sumOfDigits = 0;
do{
sumOfDigits = sumOfDigits + num%10;
num = num/10;
}while(num>0);
[Link](sumOfDigits);

290 Techpro Education


Loops

18) Bir String’ de benzersiz(tekrarsız) karakterler yazdırmak için kod yazınız.


Örneğin; Hello ==> Heo
1. Yol:
String s = "Hello";
for(int i=0; i<[Link]();i++){
String c = [Link](i,i+1);
if([Link](c) == [Link](c)){
[Link](c);
}
}

2. Yol:
String s = "Hello";
int i = 0;
while(i<[Link]()){
String c = [Link](i,i+1);
if([Link](c) == [Link](c)){
[Link](c);
}
i++;
}

3. Yol:
String s = "Hello";
int i = 0;
do{
String c = [Link](i,i+1);
if([Link](c) == [Link](c)){
[Link](c);
}
i++;
}while(i<[Link]());

Techpro Education 291


Loops

19) Bir String’ deki boşluk ve noktalama işaretleri dışındaki toplam karakter sayısını bulunuz.
String s = "Java is a strongly typed, object-oriented programming language.";
s = [Link]("\\s","").replaceAll("\\p{Punct}", "");
[Link]([Link]());

20) Aşağıdaki görüntüyü bir for döngüsü kullanarak elde eden kodu yazınız.
******
*****
****
***
**
*
int sayi=6;
String s = "";
for(int i=1; i<= sayi; i++){
for(int k= sayi; k>=i; k--){
s = s + "* ";
}
[Link](s);
s = "";
}

21) Bir tamsayının benzersiz(tekrarsız) basamaklarının toplamını bulmak için kodu yazınız.
Örnek:12133455 ´ 2+4=6
int p = 12133455;
String r = [Link](p);
int sumOfUniqueDigits = 0;
for(int i=0; i<[Link](); i++){
String c = [Link](i,i+1);
if([Link](c)==[Link](c)){
sumOfUniqueDigits = sumOfUniqueDigits + [Link](c);
}
}
[Link](sumOfUniqueDigits);

292 Techpro Education


Loops

22) 5 hariç 3'ten 9'a kadar olan tam sayıları yazdırmak için kod yazınız.
for(Integer i=3; i<10; i++){
if(i==5){
continue;
}
[Link](i + " ");
}

23) Asal sayı olup olmadığını kontrol etmek için kullanıcıdan bir tam sayı girmesini isteyiniz.
Örnek: kullanıcı 43 girerse çıktı “43 bir asal sayıdır”, kullanıcı 120 girerse “120 asal değildir”
olur, kullanıcı negatif tam sayılar girerse çıktı “Pozitif bir tam sayı giriniz” şeklinde kullanıcıyı
yönlendiriniz.
Scanner scan = new Scanner([Link]);
[Link]("Asal olup olmadigini kontrol etmek icin pozitif bir tamsayi giriniz: ");
int number = [Link]();
int count = 0;
if(number>0) {
if (number == 1) {
[Link](number + " bir asal sayidir");
}else {
for(int i=2; i<number; i++) {
if(number%i==0) {
count++;
}
}
if(count==0) {
[Link](number + " bir asal sayidir ");
}else {
[Link](number + " bir asal sayi degildir ");
}
}
}else {
[Link]("Pozitif bir tam sayi giriniz ");
}

Techpro Education 293


Loops

24) Kullanıcıya kaç tane fibonacci sayısı görmek istediğini sorunuz. Ardından bu fibonacci
sayılarını yazdıran kodu yazınız.
Örnek: kullanıcı 6 girerse çıktı 1 1 2 3 5 8 olacaktır.
Scanner scan = new Scanner([Link]);
[Link]("Kac tane fibonacci sayisi gormek istiyorsunuz ?");
int number = [Link]();
int fibo1 = 1;
int fibo2 = 1;
int fibonacci = 0;
[Link](fibo1 + " ");
[Link](fibo2 + " ");
for (int i = 1; i < number-1; i++) {
fibonacci = fibo1 + fibo2;
fibo1 = fibo2;
fibo2 = fibonacci;
[Link](fibonacci + " ");
}

25) Bir sayı, her basamağının küpünün toplamına eşitse Armstrong sayısı olarak adlandırılır.
Örneğin, 153, her basamağın küpüne eşit olan 153= 1 + 125 + 27 olduğundan bir
Armstrong sayısıdır. Verilen numaranın Armstrong sayısı olup olmadığını kontrol etmek
için bir kod yazınız.
Scanner scan = new Scanner([Link]);
[Link]("Armstrong sayisi olup olmadigini kontrol etmek icin bir sayi giriniz :");
int n = [Link]();
int sumOfCubes = 0;
int temp = n;
int digit = 0;
while(n>0) {
digit = n%10;
sumOfCubes = sumOfCubes + digit*digit*digit;
n = n/10;
}
if(temp==sumOfCubes) {
[Link](temp + " Armstrong sayidir");
}else {
[Link](temp + " Armstrong sayi degildir");
}

294 Techpro Education


Loops

26) Kullanıcıdan bir String ve bir karakter alınız.


String'de verilen karakterin ilk olduğu index ile son tekrarlandığı index arasındaki karakter
sayısını sayınız.
Boşluk karakterlerini saymayınız.
Kod, kullanıcının seçtiği karakter String ‘de sadece bir kez varsa konsolda -1,
Kod, kullanıcının seçtiği karakter String ‘de yoksa konsolda -1 döndürsün.

Örneğin; "Java is easy" - 'a' ==> 5


"Java is easy" - 'w' ==> -1
"Java is easy" - 'e' ==> -1

Scanner scan = new Scanner([Link]);

[Link]("Bir String giriniz :");


String s = [Link]();

[Link]("Bir karakter giriniz :");


char ch = [Link]().charAt(0);

int firstOccIdx = [Link](ch);


int lastOccIdx = [Link](ch);
int counter = 0;

if(firstOccIdx == lastOccIdx) {
[Link](-1);
}else {
for(int i=firstOccIdx+1; i<lastOccIdx; i++) {
if([Link](i)!=' '){
counter++;
}
}
[Link](counter);
}

Techpro Education 295


Loops

27) Belirli bir arrayden, toplamı belirli bir sayı olan tüm çiftleri bulunuz.
Array {4, 6, 5, -10, 8, 5, 20} ve sayı 10 ise, çıktı 4+6=10, 5+5=10, -10+20=10 olacaktır.
Integer arr[] = {4, 6, 5, -10, 8, 5, 20};
int num = 10;
for(int i=0; i<[Link]; i++) {
for(int j=i+1; j<[Link]; j++) {
if(arr[i]+arr[j]==num) {
[Link](arr[i] + " + " + arr[j] + " = " + num);
}
}
}

28) Belirli bir sayıdan küçük tüm asal sayıları yazdıran bir kod yazınız.
Örnek: kullanıcı 20 girerse çıktı 2, 3, 5, 7, 11, 13, 17, 19 olacaktır.
public static void main(String[] args) {
Scanner scan = new Scanner([Link]);
[Link]("Pozitif bir sayi giriniz :");
int n = [Link]();
printPrime(n);
}
private static boolean isPrime(int n){
if (n <= 1) {
return false;
}
for (int i = 2; i < n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
public static void printPrime(int n){
for (int i = 2; i <= n; i++){
if(isPrime(i)) {
[Link](i + " ");
}
}
}

296 Techpro Education


Loops

29) Herhangi bir döngü kullanmadan 1'den 100'e kadar tam sayıları yazdıran bir program
yazınız.
public static void main(String[] args) {
printNumbers(100);
}
static void printNumbers(int n) {
if(n > 0) {
printNumbers(n - 1);
[Link](n + " ");
}
return;
}

30) Her girdi satırı, tek boşluklarla ayrılmış bir veya birkaç sözcük içerir. Sözcükler değişmeden,
her giriş satırındaki sözcüklerin sırasını tersine çevirmek için kod yazınız.
Çıktınızın satırlarında sonunda veya başında boşluk olmamalıdır.
Örnek; Kemal Can Kuzu, Kuzu Can Kemal'e dönüşecektir.
public static void main(String[] args) {
String input = "Ali\n" +
"Veli Han\n" +
"Kemal Can Kuzu";
String rev = "";
String[] lines = [Link]([Link]("[Link]"));
for(String w : lines) {
String[] words = [Link](" ");
for (int i = [Link] - 1; i >= 0; i--) {
if (i != 0) {
rev = rev + words[i] + " ";
} else {
rev = rev + words[i];
}
}
[Link](rev);
rev="";
}
}

Techpro Education 297


Loops

31) Her girdi satırı, tek boşluklarla ayrılmış bir veya birkaç sözcük içerir. Her giriş satırındaki ilk
ve son sözcükler dışındaki sözcüklerin sırasını tersine çevirip sözcükleri değiştirmeden
kodu yazınız.
Çıktınızın satırlarında sonunda veya başında boşluk olmamalıdır.
Örnek; Kemal Can Tan Han Kuzu, Kemal Han Tan Can Kuzu'ya dönüşecektir.
String input = "Ali\n" +
"Veli Can Han\n" +
"Kemal Can Tan Kuzu\n" +
"Kemal Can Tan Han Kuzu\n" +
"Kemal Can Tan Han Man Kuzu";
String[] lines = [Link]([Link]("[Link]"));
for(String w : lines) {
String[] words = [Link](" ");
String rev = words[0] + " ";
for (int i = [Link] - 2; i >= 1; i--) {
rev = rev + words[i] + " ";
}
rev = rev + words[[Link]-1];
[Link](rev);
rev="";
}

298 Techpro Education


Java Arrays

1) Tamsayılardan oluşan bir arrayde ortadaki elemanı bulunuz.


Örnek: (12, 5, 8) ==> (5, 8, 12) ==> Çıktı =8
(12, 5, 8, 13) ==> (5, 8, 12, 13) ==> Çıktı =(8+12)/2 = 10
int[ ] a = new int[ ]{12, 5, 8, 13};
[Link](a);

if([Link]%2!=0){
Integer ortadakiElemaninIndexi = [Link]/2;
[Link](a[ortadakiElemaninIndexi]);
}else{
Integer ortadakiElemaninIndexi = [Link]/2;
Integer ortadakiEleman = (a[ortadakiElemaninIndexi] + a[ortadakiElemaninIndexi -1])/2;
[Link](ortadakiEleman);
}

2) String’ lerden oluşan bir arrayde uzunluğu en küçük olan elemanları bulunuz.
Örnek: ( Kemal, Jonathan, Mark, Angie, Veli ) ==> Output is Mark, Veli

String[] b = new String[]{"Kemal", "Jonathan", "Mark", "Angie", "Veli"};


int minLength = b[0].length();

for(String w : b){
minLength = [Link](minLength, [Link]());
}
for(String w : b){
if(minLength == [Link]()){
[Link](w);
}
}

Techpro Education 299


Arrays

3) Tamsayılardan oluşan bir arrayde en küçük pozitif elemanı ve en büyük negatif elemanı
bulunuz.
Örnek:(-12, 18, -5, 23, -2) ==> En küçük pozitif 18, en büyük negatif -2

1. Yol:
int[] a = new int[]{-12, 18, -5, 23, -2};
[Link](a);
Integer minPositive = a[[Link]-1];
Integer maxNegative = a[0];
for(Integer w : a){
if(w>=0){
minPositive = [Link](minPositive, w);
}
if(w<0){
maxNegative = [Link](maxNegative, w);
}
}
[Link]("Minimum positive: " + minPositive);
[Link]("Maximum negative: " + maxNegative);

2. Yol:
int[] a = new int[]{-12, 18, -5, 23, -2};
[Link](a);
for (Integer i=0;i<[Link];i++){
if (a[i]<0 && a[i+1]>0) {
[Link]("Maximum negative: " + a[i]);
[Link]("Minimum positive: " + a[i+1]);
}
}

300 Techpro Education


Arrays

4) String’ lerden oluşan bir arrayde öğeler 'n' veya 'k' ile bitiyorsa, o öğelerin baş harflerini
alınız.

Örnek: { “Kemal”, “Jonathan”, “Mark”, “Jackson”, “Ali” } ==> Çıktı JJM

String[] b = new String[]{"Kemal", "Jonathan", "Mark", "Angie", "Veli"};


String initials = "";

for(String w : b){
if([Link]("n") || [Link]("k")){
initials = initials + [Link](0,1);
}
}
[Link](initials);

5) String’ lerden oluşan bir arrayde kullanılan öğelerin toplam karakter sayısını bulunuz.

Örnek: { "Kemal", "Jonathan", "Mark", "Angie", "Veli" } ==> Çıktı 26

String[] b = new String[]{"Kemal", "Jonathan", "Mark", "Angie", "Veli"};


int sum = 0;

for(String w : b){
sum = sum + [Link]();
}
[Link]("Total number of characters is " + sum);

Techpro Education 301


Arrays

6) Verilen bir String'de 'a' veya 'A' ile başlayan kelimeyi sayısını bulunuz.

String s = "Apex is an object oriented programming language";


String[] arr = [Link](" ");
int counter = 0;
for(String w : arr){
if([Link]("a") || [Link]("A")){
counter++;
}
}
[Link]("The number of words which starts with a or A is : " + counter);

7) Verilen bir String'deki sesli harf sayısını bulunuz.

String s = "Apex is an object oriented programming language";


String[] arr = [Link]().split("");
int counter = 0;
for(String w : arr){
switch(w){
case "a":
case "e":
case "i":
case "o":
case "u":
counter++;

}
}
[Link]("The number of vowels is " + counter);

302 Techpro Education


Arrays

8) İlk ve son karakterleri aynı olan array öğelerini bulmak için kod yazınız.

String[] arr = new String[]{"alabama", "pick", "sos", "sets", "pex"};


int size = [Link];
for(Integer i=0; i<size; i++){
String firstChar = arr[i].substring(0, 1);
String lastChar = arr[i].substring(arr[i].length()-1);
if([Link](lastChar)){
[Link](arr[i]);
}
}

9) Verilen bir String arraydeki belirli bir öğenin var olup olmadığını bulmak için kod yazınız.

String[] arr = new String[]{"Apex", "is", "an", "object", "oriented", "programming", "language"};
String s = "object";
int counter = 0;
for(String w : arr){
if([Link](s)){
counter++;
}
}
if(counter>0){
[Link](s + " arrayde vardir");
}else{
[Link](s + " arrayde yoktur");
}

Techpro Education 303


Arrays

10) Verilen bir String arraydeki öğelerin karakterlerinin toplamını bulmak için kod yazınız.

String[] arr = new String[]{"alabama", "pick", "sos", "sets", "pex"};


Integer sum = 0;
for(String w : arr){
sum = sum + [Link]();
}
[Link](sum);

11) Tamsayılardan oluşan arrayde bulunan sıfırları, array sonuna yerleştiren kod yazınız.
Örnek: (5, 0, 2, 0, 3) ==> (5, 2, 3, 0, 0)

Integer[] arr = new Integer[]{5, 0, 2, 0, 3};


Integer[] brr = new Integer[[Link]];
int firstIdx = 0;
int lastIdx = [Link]-1;

for(int i=0; i<[Link]; i++){


if(arr[i]!=0){
brr[firstIdx] = arr[i];
firstIdx++;
}else{
brr[lastIdx]=0;
lastIdx--;
}
}
[Link]([Link](brr));

304 Techpro Education


Arrays

12) Kullanıcıdan aldığınız tamsayılar ile bir array oluşturunuz ve bu arraydeki en küçük ve en
büyük öğeler arasındaki farkı konsolda yazdırınız.

Scanner scan = new Scanner([Link]);


[Link]("Array uzunlugunu giriniz : ");
int len = [Link]();

int arr[] = new int[len];

[Link]("Girilen array elemanlari : " + len);


for(int i=0; i<len; i++) {
arr[i] = [Link]();
}
[Link]([Link](arr));

[Link](arr);
[Link]([Link](arr));

int diffOfBigAndSmall = arr[[Link]-1] - arr[0];


[Link]("En buyuk ve en kucuk oge arasındaki fark : " + diffOfBigAndSmall);

Techpro Education 305


Arrays

13) Kullanıcıdan 2 String girmesini isteyiniz. Stringlerin karakterleri ve karakter sayıları aynıysa
konsola "Anagramdır" yazdırın. Aksi takdirde, konsolda "Anagram Değil" yazdırınız.

Örneğin; "Mary" ve "army" ve "RAMY" Anagramlardır.

Scanner scan = new Scanner([Link]);


[Link]("iki String giriniz :");
String s1 = [Link]();
String s2 = [Link]();

String a1[] = [Link]().split("");


[Link](a1);

String a2[] = [Link]().split("");


[Link](a2);

if ([Link]() != [Link]()) {
[Link]("Anagram Degil");
} else if ([Link]() || [Link]()) {
[Link]("Anagram Degil");
} else if ([Link](a1, a2)) {
[Link]("Anagramdir");
} else {
[Link]("Anagram Degil");
}

306 Techpro Education


Java Lists

1) Bir tamsayı listesindeki tüm öğelerinin toplamını bulunuz.

List<Integer> myList = new ArrayList<>();


[Link](12);
[Link](31);
[Link](7);
[Link](13);
[Link](10);
int sum = 0;
for(Integer w : myList){
sum = sum + w;
}
[Link](sum);

2) Bir tamsayı listesinde 13 öğesinden önceki tüm liste öğelerinin toplamını bulunuz.

List<Integer> myList = new ArrayList<>();


[Link](12);
[Link](31);
[Link](7);
[Link](13);
[Link](10);
int sum = 0;
for(Integer w : myList){
if(w==13){
break;
}
sum = sum + w;
}
[Link](sum);

Techpro Education 307


Lists

3) Bir tamsayı listesindeki tüm çift sayıların çarpımını bulunuz.

1. Yol:
List<Integer> myList = new ArrayList<>();
[Link](12);
[Link](31);
[Link](7);
[Link](13);
[Link](10);
int m = 1;
for(Integer w : myList){
if(w%2!=0){
continue;
}
m = m * w;
}
[Link](m);

2. Yol:
List<Integer> myList = new ArrayList<>();
[Link](12);
[Link](31);
[Link](7);
[Link](13);
[Link](10);
int m = 1;
for(Integer w : myList){
if(w%2==0){
m = m * w;
}
}
[Link](m);

308 Techpro Education


Lists

4) Bir listedeki öğelerin azalan sırada olup olmadığını kontrol ediniz.


Örnek: (Sarı, Mavi, Kırmızı, Yeşil) ==> Çıktı: Azalan sırada değil
(Sarı, Kırmızı, Yeşil, Mavi) ==> Çıktı: Azalan sıradadır

List<String> e = new ArrayList<>();


[Link]("Yellow");
[Link]("Red");
[Link]("Green");
[Link]("Blue");
List<String> f = new ArrayList<>();
[Link](e);
[Link](f );
[Link](e);
[Link](f );
int size = [Link]();
int flag = 0;
for(int i=0; i<size; i++){
if([Link](i).equals([Link](size-1-i))){
flag++;
}
}
if(flag == size){
[Link]("Azalan siradadir");
}else{
[Link]("Azalan sirada degil");
}

Techpro Education 309


Lists

5) Listede eleman olarak 15 varsa, tüm 15'leri 51 olarak değiştiriniz.

Örnek: (12, 11, 15, 34, 43) ==> Çıktı (12, 11, 51, 34, 43)

List<Integer> g = new ArrayList<>();


[Link](12);
[Link](11);
[Link](15);
[Link](34);
[Link](15);
[Link](43);
if([Link](15)){
for(int w : g){
if(w==15){
int idx = [Link](15);
[Link](idx, 51);
}
}
[Link](g);
}else{
[Link]("liste 15 elemanıini icermiyor");
}

310 Techpro Education


Lists

6) Listede 15 veya 13 varsa, bu elemanları kaldırınız.

Örnek: (10, 31, 15, 13, 54) ==> Çıktı (10, 31, 54)

List<Integer> h = new ArrayList<>();


[Link](10);
[Link](31);
[Link](15);
[Link](13);
[Link](54);
[Link](13);
if(![Link](15) && ![Link](13)){
[Link]("Liste 13 ve 15'i icermiyor");
}else {
for (int i = 0; i < [Link](); i++) {
if ([Link](i) == 15) {
int idx15 = [Link](15);
[Link](idx15);
i--;
}
if ([Link](i) == 13) {
int idx13 = [Link](13);
[Link](idx13);
i--;
}
}
[Link](h);
}

Techpro Education 311


Lists

7) Bir tamsayı listesinde en yakın 2 tamsayıyı bulunuz.


Örnek: (12, 31, 15, 13, 54) ==> Çıktı 12 ve 13'tür
List<Integer> h = new ArrayList<>();
[Link](12);
[Link](31);
[Link](15);
[Link](13);
[Link](54);
[Link](h);
int minDiff = [Link](2) - [Link](1);
for(int i=1; i<[Link](); i++){
minDiff = [Link](minDiff, [Link](i)-[Link](i-1));
}
for(Integer i=1; i<[Link](); i++){
if([Link](i)-[Link](i-1) == minDiff ){
[Link]([Link](i) + " and " + [Link](i-1));
}
}

8) Listedeki 7 ve 10 dışındaki her öğenin değerini 2'şer artırınız.


Örnek: (12, 31, 7, 13, 10) ==> Çıktı (14, 33, 7, 15, 10)
List<Integer> h = new ArrayList<>();
[Link](12);
[Link](31);
[Link](7);
[Link](13);
[Link](10);
for(Integer w : h){
if(w==7 || w==10){
continue;
}
[Link]([Link](w), w+2);
}
[Link](h);

312 Techpro Education


Lists

9) String bir listede verilen tüm fiyatların toplamını bulunuz.


Örnek: List<String> myList = new List<String>{'$12.99', '$23.60', '$54.45'}; ==> 91.04

List<String> myList = new ArrayList<>();


[Link]("$12.99");
[Link]("$23.60");
[Link]("$54.45");
double sum = 0;
for(String w : myList){
Double price = [Link]([Link]("$", ""));
sum = sum + price;
}
[Link](sum);

10) Bir String listesinde verilen en düşük ve en büyük fiyatın toplamını bulunuz.
Örnek: List<String> myList = new List<String>{'$12.99', '$8.25', '$23.60', '$54.45'}; ==> 62.70

List<String> myList = new ArrayList<>();


[Link]("$12.99");
[Link]("$23.60");
[Link]("$8.25");
[Link]("$54.45");
List<Double> decimalList = new ArrayList<>();
for(String w : myList){
Double price = [Link]([Link]("$", ""));
[Link](price);
}
[Link](decimalList);
Double sum = [Link](0) + [Link]([Link]()-1);
[Link](sum);

Techpro Education 313


Lists

11) Döngüleri kullanarak tamsayılardan oluşan bir listenin tüm öğelerinin benzersiz (tekrarsız)
olup olmadığını kontrol ediniz.

List<Integer> myList = new ArrayList<>();


[Link](10);
[Link](31);
[Link](15);
[Link](7);
[Link](15);
[Link](23);
Integer counter = 0;
for(Integer w : myList){
for(Integer k : myList){
if(w==k){
counter++;
}
}
}
if(counter==[Link]()){
[Link]("Tekrarlanan oge yoktur");
}else{
[Link]("En az 1 oge tekrarlanmistir");
}

314 Techpro Education


Lists

12) Verilen herhangi bir arrayin Mountain Array olup olmadığını kontrol etmek için bir kod
yazınız.

Not:
Mountain Array ==> [0, 2, 5, 3, 1]
Bir array elemanları en büyük değerine kadar sürekli artan, en büyük değerinden sonra sü-
rekli azalan değer alıyorsa Mauntain Array' dir.

Mountain Array Değil ==> [5, 2, 7, 1, 4]


Bir array elemanları en büyük değerine kadar sürekli azalan, en büyük değerinden sonra sü-
rekli artan değer alıyorsa Mauntain Array değildir.

int a[] = { 0, 2, 5, 3, 1 };
List<Integer> list = new ArrayList<>();
[Link](a).forEach(t -> [Link](t));
int max = [Link]().reduce(Integer.MIN_VALUE, Integer::max);
int idxOfMax = [Link](max);
List<Integer> part1 = new ArrayList<>();
[Link]().filter(t -> [Link](t) <= idxOfMax).forEach(t -> [Link](t));
List<Integer> sortedPart1 = new ArrayList<>();
[Link]().forEach(t -> [Link](t));
[Link](sortedPart1);
List<Integer> part2 = new ArrayList<>();
[Link]().filter(t -> [Link](t) >= idxOfMax).forEach(t -> [Link](t));
List<Integer> reverseSortedPart2 = new ArrayList<>();
[Link]().forEach(t -> [Link](t));
[Link](reverseSortedPart2);
[Link](reverseSortedPart2);

if ([Link](sortedPart1) && [Link](reverseSortedPart2)) {


[Link](list + " Mountain Arraydir");
} else {
[Link](list + " Mountain Array degildir");
}

Techpro Education 315


Java Sets

1) Bir listede kaç farklı öğe olduğunu gösteren kodu yazınız.


Örnek: {10, 31, 15, 7, 15, 7, 7} ==> 4
List<Integer> myList = new ArrayList<>();
[Link](10);
[Link](31);
[Link](15);
[Link](7);
[Link](15);
[Link](7);
[Link](7);

Set<Integer> mySet = new HashSet<>(myList);


[Link]([Link]());

2) Set ve Liste arasındaki ortak öğeleri yazdırmak için kod yazınız.


List<Integer> myList = new ArrayList<>();
[Link](10);
[Link](31);
[Link](15);
[Link](7);
[Link](13);

Set<Integer> mySet = new HashSet<>();


[Link](10);
[Link](7);
[Link](35);
[Link](13);

[Link](myList);
[Link](mySet);

316 Techpro Education


Sets

3) Bir String’ de kullanılan farklı karakterleri yazdırmak için kod yazınız.


Örnek: ‘Mississippi’ ´ Misp
String s = "Mississippi";
String[] arr = [Link]("");
List<String> characters = [Link](arr);

Set<String> mySet = new HashSet<>(characters);


[Link](mySet);

4) Bir liste ve bir set oluşturunuz. Set içerisinde var olan listenin bütün elemanlarını kaldıran
bir kod yazınız.
List<Integer> myList = new ArrayList<>();
[Link](10);
[Link](31);
[Link](15);
[Link](7);
[Link](13);

Set<Integer> mySet = new HashSet<>();


[Link](10);
[Link](7);
[Link](35);
[Link](13);

[Link](myList);
[Link](mySet);

Techpro Education 317


Sets

5) Bir listede tekrarlanan öğeler olup olmadığını kontrol etmek için kodu yazınız.
List<Integer> myList = new ArrayList<>();
[Link](10);
[Link](31);
[Link](15);
[Link](7);
[Link](13);

Set<Integer> mySet = new HashSet<>(myList);

if([Link]()>[Link]()){
[Link]("Listede tekrarlanan ögeler var");
}else{
[Link]("Listede tekrarlanan ögeler yok");
}

318 Techpro Education


Java Maps

1) Aşağıda key olarak ürün adlarını ve value olarak ürün sayısını içeren bir map
bulunmaktadır. Toplam ürün sayısını bulmak için kodu yazınız.
Map<String, Integer> product = new HashMap<>();
[Link]("Laptop", 12);
[Link]("TV", 53);
[Link]("Refrigerator", 12);
[Link]("Music System", 87);

Collection<Integer> numOfProducts = [Link]();

Integer sum = 0;
for(Integer w : numOfProducts){
sum = sum + w;
}
[Link](sum);

2) Aşağıda key olarak ürün adlarını ve value olarak ürün sayısını içeren bir map
bulunmaktadır. Ürünler arasında " Laptop " olup olmadığını kontrol etmek için kodu
yazınız.
Map<String, Integer> product = new HashMap<>();
[Link]("Laptop", 12);
[Link]("TV", 53);
[Link]("Refrigerator", 12);
[Link]("Music System", 87);

String expectedProduct = "Laptop";


if([Link](expectedProduct)){
[Link](expectedProduct + " vardir");
}else{
[Link](expectedProduct + " yoktur");
}

Techpro Education 319


Maps

3) Aşağıda key olarak ürün adlarını ve value olarak ürün sayısını içeren bir map
bulunmaktadır. Ürün sayılarını artan sırada yazdırınız.
Map<String, Integer> product = new HashMap<>();
[Link]("Laptop", 82);
[Link]("TV", 53);
[Link]("Refrigerator", 12);
[Link]("Music System", 87);
[Link]("Mobile Phone", 53);

Object[] productNumber = [Link]().toArray();


[Link](productNumber);

[Link]([Link](productNumber));

4) Aşağıda key olarak ürün adlarını ve value olarak ürün sayısını içeren bir map
bulunmaktadır. Ürün adlarını alfabetik sırayla yazdırınız.
Map<String, Integer> product = new HashMap<>();
[Link]("Laptop", 82);
[Link]("TV", 53);
[Link]("Refrigerator", 12);
[Link]("Music System", 87);
[Link]("Mobile Phone", 53);

Set<String> productNamesAsSet = [Link]();

List<String> productNamesAsList = new ArrayList<>(productNamesAsSet);


[Link](productNamesAsList);

[Link](productNamesAsList);

320 Techpro Education


Maps

5) Bir String’ deki kelimelerin kaç defa tekrarlandığını ifade eden kod yazınız.
(Büyük/küçük harfe duyarlı değil)
String s = "Apex is easy. Type codes to learn apex. To earn money learn apex.";
s = [Link]("\\p{Punct}","").toLowerCase();
Map<String, Integer> wordOccurence = new HashMap<>();
String[] words = [Link](" ");

for(String w : words){
Integer numOfOccurence = [Link](w);
if(numOfOccurence == null ){
[Link](w, 1);
}else{
[Link](w, numOfOccurence+1);
}
}
[Link](wordOccurence);

Techpro Education 321


Maps

6) Belirli bir listede tekrarlanan öğelerin sayısı nasıl kontrol edilir?


List<Integer> myList = new ArrayList<>();
[Link](12);
[Link](21);
[Link](12);
[Link](13);
[Link](12);
[Link](21);
[Link](35);
Map<Integer, Integer> myMap = new HashMap<>();

for(Integer w : myList){
Integer numOfOccurence = [Link](w);
if(numOfOccurence==null){
[Link](w, 1);
}else{
[Link](w, numOfOccurence+1);
}
}
Collection<Integer> myValues = [Link]();
Integer counter = 0;
for(Integer w : myValues){
if(w>1){
counter++;
}
}
[Link]("Tekrarlanan oge sayisi " + counter + " adettir");

322 Techpro Education


ANSWER KEY

Introduction to Java
1-D 3-D 5 -C 7-D 9 -D
2-D 4-A 6 -A 8 - A-B-C 10 - A-B-C

Variables
1-A 3-A 5 - C-D 7-A 9 - A-B-C
2-A 4-B 6 -B 8 - A-D 10 - A-B

Variables Wrappers
1-B 3 - B-C 5 - A-B-C-D 7 - A-B 9 - A-B-C
2-D 4-A 6 - A-D 8-C 10 - C

Increment Decrement Concatenation


1-A 3-B 5 -B 7-C 9 - A-B-C
2-B 4-A 6 - A-B 8-A 10 - A-B-D

Scanner
1-D 3-A 5 -C 7-A-B-C-D
2 - B-C-D 4 - B-C-D 6 -D

Type Casting
1-A 3 - A-B 5 -B 7-A 9 -B
2-B 4-B 6 -A 8-A 10 - B

If Else - If ElseIf
1-B 3-B 5 -B 7-A 9 -D
2-A 4-A 6 -A 8-D 10 - A-B-C

NestedIf Ternary
1-B 3 - A-B-C 5 -D 7-D 9 - A-B-C
2-A 4-A 6 -D 8-D 10 - A-B-C-D

Techpro Education 323


Nested Ternary Switch
1 - C-D 3 - A-D 5 -D 7-A 9 -A
2-B 4 - A-B-C-D 6 - A-B-C 8-A 10 - C

String Methods
1-C 3-C 5 -A 7 - C-D 9 - A-B-C-D
2-C 4-B 6 -D 8 - A-B-C 10 - D

String Methods For Loop


1 - B-C-D 3-B 5 -A 7-C 9 - B-D
2 - B-C-D 4 - A-B-D 6 - A-B-D 8-B 10 - B-D

For Loops
1-B 3-A 5 -A 7-A 9 -A
2-B 4-A 6 -D 8 - A-C-D 10 - A-B-C-D

While Loops
1-B 3-C 5 - A-C 7-B 9 -D
2-C 4-B 6 - A-B 8-C 10 - D

Do While Loop
1-A 3-D 5 -A 7-C 9 -B
2-B 4 - A-B 6 -B 8-C 10 - A-B-C

Instance Local Variables Method Call


1-D 3-C 5 -D 7 - A-B-C
2-C 4-A 6 -D 8 - A-B-D-E

Constructors
1-D 3 - A-B-C-D 5 - A-B-E 7-D
2-C 4-C 6 -A 8 - A-B-D

Static Keyword
1-A 3 - A-B-C-D 5 -A 7-A 9 -A
2-A 4 - C-D 6 -A 8-A 10 - A

Static Block Arrays


1-C 3-A 5 -A 7-A 9 -A 11-B
2-A 4-B 6 - A-C 8-A 10 - C

324 Techpro Education


Arrays
1-C 3-A 5 - B-C 7-A 9 -C 11-D
2-A 4-B 6 -A 8-C 10 - C

Multi Dimensional Arrays


1-B 3-D 5 -A
2-D 4-A

Array Lists
1-A 3-A 5 -A 7-B 9 -A 11-A
2-A 4-A 6 -A 8 - B-C-D 10 - A

For Each Loops


1-A 3-A 5 -A 7-A 9 - A-B-C
2-C 4-A 6 -A 8-A 10 - A

Date Time
1 - A-B-C-D 3-A 5 -B 7-A 9 -A
2 - A-B-C-D 4-A 6 -D 8-A 10 - C

Varargs Access Modifiers


1-A 3-B 5 -A 7 - A-B 9 -A
2-A 4 - A-B-C-D 6 - A-D 8 - A-D 10 - B-D

String Builder
1-B 3-A 5 - A-B 7-A 9 -A
2 - A-B-C-D 4-C 6 -A 8 - A-B 10 - A-B-C-D

Encapsulation
1 - A-B 3-C 5 - A-B 7 - A-B-C-D 9 -B
2-A 4-D 6 -B 8 - A-B

Inheritance
1-A 3-B 5 -A 7-ABCD
2 - ABCD 4 - ABC 6 -A

Inheritance Constructor Call


1-A 3-B 5 - ABC 7-C 9 - AB
2-A 4-B 6 - ABC 8-A 10 - AB

Techpro Education 325


Overriding
1-D 3 - ABC 5 - ABCD 7-D 9 - ACD
2-A 4 - ABC 6 - ABC 8 - AC 10 - A

Overloading-Overriding
1-A 3-A 5 -A 7 - ABC 9 - ABCD
2-A 4-A 6 -C 8 - ABCD 10 - ABC

Exceptions - 1
1 - BC 3 - ABC 5 - ACD 7-A 9 -A
2-C 4 - BC 6 -B 8-D

Exceptions - 2
1-D 3-A 5 -D 7-A 9 -D 11-A
2-B 4-B 6 -C 8-A 10 - ABCDE

Abstract Classes
1-C 3 - ACD 5 -D 7-A 9 -A
2-A 4 - ABC 6 -A 8-A 10 - CD

Interface - 1
1-B 3-A 5 -C 7-A
2 - ABC 4-D 6 -A 8 - BD

Interface - 2
1-A 3-C 5 -A 7-A 9 -D
2 - CD 4-B 6 -A 8-A 10 - ACE

Iterators
1 - ABC 3 - AB 5 - ABCD 7-B
2 - AB 4-A 6 - ABCD 8-A

Collections - 1
1 - A-B-C-D 3 - A-B-C-D 5 -C 7 - A-B 9 - A-B
2-C 4 - A-B-C-D 6 - A-D 8 - A-B-C-D 10 - A-B-C

Collections - 2
1-A 3 - A-B-C 5 - A-B-C-D 7-B 9 -A
2-A 4-A 6 - A-B 8 - A-B-C-D 10 - B-C

326 Techpro Education

You might also like