JAVA学习 DAY1 初识JAVA

news2025/6/2 20:10:45

 本系列可作为JAVA学习系列的笔记,文中提到的一些练习的代码,小编会将代码复制下来,大家复制下来就可以练习了,方便大家学习。

点赞关注不迷路!您的点赞、关注和收藏是对小编最大的支持和鼓励! 


 系列文章目录

JAVA学习 DAY1 初识JAVA


目录

 系列文章目录

前言

一、Java基础概论

1. Java是什么?

2. Java的核心优势

3. Java的技术架构

4. 开发环境搭建

5. Java基础语法入门

6. Java的核心库与API

7. Java的学习路径建议

8. 常见问题解答

9.总结

总结


前言

小编作为新晋码农一枚,会定期整理一些写的比较好的代码,作为自己的学习笔记,会试着做一下批注和补充,如转载或者参考他人文献会标明出处,非商用,如有侵权会删改!欢迎大家斧正和讨论!

一、Java基础概论

1. Java是什么?

Java是一门面向对象跨平台的高级编程语言,由Sun Microsystems(后被Oracle收购)于1995年推出。其核心设计理念是“一次编写,到处运行”(WORA),通过Java虚拟机(JVM)实现跨平台兼容性。

  • 应用领域:Web开发、移动端(Android)、大数据、企业级系统、桌面应用等。
  • 语言特性
    • 跨平台性(JVM机制)
    • 面向对象(封装、继承、多态)
    • 内存自动管理(垃圾回收机制)
    • 强类型、安全性高

2. Java的核心优势

  • 跨平台性
    Java代码被编译为字节码(.class文件),由JVM解释执行。不同操作系统(Windows/Linux/macOS)只需安装对应JVM即可运行。
    类比:类似“翻译器”,将同一份“说明书”(字节码)适配不同国家的“机器”(操作系统)。

  • 面向对象编程(OOP)
    通过类(Class)对象(Object)组织代码,支持封装、继承、多态,提高代码复用性和可维护性。
    示例

    class Dog {
        String name;
        void bark() {
            System.out.println(name + " says: Woof!");
        }
    }
    public class Main {
        public static void main(String[] args) {
            Dog myDog = new Dog();
            myDog.name = "Buddy";
            myDog.bark(); // 输出: Buddy says: Woof!
        }
    }
  • 内存自动管理
    通过垃圾回收器(GC)自动释放无用内存,避免手动管理内存的复杂性(如C++需delete)。

  • 安全性与健壮性

    • 强制类型检查、异常处理机制。
    • 沙箱环境限制代码对系统资源的访问(如浏览器中的Java Applet)。

3. Java的技术架构

Java的技术体系可分为三部分:

  1. Java SE(标准版)
    • 基础语法、核心库(如java.langjava.util)。
    • 适合开发桌面应用、小型服务器程序。
  2. Java EE(企业版,现Jakarta EE)
    • 用于构建大型分布式系统,提供Servlet、JSP、EJB等技术。
    • 典型框架:Spring、Hibernate。
  3. Java ME(微型版)
    • 针对嵌入式设备(如旧式手机),现已被Android取代。

4. 开发环境搭建

  • JDK安装
    1. 下载JDK(包含JVM和开发工具javac)。
    2. 配置环境变量:
      • JAVA_HOME:指向JDK安装路径。
      • Path:添加%JAVA_HOME%\bin
    3. 验证:
      java -version  # 查看JVM版本
      javac -version # 查看编译器版本
  • 开发工具选择
    • IDE:IntelliJ IDEA(功能强大)、Eclipse(免费开源)。
    • 轻量级编辑器:VS Code(需安装Java扩展包)。

5. Java基础语法入门

  • 第一个Java程序
    public class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello, Java!");
        }
    }
    • 编译与运行
      1. 保存为HelloWorld.java
      2. 命令行执行:javac HelloWorld.java(生成.class文件)。
      3. 运行:java HelloWorld(输出:Hello, Java!)。
  • 关键语法点
    • 变量与数据类型
      int age = 25;        // 整数
      double price = 9.99; // 浮点数
      String name = "Alice"; // 字符串
    • 控制流
      if (age >= 18) {
          System.out.println("Adult");
      } else {
          System.out.println("Minor");
      }
    • 循环
      for (int i = 0; i < 5; i++) {
          System.out.println(i);
      }

6. Java的核心库与API

  • 集合框架
    • List(有序):ArrayListLinkedList
    • Set(无重复):HashSetTreeSet
    • Map(键值对):HashMapTreeMap
  • IO流
    • 文件读写:FileInputStreamBufferedReader
  • 多线程
    • 创建线程:

      java

      Thread thread = new Thread(() -> {
          System.out.println("Running in a thread!");
      });
      thread.start();

7. Java的学习路径建议

  1. 基础语法
    • 变量、数据类型、运算符、控制流。
    • 面向对象编程(类、对象、继承、多态)。
  2. 核心库与API
    • 集合框架、IO流、多线程、异常处理。
  3. 实战项目
    • 简易计算器、学生管理系统。
    • 尝试Spring Boot开发RESTful API。
  4. 进阶方向
    • 设计模式、JVM原理、性能优化。
    • 分布式系统、微服务架构。

