第1章和第二2章

           第1章

1.1 计算机编程语言发展史

(1)机器语言——》汇编语言——》高级语言

(2)被誉为java语言之父的是:詹姆斯

(3)Java语言的特点:扩平台性

1.42Java跨平台的原理

每个支持Java的操作系统都有一个对应的JVM实现。JVM负责解释或即时编译(Just-In-Time Compilation, JIT)字节码,并将其转换成适合当前操作系统的本地机器指令

1.5 JDK和JRE

(1)开发java语言代码==》JDK

(2)运行JAVA代码 ==》JRE

第2章:Java 编程基础

2.1 Java 程序结构

  • 源文件:每个Java源文件通常包含一个公共类(public class),其名称必须与文件名相同。

  • 包声明:使用package关键字指定该文件所属的命名空间。例如:package com.example;

  • 导入语句:通过import关键字引入其他包中的类或接口。例如:import java.util.Scanner;

  • 类定义:Java程序的基本构建块,由属性(字段)、构造器和方法组成。

  • 主方法:每个Java应用程序至少需要一个main方法作为入口点,格式为:

    • 源文件:每个Java源文件通常包含一个公共类(public class),其名称必须与文件名相同。

    • 包声明:使用package关键字指定该文件所属的命名空间。例如:package com.example;

    • 导入语句:通过import关键字引入其他包中的类或接口。例如:import java.util.Scanner;

    • 类定义:Java程序的基本构建块,由属性(字段)、构造器和方法组成。

    • 主方法:每个Java应用程序至少需要一个main方法作为入口点,格式为:

      public static void main(String[] args) { // 程序从这里开始执行 }

  • 2.2 数据类型

    变量:用于存储可以改变的数据值。声明时需指定数据类型。例如:int count 

    • 基本数据类型:

      • 整数类型:byteshortintlong。例如:int age = 25;
      • 浮点类型:floatdouble。例如:double pi = 3.14159;
      • 字符类型:char。例如:char grade = 'A';
      • 布尔类型:boolean。例如:boolean isStudent = true;
    • 引用数据类型:

      • 类:如String、自定义类等。
      • 数组:存储相同类型的多个元素。例如:int[] numbers = {1, 2, 3};
      • 接口:定义行为规范,但不实现具体逻辑。

    2.3 变量与常量

  • 变量:用于存储可以改变的数据值。声明时需指定数据类型。例如:int count = 0;
  • 常量:使用final关键字声明,一旦赋值就不能更改。例如:final double PI = 3.14159;
  • 2.54控制结构

  • 选择结构:
  • if语句:根据条件执行不同的代码块。例如:
  • 1
    2
    3
    if (temperature > 30) {
        System.out.println("It's hot outside.");
    }

      switch语句:多分支选择,适用于离散值。例如:

  • 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    switch (dayOfWeek) {
        case "Monday":
            System.out.println("Start of the week");
            break;
        case "Friday":
            System.out.println("End of the work week");
            break;
        default:
            System.out.println("Another day");
    }

      循环结构:

  • for循环:已知次数的重复执行。例如:
  • 1
    2
    3
    for (int i = 0; i < 10; i++) {
        System.out.println(i);
    }

      while循环:未知次数的重复执行,直到条件不再满足。例如:

  • 1
    2
    3
    4
    5
    int counter = 0;
    while (counter < 5) {
        System.out.println(counter);
        counter++;
    }

    do-while循环:至少执行一次,然后根据条件决定是否继续。例如:

  • 1
    2
    3
    do {
        System.out.println("This will print at least once");
    } while (false);
    • 跳转语句:

      • break:立即退出最内层循环或switch语句。
      • continue:跳过当前循环体中剩余部分,直接进入下一次迭代。
      • return:从方法中返回,可选带返回值。

    2.6 方法(函数)

    • 定义方法:方法是一段完成特定任务的代码块,可以通过调用来复用。例如:

    • 1
      2
      3
      public void greet() {
          System.out.println("Hello!");
      }  

      参数传递:

      • 方法可以接受零个或多个参数,用于传递外部数据。例如:
      • 1
        2
        3
        public void greet(String name) {
            System.out.println("Hello, " + name + "!");
        }

        返回值:方法可以有返回值,指定返回的数据类型。例如:

      • 1
        2
        3
        public int add(int a, int b) {
            return a + b;
        }

        重载(Overloading):

      • 同一方法名可以有不同的参数列表,编译器会根据参数类型和数量自动选择合适的方法。例如:
      • 1
        2
        public void display(int number) { /* ... */ }
        public void display(String message) { /* ... */ }

        2.7 数组

        数组是用于存储固定数量相同类型元素的数据结构。它们可以是一维或多维的,并且提供了对多个数据项进行操作的便捷方式。一维数组:

      • 声明和初始化:可以通过指定大小或直接赋值来创建数组。、
      • 可以使用for循环或者增强的for-each循环来遍历数组。

 

 

for (int i = 0; i < numbers.length; i++) { System.out.println(numbers[i]); } for (String name : names) { System.out.println(name); }

 

2.8 JVM中的堆内存与栈内存

 

  • 堆内存(Heap Memory):
  • 用途:主要用于存储对象实例和大型数据结构。所有通过new关键字创建的对象都分配在堆上。特点:
    • 堆是一个共享资源,由整个应用程序的所有线程共同使用。
    • 对象的生命周期独立于创建它的方法或作用域。
    • 垃圾回收机制自动管理堆上的内存释放,开发者无需手动干预。
    • 栈内存(Stack Memory):
    • 用途:用于存储局部变量、方法参数以及方法调用信息(如返回地址)。每个线程都有自己的私有栈。

    • 特点:

      栈的操作非常快,因为它是按后进先出(LIFO)原则组织的。

      局部变量的生命周期仅限于其所在的方法或代码块。当方法调用结束时,相关联的栈帧会被弹出,占用的空间也会被释放。

    • 堆栈交互:

      • 方法内部声明的对象引用通常存放在栈上,而实际的对象则存放在堆上。
      • 如果一个方法接收对象作为参数,那么传递的是该对象的引用(即地址),而不是对象本身。
      • 返回值如果是对象,则同样只返回引用。
posted @   乘风破浪的小落夜  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示