Java小白基础自学阶段(持续更新...)

news2024/12/25 1:02:21

引言

Java作为一门广泛应用于企业级开发的编程语言,对初学者来说可能会感到有些复杂。然而,通过适当的学习方法和资源,即使是小白也可以轻松掌握Java的基础知识。本文将提供一些有用的建议和资源,帮助小白自学Java基础。


学习步骤

1、理解基本概念

在开始学习Java之前,了解一些基本概念是非常重要的。理解面向对象编程(OOP)的概念、变量、数据类型、流程控制语句以及函数等基础知识,将有助于你更好地理解Java编程语言。

2. 学习Java语法

掌握Java的语法是学习Java编程的关键。学习Java核心概念,如类、对象、继承、多态等。同时,学习掌握Java中的常用语法元素,如变量声明、运算符、条件语句、循环语句以及异常处理。

3. 编写简单程序

为了加深对Java语法的理解,从简单的程序开始编写。例如,编写一个打印"Hello, World!"的程序或者计算两个数字之和的程序。通过实践来巩固所学的知识。

4. 阅读相关教程和文档

借助丰富的在线资源,如CSDN上的Java教程、博客和文档,加深对Java的理解。这些教程通常会提供示例代码和详细解释,帮助你更好地学习和掌握Java的各个方面。

5. 参与编程社区

加入一些活跃的Java编程社区,例如CSDN论坛或Stack Overflow,可以向经验丰富的开发者寻求帮助和建议。在这些社区上与其他学习者互动,分享问题和解决方案,相互学习和进步。

6. 实践项目

参与一些简单的实践项目,将所学的知识应用到实际中。尝试解决一些问题,编写小型应用程序,并逐渐增加难度。通过实践来提高自己的编程能力和理解深度。


自学知识点

如下图:

 1.Java语言概述

Java语言版本迭代概述:
1991年 Green项目,开发语言最初命名为Oak (橡树)
1994年,开发组意识到Oak 非常适合于互联网
1996年,发布JDK 1.0,约8.3万个网页应用Java技术来制作
1997年,发布JDK 1.1,JavaOne会议召开,创当时全球同类会议规模之最
1998年,发布JDK 1.2,同年发布企业平台J2EE
1999年,Java分成J2SE、J2EE和J2ME,JSP/Servlet技术诞生
2004年,发布里程碑式版本:JDK 1.5,为突出此版本的重要性,更名为JDK 5.0
2005年,J2SE -> JavaSE,J2EE -> JavaEE,J2ME -> JavaME
2009年,Oracle公司收购SUN,交易价格74亿美元
2011年,发布JDK 7.0
2014年,发布JDK 8.0,是继JDK 5.0以来变化最大的版本
2017年,发布JDK 9.0,最大限度实现模块化
2018年3月,发布JDK 10.0,版本号也称为18.3
2018年9月,发布JDK 11.0,版本号也称为18.9

Java语言应用的领域:
>Java Web开发:后台开发
>大数据开发:
>Android应用程序开发:客户端开发

Java语言的特点
> 面向对象性:
两个要素:类、对象
三个特征:封装、继承、多态
> 健壮性:① 去除了C语言中的指针 ②自动的垃圾回收机制 -->仍然会出现内存溢出、内存泄漏
> 跨平台型:write once,run anywhere:一次编译,到处运行
功劳归功于:JVM

2.开发环境搭建 (重点)

JDK、JRE、JVM的关系

JDK的下载、安装
下载:Oracle | Cloud Applications and Cloud Platform
安装:傻瓜式安装:JDK 、JRE
   注意问题:安装软件的路径中不能包含中文、空格。 

path环境变量的配置
path环境变量:windows操作系统执行命令时所要搜寻的路径
为什么要配置path:希望java的开发工具(javac.exe,java.exe)在任何的文件路径下都可以执行成功。
如何配置?

 3.Java程序——HelloWorld

 需要先创建一个txt文件,命名为HelloWorld

 进入txt文件写入代码:

class HelloWorld{
	public static void main(String[] args){
		System.out.println("Hello,World!");
	}
}

输入完成后进行修改后缀:

最后按Win+R输入cmd回车进入命令窗口输入DOS命令进入Java文件目录

常用的DOS命令:

进入根目录首先编译:

javac HelloWorld.java

编译完成后进行运行:

java HelloWorld

常见问题

 总结

1.java程序编写-编译-运行的过程
编写:我们将编写的java代码保存在以".java"结尾的源文件中
编译:使用javac.exe命令编译我们的java源文件。格式:javac 源文件名.java
运行:使用java.exe命令解释运行我们的字节码文件。 格式:java 类名
2.在一个java源文件中可以声明多个class。但是,只能最多有一个类声明为public的。
而且要求声明为public的类的类名必须与源文件名相同。
3. 程序的入口是main()方法。格式是固定的。
4. 输出语句:
System.out.println():先输出数据,然后换行
System.out.print():只输出数据
5.每一行执行语句都以";"结束。
6.编译的过程:编译以后,会生成一个或多个字节码文件。字节码文件的文件名与java源文件中的类名相同。

4.注释与API文档等

1.注释:Comment
分类:
单行注释://
多行注释:/*    */
文档注释:/**    */
作用:
① 对所写的程序进行解释说明,增强可读性。方便自己,方便别人
② 调试所写的代码
特点:
①单行注释和多行注释,注释了的内容不参与编译。
  换句话说,编译以后生成的.class结尾的字节码文件中不包含注释掉的信息
② 注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。
③ 多行注释不可以嵌套使用
2.Java API 文档: 
API:application programming interface。习惯上:将语言提供的类库,都称为api.
API文档:针对于提供的类库如何使用,给的一个说明书。类似于《新华字典》
3.良好的编程风格

 

 

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

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

相关文章

【80天学习完《深入理解计算机系统》】第十天 3.3 条件码寄存器【CF ZF SF OF】【set】

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…

R语言之数据框的合并

文章和代码已经归档至【Github仓库:https://github.com/timerring/dive-into-AI 】或者公众号【AIShareLab】回复 R语言 也可获取。 文章目录 1.纵向合并:rbind( )2. 横向合并:cbind ( )3. 按照某个共有变量合并:merge( )full_joi…

测开面经分享(偏Python)

某基金管理公司线下测试开发面试题总结。 预计阅读时间: 25分钟 测开题目如下 可以尝试自己先写,写完之后再去看参考解法哦 ~ 1、编写一段代码,把 list 的数平方(语言不限) ListA [1, 3, 5, 7, 9, 11] 2、使用 Python 语言编写一个日志…

如何把本地项目上传github

一、在gitHub上创建新项目 【1】点击添加()-->New repository 【2】填写新项目的配置项 Repository name:项目名称 Description :项目的描述 Choose a license:license 【3】点击确定,项目已在githu…

大语言模型之五 谷歌Gemini

