一、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
微信扫一扫
支付宝扫一扫