一、Java語言簡介
Java是一種面向對象的編程語言。它由James Gosling和Sun Microsystems於1995年推出。Java具有簡單性、可移植性、面向對象性、安全性、多線程性和互聯性等特點。Java語言源代碼被編譯成位元組碼,然後由Java虛擬機(JVM)運行。Java虛擬機是Java語言的核心,它允許在任何平台上運行Java程序,實現了Java語言的可移植性。
以下是一個簡單的Java程序示例:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
二、Java開發工具
Java開發工具是Java程序員必備的軟體。最好的Java開發工具之一是Eclipse,它是一個開放源代碼的綜合性開發工具,可用於多種編程語言,包括Java、C/C++等。Eclipse具有強大的調試功能、自動補全、代碼重構、版本控制等功能,是Java開發的首選工具。
另外一個常用的Java開發工具是IntelliJ IDEA,它是一款非常優秀的Java集成開發環境。擁有智能代碼提示、自動重構、代碼審查等功能,可以幫助Java程序員更加高效的開發Java程序。
三、Java Web開發
Java Web開發是Java技術最常用的應用之一。Java Web開發可以使用Java Server Pages(JSP)和Servlet技術創建動態Web應用程序。JSP通過將靜態的HTML頁面與動態生成的內容結合到一起,來實現動態Web應用程序。Servlet是Java Web程序的後端處理程序,負責處理客戶端請求和向客戶端發送響應結果。
以下是一個簡單的JSP頁面示例:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Welcome to Java Web Development!</title> </head> <body> <h1><%= "Hello, World!" %></h1> </body> </html>
四、Java資料庫連接
Java 資料庫連接(JDBC)是Java程序訪問資料庫的標準API。JDBC允許Java程序員訪問各種關係型資料庫。Java程序可以通過JDBC API與任何支持JDBC協議的資料庫進行通信,包括MySQL、Oracle、Microsoft SQL Server等。JDBC API提供了許多介面和類,可以使Java程序員輕鬆地執行資料庫操作和訪問數據。
以下是一個使用JDBC連接MySQL資料庫的示例:
import java.sql.*;
public class JDBCExample {
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/EMP";
static final String USER = "username";
static final String PASS = "password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
stmt = conn.createStatement();
String sql;
sql = "SELECT id, first, last, age FROM Employees";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
int id = rs.getInt("id");
int age = rs.getInt("age");
String first = rs.getString("first");
String last = rs.getString("last");
System.out.print("ID: " + id);
System.out.print(", Age: " + age);
System.out.print(", First: " + first);
System.out.println(", Last: " + last);
}
rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(stmt!=null) stmt.close();
}catch(SQLException se2){
}
try{
if(conn!=null) conn.close();
}catch(SQLException se){
se.printStackTrace();
}
}
}
}
五、Java桌面應用程序
Java的桌面應用程序開發可以使用Swing和JavaFX GUI工具包。Swing是Java GUI工具包,提供了許多圖形用戶界面組件,包括按鈕、文本框、標籤、列表框等。JavaFX是Java平台的新一代GUI工具包,提供了更多的可視化效果和動畫效果。
以下是一個使用Swing創建簡單GUI應用程序的示例:
import javax.swing.*;
import java.awt.event.*;
public class HelloWorldSwing {
private static void createAndShowGUI() {
JFrame frame = new JFrame("HelloWorldSwing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label = new JLabel("Hello, World");
frame.getContentPane().add(label);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
六、Java多線程
Java多線程是Java技術的又一重要特性。Java程序可以利用多線程技術實現並行處理,提高程序性能和運行效率。Java多線程可以使用Java的內置線程支持或者使用第三方線程庫,如Apache的Commons Lang庫。
以下是一個簡單的Java多線程示例:
public class ThreadDemo extends Thread {
private Thread t;
private String threadName;
ThreadDemo(String name) {
threadName = name;
System.out.println("Creating " + threadName );
}
public void run() {
System.out.println("Running " + threadName);
try {
for(int i = 4; i > 0; i--) {
System.out.println("Thread: " + threadName + ", " + i);
Thread.sleep(50);
}
} catch (InterruptedException e) {
System.out.println("Thread " + threadName + " interrupted.");
}
System.out.println("Thread " + threadName + " exiting.");
}
public void start () {
System.out.println("Starting " + threadName );
if (t == null) {
t = new Thread (this, threadName);
t.start ();
}
}
}
public class TestThread {
public static void main(String args[]) {
ThreadDemo T1 = new ThreadDemo( "Thread-1");
T1.start();
ThreadDemo T2 = new ThreadDemo( "Thread-2");
T2.start();
}
}
七、Java異常處理
Java異常處理是Java技術最重要的特性之一。Java程序中的異常是在程序運行時發生的不正常情況。Java程序可以使用try-catch塊來捕獲異常並進行處理。Java異常處理可以使用Java內置的異常類或者自定義異常類。
以下是一個簡單的Java異常處理示例:
public class ExceptionDemo {
public static void main(String args[]) {
try {
int[] array = new int[10];
array[11] = 9;
} catch(ArrayIndexOutOfBoundsException e) {
System.out.println("Exception caught: " + e);
}
System.out.println("Program continues...");
}
}
八、Java註解
Java註解是Java語言的一個重要特性,可以在代碼中提供附加信息。Java註解可以在編譯器、運行時或者其他工具中使用。Java註解可以用於聲明類、方法、變數等元素。Java註解可用於提供配置信息、防止代碼注入等方面。
以下是一個使用Java註解的示例:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Test {
public boolean enabled() default true;
}
public class MyClass {
@Test
public void testMethod() {
System.out.println("Test method");
}
}
九、Java網路編程
Java的網路編程支持可以使用Java的內置網路庫或者使用第三方網路庫,如Apache的HttpClient庫。Java網路編程可以實現基於TCP/IP協議的客戶端/伺服器模型。Java程序可以通過Socket類來創建客戶端和伺服器端。
以下是一個使用Java網路編程實現客戶端/伺服器模型的示例:
import java.net.*;
import java.io.*;
public class GreetingClient {
public static void main(String [] args) {
String serverName = args[0];
int port = Integer.parseInt(args[1]);
try {
System.out.println("Connecting to " + serverName + " on port " + port);
Socket client = new Socket(serverName, port);
System.out.println("Just connected to " + client.getRemoteSocketAddress());
OutputStream outToServer = client.getOutputStream();
DataOutputStream out = new DataOutputStream(outToServer);
out.writeUTF("Hello from " + client.getLocalSocketAddress());
InputStream inFromServer = client.getInputStream();
DataInputStream in = new DataInputStream(inFromServer);
System.out.println("Server says " + in.readUTF());
client.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.net.*;
import java.io.*;
public class GreetingServer extends Thread {
private ServerSocket serverSocket;
public GreetingServer(int port) throws IOException {
serverSocket = new ServerSocket(port);
serverSocket.setSoTimeout(10000);
}
public void run() {
while(true) {
try {
System.out.println("Waiting for client on port " + serverSocket.getLocalPort() + "...");
Socket server = serverSocket.accept();
System.out.println("Just connected to " + server.getRemoteSocketAddress());
DataInputStream in = new DataInputStream(server.getInputStream());
System.out.println(in.readUTF());
DataOutputStream out = new DataOutputStream(server.getOutputStream());
out.writeUTF("Thank you for connecting to " + server.getLocalSocketAddress() + "\nGoodbye!");
server.close();
} catch (SocketTimeoutException s) {
System.out.println("Socket timed out!");
break;
} catch (IOException e) {
e.printStackTrace();
break;
}
}
}
public static void main(String [] args) {
int port = Integer.parseInt(args[0]);
try {
Thread t = new GreetingServer(port);
t.start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
原創文章,作者:PIJG,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/135715.html
微信掃一掃
支付寶掃一掃