初识Java
程序员 、程序猿、程序媛、工程师、攻城狮、开发小gg 、开发小mm、码农…
1. 了解什么是程序?
计算机程序一定是来源于并且超脱于现实生活的。
1.1 现实生活中的程序?
手续、流程…套路…
程序就是一系列步骤的集合体。
1.2 计算机中的程序?
手机/电脑等中各种软件:游戏、办公用的软件、视频、音乐等软件
日常使用的电器等:路由器、电视、洗衣机…
日常使用的一些工具:银行ATM、挂号机…
这些程序是由我们程序员开发(编写、敲)出来的。(编程人员 - 编写程序的人员)
程序就是在计算机中为了达到某种目的,或者为了实现何种效果而运行的一系列指令的集合。
2. 了解主流编程语言
程序设计语言,编程语言,是用来编写程序的。
计算机并不能理解我们人类的指令,它识别的是二进制(1001110101001),而我们人类使用的是各种语言(汉语、英语… 数值使用的是十进制)
编译器(解释器)(胖翻译):因为我们如果人类去记忆计算机能识别的二进制,是非常麻烦的,所以我们就有前辈开发了一些翻译官。演变至今,我们已经开始用自然语言来表述计算机指令。
当然我们直接使用自然语言,那么可能出现的表述方式太多了,所以这些"翻译官"的开发者们,就强制定义了一套语法(自然语言基础上设计的),我们按照人家语法去下达计算机指令即可。
**主流的编程语言:**Java、C、C++、Python、C#、PHP、JavaScript…
Go、Kotlin。
我们编程人员不可能拿一门语言吃一辈子,需要掌握多种(5-6)种语言,但是精通一到两种。
高级、低级语言:(更接近于系统底层的就是低级语言)
Java、Python…是一种高级编程语言 (更加简单)
C…是一种低级编程语言 (难)
静态语言和动态语言: (是否要进行编译)
Java、C…是静态语言
Python、JavaScript…是动态语言
3. 了解Java的历史和前景
1991年Sun公司的詹姆斯高斯林博士领导开发Green Project,出现了oak语言
1995年oak更名为Java,正式诞生。
1996年Java出现1.0版本
1998年Java出现了三个分支:(1.2版本)
- J2 SE(Standard Edition)标准版本:语法基础、标准、核心
- 用它可以开发桌面程序(在这个分支被C++ C C# 抢占了市场)
- J2 ME(Micro Edition)微版本:用于移动端开发
- 用它可以开发移动端程序(在这个分支被Android抢占了市场、但是Android目前还是用Java开发最主流,Google在2017年开始要求Android开发人员选用Kotlin<模仿Java>来开发Android<Oracle打官司>)
- J2 EE(Enterprise Edition)企业版本: 微服务、大数据、…
- 用于企业级开发 企业程序:网站、平台、管理系统…(目前领头)
2004年J2系列和1.xx系列更改为Java 5… 更新非常多新功能
2009年被Oracle收购,Oracle开始负责Java开发…
2013年 Java8出现了
2019年1月1日起 Java8后续更新收费
4. 熟练掌握安装、[配置] Java开发环境
之所以安装JDK和JRE就是为了准备:编译器、虚拟机…
在JDK安装目录的bin目录中,有两个我们必须知道的程序:
- javac(java compiler Java编译器)
- java
无法直接运行这两个程序(闪退),它们需要在DOS(Disk Operating System)系统中运行。
Windows中可以通过Windows+R键 -> cmd
回车就可以进入此系统。(windows注意管理员身份)
在DOS系统中,鼠标是无法使用的,我们需要通过 命令(command)来执行你想要做的任务。(在DOS系统中熟练使用Tab补全、Dir查看当前目录下的内容、以及上下键来查看以前的命令)
打开/进入某个文件夹:cd 要进入的文件夹名/路径
- 进入上一级文件夹:
cd ..
- 进入当前磁盘的根目录(磁盘的直接目录):
cd /
查看某个文件夹下的所有内容:dir
(directory目录)
-
被标注了dir的内容是表示它是一个文件夹
-
没有标注dir的内容是表示它是一个文件
-
..
是表示上一级文件夹 -
.
是表示当前文件夹
切换盘符:
盘符名:
**环境变量:**Windows系统中内置的一些信息,方便我们在任何程序中,任何位置使用的信息。
-
**path(路径)环境变量:**在path环境变量中存储了一些在系统的任何程序,任何位置都能用到的路径信息。
在存储到path环境变量之后,可以在DOS系统中的任何位置执行该程序。
DOS系统中当你输入了一个程序名,它会自动在当前文件夹下查找是否有此程序,如果有此程序,就运行,没有此程序就会来到path环境变量中寻找存储的路径中是否有该程序,有的话,就运行,否则提示错误…
环境变量是在系统的高级设置中存储的。
- 打开开始菜单,搜索环境变量 -> 系统环境变量
- 先在系统变量中创建
JAVA_HOME
的系统变量,变量值为Java安装目录的bin目录的上一级。
-
JAVA_HOME配置的意义在于我们后期的很多软件都会识别此系统变量。(前期固定玩)
-
然后在path中添加
%JAVA_HOME%\bin
- %JAVA_HOME%引用JAVA_HOME系统变量的值,然后拼接上\bin之后,它就变成了最初我们单纯的在path中配置的java程序路径。
5. 熟练掌握使用记事本开发Java程序
利用对应语言的语法去编写代码(指令)
我们使用记事本程序来编写Java程序。
1. 创建一个文本文档(记事本)
2. 打开记事本编写源代码(一个程序的原始、根源代码)
Java程序的基本架构
public:公共的 公开的
class:类 班
HelloWorld:类名 要和文件名保持一致
static:静态的
void:空
main:主要的
main(String[] args):main方法、main函数 主方法 主函数 【程序的入口】
String:字符串
args:arguments 参数、元素
System:系统
out:输出、向外
print:打印
println:print line行
public class HelloWorld{} 类声明 以后编写Java代码都要先写此内容
public static void main(String[] args){} 方法声明 声明的是主方法 程序的入口 运行必须写
System.out.println(); 调用系统的输出流 可以在屏幕上打印出内容
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World!");
}
}
-
使用javac.exe程序来编译源代码
更改文件名为
HelloWorld.java
编译器只识别.java
文件javac 要编译的源代码路径
编译之后会出现一个.class
文件(字节码/byte code文件) -
使用
java.exe
程序来运行编译好的字节码文件java 字节码文件的文件名
注意:不需要写扩展名.class
5.1 注释
**注释:**给代码添加的解释性的词汇、内容,便于开发人员和维护人员阅读。
要求:前期我们所编写的代码都要添加40%以上的注释
Java中为了方便我们给代码添加注释,提供了3种注释语法:
- 单行注释:
//
- 多行注释:
/*注释内容*/
- (了解)文档注释:
/** 注释内容 */
注意事项:
- 添加注释时应该添加在要解释的代码行的上方或者右侧。
- 注释的内容是不会被编译的,且不会被执行,不会影响到别的代码。
- 合理的注释有助于我们阅读代码,调整思路。
/*
*作者:Charles
*描述:这个类,是我编写的第一个类
*时间:2019-09-03 14:59:12
*/
public class HelloWorld{
public static void main(String[] args){
// 这是输出语句 我想输出的是Hell World这句话
System.out.println("Hello World!");
}
}
5.2 代码规范
一个好的代码应该是给人看的,而不是给机器看的。
-
代码必须注意单词的大小写(严格区分)
-
代码要注意缩进,表现出层级关系(下属)
- 缩进4个空格
- 一个Tab键
-
声明结构注意花括号,左侧花括号不换行,右侧花括号换行,花括号是成对出现,结尾花括号注意和此声明开头对齐。
-
Java源代码文件名应该遵循大驼峰命名法(帕斯卡命名法),不允许使用中文命名
helloworld -> HelloWorld 首字母大写,如果有多个单词,后面的每个单词首字母都大写
-
…
6. 了解Java虚拟机与[跨平台]的原理
Java当初在1995年之所以一经出世,就改变了开发行业的格局。
因为Java采用了虚拟机运行的机制,Java程序实现了跨平台(Write once , run anywhere.)。
不采用直接编译成二进制文件,而是编译成伪二进制文件(Java中的字节码文件.class文件)。
以前为了开发不同平台的程序,需要对不同平台进行适配,其实也就是开发不同平台能理解的二进制内容。
但是成本太高,所以Java采用在各种平台上开发对应的虚拟机,然后我们编写的Java代码,以后直接运行在Java虚拟机上,这样就实现了跨平台。
又因为虚拟机的原因,所以无法直接面向计算机,性能有损失(由虚拟机决定)。(后续关于JVM深入研究 调优《深入Java虚拟机第二版》周志明)
7. 了解反编译工具的使用
**编译:**将自然语言的内容翻译给计算机能识别的二进制的过程。 (源代码 -> 字节码)
**反编译:**将计算机能识别的二进制内容反向解释成自然语言。 (字节码 -> 源代码)
常用的反编译工具:jad、jd-gui…
9. 第一天遇到的坑
-
JDK安装之后(1.8),Oracle公司它将安装包更改了以下,每次安装完之后会自动给你path环境变量中添加一些内容。
-
我的世界等Java游戏,可能当初你配置了它的运行环境,但是注意它会对我们现在的环境产生影响。
-
写完代码必须注意Ctrl+S快捷键 保存
-
认为自己打开了CMD,然后从桌面上看到了Java源代码,就认为可以直接使用到它
-
编译能正常完成(javac),但是无法进行运行
-
配置JAVA_HOME,配置完之后 没有点确定
-
学会学习
10. IDE-开发工具
IDE: Integrated Development Environment 集成开发环境
集成了代码编写、分析、编译、调试等功能的服务套,最终的目的就是快速开发!
开发Java的主流IDE:
- Eclipse - Eclipse基金会开源(开放源代码的)
- MyEclipse - IBM和xxx公司合作开发的 (基于Eclipse基金会开源的内容 然后定制开发成的 集成了大量的Java EE组件) (收费的)
- Intellij IDEA - Jet Brains开发的 (收费)
Eclipse下载安装非常简单,但是必须保证JAVA_HOME被配置正常!
Eclipse的版本必须选择配套的JDK(霓虹灯Neon版本开始需要JDK1.8)
-
双击打开Eclipse,会弹出工作空间选择的窗口
工作空间(work_space) : 用于存储日后的配置信息和编写的Java代码
-
进入主界面,切换到Java视图
-
在左侧创建Java工程
Java Project(工程、项目):代表某个项目程序,未来其实就是一个复杂的文件夹而已。
-
创建好的Java工程,长成下方的样子。
src:编写源代码
-
在src上右键,创建Class(类)
-
然后编写代码
-
右键run as -> Java Application运行
根据查老师课堂笔记整理!!!!