วันอังคารที่ 29 มีนาคม พ.ศ. 2554

การเขียน Flowchart

การเขียน Flowchart เราจะมารู้จัก Flowchart กันก่อน
คือ รูปภาพหรือสัญลักษณ์ ที่ใช้เขียนแทนคำอธิบาย ข้อความ
หรือคำพูดที่ใช้ในอัลกอริทึม เพราะการที่จะเข้าใจขั้นตอนได้ง่ายและตรงกันนั้น  การใช้คำพูดหรือข้อความอาจทำได้ยากกว่าการใช้รูปภาพหรือสัญลักษณ์ ผังงานสามารถแบ่งได้เป็น 2  ประเภทใหญ่ ๆ คือ
1. ผังงานระบบ (System Flowchart)
เป็นผังงานที่แสดงขั้นตอนการทำงานในระบบงานหนึ่ง ๆ ในลักษณะของภาพกว้าง ๆ  แต่จะไม่เจาะลึกลงไปว่าในระบบงานย่อย ๆ นั้นจะมีการทำงานหรือวิธีการทำงานอย่างไร  ผังงานจะแสดงทิศทางการทำงานในระบบ ตั้งแต่เริ่มต้นว่าข้อมูลเกิดขึ้นครั้งแรกที่ใด เก็บอยู่ในรูปแบบใด  และผ่านขึ้นตอนการประมวลผลอย่างไร อะไรบ้าง (แต่จะไม่เน้นถึงวิธีการประมวลผล)  จนสุดท้ายผลลัพธ์ที่ได้เก็บอยู่ในรูปแบบใด
ตัวอย่างเช่น ผังงานระบบบริหารโรงเรียนแห่งหนึ่ง  ข้อมูลทะเบียนประวัติของนักเรียนจะเริ่มขึ้นครั้งแรกเมื่อมีการับสมัครนัก ศึกษาใหม่ จากแผนกรับสมัคร  และถือว่าเป็นข้อมูลพื้นฐานไปยังแผนกต่าง ๆ ในโรงเรียน เช่น แผนกปกครอง แผนกวัดผล หรือแผนกทะเบียน  ซึ่งในส่วนของแผนกทะเบียนอาจจะมีการแก้ไขข้อมูลบางอย่าง เช่น มีการแก้ไขชื่อ ที่อยู่ของนักศึกษา ก็ได้

2. ผังงานโปรแกรม (Program Flowchart)
เป็นผังงานที่แสดงถึงขั้นตอนในการทำงานของโปรแกรมซึ่งจะแสดงการทำงานตั้งแต่ เริ่มต้น  ในส่วนของการรับข้อมูล การคำนวณหรือการประมวลผล  จนถึงการแสดงผลลัพธ์  ผังงานนี้อาจสร้างจากผังงานระบบ  โดยผู้เขียนผังงานอาจดึงเอาแต่ละจุดที่เกี่ยวข้องกับการทำงานของคอมพิวเตอร์ เพื่อนำมาวิเคราะห์ว่า  ถ้าใช้คอมพิวเตอร์ทำงานตรงจุดนั้นเพื่อให้ได้ผลลัพธ์ตามต้องการ ควรจะมีขั้นตอนในการเขียนผังงานอย่างไร  เพื่อให้คอมพิวเตอร์ทำงาน  ซึ่งการเขียนผังงานนี้จะช่วยเพิ่มความสะดวกในการเขียนโปรแกรมของผู้เขียน โปรแกรมได้มาก  เพราะสามารถดูได้ง่ายว่าในแต่ละขั้นตอนการทำงานควรใช้คำสั่งอย่างไร
ประโยชน์ของผังงาน
1. ทำให้เข้าใจและแยกแยะปัญหาต่าง ๆ ได้ง่ายขึ้น
2. ผู้เขียนโปรแกรมมองเห็นลำดับการทำงาน รู้ว่าสิ่งใดควรทำก่อน สิ่งใดควรทำหลัง
3. สามารถหาข้อผิดพลาดของโปรแกรมได้ง่าย
4. ทำให้ผู้อื่นเข้าใจการทำงานได้ง่ายกว่าการดูจาก source code
5. ไม่ขึ้นกับภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง ผู้อื่นสามารถเรียนรู้และเข้าใจได้ง่าย

