Java (程式語言)
Java係一種可以撰寫跨平台應用軟件嘅物件導向嘅程式語言,由昇陽電腦嘅占士哥斯連響1990年代初開發,本來用響智能家庭電器度,但後尾發展成網絡程式語言。
編程範式 | 多重範型:物件導向(類別基礎)、結構化、指令式、泛型、反射式編程、並發計算 |
---|---|
設計者 | 詹姆斯·高斯林 太陽電腦系統 |
編程員 | 甲骨文公司 (太陽電腦系統) |
第一次出現 | 1995年[1] |
穩定版本 | Java SE 17.0.1 2021年10月19號[2] |
類型系統 | 靜態、安全、強類型、標明類型、弱類型 |
軟件授權 | GNU通用公共許可協議、JCP |
副檔名 | .java、.class、.jar |
網站 | java |
Major implementations | |
OpenJDK、GCJ、其他 | |
Dialects | |
泛型Java、Pizza | |
啟發語言 | |
Ada 83、 Generic Java、 | |
影響語言 | |
Ada 2005、 | |
語言特性
Java之所以被開發,係要達到以下五個目的:
- 應當使用物件導向程式設計方法學
- 應當允許同一程式喺唔同嘅電腦平台執行
- 應當包括內建嘅對電腦網絡嘅支援
- 應當被設計成安全地執行遠端程式碼
- 應當易於使用,並借鑑以前嗰啲物件導向語言(例如C++)嘅長處。
Java技術主要分成幾個部分:Java語言、Java執行環境、類別庫。一般情況下說Java時並唔區分指嘅係邊個部分。
Java喺1.5版本時,做咗重大改變,Sun公司並將1.5版本重新命名為Java 5.0。
例子:出「Hello World」
public class HelloWorld {public static void main(String[] args) { System.out.println("Hello, World!");}}
基本條件例子
public class IF {public static void main(String[] args) {Scanner sc =new Scanner(System.in); int i=sc.nextInt(); if(i>=1) {System.out.println("Hello, World!"); }}}
public class IfElse {public static void main(String[] args) {Scanner sc =new Scanner(System.in); int i=sc.nextInt(); if(i>=1) {System.out.println("Hello, World! \n And i >= 1. "); } else { System.out.println("Hello, World! \n But i < 1."); }}}
public class SwitchCase {public static void main(String[] args) {Scanner sc =new Scanner(System.in); int i=sc.nextInt(); switch(i) {cass 1: System.out.println(" i = 1 "); break; cass 2: System.out.println(" i = 2 "); break; cass 3: System.out.println(" i = 3 "); break; cass 4: System.out.println(" i = 4 "); break; cass 5: System.out.println(" i = 5 "); default: System.out.println(" i >= 5 "); }}}
基本迴圈例子
import java.util.*;import java.text.*; import java.math.*; public class grade {public static void main(String [] argv){int i,j=0;float mx=0,mn=100,av,a,sum=0;System.out.println("逐一輸入班級分數,欲中止請輸入-1"); Scanner sa = new Scanner(System.in); for(i=0;;i++){ a=sa.nextFloat(); if(a==-1)break; sum=sum+a; if(a>=60)j++; if(a>mx)mx=a; if(a<mn)mn=a; } av=sum/i;NumberFormat ddf1=NumberFormat.getNumberInstance() ;ddf1.setMaximumFractionDigits(2); System.out.println(" 班級分數統計"); System.out.println("=============="); System.out.println(" 最高分數 "+mx); System.out.println(" 最低分數 "+mn); System.out.println(" 全班人數 "+i); System.out.println(" 及格人數 "+j); System.out.println(" 平均分數 "+ddf1.format(av)); System.out.println("\n==============");}}