JAVA OOP
180 subscribers
13 photos
2 videos
1 file
9 links
شرح + حل واجبات جميع الاقسام + امثله لاتنتهي + كوزرات
للتواصل او للارسال سؤالك @sz6ss_bot
المسؤول عن القناه @sz6ss
Download Telegram
.
#الأساسيات

الهيكل الرئيسي للغة جافا:
class Main {

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

شرح الكود: لازم ببداية كل برنامج نكتب كلاس، حاليًا أحنا ما راح نكتب شي بداخله لأن ما داخل، فشغلنا كله يصير بالدالة الرئيسة main العرّفناها.

1- الطباعة في لغة جافا:

class Main {

public static void main(String[] args)
{
System.out.print("Hello, World!");
}
}

شرح الكود: كتبنا القالب الرئيسي، ثم
كتبنا ;System.out.print("Anything")
هاي نفس الـ يعني طباعة، إنتبه أول حرف كبير (S) ثم البقية حروف صغيرة، ثم تفتح قوس وبداخل القوس تخلّي علامات الاقتباس وبداخل الاقتباس تخلّي أي شي تريد تطبعه وتريده يظهر ع الشاشة، ولا تنسى الفارزة المنقوطة، هنا راح تطلع الطباعة:
Hello, World!

زين إذا نريد ننزل سطر شنسوي؟ تابع


الطباعة مع سطر جديد:
class Main {

public static void main(String[] args) {
System.out.println("Hello, World!");
System.out.print("You are friendly");
}
}

شرح الكود: لو تلاحظ نفس الكود السابق بالضبط والاختلاف فقط خلينا ln بعد أمر الطباعة print فصارت println، والمعنى بعد ما تطبلعي هلو وورد إنزل سطر وإطبعلي الوراها، ولو تلاحظ الوراها ما مخليلها ln لأن ما أحتاج ما عندي سطر بعد. فهاي نفس endl الچنا نستخدمها بوتكتبها من تريد تنزل سطر بعد هذا السطر. فهنا يصير الطباعة هيج:
Hello, World!
You are friendly

وليس:
Hello, World! You are friendly

س/ زين هاي تدوّخ ما بيها مجال شي أسهل؟
ج/ نعم إستخدم n\ عادي يعني خليها بداخل علامات الاقتباس، مثلاً بمثالنا الهلو وورد لو خلينا هيج:
("Hello \n World!);

راح يطلع المخرج:
Hello
World!

چا كول من الأول n\ وفضها! مو أريدك تعرف كلشي علمودك أنا، قبل چنا نكتب endl وهسه نكتب ln فهاي المعلومة أساسية لازم تمر عليك وتبقى بعد أنت بكيفك شنو تستخدم الـ n\ أو الـ println براحتك.
س/ وبالنسبة للمسافات وهي t\ لو غيرها؟
ج/ نعم هي نفسها، تخليها بعلامات الاقتباس وهاهيه، مثل مثالنا الفوك نسويه هيج:
("Hello \t World!);

يطلعلنا:
Hello   World

س/ زين بالنسبة للتعليقات نكتب // لو يختلف؟
ج/ نعم نفسه، نكتب // إذا سطر واحد وإذا نريد أكثر من سطر نكتب */ ببداية السطر النريده تعليق و /* بنهاية السطر النريده ضمن التعليق.


ملاحظة 1: أكو فرق بين:
System.out.print("5+10");

//وبين:
System.out.print(5+10);

الأولى يطلعلك المخرج: 10+5
والثانية تطلعلك المخرج: 15
أي إنَّ الأولى طباعة وكلشي بداخلها تطبعه
والثانية عملية رياضية ما دام ما مخلي علامة الاقتباس.

ملاحظة 2:
System.out.print("A");
System.out.print(′A′);

المخرج راح يطلع ثنينهن: A
لعد شنو الفرق؟ الفرق هو بالأولى الجافا تعتبره نص كامل، وبالثاني تعتبره حرف واحد char.

وهذا كلشي يخص الطباعة الآن ننتقل للمتغيرات
••••••••••••••••••••••••

2- المتغيرات في جافا:
هاي أهم أنواع البيانات الراح ناخذها:
أ. String: لانشاء متغيرات نصية.
ب. int: لانشاء متغير قيمته رقم بدون كسور.
ج. double: لانشاء متغير قيمته بالكسور.
د. bollean: يا أما (True 1 أو False 0).

وطريقة تعريفهن نفس باقي اللغات يعني إذا عدنا مثلاً x=5 ونريد نعلن عنه فنكول:
int x=5;

مثال على كل واحد حتى توصل الفكرة:
1- String name = "huda"; 
System.out.print("I'm: " + name);

يعني گلناله أعلن عن متغير اسمه name من نوع string وخلّي بيهhuda واطبع وياها اقتباس ينزل مباشرة، ثم گلناله إطبع هذا المتغير، فراح يطبع إلّي بداخله ويكون المخرج:
I'm: huda
لأن الـ I'm خليناها بداخل علامة اقتباس رأسًا تنزل، ثم تنزل يمها قيمة الـ name فهكذا يكون المخرج

2- int age = 2023;
System.out.print(age);
Output: 2023

3- double average = 89.5
System.out.print(average);
Output: 89.5

لو تلاحظ بين القوسين دائمًا ما نخلّي علامات الاقتباس لأن هنا جاي نطلب منه يطلّع قيمة مو يطبع،
الأولى يطبعها كما هي ويطلع المخرج name
الثاني يروح يدور على قيمة name ويطبعها
فهنا نفس الشي لا تدوخ بس تغيّرت المصطلحات.

وهذا كلشي يخص المتغيرات، الآن نأتي للعمليات الحسابية في لغة جافا، تابع.
••••••••••••••••••••••

3- العمليات الحسابية في جافا:
-,+,*,/
نكدر نطبع مباشر، هيج:
System.out.print(5+5);
Output: 10

أو نعلن عن متغير ونخلّي بيه قيمة ثم نجري عليه العمليات الرياضية، هكذا:
int x = 20;
int y = 10;
System.out.print(x/y);

```java
Output: 2
`
حيث قسّم قيمة X على قيمة y والناتج 2
أو نكدر نسوي متغير ثالث نحفظ بيه العملية الرياضية النسويها للـ x والـ y ثم نطبعه للسهولة والاختصار، هكذا:
int x = 20;
int y = 10;
int m = x - y;
System.out.print(m);
Output: 10

طرحنا 10-20 وطلع الناتج 10 وخزناه بالm وطبعناها.

وهكذا للبقية، الآن نشرح الادخال بالجافا:

•••••••••••••••••••••••••

4- ادخال البيانات من المستخدم (input):




بالجافا نعلن أول شي فوك الكلاس عن هذا:
import java.util.Scanner;

ثم نكتب جوا بداخل الدالة الرئيسية main هذا:
Scanner Input = new Scanner (System.in);

ثم تاخذ الادخال من المستخدم بهلطريقة:
int x = Input.nextInt();

خل نكتب برنامج كامل حتى تتوضح الصورة:
import java.util.Scanner;

class Main {

public static void main(String[] args)
{
Scanner Input = new Scanner (System.in);

System.out.println("Enter number1: ");
int x1 = Input.nextInt ();
System.out.println("Enter number2: ");
int x2 = Input.nextInt ();

System.out.println(x1+x2);

}
}

مثلاً المستخدم دخّل الرقم الأول 3 والثاني 4
راح يطلع الـ Output: 7

أما إذا نريد نخلّي المستخدم يدخّل نصوص مو أرقام فنسوي نفس الحجي الفوك لكن الاختلاف فقط بدل ما نحط:
Input.nextInt ();
// نحط
Input.nextLine ();
ولا تنسى نستخدم بالنصوص string
وحسب البرنامج الآتي:
import java.util.Scanner;

class Main {

public static void main(String[] args)
{
Scanner Input = new Scanner (System.in);

System.out.println("Enter your name: ");
String x = Input.nextLine ();

System.out.println ("You are Welcome, " +x);

}
}

تكدر تنسخ الكود وتلصقه وتنفذ مباشرةً هذا كود جاهز حتى تتدرب عليه وتشوف أخطاءك من تحل مثله وتكدر تضبّط الأساسيات.
وإذا شي ما فاهمه إتّبع الكود خطوة خطوة وراح تفهم، وإذا ما فهمت اسأل
•••••••••••••••••••••

5- الجمل الشرطية:

بالنسبة للـ if القالب الرئيسي الثابت إلها هو هذا:

if ( ) { }
else if ( ) { }
else { }
حيث أن:
الـ if: هي التنشئ الجملة الشرطية.
الـ ( ): بداخلها راح يصير الشرط.
الـ { }: إذا تحقق الشرط شنو يسوي؟ تكتبه هنا
الـ else if: في حال ما تحقق الشرط الأول شنو يسوي؟
الـ else: في حال ما تحقق كل الشروط شنو يسوي؟ وتلاحظ فقط أقواس معقوفة ما خلينا أقواس عادية لأن هنا ما راح نكتب شرط رأسًا نگله إذا ما تحققت كل الشروط الفوك سوّي هيج.

وهذا برنامج للتوضيح:
public class Main 
{
public static void main(String[] args)
{

int x = 5;

if (x==6 && x==0) {System.out.println ("six");}
else if (x==4 || x==0) {System.out.println ("Four");}
else {System.out.println ("Five");}
}
}

#

Output: Five

••••••••••••••••••••••••

6- الحلقات التكرارية:




java
for, while, do while

ونفس باقي اللغات

java
public class Main
{
public static void main(String[] args)
{
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= 5; j++)
{
System.out.print(i);
}
System.out.println(" ");
}

}
}

وهكذا لبقية الحلقات.

•••••••••••••••••••••••

وهذا كل شيء يتعلق بالأساسيات،
سؤال / حاصل جمع 3 ارقام؟ 

^
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner in= new Scanner(System.in);

System.out.print("Enter values for a, b, c: ");
int a = in.nextInt();
int b = in.nextInt();
int c = in.nextInt();

int product = a * b * c;

System.out.println("Product: " + product);
}
}
سؤال /مجموع 3 ارقام؟ 