ภาพสัญลักษณ์
ความหมาย
Flowchart
 กระบวนการ การคำนวณ
alt
 กระบวนการที่นิยามไว้ การทำงานย่อย
alt
 ข้อมูล รับ หรือ แสดงข้อมูลโดยไม่ระบุชนิดของอุปกรณ์
alt
 การตัดสินใจ การเปรียบเทียบ
alt
 การเตรียมการ การกำหนดค่าล่วงหน้า หรือ กำหนดค่าเป็นชุดตัวเลข
alt
 ป้อนข้อมูลด้วยตนเอง การรับข้อมูลเข้าทางแป้นพิมพ์
alt
 ขั้นตอนที่ทำด้วยตนเอง การควบคุมโปรแกรมทางแป้นพิมพ์
alt
 เอกสาร/แสดงผล การแสดงผลทางเครื่องพิมพ์
alt
 เอกสารแสดงผลหลายฉบับ
alt
 จอภาพแสดงผล
alt
 การ์ด หรือบัตรเจาะรู ใช้ใส่ข้อมูล
alt
 เทป (สื่อบันทึกข้อมูล)
alt
 เริ่มต้น/สิ้นสุด การเริ่มต้น หรือการลงท้าย
alt
 จุดเชื่อมต่อในหน้าเดียวกัน
alt
 ตัวเชื่อมต่อไปหน้าอื่น
alt
 จุดร่วมการเชื่อมต่อ
alt
 หรือ
alt
 ตรวจเทียบ
alt
 หน่วงเวลา
alt
 ที่เก็บแบบเข้าถึงโดยเรียงลำดับ
alt
 ดิสก์แม่เหล็ก
Flowchart
 เส้นแสดงลำดับกิจกรรม
ยก ตัวอย่าง การเขียนผังงานอ่านค่าข้อมูลเข้ามาเก็บไว้ในตัวแปร A และ B แล้วทำการเปรียบเทียบในตัวแปรทั้งสอง โดยมีเงื่อนไขดังนี้ * ถ้า A มากกว่า B ให้คำนวณหาค่า A - B และเก็บผลลัพธ์ไว้ในตัวแปรชื่อ RESULT * ถ้า A น้อยกว่าหรือเท่ากับ B ให้คำนวณหาค่า A + B และเก็บผลลัพธ์ไว้ในตัวแปรชื่อ RESULT จะเขียน Flowchart ได้ดังนี้
การเขียน Flowchart alt การเขียน Flowchart การเขียน Flowchart การเขียน Flowchart

ตัวอย่างโปรแกรมจาวา 5โปรแกรม

1.โปรแกรมจำนวนเฉพาะของซี


