Introduction to Java Chapter 1.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Array ธนวัฒน์ แซ่ เอียบ. The concept of array อาเรย์ : กลุ่มของข้อมูลที่มีชนิดเดียวกันและถูก จัดเก็บเรียงลำดับต่อเนื่องกัน ตัวแปร x สามารถจัดเก็บค่ามากกว่า.
Advertisements

ซอฟแวร์ SOFTWARE น า ง ส า ว ฐ ิ ติ ม า น า ม ว ง ศ์ เ ล ข ที่ 4 3 ชั้ น ม. 4 / 7.
แบบจำลองฐานข้อมูล คือ เครื่องมือในเชิงแนวคิดที่ใช้ในการอธิบาย ข้อมูล
การจัดการองค์ความรู้ ( KM )
Chapter 10 Arrays Dept of Computer Engineering Khon Kaen University.
ชนิดของข้อมูล และการคำนวณทางคณิตศาสตร์
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
การรักษาความปลอดภัยข้อมูลขั้นพื้นฐาน
ARRAY & PRINTF สาขางานคอมพิวเตอร์ธุรกิจอาจารย์จิรา ภรณ์ เขตกุฎี
การพัฒนาผลสัมฤทธิ์ทางการเรียน วิชาการใช้โปรแกรมนำเสนอข้อมูล เรื่องการเชื่อมโยง ภาพนิ่ง ด้วยโปรแกรม Powerpoint2007 โดยใช้ สื่อคอมพิวเตอร์ช่วยสอน CAI ของนักเรียนระดับชั้น.
การจัดเก็บข้อมูลในแฟ้มข้อมูลธรรมดา นั้น อาจจำเป็นที่ใช้แต่ละคน จะต้องมีแฟ้มข้อมูลของตนไว้เป็นส่วนตัว จึง อาจเป็นเหตุให้มีการเก็บข้อมูล ชนิดเดียวกันไว้หลาย.
Adaptive Software Development. วงจรชีวิตของการพัฒนาซอฟแวร์ หรือ Software Development Life Cycle (SDLC) เป็นโครง ร่างหรือแนวทางวิธีการ เพื่อใช้ทำความเข้าใจและเพื่อ.
การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน เรื่อง หลักการทำงานของคอมพิวเตอร์ วิชาคอมพิวเตอร์พื้นฐาน สำหรับนักเรียนชั้นมัธยมศึกษาปีที่ 1 โรงเรียนเฉลิมราชประชาอุทิศ.
MTH 261 File Management. File Management File Management จะอธิบายเกี่ยวกับการเขียน ส่วนจัดการแฟ้มข้อมูล เราสามารถที่จะเขียน โปรแกรมเพื่อเรียกใช้แฟ้มข้อมูลที่เรามี
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
ตอนที่ 2 โครงสร้างภาษา C Arduino เบื้องต้น
คำสั่งควบคุมการทำงาน
Project Management by Gantt Chart & PERT Diagram
ง21101 การงานอาชีพและเทคโนโลยี ม. 1 เจตคติต่อการประกอบอาชีพ
ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts.
ระบบมาตรฐานการพัฒนาชุมชน ผอ.กลุ่มงานมาตรฐานการพัฒนาชุมชน
การสร้างแผนปฏิบัติการระดับตำบลหรือท้องถิ่น
“วิธีการใช้งาน PG Program New Version สำหรับ PGD”
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
IP-Addressing and Subneting
Introduction to VB2010 EXPRESS
IP-Addressing and Subneting
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
STACK สแตก(stack) เป็นโครงสร้างข้อมูลแบบเชิงเส้น ที่มีการใส่ข้อมูลเข้า และนำข้อมูลออกเพียงด้านเดียว ดังนั้น ข้อมูลที่เข้าไปอยู่ใน stack ก่อนจะออกจาก stack.
โครงสร้างภาษา C Arduino
Basic Input Output System
เซต (SET) ประวัติย่อของวิชาเซต ความหมายของเซต การเขียนแทนเซต
One Point Lesson (OPL).....บทเรียนประเด็นเดียว
The Collections Framework
บัตรยิ้ม สร้างเสริมกำลังใจ
เริ่มทำแบบทดสอบ แบบทดสอบก่อนเรียน หนังสืออิเล็กทรอนิกส์
เริ่มทำแบบทดสอบ แบบทดสอบก่อนเรียน หนังสืออิเล็กทรอนิกส์
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
Object-Oriented Programming Paradigm
กำหนดกรอบระยะเวลาการขึ้นทะเบียนปี2556/57 1. ข้าว
พฤติกรรม (Behavior) สิ่งเร้า ภายนอก ภายใน
กลุ่มเกษตรกร.
การบริหารโครงการซอฟต์แวร์
Object-Oriented Programming การเขียนโปรแกรมเชิงอ็อบเจ็กต์
คุณสมบัติเชิงวัตถุ Chapter 6 Edit
Java Translation Object and Class ในมุมมองคอมพิวเตอร์ Objects หรือ Instances หมายถึงวัตถุที่กำเนิดตัวตนจริงๆจากต้นแบบที่กำหนดโดยคลาส Object.
บทที่ 9 การใช้โปรแกรมสำเร็จรูป ในการสร้างโลกเสมือนเพื่อการเรียนรู้ “Opensimulator” อาจารย์เทพยพงษ์ เศษคึมบง สาขาวิชาเทคโนโลยีและนวัตกรรมการศึกษา.
Method and Encapsulation
บริษัท พัฒนาวิชาการ (2535) จำกัด
การเขียนภาษาจาวาเบื้องต้น
SMS News Distribute Service
ผู้ช่วยศาสตราจารย์จุฑาวุฒิ จันทรมาลี
วัฏจักรหิน วัฏจักรหิน : วัดวาอาราม หินงามบ้านเรา
หน่วยการเรียนรู้ การเขียนโปรแกรมภาษาขั้นพื้นฐาน เรื่อง โครงสร้างพื้นฐาน HTML 5 รหัส รายวิชา ง23102 การงานอาชีพและเทคโนโลยี 6 กลุ่มสาระ การงานอาชีพและเทคโนโลยี
หน่วยที่ 6 อะเรย์ของอักขระ
บทที่ 7 การประมวลผลอาร์เรย์
Chapter 10 Exception Handling
บทที่ 2 โครงสร้างข้อมูลแบบแถวลำดับหรืออาร์เรย์ (Array)
Computer Game Programming
Chapter 3 : Array.
Array: One Dimension Programming I 9.
การเขียนโปรแกรมคอมพิวเตอร์ แบบภาษาเชิงวัตถุ
ฟังก์ชันของโปรแกรม Computer Game Programming
บทที่ 4 การจำลองข้อมูลและกระบวนการ (Data and Process Modeling)
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบทางเลือก
ทายสิอะไรเอ่ย ? กลม เขียวเปรี้ยว เฉลย ทายสิอะไรเอ่ย ? ขาว มันจืด เฉลย.
Class Diagram.
กระดาษทำการ (หลักการและภาคปฏิบัติ)
การใช้ระบบสารสนเทศในการวิเคราะห์ข่าว
ใบสำเนางานนำเสนอ:

