初识Java
初识Java
Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台
课程内容的介绍
- 计算机语言的发展历程
- 人机交换的方式
- 常用的DOS命令
- Java相关概念介绍
- 第一个HelloWorld程序
- 环境变量配置
一、计算机语言的发展历程
语言:人与人沟通交流的桥梁
计算机语言:人与计算交流的桥梁
1.机器语言
机器语言是机器能直接识别的程序语言或指令代码,无需经过翻译,每一操作码在计算机内部都有相应的电路来完成它,或指不经翻译即可为机器直接理解和接受的程序语言或指令代码。机器语言使用绝对地址和绝对操作码。不同的计算机都有各自的机器语言,即指令系统。从使用的角度看,机器语言是最低级的语言。
机器是只能识别"0"和"1"的, 0101010101001101010
2.汇编语言
汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址
是在"机器语言"之上的编程语言,理解难度要比"机器语言"容器,单片开发。属于第二代编程语言
3.高级语言
面向人类的高级语言
高级语言(High-level programming language)是一种独立于机器,面向过程或对象的语言。高级语言是参照数学语言而设计的近似于日常会话的语言。


二、人机交换的方式
人和计算机交换的方式是通过操作系统来实现,操作系统(Operating System OS)
1.图形用户界面
Windows,Mac,Linux等
2.基于字符界面
DOS系统


3.常用的快捷键
这些快捷键不是说程序员必须要掌握,而是稍微懂点电脑的都应该要掌握
| 快捷键 | 说明 | 快捷键 | 说明 |
|---|---|---|---|
| Ctrl+A | 全选 | Windows+左方向键 | |
| Ctrl+C | 复制 | Windows+右方向键 | |
| Ctrl+V | 粘贴 | Windows+D | 切换到桌面 |
| Ctrl+S | 保存 | Windows+E | 打开计算机 |
| Ctrl+X | 剪切 | Window+R | 打开运行窗口 |
| Ctrl+Z | 撤销 | Control | 打开控制面板 |
| Ctrl+Y | 反撤销 | calc | 打开计算器 |
| Alt+F4 | 退出当前窗口 | notepad | 打开记事本 |
| Ctrl+alt+. | 打开任务管理器 | mspaint | 打开画图工具 |
4.常用的Dos命令
我们通过DOS命令窗口来实现用户的各种操作,我们需要掌握常用的操作命令
4.1 打开命令窗口的方式
- window+r 打开运行窗口然后输入 cmd命令 回车即可打开
- 在win10系统,我们可以在左下角的搜索框中输入cmd即可
- 在win7系统下, 按住 shift键 然后在桌面空白的地方鼠标右键在菜单栏中找选项
- 直接在目录框中输入cmd即可

4.2 常见名称解释
目录:文件夹,Directory
文件:带有后缀名的内容,a.txt,b.jpg,c.css ... File
盘符:D: E: F: ...
路径:主要是定位我们的文件或者文件夹的
地址:
相对地址 : 在我的隔壁房间
绝对地址:中国湖南长沙岳麓区XXXX街道XXX室
路径:
相对路径:在 gp_repository_03 的旁边(同级目录下) 【不带盘符的地址 协议】
绝对路径:D:\tools\git
https://n.sinaimg.cn/news/transform/590/w240h350/20201112/a713-kcunqze0900648.jpg
ftp://pic15.nipic.com/20110628/1369025_192645024000_2.jpg
g
4.3 常用的DOS命令
dir命令:眼睛 可以看到当前目录下的所有的文件及其目录 directory
cd命令:脚可以进入到任意目录中 change directory
- 盘符切换 d: E: f: 不区分大小写的
- 单级进入 cd 文件夹名称 cd tools
- 退出到上一级 cd .. 返回上一级目录
- 多级进入 cd 文件夹1\文件夹2
- 直接退回到根目录 cd / 退出到当前盘符的根目录
md命令:创建文件夹的 make directory
注意:通过命令创建的文件夹尽量不要使用中文,尽量不要使用空格
rd命令:删除非空的文件夹 remove directory
rd /s 要删除的文件夹名称 -- 会有提示信息
rd /s /q 要删除的文件夹的名称 --没有提示直接删除
创建文件的两种方式:
1.type nul>a.txt 创建一个空的a.txt文件
2.echo abc>b.txt 创建一个b.txt 内容是 abc
del命令:删除文件的命令,delete的简写
如果要批量删除文件可以通过通配符的方式来实现 del .txt ,del abc
注意:del是不走回收站的。
小技巧:
1.Tab键:自动补全
2.上下键:显示上一次或者下一次已经输入过的命令
3.help:帮助命令
4.cls:清空屏幕 clear screen
5.exit:退出DOS命令窗口
4.4 课堂练习
使用命令在D盘下创建一个文件夹,名字为Test,然后在Test文件夹下面创建Demo文件夹和a.txt文件,删除Test文件夹。
d:
md Test
cd Test
md Demo
type nul>a.txt
cd ..
rd /s Test 删除非空的文件夹
三、Java的相关概念
1.Java的历史
Java是由Sun公司开发出来的,2009年被甲骨文Oracle收购了

