1. 程式人生 > 實用技巧 >bpplsched — 新增、刪除或列出 NetBackup 日程表【轉】

bpplsched — 新增、刪除或列出 NetBackup 日程表【轉】

1.常量

常量是指程式執行期間,內容不可發生改變的量,像10,10.2,“hello”等都是常量

2.變數

變數與常量相反,程式執行期間,可以在一定範圍內發生改變的量就是變數,變數的本質其實就是用來存放資料的一小塊記憶體空間

變數的格式:資料型別 變數名 = 資料值

識別符號的規則:

  • 只能由字元、下劃線_和美元符$組成
  • 不能以數字開頭s
  • 不能是java的關鍵字

常見的識別符號命名規則(軟性建議):

  • 見名只其意
  • 只使用英語和數字,更不要使用拼音
  • 類:每個單詞首字母大寫, 如Hello
  • 變數第一個單詞完全小寫後續更多單詞首字母大寫(小駝峰式),如ageOfLuyi
  • 方法:與變數規則一樣,如show(),getAge()
  • 包:其實就是資料夾,由於對類進行管理,命名建議為全部小寫,多級包用點.隔開

變數的注意事項:

  • 建立的多個變數不能重名
  • 變數一定要賦值之後才能使用
  • 變數的作用域問題:變數定義在哪個大括號中,就只能在哪個大括號中使用,超過所屬的大括號,就無法使用
  • 可以在一個語句中同時定義型別相同的多個變數

3.資料型別的分類

基本型別

  • 整數型別:byte(佔一個位元組) short(佔2個位元組) int(佔4個位元組) long(佔8個位元組)
  • 浮點型別:float(佔4個位元組) double(佔8個位元組)
  • 字元型別:char(佔2個位元組)
  • 布林型別:boolean(佔1個位元組)

引用型別

  • 字串
  • 介面
  • 陣列
  • Lambda
  • ...

注意事項:

  • 整數型別預設為int型別
  • 浮點數型別預設為double型別
  • 定義一個long型資料,在數值後面要用字母L作為字尾(大小寫都可以,推薦使用大寫),如5000L
  • 定義一個float型資料,在數值後面要用字母F作為字尾(大小寫都可以,推薦使用大寫),如3.14F
  • 字元char型資料,是可以包含中文的

4.運算子

運算子:對常量或變數進行操作的符號,叫做運算子,例如“+”
表示式:用運算子將多個常量或變數連起來的式子,叫做表示式,例如“a+b”
常用的運算子:

  • 算數運算子:

    • 加號(+) :跟數學中的加法一樣,但是+對於字串來說,並不是相加的意思,而是連線的功能,需要注意優先順序問題

        String str5 = "abc" + 10 + 20
        //結果為:abc1020
        String str5 = "abc" + (10 + 20)
        //結果為:abc30
      
    • 減號(-)

    • 乘號(*)

    • 除號(/)這裡的除號是整除,只看商,不看餘數

    • 求餘(%):取模運算,取得餘數,只看餘數,不看商

    • 自增運算子(++):在變數的原有基礎上加1,可以寫在變數前面,也可以寫在變數後面

      • 單獨使用的時候:前++和後++無任何區別
      • 如果和其他運算子混合使用時:如果是前++,那麼變數馬上+1,然後拿著結果進行使用,如果是後++,那麼首先使用當前的本來資料,然後再進行+1操作
    • 自減運算子(--):在變數的原有基礎上減1

    • 計算中如果有小數參與,那麼結果一定是小數

  • 賦值運算子

    • 基本賦值運算子:表示將右側的數值賦給左邊的變數
    • 複合賦值運算子:如 a += 3,a *= 4
    • =左側不能是常量,右側既可以是常量也可以是變數
  • 比較運算子:比較運算子的結果一定是一個布林值,要麼為true,要麼為false

    • 大於 >:
    • 小於 <:
    • 大於等於 >=
    • 小於等於 <=
    • 不等於 !=
    • 等於 ==
  • 邏輯運算子:

    • 與(&):全為true才為true
    • 或(|):有一個true就是true
    • 異或(^):相同是true,不同是false
    • 非 取反(!):本來true變成false,本來是false變為true
    • 短路使用:如果左側已經可以判斷到最終結果,那麼右側將不再執行
      • 短路與(&&)
      • 短路或(||)

5.Scanner鍵盤輸入

使用引用型別的三個步驟:

  • 導包:指定需要使用的目標在什麼位置,在public class之前寫一行程式碼 import 包路徑名

     import java.util.Scanner;
    
  • 建立:資料型別 變數名稱 = new 資料型別()

     Scanner sc = Scanner(System.in);
    
  • 使用:變數名稱.方法名();

     String str = sc.next()
     int num = sc.nextInt()
    

總程式碼:

import java.util.Scanner;
public class Sc{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("please input something");
        String str = sc.next();
        System.out.println(str);
    }
}

6.流程

  • 順序結構:程式自上而下一條線走下來

  • 選擇結構(分支結構):程式並不是一條道走到黑,有了分叉

    • 單if語句

        if(布林表示式){
        	語句體;
        }
        //如果布林表示式為true,則執行語句體,否則,不執行;
      
    • 標準if-else語句

        if(布林表示式){
            語句體A;
        }else{
            語句體B;
        }
        //如果布林表示式為true,則執行語句體A,否則,執行語句體B;
      
    • 擴充套件if-else語句

        if(布林表示式1){
            語句體A;
        }else if(布林表示式2){
            語句體B;
        }
        ...
        else if(布林表示式N){
            語句體N
        }else{
            語句體N+1
        }
      

例子:求兩個數的最大值

import java.util.Scanner;
public class MaxNumber{
    public static void main(String[] arg){
        Scanner sc = new Scanner(System.in);
        System.out.println("please the num1: ");
        int num1 = sc.nextInt();
        System.out.println("please the num2: ");
        int num2 = sc.nextInt();
        if(num1 > num2){
           System.out.println("the max number is" + num1);
       }else{
           System.out.println("the max number is" + num2);
       }

}
}

  • 迴圈結構

迴圈結構的組成部分

  • 初始化語句:這部分內容最先執行,而且僅執行一次;
  • 條件判斷:如果成立,則迴圈繼續,如果不成立,則迴圈中止;
  • 迴圈體:每次迴圈都將重複執行迴圈體的程式碼內容;
  • 步進語句:每次迴圈執行後,都會執行一次步進語句;

for 迴圈:通常用於控制次數的場景

for(初始化語句;條件判斷,步進語句){
	迴圈體;
}

例子:求出1-100的偶數和

public class EvenNumber{
    public static void main(String[] arg){
        int sum = 0;
        for(int i = 1; i < 101; i ++){
            if(i % 2 == 0){
                sum += i;
            }
        }
        System.out.println("the sum is: " + sum);
    }
}

whlie迴圈:

標準模式:
while(條件判斷){
	迴圈體;
}
//當條件滿足時執行迴圈體,不滿足則跳出迴圈體

擴充套件模式:
初始化語句;
while(條件判斷){
	迴圈體;
	步進語句;
}

例子:求1-100的奇數和

public class OddNumber{
    public static void main(String[] arg){
        int sum = 0;
        int i = 1;
        while( i < 101){
            if(i % 2 == 1){
                sum += i;
            }
            i ++;
        }
        System.out.println("the sum is: " + sum);
    }
}

for迴圈與while迴圈的區別:for迴圈的步進語句還能接著走,而whlie的步進語句由於continue跳出了迴圈,導致剩餘內容的步進語句也沒被跳過

public class ContinueDemo{
    public static void main(String[] arg){
        for(int i = 1; i < 10; i ++){
            if(i == 4){
                continue;
            }
            System.out.println(i);
        }
        System.out.println("=====================");
        int i = 1;
        while(i < 10){
            if(i == 4){
                continue;
            }
             System.out.println(i);
             i ++;
        }
    }
}
//輸出結果為:
1
2
3
5
6
7
8
9
=====================
1
2
3
  1. for迴圈格式固定,控制次數更方便,而while迴圈格式更加靈活,不在意迴圈次數,迴圈次數確定的使用for較多,次數不確定,使用while較多
  2. for迴圈小括號內定義的變數,迴圈內可用,迴圈外不可用,while迴圈的初始化表示式本來就在外面,仍然可用
  3. 跳轉語句continue的效果不同:

跳轉控制語句:

  1. break語句:跳出迴圈
  2. continue語句:只跳出本次迴圈,後續還要繼續迴圈

死迴圈(永真迴圈):
這兩種方法可以實現死迴圈
while(true){
}
for(;