Java入门学习详细版(一)

news2025/12/14 14:47:02

大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 + 实践 + 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。

第一阶段:准备与基础概念 (1-2 周)

1. 理解 Java 是什么

  • 一种高级、面向对象、跨平台的编程语言。

  • 核心优势: “Write Once, Run Anywhere” (WORA) - 得益于 Java 虚拟机 (JVM)。

  • 主要应用领域:
    企业级应用开发 (后端服务、Web 应用)
    Android 应用开发
    大数据技术 (Hadoop, Spark)
    桌面应用程序 (相对较少)
    嵌入式系统
    科学计算

2. 搭建开发环境

  • 安装 Java Development Kit (JDK):这是核心,包含了编译器 (javac) 和运行时环境 (JRE)。

  • 选择 Oracle JDK 或 OpenJDK (推荐 OpenJDK,免费开源)。下载对应你操作系统的版本 (Windows,
    macOS, Linux)。

  • 配置环境变量 (PATH 和 JAVA_HOME)

    1. JAVA_HOME: 指向你的 JDK 安装目录 (e.g., C:\Program Files\Java\jdk-21/usr/lib/jvm/java-21-openjdk-amd64)。
    2. PATH: 添加 %JAVA_HOME%\bin (Windows) 或 $JAVA_HOME/bin (macOS/Linux)。
      验证安装:打开终端/命令提示符,输入 java -versionjavac -version。应该能看到安装的版本信息。
      选择集成开发环境 (IDE): 强烈推荐!极大提高效率。
    3. IntelliJ IDEA (Community Edition):免费,功能强大,对 Java 支持极佳,强烈推荐新手使用。

3. 第一个 Java 程序:Hello World

  • 在你的 IDE 中创建一个新项目。 创建一个名为HelloWorld.java 的类文件。 输入以下代码:
 java
    public class HelloWorld { // 类名必须与文件名完全一致(区分大小写)
        public static void main(String[] args) { // 程序执行的入口点
            System.out.println("Hello, World!"); // 向控制台输出文本
        }
    }
  • 理解关键点:
    public class HelloWorld: 定义一个公共类,类名是 HelloWorld
    public static void main(String[] args): 主方法,程序启动时从这里开始执行。这是固定写法。
    System.out.println(...): 用于在控制台输出一行文本。

  • 编译和运行:
    在 IDE 中通常有“运行”按钮 (▶️)。
    手动编译:javac HelloWorld.java (生成 HelloWorld.class 字节码文件)。
    手动运行:java HelloWorld (注意不要加 .class)。

第二阶段:核心语法基础 (2-4 周)

4. 变量与数据类型:

  • 变量: 存储数据的命名容器。

  • 声明: 数据类型 变量名; (e.g., int age;)

  • 初始化: 变量名 = 值; (e.g., age = 25;) 或声明时初始化 int age = 25;

  • 基本数据类型 (Primitive Types): 直接存储值。
    整型: byte (8位), short (16位), int (32位, 常用), long (64位, 后缀 L)
    浮点型: float (32位, 后缀 F), double (64位, 常用)
    字符型: char (16位 Unicode, 单引号 'A')
    布尔型: boolean (true / false)

  • 引用数据类型 (Reference Types): 存储对象的引用 (内存地址)。包括类 (如 String)、数组、接口等。
    String 类: 非常重要!表示字符串 (双引号 "Hello")。它是不可变的。学习常用方法 (length(), charAt(), substring(), equals(), toLowerCase(),
    indexOf() 等)。

5. 运算符:

  • 算术运算符: +, -, *, /, % (取模), ++ (自增), -- (自减)
  • 赋值运算符: =, +=, -=, *=, /=, %=
  • 关系运算符 (比较): ==, !=, >, <, >=, <= (结果为 boolean)
  • 逻辑运算符: && (逻辑与), || (逻辑或), ! (逻辑非) (操作 boolean 值)
  • 位运算符 (了解): &, |, ^, ~, <<, >>, >>>
    -条件运算符 (三元运算符): 条件 ? 表达式1 : 表达式2

6. 控制流:

  • 条件语句
  if`:
        ```java
        if (条件) {
            // 条件为 true 时执行
        }
        ```
       `if-else`:
        ```java
        if (条件) {
            // 条件为 true 时执行
        } else {
            // 条件为 false 时执行
        }
        ```
       `if-else if-else`:
        ```java
        if (条件1) {
            // ...
        } else if (条件2) {
            // ...
        } else {
            // ...
        }
        ```
       `switch-case` (适用于多分支,JDK 7+ 支持 `String`):
        ```java
        switch (表达式) {
            case 值1:
                // 代码块1
                break; // 跳出 switch
            case 值2:
                // 代码块2
                break;
            ...
            default:
                // 没有匹配 case 时执行
        }
        ```

循环语句:
for (已知循环次数):

      for (初始化; 循环条件; 迭代语句) {
          // 循环体
      }
      ```
     `while` (先判断条件):
      ```java
      while (循环条件) {
          // 循环体
      }
      ```
    `do-while` (至少执行一次):
      ```java
      do {
          // 循环体
      } while (循环条件);
      ```
     循环控制:
            `break;` - 跳出当前循环。
            `continue;` - 跳过本次循环剩余语句,进入下一次循环。
            `return;` - 跳出当前方法 (也会终止循环)。
本篇内容到此结束,接下来还会出一篇供大家学习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2407540.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…