ขั้นตอนการเขียนจาวา
ขั้นตอนการเขียนจาวา
  1. ดาวน์โหลด Java SE Development Kit 14 . โดยเริ่มต้นจากคลิ๊ก 1) View accounts ที่มุมบนขวา 2) เลือก Create an account 3) ระบบจะส่งอีเมลให้ 1 ฉบับเพื่อยืนยันอีเมล เรื่อง Your Oracle account ให้คลิ๊ก Request a new verification email 4) ระบบจะส่งอีเมลให้เป็นฉบับที่ 2 เพื่อ Verify Your Oracle Account Email Address ให้คลิ๊ก Verify Email Address 5) กลับเข้าลิงข์ดาวน์โหลด JDK รุ่น 14 (Java Development Kit for Developer) เลือก jdk-14.0.1_windows-x64_bin.exe ขนาด 162 MB
  2. หลังติดตั้งแล้วจะมี folder ชื่อ jdk-14.0.1 ใน C:\Program Files\Java เข้าไปจะพบห้อง bin ที่เก็บ compiler ตัวหลักที่ต้องใช้ คือ javac.exe และ java.exe
  3. ให้เปลี่ยน properties ของ bin เลือก Security, Edit, User (..) แล้วคลิ๊ป checkbox : Allow ให้กับ Full control แล้วคลิ๊ก Apply
  4. เพิ่ม path คือ C:\Program Files\Java\jdk-14.0.1\bin โดยเข้า DOS แล้วพิมพ์ sysdm.cpl เลือก Advanced, Environment Variables, เลือก Edit , New เพิ่มอีก 1 รายการ
  5. ทดสอบว่าเพิ่ม path สำเร็จหรือไม่ด้วยการพิมพ์ DOS> javac -version
  6. เขียนโปรแกรมแรก echo class x1{public static void main(String args[]){System.out.println(5);}}> x1.java จะได้แฟ้มขนาด 74 bytes
  7. DOS> javac x1.java
  8. DOS> java x ผลลัพธ์คือเลข 5

Android
ตัวแปลภาษาจาวา มีหลายตัวให้เลือกใช้
Java Platform, Standard Edition [oracle.com/java]

มีตัวแปลภาษา ที่หลายบริษัทสร้างขึ้น แต่สุดท้ายเหลือเพียง Java ที่ได้รับความนิยมที่สุด ซึ่งเคยเป็นของ Sun แต่ถูกซื้อโดยบริษัท Oracle ประมาณ 7.4 พันล้านดอลลาร์ 20 เมษายน 2552 ซึ่งภาษาจาวาของ Sun สามารถใช้งานได้ใน Text mode นำไปใช้ใน Linux ได้โดยง่าย และเป็นที่นิยม สามารถเขียนและแปลในระบบปฏิบัติการต่าง ๆ แล้วนำไปใช้ได้ในทุกระบบปฏิบัติการที่มี JRE (Java Runtime Environment) โปรแกรมนี้ไม่มี IDE ในตัว เลือกใช้ Editor ใดก็ได้ แต่ถ้าเป็น Android studio จะมีมาครบชุด ทั้ง Editor และ Simulator

ชุดโปรแกรมพัฒนาภาษา Javaบริษัท
JDK (Java Developer Kit)Sun / Oracle
Visual cafeSymantec
JBuilder Borland
JDeveloperOracle
Visual age for javaIBM
Visual J++Microsoft
สร้าง short cut เตรียมสภาพแวดล้อมเพื่อแปลโปรแกรม doskey path=%path%;c:\j2sdk1.4.0_03\bin
# สร้าง Shortcut ไว้บน Desktop เพื่อให้เรียกใช้พื้นที่พัฒนาโปรแกรมได้ง่าย
1. Right click บน Desktop จะมี pop-up menu ขึ้นมา
2. เลือก New, Shortcut
3. พิมพ์ c:\windows\system32\cmd.exe ในช่องว่าง หรือ Browse เลือกหาก็ได้
4. เมื่อกดปุ่ม Next จะแสดงคำว่า MS-DOS Prompt ให้เปลี่ยนเป็นคำว่า java จะได้จำง่ายแล้ว กดปุ่ม Finish
5. ให้ใช้ Mouse วางเหนือ Icon แล้วกดปุ่ม Right click แล้วเลือก Properties จะปรากฏภาพดังด้านล่าง ให้แก้ Start in จาก c:\windows\system32 เป็น C:\Program Files\Java\jdk-14.0.1\bin หรือ c:\thaiall.com\class หรือห้องอื่นได้
# หน้าที่ของ Shortcut ชื่อ java ที่เรียก cmd.exe

