Java語法基礎(1)—— 部分基礎知識點

  Java語言也是在C語言的基礎上發展而來的,屬於C語系,所以大多數語法都同C語言的語法,這裏只是儘量的列出其不同點。

1、JVM、JRE和JDK

  JVM — Java Virtual Machine
  JRE — Java Runtime Environment
  JDK — Java Development Kit
  JRE=JVM+java系統類庫—-運行的最小環境
  JDK=JRE+編譯、運行等開發工具—開發的最小環境

2、Java標識符

  Java的標識符只能包含字母、數字、_、$,並且不能以數字開頭大小寫敏感,不能使用Java關鍵字。
  Java編程規範要求,變量的命名需採用“駝峯命名法”,即如果變量的名字由多個單詞組成,除第一個單詞外,其他單詞的首字母大寫,其餘的字母小寫。

3、變量

  Java語言規定變量在使用之前必須初始化,即必須給該變量賦予特定的值。

4、Java基本數據類型

  Java語言有8種基本數據類型,分別用於存儲整數、浮點數、字符數據和布爾類型數據。byte、short、int、long;float、double;char;boolean。

int:
a)整型,佔4個字節,範圍-21個多億到21個多億
b)整數直接量(666,888,520…),默認爲int類型
c)兩個整數相除,結果爲整數(無條件捨去小數位)

long型直接量,在數字後面加l或L

long timeMillis = System.currentTimeMillis();
System.out.println(timeMillis);

  System.currentTimeMillis();方法返回1970年1月1日零時到此時此刻所經歷的毫秒數,該方法常用於計時操作。

  默認的浮點直接量爲double型,如果需要表示float類型的直接量,需要加”f”或”F”後綴。例如:

float f1 = 3.14;//會有編譯錯誤,應該寫成3.14f

  由於二進制系統中無法精確的標識0.1,所以浮點數存在舍入誤差,不能進行精確計算。如果需要精確的運算可以考慮採用BigDecimal類來實現。

  字符類型實質上是一個16位無符號整數,這個值是對應字符的編碼。
  Java字符類型採用Unicode字符集編碼。Unicode是世界通用的定長字符集,所有的字符都是16位。

5、Java中的移位運算

  Java中的移位運算有三種:左移(<<)、右移(>>)、無符號右移(>>>)。
  這裏左移和右移運算同C語言,比較特殊的是無符號右移(>>>)運算,其向右移動時,低位溢出的捨去,高位永遠補0

6、基本類型轉換

  在基本類型轉換中,有關byte,short,char的兩點規則:
  a、整數直接量可以直接賦值給byte,short,char,只要不超過其表示範圍;
  b、byte,char,short只要參與運算,則一律轉爲int。

short s1 = 5;
s1 = s1 + 10;//編譯錯誤,必須手動強轉,s1 = (short)(s1 + 10);
s1 += 10;//正確,擴展賦值運算自動強轉

7、取模運算(%)意爲取餘數,可適用於整數、char類型以及浮點數。

8、&&和||都遵循短路原則,而&和|則不短路。

9、賦值表達式本身也有值,其本身之值即爲所賦之值。

10、“+”可以實現字符串的拼接,同時可以實現字符串與其他數據類型的“相連”。

11、switch…case可以用以判斷的數據類型有byte,short,int,char。從JDK7.0開始,switch-case支持字符串表達式。

12、關於變量的作用域,當作用域重疊時,變量不能重名。

13、數組的定義

a、int[] arr = new int[10];
b、int[] arr = {1,2,3,4,5};
c、int[] arr;arr = new int[]{1,2,3,4,5};
d、int[] arr = new int[]{1,2,3,4,5};

14、基本類型的數組創建後,其元素的初始值:byte、short、char、int、long爲0;float和double爲0.0;boolean爲false。

15、JDK中的java.util.Arrays類提供對數組操作的一系列實用方法。

a、Arrays.toString(arr)方法用字符串表示數組的內容。

import java.util.Arrays;
//打印數組中的內容
System.out.println("數組中的數據爲:"+Arrays.toString(arr));

b、Arrays.sort(arr)用於實現數組的排序,且效率很高,數字則按從小到大排,字符串則按字典順序。

16、數組的複製

a、System.arraycopy(源數組,源數組的起始下標,目標數組,目標數組的起始下標,要複製元素的個數);
b、使用java.util.Arrays類的copyOf方法可實現數組的複製。
類型[] newArray = Arrays.copyOf(類型[] original,int newLength),生成的新數組是原始數組的副本。
數組的長度在創建後是不可改變的,但可以通過Arrays.copyOf()方法,簡便實現數組的擴容。所謂擴容是指創建一個更大的新數組並將原有數組的內容複製到其中。

int[] a = {1,2,3,4,5};
a = Arrays.copyOf(a,a.length + 1);

17、Math.sqrt()求平方根。

18、用round()進行四捨五入

double s = 0.5 * g * t * t;
//四捨五入,取保留一位小數
s = Math.round(10 * s) / 10.0;

19、Java語言中的方法用於封裝一段特定的邏輯功能,類似於C語言中的函數。

20、生成隨機數

20.1 Random類的nextInt()方法產生隨機數
import java.util.Random;
//隨機生成10個0-99之間的數值,放入數組
Random ran = new Random();
for (int i = 0;i < arr.length;i++){
    arr[i] = ran.nextInt(100);
}
20.2 Math.random()生成1到100內的隨機數
(int)(Math.random() * 100) + 1

21、使用Scanner類輸入

21.1 使用Scanner類輸入數字
import java.util.Scanner;
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
double b = scan.nextDouble();
scan.close();
21.2 使用Scanner類輸入字符串
Scanner scanner = new Scanner(System.in);
String c = scanner.next().trim();//讀取輸入的字符串並且去掉空格

22、String的length()方法和charAt()方法

String str = "abcdefghijklmn";
//java語言中針對數組提供了length屬性來獲取數組的長度。針對字符串提供了length()方法來獲取字符串的長度。
int size = str.length();
int rows = 3; //行數
int cols = size%rows==0?size/rows:size/rows+1; //列數
char[][] t = new char[rows][cols];
int index=0;
for(int j=cols-1; j>=0; j--){
    for(int i=0; i<rows; i++){
        if(index<size){
            t[i][j] = str.charAt(index++);//charAt()方法返回位於字符串的指定索引處的字符。
        }else{
            t[i][j]=' ';
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章