Introduction to Java Applications - eng

advertisement
‫‪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 ‫ حمادة شعبان‬.‫م‬
Download