Java (程式語言)
閱讀設定

編程範式 | 多重範型:物件導向(類別基礎)、結構化、指令式、泛型、反射式編程、並發計算 |
---|---|
設計者 | 詹姆斯·高斯林 太陽電腦系統 |
編程員 | 甲骨文公司 (太陽電腦系統) |
第一次出現 | 1995年[1] |
穩定版本 | Java SE 17.0.1 2021年10月19號[2]
|
類型系統 | 靜態、安全、強類型、標明類型、弱類型 |
軟件授權 | GNU通用公共許可協議、JCP |
副檔名 | .java、.class、.jar |
網站 | java |
Major 實作版本 | |
OpenJDK、GCJ、其他 | |
衍生變體 | |
泛型Java、Pizza | |
啟發語言 | |
Ada 83、 Generic Java、 | |
影響語言 | |
Ada 2005、 | |
Java係一種可以撰寫跨平台應用軟件嘅物件導向嘅程式語言,由昇陽電腦嘅占士哥斯連響1990年代初開發,本來用響智能家庭電器度,但後尾發展成網絡程式語言。
語言特性
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==============");
}
}
攷
- ↑ "The History of Java Technology". 原著喺2012-11-06歸檔. 喺2012-10-06搵到.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ↑ https://www.oracle.com/java/technologies/javase-downloads.html
- ↑ "Java 5 catches up with C#". www.barrycornelius.com. 原著喺2011-03-19歸檔. 喺2006-11-30搵到.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ↑ Lévénez, Éric. "Computer Languages History". www.levenez.com. 原著喺2006-01-07歸檔. 喺2006-11-30搵到.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ↑ Gosling, James; McGilton, Henry (May 1996). "The Java Language Environment". 原著喺2014-05-06歸檔. 喺2015-12-22搵到.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ↑ Gosling, James; Joy, Bill; Steele, Guy; and Bracha, Gilad. "The Java Language Specification, 2nd Edition". 原著喺2013-05-12歸檔. 喺2013-02-28搵到.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help)CS1 maint: multiple names: 作者名單 (link) - ↑ "The A-Z of Programming Languages: Modula-3". Computerworld.com.au. 原著喺2009-01-05歸檔. 喺2010-06-09搵到.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ↑ "Java Was Strongly Influenced by Objective-C". cs.gmu.edu. 原著喺2011-07-13歸檔. 喺2013-02-28搵到.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ↑ TechMetrix Research (1999). "History of Java" (PDF). Java Application Servers Report. 原著 (PDF)喺2010-12-29歸檔. 喺2015-12-22搵到.
The project went ahead under the name "green" and the language was based on an old model of UCSD Pascal, which makes it possible to generate interpretive code
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ↑ "A Conversation with James Gosling – ACM Queue". Queue.acm.org. 2004-08-31. 原著喺2015-07-16歸檔. 喺2010-06-09搵到.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ↑ White Paper About Microsoft's "Delegates"
- ↑ "Facebook Q&A: Hack brings static typing to PHP world". InfoWorld. 2014-03-26. 原著喺2015-02-13歸檔. 喺2015-01-11搵到.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help)
引用錯誤 <ref>
tags exist for a group named "註", but no corresponding <references group="註"/>
tag was found