Java1作为一种面向对象的编程语言,自1995年以来就一直在快速发展。它的特点是跨平台、高效、安全、可靠性高等。本文将从多个方面对Java1做详细的阐述。
一、基础语法
Java1的基础语法包含了变量、运算符、流程控制、数组等内容。
Java1的变量有三种类型:整型、浮点型和字符型。可以通过声明变量的方式来给变量赋初始值。例如:
int a = 1; //整型变量 float b = 2.0; //浮点型变量 char c = 'A'; //字符型变量
Java1中的运算符包括算术运算符、比较运算符和逻辑运算符等。例如:
int a = 5; int b = 3; int c = a + b; //算术运算符 boolean d = a > b; //比较运算符 boolean e = a > b && a < 10; //逻辑运算符
流程控制包括条件语句和循环语句。其中,条件语句分为if语句和switch语句,循环语句分为for语句、while语句和do-while语句。
if (a > b) { System.out.println("a > b"); } else { System.out.println("a <= b"); } switch (a) { case 1: System.out.println("a=1"); break; case 2: System.out.println("a=2"); break; default: System.out.println("a is not 1 or 2"); break; } for (int i = 0; i < 10; i++) { System.out.println(i); } int i = 0; while (i < 10) { i++; System.out.println(i); } int j = 0; do { j++; System.out.println(j); } while (j < 10);
数组是Java1中非常重要的数据结构,它可以存储多个相同类型的数据。Java1中的数组分为一维数组和多维数组。
int[] array = new int[3]; //一维数组 array[0] = 1; array[1] = 2; array[2] = 3; int[][] array2d = new int[3][3]; //二维数组 array2d[0][0] = 1; array2d[0][1] = 2; array2d[0][2] = 3; array2d[1][0] = 4; array2d[1][1] = 5; array2d[1][2] = 6; array2d[2][0] = 7; array2d[2][1] = 8; array2d[2][2] = 9;
二、面向对象
Java1是一种面向对象的编程语言,它有类、对象、继承、多态等特性。
类是Java1中的基本单位,每个类都包含了属性和方法。
public class Student { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public void study() { System.out.println("学生" + name + "正在学习"); } }
通过类可以创建出对象,对象可以调用类中的方法。
Student s = new Student(); s.setName("Tom"); s.setAge(18); System.out.println(s.getName()); //输出Tom System.out.println(s.getAge()); //输出18 s.study(); //输出学生Tom正在学习
继承是Java1面向对象编程的一大特点,子类可以继承父类的特性。
public class GraduateStudent extends Student { public void attendLecture() { System.out.println("研究生" + getName() + "正在上课"); } }
多态是Java1的面向对象编程中非常重要的特性之一,它可以让父类对象指向子类实例。
Student s = new GraduateStudent(); s.setName("Mary"); s.setAge(23); System.out.println(s.getName()); //输出Mary System.out.println(s.getAge()); //输出23 s.study(); //输出学生Mary正在学习 ((GraduateStudent) s).attendLecture(); //输出研究生Mary正在上课
三、IO操作
Java1中的IO操作包括文件的读写、网络通信等内容。
文件的读写可以通过Java1的File类和相关的输入输出流实现。
import java.io.*; public class Test { public static void main(String[] argc) { File file = new File("test.txt"); try { FileOutputStream fos = new FileOutputStream(file); OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8"); osw.write("Hello World!\n"); osw.close(); fos.close(); } catch (IOException e) { e.printStackTrace(); } try { FileInputStream fis = new FileInputStream(file); InputStreamReader isr = new InputStreamReader(fis, "UTF-8"); BufferedReader br = new BufferedReader(isr); String line; while ((line = br.readLine()) != null) { System.out.println(line); } br.close(); isr.close(); fis.close(); } catch (IOException e) { e.printStackTrace(); } } }
网络通信可以通过Java1的Socket和ServerSocket实现。
import java.net.*; import java.io.*; public class Server { public static void main(String args[]) { ServerSocket server = null; Socket socket = null; try { server = new ServerSocket(6666); System.out.println("服务器启动成功..."); socket = server.accept(); System.out.println("客户端连接成功..."); } catch (IOException e) { e.printStackTrace(); } try { InputStream is = socket.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String line; while ((line = br.readLine()) != null) { System.out.println(line); } br.close(); isr.close(); is.close(); socket.close(); server.close(); } catch (IOException e) { e.printStackTrace(); } } } import java.net.*; import java.io.*; public class Client { public static void main(String args[]) { Socket socket = null; try { socket = new Socket("localhost", 6666); OutputStream os = socket.getOutputStream(); OutputStreamWriter osw = new OutputStreamWriter(os); PrintWriter pw = new PrintWriter(osw); pw.write("Hello World!"); pw.flush(); pw.close(); osw.close(); os.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); } } }
四、并发编程
Java1中的并发编程是一项非常重要的技术,能够提高程序的运行效率。
Java1中的并发编程包括线程、锁、同步、线程池等内容。
线程是Java1中的基本单位,它可以独立运行并执行代码。Java1中可以通过继承Thread类或实现Runnable接口来创建线程。
public class MyThread extends Thread { public void run() { System.out.println("Hello World!"); } } public class Test { public static void main(String[] argc) { MyThread thread = new MyThread(); thread.start(); } }
锁是Java1中的重要概念,可以通过synchronized关键字来实现。
public class SyncTest { private int count = 0; private synchronized void add() { count++; } public synchronized void testSync() { for (int i = 0; i < 100000; i++) { add(); } System.out.println("count=" + count); } } public class Test { public static void main(String[] argc) { SyncTest syncTest = new SyncTest(); new Thread() { public void run() { syncTest.testSync(); } }.start(); new Thread() { public void run() { syncTest.testSync(); } }.start(); } }
同步可以通过Lock对象来实现。
import java.util.concurrent.locks.*; public class SyncTest { private int count = 0; private Lock lock = new ReentrantLock(); private void add() { lock.lock(); try { count++; } finally { lock.unlock(); } } public void testSync() { for (int i = 0; i < 100000; i++) { add(); } System.out.println("count=" + count); } } public class Test { public static void main(String[] argc) { SyncTest syncTest = new SyncTest(); new Thread() { public void run() { syncTest.testSync(); } }.start(); new Thread() { public void run() { syncTest.testSync(); } }.start(); } }
线程池是Java1中用来管理线程的重要工具。
import java.util.concurrent.*; public class ThreadPoolTest { public static void main(String[] args) { ExecutorService executorService = Executors.newFixedThreadPool(5); for (int i = 0; i < 10; i++) { executorService.submit(new Runnable() { public void run() { System.out.println(Thread.currentThread().getName() + "正在执行任务"); } }); } executorService.shutdown(); } }
总结
本文对Java1做了基础语法、面向对象、IO操作、并发编程四个方面的阐述,从多个角度深入探讨了Java1的使用。
原创文章,作者:QKCB,如若转载,请注明出处:https://www.506064.com/n/131698.html