^
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);

System.out.print("Enter values for a, b, c: ");
int a = in.nextInt();
int b = in.nextInt();
int c = in.nextInt();

int sum = a + b + c;

System.out.println("sum=: " + sum);
}
}
2
سؤال /معدل 3 درجات من المستخدم؟ 

^
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);

System.out.print("Enter values for a, b, c: ");
float a = in.nextFloat();
float b = in.nextFloat();
float c = in.nextFloat();

float avg =( a + b+ c)/3;

System.out.println("avg=: " + avg);
}
}
سؤال؟ تبديل قيمتين باستخدام متغير مؤقت؟

^
public class H {
public static void main(String[] args) {
int num1 = 10;
int num2 = 20;

System.out.println("Before swapping:");
System.out.println("num1 = " + num1);
System.out.println("num2 = " + num2);


int temp = num1;
num1 = num2;
num2 = temp;

System.out.println("After swapping:");
System.out.println("num1 = " + num1);
System.out.println("num2 = " + num2);
}
}
سؤال؟ تبديل قيمتين بدون استخدام متغير  مؤقت


^
public class SwapNumbers {
public static void main(String[] args) {
int num1 = 10;
int num2 = 20;

System.out.println("Before swapping:");
System.out.println("num1 = " + num1);
System.out.println("num2 = " + num2);


num1 = num1 + num2;
num2 = num1 - num2;
num1 = num1 - num2;

System.out.println("After swapping:");
System.out.println("num1 = " + num1);
System.out.println("num2 = " + num2);
}
}
. 
.
الجمل الشرطية( else/else if /if)
.
.
.
تستخدم جملة if لتنفيذ كود معين إذا كانت الشرط المحدد صحيحًا.

