什么是JAVA语言
Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用的两个特征。
(可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式应用程序等)
JAVA语言的三大体系
--JavaSE
--JavaEE
--JavaME
JAVA语言的特点
1.简单性
摒弃了C++中多继承、指针的概念,并且有了一套垃圾回收的机制
2.面向对象
举例:警察抓小偷
面向过程:抓小偷(警察,小偷)
面向对象:警察.抓小偷(小偷)
3.分布式
应用网络编程,可以将单体程序拆分为多个微服务,从而将多个服务部署在不同的服务器中
4.健壮性
强类型语言、异常处理机制、垃圾回收机制
5.安全性
提供一套安全处理机制
6.平台独立与可移植性(编译性语言)
一次编译,多次运行
7.多线程
8.动态性
JAVA语言的历史(现在JDK17)
1995年发布Java ,1999年发布了三个版本 ,2004年发布1.5 ,2014年发布1.8 (具体了解查阅书籍)
Java的安装与环境配置
--从甲骨文官网下载1.8版本的JDK
--执行安装程序(全部默认下一步即可)
--默认安装在C:\Program Files\Java(尽量不要改路径,如果该路径注意英文命名)
其中 JDK (Java程序的开发工具) --JRE (Java程序的运行环境)
--配置Java的环境变量:
--打开高级系统设置
--打开环境变量
1.win10操作系统
--在系统变量中配置JAVA_HOME(新建)
--在path中指定jdk的bin路径(新建)
ps:%..%是解析其中间的内容,bin是其中的路径 即设定默认路径
2.win7操作系统
JDK JRE和JVE关系
--1)JDK,JRE和JVM关系
· JDK(Java Development Kit),Java开发工具包,主要用于开发,在JDK7前,JDK包括JRE
· JRE(Java Runtime Environment),Java程序运行的核心环境,包括JVM和一些核心库
· JVM(Java Virtual Machine),VM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的,是JRE核心模块。
--2)JVM
JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
Java虚拟机的主要任务是装载class文件,并执行其中的字节码,不同的Java虚拟机中,执行引擎可能有不同的实现。
JAVA的第一个HelloWorld
--新建一个文件夹,用于存放Java源文件
--新建一个Java源文件,后缀是.java(电脑自带的文本文档即可,或notepad++)
//使用class来描述一个类,类名要和文件名一致
class hello{
//提供Java程序的入口 main方法
public static void main(String[] args){
//输出语句
System.out.println("hello world!!!");
}
}
JAVA程序的编译与运行
--1、打开dos命令行(输入cmd即可打开)
--2、切换当前目录为Java源文件的目录
--注意:如果Java源文件在其他盘符则要先切换到其他盘符,比如:java文件在d盘,则使用d: 切换到d盘
--再使用cd切换当前目录 :cd C:\Users\jerry\Desktop\test
--3、编译Java文件,使用javac进行编译(会生成.class文件) : javac Hello.java (javac 文件名)
--4、运行Java程序:java Hello (java 类名)
执行流程:Hello.java ---> Hello.class--->JVM
CLASSPATH的作用以及配置(目的是告诉虚拟机在哪找class文件)
注意:Java源文件时,要么在当前源文件的路径下编译,要么在编译时提供Java源文件的绝对路径
ClassPath指的是java文件在编译或者运行的时候类加载的路径
--1、在系统环境变量中添加CLASSPATH,指定类加载的路径(如果类路径固定,可以使用这种方式)
--2、动态使用CLASSPATH的方式 -cp (比较灵活的 ,可以使用这种方式)
java -cp .;C:\Users\jerry\Desktop\code Hello
Java程序的组织形式
--1、以.java作为程序的后缀
--2、当类是被public修饰时,类名和文件名要一致(大小写一致)
--3、如果该Java源文件中没有被public修饰的类时,则类名可以和文件名不一致
--4、一个Java源文件中可以有多个类,在编译的时候会生成多个class文件,但是被public修饰的类只能有一个
//public 是公共的意思【修饰符】 class用于修饰类 hello表示为当前类的类名
//1、类一定要public修饰吗?不一定
//2、但是如果类被public修饰,则类名必须要和文件名一致[大小写都要一致]
//3、运行java程序需要提供main方法,能在一个java源文件中有多个类
//4、被public修饰的类在同一个java源文件中只能有一个,所有类也可以没有public修饰
//如果类不是被public修饰,则类名不需要和文件名一致
class hello{
//提供Java程序的入口 main方法
public static void main(String[] args){
//输出语句
System.out.println("hello world!!!");
}
}
class demo{
}
初学者容易犯的错误
--1、CLASSPATH指的是类的加载路径,而不是Java源文件的路径【建议不加】
--2、初学者容易忽略后缀名
--3、注意在Java中是大小写敏感的
--4、main方法的格式(固定的),提供main方法
分隔符,标识符,关键字的使用
- -分隔符(语句的结束使用英文的分号)
():包含表达式、方法参数列表 ; {}:包含类体、方法体、代码块
- -标识符:用于定义变量名、类名、方法名、常量名
1、标识符组成:英文字母、数字、(美元符号)$、(下划线)_
2、不能使用数字作为开头
3、不能使用其他的特殊字符 # ……
4、不能包含空格
5、不能和关键字一样
行业://驼峰式命名:
类名 HelloWorld【首字符大写、每个单词首字母大写】
方法名 helloWorld【首字符小写、每个单词首字母大写】
变量名 helloWorld【和方法名一致】
常量 HELLO_WORLD【全大写,每个单词使用_分隔】
- -关键字:
有特殊功能的描述符(50个关键字,其中有2两个保留字)【全小写】
注释的使用
注释的作用:提高代码的可读性,被注释的代码不会被编译器所编译
--单行注释: //
--多行注释: /* */
--文档注释:生成API帮助文档: /** */
--生成api文档的命令
格式:javadoc -d api 生成的存放目录 Java源文件
注意:如果要生成作者以及版本信息的话,则需要指定author和version
javadoc -d api生成的存放目录 -author -version Java源文件
注意:如果属性或者方法不是public修饰的,则需要在命令中加上-private参数
/**
@author cyj
@version 1.0.0
*/
public class demo{
/**
这是demo类的test 方法
@deprecated
@param a 是一个入参的整型值
@param b 是一个入参的整型值
@return 返回a+b的值
@see <a href="http://www.baidu.com"> baidu</a>
*/
int test(int a,int b){
System.out.println("democcc");
return a+b;
}
/**
这个是demo类的test方法
@throws Exception 当前方法声明了抛出这个Exception 异常
@exception Exception 当前方法抛出这个Exception 异常
*/
//只有public 和protect 才能纳入文档
//private的话 多加一个 -private javadoc -d D:\yueqian\JAVA\1.11\doc -author -version -private demo.java
private void exTest() throws Exception{
System.out.println("异常测试方法");
}
}