Introduction to Java Chapter 1

History of Java Java is an object-oriented programming language created in 1995 by James Gosling, which means that it represents concepts as "objects" with "fields" (which are attributes that describe the object) and "methods" (actions that the object can make). Java is a "write once, run anywhere" language, which means that it is designed to run on any platform that has a Java Virtual Machine (JVM).

Cross platform ( platform independence)

Component of Java platform Java application programming interfaces (APIs) Java APIs เป็นไลบรารีสำเร็จรูปสามารถเรียกใช้ในโปรแกรมได้ จะ มาพร้อมกับ JDK Java virtual machine (JVM) แทนที่โปรแกรมที่คอมไพล์ได้(คลาส)จะรันที่ระบบปฏิบัติการ โดยตรง แต่จะถูกแปลโดย JVM อีกทอดหนึ่งให้เป็นคำสั่งที่ ระบบปฏิบัติการนั้นเข้าใจ

JDK and JRE JDK is a superset of JRE, and contains everything that is in JRE, plus tools such as the compilers and debuggers necessary for developing applets and applications. JRE provides the libraries, the Java Virtual Machine (JVM), and other components to run applets and applications written in the Java programming language.

JDK

Write java using Netbeans Follow : https://netbeans.org/kb/docs/java/quickstart.html

Enabling Java Web Start in the NetBeans IDE สำหรับส่งการบ้าน https://netbeans.org/kb/73/java/javase- jws.html

คำถามท้ายบท จงอธิบายที่ทำให้จาวาสามารถทำงานข้ามแพล็ตฟอร์ม (cross platform) ได้ จงบอกข้อแตกต่างระหว่าง JVM JDK JRE จงบอกขั้นตอนการพัฒนาโปรแกรมจาวาบนวินโดวส์ ให้นิสิตทุกคนไป set ให้จาวาโปรแกรมของตนเองรันผ่าน Java web start ได้เพื่อการส่งการบ้าน

