最新Java基础系列课程--Day01-Java基础入门(一)

简介: 最新Java基础系列课程--Day01-Java基础入门

前言:

从今天开始,将持续输出《面向对象编程之Java语言基础》,讲解从最基本的Java语法基础到Java的多线程、网络编程、数据库编程等高级用法,目前是免费分享,后期高级课程可能会收费,有兴趣学习Java的小伙伴可以快速免费订阅进行学习。

day01 ——Java基础入门

【教学内容】

1-1 Java语言的历史、特点与规范

1-2 Java程序的结构与规范

1-3 Java虚拟机的介绍、安装与使用

1-4数据类型、关键字与标识符

1-5常量、变量、局部变量

1-6数据类型转换、运算符与表达式

重点与难点】重点是数据类型、常量、变量、局部变量的理解。难点是数据类型转换。

【能力要求】(1)了解Java语言的发展史与特点(2)掌握Java语言开发环境的搭建(3)掌握Java语言基础语法(4)培养符合企业规范的代码习惯

一、 Java背景知识

在正式开干之前,我们先了解一下Java的背景知识,方便以后你在和大家聊Java的时候可以说到一块去。

1.1 Java语言的历史

  • Java是哪家公司的产品?
    Java是美国Sun(Stanford University Network,斯坦福大学网络公司)公司在1995年推出的一门计算机高级编程语言。但是在2009年是Sun公司被Oracle(甲骨文)公司给收购了,所以目前Java语言是Oracle公司所有产品。
  • Java名称的来历?
    早期这门语言的名字其实不叫Java,当时称为Oak(橡树的意思),为什么叫橡树呢?原因是因为Sun公司的门口种了很多橡树,但是后来由于商标注册时,Oak商标已经其他公司注册了,所以后面改名为Java了。那么有人好奇为什么叫Java呢?Java是印度的一个岛屿,上面盛产咖啡,可能是因为他们公司的程序员喜欢喝咖啡,所以就改名为Java了。
  • Java的创始人是谁?
  • 说完Java名称的来历之后,接下来我们聊聊Java的祖师爷是谁? Java的联合创始人有很多,但是行业普遍认可的Java的创始人 是詹姆斯●高斯林,被称为Java之父


1.2 Java能做什么

了解了Java语言的历史之后,接下来,大家比较关心的问题可能是Java到底能做什么了?

其实Java能做的事情非常多,它可以做桌面应用的开发、企业互联网应用开发、移动应用开发、服务器系统开发、大数据开发、游戏开发等等。

1.桌面应用开发:能够在电脑桌面运行的软件
  举例:财务管理软件、编写程序用的IDEA开发工具等,可以用Java语言开发
2.企业级应用开发:大型的互联网应用程序
  举例:淘宝、京东、大家每天都用的tlias教学管理系统等
3.移动应用开发:运行的Android手机端的软件
  举例:QQ客户端、抖音APP等
4.服务器系统:应用程序的后台(为客户端程序提供数据)
  举例:服务器系统为用户推荐那你喜爱的视频
5.大数据开发:大数据是一个互联网开发方向
  举例:目前最火的大数据开发平台是Hadoop,就是用Java语言开发的
6.游戏开发:游戏本质上是给用户提供娱乐的软件,有良好的交互感受
  举例:我的世界MineCraft就是用Java语言开发的

