1. 简单性:
相对 c、c++。Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持goto语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。
2. 开源性:开放源代码
3. 编程资源广泛性:很多的编程爱好者研究进行推广;大厂作为推手
4. 跨平台性:可以在不同的操作系统上运行
5. 面向对象性:
Java是一个面向对象的语言。对程序员来说,这意味着要注意其中的数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用类来组织的。
Java还包括一个类的扩展集合,分别组成各种程序包(Package),用户可以在自己的程序中使用。例如,Java提供产生图形用户接口部件的类(java.awt包),这里awt是抽象窗口工具集(abstract windowing toolkit)的缩写,处理输入输出的类(java.io包)和支持网络功能的类(java.net包)。
6.分布性:
Java设计成支持在网络上应用,它是分布式语言。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。网络变成软件应用的分布运载工具。Java程序只要编写一次,就可到处运行。
三、Java的运行机制
-
先编译后解释运行:
(1)编译:将 java源文件通过编译器,生成对应的.class文件(字节码文件)
源文件是以 .java结尾
(2) 运行:.class 通过解释器 逐行的翻译并运行。
2.注意事项
(1)java文件(源文件)一次编译,生成对应 的.class;.class可以被多次的执行 (一次编译,多次运行)。
(2)源文件内容发生改变,需要重新的编译,生成新的 .class文件,再次运行,可以看到更改之后的结果。
四、环境搭建
1. 名词解释:【了解】
(1) JVM: Java虚拟机,作用:用于屏蔽不同操作系统之间的差异性(2) JRE:Java运行环境,JRE= 解释器 + JVM(3) JDK:java开发的工具,JDK=JRE+编译器+工具+类库
2. jdk的安装:
点击 安装软件,默认点击 下一步。注意:默认存储盘符是 C;jdk安装之后在对应的文件夹中生成一个 java文件夹;jdk没有可视 化操作界面;操作界面安装的为 notpad++(非集成)配置环境变量:C:\Program Files\Java(1)java_home: java的跟目录C:\ProgramFiles\Java\jdk1.8.0_131(2) path:java的bin目录C:\ProgramFiles\Java\jdk1.8.0_131\bin(3) classPath:代表告知 jvm去哪找对应的执 行 .class文件;类路径 classPath = . ; 当前路径
检测环境变量是否配置成功:
1. 需要打开 dos 命令 窗口
(1) 搜索 输入 cmd,回车(enter键)
(2) 先windows键 + 同时再R,输入cmd,回车即可
(3) 盘符文件夹中输入 cmd,回车
2. 在 dos命令窗口中输入:
java 回车
javac 回车
五.Java第一个程序
1. 创建源文件: 以 .java 结尾
源文件名为 First
2. class:类,代码容器
class 类名{
// 程序入口:一个类有且只能有 一个 main函数
public static void main(String[]
args){
}
}
注意:main函数为程序的入口,也称为主函数
文件中的类:Test,类名为 Test
class Test{
public static void main(String[]
args){
System.out.println("Hello
World!");
}
}
注意:System.out.println("Hello
World!");打印输出语句,用于给用户展示信息的
注意:案例中源文件名字为 First.java
类名为:Test
3. java-> 先编译再运行
(1) 编译:javac 源文件名.java
javac First.java
注意:编译之后生成对应的 .class文件 ,且.class文件名字以 类名进行命名,
Test.class
(2) 运行:java 类名
java Test
注意:如果源文件中内容发生改变,需要重新编译再次运行即可
System.out.println("Hello World!");
--- 打印输出并换行
System.out.print("Hello World!");
-- 打印输出不换行
4.公开类:
(1) 被 public 修饰类,称为公开类
(2) 语法:
public class 类名{
// ...
}
(3) 公开类的类名必须和源文件名字一致
(4) 一个源文件中最多只能有一个公开类
5.注意事项:
(1) 一个源文件中可以定义多个类;编译之后每个 类之间都会生成对应的 .class文件
(2) 同一个源文件中类之间不能同名
(3) 在每个类中都可以定义一个 main函数
六.包(package)
1. 作用:类似于文件夹,用于分门别类进行管理文件
2. 语法:package 包名;
3. 带包的编译和运行
(1) 编译:javac -d . 源文件名.java
(2) 运行:java 包名.类名4.注意:
(1) package语句必须定义源文件中第一行有效语句
(2) 一个源文件中package最多 只能定义一个
七、编码规范
1. 良好的标识符命名习惯
起名字的内容统称为 标识符
(1) java中标识符只能以 数字、字母、_、$组成,但是不能以数字开头
(2) java中标识符 没有长度限制
(3) java中标识符严格 区分大小写
(4) 不能使用 Java中关键字、保留字(goto、 const)、特殊符号(true/false/nul/l)命名
注意:Java中允许使用汉字进行命名,但是不建议
建议
(1) 望文生义 , Student , Teacher,name
(2) 包名:全小写, demo.aa.wx
(3) 类名:每个单词首字母大写,TestStudent
(4) 变量名、函数名、方法名:第一个单词首字母小写,其余单词首字母大写(驼峰命名法),
name,age; nameAndAge printLine
(5) 常量名:全大写, PI
2. 良好的编码格式习惯
(1) 建议一行只写语句代码
(2) 层级之间要有严格缩进,通常为 Tab
3. 良好的注释习惯
注释:解释、说明的内容
(1) // :单行注释,只能写一行
(2) /*
多行注释:可以写多行内容
*/
注意:单行注释不能嵌套多行注释; 但是多行注释可以嵌套单行注释
注释:不参与编译,提高代码的可读性