一、Java的基础语法
Java是一种高级编程语言,与其他语言相比,它具有安全、可移植和简单易学的特点。在学习Java语言时,首先要了解Java的基本结构,包括注释、变量、数据类型、运算符、控制语句、方法和数组等。
1.1 注释
注释是代码中用于解释程序意义的文本,Java的注释分为单行注释和多行注释。单行注释以“//”开头,多行注释以“/*”开头,“*/”结尾。
//这是一条单行注释 /* 这是一条多行注释 可以写多行内容 */
1.2 变量
变量是在程序中用于存储数据的容器,Java的变量分为基本类型和引用类型。基本类型包括整型、浮点型、字符型和布尔型,引用类型包括类、接口、数组等。
//整型变量 int a = 10; //浮点型变量 double b = 3.14; //字符型变量 char c = 'A'; //布尔型变量 boolean d = true; //引用类型变量 String e = "Hello World";
1.3 数据类型
Java的变量分为基本类型和引用类型,不同类型的变量占据不同的存储空间,同时支持不同的运算操作。
//整型数据类型 int a = 10; long b = 100000000000L; //浮点型数据类型 float c = 3.14F; double d = 3.1415926; //字符型数据类型 char e = 'A'; //布尔型数据类型 boolean f = true;
1.4 运算符
Java语言支持基本的算术运算符、赋值运算符、位运算符、逻辑运算符、条件运算符等,其中常用的有“+”、“-”、“*”、“/”、“%”、“&”、“|”、“^”、“&&”、“||”、“!”等。
int a = 10; int b = 20; int c = a + b; //30 int d = 6; int e = d++; //e=6, d=7 int f = 10; int g = 20; int h = f > g ? f : g; //20
1.5 控制语句
Java中的控制语句包括条件语句、循环语句和跳转语句,它们可以控制程序的执行流程,实现特定的功能。
//if语句
int a = 10;
if(a > 5){
System.out.println("a大于5");
}
//for循环
for(int i=0;i<10;i++){
System.out.println(i);
}
//break语句
for(int i=0;i<10;i++){
if(i==5){
break;
}
System.out.println(i);
}
1.6 方法和数组
Java中的方法和数组是常用的编程工具,它们分别用于封装代码和存储数据。方法可以重载、嵌套和递归,数组可以一维或多维,支持数组排序、查找、拷贝等操作。
//方法
public static int add(int a, int b){
return a + b;
}
//数组
int[] arr = {1,2,3};
int[][] arr2 = {{1,2},{3,4}};
二、Java的面向对象编程
面向对象编程是Java的重要特点,它将程序分成许多对象,并通过对象之间的调用和互动实现程序的功能。在Java中,面向对象编程包括类、对象、继承、多态、接口和抽象类等。
2.1 类和对象
类是Java中用于描述对象的模板,一个Java程序可以包含多个类,每个类都可以创建多个对象。在类中定义属性和方法,可以通过对象来调用。
//定义类
public class Person{
private String name;
private int age;
//构造函数
public Person(String name, int age){
this.name = name;
this.age = age;
}
//普通方法
public void sayHello(){
System.out.println("Hello!");
}
}
//创建对象
Person p = new Person("张三", 20);
p.sayHello();
2.2 继承和多态
继承是Java中的一种重要机制,它允许子类继承父类的属性和方法,并可以添加自己的属性和方法。多态是Java中另一种重要机制,它允许同一类型的对象执行不同的行为。
//定义父类
public class Animal{
public void eat(){
System.out.println("动物吃东西");
}
}
//定义子类
public class Dog extends Animal{
public void eat(){
System.out.println("狗吃骨头");
}
}
//实现多态
Animal a = new Dog();
a.eat();
2.3 接口和抽象类
接口是一种规范或契约,它定义了一组方法和常量,实现这个接口的类必须实现这些方法和常量。抽象类是一种特殊的类,它一般不可实例化,而是用作其他类的基类。
//定义接口
public interface Flyable{
void fly();
}
//实现接口
public class Bird implements Flyable{
public void fly(){
System.out.println("鸟儿在飞翔");
}
}
//定义抽象类
public abstract class Animal{
public abstract void eat();
}
//实现抽象类
public class Dog extends Animal{
public void eat(){
System.out.println("狗在吃东西");
}
}
三、Java的高级特性
Java还有许多高级特性,例如异常处理、IO操作、反射、泛型、Lambda表达式和并发编程等。这些特性可以提高程序的健壮性和性能。
3.1 异常处理
异常是在程序运行时发生的错误,Java中提供了强大的异常处理机制,它可以捕获和处理异常,防止程序崩溃。
try{
int result = 10 / 0;
}catch(Exception e){
System.out.println("发生异常:" + e.getMessage());
}finally{
System.out.println("执行finally块");
}
3.2 IO操作
Java的IO操作包括文件操作、网络操作、管道操作等,可以实现数据的输入和输出。
//文件输入
FileInputStream fis = new FileInputStream("file.txt");
int b;
while((b=fis.read())!=-1){
System.out.print((char)b);
}
fis.close();
//文件输出
FileOutputStream fos = new FileOutputStream("file.txt");
String str = "Hello World!";
fos.write(str.getBytes());
fos.close();
3.3 反射
反射是Java中的一种机制,它可以让程序在运行时动态地创建对象、调用方法和访问属性,面向对象的封装性得到了很好的保护。
Class clazz = Class.forName("com.example.Person");
Constructor cons = clazz.getConstructor(String.class, int.class);
Object obj = cons.newInstance("张三", 20);
Method method = clazz.getDeclaredMethod("sayHello");
method.invoke(obj);
3.4 泛型
泛型是Java中的一种模板机制,它可以让程序在编译时检查类型安全,避免了类型转换的麻烦。
//定义泛型类
public class Box{
private T t;
public void set(T t){
this.t = t;
}
public T get(){
return t;
}
}
//使用泛型类
Box box = new Box();
box.set("Hello");
String str = box.get();
3.5 Lambda表达式
Lambda表达式是Java SE8引入的一种新特性,它可以让程序员使用更少的代码实现通用的功能,例如集合的遍历和过滤。
//遍历集合
List list = new ArrayList();
list.add("Java");
list.add("Python");
list.add("C++");
list.forEach((s) -> System.out.println(s));
//过滤集合
List list = new ArrayList();
list.add("Java");
list.add("Python");
list.add("C++");
list = list.stream().filter(s -> s.startsWith("J")).collect(Collectors.toList());
3.6 并发编程
并发编程是Java中的一个重要特性,它可以让程序运行在多个线程中,提高程序的运行效率。Java提供了多线程的支持,通过一些关键字和类实现多线程的创建和管理。
//实现Runnable接口
public class MyThread implements Runnable{
public void run(){
System.out.println("线程运行中");
}
}
//创建线程
Thread t = new Thread(new MyThread());
t.start();
原创文章,作者:RBMW,如若转载,请注明出处:https://www.506064.com/n/136232.html
微信扫一扫
支付宝扫一扫