一、计算机编程语言对比
- C、Pascal、Fortran面向过程的语言
- C++面向过程/面向对象
- Java跨平台的纯面向对象的语言
- .NET跨语言的平台
- Python、Scala…
- 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;
- 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
二、java语言特点
- 特点一:面向对象
- 两个基本概念:类、对象
- 三大特性:封装、继承、多态
- 特点二:健壮性
- 吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与 释放等),提供了一个相对安全的内存管理和访问机制
- 特点三:跨平台性
- 跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write once , Run Anywhere”
- 原理:只要在需要运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM Java Virtual Machine) 即可。由JVM来负责Java程序在该系统中的运行。
三、java语言运行机制及运行过程
- JVM是虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指 令,管理数据、内存、寄存器。
- 对于不同的平台(windows/linux),有不同的虚拟机。
- 只有某平台提供了对应的java虚拟机,java程序才可在此平台运行
- Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
四、JDK、JRE、JVM关系
- JDK(Java Development Kit Java开发工具包) JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了 JRE。所以安装了JDK,就不用在单独安装JRE了。
- JRE(Java Runtime Environment Java运行环境) 包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等, 如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
- JVM(Java Virtual Machine java虚拟机)是虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指 令,管理数据、内存、寄存器。
注意:• JDK = JRE + 开发工具集(例如Javac编译工具等) JRE = JVM + Java SE标准类库
五、环境变量的配置
为什么要配置环境变量-没有配置环境变量前,只有将路径cd到指定文件夹下才能执行,配置环境变量之后,会自动搜索配置的路径,看是否能找到执行程序的路径!!!
六、helloworld
- 将 Java 代码编写到扩展名为 .java 的文件中。
- 通过 javac 命令对该 java 文件进行编译。
- 通过 java 命令对生成的 class 文件进行运行。
.java文件(源文件)→.class文件(字节码文件)→结果
javac.exe java.exe
七、java注释
1.Java中的注释类型:
- 单行注释
- 格式: //注释文字
- 多行注释
- 格式: /* 注释文字 */
- 文档注释 (java特有)
- 格式:/** @author 指定java程序的作者
- @version 指定源文件的版本 */
- 格式:/** @author 指定java程序的作者
2.注释区别及联系
- 对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行,即不参与编译。
- 多行注释里面不允许有多行注释嵌套。
- 文档注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形 式体现的该程序的说明文档。
八、第一个java程序的总结
1. java程序编写-编译-运行的过程
- 编写:我们将编写的java代码保存在以".java"结尾的源文件中
- 编译:使用javac.exe命令编译我们的java源文件。格式:javac 源文件名.java
- 运行:使用java.exe命令解释运行我们的字节码文件。 格式:java 类名
2.在一个java源文件中可以声明多个class。但是,只能最多有一个类声明为public的。
而且要求声明为public的类的类名必须与源文件名相同。
3. 程序的入口是main()方法。格式是固定的。
4. 输出语句:
- System.out.println():先输出数据,然后换行
- System.out.print():只输出数据
5.每一行执行语句都以";"结束。
6.编译的过程:编译以后,会生成一个或多个字节码文件。字节码文件的文件名与java源文件中的类名相同。
/*
对第一个java程序进行总结
1. java程序编写-编译-运行的过程
编写:我们将编写的java代码保存在以".java"结尾的源文件中
编译:使用javac.exe命令编译我们的java源文件。格式:javac 源文件名.java
运行:使用java.exe命令解释运行我们的字节码文件。 格式:java 类名
2.
在一个java源文件中可以声明多个class。但是,只能最多有一个类声明为public的。
而且要求声明为public的类的类名必须与源文件名相同。
3. 程序的入口是main()方法。格式是固定的。
4. 输出语句:
System.out.println():先输出数据,然后换行
System.out.print():只输出数据
5.每一行执行语句都以";"结束。
6.编译的过程:编译以后,会生成一个或多个字节码文件。字节码文件的文件名与java源文件中的类名相同。
*/
public class Hello {
public static void main(String[] args) {//public static void main(String a[]) {//arguments:参数
System.out.print("Hello World!");
System.out.println();//换行
System.out.println("Hello World!");
}
}
class Person{
}
class Animal{
}
九、Scanner类的用法(从键盘获取不同类型的变量)
- 具体实现步骤:
- 1.导包:import java.util.Scanner;
- 2.Scanner的实例化:Scanner scan = new Scanner(System.in);
- 3.调用Scanner类的相关方法(next() / nextXxx()),来获取指定类型的变量
- 注意:
- 需要根据相应的方法,来输入指定类型的值。如果输入的数据类型与要求的类型不匹配时,会报异常:InputMisMatchException
- 导致程序终止。
- 案例:
import java.util.Scanner;
class ScannerTest{
public static void main(String[] args){
//2.Scanner的实例化
Scanner scan = new Scanner(System.in);
//3.调用Scanner类的相关方法
System.out.println("请输入你的姓名:");
String name = scan.next();
System.out.println(name);
System.out.println("请输入你的芳龄:");
int age = scan.nextInt();
System.out.println(age);
System.out.println("请输入你的体重:");
double weight = scan.nextDouble();
System.out.println(weight);
System.out.println("你是否相中我了呢?(true/false)");
boolean isLove = scan.nextBoolean();
System.out.println(isLove);
//对于char型的获取,Scanner没有提供相关的方法。只能获取一个字符串
System.out.println("请输入你的性别:(男/女)");
String gender = scan.next();//"男"
char genderChar = gender.charAt(0);//获取索引为0位置上的字符
System.out.println(genderChar);
}
}