ความหมายของวัตถุ (object) การเขียนโปรแกรมเชิงวัตถุเป็นรูปแบบการเขียนโปรแกรมที่พยายามมองการเขียนโปรแกรม เรียนแบบโลกความเป็นจริง โดยข้อเท็จจริงที่ว่าระบบหรืองานต่าง ๆ ในโลกนี้เกิดจากการ ทำงานร่วมกัน (interaction)ของวัตถุต่าง ๆ วัตถุในโลกที่นี้จะหมายถึงสิ่งต่าง ๆ ที่มีอยู่จริง เช่น รถ เก้าอี้ คน หรืออาจเป็นวัตถุใน แนวคิด เช่น การชำระหนี้ การเสียภาษี ฯลฯ และวัตถุต่าง ๆ นั้นจะมีเพียงชิ้นเดียวเท่านั้น ไม่เคยมีวัตถุที่มีลักษณะเหมือนกันทุกอย่างบนโลก

สิ่งที่ทำให้วัตถุต่าง ๆ ไม่เหมือนกัน คือคุณสมบัติ (properties /attributes) ต่าง ๆของวัตถุ สิ่งที่ทำให้วัตถุสามารถมีปฏิกิริยาตอบสนองกับวัตถุอื่นได้คือพฤติกรรม (behaviors/methods) ดังนั้นสิ่งที่เราควรกำหนดเป็นพื้นฐานให้กับวัตถุ(objects)ที่สนใจ ต้อง ประกอบด้วย properties และ behavior เพื่อการเขียนโปรแกรม เชิงวัตถุ

รายละเอียดออบเจ็กต์ properties behaviors

โลกเป็นจริงกับการเขียนโปรแกรมจาวา Computer system Real world object1 object1 object2 object2 object2 Class object2 object3 object3 object4 object4

ต.ย การแปลงออบเจ็กต์จากโลกเป็นจริงเป็นออบเจ็กต์ในโปรแกรมจาวา Computer system Real world Class Person{ string id; string name; study() {…} play(){…} drink(){…} } Person: id name study() play() drink() p1.study(); p1.play(); p1.drink();

แนวคิดการเขียนโปรแกรมเชิงวัตถุ การเขียนโปรแกรมเชิงวัตถุ (ไม่ว่าจะใช้ภาษาใด) จะประกอบด้วยกลไก ต่อไปนี้ การห่อหุ้ม (encapsulation) หมายถึงการปกปิดรายละเอียดต่าง ๆ ภายในตัวออบเจ็กต์ ไม่ให้ออบเจ็กต์อื่นรู้รายละเอียด แต่จะสามารถรู้ ข้อมูลของออบเจ็กต์นั้นได้ผ่านช่องทางที่เรียกว่าอินเตอร์เฟส (interface) ซึ่งสร้างเป็นเมธอด (method) กลไกนี้ช่วย สนับสนุนความปลอดภัยในการแก้ไข หรืออ่านข้อมูล จากภายนอก ออบเจ็กต์นั้น ซึ่งในทางโปรแกรมทำโดยการประกาศให้ attributes ต่าง ๆ มีการเข้าถึงแบบ private

การแปลงตัวหลายร่าง(polymorphism) หมายถึงการสั่งงานให้ ออบเจ็กต์ใด ๆ ด้วยรูปแบบคำสั่งเดียวแต่ออบเจ็กต์สามารถทำงานได้หลาย บทบาท เช่น การหมุนพวงมาลัยรถ เราเพียงแต่หมุนพวงมาลัยเท่านั้น แต่ พวงมาลัย อาจใช้วิธีไม่เหมือนกันในการบังคับรถ เช่น แบบpower แบบ rack and pinion หรือแบบธรรมดาmanual การแปลงหลาย ร่างมีประโยชน์ทำให้เขียนเมธอดที่กระชับ การสืบทอดคุณสมบัติ (Inheritance) หมายถึงความสามารถของ คลาสใด ๆ ที่สามารถรับการถ่ายทอดคุณสมบัติ (attributes) และ พฤติกรรม (method) จากคลาสอื่น เราเรียก คลาสที่ถ่ายทอดว่า parent class / base class คลาสที่รับถ่ายทอดว่า child class / extend class กลไกนี้สนับสนุนทำให้คลาสสามารถนำ กลับมาใช้ใหม่ (reuse) ประหยัดเวลาในการพัฒนาโปรแกรม

