Java基础[01-Java概述]
一、 课前准备
1)计算机
-
分类:
PC家庭电脑
大型机——服务器
终端——云计算的课程
-
作用
科学计算
多媒体应用
网络通信
图形处理
-
构成
硬件:鼠标、键盘、手写板、扫描仪、显示器、主机、cpu、硬盘、电源、内存、主板、显卡、声卡、网卡
软件:系统软件、应用软件
2)软件开发
软件:一系列按照特定顺序组织的计算机数据和指令的集合。
-
系统软件:DOS,Windows,Unix,Linux,MAC,Ios,Android等。
- 应用软件:扫雷,迅雷,QQ等。
开发:根据用户要求制作软件(软件应用的行业:金融行业 安全行业 电信行业 互联网行业等)
3)人机交互
-
图形化界面
-
命令行方式
4)如何打开控制台
-
开始--程序--附件--命令提示符
-
开始--运行--cmd--回车
-
Win+R--cmd--回车
5)常用的DOS命令
-
盘符:——>切换磁盘
-
dir ——>列出当前目录下的文件以及文件夹
-
md ——>创建目录
-
rd ——>删除目录(只能删除空文件夹)
-
cd ——>进入指定目录(若目录名过长后面可用*号辅助,只要前面名称不重复)
-
cd.. ——>退回到上一级目录
-
cd\ ——>退回到根目录
-
del ——>删除文件(del+文件夹名:删除文件夹内所有文件;del+文件名:删除文件)
-
exit ——>推出dos命令行
-
cls ——>清屏
- start ——>新开一个DOS窗口
注: 1、echo 内容>文档名(eg:1.txt):创建文件,并把内容写入文件。
2、通过DOS命令行进行的删除操作是不走回收站的。
3、*代表所有(ab\*:代表ab文件夹中的所有文件;*.txt:代表所有txt类型的文档)。
斜杠和反斜杠的区别:
斜杠的使用场合:DOS命令中的开关、除号、Linux和Unix下指定路径分隔符
反斜杠使用场合:Windos中指定文件夹路径分隔符、计算机语言中的转义字符
通用的场合:浏览器中
二、语言概述
2.1、计算机语言(计算机能识别的语言)
- 机器语言(01的相应组合表示相应的机器指令,速度很快)
- 汇编语言(特殊的英文符号表示特定的含义,相对也快)
- 高级语言(和人类的自然有很接近,容易掌握 c++、java、c)
总结:汇编语言 、高级语言都需要转化为机器语言
2.2、JAVA语言概述:(SUN公司1995年推出的面向Internet的语言)
2.2.1、Java语言的三种技术架构
J2EE(Java 2 Platform Enterprise Edition)企业版 |
是为开发企业环境下的应用程序提供的一套解决方案。
该技术体系中包含的技术如 Servlet Jsp等,主要针对于Web应用程序开发。 |
J2SE(Java 2 Platform Standard Edition)标准版 |
是为开发普通桌面和商务应用程序提供的解决方案。
该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发。
比如Java版的扫雷。 |
J2ME(Java 2 Platform Micro Edition)小型版 |
是为开发电子消费产品和嵌入式设备提供的解决方案。
该技术体系主要应用于小型电子消费类产品,如手机中的应用程序等。 |
Java5.0版本后,更名为 JAVAEE JAVASE JAVAME |
2.2.2、Java语言的特点:
面向对象、安全可靠、跨平台(即不依赖平台,是依靠虚拟机实现的)
Java虚拟机(JVMJava Virtual Machine):虚拟机是依赖平台的,即有不同的版本,如Win版的JVM、MAC版的JVM、Lin版的JVM。
2.3、Java语言的环境搭建
2.3.1、什么是JRE,JDK?
a、JRE(Java Runtime Environment Java运行环境)
包括Java虚拟机(JVMJava Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
b、JDK(Java Development Kit Java开发工具包)
JDK是提供给Java开发人员使用的,其中包含了java的开发工具(开发工具都在bin目录里),也包括了JRE。所以安装了JDK,就不用再单独安装JRE了。其中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)等
简单而言:使用JDK开发完成的java程序,交给JRE去运行。
2.3.2、下载JDK
官方网址:
- www.oracle.com
- java.sun.com (sun公司被甲骨文收购)
2.3.3、安装JDK
建议:安装路径不要有中文或者特殊符号如空格等。避免产生不必要的麻烦。
当提示安装JRE时,可以选择不安装。
注:也可以不安装直接拷贝JDK文件夹到计算机上使用。区别:当有新版本出现时,经过安装的可在互联网上更新,未经安装的则不能更新。
2.4、配置环境变量path
2.4.1、执行java工具
- 执行方法:在DOS命令行窗口中,进入到jdk安装路径的\bin目录下,执行相应命令(其中.exe可省略,例如执行javac)。
- 缺点:每次执行java的工具都要进入到bin目录下,非常麻烦。
- 执行原理:当前执行的程序如果在当前目录下不存在,Windows系统会在系统中已有的一个名为path的环境变量指定的目录中查找。
- 解决办法:为了更方便地使用java工具(在任何目录下都可以执行java工具),根据Windows系统查找可执行程序的原理,可以将java工具所在的路径定义到path环境变量中,让系统帮我们去查找可执行程序。
2.4.2、配置path变量
1、永久配置方式:通过图形化操作完成
-
配置方法:我的电脑--属性--高级--环境变量--编辑path环境变量,在变量值开始处(越前面的位置查找效率越高)加上java工具所在的目录,后面用 ";"和其他值隔开即可。
注意:要想使用配置,需在配置环境变量后新开一个DOS命令行窗口才能生效。
-
配置技巧:为了避免因jdk的目录或者目录名称的改变不断更改path值而导致的对path变量值的误操作,可以新创建一个环境变量JAVA_HOME,记录住jdk的目录中容易变化的部分(不要\bin)。在path中通过%变量名%动态获取JAVA_HOME的值即可。
2、临时配置方式:通过dos命令中set命令完成
- 配置方法:
-
set :用于查看本机的所有环境变量的信息。
-
set 变量名 :查看具体一个环境变量的值。
-
set 变量名=:清空一个环境变量的值。
-
set 变量名=具体值 :给指定变量定义具体值。
- 在原有环境变量值基础上添加新值:
1)首先,通过%变量名%操作符获取到原有环境变量的值。
2)然后加上新值后在定义给该变量名即可
-
举例:给path环境变量加入新值
-
set path=新值;%path%
注意:这种配置方式只在当前dos窗口有效。窗口关闭,配置消失。但如果是在原窗口中用start命令新开的窗口则会延续原窗口的环境变量值。
2.5、Java程序开发体验
开发步骤:编写——>编译——>运行
javac.exe. java.exe .java文件 ——————> .class文件 ——————> 结果 编译 运行 |
1 class HelloWorld {//类 2 public static void main(String[] args) {//程序执行入口:main方法 3 System.out.println("Hello World!");//输出语句 4 } 5 }
编译命令:javac 源代码文件——>javac HelloWorld.java(用编译命令编译过后的源文件会生成后缀名为.class的字节码文件,个数等于类和接口的个数)
运行命令:java 字节码文件——>java HelloWorld(字节码文件的后缀名要省略,如果写成java HelloWorld.class,JVM会读取成HelloWorld.class.class)
注意:
- 一个java文件中有多少个类,编译后就生成多少个class字节码文件,类名就是字节码文件名。
- 通常情况下文件名与类名可以不同,但当类有public修饰时则必须相同。相同的好处是编译和运行的是同一名称不同类型文件,不易错。
- main函数:主函数头public static void main(String[] args)是固定写法不能更改,只有写成这样才能被JVM识别,但其中唯一可以改变的是args,因为它是参数名称。
- java代码有改动时需要重新“保存”,重新“编译”。
- HelloWorld:代表学习计算机语言的第一个入门小程序。现在泛指接触新事物的第一步。
2.6、配置classpath(初期学习可不配置,当使用到包的时候就需要配置了)
-
目的:在任意目录下都可以执行某一目录下的class文件
-
方法:配置classpath类环境变量
-
永久方式:我的电脑--属性--高级--环境变量--新建--定义一个名为classpath环境变量,将要运行的class文件所在目录定义在该变量中。
-
临时方式:set classpath=类文件所在路径(可以配置多路径)
-
path和classpath变量的区别:
- classpath变量值是java类文件的目录,调用者为JVM(java虚拟机)
- path变量值是windows程序文件的目录,调用者为Windows系统(所以QQ.exe要用path配置)
注:即如果是可执行文件用path变量,如果是java可执行文件用classpath变量。
- JVM查找类文件的顺序:
- 如果没有配置classpath环境变量,JVM只在当前目录下查找要运行的类文件。
- 如果配置了classpath环境,JVM会先在classpath环境变量值的目录中查找要运行的类文件。
- 值的结尾处如果加上分号,那么JVM在classpath目录下没有找到指定的类文件,会在当前目录下再查找一次。
- 值的结尾处如果没有分号,那么JVM在classpath目录下没有找到指定的类文件,不会在当前目录下查找,即使当前目录下有,也不会运行。
建议:配置classpath环境变量时,值的结尾处不要加分号,如果需要访问当前目录,可以用 “.”表示。“.”表示当前路径。配置原则一般为先查找当前目录,例如:set classpath=.;c:\;d:\
- classpath与path变量查找顺序区别:
- path:先在当前目录下查找,再找path环境变量。
- classpath:先找classpath环境变量,再找当前路径(如果结尾有分号)。
注:dos窗口的配置都是临时的,而在“我的电脑”—“环境变量”里(图形化配置)可进行永久配置。
2.7、错误类型及解决方案
纠错方法:按照输出窗口的错误信息提示,从第一个错误开始,从上到下查找,每改正一个错误,保存并重新编译。
常见错误类型:
1.缺少main方法
解决方法:查看程序是否有主函数,没有就添加主函数,有的话看看主函数是否写错(例如main写成mian或Main),java中严格区分大小写。
2.找不到文件
解决方法:查看源文件名是否写错,或者当前路径是否错误(注:注意文件后缀隐藏的情形)。
3.找不到类
解决方法:查看类文件名是否写错,或者类文件路径是否错误(不在当前路径或classpath指定路径下)。
2.8、编程风格
编程风格与文档和编码一样重要,好的编程风格和适当的文档可以减少出错几率,提高程序可读性。
以下是几条重要原则:
1、适当的注释和注释风格
- 在程序的开头写一个摘要:说明程序的目的和主要特点,解释所用的重要数据结构和独特技术。
- 在长的程序中加上注释:介绍每一个主要步骤并解释难懂之处。
2、好的命名习惯
- 遵守标识符的命名规范
- 标识符命名尽量有意义
- 对类或接口命名不要采用Java库中已有的名称
- 标识符尽量使用完整名称而不要使用缩写
3、适当的缩进和空白
- 嵌套结构中,每个内层组件或语句应该比外层缩进一个Tab键
- 二元运算符两边各加一个空格
- 使用空行将代码分段,使程序更容易阅读
4、一致的对齐方式
- 对齐方式:
- 次行风格:将花括号垂直对齐(即左右括号垂直对齐)
- 行尾风格:花括号左括号跟在方法头后面(一般在空一格的位置)
- 程序中要采用一致的对齐方式,建议使用行尾对齐(可避免丢括号的小错误,节省空间)
养成习惯:一边写注释一边写代码:
示例:
/ *
需求:……
思路:
1,……
2,……
…
步骤:
1,……
2,……
…
* /
2.9、Java程序剖析
java应用程序包含下列成分:
- 注释:注解说明程序的解释说明性文字。
例如:HelloWorld中绿色部分
- 关键字:被Java语言赋予了特殊含义的单词。
例如:HelloWorld中蓝色部分
- 修饰符:特定的关键字,用来指定数据、方法和类的属性与使用方式。
例如:public、static
- 语句:一条语句表示一个操作或一系列操作,java中语句以分号结束。
例如:HelloWorld中的System.out.println("Hello World!");
- 块:在程序中用花括号将一些成分组合起来,构成一个块,以“{”开始,以“}”结束,块可嵌套,是对语句的封装。
例如:HelloWorld中的
class HelloWorld{//类块
public static void main(String[] args){//方法块}
}
- 类:定义对象的结构,是java的解基本结构,类是对数据和方法的封装。
例如:HelloWorld中的 class HelloWorld{}
注意:一个文件中可以有多个类,但至多只能有一个公共类(即0个或1个)。
- 方法:具有特定功能的一段独立小程序。
例如:HelloWorld中public static void main(String[] args){}
- main方法:程序的入口,它定义了程序从何处开始,可被JVM识别。
例如:HelloWorld中的public static void main(String[] args)
注意:一个文件中可以有0个或多个能独立运行的类,但一个类中只能有0个或一个主函数。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。