عالم برمجةوتقنية الحاسوب C. P. W
740 subscribers
496 photos
55 videos
260 files
480 links
عالم الحاسوب برمجه وتقنيه وتطوير شرح كل ما يتطلب في مجال علوم الحاسوب والبرمجة
https://t.me/programming_C_w
قنات الجرافيكس @l_d_gh
#Digitalmarketing
#programming
#AI #CPA
#learn
التواصل معي @Eng_sharaf1
Download Telegram
ومثل c++ اذا احتاجينا نعرف عداد للوب لازم نعرفه قبل while
والزيادة تكون احد التعاليم ststements داخل الاقواس {}
يعني بعكس for الي يكون بيها تعريف العداد والزيادة ويا الشرط داخل الاقواس ()
وللتوضيح اكثر راح اعيد هذا المثال بwhile
import java.util.Scanner;
public class Main {

static Scanner scanner = new Scanner(System.in);

public static void main(String[] args) {

int i = 0, sum = 0;

while (i < 10) {

int number = scanner.nextInt();
sum += number;
i++;

}

System.out.println("Sum of the 10 numbers: " + sum);

}

}
مثل ماتشوفون الفرق الوحيد هو ان i عرفناها قبل while وزيادة i صارت داخل while
اهم فرق بين for و while ان for تتطلب عداد فيكون عدد الدورات ثابت
بينما while مانعرف عدد الدورات بالضبط فيفضل نستعمل while لمن يكون عدد الدورات غير ثابت
import java.util.Scanner;
public class AddUpToTwenty {

static Scanner scanner = new Scanner(System.in);

public static void main(String[] args) {
int sum = 0;

System.out.println("Enter numbers to add up to 20: ");
while (sum <= 20) {
sum += scanner.nextInt();
}

System.out.println("Done.");
}

}
وهذا المثال يوضح الفرق
البرنامج يجمع الارقام الي يدخلها المستخدم الى ان يتخطى المجموع 20

عدد الدورات هنا مجهول لان المستخدم ممكن يدخل رقم اكبر من 20 مباشرة فيتوقف البرنامج بعد دورة واحدة
او ممكن يدخل ارقام اقل من عشرين ويزيد عدد الدورات
Enter numbers to add up to 20:
4
4
4
4
4
4
Done.
هنا البرنامج تطلب 6 دورات
Enter numbers to add up to 20:
55
Done.
وبهذي الحالة دورة وحدة
Enter numbers to add up to 20:
2
4
7
13
Done.
وهنا 4
للتوضيح اكثر خل نسوي برنامج يخلي المستخدم يحزر رقم الى ان يوصل للرقم الصحيح
import java.util.Scanner;
public class GuessNumber {

static Scanner scanner = new Scanner(System.in);

public static void main (String[] args) {

int number = 12, tries = 0;
System.out.print("Guess a number (0 - 20): ");
while (true) {

tries++;

if (scanner.nextInt() == number) {
System.out.println("\nCorrect!!!\nAttempts: " + tries);
break;
}

System.out.print("incorrect!!\nTry again: ");

}

scanner.close();

}

}
هنا الشرط خليناه true فاللوب راح تستمر الى ان يوصل البرنامج الى تعليمة break

فبهذي الحالة ماندري شكم محاولة راح يحتاج المستخدم الى ان يوصل للرقم الصحيح الي هو 12
وهذا الشرط الي هو مساواة الرقم المدخل مع المتغير number

اذا تحقق البرنامج راح يكللنا ان الجواب صحيح ويطبع عدد المحاولات
1
وهنا تعليمة break اللي توقف اللوب موجودة داخل if

يعني من يتحقق الشرط راح يوصل البرنامج للbreak واللوب راح تنتهي
hey guys😺
أخر نوع من الloop:
do...while

شنو الفرق بينها وبين الwhile؟
هنا بالwhile إحتمال ماتحصل اي نتيجة منها واحتمال اي ، أما بالdo بالقليل عندك نتيجة وحدة أو تنفيذ واحد مستحيل مايتنفذ عندك ولاشي.

شلون يعني؟
انا اگلك ال while العادية حيكون عندك أول شي شرط إذا كان صح حيتنفذ الشي إلي بداخل الloop وإذا لا ماراح ينفذ اي شي.

أما بالdo راح ينفذ أول شي التعليمة إلي خالها بعدينه يروح للwhile ويشوف إذا الشرط تحقق أو لا وتكمل طبيعي مثل الwhile العادية.
Okay?
طب شنو الفرق بيناتهم بشكل الحل؟

أول شي همينه راح نعرف الi قبل الloop بس ماراح تتغير قيمتها داخل الwhile هنا حتتغير داخل الdo.

والتعليمة إلي تريدها تتنفذ داخل الloop همينه حتكون داخل الdo مو بالwhile.

الwhile هنا ماراح يصير بيها اقواس (ماعدا قوس الشرط) ولاحتكون داخل اقواس الdo، هيج يعني:
do{
}
while (con);{
}
أو هيج
do{
while(con) ;}
محتشتغل لو شما يصير هنا :) .

احنه حنكتبها خارج أقواس الdo ومالها اقواس(ماعدا اقواس الشرط) حته لو عدنه تعليمة بعدها، ماشي؟

حنكتبها مثل هاي:
int i=any num;
do{
ststements;
ststements for i;
} while (con) ;
any ststements you want;

وحتبين ألكم بال examples الجاية.
ex: sum in do..while
حشرحه بالتفصيل جوا:

import java.util.Scanner;public class ayat{
public static void main(String[] args) {
Scanner AA = new Scanner(System.in); System.out.println("enter the number:");
int n=AA.nextInt(); int sum=0;
int i=1; do{
sum+=i; i++;
}while(i<=n); System.out.println("sum="+sum);
}}
هنا أول شي خلينه مسج لليوزر حته يدخل قيمة العدد إلي يريد الsum مالته،

بعدينه خلينه sum و i للloopمالتنه.
هنا حيدخل بالdo (حينفذ من دون أي شرط) حيجمع قيمة الsum بالi،
و بعدينه حيزيد قيمة الi واحد وراح يروح للwhile وحيستمر مثل الwhile العادية وحيكمل منا لحد متخلص الloop ويطبعلي قيمه الsum وبس.