Java从入门到“放弃”(精通)之旅——启航①

🌟Java从入门到“放弃 ”精通之旅🚀

今天我将要带大家一起探索神奇的Java世界!希望能帮助到同样初学Java的你~ (๑•̀ㅂ•́)و✧

🔥 Java是什么?为什么这么火?

Java不仅仅是一门编程语言,更是一个完整的技术体系!它由Sun公司(现Oracle)在1995年推出,凭借"Write Once, Run Anywhere"的理念迅速风靡全球。

Java语言发展史 在这里插入图片描述

看看2017年12月和2018年10月最新的TIOBE编程语言社区排行榜就知道Java有多受欢迎了:
在这里插入图片描述

排名语言市场份额
1Java17.801%
2C15.376%
3C++7.593%

小知识:Java最初叫Oak(橡树),因为创始人James Gosling办公室外有一棵橡树🌳

💼 Java能做什么?就业方向有哪些?

学Java不愁找工作!主要应用领域包括:

  • 🏢 企业级系统:银行、电信等大型系统
  • 🌐 Web开发:京东、淘宝等电商平台
  • 📱 Android开发:80%的安卓APP用Java开发
  • 📊 大数据:Hadoop、Spark等大数据框架
  • 🎮 游戏开发:Minecraft就是用Java写的!

✨ Java的11大特性

1. 简单性:比C++更简洁,没有指针等复杂概念

  • Java语法是C++语法的一个“纯净版本”,相当于对C++做了一个减法。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等等。不仅如此,Java开发环境远远超出大多数其他编程语言的开
    发环境。

2. 面向对象:一切皆对象!🐶🐱

  • 比如:人、狗、手机、电脑等都是对象。所谓面相对象,就是依靠对象之间的交互来完成事情,比如:人用手机网上购物,狗吃骨头…

3. 可移植:Java规范中没有“依赖具体实现的地方

  • 基本数据类型的大小以及有关运算都做了明确的说明。例如,Java中的int永远是32位的整数,而在C/C++中,int可能是16位整数、32位整数,也可能是编译器提供商指定的其他大小。在Java中,数据类型具有固定的大小,这消除了代码移植时令人头疼的主要问题。

4. 健壮性:自动内存管理,告别内存泄漏

  • Java与C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性(对于曾经花费几个小时来检查由于指针bug而引起内存冲突的人来说,一定很喜欢Java的这一特性)。不仅如此,Java编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。

5. 多线程:轻松处理高并发

  • Java在当时很超前。它是第一个支持并发程序设计的主流语言。多线程可以带来更好的交互响应和实时行为。并发程序设计绝非易事,但是Java在这方面表现出色,可以很好的管理这个工作。

6. …(还有更多等你探索!)

🛠️ 开发环境搭建

安装JDK是第一步!

  1. 可能是Windows下最简单的Java
  2. 环境安装指南Linux下JDK的安装(多种方式)
  3. Mac下JDK的安装
# 检查安装是否成功
java -version
javac -version

⚠️ 注意配置环境变量哦!PATH和JAVA_HOME都要设好~

🎯 第一个Java程序:Hello World

Java是一门半编译型、半解释型语言。先通过javac编译程序把源文件进行编译,编译后生成的.class文件是由字节码组成的平台无关、面向JVM的文件。最后启动java虚拟机来运行.class文件,此时JVM会将字节码转换成平台能够理解的形式来运行。
在这里插入图片描述

/*** 我的第一个Java程序* @author 你的名字*/
public class HelloWorld {/** main方法是程序入口*/public static void main(String[] args) {// 打印Hello World!System.out.println("Hello, World!"); }
}

编译运行步骤:

  1. 保存为HelloWorld.java
  2. 编译:javac HelloWorld.java
  3. 运行:java HelloWorld

📝 Java三大注释类型

  1. 单行注释// 我是注释
  2. 多行注释/* 我是多行注释 */
  3. 文档注释/** 我是文档注释 */(可以用javadoc生成文档)

注释规范

  1. 内容准确: 注释内容要和代码一致, 匹配, 并在代码修改时及时更新
  2. 篇幅合理: 注释既不应该太精简, 也不应该长篇大论.
  3. 使用中文: 一般中国公司都要求使用中文写注释, 外企另当别论.
  4. 积极向上: 注释中不要包含负能量(例如 不想工作,想躺平等).
# 生成API文档
javadoc -d doc HelloWorld.java

🏷️ 标识符命名规则

在上述程序中,Test称为类名,main称为方法名,也可以将其称为标识符,即:在程序中由用户给类名、方法名或者变量所取的名字。

  • 硬性规则

    • 不能以数字开头
    • 不能是关键字
    • 区分大小写
  • 软性建议(团队协作很重要!):

