【Java】面向对象01-语言基础 (期末大纲复习)

前言

这几天有点忙,没时间一下写完,大概每天更一部分。按老师给出的大纲写几篇Java面向对象与程序设计复习。最后会总结成一个大长篇便于学弟学妹看着复习(包括考试题型,知识点,考试题回忆)。适合初学者和期末突击者观看^^!

语言基础

了解Java语言的历史、Java程序的执行机制;

Java语言的历史:

Java是一种由Sun Microsystems(现在是Oracle Corporation)于1995年推出的编程语言。以下是Java语言的主要历史里程碑:

  1. 1991年: James Gosling、Mike Sheridan和Patrick Naughton等人在Sun Microsystems工作,开始了一个名为"Green"的项目,旨在开发一种适用于嵌入式系统的新语言。

  2. 1995年: Java正式发布。这一时期,Java的目标是创建一种能够在各种计算机平台上运行的、可移植的编程语言。

  3. 1996年: Java 1.0发布,标志着Java的广泛应用开始。

  4. 2004年: Java 5.0发布,引入了许多新特性,如泛型、枚举和注解。

  5. 2011年: Java 7发布,引入了新的语言特性和改进。

  6. 2014年: Java 8发布,引入了Lambda表达式和流API等功能。

  7. 2017年: Java 9发布,引入了模块系统等新特性。

  8. 之后: Java继续发展,每年都有新的版本发布,不断提供新的特性和改进。

Java程序的执行机制:

Java程序的执行过程主要包括以下步骤:

  1. 编写代码: 使用Java编程语言编写源代码文件,文件扩展名为 .java

  2. 编译代码: 使用Java编译器(javac)将源代码编译成字节码文件( .class文件),这个过程将Java源代码翻译成Java虚拟机(JVM)能够理解的中间代码。

  3. 字节码: 字节码是一种与平台无关的中间代码,它可以在任何安装了Java虚拟机的计算机上运行。

  4. 类加载: Java程序在运行时由Java虚拟机加载。类加载器将字节码文件加载到内存中,并创建一个对应的 Class对象。

  5. 运行程序: JVM执行加载的字节码。在运行时,Java虚拟机将字节码翻译成本地机器代码,这样就可以在特定的硬件上执行。

整个过程中,Java的“一次编译,到处运行”的特性使得Java程序具有高度的可移植性,因为字节码可以在任何支持Java虚拟机的平台上运行。这也是Java语言的一个重要设计目标之一。

掌握正确创建源文件、包声明、导入说明、所有形式的类声明、接口声明和实现、方法声明(包括用来开始执行一个程序的主方法)、变量声明和标识符等;

1. Java源文件结构:

一个Java源文件通常包括以下几个部分:

  • 包声明(Package Declaration): 表示该文件所属的包,如果有的话,应该放在文件开头。

  • 导入说明(Import Statements): 用于引入其他包中的类,接口或静态成员。

  • 类声明(Class Declaration): Java程序中的基本组成单元,包含了字段(成员变量)和方法。

  • 接口声明(Interface Declaration): 一种抽象类型,包含了一组抽象方法。

  • 方法声明(Method Declaration): 包含了方法的名称、返回类型、参数列表和方法体。

  • 变量声明(Variable Declaration): 声明了变量的名称和类型。

  • 标识符(Identifiers): 用于命名类、方法、变量等的名称。

2. Java源文件示例:

下面是一个简单的Java源文件示例,展示了各种声明和结构:

java

// 包声明
package com.example.myapp;

// 导入说明
import java.util.ArrayList;
import java.util.List;

// 类声明
public class MyClass {
    
    // 字段声明
    private int myField;

    // 构造方法
    public MyClass(int initialValue) {
        this.myField = initialValue;
    }

    // 方法声明
    public void myMethod() {
        System.out.println("Hello from myMethod!");
    }

    // 主方法,程序入口
    public static void main(String[] args) {
        // 创建类实例
        MyClass myObject = new MyClass(42);

        // 调用方法
        myObject.myMethod();
    }
}

// 接口声明
interface MyInterface {
    // 抽象方法
    void interfaceMethod();
}

在这个例子中,我们有一个名为 MyClass的类,其中包含了字段、构造方法、普通方法,以及一个用于程序入口的主方法。此外,还有一个 MyInterface接口,包含一个抽象方法。这个文件所属的包是 com.example.myapp,并且导入了 java.util包中的一些类。

识别Java编程语言中的所有关键词并正确构建标识符

java

abstract  assert   boolean  break    byte     case
catch     char     class    const    continue default
do        double   else     enum     extends  final
finally  float    for      goto     if       implements
import    instanceof int      interface long     native
new      package  private  protected public   return
short    static   strictfp super    switch   synchronized
this     throw    throws   transient try      void
volatile while

这些关键字在Java中有特殊的含义,不能用作标识符。标识符则是由用户定义的名称,需要遵循一些规则:

  1. 标识符的命名规则:

    • 由字母、数字、下划线(_)和美元符号($)组成。
    • 必须以字母、下划线或美元符号开始。
    • 大小写敏感。
  2. Java的命名规范:

    • 类名以大写字母开头,采用驼峰命名法(例如: MyClass)。
    • 方法名以小写字母开头,采用驼峰命名法(例如: myMethod)。
    • 变量名以小写字母开头,采用驼峰命名法(例如: myVariable)。
    • 常量名通常采用全大写,用下划线分隔单词(例如: MAX_VALUE)。
示例:

java

