CodeGym /Blog Java /Ngẫu nhiên /Cú pháp Java: giới thiệu ngắn gọn về ngôn ngữ lập trình

Cú pháp Java: giới thiệu ngắn gọn về ngôn ngữ lập trình

Xuất bản trong nhóm

Cú pháp Java là gì?

Cú pháp Java là cơ sở của ngôn ngữ, tất cả các quy tắc, lệnh, cấu trúc chính để viết chương trình mà trình biên dịch và máy tính “hiểu”. Mọi ngôn ngữ lập trình đều có cú pháp cũng như ngôn ngữ của con người. Bài viết này tập trung vào cú pháp cơ bản của ngôn ngữ lập trình Java và dành cho các nhà phát triển mới làm quen hoặc những người biết ngôn ngữ lập trình khác. Một số khía cạnh có thể không rõ ràng đối với người mới bắt đầu. Nếu vậy, tốt nhất là bỏ qua chúng và tập trung vào các ví dụ. Như trong mọi thứ khác, tốt hơn là học một ngôn ngữ lập trình theo chu kỳ, dần dần hiểu sâu hơn về các khái niệm nhất định. Mỗi chương trình Java là một nhóm các đối tượng kết hợp với nhau bằng dữ liệu (biến) và hành vi (hàm hoặc phương thức). Ngoài ra chương trình Java là một lớp hoặc một vài lớp. Một đối tượng là một thể hiện của một lớp. Bạn có thể hiểu lớp như một mô hình, ví dụ như khuôn cắt bánh quy và các đối tượng như bánh quy. Hoặc lớp dưới dạng “lập trình viên Java” trừu tượng và đối tượng là “Lập trình viên Java John” hoặc “Lập trình viên Java Ivy”.

Đối tượng trong Java

Các đối tượng trong Java có trạng thái và hành vi. Ví dụ: Một con mèo có các trạng thái: tên là Furr, màu đỏ, chủ là John; con mèo cũng có hành vi Bây giờ Furr đang ngủ. Anh ấy cũng có thể rừ rừ, đi lại, v.v. Một đối tượng là một thể hiện của một lớp.

Lớp trong Java

Lớp là một mô hình hoặc khuôn mẫu hoặc bản thiết kế của đối tượng. Nó mô tả hành vi và trạng thái mà đối tượng thuộc loại của nó hỗ trợ. Ví dụ, lớp Cat có tên, màu sắc, chủ sở hữu; con mèo cũng có hành vi như ăn, rừ rừ, đi lại, ngủ.

Các phương thức trong Java

Các phương thức dùng để mô tả logic, thao tác dữ liệu và thực hiện tất cả các hành động. Mỗi phương pháp xác định hành vi. Một lớp có thể chứa nhiều phương thức. Ví dụ, chúng ta có thể viết một phương thức sleep() cho lớp Cat (để ngủ) hoặc purr() để gừ gừ.

Biến thể hiện trong Java

Mỗi đối tượng có một tập hợp các biến thể hiện duy nhất. Trạng thái đối tượng thường được tạo bởi các giá trị được gán cho các biến thể hiện này. Ví dụ: tên hoặc tuổi của mèo có thể là một biến. Chúng ta sẽ bắt đầu với chương trình Java đơn giản nhất. Sử dụng ví dụ này, chúng ta sẽ hiểu các khái niệm cơ bản về cú pháp Java và sau đó xem xét kỹ hơn về chúng.

Chương trình Java đơn giản: Xin chào, Java!

Đây là một chương trình Java đơn giản:

class HelloJava {
   public static void main(String[] args) {
       System.out.println("Hello, Java!");
   }
}
Chương trình này in ra một chuỗi “Xin chào, Java!” khuyên giải. Tôi khuyên bạn nên cài đặt JDK và IntelliJ IDEA và thử viết mã bạn thấy ở trên. Hoặc trong lần thử đầu tiên, hãy tìm một IDE trực tuyến để làm điều tương tự. Bây giờ chúng ta hãy xem chương trình này từng dòng một, nhưng bỏ qua một số chi tiết không cần thiết cho người mới bắt đầu.