التركيب:
java

if (condition) {
// كود يتم تنفيذه إذا كانت الشرط صحيح
}
مثال:
int number = 10;

if (number > 5) {
System.out.println("العدد أكبر من 5");

java
}

في هذا المثال، إذا كانت قيمة number أكبر من 5، سيتم طباعة "العدد أكبر من 5".

2. جملة else
تستخدم جملة else لتحديد كود بديل يتم تنفيذه إذا كانت الشرط في جملة if غير صحيح.

if (condition) {
// كود إذا كانت الشرط صحيح
} else {
// كود إذا كانت الشرط غير صحيح
}

مثال:

int number = 3;

if (number > 5) {
System.out.println("العدد أكبر من 5");
} else {
System.out.println("العدد ليس أكبر من 5");
}

في هذا المثال، سيتم طباعة "العدد ليس أكبر من 5" لأن الشرط غير صحيح.

3. جملة else if
تستخدم جملة else if لإضافة شروط إضافية بين جملتي if و else.


if (condition1) {
// كود إذا كانت الشرط الأول صحيح
} else if (condition2) {
// كود إذا كانت الشرط الثاني صحيح
} else {
// كود إذا كانت جميع الشروط غير صحيحة
}


مثال:
int number = 7;

if (number > 10) {
System.out.println("العدد أكبر من 10");
} else if (number > 5) {
System.out.println("العدد أكبر من 5 ولكن ليس أكبر من 10");
} else {
System.out.println("العدد ليس أكبر من 5");
}
اكتب برنامج  لقراءة رقم وفحص هذا الرقم اذا كان  موجب او سالب او يساوي 0؟

