Java Σημειώσεις Σεμιναρίου
-
Author
aorati-pligi -
Category
Documents
-
view
213 -
download
0
Embed Size (px)
description
Transcript of Java Σημειώσεις Σεμιναρίου
-
Java
-
Java 2
.................................................................................................................................................... 2
1 ..................................................................................................... 6
1.1 ..................................................................................................................................................... 6
1.2 .................................................................................................................................................... 6
1.3 ................................................................................................................................................... 7
1.4 SUN MICROSYSTEMS ........................................................................................... 7
1.5 .............................................................................................................................................. 9
1.6 JAVA ........................................................................................................................................ 10
1.7 JAVA ............................................................................................................................ 10
1.8 JAVA SE 6 ...................................................................................................................... 12
1.9 ................................................................................................................................... 13
1.10 INTEGRATED DEVELOPMENT ENVIRONMENTS (IDES) .......................................................................................... 15
1.11 JAVA ............................................................................................................................. 17
1.12 (COMMENTS)................................................................................................................................... 18
1.13 (MAIN) ......................................................................................................................... 20
1.14 JAVA .................................................................................................................... 22
1.15 ...................................................................................................................... 22
1.16 (ESCAPE SEQUENCES) .................................................................................................. 23
1.17 (PACKAGES) .................................................................................................................................... 24
1.18 (COMMON DIALOGS) ........................................................................................................... 27
2 / ................................................................................................. 31
2.1 (DATA TYPES) ................................................................................................................. 31
2.2 (LITERALS).................................................................................................................... 33
2.3 (VARIABLES) ............................................................................................................................ 35
2.4 ............................................................................................................................ 37
2.5 (REFERENCES) ............................................................................................................................. 38
2.6 ....................................................................................................................... 38
2.7 (CONSTANTS) ............................................................................................................................... 39
2.8 (OPERATORS) ................................................................................................................................ 40
2.9 (ARITHMETIC) ............................................................................................................ 40
2.10 M A/M (INCREMENT/DECREMENT) ................................................................ 41
2.11 (RELATIONAL) ................................................................................................................. 43
2.12 BIT (BITWISE) ................................................................................................................. 44
2.13 (COMPOUND ASSIGNMENT)..................................................................................... 45
2.14 (LOGICAL) ......................................................................................................................... 46
2.15 ........................................................................................................................... 48
2.16 ............................................................................................................................... 48
2.17 (TYPE CASTING) ............................................................................................................. 52
2.18 (ARRAYS) ...................................................................................................................................... 53
2.19 .............................................................................................................................. 57
2.20 .............................................................................................................................. 58
-
Java 3
3 ............................................................................................................................ 61
3.1 ...................................................................................................................................................... 61
3.2 IF..ELSE ...................................................................................................................... 61
3.3 IF..ELSE IF ................................................................................................................ 66
3.4 IF .................................................................................................................................... 67
3.5 ................................................................................................................................... 70
3.6 (TERNARY OPERATOR) ? : .......................................................................................... 71
3.7 H SWITCH ........................................................................................................................... 73
3.8 WHILE ......................................................................................................................................... 77
3.9 DO..WHILE ................................................................................................................................. 79
3.10 FOR ............................................................................................................................................. 81
3.11 ............................................................................................................................. 86
3.12 BREAK CONTINUE ................................................................................................................................... 86
3.13 LABELED STATEMENTS .................................................................................................................................. 88
4 ( ) ......................................................... 91
4.1 ................................................................................................................................................... 91
4.2 (OBJECT)................................................................................................................................ 92
4.3 (CLASS) ........................................................................................................................................... 93
4.4 ........................................................................................................................................... 96
4.5 (MEMBER-VARIABLES)..................................................................................................... 96
4.6 (VISIBILITY) ............................................................................................................................... 97
4.7 ......................................................................................................................... 98
4.8 (METHODS) ............................................................................................................................... 100
4.9 (CALL BY VALUE) .............................................................................................................. 105
4.10 (CALL BY REFERENCE) ................................................................................................ 107
4.11 (METHOD OVERLOADING) ...................................................................................... 108
4.12 (CONSTRUCTORS) .................................................................................................................... 109
4.13 ...................................................................................................................... 112
4.14 GETTERS/SETTERS ..................................................................................................................................... 113
4.15 ......................................................................................................................................... 114
4.16 .............................................................................................................................. 117
4.17 (ENUMERATED TYPES) .................................................................................................. 124
5 (B ) ....................................................... 127
5.1 (INHERITANCE) ............................................................................................................. 127
5.2 IS-A, HAS-A .......................................................................................................................... 128
5.3 ................................................................................................................ 129
5.4 / .................................................................... 130
5.5 ................................................................................................................. 132
5.6 JAVA.LANG.OBJECT ................................................................................................................. 137
5.7 (METHOD OVERRIDING) .......................................................................................... 138
5.8 ....................................................................................................................................... 138
5.9 ...................................................................................................................................... 139
5.10 (POLYMORPHISM) ........................................................................................................... 142
5.11 (ABSTRACT CLASSES) .................................................................................................. 151
5.12 INTERFACES .............................................................................................................................................. 157
5.13 (INNER CLASSES) ........................................................................................................... 160
-
Java 4
6 ............................................................................................................ 167
6.1 (EXCEPTIONS) ............................................................................................................................ 167
6.2 (EXCEPTION HANDLING) ............................................................................................. 167
6.3 FINALLY ................................................................................................................................ 170
6.4 EXCEPTION PROPAGATION........................................................................................................................... 172
6.5 .................................................................................................................................... 173
6.6 CHECKED/UNCHECKED EXCEPTIONS .............................................................................................................. 175
6.7 ................................................................................................................... 176
6.8 ASSERTIONS ............................................................................................................................................. 180
6.9 ASSERTIONS .......................................................................................................................... 183
6.10 ..................................................................................................................................... 184
7 ........................................................................................................ 185
7.1 .................................................................................................................................................... 185
7.2 ..................................................................................................................... 185
7.3 JAVA.LANG.STRINGBUILDER ................................................................................................... 189
7.4 JAVA.UTIL.LOCALE ................................................................................................................. 192
7.5 ........................................................................................................................ 194
7.6 JAVA.TEXT ............................................................................................................................ 196
7.7 ...................................................................................................................... 199
7.8 ........................................................................................................................... 200
7.9 JAVA.LANG.MATH ..................................................................................................................... 204
7.10 .................................................................................................................................. 205
7.11 (BYTE STREAMS) ............................................................................................................. 208
7.12 (CHARACTER STREAMS) ............................................................................................. 210
7.13 SERIALIZATION .......................................................................................................................................... 213
7.14 ................................................................................................................................. 217
7.15 REGULAR EXPRESSIONS ............................................................................................................................... 219
7.16 JAVA.REGEX .......................................................................................................................... 221
7.17 JAVA.UTIL.SCANNER ............................................................................................................... 222
7.18 JAR ...................................................................................................................................... 225
8 OBJECTS, WRAPPER CLASSES, , .............................................................. 227
8.1 JAVA.LANG ............................................................................................................................ 227
8.2 ............................................................................................................................ 229
8.3 .......................................................................................................................... 231
8.4 HASHING ................................................................................................................................................. 232
8.5 INTERFACES COMPARABLE & COMPARATOR .............................................................................................. 234
8.6 WRAPPER CLASSES .................................................................................................................................... 235
8.7 (GENERICS) ............................................................................................................................. 238
8.8 JAVA COLLECTIONS FRAMEWORK .................................................................................................................. 239
8.9 (SETS) ......................................................................................................................................... 243
8.10 (LISTS) ........................................................................................................................................... 244
8.11 (QUEUES) ....................................................................................................................................... 246
8.12 (MAPS) ................................................................................................................................ 248
8.13 ...................................................................................................................... 250
9 ................................................................................................. 255
9.1 MULTITASKING/MULTITHREADING ............................................................................................................... 255
9.2 (THREAD) ....................................................................................................................................... 256
-
Java 5
9.3 .............................................................................................................................. 257
9.4 JAVA.LANG.THREAD ................................................................................................................. 262
9.5 (SYNCHRONIZATION) ............................................................................................................. 262
9.6 (PRIORITIES) .................................................................................................................... 265
9.7 ............................................................................................................................ 267
9.8 ......................................................................................................................... 270
9.9 (DEADLOCK) .............................................................................................................................. 279
10 (GUI) ..................................................................... 281
10.1 JFC .................................................................................................................... 281
10.2 SWING ...................................................................................................................................... 282
10.3 (LAYOUT MANAGERS) ................................................................................................ 291
10.4 ........................................................................................................ 292
10.5 EVENT-DRIVEN PROGRAMMING ................................................................................................................... 295
10.6 (EVENT-HANDLING) ................................................................................................. 296
10.7 TOOLBARS TOOLTIPS ............................................................................................................................... 299
10.8 (DIALOGS) .................................................................................................................................. 303
10.9 MODEL-VIEW-CONTROLLER .................................................................................................. 308
-
Java 6
Java
1
1.1
Java ...
Java 10
Java.
Java ,
.
Java
. ,
.
4 (
) , .
.
.
, 2009
,
Sun Microsystems Java,
(
Java 1.4). ,
,
Sun Microsystems.
1.2
. Java
.
.
,
-
Java 7
,
. ,
,
.
,
.
.
,
.
1.3
.
:
, , , .
Sun:
Sun Microsystems.
.
: .
1.4 Sun Microsystems
Sun Microsystems Java,
(Cisco, Microsoft ).
,
.
:
Sun Certified Java Associate (SCJA): ,
Java. .
Sun Certified Java Programmer (SCJP): ,
Java SE 6
.
.
.
-
Java 8
Sun Certified Java Developer (SCJD): SCJP,
Java SE 6.
. , ,
SCJP 6 Java.
Sun Certified Web Component Developer (SCWCD):
Enterprise Java (Java EE) developers
. , SCJP
.
Sun Certified Business Component Developer (SCBCD):
Java EE
Enterprise JavaBeans. SCJP.
Sun Certified Developer For Java Web Services (SCDJWS): developers
(web services) Java EE.
SCJP .
Sun Certified Mobile Application Developer (SCMAD): developers
Java ME.
SCJP .
Sun Certified Enterprise Architect (SCEA): Sun
developer
Java
EE.
: ,
essay.
,
SCJP.
.
(VUE Prometric),
.
SCJP Java
CX-310-065. 210 ,
72
5 . 65%, 47
72 .
, SCJP Java,
CX-310-066,
(48 150
).
66% 32
48 .
.
. ,
,
-
Java 9
(PC, )
.
,
.
.
, ,
(trick questions)
.
,
Java.
.
,
.
1.5
1.
Java
.
.
() Java :
Effective Java (2nd Edition), Joshua Bloch, Pearson Education, 2008
Sun,
.
.
SCJP Sun Certified Programmer for Java 6 Study Guide, Katherine Sierra, McGraw-Hill, 2008
Programmer's Guide to Java SCJP Certification: A Comprehensive Primer, Khalid Mughal,
Addison Wesley, 2008
2. Online
Java .
site tutorial :
http://conta.uom.gr/conta/ekpaideysh/seminaria/Tutorials-Java.html
3. Websites
site Sun Microsystems Java ,
Java. site
online , , case studies, software, . :
http://java.sun.com
-
Java 10
1.6 Java
Java 1991, Sun Microsystems
. James Gosling (
Java) C++ .
, Gosling
C++
.
(C++ ++) Oak ().
.
C++
.
Oak
Java ( ).
.
project
,
. Sun
project,
internet. project
project
.
, 1996 Java Sun Microsystems,
.
, Sun ISO
standard Java, .
, Java de facto standard.
1998 2 Java
. ,
.
Java , 2004
5 Tiger. (2006)
Java 6 Mustang, .
, 2007 Sun Microsystems Java open source
, .
1.7 Java
Java :
:
Java, . Java
-
Java 11
. C++,
(pointers)
.
(compiled) (interpreted): C/C++
compiled , Java
.
.
(pure OOD): Java
(object-oriented paradigm)
(.. ).
:
Java.
.. Windows
Unix .
(Unix)
JRE.
(strongly typed): Java
( 2)
C/C++.
: Java
() .
:
.
: Java
(multimedia) .
:
, Java (network)
(web) .
(multi-threaded processing):
, Java
multi-threaded .
: Java,
garbage collector (
) .
:
. Java
.
(dynamic binding): Java
(run-time).
,
.
-
Java
business projec
,
C++
.
1.8
JDK (Java Development
SDK JRE
Java
.
projects Java.
.
Java
, . Java
,
Java SE 6
Java ,
JRE (Java Run
JRE
opment Kit).
1
Java ,
12
.. games,
Java
,
Runtime Environment)
. 1
6 Java,
,
-
Java 13
Java
. , JDK JRE, .
Java.
Java Virtual Machine (JVM): (virtual machine)
(bytecode)
. JVM
class loader, bytecode
bytecode verifier, ,
(JIT compiler),
(automated exception handling) .
Java SE API (Application Programming Interface): interfaces
.
Deployment Technologies: deployment (
) Java (stand-alone) browser (..
applet).
Tools: JDK.
:
javac: O compiler Java
java: Java
javadoc: HTML API
jar: JAR
jdb: Java debugger
javap: Disassembler .class
1.9
Java
(source code file).
Java
. ,
(.. notepad)
JDK.
2
-
Java 14
2 notepad Windows
, Hello world.
Java.
2. HelloWorld.java.
, .
(command)
.
javac HelloWorld.java
Enter. compiler Java
. ( ) compiler ,
HelloWorld.class.
javac: file not found command
compiler .
HelloWorld.class (bytecode).
command
java HelloWorld
Enter.
3, .
,
command :
javac onoma_arxeiou.java
, :
java onoma_klashs
3
-
Java 15
4 .
.
class loader,
bytecode verifier bytecode
Java. JVM
(JIT compiler)
. JVM
.
4
1.10 Integrated Development Environments (IDEs)
project
.
,
.
.
,
( command), ,
compiler. ,
-
Java 16
(Integrated Development Environments)
IDEs.
IDEs developer
. , IDEs
editor ,
( , ,
) compiler .
,
projects .
, IDE.
, (debugging)
.
IDEs (version control), refactoring,
,
smart tags, .
IDE . Java, IDEs
, Eclipse
NetBeans. IDEs open source
. Eclipse NetBeans
CD .
Java ,
.
Eclipse NetBeans
,
. Java developers
, . , screenshots
. Windows
Linux Unix. 5 screenshot Eclipse.
NetBeans Eclipse
project.
IDE 2008 Sun
Java site, .
Eclipse, NetBeans .
IDEs Java JDeveloper Oracle (open source) JBuilder
Codegear ( Borland) . .
Sun: IDEs
, Sun
1.9, .
-
Java 17
5
1.11 Java
C/C++ , Java
. .java, ..
MyClass.java.
: .
.
: Java case sensitive
. Java myClass MyClass
. ,
IDE MyClass.java,
MyClass.
, Java
:
-
Java 18
.
* - & ( ^ ~ ! .
underscore ( _ )
(spaces).
, underscores
. ,
(Image Loader) ImageLoader Image_Loader
.
.
Java project . ,
project ,
1.13.
Java , :
import
interface
6 Java
. .
6
1.12 (Comments)
.
.
.
,
.
. , project manager
-
Java 19
. ,
. (
)
!
, . Java
.
.
/* (-)
*/ (-). ,
.
/* auto einai ena syntaktika ortho sxolio */
/*
* opws
* kai
* ayto
*/
compiler, ,
, Greeklish, .
// (2 )
.
:
// this is a single line comment
editors IDEs .
,
.
,
.
, (/** */) tags annotations
javadoc JDK HTML reference manual
, Java API reference manual.
Sun .
annotations .
/**
* This class represents a jpg image
*
* @author Nikos Panagos
* @version 1.0, March 23, 2008
* @see server
*/
-
Java 20
Sun:
,
.
1.13 (main)
, ,
(main method). Java C/C++ Java
( )
, C/C++
project.
({ }) .
Java , ..
java MyClass
main
.
( sequentially).
Java :
public static void main(String[] args)
Java
; ( semi-colon) .
, .
,
, , .
({ }) .
Java
(command line arguments) ,
. 7,
:
You passed the argument "[6]"
8.
-
Java 21
7
8
Sun: Sun
.
main(String[] args)
, .
:
main(String args[])
main(String[] something)
,
.
, ,
, ..
main(String something[])
-
Java 22
1.14 Java
Java.
.
abstract continue for new switch
assert*** default goto* package synchronized
boolean do if private this
break double implements protected throw
byte else import public throws
case enum**** instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp** volatile
const* float native super while
*
** 1.2
*** 1.4
**** 5
Sun:
( ). ,
Java
C++, .
, compiler .
.
1.15
. ,
System.out
Java.
println print
.
println
print
. print
-
Java 23
compiler (\n) println.
+
.
x = 5.
... int x = 5; System.out.println("x = " + x);
...
7,
,
.
1.16 (Escape Sequences)
. Java (")
(string). ,
.
,
"To be or not to be?" ( ).
System.out.println("To be or not to be?");
.
System.out.println(""To be or not to be?"");
. ,
compiler ,
compiler ( To be or not to be
) .
(escape sequences). compiler
, ..
.
Java
1.
-
Java 24
\n newline
\t tab
\b backspace
\f form feed
\r return
\" " ( )
\' ' ( )
\\ \ (back slash)
\uDDDD Unicode DDDD (DDDD 4
)
1
, \".
,
System.out.println("\"To be or not to be?\"");
1.13
( )
. 1,
newline ,
tab, return Unicode.
1.17 (Packages)
.
(modularity).
, interfaces ( interfaces 4 5)
.
Java
, .
, interfaces
.
-
Java 25
.
java.util
util java. java
.
, (fully qualified name)
compiler .
java.util.Stack s = new java.util.Stack();
compiler Stack
util, java
.
.
Java
import. import
. , import
:
import java.util.Stack;
...
Stack s = new Stack();
import
( ) .
import (wildcard)
:
import java.util.*;
compiler
interfaces java.util (
). ,
compiler
.
.
project
Helper. ,
Helper. ,
-
Java 26
, o compiler
.
,
. Java
package .
package sound;
compiler
sound. ,
package elearning.lesson;
lesson,
elearning .
,
imaging
sound. ,
compiler
.
(
) import
,
import imaging.Helper;
import sound.Helper;
, (package)
import statements. ,
, :
package elearning.sound; import java.util.*; public class Helper { ... }
default . ,
Java default .
-
Java 27
, projects
.
, default
import ( )
. , Java
. IDEs Eclipse NetBeans
. ,
default ,
.
1.18 (Common Dialogs)
(common dialogs) Java
.
Sun.
(common dialogs)
, . Java
javax.swing,
GUI (Graphical User Interface).
javax.swing 10.
.
showMessageDialog()
JOptionPane, 9 (:
4.
).
IDE project. project
Example01. ,
. 9.
import javax.swing.JOptionPane; // program uses JOptionPane public class Example01 { public static void main(String args[]){ JOptionPane.showMessageDialog(null, "Welcome\nto\nJava\nProgramming!"); System.exit(0); // terminate application with window } }