April 2016 Week 1 Introduction to Java Applications نوت الجافا النوتات اإلضافية تتكون النوت من عشرة أجزاء. يحتوي نوت كل أسبوع على شرح وحلول ألمثلة وتمارين من هوموركات وامتحانات سابقة. تتكون من عشرة أجزاء أيضا. يحتوي نوت كل شابتر على حلول ألمثلة وامتحانات إضافية. واتساب ()00965-94444260 حقوق النوت يتم تنقحة النوت وتحديثها وإضافة الجديد إليها بشكل دوري. لتعميم الفائدة فإني أتيح حقوق النسخ وإعادة اإلصدار وشروحات الفيديو لكل البشر سواء لبعض األجزاء أو الكل. نتشوق النتقادك الهادف. لطلب نسخة ملونة مجانا الببببع ينتظبببر الظبببرو المثاليبببة كي يبدأ ،وهؤالء يطول انتظارهم. 94444206 الشرح متوفر فيديو (مجانا) على الموقع eng-hs.net النوتات متوفرة ملونة مجاناً بأفرع تصوير الديوان داخل الجمعيات الرئيسية بالخالدية وكيفان والزهراء م .حمادة شعبان info@eng-hs.com 94444260 ()1 النوتات متوفرة مجانًا بالموقعين eng-hs.com, eng-hs.net April 2016 2.2 Your First Program in Java We will start with a simple program that displays a message on the screen. Comments ) يعتبر//( أي كالم يتم كتابته بعد . والبرنامج ال يتعامل معه،مالحظات .شكل الشاشة بعد تنفيذ البرنامج We insert comments to document programs to improve their readability. The Java compiler ignores comments. There are two kinds of comments, the first one is an end-of-line comment which we used in the program // and it terminates at the end of the line on which // appears. The second one is traditional comments which can be spread over several lines, these begin and end with /* and */ and the compiler ignores all text between them. Blank lines, space characters and tabs make programs easier to read. The compiler ignores them as well. Line 4 begins a class declaration for class Welcome1. Every Java program consists of at least one class. We begin the declaration with the keyword (class) followed by the class name (Welcome1). .حطُ من قدر من يتَلَّقونه ُ اإلحسان َي eng-hs.net الشرح متوفر فيديو (مجانا) على الموقع النوتات متوفرة ملونة مجاناً بأفرع تصوير الديوان داخل الجمعيات الرئيسية بالخالدية وكيفان والزهراء eng-hs.com, eng-hs.net النوتات متوفرة مجانًا بالموقعين )2( info@eng-hs.com 94444260 حمادة شعبان.م April 2016 A valid identifier name contains: letters, digits, underscores (_) and dollar signs ($), and does not begin with a digit nor contains a spcace. Java is case sensitive, so value and Value are different (both valid) identifiers. For now, every class we define begins with the public keyword. A public class must be placed in a file that has exactly the same name as the class plus the .java extension. Our class would be placed in a file named Welcome1.java, otherwise a compilation error occurs. Method main always begins the execution of the Java application, and so line 7 is the starting point of every Java application. The parentheses after the identifier main indicate that it’s a method. Java class declarations normally contain one or more methods. One of the methods must be called main and must be defined as in line 7, otherwise the JVM (Java Virtual Machine) will not execute the application. Methods perform tasks and can return information when they complete their tasks. Keyword void indicates that this method will not return any information. Line 8 begins the body of the method declaration. Line 9 prints the string of characters contained between the double quotation marks. Method System.out.println displays or prints the string which is the argument to the method. The entire line 9 is called a statement and it ends with (;). A method typically contains one or more statements to perform its task. ،إذا أردت أن يحبك الناس .ازهد فيما بين أيديهم eng-hs.net الشرح متوفر فيديو (مجانا) على الموقع النوتات متوفرة ملونة مجاناً بأفرع تصوير الديوان داخل الجمعيات الرئيسية بالخالدية وكيفان والزهراء eng-hs.com, eng-hs.net النوتات متوفرة مجانًا بالموقعين )3( info@eng-hs.com 94444260 حمادة شعبان.م April 2016 2.3 Modifying Your First Java Program Printing text on one line by using multiple statements. Line 9 and 10 of method main display one line of text. The first statement uses System.out. print method to display a string. Unlike println, after displaying its argument, print does not position the output cursor at the beginning of the next line in the window, and so the next character the program displays will appear immediately after the last character that print displays. إمببا نختببار أن نحيببا حياتنببا أو .نترك غيرنا يحياها نيابة عنا eng-hs.net الشرح متوفر فيديو (مجانا) على الموقع النوتات متوفرة ملونة مجاناً بأفرع تصوير الديوان داخل الجمعيات الرئيسية بالخالدية وكيفان والزهراء eng-hs.com, eng-hs.net النوتات متوفرة مجانًا بالموقعين )4( info@eng-hs.com 94444260 حمادة شعبان.م April 2016 Displaying multiple lines of text with a single statement. Normally, the characters in a string are displayed exactly as they appear in the double quotes. However, the paired characters (\n) do not appear on the screen. The backslash (\) is called an escape character which has special meaning to System.out.println method. When a backslash appears in a string, Java combines it with the next character to form an escape sequence. ∖n Newline. Position the screen cursor at the beginning of the next line. ∖t Horizontal tab. Move the screen cursor to the next tab stop. ∖∖ Backslash. Used to print a backslash character. ∖'' Double quote. Used to print a double-quote character. إن العالم يفسح الطريب للمبرء .الذي يعر إلى أين هو ذاهب eng-hs.net الشرح متوفر فيديو (مجانا) على الموقع النوتات متوفرة ملونة مجاناً بأفرع تصوير الديوان داخل الجمعيات الرئيسية بالخالدية وكيفان والزهراء eng-hs.com, eng-hs.net النوتات متوفرة مجانًا بالموقعين )5( info@eng-hs.com 94444260 حمادة شعبان.م April 2016 2.4 Displaying Text with printf The System.out.printf method (f means “formatted”) displays formatted data. It is more powerful than (print and println) statements. Line 9 and 10 represent only one statement, Java allows large statements to be split over many lines. Line 10 is indented to indicate that it’s a continuation of line 9. The format string in line 9 specifies that printf should output two strings, each followed by a newline character. Each %s is substituted with the value of the corresponding argument. ،قد يكون مهما أين أنت اآلن .لكنَّ األهم إلى أين تتجه eng-hs.net الشرح متوفر فيديو (مجانا) على الموقع النوتات متوفرة ملونة مجاناً بأفرع تصوير الديوان داخل الجمعيات الرئيسية بالخالدية وكيفان والزهراء eng-hs.com, eng-hs.net النوتات متوفرة مجانًا بالموقعين )6( info@eng-hs.com 94444260 حمادة شعبان.م April 2016 2.5 Adding Integers The next application reads two integers typed by a user at the keyboard, computes their sum and displays it. ال يهم ما يحدث في حياتك طالما أن ذلك ال يؤثر على أهدافك. الشرح متوفر فيديو (مجانا) على الموقع eng-hs.net النوتات متوفرة ملونة مجاناً بأفرع تصوير الديوان داخل الجمعيات الرئيسية بالخالدية وكيفان والزهراء م .حمادة شعبان info@eng-hs.com 94444260 ()7 النوتات متوفرة مجانًا بالموقعين eng-hs.com, eng-hs.net April 2016 A great strength of Java is its set of predefined classes that you can reuse. These classes are grouped into packages (groups of related classes). They are referred to as the Java class library or Java API. Line 3 is an import declaration that helps the compiler locate a class that’s used in this program. It indicates that this program uses Java’s predefined Scanner class from package java.util. Line 11 has a variable declaration statement that specifies the name (input) and type (Scanner) of a variable. All Java variables must be declared with a name and a type before they can be used. A Scanner enables a program to read data to be use in the program. The data can come from different sources such as the keyboard or a file on a disk. Before using a Scanner you must create an object from scanner type and specify the source of its data. Line 11 initializes the variable by using the new keyword to create a Scanner object. The standard input object (System.in) enables the application to read bytes of information typed by the user. The message “Enter first integer” that is displayed by line 17 is called a prompt because it directs the user to take a specific action. Line 18 uses object input’s nextInt method to obtain an integer from the user at the keyboard. It places the result of the call to that method (an int value) in variable number1. This is called an assignment statement because it assigns a value to a variable. ،ما يهمني أكثر من الماضي هو المستقبل .حيث أنوي العيش فيه eng-hs.net الشرح متوفر فيديو (مجانا) على الموقع النوتات متوفرة ملونة مجاناً بأفرع تصوير الديوان داخل الجمعيات الرئيسية بالخالدية وكيفان والزهراء eng-hs.com, eng-hs.net النوتات متوفرة مجانًا بالموقعين )8( info@eng-hs.com 94444260 حمادة شعبان.م April 2016 Everything to the right of the assignment operator (=) is evaluated first before the assignment is performed. In line 25, the format specifier %d is a placeholder for an int value. Calculations can also be performed inside printf statements. Statements at lines 23 and 25 can be combined into: System.out.printf (“sum is %d\n”, (number1+number2) ); Note: System is a class, class System is part of package java.lang. Notice that class System is not imported with an import declaration at the beginning of the program. By default, package java.lang is imported in every Java program, thus, classes in java.lang are the only ones in the Java API that do not require an import declaration. ذاكر بضمير وحصل دنانير ديناران! ألي خطأ إمالئي أو فني أو )SMS مالحظة هامة (واتساب أو )9 4444 360 (إدارة التدريب حيثما:خالصة الحكمة .ذهبت اذهب بكل قلبك eng-hs.net الشرح متوفر فيديو (مجانا) على الموقع النوتات متوفرة ملونة مجاناً بأفرع تصوير الديوان داخل الجمعيات الرئيسية بالخالدية وكيفان والزهراء eng-hs.com, eng-hs.net النوتات متوفرة مجانًا بالموقعين )9( info@eng-hs.com 94444260 حمادة شعبان.م April 2016 2.6 Memory Concepts Variable names correspond to locations in the computer’s memory. Every variable has a name, a type, a size and a value. A value that’s placed in a memory location replaces the location’s previous value, which will be overwritten. 2.7 Arithmetic 1. 7/4 = 1 and 17/5 = 3 because any fractional part in integer division is discarded (truncated). 2. 7%4 = 3 and 17%5 = 2, this operation can be used for example to determine whether one number is a multiple of another. Parentheses are used to group terms in Java expressions in the same manner as in algebraic expressions, for example, to multiply (a) times the quantity (b+c), we write a*(b+c) Rules of operator precedence are summarized in the next figure: .الرغبة الواهنة ال ينتج عنها إنجازات eng-hs.net الشرح متوفر فيديو (مجانا) على الموقع النوتات متوفرة ملونة مجاناً بأفرع تصوير الديوان داخل الجمعيات الرئيسية بالخالدية وكيفان والزهراء eng-hs.com, eng-hs.net النوتات متوفرة مجانًا بالموقعين )11( info@eng-hs.com 94444260 حمادة شعبان.م April 2016 Here’s an example, And to evaluate a second-degree polynomial, Note: you can use redundant parentheses (unnecessary parentheses) to make an expression clearer. نوع من المتعة أن تفعل المستحيل. الشرح متوفر فيديو (مجانا) على الموقع eng-hs.net النوتات متوفرة ملونة مجاناً بأفرع تصوير الديوان داخل الجمعيات الرئيسية بالخالدية وكيفان والزهراء م .حمادة شعبان info@eng-hs.com 94444260 ()11 النوتات متوفرة مجانًا بالموقعين eng-hs.com, eng-hs.net April 2016 2.8 Decision Making: Equality and Relational Operators A condition is an expression that can be true or false. If the condition in an if statement is true, the body of the if statement executes. If the condition is false, the body does not execute. Conditions in if statements can be formed by using the equality operators ( == and != ) and relational operators (>, <, >= and <=). Both equality operators have the same level of precedence, which is lower than that of the relational operators. إنَّهم يستطيعون ألنَّهم يعتقدون .أنهم يستطيعون eng-hs.net الشرح متوفر فيديو (مجانا) على الموقع النوتات متوفرة ملونة مجاناً بأفرع تصوير الديوان داخل الجمعيات الرئيسية بالخالدية وكيفان والزهراء eng-hs.com, eng-hs.net النوتات متوفرة مجانًا بالموقعين )12( info@eng-hs.com 94444260 حمادة شعبان.م April 2016 An if statement always begins with the keyword if, followed by a condition in parentheses. An if statement expects one statement in its body, but may contain multiple statements if they’re enclosed in a set of braces ({}). Line 24 executes only if the numbers stored in variables number1 and number2 are equal. Notice there’s no semicolon (;) at the end of the first line of each if statement. The confusion between equality operator (==) and the assignment operator (=) causes a logic error or a syntax error. أن يحسدك الناس أفضل من .أن يشفقوا عليك eng-hs.net الشرح متوفر فيديو (مجانا) على الموقع النوتات متوفرة ملونة مجاناً بأفرع تصوير الديوان داخل الجمعيات الرئيسية بالخالدية وكيفان والزهراء eng-hs.com, eng-hs.net النوتات متوفرة مجانًا بالموقعين )13( info@eng-hs.com 94444260 حمادة شعبان.م April 2016 Exercise 2.6 Write a program that calculates and prints the product of three integers. import java.util.Scanner; public class Product { public static void main( String[] args ) { Scanner input = new Scanner( System.in ); int int int int x; y; z; result; System.out.print( "Enter first integer: " ); x = input.nextInt(); System.out.print( "Enter second integer: " ); y = input.nextInt(); System.out.print( "Enter third integer: " ); z = input.nextInt(); result = x * y * z; System.out.printf( "Product is %d\n", result ); } } حان الوقت لكي نعيش .الحياة التي تخيلناها eng-hs.net الشرح متوفر فيديو (مجانا) على الموقع النوتات متوفرة ملونة مجاناً بأفرع تصوير الديوان داخل الجمعيات الرئيسية بالخالدية وكيفان والزهراء eng-hs.com, eng-hs.net النوتات متوفرة مجانًا بالموقعين )14( info@eng-hs.com 94444260 حمادة شعبان.م April 2016 Exercise 2.15 Write an application that asks the user to enter two integers, obtains them from the user and prints their sum, product, difference and quotation (division). import java.util.Scanner; public class Operations { public static void main(String[] args) { Scanner input = new Scanner(System.in); int x, y; System.out.print("Enter the first enteger: "); x = input.nextInt(); System.out.print("Enter the second enteger: "); y = input.nextInt(); System.out.printf("The sum is: %d, the product is: %d", x+y, x*y); System.out.printf(", The diff is: %d, the div is: %d\n", x-y, x/y); } } لتكن أنت أهم بند في .قائمة اهتماماتك eng-hs.net الشرح متوفر فيديو (مجانا) على الموقع النوتات متوفرة ملونة مجاناً بأفرع تصوير الديوان داخل الجمعيات الرئيسية بالخالدية وكيفان والزهراء eng-hs.com, eng-hs.net النوتات متوفرة مجانًا بالموقعين )15( info@eng-hs.com 94444260 حمادة شعبان.م April 2016 Exercise 2.16 Write an application that asks the user to enter two integers, obtains them from the user and displays the large number followed by the words “is larger”. If the numbers are equal, print the message “These numbers are equal”. import java.util.Scanner; public class compare { public static void main(String[] args) { int x,y; Scanner input = new Scanner(System.in); System.out.print("Enter the first integer: "); x = input.nextInt(); System.out.print("Enter the second integer: "); y = input.nextInt(); if ( x == y) System.out.printf("the numbers are equal\n"); if ( x > y ) System.out.printf("%d is larger\n", x); if ( y > x ) System.out.printf("%d is larger\n", y); } } يسقط الطفل مرات عديدة قبل إتقان . لكنهم ال َي ُعدُون ذلك فشال،المشي eng-hs.net الشرح متوفر فيديو (مجانا) على الموقع النوتات متوفرة ملونة مجاناً بأفرع تصوير الديوان داخل الجمعيات الرئيسية بالخالدية وكيفان والزهراء eng-hs.com, eng-hs.net النوتات متوفرة مجانًا بالموقعين )16( info@eng-hs.com 94444260 حمادة شعبان.م April 2016 Exercise 2.25 Write an application that reads an integer and determines and prints whether it’s odd or even. import java.util.Scanner; public class EvenOdd { public static void main(String[] args) { int x; Scanner input = new Scanner(System.in); System.out.print("Enter an integer: "); x = input.nextInt(); if ( x%2 == 0) System.out.printf("%d is Even\n",x); if ( x%2 != 0) System.out.printf("%d is odd\n",x); } } يمكن البدء في تحقي . اآلن،حلمك بقرار eng-hs.net الشرح متوفر فيديو (مجانا) على الموقع النوتات متوفرة ملونة مجاناً بأفرع تصوير الديوان داخل الجمعيات الرئيسية بالخالدية وكيفان والزهراء eng-hs.com, eng-hs.net النوتات متوفرة مجانًا بالموقعين )17( info@eng-hs.com 94444260 حمادة شعبان.م April 2016 Exercise 2.26 Write an application that reads two integers, determines whether the first is a multiple of the second and prints the result. import java.util.Scanner; public class EvenOdd { public static void main(String[] args) { Scanner input = new Scanner(System.in); int x,y; System.out.print("Enter the first integer: "); x = input.nextInt(); System.out.print("Enter the second integer: "); y = input.nextInt(); if ( x%y == 0) System.out.print("first integer is multiple of the second"); else System.out.print("first integer is not multiple of the second"); } } ينبع أغلب إخفاقات البشر من عدم الرغبة . وليس من العجز أو الغباء،الصادقة eng-hs.net الشرح متوفر فيديو (مجانا) على الموقع النوتات متوفرة ملونة مجاناً بأفرع تصوير الديوان داخل الجمعيات الرئيسية بالخالدية وكيفان والزهراء eng-hs.com, eng-hs.net النوتات متوفرة مجانًا بالموقعين )18( info@eng-hs.com 94444260 حمادة شعبان.م April 2016 Exercise 2.28 Write an application that inputs from the user the radius of a circle as an integer and prints the circle’s diameter, circumference and area using the floating-point value 3.14159 for π. You may also use the predefined constant Math.PI for the value of π. This constant is more precise and Class Math is defined in package java.lang. Classes in that package are imported automatically. The circuit formulas are: 𝒅𝒊𝒂𝒎𝒆𝒕𝒆𝒓 = 𝟐𝒓, 𝒄𝒊𝒓𝒄𝒖𝒎𝒇𝒆𝒓𝒆𝒏𝒄𝒆 = 𝟐𝝅𝒓, 𝒂𝒓𝒆𝒂 = 𝝅𝒓𝟐 import java.util.Scanner; public class Circle { public static void main(String[] args) { Scanner input = new Scanner(System.in); double r, d, c, a; System.out.print("Enter reauis: "); r = input.nextDouble(); d = 2 * r; c = 2 * Math.PI * r; a = Math.PI * r * r; System.out.printf("Diameter is: %2f\n”,d); System.out.printf("Circumference is: %2f\n”,c); System.out.printf("Circumference is: %2f\n”,a); } } كل إنسان يستطيع أن يبدأ . تماما من جديد،من جديد eng-hs.net الشرح متوفر فيديو (مجانا) على الموقع النوتات متوفرة ملونة مجاناً بأفرع تصوير الديوان داخل الجمعيات الرئيسية بالخالدية وكيفان والزهراء eng-hs.com, eng-hs.net النوتات متوفرة مجانًا بالموقعين )19( info@eng-hs.com 94444260 حمادة شعبان.م April 2016 Exercise 2.30 Write an application that inputs one number consisting of five digits from the user, separates the number into its individual digits and prints the digits separated from one another by three spaces each. For example, if the user types in the number 42339, the program should print 4 2 3 3 9 import java.util.Scanner; public class Digits { public static void main(String[] args) { Scanner input = new Scanner(System.in); int n, d1, d2, d3, d4, d5; System.out.print("Enter a 5-digits integer: "); n = input.nextInt(); d1 d2 d3 d4 d5 = = = = = n n n n n % % % % / 10; 100 / 10; 1000 / 100; 10000 / 1000; 10000; System.out.printf("%d %d %d %d %d \n”, d5, d4, d3, d2, d1); } } من لم يتحمل مرارة البدايات .لن يحظى بحالوة النهايات eng-hs.net الشرح متوفر فيديو (مجانا) على الموقع النوتات متوفرة ملونة مجاناً بأفرع تصوير الديوان داخل الجمعيات الرئيسية بالخالدية وكيفان والزهراء eng-hs.com, eng-hs.net النوتات متوفرة مجانًا بالموقعين )21( info@eng-hs.com 94444260 حمادة شعبان.م