从零开始学java 00(新手入门)

[TOC]
系列简书文章目录https://www.jianshu.com/p/d47d5cdc8a3e

本篇目录
  01 什么是java
  02 Java版本
  03 Java学习网址
    Java学习网址
    java视频教程
  04 程序员常用网站
    国内常用网址
    国外常用网址
  05 Java 关键字
    常用关键字
    按字母顺序排列
    按使用频率排列

01 什么是java

想了解什么是编程和其他编程语言的可以先看 了解编程

Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems公司于1995年推出,现在归Oracle公司所有。Java的设计目标是实现“一次编写,到处运行”的概念,这意味着编写的Java程序可以在任何安装了Java虚拟机(JVM)的平台上运行,而无需重新编译。

以下是Java语言的一些关键特点:

  1. 面向对象:Java是一种完全的面向对象的语言,它支持类、对象、封装、继承和多态等概念。
  2. 平台独立性:Java代码被编译成字节码,而不是直接编译成本地机器代码。字节码由JVM解释执行,因此可以在不同的平台上运行。
  3. 自动内存管理:Java具有自动垃圾回收机制,程序员不需要手动管理内存分配和释放,这减少了内存泄漏和悬挂指针等问题。
  4. 健壮性和安全性:Java设计有多种安全特性,包括类型检查、异常处理、沙箱环境和权限设置,以防止非法访问和恶意代码的执行。
  5. 高性能:虽然最初Java的性能受到批评,但随着JIT(Just-In-Time)编译器的发展,现代的Java应用程序能够达到接近本地代码的性能。
  6. 多线程:Java内置了对多线程的支持,使得开发并发应用程序变得容易。
  7. 丰富的标准库:Java提供了大量的类库,包括用于网络、图形用户界面、数据库连接、XML处理等功能的API。
  8. 可移植性和可扩展性:由于其设计原则,Java程序易于移植,并且可以通过定义新的类来扩展其功能。

Java被广泛应用于企业级应用开发、移动应用(特别是Android应用)、嵌入式系统、大数据处理、云计算服务、Web开发等领域。Java社区庞大,拥有丰富的资源和支持,这也是Java持续流行的重要原因之一。

02 Java版本

截至2024年7月,最新的Java版本是Java 22。不过,请注意,Java的发行节奏通常是每六个月一次,这意味着自那时起可能已经有新的版本发布。Oracle通常会发布长期支持(Long Term Support, LTS)版本和短期版本。LTS版本每三年发布一次,而短期版本则遵循半年一次的发布周期。Java 17是最近的LTS版本,2024年9月将发布JDK 23。

对于企业级应用和需要长期稳定性的项目,推荐使用LTS版本,因为它们会获得长时间的支持和维护。而对于追求最新特性和性能优化的开发者,非LTS版本可能更适合。不过,非LTS版本需要更频繁地升级以保持安全性和兼容性。

为了获取最准确的信息,建议直接访问Oracle官方网站JDK下载页面查看最新的JDK版本。这些页面会提供最新版本的下载链接以及详细的版本说明。如果你需要最新的版本,通常可以从这些页面找到。

甲骨文中国java官网: https://www.oracle.com/cn/java/

总而言之:最新LTS版本为JAVA 17版本 ,新手一般只需要关注LTS版本

03 Java学习网址

关于其他的学习网址见 学习网站, 此次而我介绍java学习网址是提供一下专业的网址

Java学习网址