^
import java.util.Scanner;

public class CheckNumber {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);

System.out.print("Enter a number: ");
int number = in.nextInt();

if (number > 0) {
System.out.println("The number is positive.");
} else if (number < 0) {
System.out.println("The number is negative.");
} else {
System.out.println("The number is zero.");
}
}
}
برنامج اذا كان الرقم يقبل القسمة على 5 و 11 ام لا 

^
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Please enter a number: ");
int number = in.nextInt();

if (number % 5 == 0 && number % 11 == 0) {
System.out.println(number + " is divisible by both 5 and 11.");
} else {
System.out.println(number + " is not divisible by both 5 and 11.");
}
}
}
اكتب برنامج  لقراءة عدد
صحيح واختبار هذا العدد هل اكبر
من 0 او اصغر من 0 وفي حالة اكبر
من 0 هل العدد فردي ام زوجي
وفي حالة اصغر من صفر هل العدد
من مضاعفات العدد 2 او
مضاعفات العدد 7؟

^
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Please enter a number: ");
int num = in.nextInt();

if (num > 0) {
System.out.println("The number is greater than 0.");

if (num % 2 == 0)
System.out.println("The number is even.");
else
System.out.println("The number is odd.");
} else if (num < 0) {
System.out.println("The number is less than 0.");

if (num % 2 == 0)
System.out.println("The number is a multiple of 2.");
else if (num % 7 == 0)
System.out.println("The number is a multiple of 7.");
else
System.out.println("The number is not a multiple of any specified number.");
} else {
System.out.println("The number is zero.");
}
}
}
الاكبر بين 3 ارقام؟ 

^
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Please enter the first number: ");
int num1 = in.nextInt();
System.out.print("Please enter the second number: ");
int num2 = in.nextInt();
System.out.print("Please enter the third number: ");
int num3 = in.nextInt();

int max;

if (num1 > num2) {
if (num1 > num3) {
max = num1;
} else {
max = num3;
}
} else {
if (num2 > num3) {
max = num2;
} else {
max = num3;
}
}

System.out.println("The maximum of the three numbers is: " + max);
}
}
برنامج حساب معدل 3 درجات واضهار المعدل الناجح او راسب؟ 

^
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);

System.out.print("Please enter the first grade: ");
double grade1 = in.nextDouble();

System.out.print("Please enter the second grade: ");
double grade2 = in.nextDouble();

System.out.print("Please enter the third grade: ");
double grade3 = in.nextDouble();


double average = (grade1 + grade2 + grade3) / 3;