หน้าที่ของ Shortcut คือ การเข้าสู่ DOS ทำให้นักพัฒนาสามารถเขียนโปรแกรมภาษา JAVA ได้ง่าย แบบไม่ต้องใช้โปรแกรมเสริมเข้าช่วย แต่ใช้โปรแกรมของ Windows ที่เตรียมมาให้เท่านั้น ส่วนนี้ต้องทำหลังจาก install ตัวแปลภาษา JDK เรียบร้อยแล้ว ทุกครั้งที่จะเขียนโปรแกรมให้เรียก Shortcut นี้ จะเข้าไปในห้องชื่อ c:\thaiall.com\class ซึ่งกำหนดเป็น start in สำหรับห้องนี้เป็นห้องที่ถูกกำหนดเพื่อจัดเก็บ .java .class หรือ .htm ทั้งหมด ที่เตรียมสำหรับการพัฒนาโปรแกรมภาษา java ซึ่งท่านสามารถเปลี่ยนที่อยู่ห้องไปที่ใดก็ได้ แต่การทำงานกับห้องที่ไม่ใช่ห้อง bin ต้องมีการ set path โดยตั้งค่าใน Environment Variables ผ่านคำสั่ง sysdm.cpl หรือเข้า settings , system ก็จะตั้งเพียงครั้งเดียว และใช้ได้เมื่อเปิดเครื่อง แต่การสั่ง path=%path%;c:\yourfolder ใน DOS ผ่าน batch file หรือ command line จะใช้ได้เฉพาะในหน้าต่าง DOS ที่กำหนดเท่านั้น

# Code ในแฟ้ม setclass.bat (version ของ java ให้เปลี่ยนตามรุ่นที่ท่านมี)
c:\thaiall.com\class> edit setclass.bat
การเขียนโปรแกรมด้วย editor เช่น edit หรือ notepad

หลักจากเรียก Shortcut ชื่อ java จะเข้าสู่ DOS mode ให้เรียกโปรแกรมชื่อ edit หรือ notepad ซึ่งเป็นโปรแกรมบน DOS แล้วตามด้วยชื่อโปรแกรมพร้อมนามสกุลดังตัวอย่าง จากนั้นก็พิมพ์ตัวอย่างโปรแกรมตามด้านล่างนี้เลย ตัวพิมพ์ใหญ่ พิมพ์เล็กต้องเหมือนผมนะครับ และ encoding สำหรับ source code ควรเป็น ANSI ไม่ใช่ UTF-8 หรือ Unicode เพราะจะทำให้ compile ไม่ผ่าน

เมื่อพิมพ์รหัสต้นฉบับเสร็จแล้ว ให้จัดเก็บใน edit ด้วยการกด Alt+F+S เพื่อจัดเก็บ แล้วออกจากโปรแกรมด้วย Alt+F+X แต่โดยปกติผมจะกดปุ่ม Alt+F+X แล้วโปรแกรมจะถามว่าจัดเก็บหรือไม่ ก็จะตอบว่า Yes ไม่ต้องเรียกเมนู 2 รอบ จากนั้นก็จะออกมาที่ DOS Prompt

c:\thaiall.com\class> edit prthello.java
class prthello {
  public static void main(String args[]) {
    System.out.println("hello");
  }
}
การแปลโปรแกรมใน DOS mode

การแปลโปรแกรมจะพิมพ์คำสั่งง่าย ๆ ดังตัวอย่างข้างล่าง หากการแปลเสร็จสิ้นจะไม่แสดงผลอะไรบนจอภาพ นอกจากขึ้น DOS prompt บรรทัดใหม่ ข้อย้ำอีกครั้งว่า ถ้าแปลผ่านแล้วจะไม่แสดงข้อความใด ๆ ให้เห็นนอกจากขึ้น DOS prompt บรรทัดใหม่

ตัวอย่างข้างล่างนี้ แสดงข้อพิดพลาดที่ตัวแปลภาษาพบ โดยปกติคำว่า System.out.println("hello"); คำว่า S จะเป็นพิมพ์ใหญ่ หากมีใครเขียน พิมพ์เล็กก็จะแปลโปรแกรมไม่ผ่าน ตัวอย่างข้างล่างแสดงให้เห็นว่าเขียนโปรแกรมมาไม่ถูก จึงแปลไม่ผ่าน และพบข้อผิดพลาด 1 error

