Java系列1:java基礎

1、JDK與JRE

JDK:Java Development Kit
JRE:Java Runtime Environment
它提供一層殼,包裹操作系統。
JVM:Java Virtual Machine
一臺在JRE中運行的虛擬電腦。

jdk文件夾

jdk文件夾比jre文件夾,多了一個javac.exe的文件。

編譯:翻譯。將用類似英語的自然語言書寫的文字(程序)翻譯成電腦所能識別的0和1(機器語言)。

2、java的特點

  • 面向對象
  • 跨平臺(Write Once, Run anywhere)

3、開發java程序3步曲

  • xx.java
  • javac xx.java
  • java xx

4、常用格式控制符

5、數據類型

用來確定要存儲在內存單元中的數據的類型。

(1)原始數據類型 / 基本數據類型

原始數據類型

(2)引用數據類型

數組、String、使用class定義的類型

區別

6、變量命名規則

變量命名規則

7、類型轉換(Type Convert)

(1)自動類型轉換

條件:

  • 兩種類型兼容。
    例如:int和double兼容
  • 目標類型大于源類型
    例如:double型大于int型

對于表達式而言,如果一個操作數為double型,則整個表達式都提升為double型。

(2)強制類型轉換

條件:

  • 兩種類型兼容。
    例如:int和double兼容
  • 目標類型小于源類型
    例如:int型小于double型

8、邏輯運算符

Java提供了兩個在其它計算機語言中沒有的邏輯運算符,這就是邏輯與和邏輯或的短路版本。

邏輯與、短路與

9、控制流語句

(1)break

用于do-while、while、for等循環語句中時,可跳出循環而執行循環后面的語句。

break

(2)continue

只能用在循環里。用于跳過循環體中剩余的語句而執行下一次循環。

continue

10、數組

數組是一個變量,存儲相同數據類型的一組數據。

(1)數組使用4步曲

  • 聲明數組:告訴計算機數據類型是什么。

    int[] a;    數據類型[] 數組名
    int a[];    數據類型 數組名[]
    
  • 分配空間:告訴計算機分配幾個格子

    a = new int[5];    
    int a = new int[5];    數據類型[] 數組名 = new 數據類型[大小];
    
  • 賦值:向分配的格子里放數據

    a[0] = 8;
    
  • 處理數據

    a[0] = a[0] * 10;
    

(2)關于數組長度

C語言不檢查數組的邊界,數組索引完全由程序員掌握。

而在Java中,程序員可以不再關注數組的長度,數組自帶的length屬性將負責保管數組的長度;

Java對數組下標越界情況強加約束。如果試圖訪問不在有效索引以內的元素,將會引發運行錯誤。

(3)new關鍵字

在C語言中,從存儲方式上講,聲明數組有兩種情況:
在棧內存中分配空間,如:

int arr[10];  //聲明有10個整型元素的數組

在堆內存中分配空間,如:

int *p = NULL;  //聲明整型指針
p = (int*)malloc(10 * sizeof(int));  //指針指向堆空間

C語言允許有棧數組,也允許有堆數組。

在Java中,數組是引用數據類型,不允許將數組分配在棧內存中,只能分配在堆內存中。
Java中沒有類似于malloc、calloc、realloc和free等函數,取而代之的是new關鍵字。
new是Java中內置的操作符。
new操作符用來從堆中分配指定類型的內存空間,并返回相應類型的引用。其作用類似于malloc函數。


11、main函數的命令行參數

在命令行使用java命令執行程序時,可以將一些參數傳遞給main函數;可以從命令行傳遞任意多個字符串給main函數,其間使用空格隔開,也可以不傳遞任何參數;這些傳遞進來的多個字符串最后以字符串數組的形式,供main函數中加以使用。

main函數攜帶的String[](字符串數組)類型的形參args正是為了接收這些來自命令行的參數。

例:

public class ArgumentDemo
{
  public static void main(String[] args)
  {
    int len = args.length;  //獲得命令行參數的個數

    if (len > 0)  //判斷是否有命令行參數
    {
      //如果有,將其逐一打印到控制臺
      System.out.println(len + "個命令行參數,具體如下:");
      for (int i = 0; i < args.length; i++)
      {
        System.out.println(args[i]);
      }
    }
    else
    {
      //否則給出提示信息
      System.out.println("您沒有傳遞任何命令行參數。");
    }
  }
}

12、輸入與輸出

(1)從命令行接收輸入

Scanner  scan = new Sanner(System.in);

例:

public class ArgumentDemo
{
  public static void main(String[] args)
  {
     Scanner scan = new Scanner(System.in);  //定義一個引用變量
   
     int num = scan.nextInt();

     System.out.println(num);

  }
}

(2)打印到屏幕上

System.out.println():換行輸出
System.out.print():輸出但不換行

無論輸出什么類型的數據,只需將數據作為參數傳遞給它們即可,而無需像C語言中那樣,使用%s、%d之類的控制字符,如:

int a = 10;
float f = 3.14f;
System.out.println(a);
System.out.print(f);
System.out.println('X');
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,765評論 18 399
  • 小編費力收集:給你想要的面試集合 1.C++或Java中的異常處理機制的簡單原理和應用。 當JAVA程序違反了JA...
    八爺君閱讀 4,656評論 1 114
  • Win7下如何打開DOS控制臺? a:開始--所有程序--附件--命令提示符 b:開始--搜索程序和文件--cmd...
    逍遙嘆6閱讀 1,614評論 4 12
  • 自從一階復訓后,感覺自己狀態很不好。出差跟客戶談事情,事后感覺自己講的不好,人家可能不會幫我招生,因為我不是很專業...
    多多少少7閱讀 188評論 0 0
  • ●2015-03-22 03:10 春天悄然而來,都知道這是個抑郁癥以及自殺傾向的高發期。對于我來說,當然還沒有到...
    龐幾裡得閱讀 443評論 0 0