一、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/n/135715.html