// 合法的标识符
int myVariable;
String myString;
MyClass myObject;

// 非法的标识符,因为它是一个关键字
// 编译器将会报错
int class;

在这个例子中, class是一个关键字,因此不能用作标识符。如果尝试使用关键字作为标识符,编译器会产生错误。标识符的正确使用是编写清晰、易读的Java代码的关键之一。

掌握变量的初始化,字符串类型变量和数组类型变量特殊的初始化方式;

1. 基本数据类型变量的初始化:

基本数据类型包括整型、浮点型、字符型和布尔型。这些类型的变量可以通过直接赋值来初始化。

java

// 整型初始化
int intValue = 42;

// 浮点型初始化
double doubleValue = 3.14;

// 字符型初始化
char charValue = 'A';

// 布尔型初始化
boolean boolValue = true;
2. 引用数据类型变量的初始化:

引用数据类型包括类、接口、数组等。引用类型的变量初始化时,需要使用 new关键字来创建对象。

java

// 类初始化
MyClass myObject = new MyClass();

// 接口初始化(通常是实现接口的类的实例)
MyInterface myInterfaceObject = new MyInterfaceImpl();

// 数组初始化
int[] intArray = new int[5];
String[] stringArray = new String[]{"apple", "banana", "orange"};
3. 字符串类型变量的初始化:

字符串是Java中的引用数据类型,但它有一种特殊的初始化方式——使用双引号。

java

// 字符串初始化
String myString = "Hello, World!";

Java中的字符串是不可变的,一旦创建,就不能修改。字符串初始化后,可以使用各种字符串操作方法。

4. 数组类型变量的初始化:

数组是一种引用数据类型,可以通过 new关键字来初始化。

java

// 数组初始化
int[] intArray = new int[5];  // 初始化一个包含5个整数的数组
double[] doubleArray = {1.0, 2.0, 3.0};  // 初始化一个包含3个双精度浮点数的数组

在数组的初始化中,可以指定数组的长度,并且可以使用花括号直接给数组元素赋值。

注意: 对于数组类型,一旦确定了数组长度,就不能再改变。如果需要动态大小的集合,可以使用 ArrayList等集合类。

了解所有基本数据类型的取值范围、掌握基本数据类型的常量表示形式;

1. 整型(int、long、short、byte):
  • int: 32位,范围为 -2^312^31 - 1

    java

    int myInt = 42;
    
  • long: 64位,范围为 -2^632^63 - 1

    java

    long myLong = 123456789L; // 注意:long类型的常量要加上"L"或"l"
    
  • short: 16位,范围为 -2^152^15 - 1

    java

    short myShort = 100;
    
  • byte: 8位,范围为 -2^72^7 - 1

    java

    byte myByte = 127;
    
2. 浮点型(float、double):
  • float: 32位,范围为 IEEE 754 规定的大约 -3.4e383.4e38

    java

    float myFloat = 3.14f; // 注意:float类型的常量要加上"F"或"f"
    
  • double: 64位,范围为 IEEE 754 规定的大约 -1.7e3081.7e308

    java

    double myDouble = 3.14;
    
3. 字符型(char):
  • char: 16位,表示Unicode字符,范围为 02^16 - 1

    java

    char myChar = 'A';
    
4. 布尔型(boolean):
  • boolean: 只有两个值, truefalse

    java

    boolean myBoolean = true;
    

在Java中,可以使用常量来表示特定的数值,例如 final 关键字定义的常量:

java

final int MAX_VALUE = 100;
final double PI = 3.14159;

这样的常量在程序中不能被修改,提高了代码的可读性和维护性。注意,约定上,常量的命名通常采用全大写,用下划线分隔单词。例如, MAX_VALUEPI

掌握String、StringBuilder类型的基本使用。

在Java中, StringStringBuilder 是用于处理字符串的两个常用类,它们有不同的特性和适用场景。

1. String 类:

String 是不可变的类,一旦创建,它的值不能被更改。这意味着每次对字符串进行操作时,实际上都会创建一个新的字符串对象。

常见的 String 操作:

java

String str1 = "Hello";
String str2 = "World";

// 字符串拼接
String result = str1 + " " + str2; // "Hello World"

// 获取字符串长度
int length = result.length(); // 11

// 检查字符串是否为空
boolean isEmpty = result.isEmpty(); // false

// 获取子串
String subString = result.substring(6); // "World"

// 字符串比较
boolean isEqual = str1.equals(str2); // false
2. StringBuilder 类:

StringBuilder 是可变的类,它允许对字符串进行修改而不创建新的对象。因此,在大量字符串拼接或修改的情况下,使用 StringBuilder 效率更高。

常见的 StringBuilder 操作:

java

StringBuilder stringBuilder = new StringBuilder("Hello");

// 字符串拼接
stringBuilder.append(" World"); // "Hello World"

// 获取字符串长度
int length = stringBuilder.length(); // 11

// 插入字符串
stringBuilder.insert(5, ","); // "Hello, World"

// 删除子串
stringBuilder.delete(5, 6); // "Hello World"

// 反转字符串
stringBuilder.reverse(); // "dlroW olleH"

// 转换为 String 类型
String result = stringBuilder.toString();
总结:
  • 使用 String 当字符串内容不经常改变时,或者作为常量使用。
  • 使用 StringBuilder 当需要频繁对字符串进行修改时,以提高效率。

总的来说, String 适用于不经常变更的字符串,而 StringBuilder 适用于需要经常修改的字符串。选择合适的类取决于特定情况下的需求和性能考虑。

  • 22
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值