学习Java有许多优质的在线资源,这些网站提供了从基础到高级的Java教程,涵盖了理论知识、实战练习、视频讲解等多种学习形式,可以根据个人喜好和需求选择适合自己的资源进行学习。以下是一些推荐的网站及其简介:

  1. how2j.cn
    • 网址: how2j.cn
    • 简介: 提供Java全栈开发教程,内容全面,简洁易懂,适合初学者。
  2. w3cschool
    • 网址: w3cschool
    • 简介: 主要专注于前端和脚本语言的在线教程,也提供了Java的基础和高级教程。
  3. 菜鸟教程
    • 网址: 菜鸟教程
    • 简介: 和w3cschool类似,提供了丰富的编程教程,包括Java在内的多种语言。
  4. Java学习网
    • 网址: www.javaj.cn
    • 简介: 专注于Java学习的网站,提供一系列教程和资源。
  5. 动力节点
    • 网址: www.bjpowernode.com
    • 简介: 提供Java视频教程,涵盖了从基础到高级的多个主题,适合零基础学习者。
  6. Oracle Java Learning Paths
  7. Java Code Geeks
    • 网址: www.javacodegeeks.com
    • 简介: 提供大量Java教程和学习资源,包括理论和实践知识。
  8. Udemy
    • 网址: www.udemy.com
    • 简介: 提供付费和免费的Java课程,由专业讲师授课,适合不同程度的学习者。
  9. Coursera
    • 网址: www.coursera.org
    • 简介: 与世界顶尖大学合作提供在线课程,包括Java编程的课程,部分课程提供证书。
  10. Codecademy
    • 网址: www.codecademy.com
    • 简介: 提供互动式的Java学习课程,适合动手实践的学习方式。
  11. edX
    • 网址: www.edx.org
    • 简介: 与哈佛、MIT等高校合作提供在线课程,有专门的Java编程课程。

java视频教程

国内有很多教培机构为了招生会在网上提供一些入门的培训视频,这些视频对于初学者比较适合。下面就列出B站部分方便初学者观看学习:

04 程序员常用网站

程序员在日常工作中会频繁访问一系列网站,这些网站提供了代码示例、文档、论坛、教程、开源项目、版本管理和协作工具等资源。 这些网站不仅提供了丰富的技术资源,还搭建了国内开发者之间的交流桥梁,有助于Java程序员提升技能、解决问题和拓展职业发展。

国内常用网址

  1. CSDN (China Software Developer Network)
    • 功能:中国最大的IT技术社区之一,提供博客、论坛、问答、资源下载和课程学习等。
    • 网址https://www.csdn.net/
  2. SegmentFault
    • 功能:技术问答和社区,类似于Stack Overflow,但更侧重于中文环境下的技术讨论。
    • 网址https://segmentfault.com/
  3. OSChina
    • 功能:开源中国,提供开源项目托管、技术文章、新闻资讯和论坛交流。
    • 网址https://www.oschina.net/
  4. 掘金 (Juejin)
    • 功能:技术分享平台,涵盖多种技术领域的文章、动态和话题讨论。
    • 网址https://juejin.cn/
  5. 博客园
    • 功能:技术博客平台,许多技术专家和程序员在此分享他们的知识和经验。
    • 网址https://www.cnblogs.com/
  6. 阿里云开发者社区
    • 功能:阿里巴巴集团的技术分享和开发者支持平台,提供技术文档、教程和交流。
    • 网址https://developer.aliyun.com/
  7. 腾讯云开发者社区
  8. 华为开发者联盟
  9. 拉勾网
    • 功能:专注于互联网行业的招聘网站,Java程序员可以在此寻找工作机会。
    • 网址https://www.lagou.com/
  10. 牛客网
    • 功能:提供在线编程练习、模拟面试和技术文章,适合准备面试的程序员。
    • 网址https://www.nowcoder.com/

国外常用网址

  1. Oracle Java SE Documentation
  2. Stack Overflow
    • 功能:全球最大的技术问答社区,Java程序员可以在这里提问和解答问题。
    • 网址https://stackoverflow.com/
  3. GitHub
    • 功能:开源项目托管平台,Java程序员可以找到大量开源项目、库和框架,也可以托管自己的项目。
    • 网址https://github.com/
  4. Maven Central Repository
    • 功能:提供Java项目的依赖管理,可以在这里找到几乎所有Java库的JAR包。
    • 网址https://search.maven.org/
  5. Javadoc
    • 功能:提供详细的Java API文档,帮助理解Java类和方法的使用。
    • 网址:对于特定库或框架,通常在其官网可以找到对应的Javadoc。
  6. Java Code Geeks
  7. Baeldung on Spring
  8. GeeksforGeeks
  9. Spring.io
    • 功能:Spring框架的官方主页,提供框架的文档、示例和社区支持。
    • 网址https://spring.io/
  10. HackerRank
  11. LeetCode
  12. CodeProject
  13. JRebel by ZeroTurnaround
    • 功能:提供Java热部署解决方案,允许在不重启应用的情况下更新代码。
    • 网址https://www.jrebel.com/
  14. JetBrains
  15. Google Developer Guide for Java

