【Java零基础入门篇】第 ① 期 - Java概述

简介: Java零基础入门


博主:命运之光
专栏:JAVA入门
JAVA.gif

学习目标
1.理解JVM、JRE、JDK的概念;
2.掌握Java开发环境的搭建,环境变量的配置;
3.掌握Java程序的编写、编译和运行;
4.学会编写第一个Java程序,掌握Java程序的结构。


1.1Java语言简介

简介

Java是一门高级的面向对象的程序设计语言。使用Java语言编写的程序是跨平台的,从PC机到移动设备,到处都运行着Java开发的程序和游戏。Java程序可以在任何计算机、操作系统以及支持Java的硬件设备上运行。
在这里插入图片描述

Java的起源

请添加图片描述

请添加图片描述

Java技术的发展阶段

第一阶段——萌芽期

时间 :1991年;
地点:美国Sun公司(美国加利福利亚);
主要设计者: James Gosling(詹姆斯•高斯林);
产品:Oak语言。

第二阶段——完善期

时间:1995年—1998年;
1995年Java语言面世, 推出JDK1.0
1998年发布JDK 1.2,随之将Java 分为J2SEJ2EEJ2ME

第三阶段——平稳期

时间:1999年—2004年;
产品:JDK 1.3 ~ JDK 1.4;
Java已成为最为流行的网络编程语言,并且在移动计算和智能制造等领域得到了广泛应用。

第四阶段——发展期

时间 :2005——现在;
产品 :2005年推出JDK 1.5;
2009年Oracle甲骨文74亿美元收购Sun,获得Java版权;
2014年,甲骨文发布Java SE 8.0(JDK1.8)

Java技术体系平台

Java SE(Java Standard Edition)标准版(整个技术架构的核心
)

支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,此版本以前称为J2SE。

Java EE(Java Enterprise Edition)企业版

是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet 、Jsp等,主要针对于Web应用程序开发。版本以前称为J2EE。

Java ME(Java Micro Edition)小型版

支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,此版本以前称为J2ME。

Java语言的特点

🍓特点一:面向对象

  • 两个基本概念:类、对象;
  • 三大主要特性:封装、继承、多态;

🍓特点二:健壮性
吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制;

🍓特点三:跨平台性

  • 跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write once , Run Anywhere
  • 原理:只要在需要运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。

Java代码的处理过程

程序开发需要经过 编写源码 ——>编译 ——> 运行 的过程。
请添加图片描述

如果从编程语言的角度而言,分为两种类型的编程语言:编译型、解释型

编译型源程序(C程序)——> 编译链接——>可执行程序EXE——> 运行——> 操作系统
Java属于两种类型的合集:
源文件——>编译——>字节码文件(二进制文件)——>解释/运行——>解释器——> 操作系统


1.2搭建Java开发环境

Java的开发环境

Java开发运行环境是指Java开发工具和相应的硬/软件环境,目前主流是Oracle公司的JDK(java开发工具包 Java Development Kit) 。
为了提高Java程序的开发效率,目前有很多集成开发工具(IDE),包括Eclipse、MyEclipse、JBuilder、JDeveloper、JCreator等,使用这些集成开发工具能帮助我们敏捷快速地开发应用系统。

JDK相关概念

JDK
Java Development kit 即 java开发工具包),用于开发Java程序
JRE
(Java Runtime Environment 即java运行环境),用于运行Java程序
JVM
(Java Virtual Machine 即Java虚拟机),将Java程序翻译成机器语言,交给底层操作系统执行,并保证运行效果,实现JAVA程序跨平台性

在这里插入图片描述

🍓JDK 、JRE、JVM关系
JDK = JRE + 开发工具库(例如javac编译工具等)
JRE = JVM + Java SE标准类库

Java语言运行机制

在Java中所有的程序都是在 JVM(Java Virtual Machine)上运行的。 JVM是在一台计算机上由软件或硬件模拟的 虚拟计算机
  • 对于不同的平台,有不同的虚拟机;
  • 只有某平台提供了对应的java虚拟机,java程序才可在此平台运行;
  • Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。

在这里插入图片描述

Java编译环境
在这里插入图片描述


1.3Java程序的运行

文本编辑工具介绍

  • 文本编辑工具

记事本在这里插入图片描述

EditPlus
在这里插入图片描述

*TextPad
NotePad++*

准备工作

注:在编写代码之前,先确认系统中“文件扩展名”选项被勾选,如图所示。
在这里插入图片描述

“HelloWorld”程序

步骤一:编写

  • 选择最简单的编辑器:记事本; (也可以使用NotePad++)
  • 敲入代码;
  • 将文件保存成HelloWorld.java,这个文件是存放java代码的文件,称为源文件