c:\thaiall.com\class> javac prthello.java
prthello.java:5: package system does not exist
    system.out.println("hello");
          ^
1 error
การสั่งประมวลผล JAVA application

เมื่อแปลโปรแกรมแล้ว ก็ต้องสั่งประมวลผลโปรแกรมที่ได้มาจากการแปล แฟ้มที่ได้มาจากการแปลคือ prthello.class แต่การสั่งให้โปรแกรมทำงานต้องอาศัยโปรแกรม java.exe เรียก ดังนั้นทุกครั้งที่จะสั่งให้ .class ทำงานต้องเขียนดังข้างล่างนี้ จึงจะเห็นผลลัพธ์ที่ต้องการ

c:\thaiall.com\class>java prthello
hello
การใช้ editplus ช่วยในการเขียน แปล และประมวลผล

โปรแกรม editplus เป็นเพียง editor มิใช่ compiler แต่เป็นโปรแกรมที่ช่วยเรียก compiler มาแปลโปรแกรมที่กำลังเขียนอยู่ พร้อมกับ run โดยเพิ่มเข้าไปในส่วนของ Tools, Configure User Tools ... ทำให้สามารถเรียกโปรแกรมอื่น มาทำงาน โดยแสดงผลในส่วนของ Output windows ว่าผลการ run หรือ compile เป็นอย่างไร โดยเรียก program ด้วยการกดปุ่ม CTRL+1 หรือ CTRL+2 เป็นต้น... มีตัวอย่างการสร้างปุ่มดังภาพด้านล่าง

# ตัวอย่างนี้ใช้ชื่อห้องเก็บ compiler เป็น c:\java แต่ถ้าเป็นของท่านจะเป็น c:\j2sdk.. พร้อมชื่อเวอร์ชั่น นะครับ ถ้าต้องการให้ compile หรือ run ในห้องใดก็ได้ต้องแก้ค่า path โดยเพิ่มห้อง c:\j2sdk\bin เช่น c:\>path = %path%;c:\j2sdk\bin หากต้องการแก้ใน Windows XP ต้องเข้า Control Panel, System, Advanced, Environment Variables และเพิ่มคำว่า ;c:\j2sdk\bin ต่อท้ายค่าเดิมของตัวแปร path

การเรียก applet (JDK<=10 ok, JDK>=11 no)
ตัวอย่างการเรียก Applet ผ่าน DOS mode บน win10
C:\j2sdk1.4.1_01\bin>javac j1101.java -Xlint:deprecation
พบ warning: [deprecation] Applet in java.applet has been deprecated
C:\j2sdk1.4.1_01\bin>appletviewer x.htm (ok สุด)
C:\j2sdk1.4.1_01\bin>appletviewer j1101.java (ไม่ดี)
C:\j2sdk1.4.1_01\bin>explorer x.htm (ไม่ได้แล้ว)
พบ appletviewer ใน jdk-10.0.2\bin แต่รุ่น 14 ไม่พบแล้ว
อ่านเพิ่ม https://en.wikipedia.org/wiki/Java_applet
ตัวอย่าง code ใน x.htm
ถ้าเรียก applet ผ่าน editplus ต้องเพิ่มบรรทัดแรก
//<applet code=j1101.class width=200 height=200></applet>
import java.lang.*;
import java.applet.*;
import java.awt.Graphics;
public class j1101 extends java.applet.Applet {
public void paint(Graphics g) {
g.drawString("test",10,20);
} }