ลักษณะของโปรแกรมจาวาเบื้องต้น การเขียนโปรแกรมด้วยจาวา จะต้องเขียนคำสั่งอยู่ภายในโครงสร้างที่ เรียกว่าคลาส (class) ทั้งหมดเท่านั้น โดยคลาสที่เขียนขึ้นจะเป็น พิมพ์เขียวในการสร้างออบเจ็กต์ในหน่วยความจำ โปรแกรมหนึ่ง ๆ อาจสร้างขึ้นโดยมีคลาสมากกว่า 1 คลาสขึ้นไป แต่ จะต้องมีคลาสหนึ่งคลาสที่มีเมธอด main(){…} เพื่อทำหน้าที่ เป็นจุดเริ่มต้นการทำงานของโปรแกรม

Comment สามารถเขียนใน /*...........*/ หรือ // /* This is a simple Java program. Call this file Example.java. */ class Hello { // A Java program begins with a call to main(). public static void main(String args[]) { System.out.println(“Hello world"); } } Comment สามารถเขียนใน /*...........*/ หรือ // class Hello การเขียนคลาสต้องขึ้นต้นด้วย class แล้วตามด้วย ชื่อ ในที่นี้คือ Hello {….} หมายถึงชุดปีกกาที่แสดงถึงพื้นที่เริ่มต้นและสิ้นสุดการเขียน รายละเอียดของคลาส

public static void main (String args[]) {…} หมายถึง เมธอด main โดยเมธอดนี้จะมี parameter ชื่อ args ซึ่งเป็นตัวแปรแบบ อาร์เรย์ มีชนิดเป็น string เราสามารถส่งค่า parameter ให้กับ main method นี้ได้, public เป็นคำสงวนที่ใช้ประกาศว่าเมธอด main นี้ สามารถเรียกทำงานได้จากภายนอกคลาสนี้ ซึ่งจะต้องกำหนดเป็น public เท่านั้น สำหรับ main method System.out.println("Hello world"); เป็นคำสั่งที่เขียนไว้ใน main method เพื่อเขียนคำว่า Hello world ออกจอภาพแล้วขึ้น บรรทัดใหม่ โดยเรียกใช้เมธอด println() จากออบเจ็กต์ out ในคลาส System คำสั่งจาวาจะต้องจบด้วย ; (semi-colon)เสมอ

รูปแบบโครงสร้างคลาส class class_name { } process ส่วนประกาศตัวแปรเพื่อแทนคุณสมบัติ(attributes) process ส่วนประกาศตัวเมธอดเพื่อแทนพฤติกรรม (behaviors)

การตั้งชื่อคลาส ตัวแปร เมธอด ภาษาจาวาถืออักษรตัวใหญ่และเล็กต่างกัน (case sensitive) การตั้งชื่อคลาสมักใช้คำนามโดยให้อักษรตัวแรกของแต่ละคำเป็นตัวใหญ่ นอกนั้นเล็กหมด ซึ่งเรียกการตั้งแบบนี้ว่า camel notation เช่น BlackBox , InformationStudent, Dog, BoogieDog การตั้งชื่อตัวแปรให้ใช้อักษรตัวเล็กหมด เช่น int money, String name, double dolloar การตั้งชื่อเมธอดให้อักษรตัวแรกของคำแรกเป็นตัวเล็ก นอกนั้นอักษรตัวแรกเป็นตัวใหญ่ และมักใช้คำกริยา เช่น getGrade(), sendData(), calculate()

การตั้งชื่อ source file ปกติเราสร้างคลาสหนึ่งคลาสในหนึ่งไฟล์ ซึ่งเราจะต้องตั้งชื่อไฟล์ให้ตรงกับชื่อคลาสที่บรรจุ ในไฟล์นั้น เวลาคอมไพล์ก็ทำการคอมไพล์แต่ละไฟล์ ซึ่งจะให้ผลลัพธ์เป็นคลาสไฟล์ ที่มีชื่อ เหมือนเดิมแต่นามสกุล . class เราสามารถเขียนคลาสมากกว่า 1 คลาสภายในไฟล์เดียวกันได้ โดยจะต้องตั้งชื่อไฟล์ให้ตรง กับคลาสที่มี method main ลงท้ายด้วย .java เมื่อทำการคอมไพล์ จะได้ไฟล์ output ที่เป็น .class ออกมาเท่ากับ จำนวนคลาสที่มีใน source file