在这里插入图片描述

步骤二:编译

  • 有了java源文件,通过编译器将其编译成JVM可以识别的字节码文件;
  • 命令提示符窗口(win+R)中操作。
Dos常用命令
1、转换盘符
D: 回车 //转到D盘;
C:回车 //转到C盘;
2、cd 目录名 // 进入目录名所表示的目录(即文件夹)
cd myjava //进入myjava目录;
cd .. //退回到父目录;
cd \ //退回到根目录;
cd myjava\a\b //进入到myjava下的a下的b目录;
cd命令只能在同一个盘符内进行目录转换,跨盘符不行,需要先转换盘符
3、exit //退出命令行窗口
  • 进入Java源文件目录下,通过javac编译工具对HelloWorld.java文件进行编译; 格式: javac HelloWorld.java
  • 如果程序没有错误,没有任何提示,在当前目录下会出现一个HelloWorld.class文件,该文件称为字节码文件,也是可以执行的java的程序。

在这里插入图片描述
在这里插入图片描述

步骤三:解释程序,对生成的Hello.class在JVM上执行。

通过运行工具java.exe对字节码文件进行执行;

<font color="blue">格式:</font> <font color="pink"> java   HelloWorld     </font>            (不写扩展名)
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/3fb9d0d03cd64af2b0f121ff8b097a00.png)

在这里插入图片描述

关于CLASSPATH

执行java程序的过程

在这里插入图片描述
1.CLASSPATH主要指的是类的运行路径,启动JVM后,JVM在运行时需要通CLASSPATH加载所需要的类。
*2.默认情况下,CLASSPATH是指向当前目录(命令行窗口所在的目录)中的类。(因而一般需要进入到程序所在路径下执行程序)
(JDK6.0后一般情况下无需配置CLASSPATH)*

HelloWorld代码解释

public class HelloWorld {
    public static void main( String[] args ) {
        System.out.println("hello,world!");
    }
}
如果有public,则文件名必须与类名“HelloWorld”相同,否则可以不同
这是定义一个名字叫做HelloWorld的类,类是java当中所有代码的一个基本组织单位
第二行是固定写法,基本不能改变,这是程序启动的起点

第三行开始,就是程序执行的内容,这一行是一个输出语句、打印语句,就是在屏幕当中显示一行信息英文的双引号中间就是显示的文本内容

1.Java源文件以“java”为扩展名。源文件的基本组成部分是类(class),如本例中HelloWorld类。
2.Java应用程序的执行入口是main()方法。它有固定的书写格式:

<font color="red">***public static void main(String[] args)  {...} 或
public static void main(String args[]) {…..}***</font>

3.Java语言严格区分大小写。
4.Java方法由一条条语句构成,每个语句以“;”结束。
5.大括号都是成对出现的,缺一不可。
6.一个源文件中最多只能有一个public类。其它类的个数不限,如果源文件包含一个public类,则文件名必须按该类名命名

良好的编程风格

  • 🍍正确的注释和注释风格🍍
使用文档注释来注释整个类或整个方法;
如果注释方法中的某一个步骤,使用单行或多行注释;
  • 🍍正确的缩进和空白🍍
使用tab键,实现缩进;
运算符两边习惯性各加一个空格,比如:2 + 4 * 5
  • 🍍块的风格🍍
行尾风格
次行风格

在这里插入图片描述
在这里插入图片描述

集成开发环境介绍

  • Java集成开发环境(IDE)
*JBuilder
NetBeans
Eclipse
MyEclipse
IntelliJ IDEA *

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是提供了一个基础的底层支持,而后针对于不同的编程语言都会提供有相应的插件支持。
Eclipse属于绿色免安装软件,解压缩后就可以直接使用(运行 Eclipse.exe程序)。

下载网址:http://www.eclipse.org/downloads/packages/,根据自己的操作系统选择相应的Eclipse版本,本书使用的是windows 64位版

在这里插入图片描述

在这里插入图片描述
Eclipse窗口介绍

在这里插入图片描述


1.4常见错误总结

🍎
在这里插入图片描述

🍓 错误原因:
  • 源文件名不存在或者写错;
  • 当前路径错误;
  • 后缀名隐藏问题;

🍎🍎
在这里插入图片描述

🍓 错误原因:
  • 类文件名写错;
  • 类文件不在当前路径下(如上不在D盘根目录);

🍎🍎🍎
在这里插入图片描述

错误原因:声明为public的类应与文件名一致,否则编译失败;
在这里插入图片描述
编译失败,注意错误出现的行数,再到源代码中指定位置改错


