More Related Content
Similar to Learn Java in 2 days
Similar to Learn Java in 2 days (20)
Learn Java in 2 days
- 1. Learn Java in 2 days
By Ahmed Ali Ali © 2013
Email : ahmed14ghaly@gmail.com
a14a2a1992a@yahoo.com
By Ahmed Ali Ali © 2013
1
- 2. Agenda
First day
Second day (soon)
•Introduction
•Class
•File
Declarations & Modifiers
•Wrapper
Classes
•Handling
I/O
•inner
class
Exceptions
•Threads
•Collections
•immutable
•StringBuffer, and
•Tokenizing
•Quiz
StringBuilder
•Utility
Classes: Collections and Arrays
•Generics
•Quiz
By Ahmed Ali Ali © 2013
2
- 3. Introduction
•
Java is an object-oriented programming language .
•
Java was started as a project called "Oak" by James Gosling in June1991. Gosling's
goals were to implement a virtual machine and a language that had a familiar Clike notation but with greater uniformity and simplicity than C/C++. The first
public implementation was Java 1.0 in 1995
• The
language itself borrows much syntax from C and C++ but has a
simpler object model and fewer low-level facilities.
•
Java Is Easy to Learn
By Ahmed Ali Ali © 2013
3
- 6. Class Declarations
•
Source File Declaration Rules
o only one public class per source code file.
o A file can have more than one nonpublic class.
o If there is a public class in a file, the name of the file must match the name of the
public class.
o If the class is part of a package, the package statement must be the first line in
the source code file, before any import statements that may be present
o import and package statements apply to all classes within a source code file.
By Ahmed Ali Ali © 2013
6
- 7. Class Access(Class Modifiers)
• What
•
does it mean to access a class?
Class Modifiers
o Public Access
o Default Access
•
package cert;
Public class Beverage { }
package cert;
class Beverage { }
Other (Non access) Class Modifiers
o Final Classes
package cert;
Final class Beverage { }
o Abstract Classes
package cert;
Abstract class Beverage { }
By Ahmed Ali Ali © 2013
7
- 8. Declare Interfaces
• An
interface must be declared with the keyword interface.
• All
interface methods are implicitly public and abstract. In other words, you do not need to actually
type the public or abstract .
•
Interface methods must not be static.
•
Because interface methods are abstract, they cannot be marked final,
• All
variables defined in an interface must be public, static, and final.
• An
interface can extend one or more other interfaces.
• An
interface cannot implement another interface or class.
By Ahmed Ali Ali © 2013
8
- 9. Declare Class Members
•We've
looked at what it means to use a modifier in a class declaration, and now
we'll look at what it means to modify a method or variable declaration.
• Access
o
o
o
o
•
Modifiers
public
protected
default
private
Nonaccess Member Modifiers
o Final and abstract
o Synchronized methods
By Ahmed Ali Ali © 2013
9
- 11. Develop Constructors
• The
•
constructor name must match the name of the class.
If you don't type a constructor into your class code, a default constructor will be
automatically generated by the compiler.
•
Constructors must not have a return type.
•
Constructors can use any access modifier,
•
Every class, including abstract classes, MUST have a constructor.
•
constructors are invoked at runtime when you say new on some class.
By Ahmed Ali Ali © 2013
11
- 12. Variable Declarations
•
There are two types of variables in Java:
o Primitives : A primitive can be one of eight types: char, boolean, byte,
short, int, long, double, or float. Once a primitive has been declared, its
primitive type can never change, although in most cases its value can
change.
o Reference variables : A reference variable is used to refer to (or
access) an object. A reference variable is declared to be of a specific
type and that type can never be changed.
•
Note :
o It is legal to declare a local variable with the same name as an instance
variable; this is called "shadowing."
By Ahmed Ali Ali © 2013
12
- 14. if and switch Statements
• The
•
only legal expression in an if statement is a boolean expression.
Curly braces are optional for if blocks that have only
one conditional statement.
•
switch statements can evaluate only to enums or the
byte, short, int, and char data types.You can't say,
By Ahmed Ali Ali © 2013
14
- 15. Ternary (Conditional Operator)
Returns one of two values based on whether a boolean expression is true or
false.
•
•
Returns the value after the ? if the expression is true.
•
Returns the value after the : if the expression is false.
x = (boolean expression) ? value to assign if true : value to assign if false
By Ahmed Ali Ali © 2013
15
- 16. String Concatenation Operator
•
If either operand is a String, the + operator concatenates the operands.
•
If both operands are numeric, the + operator adds the operands.
By Ahmed Ali Ali © 2013
16
- 17. Overloading & Overriding
• Abstract
methods must be overridden by the first concrete (subclass).
•
final methods cannot be overridden.
•
Only inherited methods may be overridden, and remember that private methods
are not inherited.
•A
subclass uses super. overriddenMethodName() to call the superclass version of
an overridden method.
•
Object type (not the reference variable's type), determines which overridden
method is used at runtime.
By Ahmed Ali Ali © 2013
17
- 18. Overloading & Overriding (cont’)
•
Methods from a superclass can be overloaded in a subclass.
•
constructors can be overloaded but not overridden.
•
Overloading means reusing a method name, but with different arguments.
•
Overloaded methods.
o Must have different argument lists
o May have different return types, if argument lists are also different
o May have different access modifiers
o May throw different exceptions
•
Polymorphism applies to overriding, not to overloading.
•
Reference type determines which overloaded method will be used at
compile time.
By Ahmed Ali Ali © 2013
18
- 19. Stack and Heap—Quick Review
•
understanding the basics of the stack and the heap makes it far easier to
understand topics like argument passing, threads, exceptions,
•
Instance variables and objects live on the heap.
•
Local variables live on the stack.
By Ahmed Ali Ali © 2013
19
- 20. Wrapper Classes
•What’s consept of Wrapper Class ?
•The wrapper classes correlate to the primitive types
•The three most important method families are
o xxxValue() Takes no arguments, returns a primitive
o parseXxx() Takes a String, returns a primitive
o valueOf() Takes a String, returns a wrapped object
By Ahmed Ali Ali © 2013
20
- 21. Handling Exceptions
• The
term "exception" means "exceptional condition" and is an occurrence that
alters the normal program flow.
•
Exception handling allows developers to detect errors easily without writing
special code to test return values.
•A
bunch of things can lead to exceptions, including hardware failures, resource
exhaustion, and good old bugs.
When an exceptional event occurs in Java, an exception is said to be "thrown." The
code that's responsible for doing something about the exception is called an
"exception handler," and it "catches" the thrown exception.
By Ahmed Ali Ali © 2013
21
- 23. Assertion Mechanism
•
the assertion mechanism, added to the language with version 1.4, gives you
a way to do testing and debugging checks on conditions you expect to smoke out
while developing,
•
writing code with assert statement will help you to be better programmer
and improve quality of code, yes this is true based on my experience when we
write code using assert statement we think through hard, we think about possible
input to a function, we think about boundary condition which eventually result in
better discipline and quality code.
"If" is a conditional operator with a specific loop syntax. It can be followed with the
loop continuation syntax "else". The "Assert" keyword will throw a run-time error if
the condition of the loop returns 'false' and is used for conditional validation(parameter checking).
Assertions are mainly used to debug code and are generally removed in a live product. Both "If" &
"Assert" evaluate a Boolean condition.
•
By Ahmed Ali Ali © 2013
23
- 24. Assertion Mechanism
Use assertions for internal logic checks within your code, and normal exceptions for
error conditions outside your immediate code's control.
Really simple:
private void doStuff() {
assert (y > x);
// more code assuming y
//is greater than x
}
Simple:
private void doStuff() {
assert (y > x): "y is " + y + " x is " + x;
// more code assuming y is greater than x
}
By Ahmed Ali Ali © 2013
24
- 25. immutable
•
an immutable object is an object whose state cannot be modified after it is
created
•Strings
Are Immutable Objects
By Ahmed Ali Ali © 2013
25
- 26. StringBuffer, and StringBuilder
•
The java.lang.StringBuffer and java.lang.StringBuilder classes should
be used when you have to make a lot of modifications to strings of
characters
•
StringBuilder is not thread safe. In other words, its
methods are not synchronized.
•
StringBuilder runs faster.
By Ahmed Ali Ali © 2013
26
- 27. Dates, Numbers, and Currency
•
Here are the date related classes you'll need to understand.
o java.util.Date
o java.util.Calendar
o java.text.DateFormat
o java.text.NumberFormat
o java.util.Locale
By Ahmed Ali Ali © 2013
27
- 30. A Search Tutorial
• To
find specific pieces of data in large data sources, Java provides several
mechanisms that use the concepts of regular expressions (Regex).
Simple Searches
we'd like to search through the following source String (abaaaba)
for all occurrences (or matches) of the expression (ab) .
• What
the result if we search on (aba) inside the String (abababa) ?
By Ahmed Ali Ali © 2013
30
- 31. A Search Tutorial (cont’)
[abc] Searches only for a's, b's or c's
[a-f] Searches only for a, b, c, d, e, or f characters
d A digit
s A whitespace character
w A word character (letters, digits, or "_" (underscore))
the quantifier that represents "one or more" is the "+" (Ex. d+)
Example :
source: "a 1 56 _Z"
index: 012345678
pattern: w
In this case will return positions 0, 2, 4, 5, 7, and 8.
By Ahmed Ali Ali © 2013
31
- 32. Tokenizing
• Tokenizing
is the process of taking big pieces of source data, breaking
them into little pieces, and storing the little pieces in variables.
Tokens and Delimiters
source: "ab,cd5b,6x,z4"
If we say that our delimiter is a comma, then our four tokens would be
ab
cd5b
6x
z4
By Ahmed Ali Ali © 2013
32