import java.util.Scanner;
public class blenderDemo2{
static int juice = 0;
public static void makeJuice(int fruit){
switch(fruit){
case 1:
juice += 150;
break;
case 2:
juice += 300;
break;
case 3:
juice += 400;
break;
}
}
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
//blenderDemo2 myBlender = new blenderDemo2();
System.out.print("請選擇水果種類:1) 蘋果 2) 香蕉 3) 芒果");
int fruit = scanner.nextInt();
switch(fruit){
case 1:
blenderDemo2.makeJuice(1);
System.out.printf("蘋果汁:%d CC", blenderDemo2.juice);
case 2:
blenderDemo2.makeJuice(2);
System.out.printf("香蕉牛奶:%d CC", blenderDemo2.juice);
case 3:
blenderDemo2.makeJuice(3);
System.out.printf("芒果冰沙:%d CC", blenderDemo2.juice);
}
}
}
2015年8月31日 星期一
Static 的用法
Java 中的 Static 用法:
Overload 的語法
Java 的 Overload 語法:
import java.util.Scanner;
public class blenderDemo{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
Blender myBlender = new Blender();
System.out.print("請選擇水果種類:1) 蘋果 2) 香蕉 3) 芒果");
int fruit = scanner.nextInt();
switch(fruit){
case 1:
System.out.printf("蘋果汁:%d CC",myBlender.makeJuice(1));
break;
case 2:
System.out.printf("香蕉牛奶:%d CC",myBlender.makeJuice(2,100));
break;
case 3:
System.out.printf("芒果冰沙:%.2f CC",myBlender.makeJuice(3,100,200));
break;
}
}
}
public class Blender{
public int makeJuice(int fruit){
int juice = 0;
switch(fruit){
case 1:
juice = 150;
break;
case 2:
juice = 300;
break;
case 3:
juice = 400;
break;
}
return juice;
}
public int makeJuice(int fruit, int milk){
return (this.makeJuice(fruit)+ milk);
}
public double makeJuice(int fruit, int milk, int ice){
return (this.makeJuice(fruit,milk)+ ice)/2.0;
}
}
2015年8月29日 星期六
Java 考試考古題
http://www.wanlibo.com/mydoc-54137169-6.html&folderId=0
http://ppp.show55.info:8090/se2-hpFj6/?redurl_ww.lzzpp.net
http://www.itpub.net/forum.php
http://www.cjsdn.net/post/page?bid=9&sty=0&tpg=2&age=0&s=-1
http://wenku.it168.com/d_001448427.shtml
http://218.14.151.180:82/wenku.it168.com/d_000575622.shtml
http://ppp.show55.info:8090/se2-hpFj6/?redurl_ww.lzzpp.net
http://www.itpub.net/forum.php
http://www.cjsdn.net/post/page?bid=9&sty=0&tpg=2&age=0&s=-1
http://wenku.it168.com/d_001448427.shtml
http://218.14.151.180:82/wenku.it168.com/d_000575622.shtml
Java 並行 API
Java 的 java.util.concurrent.atomic 應用:
Concurrent I/O 的應用:
import java.util.concurrent.atomic.*;
public class Demo{
public static void main(String[] args){
AtomicInteger ai = new AtomicInteger(5);
if (ai.compareAndSet(5,42)){
System.out.println("The current value: " + ai.get());
System.out.println("Replaced 5 with 42");
}
}
}
Concurrent I/O 的應用:
public class MultiThreadedClientMain {
public static void main(String[] args){
ExecutorService es = Executors.newCachedThreadPool();
Map < RequestResponse,Future < RequestResponse >> callables =
new HashMap<>();
String host = "localhost";
for (int port = 10000; port < 10010 ; port++){
RequestResponse lookup = new RequestResponse(host, port);
NetworkClientCallable callable =
new NetworkClientCallable(lookup);
Future future = es.submit(callable);
callables.put(lookup, future);
}
es.shutdown();
try{
es.awaitTermination(5, TimeUnit.SECONDS);
} catch(InterruptedException ex){
System.out.println("Stopped waiting early");
}
for (RequestResponse lookup : callables.keySet()){
Future future = callables.get(lookup);
try {
lookup = future.get();
System.out.println(lookup.host + ":" + lookup.port +
" " + lookup.response);
} catch (ExecutionException | InterruptedException ex){
System.out.println("Error talking to " + lookup.host +
":" + lookup.port);
}
}
}
}
public class RequestResponse {
public String host;
public int port;
public String response;
public RequestResponse(String host, int port){
this.host = host;
this.port = port;
}
}
public class NetworkClientCallable implements Callable < RequestResponse > {
private RequestResponse lookup;
public NetworkClientCallable(RequestResponse lookup) {
this.lookup = lookup;
}
@Override
public RequestResponse call() throws IOException {
try (Socket sock = new Socket(lookup.host, lookup.port);
Scanner scanner = new Scanner(sock.getInputStream());){
lookup.response = scanner.next();
}
return lookup;
}
}
2015年8月28日 星期五
Java 迴圈語法
Java 迴圈語法:while 、do/while 、for 迴圈
While 迴圈簡單範例:
修改一下 Elevator 的程式:(其他部份,請參考這裡!)
執行的程式也一併修改一下:
for 迴圈用法:(99乘法表)
continue 與 break 也來湊熱鬧:
While 迴圈簡單範例:
public class TaxDemo{
public static void main(String[] args){
double balance = 500;
double taxRate = 0.07;
int years = 0;
while (balance <= 1000){
balance = (balance * (1+0.07));
years++;
}
System.out.printf("Year %d: %.2f",years,balance);
}
}
修改一下 Elevator 的程式:(其他部份,請參考這裡!)
public class Elevator{
...omit....
//判斷是否到達所須要的樓層
public void goToFloor(int desiredFloor){
while (this.currentFloor != desiredFloor){
if (this.currentFloor > desiredFloor){
this.goDown();
} else {
this.goUp();
}
}
System.out.println("Arrived..");
this.openDoor();
}
..... omit ......
執行的程式也一併修改一下:
import java.util.Scanner;
public class ElevatorDemo{
public static void main(String[] args){
Elevator myElevator = new Elevator();
Scanner scanner = new Scanner(System.in);
System.out.print("請選擇樓層(1~10):");
myElevator.doorOpen = true;
myElevator.goToFloor(scanner.nextInt());
}
}
for 迴圈用法:(99乘法表)
public class table99{
public static void main(String[] args){
for (int i = 1,j = 1; i < 10 ; i=(j==9)?(i+1):(i),j=(j==9)?(1):(j+1)){
System.out.printf("%d*%d=%d\t",i,j,(i*j));
if (j==9){
System.out.println();
}
}
}
}
continue 與 break 也來湊熱鬧:
import java.util.*;
public class ScoreClassDemo{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
ArrayList pass = new ArrayList();
ArrayList noPass = new ArrayList();
int account = 0;
int score = 0;
while (true){
System.out.printf("請輸入第 %d 位學生成績:",(account + 1));
score = scanner.nextInt();
if ((score > 100)||(score <= -2)){
System.out.println("重新輸入");
continue;
} else if (score == -1){
break;
} else if ( score >= 60){
pass.add(score);
} else {
noPass.add(score);
}
account++;
}
System.out.println("及格人數: " + pass.size());
}
}
2015年8月26日 星期三
Java 陣列的使用
Java 一維陣列的應用:
Shirt 請參考另一篇文章!
二位陣列使用方式:
ArrayList 的使用方式:
import java.util.Scanner;
public class OneArrayDemo{
public static void main(String[] args){
Shirt[] myShop = new Shirt[10];
Scanner scanner = new Scanner(System.in);
String temp1;
myShop[0] = new Shirt();
System.out.print("Please input the description: ");
temp1 = scanner.nextLine();
myShop[0].description = temp1;
System.out.print("Please input the ShirtID: ");
myShop[0].shirtID = scanner.nextInt();
System.out.print("Please input the colorCode: ");
temp1 = scanner.next();
myShop[0].colorCode = temp1.charAt(0);
System.out.print("Please input the price: ");
myShop[0].price = scanner.nextDouble();
myShop[0].displayInformation();
}
}
Shirt 請參考另一篇文章!
二位陣列使用方式:
import java.util.Scanner;
public class TwoArrayDemo{
public static void main(String[] args){
int courses = 3;
int students = 10;
int[][] scores = new int[courses][students];
System.out.println("請輸入數學科分數:");
TwoArrayDemo.inputScore(1,students,scores);
System.out.println();
System.out.println("請輸入國文科分數:");
TwoArrayDemo.inputScore(2,students,scores);
System.out.println();
System.out.println("請輸入英文科分數:");
TwoArrayDemo.inputScore(3,students,scores);
System.out.println();
System.out.println("每位學生的平均分數:");
TwoArrayDemo.avgScore(courses,students,scores);
}
public static void inputScore(int course,int students, int[][] scores){
Scanner scanner = new Scanner(System.in);
int sum = 0;
for (int i = 0; i < students; i++){
System.out.printf("請輸入第 %d 位學生成績:",(i+1));
scores[course-1][i] = scanner.nextInt();
sum += scores[course-1][i];
}
System.out.println("本科平均分數:" + ((double)sum)/students);
}
public static void avgScore(int courses,int students,int[][] scores){
int temp = 0;
for (int i = 0 ; i < students ; i++){
for (int j = 0 ; j < courses ; j++){
temp += scores[j][i];
}
System.out.printf("第 %d 位學生平均分數: %.2f\n",i, ((double)temp)/courses);
temp = 0;
}
}
}
ArrayList 的使用方式:
import java.util.*;
public class ArrayListDemo{
public static void main(String[] args){
ArrayList myList = new ArrayList();
myList.add("Peter");
myList.add("James");
myList.add("Piggy");
myList.add("Janeson");
myList.add("Tordy");
myList.remove(0);
myList.remove(myList.size()-1);
myList.remove("Piggy");
System.out.println(myList);
}
}
2015年8月24日 星期一
Java 決策判斷語法
Java 的關係運算子:== 、!= 、 > 、 >= 、 < 、 <= 、equals() ...
判斷的語法: if 、 if/else 、switch
先來點熱身的:
一種好的範例:
先來點熱身的:
public class Employees{
public String name1 = "Fred Smith";
public String name2 = "Joseph Smith";
public static void main(String[] args){
Employees myEmployee = new Employees();
myEmployee.areNamesEqual();
}
public void areNamesEqual(){
//比較兩者是否為同一物件
if ( name1 == name2 ){
System.out.println("Same Object.");
} else {
System.out.println("Different Object.");
}
//比較物件內容值是否相同
if (name1.equals(name2)){
System.out.println("Same Name.");
} else {
System.out.println("Different Name.");
}
}
}
以電梯的類別來示範 if/else 以及 nested if/else 用法:
public class Elevator{
public boolean doorOpen = false;
public int currentFloor = 1;
public final int TOP_FLOORS = 10;
public final int MIN_FLOORS = 1;
//開門的動作
public void openDoor(){
System.out.println("Opening Door ... ");
doorOpen = true;
System.out.println("Door is opened!");
}
//關門的動作
public void closeDoor(){
System.out.println("Closing Door ... ");
doorOpen = false;
System.out.println("Door is closed!");
}
//電梯向上
public void goUp(){
if ( currentFloor >= TOP_FLOORS){
System.out.println("Cannot go Up!");
} else {
if (doorOpen){
closeDoor();
}
System.out.println("Going Up one floor !");
currentFloor++;
System.out.println("Floor: " + currentFloor);
}
}
//電梯向下
public void goDown(){
if ( currentFloor <= MIN_FLOORS){
System.out.println("Cannot go Down!");
} else {
if (doorOpen){
closeDoor();
}
System.out.println("Going Down one floor !");
currentFloor--;
System.out.println("Floor: " + currentFloor);
}
}
}
執行看看....
public class ElevatorDemo{
public static void main(String[] args){
Elevator myElevator = new Elevator();
myElevator.openDoor();
myElevator.closeDoor();
myElevator.goDown();
myElevator.goUp();
myElevator.goUp();
}
}
一種 Low Low 的範例:
import java.util.Scanner;
public class MonthDemo{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.print("請輸入月份:");
int month = scanner.nextInt();
if ( month == 1 || month == 3 ||month == 5 ||
month == 7 || month == 8 || month == 10 ||
month == 12 ){
System.out.println("本月份有31天!");
} else if (month == 2){
System.out.println("本月份有28天!");
} else if (month == 4 || month == 6 ||
month == 9 || month == 11){
System.out.println("本月份有30天!");
}else{
System.out.println("invalid days !");
}
}
}
一種好的範例:
import java.util.Scanner;
public class SwitchDemo{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.print("請輸入月份:");
int month = scanner.nextInt();
switch (month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("本月份有31天!");
break;
case 2:
System.out.println("本月份有28天!");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("本月份有30天!");
break;
default:
System.out.println("invalid days !");
}
}
}
2015年8月23日 星期日
利用 JDBC 撈取資料庫內容
利用 JDBC 撈取資料庫的方式:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionDemo {
public static void main(String[] args)
throws ClassNotFoundException{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/directory";
String dbaccount = "directory";
String dbpassword = "a123456";
try(Connection conn = DriverManager.getConnection(url,
dbaccount, dbpassword);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql)){
//列出資料表欄位資料
int numCols = rs.getMetaData().getColumnCount();
String[] colsName = new String[numCols];
String[] colsType = new String[numCols];
for (int i = 0; i < numCols; i++){
colsName[i] = rs.getMetaData().getColumnName(i+1);
colsType[i] = rs.getMetaData().getColumnTypeName(i+1);
}
System.out.println("Numbers of columns returned: "
+ numCols);
System.out.println("Column names/types returned: ");
for (int i = 0; i < numCols; i++){
System.out.println( colsName[i] + " : " + colsType[i]);
}
//列出資料表所裝填的內容
System.out.println(colsName[0] +"\t\t" + colsName[1] +
"\t" +colsName[2]);
while (rs.next()){
String rsID = rs.getString(colsName[0]);
String rsUserName = rs.getString(colsName[1]);
String rsEmail = rs.getString(colsName[2]);
System.out.println(rsID + "\t\t" + rsUserName +
"\t\t"+rsEmail);
} catch (SQLException ex) {
System.out.println("資料庫連結失敗....");
}
}
}
JDBC 連結資料庫
利用 JDBC 與資料庫連結:
MySQL 的範例資料庫 directory,可以利用下列語法建立起來:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionDemo {
public static void main(String[] args)
throws ClassNotFoundException{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/directory";
String dbaccount = "directory";
String dbpassword = "a123456";
try(Connection conn = DriverManager.getConnection(url,
dbaccount, dbpassword)){
if (!conn.isClosed()){
System.out.println("資料庫連結成功....");
}
} catch (SQLException ex) {
System.out.println("資料庫連結失敗....");
}
}
}
MySQL 的範例資料庫 directory,可以利用下列語法建立起來:
CREATE DATABASE IF NOT EXISTS `directory`;
USE `directory`;
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`no` int(11) NOT NULL AUTO_INCREMENT,
`userName` varchar(100) NOT NULL,
`userEmail` varchar(100) NOT NULL,
PRIMARY KEY (`no`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
LOCK TABLES `users` WRITE;
INSERT INTO `users` VALUES (1,'test','test@localhost'),
(2,'hello','hello@localhost.domain'),(3,'world','world@test.123');
UNLOCK TABLES;
2015年8月22日 星期六
volatile 與 synchronized 使用
volatile 範例:
Demo 一下,看看執行結果:
syhchronized 範例:
public class ExampleRunnable implements Runnable{
private volatile int j;
@Override
public void run() {
for (j = 0; j < 10; j+=2){
System.out.println("j = " + j);
}
}
}
Demo 一下,看看執行結果:
public class ThreadDemo {
public static void main(String[] args){
ExampleRunnable er1 = new ExampleRunnable();
Thread t1 = new Thread(er1);
Thread t2 = new Thread(er1);
Thread t3 = new Thread(er1);
t1.start();
t2.start();
t3.start();
}
}
syhchronized 範例:
2015年8月21日 星期五
Java 物件的利用
Java 物件的新增與使用:
Shirt 類別程式,請參考另一篇文件!
String 類別的利用:
StringBuilder 類別的利用:
Shirt 類別程式,請參考另一篇文件!
public class Demo2{
public static void main(String[] args){
Shirt myShirt = new Shirt();
Shirt yourShirt = new Shirt();
myShirt = yourShirt;
myShirt.colorCode = 'R';
yourShirt.colorCode = 'G';
System.out.println("Shirt color: " + myShirt.colorCode);
}
}
String 類別的利用:
public class StringDemo{
public static void main(String[] args){
String myString = "Hello";
myString = myString.concat("! This is my First program!");
myString = myString + "\n Please fill the screen !!".trim();
myString = myString + "\nHAHA..".toLowerCase();
System.out.println(myString);
myString = (myString + "\nHAHA..").toLowerCase();
System.out.println(myString);
int stringLength = myString.length();
System.out.println("Length : " + stringLength);
String partString = myString.substring(6,20);
System.out.println(partString);
boolean endWord = myString.endsWith("ha..");
System.out.println("The results: " + endWord);
}
}
StringBuilder 類別的利用:
public class StringBuilderDemo{
public static void main(String[] args){
StringBuilder myString = new StringBuilder("Hello,");
myString.append(" Java!");
String h1 = "Today is Monday!";
String h2 = "World is a good place!!";
myString.insert(6, h1);
System.out.println("Total length: " + myString.length());
myString.delete(6,12);
myString.replace(13,19,h2);
System.out.println(myString);
}
}
Servlet 第一支程式
Servlet 第一支程式:
index.html 可以寫成下列方式 ...
網址:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(name="HelloServlet", urlPatterns={"/hello.view"},
loadOnStartup=1)
public class HelloWorld extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet HelloWorld</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet HelloWorld at "
+ request.getContextPath() + "</h1>");
out.println("</body>");
out.println("</html>");
}
}
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
}
index.html 可以寫成下列方式 ...
<!DOCTYPE html>
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div>TODO write content</div>
</body>
</html>
網址:
http://localhost:8080/ServletDemo1/hello.view
2015年8月19日 星期三
Java 基本運算子的使用
Java 的算術運算子:+ - * / %
配合 java.util.Scanner 物件來做為輸入數量的參考:
public class Person{
public int ageYears = 32;
public void calculateAge(){
int ageDays = ageYears * 365;
long ageSeconds = ageYears * 365 * 24L * 60 * 60;
System.out.println("You are " + ageDays + " days old.");
System.out.println("You are " + ageSeconds + " seconds old.");
}
}
執行它:
public class PersonDemo{
public static void main(String[] args){
Person peter = new Person();
peter.calculateAge();
}
}
配合 java.util.Scanner 物件來做為輸入數量的參考:
import java.util.Scanner;
public class Demo{
public static void main(String[] args){
Shirt myShirt = new Shirt();
myShirt.shirtID = 100;
myShirt.colorCode = 'B';
myShirt.price = 45.12;
myShirt.description = "45周年紀念衫";
myShirt.displayInformation();
Scanner scanner = new Scanner(System.in);
System.out.print("請輸入購買件數:");
int input = scanner.nextInt();
System.out.println("總價:" + input*myShirt.price);
}
}
Java 基本資料型態
Java 變數的資料型態分兩種:基本資料型態 與 類別資料型態
基本資料型態:
基本資料型態:
- 整數型態:byte (8 bits)、short (16 bits)、int (32 bits)、long (64 bits)
- 浮點數型態:float ( 32 bits) 、double (64 bits)
- 文字型態: char (16 bits)
- 邏輯型態:boolean
Java 物件內的變數宣告
Java 物件內的變數分成 Fields 與 Local Variables ,兩者有不同的地方:
public class Shirt{
//這是 Fields
public int shirtID = 0;
public String description = "-----";
public char colorCode = 'U' ; //R=red,G=green,B=blue,W=white
public double price = 0.0;
//顯示 Shirt 相關資料
public void displayInformation(){
System.out.println("Shirt ID: " + shirtID);
displayDescription(this.description);
System.out.println("Shirt Color: " + colorCode);
System.out.println("Shirt's price: " + price);
}
public static void displayDescription(String d1){
//這是Local Variables
String displayString = "";
displayString = "Shirt description: " + d1;
System.out.println(displayString);
}
}
Java 物件的變數名稱,可以利用物件來指派與修改!
public class Demo{
public static void main(String[] args){
Shirt myShirt = new Shirt();
myShirt.shirtID = 100;
myShirt.colorCode = 'B';
myShirt.price = 45.12;
myShirt.description = "45周年紀念衫";
myShirt.displayInformation();
}
}
2015年8月17日 星期一
Java 物件概要
Java 類別的形成:
Java 物件的利用:
public class Shirt{
public int shirtID = 0;
public String description = "-----";
public char colorCode = 'U' ; //R=red,G=green,B=blue,W=white
public double price = 0.0;
//顯示 Shirt 相關資料
public void displayInformation(){
System.out.println("Shirt ID: " + shirtID);
System.out.println("Description: " + description);
System.out.println("Shirt Color: " + colorCode);
System.out.println("Shirt's price: " + price);
}
}
Java 物件的利用:
public class Demo{
public static void main(String[] args){
Shirt myShirt = new Shirt();
myShirt.displayInformation();
}
}
Java 基本程式撰寫
Java 基本程式寫作方式:(通常第一支程式都是 Hello World !!)
接下來,將檔案存成與<類別名稱>相同的 <類別名稱.java> 檔案,例如本程式應存成 HelloWorld.java 檔案!
之後,將該檔案進行編譯,變成可執行的 Class 檔案!例如:
最後執行該 Java 程式,應使用 Java 執行該 class 檔案!例如:
public class HelloWorld {
public static void main (String[] args) {
System.out.println("Hello, world!");
}
}
- class <類別名稱>: 因為 Java 語言是物件導向語言,所以都是以 class 開頭來撰寫程式!而類別名稱,則是給這個類別命名,方便其他程式的呼叫!
- public ... : 表示公開的權限!Java 語言權限,是代表其安全機制的由來,權限共分四級!利用適當的權限值,可確保程式被利用時的安全性!
- public static void main(String[] args){...} : 表示 Java 程式開始執行的進入點。
- System.out.println(...) :表示在文字介面視窗中,印出所需要的文字!
- ; 分號表示程式表示式結束的描述,除了使用 {} 之外,每行 Java 程式描述句結束後,都應加上此符號!
接下來,將檔案存成與<類別名稱>相同的 <類別名稱.java> 檔案,例如本程式應存成 HelloWorld.java 檔案!
之後,將該檔案進行編譯,變成可執行的 Class 檔案!例如:
C:\workspace\test1> javac HelloWorld.java
最後執行該 Java 程式,應使用 Java 執行該 class 檔案!例如:
C:\workspace\test1> java HelloWorld
JDK 安裝與設定
Java 語言的撰寫,最重要的一件事,就是準備好工具!而最重要的工具,就是 JDK(Java Development Kits) !JDK 安裝與設定如下:
另一種重要的工具,就寫程式的軟體了!通常,利用文字編輯器即可!以下提供常見工具:
最後一種常用工具: Java API Documents !! (Java SE 8)因為,沒人可以記得住 Java 所有可用 API ,所以,查文件也是一種功力的表現!
- 從 Oracle 官方下載 JDK!
- 進行「下一步」到底的安裝!
- 在電腦的環境設定中,設定 Path 環境項目,加入 Java bin 的目錄!
- 利用下列指令測試:
- javac -version
- java -version
- Notepad++ : 純文字編輯器!台灣人寫的,給正要入門的新手,最好的寫作平台!
- NetBean : Oracle 官方的 IDE (Integrated Development Environment),簡單、易用!
- Eclipse : 業界常用!有多方開發的整合套件,方便開發任何 Java 程式語言!
訂閱:
意見 (Atom)