JAVA 学习

208 阅读7分钟

JAVA 入门第一季

变量和常量

  • 认识Java标识符

问:标识符是神马?答:标识符就是用于给 Java 程序中变量、类、方法等命名的符号

// com.imooc.db、DBUtil 就是标识符
package com.imooc.db;
public class DBUtil { }
  • 变量是什么

在 Java 中,我们通过三个元素描述变量:变量类型、变量名以及变量值

// String(变量类型)
String love = "imooc";
  • java 中的数据类型

Java 语言是一种强类型语言。通俗点说就是,在java中存储的数据都是有类型的,而且必须在编译时就确定其类型。在 Java 的领域里,基本数据类型变量存的是数据本身,而引用类型变量存的是保存数据的空间地址。说白了,基本数据类型变量里存储的是直接放在抽屉里的东西,而引用数据类型变量里存储的是这个抽屉的钥匙,钥匙和抽屉一一对应。

  • Java中的自动类型转换

在 Java 程序中,不同的基本数据类型的数据之间经常需要进行相互转换。例如:

代码中 int 型变量 score1 可以直接为 double 型变量 score2 完成赋值操作,运行结果为: 82.0 
这种转换称为自动类型转换。

int score1 = 82;
double score2 = score1;
System.out.println(score2);
  • Java中的强制类型转换

强制类型转换可能会造成数据的丢失哦,小伙伴们在应用时一定要慎重哦

double avg1 = 75.8;
//将double类型,强制转换为int类型
int avg2 = (int) avg1;
  • Java常量的应用

所谓常量,我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变

final String love = "imooc";
final double PI = 3.14;

数组

  • 什么是数组
// 定义一个数组,保存五名学生的成绩
int[] scores = {78, 93, 97, 84, 63};

// 输出数组中的第二个成绩
System.out.println("数组中的第2个成绩为:" + scores[1]);
  • 如何使用 Java 中的数组

1、 声明数组

语法:  数据类型[ ] 数组名;或者   数据类型 数组名[ ];
int[] scores;
double height[];
String[] names;

2、 分配空间

简单地说,就是指定数组中最多可存储多少个元素
scores = new int[5];
height = new double[5];
names = new String[5];
  • 使用循环操作 Java 中的数组
// 定义一个长度为 3 的字符串数组,并赋值初始值
String[] hobbys = {"sports", "game", "movie"};
for (int i = 0; i < hobbys.length; i++) {
    System.out.println("循环输出数组中元素的值:" + hobbys[i]);
}
  • 使用 Arrays 类操作 Java 中的数组
Arrays 类是 Java 中提供的一个工具类,在 java.util 包中。

// 定义一个字符串数组
String[] hobbies = {"sports", "game", "movie"};

// 使用Arrays类的sort()方法对数组进行排序
Arrays.sort(hobbies);

// 使用Arrays类的toString()方法将数组转换为字符串并输出
System.out.println(Arrays.toString(hobbies));
  • 使用 foreach 操作数组
foreach 并不是 Java 中的关键字,是 for 语句的特殊简化版本,在遍历数组、集合时, foreach 更简单便捷。

// 定义一个整型数组,保存成绩信息
int[] scores = {89, 72, 64, 58, 93};

// 使用foreach遍历输出数组中的元素
for (int score : scores) {
    //元素类型 元素变量:遍历对象
    System.out.println(score);
}
  • Java 中的二维数组
所谓二维数组,可以简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组。

// 定义两行三列的二维数组并赋值
String[][] names = {{"tom", "jack", "mike"}, {"zhangsan", "lisi", "wangwu"}};

// 通过二重循环输出二维数组中元素的值
for (int i = 0; i < names.length; i++) {
    for (int j = 0; j < names[i].length; j++) {
        System.out.println(names[i][j]);
    }
}

方法

  • 如何定义 Java 中的方法
所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。

//访问修饰符 返回值类型 方法名
public void print() {
    System.out.println("Hello World");
}
  • Java 中无参无返回值方法的使用
调用方法  对象名.方法名();

public class HelloWorld {
    public static void main(String[] args) {
        // 创建对象,对象名为hello
        HelloWorld hello = new HelloWorld();
        // 调用方法
        hello.showMyLove();
    }

