1. 程式人生 > 其它 >2021-01-10大資料1+x培訓

2021-01-10大資料1+x培訓

技術標籤:java

第一本書(類、物件、介面)

第一章結束後:
Console的商場(類之間的關係):EXcel代替資料庫)

1.1、方法引數的傳遞

  • 按值傳遞(傳遞的是值的拷貝)
public class MethodDemo {
    public static void main(String[] args) {
        int a=3;
        m1(a);
        System.out.println("AAAAAA: "+a);
    }
    /*
    區域性變數
     */
    public static void
m1(int a){ a=5; System.out.println("CCCCCC: "+a); } }
  • 按引用傳遞
public class MethodDemo01 {
    public static void main(String[] args) {
        int a[]={1,2,3};
        m1(a);
        for(int i=0;i<a.length;i++){
            System.out.println(a[i]);
        }
    }
    public
static void m1(int b[]){ b[2]=88; }

斷點除錯 debug

左鍵插入斷點
在這裡插入圖片描述

開始Debug
在這裡插入圖片描述

讓程式碼開始一步一步執行
在這裡插入圖片描述

計算機中的程式錯誤,為什麼叫bug?

1.2、字串String

教育的本質:見多識廣

程式設計的本質:呼叫方法

字串的常用方法

  • charAt(int index)

  • concat(String str)

  • contains(CharSequence s)

  • endsWith(String suffix)

  • equals(Object anObject)

  • getBytes(String charsetName)

  • indexOf(String str)

  • lastIndexOf(String str)

  • length()

  • matches(String regex)

  • replace(char oldChar, char newChar)

  • split(String regex)

  • startsWith(String prefix)

  • substring(int beginIndex)

  • toString()

  • toLowerCase()

  • toUpperCase()

  • trim()

  • valueOf(float f)

  • 字串的特點

不可變
public static void main(String[] args) {
        String str="hechi";
        String newStr=str.replace('h','H');
        System.out.println("替換後的結果:"+newStr);
        System.out.println("原本的字串" + str);
    }

結果

在這裡插入圖片描述

1.3、StringBuffer和StringBuilder

區別:synchronize

StringBuffer是執行緒安全
StringBuilder是非執行緒安全

N個火車票代售網點,相當於N執行緒

張三在宜州網點買G566車次的第8車廂的F座
李四在金城江區網點買G566次的第8車廂的F座

如果能買到就是非執行緒安全

1.4、類和物件

最重要的是會進行類的抽取

學生選課系統

學生:類,小明:物件

教師:類,李老師:物件

教務處祕書:類 , 小紅祕書:物件

課程:類,課程名、課程號:物件

  • 封裝

1.所有屬性private修飾

2.給所有的屬性增加public的setter和getter的方法

  • 繼承(程式碼複用)

構造方法、this、super

this:類的當前物件,並不是特指哪個物件

JVM會給類提供一個預設的構造方法

給類的屬性賦值方式

通過SETTER 快捷鍵:Ctrl+Insert 選單中選擇SETTER

通過構造方法 快捷鍵:Ctrl+Insert 選單中選擇constructor

supper表示的是父類的物件

需求:如何讓Student和Teacher的物件都擁有預設的123456的密碼?

第一步:
//新建一個Users父類,寫一個構造方法設定密碼password
    public Users(String password) {
        this.password = password;
    }
第二步:
//在Student類中,建立構造方法,通過使用super關鍵字來設定密碼為123456
    public Student(String password) {
        super("123456");
    }
//在Student類中,建立構造方法,通過使用super關鍵字來設定密碼為123456
    public Teacher(String password) {
        super("123456");
    }
第三步:
public class Test {
    public static void main(String[] args) {
        Student stu = new Student();
        Student stu1=new Student();
        System.out.println(stu.getPassword());
        System.out.println(stu1.getPassword());

    }
}
輸出結果為:123456
           123456

重寫:Override(先有繼承,才能重寫)

什麼情況下才需要重寫?當父類的方法滿足不來子類的需求的時候,就要重寫父類的方法

String類重寫了父類的toString方法

學生類:
public class Student extends Users {
    private  String major;
    private  String phone;
    public Student(String major, String phone) {
        super("123456");
        this.major = major;
        this.phone = phone;
    }
  
    public String getMajor() {
        return major;
    }

    public String getPhone() {
        return phone;
    }

    @Override
    public String toString() {
        return "Student{" +
                "major='" + major + '\'' +
                ", phone='" + phone + '\'' +
                '}';
    }
}
主類:
public class Test {
    public static void main(String[] args) {
        Student stu = new Student("電腦科學與技術","18377940962");
        Student stu1=new Student("網路工程","1887415615");
        System.out.println(stu.getMajor());
        System.out.println(stu.getPhone());
        System.out.println(stu1.getMajor());
        System.out.println(stu1.getPhone());
        System.out.println(stu.getPassword());
        System.out.println(stu); //方法的重寫
        System.out.println(stu1); //方法的重寫

    }
}

  • 多型

  • 介面

  • 抽象類

1.5、github的開發模式

  • 專案組的成員從master建立分支(branch),每天下班的時候,先提交push到自己的分支,如果程式碼無誤,則申請和master合併

  • 每個組的成員fork一份master的程式碼,每天下班的時候,先提交push到自己的倉庫,如果程式碼無誤,則給組長髮宋體pr(pull request)

1.6、git的使用

  • 和idea整合使用

  • 獨立使用

SSH金鑰

第二本書(異常、集合、I/O、多執行緒、Socket)

區域網內部的聊天程式(I/O、多執行緒、Socket)、傳檔案(單獨傳、群發),redis充當資料庫

交push到自己的分支,如果程式碼無誤,則申請和master合併

  • 每個組的成員fork一份master的程式碼,每天下班的時候,先提交push到自己的倉庫,如果程式碼無誤,則給組長髮宋體pr(pull request)

1.6、git的使用

  • 和idea整合使用

  • 獨立使用

SSH金鑰

第二本書(異常、集合、I/O、多執行緒、Socket)

區域網內部的聊天程式(I/O、多執行緒、Socket)、傳檔案(單獨傳、群發),redis充當資料庫

第三本書(資料庫部分)