詹姆斯·高斯林 James Gosling Java之父 Oak语言-->Java

Java演变的各个版本
| 版本 | 发布时间 |
|---|---|
| JDK Beta | 1995年 |
| JDK 1.0 | 1996 年 1 月 |
| JDK 1.1 | 1997 年 2 月 |
| J2SE 1.2 | 1998 年 12 月 |
| J2SE 1.3 | 2000 年 5 月 |
| J2SE 1.4 | 2002 年 2 月 |
| J2SE 5.0 | 2004 年 9 月 |
| Java SE 6 | 2006 年 12 月 |
| Java SE 7 | 2011 年 7 月 |
| Java SE 8 (LTS) | 2014 年 3 月 |
| Java SE 9 | 2017 年 9 月 |
| Java SE 10 | 2018 年 3 月 |
| Java SE 11 (LTS) | 2018 年 9 月 |
| Java SE 12 | 2019 年 3 月 |
| Java SE 13 | 2019 年 9 月 |
| Java SE 14 | 2020 年 3 月 |
| Java SE 15 | 2020 年 9 月 |
2.Java的三大版本
2.1 J2SE
标准版,Java的基础版本,其他两个版本都是要依赖于此的 Java 2Standard Edition
2.2 J2EE
企业版,我们要学习的就是J2EE 企业级的Web应用解决方案 Java 2 Enterprise Edition
- 定位在服务端应用
- 主要用于企业Web服务器应用
2.3 J2ME
微型版 Java 2 Micro Edition
- 定位于电子产品
- 移动设备、TV、手机
3.Java跨平台的原理
平台:操作系统
跨平台:书写的一份代码可以在各个平台上面运行 www.oracle.com

4.Java特点
4.1 Java是跨平台的
4.2 Java是简单的
4.3 Java是安全的
取消了指针,垃圾回收机制
4.4 Java是完全面向对象的
4.5 Java是健壮
5.JDK、JRE、JVM三者的区别和联系

JVM
Java Virtual Marchin Java虚拟机
- JVM是一种规范,Oracle实现了这种规范
- JVM是跨平台的基础
- 一次编译到处运行
JRE
Java Runtime Environment Java运行时环境
- JRE 中提供了Java程序运行时需要用到的核心的Jar(类,接口等)
- 如果我们希望一个Java程序能够运行的话,那么我们必须要安装JRE
JDK
Java Development Kit Java开发工具包
- 提供了很多像java.exe,javac.exe,javap.exe等开发工具,帮助我们开发Java程序
- 如果我们希望在自己的电脑上面开发Java程序,那么我们就必须安装JDK
JDK包含了JRE,JRE包含了JVM。所以我们开发的时候就只需要安装JDK即可

6.JDK的安装和卸载
6.1 卸载JDK
如果我们电脑上已经安装的有JDK了,那么我们需要先卸载掉原来有的再安装新的JDK
1.在控制面板中卸载

2.删除掉遗留的文件
之前是安装在默认路径下面的,所以我们去到 C盘下的 Program File 目录下找到 java 删除即可
3.移除环境变量的配置
选中"计算机"--> 右键 属性 --> 删除相关信息

移除path路径后的相关信息

删除classpath 配置

可以重启下电脑。
6.2 安装JDK
首先需要获取对应的操作系统的JDK安装文件

安装路径可以自定义,也可以使用默认的。推荐使用自定义的路径


