为期20天的大数据java基础班已经结束了,在这短短的20天里,我感觉自己学到了很多东西,黑马的教学模式方法很科学不像应试教育那样的灌输学习方式,双元课堂讲究是;配置所有资源组建最强师资团队打造的教学产品,包括知识点教学视频、课堂练习、课程作业、阶段考试、实战项目等。另一元由一线软件开发工程师组成的教学实施团队,黑马双元即指由一线软件开发工程师亲授,带领同学们完成最好教学产品的学习,并亲自带领同学们完成各种项目实战,实现知识+实战的完美课堂效果。经过一个阶段的学习我觉得效果还是非常不错的;对关键知识点的深入浅出,庖丁解牛式的讲解。
接下来就将每天学习的板块知识点来一个梳理:
一、Java基础
1.了解Java发展史,环境如何搭载,Eclipse开发工具的使用;
2.基本语法格式;
3.运算符的概述的用法;
4.学习键盘录入代码以及理解其原理实为扫描器;
5.if 和switch的格式以及执行流程逻辑;
6.for循环和while 循环的基本格式以及执行流程,练习循环嵌套逻辑思维以及语法;
7.Random随机数生成以及获取方法;
二、数组
1.数组的定义以及格式:
数组:存储同一种数据类型的多个元素的容器。
动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。
格式:数据类型[] 数组名 = new 数据类型[数组长度];
静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度。格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};
注意事项:System.out.println(arr); //[I@3fa5ac,地址值,
具体元素表达格式:数组名[编号] -- 数组名[索引]
三、方法
1.简单的说:方法就是完成特定功能的代码块;
在很多语言里面都有函数的定义 , 函数在Java中被称为方法
格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
函数体;
return 返回值;
}
2.方法的重载
方法重载概述
a)在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
方法重载特点
b)与返回值类型无关,只看方法名和参数列表
在调用时,虚拟机通过参数列表的不同来区分同名方法
四、面向对象
1.概念:面向对象思想就是不断的创建对象,使用对象,指挥对象做事情。(如果有对象,直接用对象,对我们直接提供服务)
2.关键字private、this
private关键字:是一个权限修饰符,可以修饰成员(成员变量和成员方法),:被private修饰的成员只在本类中才能访问。
this:代表所在类的对象引用,方法被哪个对象调用,this就代表那个对象;
B:什么时候使用this呢?局部变量和成员变量重名
3.面向对象之构造方法:给对象的数据进行初始化
标准的类代码:
A:类:
a:成员变量
b:构造方法
无参构造方法
带参构造方法
c:成员方法
getXxx()
setXxx()
B:给成员变量赋值的方式
a:无参构造方法+setXxx()
b:带参构造方法
五、继承
1. 通过extends关键字可以实现类与类的继承
格式:public class 子类名 extends 父类名{}
2.好处与弊端
提高了代码的复用性
多个类相同的成员可以放到同一个类中
提高了代码的维护性
如果功能的代码需要修改,修改一处即可
让类与类之间产生了关系,是多态的前提
3.super关键字
uper的用法和this很像
a)this代表本类对象的引用
b)super代表父类存储空间的标识(可以理解为父类对象引用)
4.多态概述:某一个事物,在不同时刻表现出来的不同状态。
成员变量访问特点
i.编译看左边,运行看左边
成员方法访问特点
ii.编译看左边,运行在右
多态的好处:提高了程序的扩展性
多态的弊端:不能访问子类特有功能,那么如何访问子类的特有功能呢?通过多态中的转型
六、抽象类
1.抽象类和抽象方法必须用abstract关键字修饰
格式:public abstract class 类名 {}
public abstract void eat();
2.抽象类不一定有抽象方法,有抽象方法的类一定是抽象类
七、接口
接口用关键字interface表示
格式:public interface 接口名 {}
类实现接口用implements表示
格式:public class 类名 implements 接口名 {}
接口不能实例化,那么,接口如何实例化呢?
按照多态的方式,由具体的实现类实例化。其实这也是多态的一种,接口多态。
接口的实现类,要么是抽象类;要么重写接口中的所有抽象方法
八、String和StringBuilder类
1.String:代表字符串类
2.StringBuilder:是一个可变的字符串。字符串缓冲区类
String和StringBuilder的区别:1.String的内容是固定的;2.StringBuilder的内容是可变的
九、Arrays工具类
1.Arrays:提供了对数组操作的各种方法。
public static String toString(int[] a):把数组转成字符串
public static void sort(int[] a):对数组进行升序排序
2.Date类和SimpleDateFormat类
Date:Date表示特定的瞬间,精确到毫秒。
构造方法:Date():根据当前时间创建的日期对象
Date(long date):根据给定的毫秒值创建对象,从1970 年 1 月 1 日 00:00:00
十、集合是一个容器,是用来存储和获取数据的.
1.Collection:是单列集合的顶层接口。
2.格式:Collection<> c = new ArrayList<>();
3.遍历:Iterator<E> iterator():返回在此 collection 的元素上进行迭代的迭代器。
实际返回的是迭代器接口的实现类的对象
4.Map:将键映射到值的对象,一个映射不能包含重复的键;每个键最多只能映射到一个值。
格式:Map<key,value> map = new HashMap<key,value>();
遍历方式://获取所有键值对对象的集合
Set<Map.Entry<K,V>> entrySet()
获取键值对对象的集合
Set<Map.Entry<String,String>> set = map.entrySet();
十一、最后最重要的送大家一个牛逼表白秘籍代码案例;
package com.itheima_NN;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
//3.分析以下需求,并用代码实现
// 1.从键盘录入一个日期字符串,格式为 xxxx-xx-xx,代表你和女神的认识的时间
// 2.利用认识的时间到当前日期所经过的毫秒值计算出你和你的女神的认识多少秒
// 3.利用认识的时间到当前日期所经过的毫秒值计算出你和你的女神的认识多少分钟
// 4.利用认识的时间到当前日期所经过的毫秒值计算出你和你的女神的认识多少小时
// 5.利用认识的时间到当前日期所经过的毫秒值计算出你和你的女神的认识多少天
// 6.利用认识的时间到当前日期所经过的毫秒值计算出你和你的女神的认识多少年
public class MyGoddess {
public static void main(String[] args) throws ParseException {
// TODO Auto-generated method stub
// 1.从键盘录入一个日期字符串,格式为 xxxx-xx-xx,代表该人的出生日期
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个日期格式为 xxxx-xx-xx:");
String s = sc.next();
Date d1 = new Date();
long t1 = d1.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date d2 = sdf.parse(s);
long t2 = d2.getTime();
long t3 = t1 - t2;
long measure = (long) (t3 / 1000);
long minute = (long) (t3 / 1000 / 60);
long hour = (long) (t3 / 1000 / 60 / 60);
long day = (long) (t3 / 1000 / 60 / 60 / 24);
long year = (long) (t3 / 1000 / 60 / 60 / 24 / 365);
System.out.println("哇!少年不简单!");
System.out.println("你和你的女神的认识了:" + year + " 年");
System.out.println("你和你的女神的认识了:" + day + " 天");
System.out.println("你和你的女神的认识了:" + hour + " 小时");
System.out.println("你和你的女神的认识了:" + minute + " 分钟");
System.out.println("你和你的女神的认识了:" + measure + " 秒");
System.out.println("你点亮了她,她照亮你的美!");
System.out.println("看你如此坚毅、有信念,定能成功!");
}
}
希望大家早日键盘敲烂,月薪过万,走向人生巅峰,赢取白富美!
|
|