列舉和file類的知識點

2021-07-25 11:26:38 字數 4546 閱讀 1335

列舉

列舉:是一些值得獲取不是隨便來的,它是由乙個範圍的。在運用列舉的時候,建立乙個列舉類,enum 類名

例如:public static void main(string args)

//  列舉型別

enum week

private week(string value)

}                        

final class weeks

private weeks(string value)}

2.switch 和列舉的結合使用

注意:(1)在switch中case語句的後面,直接寫列舉值,不用再宣告這個列舉值是那個列舉型別,即列舉case 列舉值;

(2)列舉值放在列舉類的第乙個語句

靜態匯入:import static

作用:在同乙個靜態方法要被多次使用的時候,達到簡化書寫的作用。

格式:import static 包名.類名.靜態方法名或者是靜態成員的名字。

在匯入之後使用這個類的這個靜態方法,就可以直接寫方法名,而不用寫類名.方法名。

注意:(1)如果靜態匯入的成員(成員變數,方法)和本類中的方法或者是成員同名的情況下那麼預設使用本類中的方法。

(2)如果你還是要使用靜態匯入的這個方法,加上類名就可以了。

可變引數型別

1.實際上是乙個陣列。

2.可變引數既然是乙個陣列,那麼代表它的型別是固定的。

3.乙個方法中可以有可變引數以及其他引數,但是可變引數 要放在最後乙個引數位置上,  其他引數放在前面

4.乙個方法中 最多只能有乙個可變引數, 因為可變引數 一定要放在 形參的最後乙個位置

5.如果方法的形參 使用的是可變引數, 那麼可變引數  可以不傳引數。

例如: int a = 10;

int b = 20;

int c = 30;

string str = a + "hello" + b + "hi" + c;

system.out.println(str);

//  輸出的是10hello20hi30

例如:int t =compute(10,20,30);

system.out.println(t);//  結果輸出60

int t =compute(10,20,30,50,60,40);

system.out.println(t);//  結果輸出210

//  前面呼叫下面的compute方法的時候 傳遞的引數個數,來確定這個陣列b中的元素個數

public static int compute(string a,int...b)

return  res;}

正規表示式:( regular expression)是一種規則,針對於字串進行操作的規則

正規表示式 有特定的 語法結構和規範, 要按照規定 來定義這個表示式

1.預定義字元類   單個字元匹配

. 任何字元(與行結束符可能匹配也可能不匹配) 

\d 數字:[0-9] 

\d 非數字: [^0-9] 

\s 空白字元:[ \t\n\x0b\f\r] 

\s 非空白字元:[^\s] 

\w 單詞字元:[a-za-z_0-9] 

\w 非單詞字元:[^\w] 

例如:system.out.println(".預定義字元的匹配 :**********" + "a".matches(".")); // 表示可以輸出任意字元

system.out.println("\\d預定義字元的匹配 :**********" + "a".matches("\\d")); // 輸出的是0到9的數字

system.out.println("\\d預定義字元的匹配 :**********" + "1".matches("\\d")); 

system.out.println("\\d預定義字元的匹配 :**********" + "@".matches("\\d"));//輸出的是除了0到9的數字意外的

system.out.println("\\s預定義字元的匹配 :**********" + "\n".matches("\\s")); //輸出的是換行等命令符

system.out.println("\\s預定義字元的匹配 :**********" + "@".matches("\\s")); 

system.out.println("\\w預定義字元的匹配 :**********" + "*".matches("\\w")); 

system.out.println("\\w預定義字元的匹配 :**********" + "1".matches("\\w"));

system.out.println("\\w預定義字元的匹配 :**********" + "123".matches("\\d"));

2.greedy 數量詞 

x?     x,一次或一次也沒有 

x*     x,零次或多次 

x+     x,一次或多次 

x   x,恰好 n 次 

x  x,至少 n 次 

x x,至少 n 次,但是不超過 m 次 

例如:system.out.println("x? 數量詞的匹配 :**********" + "".matches("a?")); // a 匹配 a?  是true ""去匹配也是true

system.out.println("x* 數量詞的匹配 :**********" + "aaa".matches("a*")); // "" true , "aaa"true

system.out.println("x+ 數量詞的匹配 :**********" + "a".matches("a+")); //"" false. 只要字串是a, 或者全是多個a, 就是true

system.out.println("x 數量詞的匹配 :**********" + "aa".matches("a")); //正好 2次

system.out.println("x 數量詞的匹配 :**********" + "aaaaa".matches("a")); //至少要6次

system.out.println("x 數量詞的匹配 :**********" + "aaaaa".matches("a"));// 輸出的是1至4之間

3.  字元類 

[abc]      a、b 或 c(簡單類) 

[^abc]     任何字元,除了 a、b 或 c(否定) 

[a-za-z]   a 到 z 或 a 到 z,兩頭的字母包括在內(範圍) 

[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](並集) 

[a-z&&[def]] d、e 或 f(交集) 

[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](減去) 

[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](減去)

例如:system.out.println(" 範圍表示的匹配 :**********" + "a".matches("[a]")); 

system.out.println(" 範圍表示的匹配 :**********" + "c".matches("[abc]")); //尋找在abc範圍內的字元

system.out.println("+ 範圍表示的匹配 :**********" + "abcabcacbbcaa".matches("[abc]+")); // true

system.out.println(" 範圍表示的匹配 :**********" + "aaa".matches("[abc]"));

system.out.println(" 範圍表示的匹配 :**********" + "aaaaabbbbacccdddsss".matches("[abcds]"));

system.out.println(" 範圍表示的匹配 :**********" + "aass".matches("[abcds]"));

system.out.println("[^]+ 範圍表示的匹配 :**********" + "gggfjjf".matches("[^abcds]+"));

system.out.println("[a-h] 範圍表示的匹配 :**********" + "aaabc".matches("[a-h]")); //[abcdefgh]

system.out.println(" 範圍表示的匹配 :**********" + "aaaaabbbbacccdddsss".matches("[abcds]"));

system.out.println("[a-g[m-q]] 範圍表示的匹配 :**********" + "abcqpo".matches("[a-g[m-q]]")); // a-g || m-q

system.out.println("[a-z&&[def]] 範圍表示的匹配 :**********" + "dfeff".matches("[a-z&&[def]]")); //交集

python知識點 列舉

1 列舉 enum 列舉 可以表示各種不同的型別。列舉的意義重在標籤,而不在其值。列舉特點 不可變。如有相同值,則第二個列舉名稱是別名。2 列舉型別 列舉名稱 列舉值 from enum import enum 建立乙個vip類,繼承enum類 class vip enum yellow 1 gre...

列舉部分知識點

列舉知識點概述 列舉有構造方法,構造方法必須私有 列舉中可以出現抽象方法,但是一旦定義抽象方法,成員變數必須實現抽象方法 列舉可實現介面,實現介面之後,成員變數必須實現抽象類抽象方法 列舉可以有內部類跟內部列舉 示例 package com.demo.test public inte ce igen...

類和物件的知識點

類.dict 類的屬性字典 類.name 類的名字 字串 類.doc 類的文件字串 類.base 類的第乙個父類 類.bases 類的所有父類構成的元組 類.module 類定義所在的模組 類.class 例項對應的類 init 是類的內建函式,在例項化物件時 init 函式就會自動執行 靜態屬性 ...