近十年来谷歌引领着人工智能方向的发展,从TensorFlow到TPU再到Transformer,都是谷歌在引领着,然而,在大语言模型上,却被ChatGPT(OpenAI)抢了风头,并且知道GPT-4(OpenAI&a…

基于Python的网上宠物用品销售网站SpringBoot+Vue宠物用品商城系统源码+lw

💕💕作者:计算机源码社 💕💕个人简介:本人七年开发经验,擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等,大家有这一块的问题可以一起交流! 💕&…

java.lang.NullPointerException: null 不显示异常栈

一、问题 排查线上问题时,发现日志中异常输出的地方,仅有一行java.lang.NullPointerException: null,截图如下。 丢失了具体的异常栈,导致无法定位是哪行代码抛出了异常。 这里排除日志用法的问题,以前是正常能输出异…

设计模式--单例模式(Singleton Pattern)

一、什么是单例模式 单例模式是一种创建型设计模式,它旨在确保一个类只有一个实例,并提供一个全局访问点来访问该实例。换句话说,单例模式限制了类的实例化次数为一个,并提供一种在应用程序中共享一个实例的方式。这对于需要只有…

4 多层感知机-个人理解

多层感知机是一组前向结构的人工神经网络,映射一组输入向量到一组输出向量。除了输入节点,每一个节点都是一个带有非线性激活函数的神经元。多层感知机在输入层和输出层之间添加了一个或者多个隐藏层,并通过激活函数转换隐藏层输出。以下介绍…

eclipse中设置按backspace键、或者delete键,一次删除代码中多个空格

选择菜单Window->Preferences: 在弹出窗口中,找到General->Text Editors,在右面的选项中勾选Insert spaces for tabs和Remove multiple spaces on backspace/delete,然后点击窗口下面的Applay and Close按钮: …

简单js逆向案例(2)

文章目录 前文分析完整代码结尾 前文 本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 分析 目标网址 aHR0cHM6Ly9zZWFyY2guYmlkY2VudGV…

【Go 基础篇】Go语言中的defer和recover:优雅处理错误

Go语言以其简洁、高效和强大的特性受到了开发者的热烈欢迎。在错误处理方面,Go语言提供了一种优雅的机制,即通过defer和recover组合来处理恐慌(panic)错误。本文将详细介绍Go语言中的defer和recover机制,探讨其工作原理…

vscode流程图插件使用

vscode流程图插件使用 1.在vscode中点击左下角设置然后选择扩展。 2.在扩展中搜索Draw.io Integration,安装上面第一个插件。 3.安装插件后在工程中创建一个后缀为drawio的文件并且双击打开即可绘制流程图

暴力枚举专题之统计方形

P2241 统计方形(数据加强版) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 你以为这篇文章的标题是暴力枚举那么我们就直接枚举长方形和正方形的数量吗,nonono,小伙子(小美女),洛谷哪会这么善…

使用Coding对vue项目进行自动化的部署 (亲测有用) coding部署vue项目

使用Coding对vue项目进行自动化的部署 (亲测有用) 登陆coding 官网 1. 新建项目看下面 这篇文字,新建 vue 项目和 java 一样 选择这个新建 选择代码仓库 点击确定 选择文本编辑器 把下面 内容 粘贴 进去 ,然后改几个内容 服务器…

多维时序 | Matlab实现LSTM-Adaboost和LSTM多变量时间序列预测对比

多维时序 | Matlab实现LSTM-Adaboost和LSTM多变量时间序列预测对比 目录 多维时序 | Matlab实现LSTM-Adaboost和LSTM多变量时间序列预测对比预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 多维时序 | Matlab实现LSTM-Adaboost和LSTM多变量时间序列预测对比 模型…

Linux 内核page migration设计文档

概述 page migration设计之初是在numa system的各个node之间迁移physical pages,意味着进程页面的虚拟地址不会变化,物理地址发生改变,migration的目的将page迁移到临近的cpu上降低内存访问延迟。 页面迁移粗略步骤 A. In kernel use of m…

SpringBoot简单上手

spring boot 是spring快速开发脚手架,通过约定大于配置,优化了混乱的依赖管理,和复杂的配置,让我们用java-jar方式,运行启动java web项目 入门案例 创建工程 先创建一个空的工程 创建一个名为demo_project的项目,并且…

人员操作行为识别监测

人员操作行为识别监测实时监测人员的操作行为,人员操作行为识别监测通过yolov7深度学习算法网络模型,对前端采集人员操作行为的图像使用算法进行分析,识别出不符合规范的操作行为,并发出告警信号以提醒相关人员。在训练之前&#…

C++笔记之rolling counter(滚动计数器)

C笔记之rolling counter(滚动计数器) 一个 rolling counter(滚动计数器)是一个计数器,可以在给定的范围内不断增加,当达到最大值时会从最小值重新开始。 code review! 文章目录 C笔记之rolling counter&…