🍓🍓总结🍓🍓

  • JDK,JRE,JVM的关系;
  • 环境变量path配置及其作用; Java程序的编写、编译、运行步骤:

在这里插入图片描述

  • Java程序编写的规则;
  • 在配置环境、编译、运行各个步骤中常见的错误以及解决方法。
相关文章
|
2天前
|
安全 Java API
Java 18 概述:新特性一览
Java 18 作为 Java 平台的最新版本,引入了多项令人振奋的新特性和改进,包括模式匹配、记录类型、流库改进、外部函数与内存 API 以及并发处理增强。这些新功能不仅提升了开发者的生产力,还显著增强了 Java 的性能和安全性。本文将详细介绍 Java 18 的主要新特性,并通过代码示例帮助读者更好地理解和应用这些功能。
|
26天前
|
设计模式 前端开发 Java
【前端学java】SpringBootWeb极速入门-分层解耦(03)
【8月更文挑战第13天】SpringBootWeb极速入门-分层解耦(03)
15 2
【前端学java】SpringBootWeb极速入门-分层解耦(03)
|
27天前
|
开发框架 前端开发 Java
【前端学java】SpringBootWeb极速入门-实现一个简单的web页面01
【8月更文挑战第12天】SpringBootWeb极速入门-实现一个简单的web页面01
47 3
【前端学java】SpringBootWeb极速入门-实现一个简单的web页面01
|
27天前
|
JSON 前端开发 Java
【前端学java】SpringBootWeb极速入门-请求参数解析(02)
【8月更文挑战第12天】SpringBootWeb极速入门-请求参数解析(02)
14 1
【前端学java】SpringBootWeb极速入门-请求参数解析(02)
|
11天前
|
算法 Java 开发者
Java 编程入门:从零到一的旅程
本文将带领读者开启Java编程之旅,从最基础的语法入手,逐步深入到面向对象的核心概念。通过实例代码演示,我们将一起探索如何定义类和对象、实现继承与多态,并解决常见的编程挑战。无论你是编程新手还是希望巩固基础的开发者,这篇文章都将为你提供有价值的指导和灵感。
|
12天前
|
存储 Java 程序员
Java中的集合框架:从入门到精通
【8月更文挑战第30天】在Java的世界里,集合框架是一块基石,它不仅承载着数据的存储和操作,还体现了面向对象编程的精髓。本篇文章将带你遨游Java集合框架的海洋,从基础概念到高级应用,一步步揭示它的奥秘。你将学会如何选择合适的集合类型,掌握集合的遍历技巧,以及理解集合框架背后的设计哲学。让我们一起探索这个强大工具,解锁数据结构的新视角。
|
15天前
|
Java 程序员 UED
Java中的异常处理:从入门到精通
【8月更文挑战第28天】在Java编程的世界里,异常处理是一块基石,它确保了程序的健壮性和可靠性。本文将通过深入浅出的方式,带你了解Java异常处理的基本概念、分类、以及如何有效地捕获和处理异常。我们将一起探索try-catch-finally结构的奥秘,并学习如何使用throws关键字声明方法可能会抛出的异常。此外,我们还会讨论自定义异常类的创建和使用,以及最佳实践。无论你是Java新手还是有一定经验的开发者,这篇文章都将为你提供宝贵的知识,帮助你编写出更加稳定和可靠的代码。
|
14天前
|
编解码 网络协议 Oracle
java网络编程入门以及项目实战
这篇文章是Java网络编程的入门教程,涵盖了网络编程的基础知识、IP地址、端口、通讯协议(TCP和UDP)的概念与区别,并提供了基于TCP和UDP的网络编程实例,包括远程聊天和文件传输程序的代码实现。
java网络编程入门以及项目实战
|
24天前
|
前端开发 IDE Java
"揭秘前端转Java的秘径:SpringBoot Web极速入门,掌握分层解耦艺术,让你的后端代码飞起来,你敢来挑战吗?"
【8月更文挑战第19天】面向前端开发者介绍Spring Boot后端开发,通过简化Spring应用搭建,快速实现Web应用。本文以创建“Hello World”应用为例,展示项目基本结构与运行方式。进而深入探讨三层架构(Controller、Service、DAO)下的分层解耦概念,通过员工信息管理示例,演示各层如何协作及依赖注入的使用,以此提升代码灵活性与可维护性。
33 2
|
29天前
|
Java 测试技术 Spring
Java 新手入门:依赖注入的 N 种姿势,总有一款适合你!
Java 新手入门:依赖注入的 N 种姿势,总有一款适合你!
28 2