安装过程稍等片刻

JRE的安装

等待安装完成即可

测试是否安装成功 在cmd 窗口输入 java 能看到如下的输出信息表示安装是成功

6.3 JDK安装路径介绍

JDK的安装成功表示当前的电脑已经初步具备了开发Java程序的条件
7.HelloWorld程序
7.1 HelloWorld程序的实现
在JDK的安装路径的bin目录下创建一个HelloWorld.java文件,如果你是把JDK安装在了c盘的Program File 文件夹下的话,有可能因为系统的原因,不能在该目录下创建文件,那么你可以在其他位置创建好文件然后复制过去即可。

打开该文件,在文件中写下如下内容:
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("HelloWorld .... ");
}
}
代码写完也就意味着我们的开发完成了。接下来我们就可以借助JDK中提供的开发工具来执行我们程序。
javac.exe 将我们的Java文件编译成为class文件
javac HelloWorld.java

如果出现了"拒绝访问"的错误提示,那么一般是权限的原因。所以这个时候我们需要通过"系统管理员身份"来打开命令行窗口

编译成功后我们就可以借助另一个开发工具 "java.exe"来执行我们的class文件
java HelloWorld
注意:java后面跟的不是class文件名称而是我们在代码中定义的类名


7.2 课堂练习
自己去写一个HelloWorld程序,然后看看自己能够碰到什么错误!
7.3 大家可能踩到的坑
1.文件扩展名的问题
因为操作系统的原因,造成文件扩展名隐藏,那么创建的 HelloWorld.java其实是 HelloWorld.java.txt文件,当然就没法编译了


2.文件名和类名要一致
我们的类名和文件名称不一致的请求下,同样的是编译不过去的

3. Java中是严格区分大小写的
public Class HelloWorld999
{
public Static void main(String[] args)
{
system.out.println("Hello Wrold ... 666");
}
}