8. 常见问题解答

  • Java与C++的区别

    特性JavaC++
    内存管理自动垃圾回收手动管理(new/delete
    跨平台性通过JVM实现需重新编译
    面向对象纯面向对象支持过程式编程
    性能略低于C++(JVM开销)高性能
  • Java适合初学者吗?

    • 优点:语法清晰、文档完善、社区活跃。
    • 缺点:抽象概念多(如JVM、OOP),需耐心学习。
  • Java的未来趋势

    • 仍是企业级开发的主流语言(如金融、电信)。
    • 在云计算、大数据(Hadoop/Spark)领域持续强势。
    • 新兴语言(如Go、Kotlin)在特定场景有优势,但Java生态完善,短期不会被取代。

9.总结

Java是一门兼具跨平台性稳定性广泛生态的编程语言,适合从入门到进阶的长期学习。初学时需注重基础语法和面向对象思维的培养,通过项目实践巩固知识。随着技术发展,Java在云计算、大数据等领域的应用将持续深化,是开发者值得投入的核心技能之一。


总结

以上就是今天要讲的内容,本文简单记录了java基本概述,仅作为一份简单的笔记使用,大家根据注释理解,您的点赞关注收藏就是对小编最大的鼓励!

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

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

相关文章

Vue能启动但访问空白?并报”export ‘default’ (imported as ‘Vue’) was not found in ‘vue’

场景 如图&#xff0c;vue项目的node_modules下载顺利&#xff0c;启动也顺利&#xff0c;但是访问却为空白页面 虽然页面是空白&#xff0c;但是通过浏览器控制台可以看出并非简单的空白&#xff0c;确实有不兼容问题在里面 分析问题 从上图浏览器控制台可以看出&#xff0c…

Electron-vite【实战】MD 编辑器 -- 系统菜单(含菜单封装,新建文件,打开文件,打开文件夹,保存文件,退出系统)

最终效果 整体架构 src/main/index.ts import { createMenu } from ./menu在 const mainWindow 后 // 加载菜单createMenu(mainWindow)src/main/menu.ts import { BrowserWindow, Menu, MenuItem, MenuItemConstructorOptions, dialog, shell } from electron import fs from…

【Docker系列】Docker 容器内安装`ps`命令

博客目录 一、为什么需要在 Docker 容器中安装ps命令二、不同 Linux 发行版的安装方法1. Alpine Linux 镜像的安装方法2. Debian/Ubuntu 镜像的安装方法3. CentOS/RHEL 镜像的安装方法 三、验证安装与基本使用四、永久解决方案&#xff1a;修改 Dockerfile1. Alpine 基础镜像的…

华为OD机试真题——生成哈夫曼树(2025A卷:100分)Java/python/JavaScript/C/C++/GO六种最佳实现

2025 A卷 100分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析; 并提供Java、python、JavaScript、C++、C语言、GO六种语言的最佳实现方式! 本文收录于专栏:《2025华为OD真题目录+全流程解析/备考攻略/经验分享》 华为OD机试真题《生成…

大厂前端研发岗位设计的30道Webpack面试题及解析

文章目录 一、基础核心二、配置进阶三、性能优化四、Loader原理五、Plugin机制六、高级应用七、工程化实战八、原理深挖九、异常处理十、综合场景一、基础核心 Webpack的核心概念是什么? 解析:入口(entry)、输出(output)、加载器(loader)、插件(plugins)、模式(mode)。Loader…

Oracle中EXISTS NOT EXISTS的使用

目录 1.IN与EXISTS EXISTS用法总结 2.NOT IN与NOT EXISTS 3.not in 中 null的用法 4.EXISTS和IN的区别 (面试常问) 1.IN与EXISTS 示例&#xff1a;在 DEPT 表中找出在 EMP 表中存在的部门编号&#xff1b; 方法一&#xff1a;使用in select DEPTNO from DEPT where D…

01.认识Kubernetes

什么是Kubernets 套用官方文档对Kubernetes的定义&#xff0c;翻译成中文的意思是&#xff1a; Kubernetes&#xff0c;也称为k8&#xff0c;是一个用于自动化部署、扩展和管理容器化应用程序的开源系统。 它将组成应用程序的容器分组为逻辑单元&#xff0c;以便于管理和发现…

【PostgreSQL 02】PostgreSQL数据类型革命:JSON、数组与地理信息让你的应用飞起来

PostgreSQL数据类型革命&#xff1a;JSON、数组与地理信息让你的应用飞起来 关键词 PostgreSQL高级数据类型, JSONB, 数组类型, PostGIS, 地理信息系统, NoSQL, 文档数据库, 空间数据, 数据库设计, PostgreSQL扩展 摘要 PostgreSQL的高级数据类型是其区别于传统关系数据库的核心…

Acrobat DC v25.001 最新专业版已破,像word一样编辑PDF!

在数字化时代&#xff0c;PDF文件以其稳定性和通用性成为了文档交流和存储的热门选择。无论是阅读、编辑、转换还是转曲&#xff0c;大家对PDF文件的操作需求日益增加。因此&#xff0c;一款出色的PDF处理软件不仅要满足多样化的需求&#xff0c;还要通过简洁的界面和强大的功能…

桥 接 模 式

在玩游戏的时候我们常常会遇到这样的机制&#xff1a;我们可以随意选择不同的角色&#xff0c;搭配不同的武器。这时只有一个抽象上下文的策略模式就不那么适用了&#xff0c;因为一旦我们使用继承的方式&#xff0c;武器和角色总有一方会变得难以扩展。这时&#xff0c;我们就…

基于 Flink+Paimon+Hologres 搭建淘天集团湖仓一体数据链路

摘要&#xff1a;本文整理自淘天集团高级数据开发工程师朱奥老师在 Flink Forward Asia 2024 流式湖仓论坛的分享。内容主要为以下五部分&#xff1a; 1、项目背景 2、核心策略 3、解决方案 4、项目价值 5、未来计划 01、项目背景 1.1 当前实时数仓架构 当前的淘天实时架构是从…

多杆合一驱动城市空间治理智慧化

引言&#xff1a;城市“杆林困境”与智慧化破局 走在现代城市的街道上&#xff0c;路灯、监控、交通信号灯、5G基站等杆体林立&#xff0c;不仅侵占公共空间&#xff0c;更暴露了城市治理的碎片化问题。如何让这些“沉默的钢铁”升级为城市的“智慧神经元”&#xff1f;答案在…

用QT写一个车速表

主要包含以下绘制步骤&#xff1a; 1、绘制画布&#xff1a; /** 绘制画布 */ void Widget::initCanvas(QPainter &painter) {//消除锯齿painter.setRenderHint(QPainter::Antialiasing,true);//设置底色painter.setBrush(QColor(0,0,0));painter.drawRect(rect());//平移…

数控技术应用理实一体化平台VR实训系统

::产品概述:: 目前我国本科类院校学生普遍存在的问题就是缺少对实际工作的了解&#xff0c;一直在学习相关专业的理论知识&#xff0c;对社会的相关企业的用人情况不了解。这也就直接导致了毕业的学生和社会上的用人单位需求有点脱节&#xff0c;这也是由于我国的现行本科教育侧…

C# 将HTML文档、HTML字符串转换为图片

在.NET开发中&#xff0c;将HTML内容转换为图片的需求广泛存在于报告生成、邮件内容存档、网页快照等场景。Free Spire.Doc for .NET作为一款免费的专业文档处理库&#xff0c;无需Microsoft Word依赖&#xff0c;即可轻松实现这一功能。本文将深入解析HTML文档和字符串转图片两…

界面控件DevExpress WinForms v24.2新版亮点:富文本编辑器功能全新升级

DevExpress WinForms拥有180组件和UI库&#xff0c;能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序&#xff0c;无论是Office风格的界面&#xff0c;还是分析处理大批量的业务数据&#xff0c;它都能轻松胜…

华为云Flexus+DeepSeek征文|华为云 Flexus X 加速 Dify 平台落地:高性能、低成本、强可靠性的云上选择

目录 前言 1 一键部署 Dify 平台的完整步骤 1.1 选择模板 1.2 参数配置 1.3 资源栈设置 1.4 配置确认与部署 2 Flexus X 服务器的技术优势 2.1 柔性算力随心配 2.2 一直加速一直快 2.3 越用越省降本多 2.4 安全可靠更放心 3 Flexus X 在 Dify 解决方案中的性能体验…

Jenkins 2.479.1安装和邮箱配置教程

1.安装 在JDK安装并设置环境变量完成后&#xff0c;下载官网对应的war版本&#xff0c;在对应目录下打开命令行窗口并输入 java -jar jenkins.war其余参数感兴趣可以自行查阅&#xff0c;这里启动的 jenkins 服务默认占用8080端口&#xff0c;在浏览器输入 localhost:8080进入…

DFS入门刷题c++

目录 821. 跳台阶 - AcWing题库 ​92. 递归实现指数型枚举 - AcWing题库 ​P1706 全排列问题 - 洛谷 (luogu.com.cn) P1157 组合的输出 - 洛谷 (luogu.com.cn) ​P1036 [NOIP 2002 普及组] 选数 - 洛谷 (luogu.com.cn) P2089 烤鸡 - 洛谷 (luogu.com.cn) P1088 [NOIP 2…

ToolsSet之:十六进制及二进制编辑运算工具

ToolsSet是微软商店中的一款包含数十种实用工具数百种细分功能的工具集合应用&#xff0c;应用基本功能介绍可以查看以下文章&#xff1a; Windows应用ToolsSet介绍https://blog.csdn.net/BinField/article/details/145898264 ToolsSet中Number菜单下的Hex Operate工具可以进…