System.out.println("The final average is: " + average);


if (average >= 50) {
System.out.println("Pass!");
} else {
System.out.println("Fail!");
}
}
}
رتب الاعداد تنازليا ( من الاكبر الى الاصغر)

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a, b, c;

System.out.println("Enter three numbers:");
a = in.nextInt();
b = in.nextInt();
c = in.nextInt();

if (a > b && b > c) {
System.out.println(c + " " + b + " " + a);
} else if (a > c && c > b) {
System.out.println(b + " " + c + " " + a);
} else if (b > a && a > c) {
System.out.println(c + " " + a + " " + b);
} else if (b > c && c > a) {
System.out.println(a + " " + c + " " + b);
} else if (c > a && a > b) {
System.out.println(b + " " + a + " " + c);
} else {
System.out.println(a + " " + b + " " + c);
}
}
}
👍1
. 
.
.
switch
.
.
.
ما هي جملة switch؟
تستخدم جملة switch لاختيار تنفيذ كود معين من بين عدة خيارات، بناءً على قيمة متغير. تعتبر switch بديلًا لجمل if-else عندما يكون لديك العديد من القيم المحتملة لنفس المتغير.

التركيب:
switch (variable) {
case value1:
// كود يتم تنفيذه إذا كانت القيمة تساوي value1
break; // للخروج من switch
case value2:
// كود يتم تنفيذه إذا كانت القيمة تساوي value2
break;
// يمكنك إضافة المزيد من الحالات
default:
// كود يتم تنفيذه إذا لم تتطابق أي حالة
}

مثال:
int day = 3;

switch (day) {
case 1:
System.out.println("الاثنين");
break;
case 2:
System.out.println("الثلاثاء");
break;
case 3:
System.out.println("الأربعاء");
break;
case 4:
System.out.println("الخميس");
break;
case 5:
System.out.println("الجمعة");
break;
case 6:
System.out.println("السبت");
break;
case 7:
System.out.println("الأحد");
break;
default:
System.out.println("غير يوم صالح");
}

في هذا المثال، ستتم طباعة "الأربعاء" لأن قيمة day هي 3.

ملاحظات:
break: تستخدم للخروج من جملة switch بعد تنفيذ الكود في الحالة المحددة. إذا لم تستخدم break، سيتم تنفيذ جميع الحالات التي تلي الحالة المتطابقة حتى تصل إلى break أو نهاية switch.
مثال بدون break:
int num = 2;

switch (num) {
case 1:
System.out.println("عدد واحد");
case 2:
System.out.println("عدد اثنان");
case 3:
System.out.println("عدد ثلاثة");
default:
System.out.println("عدد غير معروف");
}

النتيجة ستكون:

عدد اثنان
عدد ثلاثة
عدد غير معرف
امثله
اكتب برنامج بلغة جافا  يطلب من المستخدم ادخال رقمين 
واجراء العمليات ( /،*،-،+)
ثم ابحث عن نتيجة العملية ( استخدم switch

^
import java.util.Scanner;

public class Calculator {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);

System.out.print("Enter the first number: ");
double num1 = in.nextDouble();

System.out.print("Enter the second number: ");
double num2 = in.nextDouble();

System.out.print("Choose an operation (+, -, *, /): ");
char operator = in.next().charAt(0);

double result;

switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 != 0) {
result = num1 / num2;
} else {
System.out.println("Cannot divide by zero!");
return;
}
break;
default:
System.out.println("Invalid operation!");
return;
}

System.out.println("Result: " + result);
}
}
ايام الاسبوع؟ 

^
public class h {
public static void main(String[] args) {
int dayNumber = 4;
switch (dayNumber) {
case 1:
System.out.println("Sunday");
break;
case 2:
System.out.println("Monday");
break;
case 3:
System.out.println("Tuesday");
break;
case 4:
System.out.println("Wednesday");
break;
case 5:
System.out.println("Thursday");
break;
case 6:
System.out.println("Friday");
break;
case 7:
System.out.println("Saturday");
break;
default:
System.out.println("Invalid day!");
}
}
}