#include<stdio.h>
#include<conio.h>
void main()
{
int num,i=0;
clrscr();
printf("\nEnter you number : ");
scanf("%d",&num);
{

if(i%num==0)
{
printf("Yes");
}
else
{
printf("No");
}


getch();
}





2.โปรแกรมเพื่อนับจำนวนตัวเลขที่หารด้วย3ลงตัวของกลุ่มตัวเลข 1-20
อ้างถึง


class No5{
   public static void main(String args[]){
      int manny=0;
      String number="";
      for(int i=1;i<=20;i++){
         if((i%3)==0){
            number += i+",";
            manny++;
         }
      }

3.โปรแกรมนี้คือโปรแกรมหาเลขคี่ เลขคู่ จำนวนเฉพาะ และหาค่ามากกว่าหรือน้อยกว่าจากค่าที่รับเข้า



Main.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package boonrit;
import java.io.*;
import java.util.ArrayList;
import boonrit.Menu_Class;
// boonrit.Menu_Class;
/**
*
* @author Sutenm
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException{
// TODO code application logic here
BufferedReader buff=new BufferedReader(new InputStreamReader(System.in));
String keyword,ex;
int num,num1,num2,num3,sum,number;
do{
System.out.print(“Creat Array : “);
keyword = buff.readLine();
int arr_list=Integer.parseInt(keyword);
ArrayList<Integer> myArray = new ArrayList<Integer>(arr_list);
for(int i=0;i < arr_list;i++){
System.out.print(“Input “+i+” : “);
keyword = buff.readLine();
myArray.add(Integer.parseInt(keyword));
}
System.out.println(“===== Menu =====”);
System.out.println(“1. Odd Number”);
System.out.println(“2. Even Number”);
System.out.println(“3. Prime Number”);
System.out.println(“4. Max Number”);
System.out.println(“5. Min Number”);
System.out.print(“Select menu : “);
keyword = buff.readLine();
num=Integer.parseInt(keyword);
switch(num){
case 1: num=1; break;
case 2: num=2; break;
case 3: num=3; break;
case 4: num=4; break;
case 5: num=5; break;
default : num=0;
}
System.out.println();
if(num == 1){
System.out.print(“Odd Number : “);
for(int j=0;j < arr_list;j++){
if(Menu_Class.Odd(myArray.get(j)) == true)
System.out.print(myArray.get(j)+” “);
}
}else if(num == 2){
System.out.print(“Even Number : “);
for(int j=0;j < arr_list;j++){
if(Menu_Class.Even(myArray.get(j)) == true)
System.out.print(myArray.get(j)+” “);
}
}else if(num == 3){
System.out.print(“Even Number : “);
for(int j=0;j < arr_list;j++){
if(Menu_Class.Prime(myArray.get(j)) == true)
System.out.print(myArray.get(j)+” “);
}
}else if(num == 4){
System.out.print(“Max Number : “);
int max = 0;
for(int j=0;j < arr_list;j++){
if(j == 0)
max = myArray.get(j);
else if(max < myArray.get(j))
max = myArray.get(j);
}
System.out.print(max);
}else if(num == 5){
System.out.print(“Max Number : “);
int min = 0;
for(int j=0;j < arr_list;j++){
if(j == 0)
min = myArray.get(j);
else if(min > myArray.get(j))
min = myArray.get(j);
}
System.out.print(min);
}//if num
System.out.println(“”);
System.out.print(“Exit ‘x’ : “);
ex = buff.readLine();
}while(!ex.equalsIgnoreCase(“x”));
}//public
}
Menu_Class.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package boonrit;
/**
*
* @author Sutenm
*/
public class Menu_Class {
/**
* @param args the command line arguments
*/
public static boolean Odd(int value){
int sum=value%2;
if(sum == 1)
return true;
else
return false;
}
public static boolean Even(int value){
int sum=value%2;
if(sum == 0)
return true;
else
return false;
}
public static boolean Prime(int value){
int j=0;
for(int i = 1;i <= value;i++){
if(value%i == 0)
j++;
}
if(j == 2)
return true;
else
return false;
}
}

 4.
โปรแกรมหาผลรวมของเลขตั้งแต่ 1-10 



class No3{
   public static void main(String args[]){
      int sum=0,tmp=0;
      for(int i=1;i<=10;i++){
         tmp = sum;
         sum+=i;
         System.out.println(i+" + "+tmp+" = "+sum);
      }
   }
}
ผลลัพธ์ออกมางี้คับ (แสดงวิธีทำให้เรียบร้อย 555+) ไม่ต้องกังวลกับ ส่วนแสดงวิธีทำนะคับ 1+2+3+4+5+6+7+8+9+10 ยังไงมันก็เท่ากับ 55 อยู่วันยังค่ำแหละคับ
1 + 0 = 1
2 + 1 = 3
3 + 3 = 6
4 + 6 = 10
5 + 10 = 15
6 + 15 = 21
7 + 21 = 28
8 + 28 = 36
9 + 36 = 45
10 + 45 = 55



5.
โปรแกรมตัดเกรด


importjava.util.Scanner; class
{
life public
{
Scanner scan=
static void main(String args[])new Scanner(System.in); System.out.println("Please input your Name : "); Stringname = scan.next(); System.out.println("Please input your learn : "); Stringlearn = scan.next(); System.out.println("Please input your score : "); doubles= scan.nextDouble(); System.out.println("Please input your Name : "+name); System.out.println("Please input your learn : "+learn); System
.out.println("Please input your score : "+s); if
{
(s>100) System
}
.out.println("Error please enter only 1-100"); else
{
if(s>79) System
}
.out.println("Grade A"); else
{
if(s>69) System
}
.out.println("Grade B"); else
{
if(s>59) System
}
.out.println("Grade C"); else
{
if(s>49) System
}
.out.println("Grade D"); else
{
if(s<50) System
}
}
}
.out.println("Grade E");

โปรแกรมคำนวณภาษี

import java.util.*;
import java.io.*;
import org.apache.poi.hssf.usermodel.*;

public class TaxCalc {
  public static void main(String[] args) {
    double income = readDouble(new Scanner(System.in),"เงินได้สุทธิ : ");
    try {
      double[][] taxTable = getTaxTable("c:/java101/tax.xls");
      double tax = calcTax(taxTable, income);
      System.out.println("ภาษี = " + tax);
    } catch (FileNotFoundException e) {
      System.out.println("ไม่พบแฟ้ม: " + e.getMessage());
    } catch (IOException e) {
      System.out.println(e.getMessage());
    }     
  }
  private static double[][] getTaxTable(String excelFile)
                     throws FileNotFoundException, IOException {
    double[][] table = new double[0][0];
    HSSFWorkbook wb = new HSSFWorkbook(
                            new FileInputStream(excelFile));
    HSSFSheet sheet = wb.getSheetAt(0);
    int rows = sheet.getPhysicalNumberOfRows() - 1;
    table = new double[rows][2];
    for (int i = 1; i <= rows; i++) {
      HSSFRow r = sheet.getRow(i);
      HSSFCell cell = r.getCell((short) 0);
      table[i-1][0] = cell.getNumericCellValue();
      cell = r.getCell((short) 1);
      table[i-1][1] = cell.getNumericCellValue();
    }
    return table;
  }   
  public static double calcTax(double[][] taxTable, double income) {
    double tax = 0.0;
    for (int i = 0; i < taxTable.length && income > 0; i++) {
      tax += Math.min(income,taxTable[i][0]) * taxTable[i][1];
      income -= taxTable[i][0];
    }
    return tax;
  }
  // เพิ่ม readDouble ของรหัสที่ 10-1 ที่นี่ 

วันพฤหัสบดีที่ 10 มีนาคม พ.ศ. 2554

โครงสร้างของคลาส

1.โครงสร้างของคลาส

โปรแกรมที่สร้างจากภาษาจาวา ต้องสามารถสร้างออปเจ็คหรือคลาสให้ได้อย่างน้อยหนึ่งตัว โดยมีรูปแบบโครงสร้างดังนี้

                                            class Class_Name
                                            { Data_Member
                                            Mothod_Member
                                            }


class คือคีย์เวิร์ดสำหรับกำหนดคลาส
Class_Name คือชื่อคลาส
Data_Member ดาต้าในคลาส
Method_Member เมธรอดในคลาส
สัญลักษณ์ { } คือของเขตของคลาส


2. กฎการตั้งชื่อ(Identify)

ใช้ตั้งชื่อคลาส ชื่อดาต้า ชื่อเมธรอด และชื่อตัวแปร
ประกอบด้วยตัวอักษร และหรือตัวเลข โดยตัวอักษรให้ใช้ตัวอักษรภาษาอังกฤษไม่ว่าตัวเลขหรือตัวใหญ่ รวมถึงสัญลักษณ์พิเศษ _ หรือ $ เช่น age, name2, int2float, _name, Currency$ เป็นต้น
ความยาวตัวอักษรไม่ควรเกิน 65535 ตัวอักษร
ไม่ควรมีตัวเลขเป็นตัวแรก เช่น 101database, 2name ถือว่าไม่สามารถใช้ตั้งชื่อได้
ตัวอักษรตัวเล็กและตัวใหญ่มีความแตกต่างกัน ดังนั้น Count, count และ CoUnT ทั้งสามตัวอ่านเหมือนกัน แต่ถือว่าเป็นคนละตัวกัน
ต้องไม่ตรงกับคีย์เวิร์ดใดในภาษาจาวาดังต่อไปนี้




abstract  double  int  strictfp **  boolean
else  interface  super  break  extends
long  switch  byte  final  native
synchronized  case  finally  new  this
catch  float  package  throw  char
for  private  throws  class  goto *
protected  transient  const *  if  public
try  continue  implements  return  void
default  import  short  volatile  do
instanceof  static  while


* แสดงคีย์เวิร์ดที่ไม่มีใช้ใน JDK เวอร์ชัน 1.2 ขึ้นไป
** แสดงคีย์เวิร์ดที่เพิ่มเข้ามาตั้งแต่ JDK เวอร์ชัน 1.2 ขึ้นไป


3. ดาต้า(Data Member)

รูปแบบ

                     [Access_Level] [final] [static] Data_Type Data_Name

ดาต้าคือส่วนประกอบส่วนหนึ่งของคลาส ถูกกำหนดเพื่อใช้สำหรับเก็บข้อมูล เช่นคลาส Pen มีดาต้า Color ไว้เก็บข้อมูลสี

1.Access_Level ระดับการเข้าถึง ประกอบด้วยคีย์เวิร์ด 3 ตัวคือ public, private และ protected
2.คีย์เวิร์ด public เป็นระดับการเข้าถึงข้อมูลที่ไม่มีข้อจำกัดใดๆ
3.คีย์เวิร์ด private เป็นระดับการเข้าถึงข้อมูล สำหรับการใช้งานภายในคลาสเท่านั้น
4.คีย์เวิร์ด protected เป็นระดับการเข้าถึงข้อมูลภายในคลาส และสำหรับคลาสที่สืบทอดมา (Inherit) 5.แต่ต้องอยู่ในเพ็กเกจ (package) เดียวกัน
6.ถ้าไม่ระบุคีย์เวิร์ด เป็นระดับการเข้าถึงข้อมูลภายในคลาส และอยู่เพ็กเกจเดียวกัน


final เป็นคีย์เวิร์ดตัวหนึ่งซึ่งใช้บอกว่าดาต้าตัวนั้นใช้สำหรับเก็บข้อมูล โดยที่ข้อมูลจะไม่สามารถทำการเปลี่ยนแปลงได้ไม่ว่าในกรณีใดๆ ปกติจะใส่คีย์เวิร์ดนี้ไว้เมื่อต้องการให้ดาต้าเก็บข้อมูลที่เป็นข้อมูลที่คงที่ (Constant) ตลอดการทำงานของโปรแกรม

static เป็นคีย์เวิร์ด สำหรับใช้บอกถึงคุณลักษณะพิเศษในการใช้งาน เมื่อมีการกำหนดให้ดาต้าใดๆนำหน้าด้วยคีย์เวิร์ด static แล้ว ดาต้าตัวนั้นจะมีคุณลักษณะดังนี้

7.ดาต้า จะถูกโหลดลงในหน่วยความจำและพร้อมที่จะถูกใช้งานในทันทีเมื่อมีการอ้างถึง ตามข้อกำหนดของระดับการเข้าถึง (Access Level)
8.ดาต้า จะอยู่ในหน่วยความจำเพียงตัวเดียว ไม่ว่าคลาสจะถูกสร้างเพื่อเป็นออปเจ็คกี่ตัวก็ตาม ดังนั้นจึงสามารถใช้ดาต้าเป็นที่เก็บข้อมูลรวมของกลุ่มคลาสเดียวกันได


                                          class SimpleClass
                                          {
                                           int data1;
                                           }


4. เมธรอด(Method Member)


รูปแบบ

[Access_Level] [final] [static] Return_Type Method_Name ( Argument_List )
{ Statement }
Argument_List คือช่องทางสำหรับการผ่านข้อมูลเพื่อส่งให้กับเมธรอดใช้ในการทำงาน
Statement คือคำสั่ง คีย์เวิร์ดควบคุมการทำงาน เอ็กเพลสชั่นใดๆ เพื่อกำหนดหลักการและวิธีการประมวลผลภายในเมธรอด
สัญลักษณ์ { และ } เป็นเครื่องหมายบ่งบองขอบเขตของเมธรอด


                                             class SimpleClass
                                             { void method1( )
                                             { }
                                              }

ความเป็นมาของภาษา Java

ความเป็นมาของภาษา Java

         ภาษาใหม่ที่มาแรงที่สุดในปัจจุบัน คงจะไม่มีภาษาไหนที่เทียบได้รับภาษาจาวาซึ่งได้รับการพัฒนาขึ้นโดยบริษัทซันไมโครซิสเตมส์ ในปี 1991 โดยมีเป้าหมายที่จะสร้างผลิตภัณฑ์อิเล็คทรอนิกส์สำหรับผู้บริโภคที่ง่ายต่อการใช้ง่าย มีค่าใช้จ่ายต่ำ ไม่มีข้อผิดพลาด และสามารถใช้กับเครื่องใด ๆ ก็ได้ ซึ่งสิ่งเหล่านี้ก็ได้กลายเป็นข้อดีของจาวาที่เหนื่อกว่าภาษาอื่น ๆ โดยเฉพาะอย่างยิ่ง การที่โปรแกรมซึ่งเขียนขึ้นด้วยจาวาสามารถนำไปใช้กับเครื่องต่าง ๆ โดยไม่ต้องทำการคอมไพล์โปรแกรมใหม่ ทำให้ไม่จำกัดอยู่กับเครื่องหรือโอเอสตัวใดตัวหนึ่ง แม้ว่าการใช้งานจาวาในช่วงแรกจะจำกัดอยู่กับ World Wide Web (WWW) และ Internet แต่ในปัจจุบันได้มีการนำจาวาไปประยุกต์ใช้กับงานด้านซอฟต์แวร์ต่าง ๆ อย่างมากมาย ตั้งแต่ซอฟต์แวร์อรรถประโยชน์ (Utility) ไปจนกระทั่งซอฟต์แวร์ขนาดใหญ่ เช่น โปรแกรมชุดจากบริษัท Corel ซึ่งประกอบด้วยโปรแกรมหลัก ๆ คือ โปรแกรมเวิร์โปรเซสซิ่ง สเปรดซีต พรีเซนเตชั่น ที่เขียนขึ้นด้วยจาวาทั้งหมด

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


                 ผู้คิดต้นแบบ คือ James Gosling และคณะ จากบริษัท Sun Microsystems

 

          วัตถุประสงค์เดิม คือ ของ จาวาคือใช้สำหรับการเขียนโปรแกรมเพื่อฝังตัวในอุปกรณ์อิเล็กทรอนิกส์ผล คือ ภาษาสำหรับเขียนโปรแกรม (Application Programming) ซึ่งเป็นลักษณะของโปรแกรมเชิงวัตถุ (Object Oriented Programming) ซึ่งสามารถใช้งานบนเว็บได้ด้วย



                                       การพัฒนาการในช่วงเวลาต่าง ๆ

ปี 1991 ได้ทำการวิจัยเพื่อพัฒนาซอฟต์แวร์ที่ใช้ควบคุมอุปกรณ์เล็กทรอนิคขนาดเล็ก ซึ่งได้ผลลัพธ์ที่สำคัญคือ ภาษาโอ๊ค (Oak)
ปี 1993 ภาษาโอ๊คได้ถูกปรับปรุงใหม่เพื่อใช้ในการสร้างเว็บแอพพลิเคชั่น (web application) พร้อมกับสร้างเว็บเบราว์เซอร์ (web browser) ที่รองรับ ชื่อว่าเว็บรันเนอร์ (WebRunner)
ปี 1995- บริษัทซันได้เปิดตัวภาษาจาวา (Java) (ภาษาโอ๊คเดิม) พร้อมกับเว็บเบราว์เซอร์ ที่รองรับภาษานี้ ชื่อว่า ฮอตจาวา (HotJava) (WebRunner เดิม)
- ได้รับการสนับสนุนจากบริษัทใหญ่ทั้งเน็ตสเคบ (Netscape), ไมโครซอฟต์ (Microsoft), และ ไอบีเอ็ม (IBM)
- บริษัทซันได้เริ่มแจกจ่าย Java development Kit (JDK) ซึ่งเป็นชุดพัฒนาโปรแกรมภาษาจาวาในอินเตอร์เน็ต