Source file : Example.java class Example { public static void main(String args[]) { System.out.println(“My name id Ladda"); } class Greeting { Public void bark( ) { System.out.println(“Season Greeting"); Example.class compiled Greeting.class

ตัวอย่าง program แบบง่าย -1

Run  build project / clean build project

ตัวอย่าง program แบบง่าย -2

ความหมายของชุดวงเล็บปีกกา {…} หรือ block block หมายถึงการสิ้นสุด หรืออาณาเขต ของชุดคำสั่ง แล้วแต่ว่าจะถูกนำไปใช้ที่ใด เช่น ถ้าตามหลังชื่อคลาสจะหมายถึงขอบเขตของ คลาส แต่ถ้าใช้หลังเมธอดหมายถึงขอบเขตเมธ อด แต่ถ้าใช้ในโครงสร้าง if หรือที่อื่นจะ หมายถึงกลุ่มของคำสั่งที่ต้องทำงานในคราว เดียวกัน

แต่ที่สำคัญคือblock จะเป็นตัวกำหนดขอบเขตการมองเห็นตัวแปรภายใน block โดยมีหลักการคือถ้าการทำงานพ้นจาก blockใด ๆ แล้ว ก็จะไม่สามารถอ้างหรือทำงานกับตัวแปรภายในblock ที่พ้นการทำงานมาแล้ว เช่น { int a = 10 ; System.out.println(a); // a = 10 int a = 20; System.out.println(a); // a = 20 }

การจัดกลุ่มคลาสด้วยคำสั่ง package คำสั่ง package ต้องเขียนเป็นบรรทัดแรกเสมอ มีไว้เพื่อสนับสนุนการจัดกลุ่ม คลาสที่ทำงานคล้ายกันไว้เป็นกลุ่มเดียวกัน โดยในhard disk จะมีการสร้าง folder ที่ชื่อเดียวกับ package ดังนั้นเราสามารถสร้างชื่อคลาสที่เหมือนกัน แต่อยู่คนละ package ได้

การใช้คำสั่ง import เป็นคำสั่งที่ใช้บอก package ที่บรรจุคลาสนั้น เพื่อหลีกเลี่ยงความกำกวมในการเรียกใช้งานคลาสที่อาจมีชื่อซ้ำกันในระบบเกิดขึ้น เรามักใช้คำสั่ง import เสมอเมื่อมีการเรียกใช้งานคลาส ยกเว้นการเรียกใช้คลาส System ซึ่งไม่จำเป็นต้องระบุ ระบบจะ ทราบเอง

การรับค่าจากคีย์บอร์ดด้วยคลาส Scanner ได้ทั้งตัวเลขและตัวอักษร ดังโปรแกรมตัวอย่างมีการรับค่าชื่อของผู้ซื้อเป็นตัวอักษร และจำนวนที่ซื้อเป็นตัวเลข ต้องมีการใช้คำสั่ง import java.util.Scanner; เพื่อระบุ package ที่อยู่ของคลาส Scanner เมื่อต้องการใช้คลาส Scanner ต้องสร้างออบเจ็กต์ก่อน ในที่นี้คือ scan คลาส Scanner มี method nextInt() สำหรับรับค่าตัวเลข Next() สำหรับรับค่าตัวอักษร

Lab-1 ให้นิสิตเปิด netbeans แล้วสร้างคลาสชื่อ Hello เขียนคำสั่งดังนี้ class Sample{ public static void main(String args[]) { System.out.println("Hello …"); } เกิดอะไรขึ้น ต้องแก้ไขอย่างไรให้ถูกต้อง........................................... 2. เมื่อแก้ถูกแล้ว Run program แล้วตรวจดูว่ามีไฟล์ .class กี่ไฟล์ 3. ถ้าตัดคำว่า static ออก เกิดอะไรขึ้น ? 4. แก้ System.out.println("Hello…"); เป็น System.out.println("Hello…" + args[0]); 5. Click ขวาที่ชื่อ project เลือก properties จะได้รูป

6. ไปที่ run แล้วใส่ชื่อของแต่ละคนที่ช่อง arguments: 7 6. ไปที่ run แล้วใส่ชื่อของแต่ละคนที่ช่อง arguments: 7. กด run ให้บันทึกผลลัพธ์ 8. ท่านคิดว่าจะเพิ่มนามสกุลท่านให้ program จะทำอย่างไร

11. ไปที่ tab file  folder dist 9. เพิ่มคำสั่งต่อท้ายคลาส Hello ดังนี้ class Hello { public static void main(String args[]) { System.out.println("Hello …"); } Class Dog { 10. Run  clean build 11. ไปที่ tab file  folder dist 12. มี class file ที่เกิดขึ้นชื่ออะไรบ้าง

แบบฝึกหัด ให้สร้างคลาสชื่อ Profile เพื่อรับค่าประวัติส่วนตัว ได้แก่ name lastname sex พร้อม แสดงทางจอภาพ ดังรูป