java學習——基礎語法篇(適合已經學過c++的人群)

臧博涛發表於2024-07-06

本篇適合之前學過c和c++語言,現在要學java的人進行學習。由於之前學習過c++同為物件導向的程式語言,基礎語法在相對比之下學習,對比c++與java的差異,會快速掌握基本語法。學程式語言,語法不是重點,用時即查,程式設計思路才是重點。

1.註釋、識別符號、關鍵字、資料型別,變數定義,運算子與c++基本一致

public class HelloWorld {
    public static void main(String[] args) {
        int a=1;
//        int b=2;
        char c='1';
        long d;
    }
}

int、char等定義變數,
//作為註釋符號

2.陣列的建立不同





public class HelloWorld {
    public static void main(String[] args) {


        int[]arr2={11,12,13};//定義時初始化
        int []arr1;//定義後再初始化
        arr1=new int[]{11,12,13};

int [][]arr3={{11,12},{21,11}};//二維陣列



    }
}

對比c++


#include<iostream>
using namespace std;
int main()
{

	int arr[] = { 11,12,13 };//定義時初始化
	int arr1[4];//定義後初始化
	arr1[0] = 11;
	arr1[1] = 12;
	arr1[2] = 13;
int *arr2 = new int[n];

	int arr2[1][3];//二維陣列
	int arr3[2][2] = { {11,12} ,{21,11} };

}

對比中可以看出區別,定義時初始化只是將[ ]的順序變了,定義後初始化java和c++都可以用new來定義動態陣列,c++靜態陣列的話必須在初始化時在[ ]中輸入初始值。

3.輸入輸出與c++稍有不同

java的輸出

public class HelloWorld {
    public static void main(String[] args) {

  int a=123;
        System.out.println("hello,world");
    System.out.print("Hello, World!"+a);
  
 
    }
}

輸出結果為

hello,world
Hello, World!123

System.out.println()輸出後自動換行
System.out.print()少了ln後輸出不會換行

IDEA中輸入 sout+回車 就能快速打出System.out.println();

對比c++的輸出

#include<iostream>
using namespace std;
int main()
{
	int a=123;

	cout << "hello,world\n";
	cout<< "hello,world"<<a;
}

java的輸入


import java.util.Scanner;

public class HelloWorld {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int numInt = scanner.nextInt();
        System.out.println("你輸入的為: " + numInt);

        double numDouble = scanner.nextDouble();
        System.out.println("你輸入的為: " + numDouble);


    }
}

java的輸出需要在前面匯入

import java.util.Scanner;

類似於c++的標頭檔案

<iostream>

c++的輸入

#include<iostream>
using namespace std;
int main()
{
	int numint;
	double numdouble;
	cin >> numint;
	cout << "你輸入的為" << numint<<endl;
	cin >> numdouble;
	cout << "你輸入的為" << numdouble<<endl;




}

java是以類為基礎的,類比c++中的類看Scanner會更容易理解

Scanner是提前寫好的類,我們在這裡用這一個類建立了一個名字為scanner的物件
這一個物件裡面又有很多的內建函式,分別對應不同資料型別的輸入
於是我們能透過這個物件來輸入我們對應的資料

內建函式有

nextInt():讀取一個整數。
nextDouble():讀取一個雙精度浮點數。
next():讀取一個字串,以空格為分隔符。
nextLine():讀取整行輸入,包括空格。

4.流程控制語句與c++相同:

順序、選擇、迴圈

選擇

·if
·else if
·else

·switch
·case
·defult

迴圈

·while()
·for()
·do...while()

import java.util.Scanner;

public class HelloWorld {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int numInt = scanner.nextInt();
       
        if(numInt!=0)
        {
            for(int i=0;i<=numInt;i++)
            {
                System.out.println(i);
            }
        }
        else
        {

            System.out.println(0);
        }

        

    }
}

與c++中基本一致

下一篇文章中開始對比c++與java物件導向程式思想,抽象,封裝,繼承,多型的異同點,這些過完後,就可以著手做專案,做專案是學習其程式設計思維最快的方式,讓你明白,在這門語言中專案是如何從無到有搭建起來的。

末尾自身總結
因為我之前學過c,c++這兩個程式語言,所以學其他的程式語言就需要這麼對比著來,這樣能大大加快基本語法的學習。
我先是跟著b站教程下載了IDEA,後來又為了寫部落格著手看看markdown文件的基礎用法。
你要你開始跟著敲程式碼熟悉,這些也就能很快的記入心中,
就如部落格的寫作一樣,多寫,才能發現缺點,才能讓下一個寫作,變的更好

                                                                                                2024.7.6

相關文章