1. 程式人生 > >菜鳥的java代碼審計之旅-0之java基礎知識

菜鳥的java代碼審計之旅-0之java基礎知識

修飾符 積極 static 怎麽 浮點 學習 原理 時間 char

前言:

  對於java的代碼審計我就是一個小白,沒有代碼基礎(不會java),從0開始記錄我的java漏洞的審計學習之旅。對於java來說是一門很難的語言,但是不去學習就永遠不會。對於一門很復雜的語言如果學習的過於仔細專研原理追求完美,容易跑偏消耗積極性和精力,我學的是代碼審計而不是java開發,所以我學的比較有針對性,對此僅僅是我個人看法。

00x1:

  java的基礎知識,由於語言的特性,我不是去搞開發所以根據以往的語言經驗,我直接在菜鳥的java教程過一遍基礎語法,了解java的語言特性,語法無外乎3大結構體,條件,循環和判斷語句,以及面向對象,異常處理,以及文件處理,等對於預期達到的學習目的是能看懂java代碼,理清楚邏輯,入門java的代碼審計。

00x2:

  基礎的語法,對象,類,方法,實例變量就是對象的實例化,而java是大小寫敏感,標識符是字符,字母,下劃線,不能是數字,關鍵字。java的修飾符:分為訪問修飾符以及非訪問修飾符,訪問控制修飾符:default,public,protected,private,而非訪問的修飾符final,abstract,static等。java的變量:局部變量,類變量,成員變量。java的特性之一:枚舉:預先設定好值,不可更改,減少代碼bug

  java的類和對象:封裝,繼承,多態,海軍3大將面向對象精華,類和對象簡單解釋,類是一個模板,比如男孩和女孩是一類,而男孩的女朋友叫美羊羊就是一個對象,對象也可以是行為,比如說,吃等代碼解釋:

  public class Dog{

  strinng bread;

  int age;

  string color;

  viod barking(){}

  viod hungry(){}

  viod sleeaping(){}

} 上述代碼類,和方法以及變量,變量分為局部,成員,類變量

  構造方法:類在創建對象的時候至少調用一種構造方法,若沒有定義,則系統使用默認的構造方法,通過new關鍵字去調用構造方法,必須滿足以下要求:1.方法名和類名完全匹配,構造方法不需要返回了偶像,構造方法不需要非訪問修飾符修飾,如:static,final等,以下代碼解釋構造方法的作用原理:

Fruits apple = new Fruits("80%","60%","30%") 使用new關鍵字創建java對象的時候,首先是分配內存空間,然後調用類的構造方法初始化成員屬性和成員變量,最後返回實例給對象apple,構造方法為有參和無參,又分隱式和顯式,這怎麽理解其實作用就是給對象一個初始的參數,這部分網上有是咧代碼自己敲了一遍,發現的坑是源文件名稱必須和public類保持一致

  變量:變量是啥,是申請內存來存儲值,變量名就是申請的這塊內存的名字,而這個申請的內存類型是由變量類型決定的比如定義一個變量為浮點數,這塊內存就只能存儲浮點數,java的兩大數據類型:內置數據類型和引用數據類型,內置的數據類型有8種基本的數據類型,其中6種數字型,一個字符,一個布爾。比如二進制類型:byte,short以二進制補碼形式,int,long,float,double.boolean,char,這些取值範圍啥的,不需要記憶,若需要直接打印即可,因為是常量,

  常量:常量不可修改,上面提到的非訪問修飾符final 就是修飾常量的。

  局部變量,類變量,實例變量的區別:類變量是獨立方法之外的變量用static修飾,實例變量是獨立方法之外,但是不用static修飾,而局部變量就是類方法中定義的變量...後面沒有記錄懶,基本上一天時間過了遍基礎知識,能看懂代碼。

菜鳥的java代碼審計之旅-0之java基礎知識