虽然Java能做的事情非常多,但并不是每一个方向都被市场认可(比如桌面应用使用Java语言开发就不太方便,而使用C#语言是比较推荐的)。目前Java的主流开发方向是使用Java开发企业级互联网应用程序(很多公司的OA系统,客户关系管理系统,包括传智播客使用教学实施管理系统都是用Java语言开发的)

1.3 Java的技术体系

说完Java语言能做什么之后,接下来我们再给同学们介绍一下Java的技术体系。所谓技术体系,就是Java为了满足不同的应用场景提供了不同的技术版本,主要有三个版本。

  • Java SE(Java Standard Edition):叫做标准版,它是后面两个版本的基础,也就是学习后面两个版本必须先学习JavaSE。我们基础班现阶段学习的就是这个版本中的技术
  • Java EE(Java Enterprise Edition): 叫做企业版,它是为企业级应用开发提供的一套解决方案。在后面就业班课程中主要学习这个版本中的技术
  • Java ME(Java Micro Edition):叫做小型版,它为开发移动设备的应用提供了一套解决方案。目前已经不被市场认可(淘汰),取而代之的是基于Android系统的应用开发

Java语言的相关背景就给大家介绍到这里了,这些内容小伙伴们也不用刻意去记,简单了解一下就可以了。下面我们在简要回顾一下

1.Java是什么?
  答:Java是一门高级编程语言
2.Java是哪家公司的产品?
  答:Java以前是Sun公司的产品,现在Java是属于Oracle公司的产品
3.Java之父是谁?
  答:詹姆斯●高斯林
4.Java主流的开发方向是什么?
  答:企业级互联网应用开发
5.Java技术平台有哪些?
  答:JavaSE(标准版)、JavaEE(企业版)、JavaME(小型版)

二、 Java快速入门

上一章我们给小伙伴们介绍了Java的相关背景,你们现在是不是就想马上用一下Java呀?先不着急,我们得先得安装Java的开发环境,才能使用Java语言开发程序(ps: 就像你先需要安装微信,才能使用微信和朋友聊天是一样的)。

这里所说的Java开发环境,实际上就是Java官方提供的一个软件,叫做JDK(全称是Java Develop Kit),翻译过来意思就是Java开发工具包。我们先要到官网上去下载JDK,然后安装在自己的电脑上,才可以在自己的电脑上使用JDK来开发Java程序

JDK的版本有很多,下图是JDK版本更新的历程图,有LTS标识的是长期支持版本(意思就是Oracle会不定期更新)。目前公司中用得最多的版本是JDK8版本,在目前这套课程中我们为了将一些新特性会使用JDK17版本。

下面已经给小伙伴们提供了详细的JDK下载和安装过程的截图,大家只需要按照步骤操作就行。

2.1 JDK下载和安装

  • JDK的下载

这是JDK下载的官方网址 https://www.oracle.com/java/technologies/downloads/,你需要把该网址复制到浏览器的地址栏,敲回车

进入网址后,选择JDK17版本,找到Windows标签,选择x64 Installer版本。如下图所示

下载完成之后,在你下载的目录下会出现一个JDK的安装包,如下图所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fUgYZls2-1689489428334)(assets/1660528307458.png)]

到这JDK的下载就完成了,接下来就需要按照下面的步骤完成JDK安装.

  • JDK的安装

双击安装包,按照下图引导,点击下一步即可安装。需要注意的是安装JDK后不像你安装QQ一样会在桌面上显示一个图标,JDK安装后桌面上没有图标!!!

如何验证安装成功了呢?

刚才不是让你记住安装目录吗?你记住了吗?如果你自己修改过目录,就打开你自己修改的目录(呀!!忘记了o(╥﹏╥)o,那我帮不了你了,谁让你不认真听讲的);如果没有修改安装目录,默认在C:\Program Files\Java\jdk-17.0.3目录下。

在文件资源管理器打开JDK的安装目录的bin目录,会发现有两个命令工具 javac.exejava.exe ,这就是JDK提供给我们使用的编译工具和运行工具,如下图所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-btHWtfL5-1689489428338)(assets/1660145259521.png)]

我们现在就使用一下 javac.exejava.exe 这两个工具,测试一下JDK是否可用

  1. 第一步:在JDK的bin目录,地址栏输入cmd,回车

输入完cmd回车后,会出现一个黑窗口,专业说法叫命令行窗口

  1. 第二步:在命令行窗口中输入 javac -version回车,然后输入java -version回车
    如果出现下面红色框框的提示正确版本号,和我们安装的JDK版本号一致,就说明JDK安装成功

做完以上步骤之后,恭喜小伙伴_,你的电脑上就已经有Java的开发环境了,接下来可以开发Java程序了。

2.2 cmd常见命令

前面测试JDK是否安装成功,需要在黑窗口中输入javac -versionjava -version 这其实就是JDK查看编译工具和运行工具版本号的命令。

这种输入命令的和电脑交互的方式,称之为命令行交互。也就是说,可以使用命令指挥电脑做事情。接下来我们了解几种Windows系统常见的命令,后面可能会用到。

下面是Windows系统常见的命令以及作用,小伙伴们可以自己试一试。需要注意的是,每敲完一条命令之后,马上敲回车就表示执行这条命名。

E:  //切换到E盘
cd [目录]        //进入指定的目录
cd ..         //退回到上一级目录
cd /         //退回到根目录
dir             //显示当前目录下所有的内容
cls             //清空屏幕

2.3 Java入门程序

上一节我们已经安装好了JDK,接下来,我们就正式开始开发第一个入门Java程序。按照国际惯例,学习任何一本编程语言第一个案例都叫做 Hello World,意思是向世界问好,从此开用程序和世界沟通的大门。