แฟ้มที่เกี่ยวข้อง มีดังนี้
1. j1101.java คือ รหัสต้นฉบับ
2. j1101.class คือ รหัสต้นฉบับ
3. x.htm แฟ้มสำหรับแสดง applet
การเปิดสิทธิ์เข้าถึง Applet บน ietab ตาม url ผ่าน java ใน control panel
โปรแกรมแรกบนมือถือ ด้วย KToolbar และ Jar (Deprecated นานแล้ว) อ่านเพิ่ม https://en.wikipedia.org/wiki/Java_Platform,_Micro_Edition
พบว่า Java ME was formerly known as Java 2 Platform, Micro Edition or J2ME. และ As of 2008, all Java ME platforms are currently restricted to JRE 1.3 features.
โปรแกรมนี้ download burin1.jar ไปใช้กับมือถือได้เลย
โปรแกรม java บนมือถือโ ปรแกรมแรกของผม ทดสอบในคอมพิวเตอร์
   1. ติดตั้ง J2ME ให้ได้หลังติดตั้ง J2SDK แล้ว
   2. เปิด KToolbar
   3. เลือก New project..
   4. กรอก burin1 ในช่อง ProjectName 
   5. กรอก burin1.TextHelloDemo ในช่อง MIDIet Class Name แล้วกดปุ่ม OK
   6. Copy source code ด้านล่างไปไว้ใน notepad
   7. Save โปรแกรมนี้ชื่อ TextHelloDemo.java ไว้ใน C:\WTK21\apps\burin1\src
   8. กดปุ่ม Build
   9. กดปุ่ม Run จะเห็นรูปโทรศัพท์มือถือ และคำว่า burin1 ในโทรศัพท์มือถือ
 ===============
สร้าง jar อ่านจาก C:\WTK21\docs\UserGuide.pdf
 พิมพ์ C:\WTK21\apps\burin1\bin> jar cfm burin1.jar manifest.mf -C ..\classes .
 ลองคำสั่ง dir ก็จะเห็น burin1.jar เพื่อดูขนาดแฟ้ม พบขนาดเป็น 1656 Byte จำเลขนี้ไว้
   10. ใช้ KToolbar open project burin1 ขึ้นมา แล้วเลือก Settings..
   11. เลือก Tab ชื่อ Required แล้ว Click ชื่อ MIDlet-Jar-Size เปลี่ยนขนาด 100 เป็น 1656
   12. กดปุ่ม Build เพื่อสร้างแฟ้ม burin1.jad ใหม่
 ===============
นำ .jar และ .jad เข้ามือถือ
   13. ต่อสาย datalink กับคอมพิวเตอร์ผ่าน com1
   14. เปิด Start, Program, Siemens Data Suite, Mobile
   15. เข้าห้อง Mobile\Java\Jam แล้วสร้างห้องชื่อ burin1
   16. คัดลอก burin1.jad และ burin1.jar จาก C:\WTK21\apps\burin1\bin\ ไว้ห้อง burin1 ในมือถือ
   17. ทดสอบ run โปรแกรมชื่อ burin1 ก็เหมือนกับที่ run ใน KToolbar ครับ
// C:\WTK21\apps\burin1\src\TextHelloDemo.java
package burin1; 
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
public class TextHelloDemo extends MIDlet implements CommandListener {
  private Command exitCommand = new Command("Exit", Command.EXIT, 1);    
  private boolean firstTime;    
  private Form mainForm;    
  public TextHelloDemo() { 
    firstTime = true;
    mainForm = new Form("rujjanapan");
  }    
  protected void startApp() {
    if(firstTime) {
      mainForm.append("This demo display hello" + "and wait your text.");    
      mainForm.append(new TextField("Hello1", "", 5, TextField.NUMERIC));
      mainForm.append(new TextField("Hello2", "", 15, TextField.NUMERIC));			
      mainForm.addCommand(exitCommand);
      mainForm.setCommandListener(this);
      firstTime = false;
    }
    Display.getDisplay(this).setCurrent(mainForm);
  }    
  public void commandAction(Command c, Displayable s) {
	if(c == exitCommand) {
	  destroyApp(false);
	  notifyDestroyed();
	}	
  }    
  protected void destroyApp(boolean unconditional) { }    
  protected void pauseApp() { }
}
ปรับแก้ และ compile โปรแกรมนี้
beautifulcode.java
beautifulcode_no_br.java
ตัวอย่างโปรแกรม beautifulcode.java ถูกปรับให้ผิดทุกบรรทัดยกเว้นบรรทัดแรกที่เป็น comment เป็นความผิดแบบพิมพ์ผิด แต่ไม่ผิด logic ที่ต้องปรับขั้นตอนใหม่ ท่านคิดว่าแต่ละบรรทัดผิดอย่างไร
แนะนำเว็บ (Web Guides)
  1. https://www.infoworld.com/category/java/
  2. http://www.cs101.org/ipij/procedures.html (explain: encapsulation)
  3. http://cs.baylor.edu/~donahoo/practical/JavaSockets2/textcode.html
  4. http://cs.ecs.baylor.edu/~donahoo/