05 Java 关键字

说明一下初学者只需要知道关键字概念, 我把所有关键字列出是希望初学者当做字典一样的去查,而非现在马上要记住, 我们学习往往是边学边记; 学会的时候自然记住了.

此外学习编程不需要英语很好, 大概能明白这些关键字意思已经就很不错了,希望初学者不要气馁

在Java中,关键字是指编程语言中具有特殊含义和功能的保留字。这些关键字不能用作变量名、方法名、类名或其他标识符,因为它们在语言中扮演着特定的角色。下面是一个表格,列出了Java中的所有关键字、它们的含义以及常见的使用环境:

常用关键字

  1. public
    • 表明类、方法或变量是公开的,可以从任何地方访问。
  2. private
    • 表明类、方法或变量只能在定义它的类中访问。
  3. protected
    • 表明类、方法或变量可以在同一包或子类中访问。
  4. static
    • 表明方法或变量属于类而不是对象,可以直接通过类名访问。
  5. final
    • 表明类不能被继承,方法不能被重写,变量值不能改变。
  6. void
    • 表明方法不返回任何值。
  7. return
    • 用于从方法返回一个值。
  8. if, else, switch
    • 控制流语句,用于条件判断和分支执行。
  9. for, while
    • 循环控制结构,重复执行一段代码直到满足终止条件。
  10. try, catch, finally
    • 异常处理结构,用于捕获和处理程序运行时发生的错误。
  11. new
    • 用于创建对象的实例。
  12. instanceof
    • 用于检查对象是否属于特定的类或接口。
  13. this
    • 指向当前对象的引用。
  14. super
    • 指向父类的引用,用于调用父类的构造器或方法。
  15. abstract
    • 表明类或方法是抽象的,不能被实例化,必须被子类实现或重写。
  16. interface
    • 定义一组方法的签名,没有实现细节。
  17. implements
    • 用于类声明中,表明类实现了特定的接口。
  18. package
    • 用于组织类和接口的命名空间。
  19. import
    • 用于导入其他包中的类或接口,以便在当前文件中使用。
  20. break, continue
    • 控制循环的流程,break用于提前跳出循环,continue用于跳过当前迭代。

按字母顺序排列

关键字 含义与用途 使用环境
abstract 用于声明抽象类和抽象方法。 类声明或方法声明
assert 用于断言条件在调试期间必须为真。 方法体
boolean 基本数据类型,表示true或false。 变量声明
break 终止循环或switch语句。 循环体或switch语句
byte 基本数据类型,8位有符号整数。 变量声明
case switch语句的一部分,用于匹配表达式的值。 switch语句
catch 捕获并处理异常。 try-catch-finally语句
char 基本数据类型,16位Unicode字符。 变量声明
class 定义一个类。 类声明
const 保留关键字,未在语言中使用。 -
continue 跳过当前循环迭代,继续下一次迭代。 循环体
default 在switch语句中用于指定默认要执行的代码块。 switch语句
do 开始一个do-while循环。 do-while语句
double 基本数据类型,双精度浮点数。 变量声明
else if语句的可选部分,当if条件不满足时执行。 if-else语句
enum 定义枚举类型。 枚举类型声明
extends 表示类继承或接口实现。 类声明或接口实现
final 修饰类、方法或变量,防止被修改或覆盖。 类、方法、变量声明
finally 异常处理中,无论是否抛出异常都会执行的代码块。 try-catch-finally语句
float 基本数据类型,单精度浮点数。 变量声明
for 开始一个for循环。 for语句
goto 保留关键字,未在语言中使用。 -
if 执行条件语句。 if语句
implements 表示一个类实现了特定的接口。 类声明
import 导入包中的类或接口。 程序顶部
instanceof 测试对象是否为特定类型的实例。 表达式
int 基本数据类型,32位有符号整数。 变量声明
interface 定义接口。 接口声明
long 基本数据类型,64位有符号整数。 变量声明
native 标记方法为本地方法,由非Java代码实现。 方法声明
new 创建新的对象实例。 表达式
package 定义包名。 程序顶部
private 访问修饰符,限制访问仅限于当前类。 类成员
protected 访问修饰符,限制访问仅限于当前类、子类及同一包内的其他类。 类成员
public 访问修饰符,允许从任何地方访问。 类成员
return 从方法返回值或终止方法执行。 方法体
short 基本数据类型,16位有符号整数。 变量声明
static 修饰类成员,表示其属于类而不是对象。 类成员
strictfp 强制浮点运算遵守IEEE 754标准,确保不同平台的一致性。 类或方法声明
super 访问超类的属性或方法。 方法体或构造函数
switch 选择多个可能的代码块之一来执行。 switch语句
synchronized 修饰方法或代码块,确保线程安全。 方法或代码块
this 当前对象的引用。 方法体或构造函数
throw 抛出一个异常。 方法体
throws 声明方法可能抛出的异常。 方法声明
transient 标记字段,在序列化过程中不会被保存。 类成员
try 异常处理的开始。 try-catch-finally语句
void 方法没有返回值。 方法声明
volatile 标记字段以确保多线程间的可见性和一致性。 类成员
while 开始一个while循环。 while语句