    • 类名:大驼峰,如HelloWorld
    • 方法/变量:小驼峰,如getUserName
    • 常量:全大写_连接,如MAX_SIZE

🔑 Java关键字大全

Java有50+个关键字,先认识几个常用的:

类别关键字示例
访问控制public, private, protected
类相关class, interface, extends
流程控制if, else, for, while
异常处理try, catch, finally

在这里插入图片描述
❌ 注意:关键字不能用作标识符!

💡 学习建议

  1. 多敲代码!光看不动手=学不会游泳只看书🏊
  2. 遇到报错别慌,这是进步的机会💪
  3. 坚持写注释和文档,三个月后的你会感谢现在认真的自己
  4. 加入Java学习社群,互相督促成长

❓【面试题】JDK、JRE、JVM之间的关系?

解答:

  1. JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器javac与自带的调试工具Jconsole、jstack等。
  2. JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。
  3. JVM:Java虚拟机,运行Java代码
    在这里插入图片描述

🌈 总结

Java是一门强大而优雅的语言,无论是就业还是个人成长都是绝佳选择。从今天开始,让我们一起在Java的世界里探索吧!下次我会带来Java基础语法的详细讲解,敬请期待~

互动时间:你学Java的目的是什么?评论区告诉我吧!👇


💌 PS:如果觉得有帮助,别忘了点赞收藏哦!你的支持是我更新的最大动力~
在这里插入图片描述

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

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

相关文章

三相电为什么没零线也能通电

要理解三相电为什么没零线也能通电,就要从发电的原理说起 1、弧形磁铁中加入电枢,旋转切割磁感线会产生电流 随着电枢旋转的角度变化,电枢垂直切割磁感线 电枢垂直切割磁感线,此时会产生最大电压 当转到与磁感线平行时&#xf…

文件上传做题记录

1,[SWPUCTF 2021 新生赛]easyupload2.0 直接上传php 再试一下phtml 用蚁剑连发现连不上 那就只要命令执行了 2,[SWPUCTF 2021 新生赛]easyupload1.0 当然,直接上传一个php是不行的 phtml也不行,看下是不是前端验证,…

【Pandas】pandas DataFrame head

Pandas2.2 DataFrame Indexing, iteration 方法描述DataFrame.head([n])用于返回 DataFrame 的前几行 pandas.DataFrame.head pandas.DataFrame.head 是一个方法,用于返回 DataFrame 的前几行。这个方法非常有用,特别是在需要快速查看 DataFrame 的前…

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(1):承上启下,继续上路

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(1):承上启下,继续上路 1、前言(1)情况说明(2)工程师的信仰2、知识点(1)普通形(ふつうけい)と思います(2)辞書形ことができます(3)Vたことがあります。(4)Vた とき & Vる とき3、单词(1)日语单词(2…

码率自适应(ABR)相关论文阅读简报

标题:Quality Enhanced Multimedia Content Delivery for Mobile Cloud with Deep Reinforcement Learning 作者:Muhammad Saleem , Yasir Saleem, H. M. Shahzad Asif, and M. Saleem Mian 单位: 巴基斯坦拉合尔54890工程技术大学计算机科学与工程系 …

汇编语言:指令详解

零、前置知识 1、数据类型修饰符 名称解释byte一个字节,8bitword单字,占2个字节,16bitdword双字,占4个字节,32bitqword四字,占8个字节,64bit 2、关键词解释 ptr:它代表 pointer&a…

蓝桥杯c ++笔记(含算法 贪心+动态规划+dp+进制转化+便利等)

蓝桥杯 #include <iostream> #include <vector> #include <algorithm> #include <string> using namespace std; //常使用的头文件动态规划 小蓝在黑板上连续写下从 11 到 20232023 之间所有的整数&#xff0c;得到了一个数字序列&#xff1a; S12345…

【C++算法】54.链表_合并 K 个升序链表

文章目录 题目链接&#xff1a;题目描述&#xff1a;解法C 算法代码&#xff1a; 题目链接&#xff1a; 23. 合并 K 个升序链表 题目描述&#xff1a; 解法 解法一&#xff1a;暴力解法 每个链表的平均长度为n&#xff0c;有k个链表&#xff0c;时间复杂度O(nk^2) 合并两个有序…

Java中的注解技术讲解

Java中的注解&#xff08;Annotation&#xff09;是一种在代码中嵌入元数据的机制&#xff0c;不直接参与业务逻辑&#xff0c;而是为编译器、开发工具以及运行时提供额外的信息和指导。下面我们将由浅入深地讲解Java注解的概念、实现原理、各种应用场景&#xff0c;并通过代码…

京东与喜茶关系破裂:切断所有合作 禁止进入办公场所

快科技4月10日消息&#xff0c;据报道&#xff0c;京东集团近日被曝出内部下发全员禁令&#xff0c;全面封杀喜茶产品进入办公区域。 据知情人士透露&#xff0c;京东人力行政部门发布的通知明确规定&#xff1a;全国各职场禁止与喜茶品牌开展任何形式的合作&#xff1b;员工不…

+++++背到厌倦。持续更新

Spring IoC 的工作流程: 读取 BeanDefinition: Spring 容器启动时&#xff0c;会读取 Bean 的配置信息 (例如 XML 配置文件、注解或 Java 代码)&#xff0c;并将这些配置信息转换为 BeanDefinition 对象。创建 Bean 实例: 根据 BeanDefinition 中的信息&#xff0c;Spring 容器…

如何在Git历史中抹掉中文信息并翻译成英文

如何在Git历史中抹掉中文信息并翻译成英文 在软件开发和版本控制领域&#xff0c;维护一个清晰、一致的代码历史记录是至关重要的。然而&#xff0c;有时我们可能会遇到需要修改历史提交的情况&#xff0c;比如删除敏感信息或修正错误。本文将详细探讨如何在Git历史中抹掉中文…

21 天 Python 计划:MySQL中DML与权限管理

文章目录 前言一、介绍二、MySQL数据操作&#xff1a;DML2.1 插入数据&#xff08;INSERT&#xff09;2.1.1 插入完整数据&#xff08;顺序插入&#xff09;2.1.2 指定字段插入数据2.1.3 插入多条记录2.1.4 插入查询结果 2.2 更新数据&#xff08;UPDATE&#xff09;2.3 删除数…

微信小程序 -- 原生封装table

文章目录 table.wxmltable.wxss注意 table.js注意 结果数据结构 最近菜鸟做微信小程序的一个查询功能&#xff0c;需要展示excel里面的数据&#xff0c;但是菜鸟找了一圈&#xff0c;也没发现什么组件库有table&#xff0c;毕竟手机端好像确实不太适合做table&#xff01; 菜鸟…

LangChain-输出解析器 (Output Parsers)

输出解析器是LangChain的重要组件&#xff0c;用于将语言模型的原始文本输出转换为结构化数据。本文档详细介绍了输出解析器的类型、功能和最佳实践。 概述 语言模型通常输出自然语言文本&#xff0c;但在应用开发中&#xff0c;我们经常需要将这些文本转换为结构化的数据格式…

【安全】加密算法原理与实战

为了理解SSL/TLS原理&#xff0c;大家需要掌握一些加密算法的基础知识。当然&#xff0c;这不是为了让大家成为密码学专家&#xff0c;所以只需对基础的加密算法有一些了解即可。基础的加密算法主要有哈希&#xff08;Hash&#xff0c;或称为散列&#xff09;​、对称加密(Symm…

MySQL 优化教程:让你的数据库飞起来

文章目录 前言一、数据库设计优化1. 合理设计表结构2. 范式化与反范式化3. 合理使用索引 二、查询优化1. 避免使用 SELECT *2. 优化 WHERE 子句3. 优化 JOIN 操作 三、服务器配置优化1. 调整内存分配2. 调整并发参数3. 优化磁盘 I/O 四、监控与分析1. 使用 EXPLAIN 分析查询语句…

LangChain4j(1):初步认识Java 集成 LLM 的技术架构

LangChain 作为构建具备 LLM 能力应用的框架&#xff0c;虽在 Python 领域大放异彩&#xff0c;但 Java 开发者却只能望洋兴叹。LangChain4j 正是为解决这一困境而诞生&#xff0c;它旨在借助 LLM 的强大效能&#xff0c;增强 Java 应用&#xff0c;简化 LLM 功能在Java应用中的…

Linux服务器安装百度飞桨3.0(pip docker)

Linux安装部署百度飞桨3.0 1.官方文档指引2.确认服务器型号2.1 确认Python版本2.2 确认pip是否安装2.3 确认计算平台 3.本机安装&#xff08;基于通过 pip 安装&#xff09;3.1 下载安装 PaddlePaddle3.2 安装PaddleX3.2.1 安装PaddleX3.2.2 命令行规范3.2.3 运行示例3.2.4 查看…

Spring Boot 自动加载流程详解

前言 Spring Boot 是一个基于约定优于配置理念的框架&#xff0c;它通过自动加载机制大大简化了开发者的配置工作。本文将深入探讨 Spring Boot 的自动加载流程&#xff0c;并结合源码和 Mermaid 图表进行详细解析。 一、Spring Boot 自动加载的核心机制 Spring Boot 的自动加…