    //定义无参无返回值的方法
    public void showMyLove() {
        System.out.println("我爱慕课网!");
    }
}
  • Java 中方法的重载

问: 什么是方法的重载呢?答:如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。如下所示 3 个方法名称都为 print ,但方法的参数有所不同,因此都属于方法的重载:

public class HelloWorld {
    public static void main(String[] args) {
        // 创建对象
        HelloWorld hello = new HelloWorld();

        // 调用无参的方法
        hello.print();
        // 调用带有一个字符串参数的方法
        hello.print("zhansan");
        // 调用带有一个整型参数的方法
        hello.print(20);
    }

    public void print() {
        System.out.println("无参的print方法");
    }

    public void print(String name) {
        System.out.println("带有一个字符串参数的print方法,参数值为:" + name);
    }

    public void print(int age) {
        System.out.println("带有一个整型参数的print方法,参数值为:" + age);
    }
}

JAVA 入门第二季

类和对象

什么是类和对象

  • 万物皆对象,客观存在的事物皆为对象。

什么是面向对象

2020-03-18_203314.png
2020-03-18_203334.png
类和对象的关系

  • 类是抽象的概念,仅仅是模板,比如说:“手机”,对象是一个你能够看得见、摸的着的具体实体。

如何定义java中的类

public class TelPhone {
    //属性(成员变量)有什么
    float screen;
    float cpu;
    float mem;

    //方法 干什么
    void call() {
        System.out.println("TelPhone有打电话的功能");
    }
    void sendMessage() {
        System.out.println("TelPhone有发短信的功能");
    }
}

如何使用java中的对象

//创建对象
TelPhone phone = new TelPhone();

//使用对象
//给实例变量赋值
phone.screen = 5.0f; //float型变量赋值时需加f,否则默认浮点数是double型
phone.cpu = 1.4f;

//调用对象的方法
phone.sendMessage();

java中的成员变量和局部变量

1,成员变量

  • 在类中定义,用来描述对象将要有什么

2,局部变量

  • 在类的方法中定义,在方法中临时保存数据

成员变量和局部变量区别

  • 作用域不同
  • 初始值不同(java会给成员变量一个初始值,而不会给局部变量赋予初始值)

java中的构造方法

  • 1,使用new + 构造方法,创建一个新的对象
  • 2,构造方法是定义在java类中的一个用来初始化对象的方法

定义一个类

public class Telphone {
    float screen;
    float cpu;
    float mem;

    public TelPhone() {
        System.out.println("无参的构造方法执行了");
    }

    public TelPhone(float newScreen, float newCpu, float newMem) {
        screen = newScreen;
        cpu = newCpu;
        mem = newMem;
        System.out.println("有参的构造方法执行了");
    }
}

入口类 创建对象

//通过无参的构造方法可以创建对象
Telphone phone1 = new Telphone();
//通过有参的构造方法也可以创建对象
Telphone phone2 = new Telphone(5.0f, 1.4f, 2.0f);

Java 中的 static 使用之静态变量

大家都知道,我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立。然而在某些时候,我们更希望该类所有的对象共享同一个成员。此时就是 static 大显身手的时候了!!

要注意哦:静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资源回收!~~

Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。

// 定义静态变量,保存班级名称
static String className = "JAVA开发一班";

Java 中的 static 使用之静态方法

与静态变量一样,我们也可以使用 static 修饰方法,称为静态方法或类方法。

封装

什么是java中的封装

  • 1,概念:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
  • 2,好处:a,只能通过规定的方法访问数据。b,隐藏类的实例细节,方便修改和实现
  • 3,封装的实现步骤:① 修改属性的可见性(设为private);② 创建getter/settter方法(用于属性的读写);③ 在getter/settter方法中加入属性控制语句(对属性值的合法性进行判断);

使用包管理java 中的类

  • 1,包的作用:管理java文件,解决同名文件冲突
  • 2,定义包:package 包名

系统中的包

  • java.(功能).(类)
  • java.lang.(类)包含java语言基础的
  • java.util.(类)包含java语言中各种工具类
  • java.io.(类)包含输入、输出相关功能的类

java中的访问修饰符

2020-03-18_215515.png

继承

多态

JDBC

JDBC(java数据库连接) 技术是Java开发必备的知识,并且是学习 Hibernate 和 Mybatis 的基础。

2020-03-17_211200.png