JAVA的作用
- 使用JDBC完成数据库编程
- 区别于JavaScript运行在浏览器中,Java是运行在服务器端的JVM中
服务器区别于普通计算机的特征在于:配套高/7*24小时都在运行的/服务器一般会有特定的软件环境
内存:系统内存不是JVM运行的内存,JVM在运行时是由默认的内存分配的,如果分配的内存太小,在程序运行过程中会出现内存溢出的异常的(OutOfMemory) - JAVA能够处理服务器端的资源文件
-
JAVA在web编程中可以理解为一座桥,衔接客户端的Http请求和数据库服务器。
在WEB编程中,通过请求可以定位到Java中的某个方法,这个能力是web容器(Web服务器,更大一点说叫应用服务器)具备的。
如何使用JAVA
-
环境变量的配置
JDK:Java Develop Kit
JRE:Java Runtime Enviorment (Java运行时环境,如果客户 端某个软件的运行用到Java,则只需要安装有JRE)环境变量是操作系统定义变量的地方
JAVA_HOME
Path
CLASSPATH引用的第三方的jar文件的查找顺序:CLASSPATH->Tomcat/lib->project/WEB-INF/lib
-
变量
因为要用就要去定义,“变”是最显著的特征,值可以反复的定义,变量见名知意(起名字要符合标识符定义的规范) -
控制语句
顺序、选择、循环,对事物发展的高度总结 -
数据类型(数据结构):
- 基本数据类型:byte short int long float double char boolean
基本数据类型都是有默认值的,此处的默认值是指当某个类的属性定义为基本数据时,当实例化一个类对象时,这个对象的属性会被赋予默认值。
1int i;
2System.out.println(i); // 编译报错,没有被赋值
3public class Client1 {
4public static void main(String[] args) {
5Person p = new Person();
6System.out.println(p.age); // 此处有默认值为0
7}
8}
9class Person{
10int age;
11}
引用数据类型:类类型,区别于基本数据类型,引用数据类型是把变量的引用(指针)存在栈中,实例化的对象是存在堆中,而基本数据类型变量和值都存在于栈中。
数组:数组中可以包含的元素包括基本数据和引用数据类型的数据,定义数据常用的语法是
1int[] is = {1,2,3}; // 带初始化的定义语句
2int[] is2 = new int[10];
3int is[] = {1,2,3}; //推荐用上面的定义方式
枚举(能不用就不同,固定值)
- 基本数据类型:byte short int long float double char boolean
-
类和方法
类:类是Java中的最小组成单位,哪怕只是写一个简单的main方法,都需要定义一个类。类的组成结构:
-
成员变量:类静态变量、实例(对象)变量
1[访问控制修饰符] static 数据类型 变量名
2[访问控制修饰符] 数据类型 变量名
方法:静态方法、实例方法
1静态方法的语法:
2[访问控制修饰符] static 返回值 方法名(参数列表) {
3// 方法体语句
4return;
5}
-
构造器(构造方法):是一个特殊的方法,只用于创建对象时使用。
1[访问控制修饰符] 类名(参数列表) {
2// 方法语句
3}
代码块
- 父类继承和实现接口
extends:Java的继承是单继承
implements:Java可以实现多个接口
通过组合的方式让一个类具备多个类的相关方法功能,所谓组合就是在一个类中将其他类作为属性存在(注入 Inject)。
-
方法
方法参数的传递:值传递(如果参数是基本数据类型,理解拷贝了一个副本,实际传入的参数值不会在方法体内发生变化;如果是引用数据类型,传递的是变量的地址,地址会被拷贝,但是指向的堆内存的对象是不会发生变化的)
方法的重写:继承了父类的方法被子类重新定义方法体内容,在多态结构中有比较典型的运用关于super关键字:父类对象,用的比较多的场景是在子类的构造器中调用父类的构造器,在子类的方法中调用父类的方法也是通过super调用
关于this关键字:this是运行期的实际变量,当时的对象1public class Client2 {
2public static void main(String[] args) {
3Animal dog = new Dog();
4Animal cat = new Cat();
5dog.cry();
6cat.cry();
7}
8}
9class Cat extends Animal {
10public void cry() {
11System.out.println("Cat cry");
12}
13}
14class Dog extends Animal {
15public void cry() {
16System.out.println("Dog cry");
17}
18}
方法重载:方法名一样,参数列表不一样。
方法签名:方法名和参数列表,和返回值没有关系。