4.非法字符
在代码中,每行代码的结束必须有英文状态";"结尾,方法中的字符串我们必须用英文状态的" " " 来包含,不能是中文状态 或者 单引号
public class HelloWorld666
{
public static void main(String[] args)
{
System.out.println("Hello Wrold ... 666“);
System.out.println('Hello Wrold ... 666');
}
}

5.括号匹配
在程序中出现括号都是成对出现的 {} [] ()
public class HelloWorld666
{
public static void main(String[] args
{
System.out.println("Hello Wrold ... 666");
System.out.println("Hello Wrold ... 666");
}

6.找不到主方法
程序的入口是 main方法,而主方法的格式必须是 public static void main(String[] args){ ... }
public class HelloWorld666
{
public static void man(String[] args)
{
System.out.println("Hello Wrold ... 666");
System.out.println("Hello Wrold ... 666");
System.out.println("....");
System.out.println("...");
}
}
main方法写错了,编译是能通过的,表示它还是一个普通的方法,只是在程序执行的时候就找不到入口方法了

7.4 课堂练习
1.写一个Java程序,向控制台输出"世界你好,Java我来了!!!"
2.写一个Java程序,向控制台输出你的 姓名,年龄,爱好。
7.5 HelloWorld案例小结
- Java对大小写敏感,如果出现了大小写拼写错误的情况,程序是没法执行的
- 关键字 class 表明Java程序中的全部内容都包含在类中,Java是一种面向对象的语言
- main方法是Java程序的入口,它的固定写法是
public static void main(String[] args){....} - 在Java中,程序被包裹的情况下 {} [] () 都是成对出现的。

刚开始学习大家要注意编程风格
1.注意缩进, “Tab”键,不推荐用键盘的 空格
2.成对编程,括号,引号 我们都应该直接写完然后再往里面添加内容
3.见名知意,我们命名的时候比如 类名,我们不要随便取 "aa" "bb" "cc" 让人看不懂的名称,我们应该取一些别人一眼能看明白的名称
8.配置系统环境变量
想要在JDK的安装目录之外执行我们的Java程序,那么这时我们就需要在环境变量中配置Jdk的目录信息
右键点击桌面计算机→选择属性→选择高级系统设置→选择高级选项卡→点击环境变量→下方系统变量中查找path→双击path

8.1 JAVA_HOME
内容是Jdk的安装路径,在bin目录的上一级
E:\java\jdk

8.2 Path
我们只需要将JDK的bin目录追加到Path的录制之后,注意!!! 不要删除原来的内容
%JAVA_HOME%\bin

8.3 classpath
在jdk1.5之后我们在通过开发工具编程的时候可以不加classpath,但是我们在直接通过文本操作的时候还要添加下的
.;%JAVA_HOME%\jar;%JAVA_HOME%\lib\tools.jar;

这样就表示我们的JDK的环境变量是配置好了,那么我们就可以在当前电脑上来写我们的Java程序了
# 四、学习方法
对于任何行业任何工作来说,融会贯通是获得成功的关键。一个人想要成为优秀程序员,就必须有坚实的基础。核心理念的理解会帮助你用最好的方法设计和实施出最完美的方案。如果你感觉到不能掌握核心的计算机科学或者某个编程语言的知识点,现在开始回顾基础一点都不晚。
**1. 开始为你写过的代码贴上标签(怎么做,做什么) 写注释**
我发现优秀的程序员和普通程序员之间有一条明显的分界线,优秀程序员渴望深究每行代码做了些什么,以及如何实现的。有那么一小群人,他们一定要弄懂每一行代码。我知道如果时间非常紧张的时候,我们经常不能够遵循这个原则,仅仅写出些代码,知道它实现了需要的功能。如何处理这种情况又是另外一个话题,但是作为一个程序员,我们经常要尽可能深入探索。相信我,随着时间的推移这会变成一个习惯,之后每次你都会不知不觉的这样做了。
-
帮助他人,你可以学到更多
许多人都有个共同特点,只有当他需要帮助的时候,他才会求助于论坛或者群。优秀程序员不同之处在于他们会经常浏览论坛去帮助他人。相比较于靠别人帮助解决问题,他们帮助他人让自己学到更多。在一个团队中也是一样,帮助他人解决问题收获更多。相信我,了解他人的问题,思考并最终提供解决方案吧,你会比之前学到的更多。 -
写简单易懂,有逻辑性的代码
正如KISS原则(保持短小精悍)适用于生活的方方面面一样,它也适用于编程。尽量写有逻辑的代码,避免复杂化。有时人们写复杂的代码仅仅是为了展示他们有能力写出这样的代码。我的经验告诉我,简单而富有逻辑的代码非常的好,会产生的问题更少,也更容易扩展。我记得一句话:好的代码本身就是最好的文档。当你想要加注释的时候,问问你自己,"我能如何改进我的代码,才能不写注释也读得懂呢?" -
花更多的时候分析问题,你将会花更少时间去解决问题
花更多的时间理解和分析问题,然后再设计方案吧。你会发现剩下的事情很容易了。设计不是说要用建模语言和工具,可以是仅仅看看天空在脑子里构思。那些在遇到问题就开始敲代码的人往往会最终偏离需求。如果你洗澡的时候不能理清整个程序的结构,那么你还没准备好开始编程。 -
成为第一个检查你的代码的人
虽然有一点点难,但试着在其他人修改你代码之前修改它,随着时间的推移,你会写出几乎没有bug的代码。对你的代码做没有任何偏见的检查,也不要犹豫让其他人来检查你的代码。和其他优秀的程序员一起工作,接受他们的意见能够帮助你也成长为一个优秀的程序员。 -
不要迷失在快速更迭的科技世界
在IT行业中,我经常遇见许多人,他们对现在的工作不满,甚至离开它去追寻新的工作,理由是因为他们想要学习最新的科技。我们每天听到的都是新工具、接口、框架,能让程序更简单,速度更快。这在科技世界中司空见惯并会一直如此。但是最基本的最核心的科技变化比那些框架、工具和接口的变化小得多。就像大海,大海表面上波涛翻滚,但大海深处却相当平静,而那里才是水生生物生存的地方。所以将你自己置身于核心技术的大海深处吧。举个例子,在Java企业级应用中,每个星期都会出现新的框架,但是核心的技术是不变的,譬如基于客户端-服务器端的请求,MVC模式,filters/servlets/JSP,数据源绑定,XML解析等等。所以要花功夫去学习核心概念,而不是去担忧日新月异的框架和工具的出现。相信我,有了核心技术的基础,你会发现学习新的框架,工具以及接口变得更容易了

浙公网安备 33010602011771号