今日学习内容
计算机语言
跨平台原理
开发和运行环境的搭建
HelloWorld程序开发
IDEA开发工具
Java的基本语法
数据类型和常量
今日学习目标
了解什么是计算机语言
了解什么是java的跨平台原理
掌握如何搭建开发和运行环境
必须掌握HelloWorld程序的开发
必须记住Java的基本语法
了解注释符号有哪些
了解什么是关键字和保留字
必须记住java的分隔符和标志符有哪些
了解Editplus工具的配置
掌握什么是常量,以及常量的分类
必须掌握数据类型有哪些
1. Java入门基础上
1.1. Java和跨平台
1.1.1. 计算机语言和编程概述(了解)
在生活中的两个人需要交流,无非是采用一种彼此都能够识别的语言。那么,我们说该语言是他们传递信息的媒介。
那么什么是计算机语言呢?计算机语言是指用于人与计算机之间通讯的一种特殊语言,是人与计算机之间传递信息的媒介。
为什么需要和计算机交流呢?计算机怎么能读懂我们给它发出的信息?
和计算机交流的目的,就是让计算机帮我们完成复杂工作,比如大量数据的运算。为了让计算机能读懂我们发出的信息,此时就需要编写一套由字符、数字所组成并按照某种语法格式的一串串计算机指令,而这些指示和命令就是计算机语言。
1.1.2. 什么是编程(了解)
计算机语言就是用来实现人和计算机通讯的,那为什么人要和计算机通讯呢,其原因就是为了让计算机帮我们完成一些人为起来比较复杂的工作。
那计算机怎么知道我们要它解决的问题是什么,怎么知道解决问题的具体的步骤是什么呢?
此时我们就得通过编程语言去告诉计算机去:需要做什么,怎么一步一步去做。这种人和计算机之间交流的过程,我们称之为编程。
1.1.3. Java语言
Java诞生于1995年,原属于SUN公司,2009年4月20日,美国数据软件巨头甲骨文公司(*Oracle*)宣布以74亿美元收购SUN公司。Java是最受欢迎的开发语言,已经火了25年,并将继续引领着IT的编程语言。Java的LOGO是一杯热气腾腾的咖啡,真的是令人回味无穷。
Java的三大平台:Java SE、Java ME、Java EE
-
Java SE:Java标准平台,它允许开发软件运行在电脑桌面上,最经典的JavaSE程序就是Java的开发工具Eclipse,同时JavaSE也是JavaEE的基础。
-
-
Java ME:Java微型平台,用来开发移动设备上的软件,比如早期功能机上的Java游戏,当然现在开发手机软件使用iOS和Android平台和技术。
-
Java EE:Java企业平台,针对Web方向,主要应用于开发企业项目和互联网项目,如淘宝,京东,12306,各大银行网站等。
Java在移动端的表现,现在我们使用的手机App,主要是iOS和Android平台的,比如说淘宝App,无论你是iOS手机还是Android手机,在你手机上的App仅仅是一个页面,所有的业务功能都是有后台Java完成实现的,后台和App之间通过接口就可以交互数据了。
你会发现,这个世界除了空气无处不在之外,还有Java。
1.2.跨平台原理(了解)
1.2.1. 平台相关性(掌握)
Windows系统只能运行Windows的程序(exe),Linux系统只能运行Linux的程序,Mac系统只能运行Mac的程序。
Windows的可执行文件,不能直接运行在Linux系统中,反之亦然,就好比Android手机不能运行iPhone的App程序一样,我们把这种情况称之为平台相关性。
1.2.2. 跨平台性(掌握)
使用特定平台的编译器所编译的程序只能在对应的平台运行,此时会发现编译器是与平台相关的,编译后的文件也是与平台相关的。我们说的语言跨平台是编译后的文件跨平台,而不是源程序跨平台。
那语言的跨平台性如何实现?拿Java举例,我们可以对Java程序进行编译操作,编译后生成一种和平台系统无关的文件——字节码文件。但是此时Windows、Linux是不能执字节码文件的,只有Java虚拟机(JVM)才能识别字节码文件,那么为了在Windows系统上运行该Java程序,我们就只能在Windows平台上安装Windows版本的JVM,如果要在Mac系统上运行,那么得安装Mac版本的JVM。
那么如此一来,Java就实现了跨平台,也就达到了“一次编译,到处运行”的效果。
Java之所以能跨平台有两个原因:
-
Java文件经过编译后生成和平台无关的class文件
-
Java虚拟机(JVM)是不跨平台的
在这里进行编译操作的工具叫做javac,启动JVM并把字节码加载进JVM的工具叫做java。
这里解释几个术语:
-
源代码:简称源码,是指还未编译的按照编程语言规范书写的代码,比如Java代码
-
源文件:存放源代码的文件,比如Java文件,拓展名是.java
-
字节码文件: 经过编译器预处理过的一种文件,是JAVA的执行文件存在形式,拓展名是.class
1.3. Java开发和运行环境搭建(重点)
1.3.1. JDK和JRE概述(了解)
-
JRE(Java Runtime Environment):Java运行环境,如果要运行Java程序,就需要JRE的支持,JRE里包含JVM,一般在只运行程序而不开发程序的服务器中安装。
-
JDK(Java Development Kit):Java开发工具,包含开发Java程序的所有工具如javac和java等,JDK包含JRE,如果已经安装了JDK就不必安装JRE。
-
JVM(Java Virtual Machine):Java虚拟机,它是运行所有Java程序的虚拟计算机。JVM是不跨平台的,在Windows下装Windows版的JVM,在Linux下装Linux版的JVM。
1.3.2. 安装JDK(掌握)
选择和操作系统一致版本的JDK,如window 64位选择【 jdk-8u251-windows-x64.exe 】,
mac选择【 jdk-8u251-macosx-x64.dmg】
当出现以下界面的时候,说明当前系统不具备Java的开发环境,就得去安装JDK和配置环境变量。
选择适合自己电脑的JDK后,全称傻瓜式的下一步,其中需要注意的是:
-
JDK不要安装在C盘,且不要带中文的路径,路径中不包含空格字符
-
安装完JDK后,JRE不用安装
-
如果C:\WINDOWS\system32目录中出现名字以java开头的文件,有,删之
举例说明:
正例:D:\OpenSources\jdk1.8.0_45\bin
反例:D:\Java开发\jdk1.8.0_45\bin 出现中文
反例:D:\Program Files\jdk1.8.0_45\bin 路径中出现空格
注意:在JDK安装目录下的bin目录中,存在编译工具(javac)和运行工具(java)。
1.3.3. 配置PATH环境变量(掌握)
配置PATH环境变量的目的是,能够在任何地方使用编译工具(javac)和运行工具(java)。
PATH环境变量的值就应该是javac和java工具所在的目录路径。
再点击开始菜单的运行工具(或者使用快捷键Win+R),弹出运行工具界面,输出cmd再敲回车:
此时会弹出一个黑色界面的控制台界面,在里面输入javac,并回车。
如果看到上述界面说明PATH配置成功,此时就可以开发Java程序了。
常见问题:
-
忘记配置PATH环境变量
-
PATH环境变量没有指向JDK下面的bin目录
-
出现javac不是内部或者外部命令的错误,原因是path配置错误
1.4. Java的第一个程序(重点)
一般而言,编写的第一个程序,习惯叫做HelloWorld程序。
需求:在控制台界面,输出:你好师姐
1.4.1. HelloWorld程序开发(重点)
-
新建文本文档,起名为Hello.java,此时需要在文件夹选项中去掉隐藏文件类型的拓展名。
-
使用记事本或Editplus或Notepad++等文本编辑器,打开Hello.java文件,输入以下代码
-
在当前源文件所在目录,按住Shift,鼠标右键点击在次数打开命令窗口
-
然后,进入类似如下界面
-
此时使用javac工具,对Hello.java文件做编译操作,语法是:javac 文件名.java
-
编译成功之后,会生成Hello.class文件(字节码文件),如果编译失败,不会生成字节码文件。
当有字节码文件后,此时可以启动JVM,并加载Hello这份字节码并执行,语法是:java 类名
-
注意1:运行的命令是java Hello ,而并不是 java Hello.class
-
注意2:被运行的类Hello中必须有main方法,否则报错
-
此时重新修改Hello.java文件,在类中添加main方法的代码,如下:
-
修改源文件之后,需要重新对源文件做编译操作,编译后生成新的字节码文件会覆盖旧的字节码文件
1.4.2. Java的编译和运行机制(重点)
-
编写源文件(Java文件),源文件中包含源代码(Java代码)。
-
使用javac工具对源文件做编译操作,语法:javac 源文件.java
-
生成字节码后,使用java工具启动JVM,运行程序,语法:java 拥有主方法的类名
-
在控制台输出,显示结果
1.5 开发工具-IDEA
IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国捷克共和国/418555)的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Java等少数语言。
根据文档《IDEA安装配置文档.pdf》安装配置好IDEA,在后面的课程中,我们将选择使用IDEA完成教学。
基本配置:
1. 字体
-
禁用代码的自动补全
1.6. Java的基本语法(重点)
1.6.1. 基本语法(必须记住)
-
Java语言严格区分大小写,好比main和Main、system和System是完全不同的概念。
-
一个Java源文件里可以定义多个Java类,但其中最多只能有一个类被定义成public类。若源文件中包括了public类,源文件必须和该public类同名。(通常一个Java文件中定义一个类)
-
一个源文件中包含N个Java类时,成功编译后会生成N份字节码文件,即每个类都会生成一份单独的class文件,且字节码文件名和其对应的类名相同。(一个类对应一份字节码文件)
-
若一个类必须运行,则必须拥有main方法(主方法),因为main方法是程序的入口。
1.6.2. 注释符号(了解)
1.6.2.1 三种注释方式(掌握)
Java的注释信息是给程序员看的,编译器(javac)在编译的时候会忽略掉源文件中的注释信息。
Java提供3种注释类型:
-
单行注释:// 内容, //后面这一行的内容被注释
-
多行注释:/内容/;/和/ 之间的所有内容被注释
-
文档注释:/内容*/;/和*/之间内容被注释,此外,还可以专门生成文档信息API
注意:多行注释之间彼此都不能交叉嵌套,以下就是错误的例子。
/* /* 内容 */ */
因为/会找举例自己最近的/符号,组成一个注释语句块,上图中单独的*/符号就不能被编译器识别了。
1.6.2.2 标准的代码案例(必须这么去做)
后续代码的编写,要严格都要写需求、开发步骤、小结。
//需求:在控制台输出内容:你好师姐
/* 开发步骤: 1:先定义一个类Hello 2:在Hello类中定义一个main方法 3:在main方法中使用系统输出打印一句话 4:编译和运行程序 写完代码,写下小结:我在写代码过程的得与失 1:如果不写main方法,程序没法运行,因为main方法是程序的入口。 2:Java严格区分大小写,System不能写出system,其他也要注意。 3:巨坑,分号必须使用英文状态下的,不能使用中文(中文的;英文的;) */ public class Hello { public static void main(String[] args) { System.out.println("你好师姐"); } }
1.6.3. 关键字和保留字(了解)
关键字:在编程语言中事先定义的,有着特殊含义和用途的单词。
保留字:和关键字一样是编程语言事先定义好的,只是说现在暂时没有特殊的功能,但说不定以后某天会突然被赋予功能,因此被保留下来的单词。比如goto和const就是保留字。
小结:注意关键字和保留字都是由小写组成,关键字不要去记,我们学一个记一个。
注意:java 无sizeof 、goto、 const 关键字
有人认为:true,false,null属于字面量(直接量),不属于关键字,无所谓,不要纠结这些学术性。
1.6.4.分隔符和标识符(记住)
1.6.4.1.语言分隔符(了解)
分号(;):语句的分割,表示一句话结束,好比咱们使用的句号。
花括号({}):表示一个代码块,是一个整体,花括号要成对使用。
方括号([]):定义数组和访问数组元素时使用。
圆括号(()):使用很广泛,具体用到细讲。
圆点(.):类和对象访问它的成员时使用。
空格( ):把一整条语句分割成几段,空格的次数不限制,好比一句英文里单词都要分开写一样。
注意:必须都是半角状态下的英文符号,写代码时确保搜狗输入是这个样子的。
小技巧写代码时,全部使用英文的符号,不要使用中文的符号,修改搜狗输入法配置。
1.6.4.2. 标识符(了解)
在写代码的时候为了增强代码的阅读性,我们会自定义很多名字如:类名、方法名、变量名等。
在编程的里,我们把这种为了增强程序阅读性而自定义的名称,称为标识符。
标识符命名规则:
① 由字母、数字、下划线、$组成,但不能以数字开头(注:此处的字母可以是中文、日文等)
② 大小写敏感
③ 不得使用java中的关键字和保留字
④ 不用java中内置的类名作为自己的类名。
小结:记住使用一个非关键字和保留字,且有意义的英文单词就很OK了。
注意:类名必须使用名词,且首字面必须是大写的。
学习优势:
1.包含java前后端从 0 ->1 全过程教学, 内容全面, 知识点不遗漏, 学完即可参加实际工作.
2.课程为目前项目开发常用的技术知识,向用人单位对标,学以致用。那些脱离实际,废弃不用的,太前沿的框架技术前期不建议学。
3.一起学习,打卡,一起交流,希望能营造一个和线下一样的学习环境。
需要进微信学习交流群, 或者想领取代码,文档,全套视频的同学请+v:lmm99964