class HelloJava 
Mỗi chương trình trong Java là một lớp hoặc thường là nhiều lớp. Dòng class HelloJava có nghĩa là ở đây chúng ta tạo một class mới và tên của nó là HelloJava. Như chúng ta đã định nghĩa ở trên, lớp là một loại khuôn mẫu hoặc bản thiết kế, nó mô tả hành vi và trạng thái của các đối tượng của lớp. Nó có thể khó khăn cho những lập trình viên mới làm quen, bạn sẽ tìm hiểu khái niệm này sau. Bây giờ lớp HelloJava chỉ là phần đầu của chương trình của bạn. Bạn có thể nhận thấy dấu ngoặc nhọn { trên cùng một dòng và xuyên suốt văn bản. Một cặp dấu ngoặc nhọn {} biểu thị một khối, một nhóm các câu lệnh lập trình được coi là một đơn vị duy nhất. Trong đó { có nghĩa là phần đầu của đơn vị và }kết thúc của nó. Các khối có thể được lồng vào nhau hoặc chúng có thể nối tiếp nhau. Có hai khối lồng nhau trong chương trình trên. Cái bên ngoài chứa phần thân của lớp Hello . Khối bên trong chứa phần thân của phương thức main() .

public static void main (String args []) {
Đây là sự khởi đầu của phương pháp chính. Một phương thức là một hành vi hoặc một chuỗi các lệnh cho phép bạn thực hiện một thao tác trong một chương trình. Ví dụ nhân 2 số hoặc in ra một chuỗi. Nói cách khác, một phương thức là một chức năng. Trong một số ngôn ngữ lập trình khác, các phương thức thường được gọi là "hàm". Các phương thức, giống như tất cả các thành phần của chương trình Java, được đặt trong một lớp. Mỗi lớp có thể có một, nhiều hoặc không có phương thức nào. Cú pháp Java: giới thiệu rất ngắn gọn về ngôn ngữ lập trình - 2public là một công cụ sửa đổi truy cập. Một biến, phương thức hoặc lớp được đánh dấu bằng công cụ sửa đổi công khai có thể được truy cập từ bất kỳ đâu trong chương trình. Có bốn trong số chúng trong Java: công khai, riêng tư, được bảo vệ và mặc định (trống). Chúng tôi nói về họ một lát sau. Đối với bước đầu tiên, tốt hơn là công khai tất cả các phương pháp của bạn. khoảng trốnglà kiểu trả về của phương thức. Void có nghĩa là nó không trả về bất kỳ giá trị nào. main đại diện cho điểm bắt đầu của chương trình. Đây là tên của phương pháp. String[] args là đối số của phương thức chính . Hiện tại, đủ để biết rằng hầu hết mọi chương trình Java đều có phương thức chính , nó khởi động chương trình và nó tuyên bố chẳng hạn như public static void main(String[] args) Các phương thức tĩnh là những phương thức hoạt động với lớp. Các phương thức sử dụng từ khóa tĩnh trong khai báo của chúng chỉ có thể hoạt động trực tiếp với các biến cục bộ và biến tĩnh.

 System.out.println("Hello, Java!"); 
Về mặt hình thức, dòng này thực thi phương thức println của đối tượng out. Đối tượng out được khai báo trong lớp OutputStream và được khởi tạo tĩnh trong lớp System . Tuy nhiên, nó hơi phức tạp đối với một người mới hoàn toàn. Người mới bắt đầu biết rằng dòng này in dòng chữ "Xin chào, Java!" đến bàn điều khiển. Vì vậy, nếu bạn chạy chương trình trong IDE của mình, bạn sẽ nhận được kết quả trong bảng điều khiển:Cú pháp Java: giới thiệu rất ngắn gọn về ngôn ngữ lập trình - 3

Các quy tắc cú pháp cơ bản của Java

Có một số quy tắc cú pháp chính cần tuân theo khi lập trình bằng Java:
  • tên tệp phải trùng với tên lớp;
  • thường thì mỗi lớp nằm trong một tệp riêng biệt có phần mở rộng .java. Các tệp lớp thường được nhóm vào các thư mục. Các thư mục này được gọi là các gói;
  • các ký tự có phân biệt chữ hoa chữ thường. Chuỗi không bằng chuỗi ;
  • Bắt đầu xử lý chương trình Java luôn bắt đầu trong phương thức chính : public static void main (String [] args) . Phương thức main() là một phần bắt buộc của bất kỳ chương trình Java nào;
  • Phương thức (thủ tục, hàm) là một dãy lệnh. Các phương thức xác định hành vi của đối tượng;
  • Thứ tự của các phương thức trong tệp chương trình là không thích hợp;
  • Hãy nhớ rằng chữ cái đầu tiên của tên lớp được viết hoa. Nếu bạn đang sử dụng nhiều từ, hãy sử dụng chữ hoa cho chữ cái đầu tiên của mỗi từ (“MyFirstJavaClass”);
  • tên của tất cả các phương thức trong cú pháp Java bắt đầu bằng một chữ cái viết thường. Khi sử dụng nhiều từ, các chữ cái tiếp theo được viết hoa ("public void myFirstMethodName()");
  • các tệp được lưu với tên lớp và phần mở rộng .java ("MyFirstJavaClass.java");
  • Trong cú pháp Java, có các dấu phân cách "{...}" biểu thị một khối mã và một vùng mã mới;
  • Mỗi câu lệnh mã phải kết thúc bằng dấu chấm phẩy.
Biến Java và kiểu dữ liệuBiến là những thực thể đặc biệt được sử dụng để lưu trữ dữ liệu. Bất kỳ dữ liệu nào. Trong Java, tất cả dữ liệu được lưu trữ trong các biến. Bạn có thể nói một biến là một nơi dành riêng hoặc một hộp để đặt biến vào. Mỗi biến có kiểu dữ liệu, tên (mã định danh) và giá trị của nó. Các kiểu dữ liệu có thể là nguyên thủy và không nguyên thủy hoặc tham chiếu. Các kiểu dữ liệu nguyên thủy có thể là:
  • Số nguyên: byte, short, int, long
  • Phân số: float và double
  • Giá trị logic: boolean
  • Các giá trị tượng trưng (để biểu thị các chữ cái và số): char

Ví dụ về biến Java:


int s;
s = 5;  
char myChar = ‘a’; 
Trong mã này, chúng tôi đã tạo một biến số nguyên s (một vùng chứa trống) và sau đó đặt giá trị 5 vào đó. Câu chuyện tương tự với biến có tên myChar . Chúng tôi đã tạo nó với kiểu dữ liệu char và định nghĩa nó là một chữ cái a . Trong trường hợp này, chúng tôi đã tạo một biến và đồng thời gán giá trị cho nó. Cú pháp Java cho phép bạn thực hiện theo cách này. Các loại tham chiếu là một số đối tượng giữ tham chiếu đến các giá trị hoặc các đối tượng khác. Chúng cũng có thể chứa tham chiếu đến giá trị rỗng. Null là một giá trị đặc biệt để biểu thị sự vắng mặt của giá trị. Trong số các loại tham chiếu là Chuỗi, Mảng và mọi Lớp bạn muốn. Nếu bạn có một lớp Violon, bạn có thể tạo một biến của Lớp này. Ví dụ về biến kiểu tham chiếu Java:

String s = “my words”; 
Violin myViolin; 
Bạn sẽ tìm hiểu thêm về chúng sau. Hãy nhớ rằng các loại biến không nguyên thủy bắt đầu từ chữ in hoa trong khi nguyên thủy - từ chữ cái viết thường. Ví dụ:

int i = 25;
String s = “Hello, Java!”; 

Mảng Java

Mảng là đối tượng lưu trữ nhiều biến cùng loại. Tuy nhiên, bản thân một mảng là một đối tượng trên heap. Chúng ta sẽ xem xét cách khai báo, xây dựng và khởi tạo trong các chương tiếp theo. Ví dụ về mảng:

int[] myArray = {1,7,5};
Ở đây chúng ta có một mảng chứa từ ba số nguyên (1,7 và 5)

Java Enums

Ngoài các kiểu dữ liệu nguyên thủy, Java còn có kiểu như liệt kê hoặc liệt kê. Kiểu liệt kê đại diện cho một tập hợp các hằng số có liên quan logic. Một kiểu liệt kê được khai báo bằng cách sử dụng toán tử enum, theo sau là tên của kiểu liệt kê. Sau đó, xuất hiện một danh sách các yếu tố liệt kê được phân tách bằng dấu phẩy:

enum DayOfWeek {
     MONDAY,
     TUESDAY,
     WEDNESDAY,
     THURSDAY,
     FRIDAY,
     SATURDAY,
     SUNDAY
}
Một kiểu liệt kê thực sự đại diện cho một kiểu mới, vì vậy chúng ta có thể định nghĩa một biến kiểu đó và sử dụng nó. Đây là một ví dụ về việc sử dụng phép liệt kê.

Ví dụ Java Enum


public class MyNum{      
    public static void main(String[] args) {
          
        Day myDay = DayOfWeek.FRIDAY;
        System.out.println(myDay);	//print a day from the enum     
}
}
enum DayOfWeek{
  
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY
}
Nếu bạn chạy chương trình, FRIDAY được in trong bảng điều khiển. Bạn có thể đặt mã lớp Enum và MyNum của mình trong một tệp, nhưng tốt hơn là tạo hai tệp riêng biệt: một cho lớp MyNum và một cho Day enum. IntelliJ IDEA cho phép bạn chọn enum trong khi tạo.Cú pháp Java: giới thiệu rất ngắn gọn về ngôn ngữ lập trình - 4

Khai báo biến trong Java

Trên thực tế, chúng tôi đã khai báo một số biến ở trên và thậm chí xác định chúng. Khai báo là một quá trình cấp phát bộ nhớ cho một biến có kiểu nhất định và đặt tên cho nó. Một cái gì đó như thế:

int i; 
boolean boo; 
Chúng ta cũng có thể khai báo khởi tạo một biến bằng toán tử gán (=). Điều đó có nghĩa là chúng tôi đặt một giá trị cụ thể vào bộ nhớ mà chúng tôi đã phân bổ. Chúng ta có thể làm điều đó ngay trong thời điểm khai báo hoặc sau đó.

khai báo biến ví dụ


String str; 
int i = 5; 
Str = “here is my string”; 
Nếu bạn khai báo một biến mà không khởi tạo thì nó vẫn nhận được một số giá trị mặc định. Đối với int, giá trị này là 0, đối với Chuỗi hoặc bất kỳ loại tham chiếu nào khác, giá trị này là một mã định danh null đặc biệt .

Mã định danh Java

Định danh chỉ là tên của các thành phần Java — lớp, biến và phương thức. Tất cả các thành phần Java nên có tên.

Class Violin {
int age; 
String masterName;  
}
Violon là định danh lớp học. agemasterName là các định danh biến. Dưới đây là một số quy tắc định danh Java:
  • Tất cả các mã định danh bắt đầu bằng một chữ cái Latinh (A đến Z hoặc a đến z), ký tự tiền tệ ($) hoặc dấu gạch dưới (_).
  • Sau ký tự đầu tiên, số nhận dạng có thể có bất kỳ tổ hợp ký tự nào.
  • Một từ khóa Java không thể là một định danh (bạn sẽ tìm ra các từ khóa sau một chút).
  • Mã định danh có phân biệt chữ hoa chữ thường.

Ví dụ về định danh

Số nhận dạng hợp pháp: java, $mySalary, _something Số nhận dạng bất hợp pháp: 1stPart, -one

Công cụ sửa đổi Java

Công cụ sửa đổi là những từ đặc biệt của ngôn ngữ Java mà bạn có thể sử dụng để sửa đổi các phần tử (lớp, phương thức, biến). Java có hai loại công cụ sửa đổi: Công cụ sửa đổi truy cập và không truy cập.

Ví dụ về công cụ sửa đổi quyền truy cập

Có 4 công cụ sửa đổi truy cập trong Java:
  • công cộng . Một phần tử công khai Nó có thể được truy cập từ lớp, bên ngoài lớp, bên trong và bên ngoài gói
  • Phần tử có công cụ sửa đổi mặc định (trống) chỉ có thể được truy cập trong gói
  • công cụ sửa đổi được bảo vệ có thể được truy cập bên trong và bên ngoài gói thông qua lớp con
  • phần tử riêng tư chỉ có sẵn trong lớp mà nó đã khai báo.

Ví dụ về công cụ sửa đổi không truy cập

Có 7 người trong số họ
  • tĩnh
  • cuối cùng
  • trừu tượng
  • đồng bộ hóa
  • tạm thời
  • bay hơi
  • tự nhiên

Từ khóa Java

Từ khóa Java là những từ đặc biệt được sử dụng trong Java đóng vai trò là chìa khóa cho mã. Chúng còn được biết đến như những từ dành riêng: bạn không thể sử dụng chúng cho các định danh của biến, phương thức, lớp, v.v. Đây là:
  • trừu tượng : từ khóa để khai báo lớp trừu tượng.
  • boolean : Java từ khóa boolean để khai báo một biến là kiểu boolean. Các biến như vậy chỉ có thể đúng và sai.
  • break : sử dụng từ khóa Java break để ngắt vòng lặp hoặc câu lệnh chuyển đổi.
  • byte : Từ khóa Java byte để khai báo một biến số nguyên một byte.
  • case : được sử dụng với các câu lệnh switch để đánh dấu các khối văn bản.
  • catch : được sử dụng để bắt các ngoại lệ sau khối thử .
  • char : Java từ khóa char cho một biến ký tự. Nó có thể chứa các ký tự Unicode 16-bit không dấu.
  • class : Java từ khóa class để khai báo một lớp.
  • continue : Từ khóa Java để tiếp tục vòng lặp.
  • default : Từ khóa mặc định của Java để chỉ định khối mã mặc định trong câu lệnh chuyển đổi.
  • do : được sử dụng trong cấu trúc vòng lặp do-while.
  • double : Từ khóa double trong Java được sử dụng để khai báo một biến số. Nó có thể chứa các số dấu phẩy động 8 byte.
  • other : bạn có thể sử dụng nó trong câu lệnh điều kiện else-if.
  • enum : được sử dụng để xác định một tập hợp các hằng số cố định.
  • extends : Từ khóa Java extends để chỉ ra rằng một lớp mở rộng một lớp khác (là một lớp Con của lớp kia).
  • final : từ khóa để chỉ ra rằng một biến là một hằng số.
  • cuối cùng : đánh dấu một khối mã sẽ được thực thi bất kể ngoại lệ có được xử lý hay không.
  • float : một biến chứa số dấu phẩy động 4 byte.
  • for : một từ khóa để bắt đầu một vòng lặp for. Nó được sử dụng để thực hiện lặp đi lặp lại một tập lệnh trong khi một số điều kiện là đúng.
  • if : từ khóa để kiểm tra điều kiện. Nó thực thi khối nếu điều kiện là đúng.
  • implements : từ khóa để thực hiện một giao diện.
  • nhập khẩu : Từ khóa nhập khẩu Java để nhập gói, lớp hoặc giao diện.
  • instanceof : kiểm tra xem đối tượng có phải là một thể hiện của một lớp hoặc giao diện cụ thể hay không.
  • int : một biến có thể chứa số nguyên có dấu 4 byte.
  • giao diện : Từ khóa giao diện Java được sử dụng để khai báo một giao diện.
  • long : một biến có thể chứa số nguyên có dấu 8 byte.
  • bản địa : chỉ định rằng một phương thức được triển khai trong mã gốc bằng cách sử dụng JNI (Giao diện gốc Java).
  • new : Java new từ khóa để tạo các đối tượng mới.
  • package : khai báo một gói Java (thư mục) cho các tệp của các lớp Java.
  • private : một công cụ sửa đổi truy cập chỉ ra rằng một phương thức hoặc biến có thể chỉ hiển thị trong lớp mà nó được khai báo.
  • protected : một công cụ sửa đổi truy cập chỉ ra rằng một phương thức hoặc biến có thể được truy cập bên trong và bên ngoài gói thông qua lớp con.
  • public : công cụ sửa đổi truy cập chỉ ra rằng một phần tử có thể truy cập được ở bất kỳ đâu.
  • return : trả về kết quả thực thi của một phương thức.
  • short : một biến có thể chứa số nguyên có dấu 2 byte.
  • tĩnh : chỉ ra rằng một biến hoặc phương thức là một lớp, không phải là một đối tượng, phương thức.
  • nghiêm ngặt fp : hạn chế các phép tính dấu phẩy động.
  • super : đề cập đến đối tượng lớp cha.
  • switch : chọn một khối mã (hoặc nhiều khối mã) để thực thi.
  • được đồng bộ hóa : một công cụ sửa đổi không truy cập. Nó chỉ định phương thức đó chỉ có thể được truy cập bởi một luồng tại một thời điểm.
  • this : đề cập đến đối tượng hiện tại trong một phương thức hoặc hàm tạo.
  • throw : được sử dụng để ném một ngoại lệ một cách rõ ràng.
  • throws : Tuyên bố một ngoại lệ.
  • tạm thời : một phần dữ liệu tạm thời không thể được sắp xếp theo thứ tự.
  • try : bắt đầu một khối mã sẽ được kiểm tra ngoại lệ.
  • void : chỉ định rằng một phương thức không trả về giá trị.
  • dễ bay hơi : chỉ ra rằng một biến có thể thay đổi không đồng bộ.
  • while : bắt đầu vòng lặp while. lặp lại một phần của chương trình nhiều lần trong khi điều kiện là đúng.

Nhận xét trong Java

Java hỗ trợ nhận xét một dòng và nhiều dòng. Tất cả các ký tự có sẵn bên trong bất kỳ nhận xét nào và chúng bị trình biên dịch Java bỏ qua. Các nhà phát triển sử dụng chúng để giải thích mã hoặc để nhớ lại điều gì đó. Nhận xét ví dụ:

//single-line comment 
/*here we have a multi-line comment. As you can see it uses slash and asterisks from both sides of it.*/   

public class HelloJava {
   /* this program was created to demonstrate comments in Java. This one is a multi-line comment.
   You can use such comments anywhere in your programs*/
   public static void main(String[] args) {
       //here is a single-line comment
       String j = "Java"; //This is my string
       int a = 15; //here I have an integer
       System.out.println("Hello, " + j + " " + a + "!");
       int[] myArray = {1,2,5};
       System.out.println(myArray.length);
   }
}

Chữ trong Java

Các chữ trong Java là một số giá trị không đổi được gán cho biến. Chúng có thể là số hoặc văn bản hoặc thứ gì đó khác để biểu thị một giá trị.
  • chữ tích phân
  • Chữ dấu chấm động
  • Char chữ
  • Chuỗi ký tự
  • Boolean chữ

Ví dụ về chữ Java


 int i = 100; //100 is an integral  literal 
double d = 10.2;//10.2 is a floating point literal 
char c = ‘b’; //b is a char literal 
String myString = “Hello!”; 
boolean bool = true; 
Lưu ý: null cũng theo nghĩa đen.

Toán tử cơ bản trong Java

Có nhiều loại toán tử khác nhau: Số học
  • + (cộng số và nối chuỗi)
  • – (trừ hoặc phép trừ)
  • * (phép nhân)
  • / (phân công)
  • % (mô-đun hoặc phần còn lại)
so sánh
  • < (ít hơn)
  • <= (nhỏ hơn hoặc bằng)
  • > (lớn hơn)
  • >= (lớn hơn hoặc bằng)
  • == (bằng)
  • != (KHÔNG bằng)
Hợp lý
  • && (VÀ)
  • || (HOẶC)
  • ! (KHÔNG)
  • ^ (XOR)
Chúng ta đã học về kiểu dữ liệu, biến, phương thức và toán tử. Hãy lấy một ví dụ đơn giản về mã nhưng phức tạp hơn một chút so với chương trình Java đầu tiên. Hãy tạo một lớp có tên là NumberOperations

public class NumbersOperations {
   int a;
   int b;
   public static int add(int a,int b){
       return a+b;
   }
   public static int sub (int a, int b){
       return a-b;
   }
   public static double div (double a, int b){
       return a/b;
   }
}
Ở đây chúng ta có một lớp với các phương thức dạng cây để thao tác với 2 số. Bạn có thể thử viết phương thức thứ 4 int mul (int a, int b) để nhân 2 số trong chương trình này. Chúng ta cũng hãy tạo một lớp để minh họa hoạt động của NumberOprations :

public class NumberOperationsDemo {
   public static void main(String[] args) {
       int c = NumbersOperations.add(4,5);
       System.out.println(c);
       double d = NumbersOperations.div(1,2);
       System.out.println(d);
   }
}
Nếu bạn chạy NumberOperationsDemo , bạn sẽ nhận được kết quả tiếp theo:
9 0,5

kết luận

Đây chỉ là những điều cơ bản của ngôn ngữ Java và nhiều thứ có thể gây nhầm lẫn. Phải mất rất nhiều lập trình để tìm ra cái gì. Đây là cách duy nhất để bạn học ngôn ngữ này - thông qua thực hành. Bắt đầu viết mã ngay bây giờ, cố gắng hoàn thành nhiệm vụ đầu tiên của khóa học Java thực hành CodeGym . Chúc may mắn trong việc học Java của bạn!
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION