002_linux驅動之_register_chrdev註冊字元裝置
一、資料型別
在程式設計的過程中,需要對資料進行運算,也需要對資料進行儲存。不同的資料型別需要的記憶體空間是不同的。
Java語言的資料型別分為兩大類:基本資料型別和引用資料型別。
基本資料型別
定義:在記憶體中存放的是資料值本身;
舉例:整型、浮點型、邏輯型、字元型;
註釋:在Java語言中對於長整型(L)、單精度浮點(F)、雙精度浮點(D),在後面都要加上相應的字母;預設資料型別為int;
引用資料型別
定義:引用資料型別在記憶體中存放的是指向該資料的地址,不是資料值本身,它往往有多個基本資料之組成,因此對引用資料型別的應用稱為物件引用,引用資料型別也被稱為複合資料型別;
舉例:類、陣列、介面;
二、關鍵字與識別符號
關鍵字:在Java語言中被賦予特定含義的一些單詞,在程式中有著不同的用途;
識別符號:用來表示變數名、類名、方法名、陣列名和檔名的有效字元序列;
組成:1、識別符號可以有字母、數字、下劃線、美元符號等組合而成;
2、識別符號必須以字母、下劃線或者美元符號開頭,不能以數字開頭;
3、識別符號儘量符合定義變數的含義;
4、類名首字元大寫,變數、方法、物件的首字母小寫;
三、常量
常量:常量儲存的是在程式的執行過程中不能被修改的固定值,即是常量在程式的整個執行過程中保持其值不被改變;
型別:整數常量;浮點型常量;布林型常量;字元型常量;字串常量;
轉義符:可以是字元型常量,所有的轉義符都要用反斜槓(\)開頭;
例如:\f (換頁符) 、\n(換行符)、\t (製表符)、\\(反斜槓)、\' (單引號)、\" (雙引號);
宣告:關鍵字 final 來標識;例如:final int MAX = 10;
註釋:Java語言中建議常量識別符號全部用大寫來表示;
作用:增加可讀性;增強可維護性;
四、變數
程式在使用變數之前首先應該在該變數和記憶體單元之間建立聯絡,這個過程稱為變數的宣告或者變數的定義;
格式:型別 變數名 [= 初值] [,變數名 [ = 初值] ······]
int i = 0;
五、資料型別轉換
定義:Java語言中允許使用者有限度地進行資料型別的轉換處理,簡稱為型別轉換;
分類:自動型別轉換;強制型別轉換;
自動型別轉換:佔用記憶體空間較少的資料型別轉換為佔用較多的資料型別;
註釋:轉換前的資料型別和轉換後的資料型別是相容的;
byte<short<char<int<long<float<double;
強制型別轉換:佔用記憶體空間較多的資料型別轉換為佔用較少的資料型別,不用牽制型別轉換,會報錯;
package Demo1; public class Demo4 { public static void main(String[] args) { int a = 155; int b = 9; float g,h; System.out.println("a=" + a + ",b=" +b); g = a/b; System.out.println("a/b=" +g+"\n"); System.out.println("a=" + a + ",b=" +b); h = (float) a/b; System.out.println("a/b=" +h); } }
字串型資料與整數資料的轉換
String myNumber = "1234.5678"; // 定義字串數字1234.5678 float myFloat = Float.parseFloat(muNumber);
六、鍵盤輸入資料
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Demo6 { public static void main(String[] args) throws IOException { float num; String str; BufferedReader buf; buf = new BufferedReader(new InputStreamReader(System.in)); System.out.println("請輸入一個實數:"); str = buf.readLine(); num = Float.parseFloat(str); System.out.println("您輸入的是:" + num); } }
package Demo1; import java.io.*; public class Demo7 { public static void main(String[] args) throws IOException { int num1,num2; String str1,str2; InputStreamReader in; in = new InputStreamReader(System.in); BufferedReader buf; buf = new BufferedReader(in); System.out.println("請輸入第一個數:"); str1 = buf.readLine(); num1 = Integer.parseInt(str1); System.out.println("請輸入第二個數:"); str2 = buf.readLine(); num2 = Integer.parseInt(str2); System.out.print(num1 + "*" + num2 + "= " + (num1*num2)); } }
import java.util.*; public class Demo8 { public static void main(String[] args) { int num1; float num2; Scanner reader = new Scanner(System.in); System.out.println("請輸入第一個數:"); num1 = reader.nextInt(); System.out.println("請輸入第二個數:"); num2 = reader.nextFloat(); System.out.println(num1 + "*" + num2 + "=" + ((float)num1*num2)); } }
import java.util.*; public class Demo9 { public static void main(String[] args) { String s1,s2; Scanner reader = new Scanner(System.in); System.out.println("請輸入第一個資料:"); s1 = reader.nextLine(); /* nextLine() 方法的結束符只是回車鍵;即nextLine()方法會返回回車鍵之前的所有字元; */ System.out.println("請輸入第二個資料:"); s2 = reader.next(); /* next()方法一定要讀取到有效字元之後才可以結束結束輸入;在輸入有效字元之前遇到空格鍵、 Tab鍵、或者回車鍵等,next()方法會將其自動去掉,只有在輸入有效字元字元之後,next()才 會將這些鍵看作為結束符; */ System.out.println("輸入的是" + s1 + "和" + s2); } }
七、運算子與表示式
算術運算子:+、-、*、/、%、++、--
關係運算符:>、<、>=、<=、==、!=
邏輯預算符:!、&&、||、&、|
位運算子:>>、<<、>>>、&、|、^、~
賦值運算子:=、+=、/=