JSP คืออะไร

Download Report

Transcript JSP คืออะไร

การโปรแกรมเชิงวัตถุดวยภาษา
JAVA
้
Introduction
มหาวิทยาลัยเนชัน
่
http://www.nation.ac.th
http://www.thaiall.com/class
บุรน
ิ ทร ์
รุจจนพันธุ ์
.
ความหมายของภาษาจาวา
ภาษาจาวา (Java Language)
คือ ภาษาโปรแกรมทีถ
่ ก
ู พัฒนาโดย
บริษท
ั ซันไมโครซิสเต็มส์ เป็ น
ภาษาสาหรับเขียนโปรแกรมที่
สนับสนุ นการเขียนโปรแกรมเชิงวัตถุ
(OOP = Object-Oriented
Programming) โปรแกรมทีเ่ ขียนขึน
้
ถาเป็
ตถุ
้ นคลาสก็จะเป็ นตนแบบของวั
้
http://www.thaiall.com/class
อะไรตอมิ
่ อะไรในจาวา
ขอมู
้ ลจาก http://www.thaiall.com/class/indexr.htm
http://www.thaiall.com/class
ตัวแปลภาษาจาวา
http://java.sun.com
บริษท
ั Sun Microsystems, Inc.
- J2SE (Java 2 Platform, Standard
Edition :Core/Desktop)
- J2EE (Java 2 Platform, Enterprise
Edition :Enterprise/Server)
- J2ME (Java 2 Platform, Micro Edition
:Mobile/Wireless)
http://www.thaiall.com/class
Language
ภาษาคอมพิวเตอร ์ (Computer
Language) คือ ภาษาทีใ่ ช้ หรือ
เกีย
่ วของกั
บ
บคอมพิวเตอร ์ ซึง่ มักใช้รวมกั
้
่
ภาษาโปรแกรม แตภาษาคอมพิ
วเตอรนั
่
์ ้นมี
ความหมายทีก
่ วางกว
า่ โดยไมจ
้
่ าเป็ นที่
จะตองเป็
นภาษาโปรแกรม ซึง่ เป็ นทีร่ กั
้
ู้ นวา่
ภาษาอยาง
HTML หรือ SQL ไมใช
่
่ ่ ภาษา
โปรแกรม แตถื
่ อวาเป็
่ นภาษาคอมพิวเตอร ์
ภาษาโปรแกรม (Program
Language) คือ วิธก
ี ารมาตรฐานในการ
สื่ อสารสาหรับแสดงคาสั่ งไปยังคอมพิวเตอร ์
ภาษาโปรแกรมกาหนดไวยากรณและการ
http://www.thaiall.com/class
เริม
่ ตนเขี
ยนโปรแกรมทา
้
•เลือกภาษา สาหรับนักเรียน นักศึ กษานั้นงายที
จ
่ ะเลือก
่
อย
างไร
เพราะอาจารยคอยชี
แ
้
นะ
่
์
•หาแหลงข
งจากห้องสมุด ถาท
มี
อ
่ อมู
้ ลอางอิ
้
้ านไม
่
่ อะไรอยูในมื
่
คงนึกโครงสรางภาษาไม
ออก
้
่
•หาตัวแปลภาษา ทุกภาษาตองมี
ตวั แปลภาษา มีหลายภาษาที่
้
ถูกสรางเป็
น Free compiler
้
•เขียนโปรแกรมตัวแรกทีง่ าย
เช่น พิมพเลข
5 เป็ นตน
่
้
์
•ศึ กษาการทาซา้ และการเลือกตามเงือ
่ นไข เช่นพิมพสู
์ ตรคูณ
หรือพิมพ ์ 1 ถึง 10 เป็ นตน
้
•ติดตอแฟ
่ อานมาแสดงผล
หรือปรับปรุงขอมู
่
้ มขอมู
้ ล เพือ
่
้ ลได้
•เขียนเมนู เพือ
่ เลือกกระทาโปรแกรมตามตัวเลือก
•ทารายงานจากการเชือ
่ มแฟ้มหลายแฟ้ม โดยกาหนดไดหลาย
้
http://www.thaiall.com/class
การเขียนโปรแกรมโครงสราง
้
1. การทางานแบบตามลาดับ
(Sequence)
รูปแบบการเขียนโปรแกรมทีง่ าย
่
ทีส
่ ุดคือ เขียนให้ทางานจากบนลง
ลาง
เขียนคาสั่ งเป็ นบรรทัด และ
่
ทาทีละบรรทัดจากบรรทัดบนสุดลง
ไปจนถึงบรรทัดลางสุ
ด สมมติให้มี
่
http://www.thaiall.com/class
การเขียนโปรแกรมโครงสราง
้
2. การเลือกกระทาตามเงือ
่ นไข
(Decision)
การตัดสิ นใจ หรือเลือกเงือ
่ นไขคือ
เขียนโปรแกรมเพือ
่ นาคาไปเลื
อกกระทา
่
โดยปกติจะมีเหตุการณให
์ ้ ทา 2
กระบวนการ คือเงือ
่ นไขเป็ นจริงจะ
กระทากระบวนการหนึ่ง และเป็ นเท็จจะ
กระทาอีกกระบวนการหนึ่ง แตถ
่ า้
http://www.thaiall.com/class
การเขียนโปรแกรมโครงสราง
้
3. การทาซา้ (Repeation or Loop)
การทากระบวนการหนึ่งหลายครัง้ โดย
มีเงือ
่ นไขในการควบคุม หมายถึงการทาซา้
เป็ นหลักการทีท
่ าความเขาใจได
ยากกว
า่ 2
้
้
รูปแบบแรก เพราะการเขียนโปรแกรมแต่
ละภาษา จะไมแสดงภาพอย
างชั
ดเจน
่
่
เหมือนการเขียนผังงาน(Flowchart) ผู้เขียน
โปรแกรมตองจิ
นตนาการ ถึงรูปแบบการ
้
ทางาน และใช้คาสั่ งควบคุมดวยตนเอง
้
http://www.thaiall.com/class
แนวคิดของการโปรแกรมเชิงวัตถุ
(OOP Concepts)
1. การปกป้อง (Encapsulation)
- การรวมกลุมของข
อมู
เพือ
่ การ
่
้ ล และกลุมของโปรแกรม
่
ปกป้อง และเลือกตอบสนอง
2. การสื บทอด (Inheritance)
- ยอมให้นาไปใช้ หรือเขียนขึน
้ มาทดแทนของเดิม
3. การพองรู
ป (Polymorphism)
้
มาจากภาษากรีก หมายถึง Many Shapes (Overriding)
- Overloading มีชอ
ื่ โปรแกรมเดียวกัน แตรายการตั
วแปร
่
http://www.thaiall.com/class
Java 2 Platform, Standard
Edition (J2SE)
http://java.sun.com/j2se/1.4/download.h
tml
มีตวั แปรทีห
่ ลายบริษท
ั สรางขึ
น
้
แตตั
้
่ ว
ทีเ่ ป็ นมาตรฐานคือของ s u n และ j a v a
กาลังอยูในระหว
างการพั
ฒนาอยางต
อเนื
่
่
่
่ ่อง
ผมขอเลือก J2SE ของ sun เพราะใช้งาน
ใน text mode นาไปใช้ใน linux ก็ม ี
หลักการเหมือนกัน แตถ
ั อืน
่
่ าเป็
้ นของบริษท
ส่วนใหญต
ด
่ างยึ
่ องใช
่
้
้ใน Windows ไมอย
ติดกับ O S จึงเลือกทีจ
่ ะใช้ J2S E สอน
นักศึ กษา
http://www.thaiall.com/class
รูปแบบของ Class
class declaration {
variable
constructor
method
nested class or inner class
}
class a {
int a = 0;
a() { }
void b () {
}
class c { }
}
http://www.thaiall.com/class
ชือ
่ เรียกเกีย
่ วกับ Object
Object Model
State
Behavior
Identity
Behavior/Action
Attribute
Method
Property
Method
Variable/Attr.
General, UML
Value of Attribute
OOP
Value of Variable
Coding in Java
Value of Attribute
http://www.thaiall.com/class
เขียนโปรแกรมแรก
start, run, cmd
cd\
dir
cd c:\j2sdk1.4.2_03\bin
c:\j2sdk1.4.2_03\bin>edit x.java
class x {
public static void main(String args[]){
System.out.println("hello");
}
}
http://www.thaiall.com/class
แปลโปรแกรม และประมวลผล
c:\j2sdk1.4.2_03\bin>javac x.java
c:\j2sdk1.4.2_03\bin>java x
hello
c:\j2sdk1.4.2_03\bin>
http://www.thaiall.com/class
่ นไดตาม
คาทีข
่ ด
ี เส้นใต้ เปลีย
้
class xxx {
ต
องการ
้ main(String args[]){
public static void
System.out.println("hello");
}
}
class aaa {
void bbb(String[] ccc){
System.out.println("ddd");
System.out.println(eee("ddd"));
}
int eee(String fff){
return ("xxx");
}
}
http://www.thaiall.com/class
Java Applet
//<applet code=x.class width=200 height=200></applet>
//DOS>appletviewer x.java
import java.awt.Graphics;
public class x extends
java.applet.applet {
public void paint(Graphics g) {
g.drawString("test",10,20);
}
}
http://www.thaiall.com/class
Java Application
// javac y.java
// java y
import java.lang.*;
import java.awt.*;
import java.awt.event.*;
public class y implements ActionListener{
Frame fs = new Frame("header");
Button bexit = new Button("exit");
public static void main(String args[]) {
y s = new y();
s.init();
}
public void init() {
fs.setSize(200,100);
fs.setLayout(null);
bexit.setBounds(10,50,50,20);
fs.add(bexit);
bexit.addActionListener(this);
fs.show();
}
public void actionPerformed(ActionEvent a) {
System.exit(0);
}
}
http://www.thaiall.com/class
Certified Topics
Product ID CX-310-035
Price
$200.00
The Sun Certified
Programmer for Java 2 Platform
1.4 certification exam is for
programmers experienced in
using the basic syntax and
structure of the Java
programming language.
http://www.thaiall.com/class
Certified Topics
Topics
1. Declaration ..
2. Flow Control
3. Garbage Collection
4. Language Fundamentals
5. Operators & Assignments
6. Overloading, Overriding
7. Threads
8. java.lang...
9. Collections Framework
http://www.thaiall.com/class
Certified Topics
Section 1: Declarations and Access Control
•Write code that declares, constructs and initializes arrays of any base type
using any of the permitted forms both for declaration and for initialization.
•Declare classes, nested classes, methods, instance variables, static variables
and automatic (method local) variables making appropriate use of all permitted
modifiers (such as public, final, static, abstract, etc.). State the significance of
each of these modifiers both singly and in combination and state the effect of
package relationships on declared items qualified by these modifiers.
•For a given class, determine if a default constructor will be created and if so
state the prototype of that constructor.
•Identify legal return types for any method given the declarations of all related
methods in this or parent classes.
http://www.thaiall.com/class
Certified Topics
Section 2: Flow control, Assertions, and Exception Handling
•Write code using if and switch statements and identify legal argument types for
these statements.
•Write code using all forms of loops including labeled and unlabeled, use of
break and continue, and state the values taken by loop counter variables during
and after loop execution.
•Write code that makes proper use of exceptions and exception handling
clauses (try, catch, finally) and declares methods and overriding methods that
throw exceptions.
•Recognize the effect of an exception arising at a specified point in a code
fragment. Note: The exception may be a runtime exception, a checked
exception, or an error (the code may include try, catch, or finally clauses in any
legitimate combination).
•Write code that makes proper use of assertions, and distinguish appropriate
from inappropriate uses of assertions.
•Identify correct statements about the assertion mechanism.
http://www.thaiall.com/class
Certified Topics
Section 3: Garbage Collection
•State the behavior that is guaranteed by the garbage
collection system.
•Write code that explicitly makes objects eligible for
garbage collection.
•Recognize the point in a piece of source code at which
an object becomes eligible for garbage collection.
http://www.thaiall.com/class
Certified Topics
Section 4: Language Fundamentals
•Identify correctly constructed package declarations, import statements, class
declarations (of all forms including inner classes) interface declarations, method
declarations (including the main method that is used to start execution of a
class), variable declarations, and identifiers.
•Identify classes that correctly implement an interface where that interface is
either java.lang.Runnable or a fully specified interface in the question.
•State the correspondence between index values in the argument array passed
to a main method and command line arguments.
•Identify all Java programming language keywords. Note: There will not be any
questions regarding esoteric distinctions between keywords and manifest
constants.
•State the effect of using a variable or array element of any kind when no
explicit assignment has been made to it.
•State the range of all primitive formats, data types and declare literal values for
String and all primitive types using all permitted formats bases and
representations.
http://www.thaiall.com/class
Certified Topics
Section 5: Operators and Assignments
•Determine the result of applying any operator (including
assignment operators and instance of) to operands of any type
class scope or accessibility or any combination of these.
•Determine the result of applying the boolean equals (Object)
method to objects of any combination of the classes
java.lang.String, java.lang.Boolean and java.lang.Object.
•In an expression involving the operators &, |, &&, || and variables
of known values state which operands are evaluated and the
value of the expression.
•Determine the effect upon objects and primitive values of passing
variables into methods and performing assignments or other
modifying operations in that method.
http://www.thaiall.com/class
Certified Topics
Section 6: Overloading, Overriding, Runtime Type and
Object Orientation
•State the benefits of encapsulation in object oriented
design and write code that implements tightly
encapsulated classes and the relationships "is a" and
"has a".
•Write code to invoke overridden or overloaded methods
and parental or overloaded constructors; and describe
the effect of invoking these methods.
•Write code to construct instances of any concrete class
including normal top level classes and nested classes.
http://www.thaiall.com/class
Certified Topics
Section 7: Threads
•Write code to define, instantiate and start new threads
using both java.lang.Thread and java.lang.Runnable.
•Recognize conditions that might prevent a thread from
executing.
•Write code using synchronized wait, notify and notifyAll
to protect against concurrent access problems and to
communicate between threads.
•Define the interaction among threads and object locks
when executing synchronized wait, notify or notifyAll.
http://www.thaiall.com/class
Certified Topics
Section 8: Fundamental Classes in the java.lang Package
•Write code using the following methods of the java.lang.Math
class: abs, ceil, floor, max, min, random, round, sin, cos, tan, sqrt.
•Describe the significance of the immutability of String objects.
•Describe the significance of wrapper classes, including making
appropriate selections in the wrapper classes to suit specified
behavior requirements, stating the result of executing a fragment
of code that includes an instance of one of the wrapper classes,
and writing code using the following methods of the wrapper
classes (e.g., Integer, Double, etc.): doubleValue o floatValue o
intValue o longValue o parseXxx o getXxx o toString o toHexString
http://www.thaiall.com/class
Certified Topics
Section 9: The Collections Framework
•Make appropriate selection of collection
classes/interfaces to suit specified behavior
requirements.
•Distinguish between correct and incorrect
implementations of hashcode methods.
http://www.thaiall.com/class