按使用频率排列

关键字 含义与用途 使用环境
public 访问修饰符,允许从任何地方访问。 类、方法、变量声明
class 定义一个类。 类声明
void 方法没有返回值。 方法声明
int 基本数据类型,32位有符号整数。 变量声明
if 执行条件语句。 if语句
for 开始一个for循环。 for语句
new 创建新的对象实例。 表达式
return 从方法返回值或终止方法执行。 方法体
private 访问修饰符,限制访问仅限于当前类。 类成员
static 修饰类成员,表示其属于类而不是对象。 类成员
try 异常处理的开始。 try-catch-finally语句
catch 捕获并处理异常。 try-catch-finally语句
this 当前对象的引用。 方法体或构造函数
super 访问超类的属性或方法。 方法体或构造函数
while 开始一个while循环。 while语句
String 字符串类型,虽然不是关键字,但使用频率非常高。 变量声明
boolean 基本数据类型,表示true或false。 变量声明
break 终止循环或switch语句。 循环体或switch语句
continue 跳过当前循环迭代,继续下一次迭代。 循环体
final 修饰类、方法或变量,防止被修改或覆盖。 类、方法、变量声明
double 基本数据类型,双精度浮点数。 变量声明
float 基本数据类型,单精度浮点数。 变量声明
long 基本数据类型,64位有符号整数。 变量声明
char 基本数据类型,16位Unicode字符。 变量声明
throws 声明方法可能抛出的异常。 方法声明
interface 定义接口。 接口声明
null 特殊值,表示空引用。 表达式
short 基本数据类型,16位有符号整数。 变量声明
byte 基本数据类型,8位有符号整数。 变量声明
volatile 标记字段以确保多线程间的可见性和一致性。 类成员
synchronized 修饰方法或代码块,确保线程安全。 方法或代码块
protected 访问修饰符,限制访问仅限于当前类、子类及同一包内的其他类。 类成员
transient 标记字段,在序列化过程中不会被保存。 类成员
native 标记方法为本地方法,由非Java代码实现。 方法声明
strictfp 强制浮点运算遵守IEEE 754标准,确保不同平台的一致性。 类或方法声明
assert 用于断言条件在调试期间必须为真。 方法体
instanceof 测试对象是否为特定类型的实例。 表达式
package 定义包名。 程序顶部
import 导入包中的类或接口。 程序顶部
enum 定义枚举类型。 枚举类型声明
abstract 用于声明抽象类和抽象方法。 类声明或方法声明
case switch语句的一部分,用于匹配表达式的值。 switch语句
default 在switch语句中用于指定默认要执行的代码块。 switch语句
do 开始一个do-while循环。 do-while语句
throw 抛出一个异常。 方法体
finally 异常处理中,无论是否抛出异常都会执行的代码块。 try-catch-finally语句
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容