编写Java程序的步骤

编写一个Java程序需要经过3个步骤:编写代码,编译代码,运行代码

  • 编写代码:任何一个文本编辑器都可以些代码,如Windows系统自带的记事本
  • 编译代码:将人能看懂的源代码(.java文件)转换为Java虚拟机能够执行的字节码文件(.class文件)
  • 运行代码:将字节码文件交给Java虚拟机执行

编写第一个Java入门程序

按照下面提供的步骤,一步一步的完成第一个Java入门程序的编写、编译和执行。

第一步:新建一个后缀为.java的文本文件HelloWorld.java,用记事本编写代码如下。

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

第二步:进入HelloWorld.java文件所在目录,在地址栏输入cmd回车,即可在此处打开命令行窗口。

编译:在命令行窗口输入编译命令javac HelloWorld完成编译,编译后会生成一个HelloWorld.class文件。

第三步:再接着输入java HelloWorld就可以运行了,运行结果如下。

2.4 Java程序中常见的问题

刚才小伙伴们在编写第一个HelloWorld程序的时候,是不是很容易报错啊? 我观察过第一次写代码,90%的同学都会有些小问题的,比如单词写错了! 括号少写一个!等等! 我想给大家说的是,写错代码都是很正常的,一个什么错都犯过的程序员,才是真正的程序员

下面我们把程序中常见的问题,总结一下。大家在写代码时注意一下这些问题就可以了

  • Windows的文件扩展名没有勾选
  • 代码写了,但是忘记保存了
  • 文件名和类名不一致。
  • 英文大小写错误,单词拼写错误,存在中文符号,找不到main方法。
  • 括号不配对。
  • 编译或执行工具使用不当。

  • 文件扩展名没有打开

下图中文件扩展名的勾勾没有勾选,就会导致你创建的文件是普通的文本文件(.txt)文件,而不是java文件。

正确做法是把文件扩展名的勾选上

  • 文件名和类名不一致

你看下图中,文件名是HelloWorld,但是类名是Helloworld看出区别了吗?一个是大写的W,一个是小写的w。 不仔细看还真看不出来。

**正确写法是文件名叫HelloWorld,类名也叫HelloWorld**

  • 单词大小写错吴

下图中不是string和system这两个单词都写错了, 这里是严格区分大小写的

正确写法是String和System

  • 主方法写错了

下图所示,主方法的名称写成了mian,这是错误的。

主方法正确写法:必须是 public static void main(String[] args){},一个字母都不能错。

  • 标点符号写错了

下图中打印语句最后的分号,写成功中文分号

正确写法应该是英文分号; 不仔细看还真看不出区别,要小心

2.5 JDK的组成

在前几节课中我们已经安装了JDK,并且开发了一个Java入门程序,用javac命令编译,用Java命令运行,但是对于Java程序的执行原理并没有过多的介绍。

下面我们把JDK的组成,以及跨平台原理给大家介绍一下,有利于同学们理解Java程序的执行过程。

JDK由JVM、核心类库、开发工具组成,如下图所示

下面分别介绍一下JDK中每一个部分是用来干什么的

- 什么是JVM?
    答:JDK最核心的组成部分是JVM(Java Virtual Machine),它是Java虚拟机,真正运行Java程序的地方。
- 什么是核心类库?
  答:它是Java本身写好的一些程序,给程序员调用的。 Java程序员并不是凭空开始写代码,是要基于核心类库提供的一些基础代码,进行编程。
- 什么是JRE?
    答:JRE(Java Runtime Enviroment),意思是Java的运行环境;它是由JVM和核心类库组成的;如果你不是开发人员,只需要在电脑上安装JRE就可以运行Java程序。
- 什么是开发工具呢?
  答:Java程序员写好源代码之后,需要编译成字节码,这里会提供一个编译工具叫做javac.exe,编写好源代码之后,想要把class文件加载到内存中运行,这里需要用到运行工具java.exe。 
  除了编译工具和运行工具,还有一些其他的反编译工具、文档工具等待...

JDK、JRE的关系用一句话总结就是:用JDK开发程序,交给JRE运行

2.6 Java的跨平台原理

学完JDK的组成后,我们知道Java程序的执行是依赖于Java虚拟机的。就是因为有了Java虚拟机所以Java程序有一个重要的特性叫做跨平台性。

  • 什么是跨平台行呢?
    所谓跨平台指的是用Java语言开发的程序可以在多种操作系统上运行,常见的操作系统有Windows、Linux、MacOS系统。
    如果没有跨平台性,同一个应用程序,想要在多种操作系统上运行,需要针对各个操作系统单独开发应用。比如微信有Windows版本、MacOS版本、Android版本、IOS版本
  • 为什么Java程序可以跨平台呢?
    跨平台性的原理是因为在不同版本的操作系统中安装有不同版本的Java虚拟机,Java程序的运行只依赖于Java虚拟机,和操作系统并没有直接关系。从而做到一处编译,处处运行

2.7 JDK环境变量配置

JDK安装后,接下我们来学习一个补充知识,叫做Path环境变量

  • 什么是Path环境变量?
    Path环境变量是让系统程序的路径,方便程序员在命令行窗口的任意目录下启动程序;
  • 如何配置环境变量呢?
    比如把QQ的启动程序,配置到Path环境变量下就可以在任意目录下启动QQ,按照一下步骤操作。
    **第一步:**先找到QQ启动程序所在的目录C:\Program Files (x86)\Tencent\QQ\Bin,复制这个路径

    **第二步:**按照下面的步骤,找到Path环境变量。
    首先找到此电脑,右键点击属性,可以按照下面的界面;点击【高级系统设置】,再点击【环境变量】

    双击Path后,点击新建,把QQ启动目录粘贴进来,不要忘记点确定哦_

    **第三步:**配置好之后,检查是否配置成功
1.Win+R 输入cmd回车,打开命令行窗口
2.输入QQScLanucher,可以看到QQ启动了


  • 将JDK配置到Path路径下
    上面我们配置了QQ的启动目录到Path环境变量位置,那么接下来,我们把JDK的bin目录配置到Path环境变量下,这样就可以在任意目录下启动javac和java命令来完成编译和运行了。
    **第一步:**找到JDK的bin目录C:\Program Files\Java\jdk-17.0.3\bin,复制一下
    **第二步:**将JDK的bin目录粘贴在Path环境变量后面

    第三步:检测否配置成功
1.按住Win+R输入cmd 回车,打开命令行创建
2.输入javac -version 看提示信息是否显示你安装JDK的版本号
  输入java -version 看提示信息是否显示你安装JDK的版本号
【如果显示版本号都是JDK17就表示配置安装成功】

你如果按照前面的操作到这里,就说明JDK环境变量已经配置好了,后面使用JDK命令可以在任意目录下运行。


最新Java基础系列课程--Day01-Java基础入门(二)https://developer.aliyun.com/article/1423478

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
5天前
|
JSON NoSQL Java
Redis入门到通关之Java客户端SpringDataRedis(RedisTemplate)
Redis入门到通关之Java客户端SpringDataRedis(RedisTemplate)
18 0
|
5天前
|
Java 编译器 API
Java基础教程(17)-Java8中的lambda表达式和Stream、Optional
【4月更文挑战第17天】Lambda表达式是Java 8引入的函数式编程特性,允许函数作为参数或返回值。它有简洁的语法:`(parameters) -> expression 或 (parameters) ->{ statements; }`。FunctionalInterface注解用于标记单方法接口,可以用Lambda替换。
|
6天前
|
Java 开发工具 Windows
Java入门及环境变量
Java入门及环境变量
13 1
|
6天前
|
Java
[Java 基础] Java修饰符
[Java 基础] Java修饰符
|
7天前
|
Java API 调度
[AIGC] 深入理解Java并发编程:从入门到进阶
[AIGC] 深入理解Java并发编程:从入门到进阶
|
7天前
|
负载均衡 Java 数据库连接
Java从入门到精通:4.2.2学习新技术与框架——不断扩展自己的知识面,跟上技术的发展趋势
Java从入门到精通:4.2.2学习新技术与框架——不断扩展自己的知识面,跟上技术的发展趋势
|
7天前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
|
7天前
|
监控 前端开发 Java
Java从入门到精通:4.1.2参与实际项目——学习与团队成员协作,了解项目开发的流程和规范
Java从入门到精通:4.1.2参与实际项目——学习与团队成员协作,了解项目开发的流程和规范
|
7天前
|
前端开发 Java 测试技术
Java从入门到精通:4.1.1参与实际项目,锻炼编程与问题解决能力
Java从入门到精通:4.1.1参与实际项目,锻炼编程与问题解决能力
|
7天前
|
缓存 算法 固态存储
Java从入门到精通:3.3.3性能优化与调优——了解常见的性能瓶颈和解决方案
Java从入门到精通:3.3.3性能优化与调优——了解常见的性能瓶颈和解决方案