Giới thiệu
hocvietcode.com là website chia sẻ và cập nhật tin tức công nghệ, chia sẻ kiến thức, kỹ năng. Chúng tôi rất cảm ơn và mong muốn nhận được nhiều phản hồi để có thể phục vụ quý bạn đọc tốt hơn !
Liên hệ quảng cáo: trienkhaiweb@gmail.com
Mục lục
Các ngôn ngữ lập trình trước đây, chẳng hạn như C, Pascal đều tuân theo mô hình lập trình hướng cấu trúc. trong mô hình lập trình có cấu trúc, việc phát triển ứng dụng được phân tách thành hệ thống phân cấp của các chương trình con. Dưới đây là ví dụ mô phỏng một ứng dụng được phát triển cho một ngân hàng với một số hoạt động được chia thành các chương trình con.
Chương trình con được gọi là thủ tục, chức năng hoặc mô-đun trong các ngôn ngữ lập trình có cấu trúc khác nhau. Mỗi chương trình con được xác định để thực hiện một nhiệm vụ cụ thể. Do đó, để quản lý các quy trình khác nhau của ngân hàng, ứng dụng phần mềm được chia thành các chương trình con sẽ tương tác với nhau để giải quyết các yêu cầu nghiệp vụ.
Trọng tâm chính của các ngôn ngữ lập trình có cấu trúc là phân tách các ứng dụng thành các thủ tục để giải quyết các vấn đề phức tạp, trong khi đó, dữ liệu ít được coi trọng hơn. Nói cách khác, hiệu quả của
các chương trình được đo lường về thời gian và dung lượng bộ nhớ, thay vì về cách kiểm soát dữ liệu được chia sẻ toàn cục giữa các thủ tục. Do đó, hầu hết các nỗ lực phát triển ngôn ngữ lập trình có cấu trúc được dành để hoàn thành giải pháp hơn là tập trung vào miền vấn đề.
Điều này cũng thường dẫn đến khủng hoảng phần mềm, vì chi phí bảo trì các vấn đề phức tạp trở nên cao và tính khả dụng và đáng tin cậy của phần mềm bị giảm đi.
Sự phức tạp ngày càng tăng của phần mềm đòi hỏi một sự thay đổi trong phong cách lập trình. Một số tính năng được nhắm đến như sau:
Các tính vấn này dẫn đến sự ra đời và phát triển của mô hình lập trình hướng đối tượng.
Mô hình lập trình hướng đối tượng cho phép phát triển các ứng dụng phần mềm phức tạp cho các vấn đề miền khác nhau với chi phí giảm và khả năng bảo trì cao. Các ứng dụng phần mềm được phát triển bằng cách sử dụng mô hình lập trình hướng đối tượng được thiết kế xung quanh dữ liệu, thay vì chỉ tập trung vào các chức năng.
Mô hình lập trình hướng đối tượng về cơ bản chia quá trình phát triển ứng dụng thành ba hoạt động riêng biệt. Đây là như sau:
Phân tích hướng đối tượng (Object-oriented Analysis – OA) — Quá trình này xác định chức năng của hệ thống. Nói cách khác, nó quyết định mục đích phát triển ứng dụng.
Thiết kế hướng đối tượng (Object-oriented Design – OOD) — Đây là quá trình lập kế hoạch cho một hệ thống trong đó các đối tượng tương tác với nhau để giải quyết vấn đề phần mềm.
Lập trình hướng đối tượng (Object-oriented Programming – OOP) – Đây là quy trình liên quan đến việc triển khai ứng dụng thực tế.
Các giai đoạn OOA và OOD giải quyết việc phân tích và thiết kế ứng dụng phần mềm. Các hoạt động này được thực hiện thủ công bằng cách sử dụng ngôn ngữ mô hình hóa, Ngôn ngữ mô hình hóa thống nhất (Unified Modeling Language UML). UML chứa các ký hiệu đồ họa giúp tạo các mô hình trực quan trong hệ thống. Việc triển khai thực tế các mô hình trực quan này được thực hiện bằng ngôn ngữ OOP (Object Oriented Programming).
Một ngôn ngữ OOP dựa trên một số nguyên tắc nhất định như sau:
Các khối xây dựng chính của ngôn ngữ OOP là các class và object. Chúng cho phép chúng ta xem xét vấn đề từ quan điểm của người dùng và lập mô hình giải pháp xung quanh họ. Do đó, sự hiểu biết rõ ràng về các lớp và đối tượng là rất quan trọng để phát triển ứng dụng bằng ngôn ngữ OOP.
Một đối tượng đại diện cho một thực thể trong thế giới thực. Bất kỳ thực thể hữu hình hoặc có thể chạm vào nào trong thế giới thực đều có thể được mô tả như một đối tượng.
Các thực thể trong thế giới thực, chẳng hạn như ô tô, hoa, xe đạp hoặc người được coi là đối tượng. Mỗi đối tượng có một số đặc điểm và có khả năng thực hiện các hành động nhất định. Các đặc điểm được định nghĩa là các thuộc tính, thuộc tính hoặc tính năng mô tả đối tượng, trong khi các hành động được định nghĩa là các hoạt động hoặc thao tác được thực hiện bởi đối tượng.
Ví dụ, các thuộc tính của đối tượng chó như sau:
Một đối tượng cũng thực thi các hành động. Do đó, các hành động mà chó có thể thực hiện như sau:
Khái niệm về các đối tượng trong thế giới thực có thể được mở rộng sang thế giới lập trình, nơi các ‘đối tượng’ của phần mềm có thể được xác định. Tương tự như đối tác trong thế giới thực của nó, một đối tượng phần mềm có trạng thái và hành vi.
‘Trạng thái – state’ của đối tượng phần mềm đề cập đến các đặc điểm hoặc thuộc tính của nó, trong khi ‘hành vi – behavior’ của đối tượng phần mềm bao gồm các hành động của nó.
Trong tình huống này, trạng thái (state) của chú cho có thể hình dung như sau:
Ưu điểm của việc sử dụng các đối tượng:
Trong thế giới thực, một số đối tượng có trạng thái và hành vi chung. Ví dụ: tất cả các đối tượng ô tô đều có các thuộc tính, chẳng hạn như màu sắc, kiểu dáng hoặc kiểu dáng. Các đối tượng này có thể được nhóm lại dưới một lớp duy nhất. Do đó, có thể định nghĩa rằng một lớp là một khuôn mẫu hoặc bản thiết kế xác định trạng thái và hành vi cho tất cả các đối tượng thuộc về lớp đó.
Hình dưới cho thấy một chiếc ô tô (bất kỳ chiếc ô tô nào nói chung) là một lớp (class) và một chiếc ô tô Toyota (một chiếc ô tô cụ thể) là một đối tượng hoặc thực thể được tạo cho lớp đó.
Thông thường, trong ngôn ngữ OOP, một lớp bao gồm các trường và phương thức, được gọi chung là các thành viên. Các trường(fields) được gọi là biến hoặc thuộc tính (variable/property) và mô tả trạng thái của các đối tượng. Các phương thức (method) được gọi là các hàm và mô tả hành vi của các đối tượng.
Hình dưới cho thấy thiết kế của một lớp với các trường và phương thức trong ngôn ngữ OOP.
Bảng dưới mô tả sự khác biệt giữa class và object:
Class | Object |
Lớp là một mô hình khái niệm | Đối tượng là thực thể có thật |
Lớp mô tả một thực thể | Đối tượng là thực thể thực tế |
Lớp bao gồm các trường (dữ liệu thành viên) và các hàm (phương thức) | Đối tượng là một thể hiện của một lớp |
Java là một ngôn ngữ lập trình và một nền tảng. Java là ngôn ngữ lập trình cấp cao, mạnh mẽ, hướng đối tượng và an toàn. Nó cũng là một trong những ngôn ngữ OOP phổ biến nhất. Nó giúp người lập trình
phát triển nhiều loại ứng dụng có thể chạy trên nhiều phần cứng và Hệ điều hành (OS) khác nhau. Java cũng là một nền tảng tạo môi trường để thực thi ứng dụng Java.
Ban đầu Java được phát triển để phục vụ cho các vấn đề quy mô nhỏ, nhưng sau đó được phát hiện có khả năng giải quyết các vấn đề quy mô lớn trên Internet. Chẳng mấy chốc, nó đã trở nên phổ biến và được hàng triệu lập trình viên trên khắp thế giới áp dụng. Ngày nay, các ứng dụng Java được xây dựng cho nhiều nền tảng khác nhau, từ thiết bị nhúng đến ứng dụng máy tính để bàn, ứng dụng Web đến điện thoại di động và từ ứng dụng doanh nghiệp lớn đến siêu máy tính.
Vì James Gosling là thành viên chính của nhóm phát triển ngôn ngữ này nên ông được biết đến như là cha đẻ của Java.
Nền tảng Java là sự kết hợp giữa phần cứng và phần mềm tạo ra môi trường để thực thi ứng dụng. Nền tảng Java cung cấp một môi trường để phát triển các ứng dụng có thể được thực thi trên nhiều phần cứng và hệ điều hành khác nhau.
Các thành phần khác nhau của nền tảng Java như sau:
Máy ảo Java (JVM – Java Virtual Machine) – Các ngôn ngữ lập trình, chẳng hạn như C và C++, dịch mã đã biên dịch thành mã nhị phân có thể thực thi, mã này phụ thuộc vào máy. Nói cách khác, cade thực thi kết quả là dành cho một bộ vi xử lý cụ thể thực thi nó. Trong Java, mã được biên dịch không được dịch thành mã thực thi.
Thay vào đó, nó được biên dịch và chuyển đổi thành bytecode dạng trung gian gần với biểu diễn máy hơn. bytecode Java là một tập hợp các hướng dẫn được tối ưu hóa được thực thi bởi môi trường thời gian chạy Java. Môi trường này được gọi là JVM.
JVM là một công cụ thực thi tạo ra một môi trường thực thi độc lập với nền tảng để thực thi mã được biên dịch Java. Có nhiều triển khai JVM khác nhau có sẵn cho các nền tảng khác nhau, chẳng hạn như Windows, Unix và Solaris. Do đó, việc thực thi cùng một bytecode bởi các triển khai VM khác nhau trên các nền tảng khác nhau dẫn đến tính di động của mã và tính độc lập của nền tảng.
Java Runtime Environment (JRE) – Môi trường chạy thực thi Java còn được viết là Java RTE. JRE là một bộ công cụ phần mềm được sử dụng để phát triển các ứng dụng Java. Nó được sử dụng để cung cấp môi trường thời gian chạy. Đó là việc triển khai JVM. Nó tồn tại về mặt vật lý. Nó chứa một tập hợp các thư viện + các tệp khác mà JVM sử dụng khi chạy. Việc triển khai JVM cũng được các công ty khác tích cực phát hành ngoài Sun Micro Systems.
Java Development Kit (JDK – Bộ công cụ phát triển Java) JDK là bộ công cụ phát triển phần mềm nhị phân do Tập đoàn Oracle phát hành như một phần của nền tảng Java. Nó là một triển khai của Java và được phân phối cho nhiều nền tảng khác nhau, chẳng hạn như Windows, Linux, Mac OS X, v.v. Nó chứa một bộ công cụ toàn diện, chẳng hạn như trình biên dịch và trình gỡ lỗi được sử dụng để phát triển các ứng dụng Java.
JDK chứa một JVM riêng và một số tài nguyên khác như trình thông dịch, trình biên dịch -compiler (javac), trình lưu trữ archiver (jar), trình tạo tài liệu documentation generator (Javadoc}, v.v.).
Sự khác biệt giữa JRE và Java SE
JRE | Java SE | |
Ai yêu cầu nó ? | Người dùng máy tính chạy các ứng dụng được viết bằng Java | Nhà phát triển viết ứng dụng sử dụng công nghệ Java |
Nó là gì ? | Một môi trường cần thiết để chạy các ứng dụng được viết bằng ngôn ngữ lập trình Java | Bộ công cụ phát triển phần mềm dùng để viết các ứng dụng sử dụng ngôn ngữ lập trình Java |
Làm thế nào để bạn có được nó? | Được phân phối miễn phí và có sẵn tại: java.com | Được phân phối miễn phí và có sẵn tại: oracle.com/javase |
Sự khác biệt giữa JRE và JDK
JRE | JDK |
Việc triển khai JVM thực sự chạy các chương trình Java. | Một gói phần mềm mà bạn có thể sử dụng để phát triển các ứng dụng dựa trên Java. |
JRE là một plug-in cần thiết để chạy các chương trình Java. | Cần phải có Java Development Kit để phát triển các ứng dụng Java. |
JRE nhỏ hơn JDK nên cần ít dung lượng đĩa cứng hơn. | JDK yêu cầu nhiều dung lượng đĩa hơn vì nó chứa JRE cùng với các công cụ phát triển khác nhau. |
JRE có thể được tải xuống/hỗ trợ miễn phí từ: java.com | JDK có thể được tải xuống/hỗ trợ miễn phí từ oracle.com/technetwork/java/javase/downloads/ |
Nó bao gồm các thư viện JVM, Core và các thành phần bổ sung khác để chạy các ứng dụng được viết bằng Java, | Nó bao gồm JRE, tập hợp các lớp API, trình biên dịch Java, Webstart và các tệp bổ sung cần thiết để viết các ứng dụng Java. |
OpenJDK đề cập đến việc triển khai Java mã nguồn mở và miễn phí. Bản phát hành đầu tiên của OpenJDK là vào năm 2007. OracleJDK đã có hiệu năng tốt hơn OpenJDK. Tuy nhiên, hiệu suất của OpenJDK
đang tốt dần lên. Đóng góp của cộng đồng OpenJDK thường vượt trội so với OracleJDK. Cả OpenJDK và OracleJDK hiện chỉ được tạo và duy trì bởi Oracle.
Tính năng chia sẻ dữ liệu lớp (Class Data Sharing – CDS) giúp giảm thời gian khởi động và dung lượng bộ nhớ giữa nhiều JVM
Khi bạn sử dụng trình cài đặt để cài đặt Oracle JRE, trình cài đặt sẽ tải một tập hợp các lớp mặc định từ tệp Lưu trữ Java (JAR) của hệ thống vào một biểu diễn nội bộ riêng tư. Sau đó, nó kết xuất biểu diễn đó vào một tệp được gọi là kho lưu trữ được chia sẻ. Nếu trình cài đặt JRE không được sử dụng thì bạn có thể tạo kho lưu trữ được chia sẻ (shared archive) theo cách thủ công.
Khi JVM khởi động, kho lưu trữ dùng chung được ánh xạ bộ nhớ để cho phép chia sẻ siêu dữ liệu JVM chỉ đọc cho các lớp này giữa nhiều quy trình JVM. Vì, việc truy cập kho lưu trữ được chia sẻ nhanh hơn so với việc tải các lớp, thời gian khởi động sẽ giảm.
Bộ nhớ cho các ứng dụng bao gồm hai thành phần là stack (ngăn xếp) và heap (đống). Ngăn xếp là một vùng trong bộ nhớ lưu trữ các tham chiếu đối tượng và thông tin phương thức. Vùng heap của bộ nhớ xử lý cấp phát bộ nhớ động. Bộ nhớ heap phát triển khi và khi phân bổ vật lý được thực hiện cho các đối tượng. Do đó, JVM cung cấp một thói quen thu gom rác giúp giải phóng bộ nhớ bằng cách hủy các đối tượng ‘không còn cần thiết trong chương trình Java.Java cung cấp một số loại trình thu gom rác khác nhau, chẳng hạn như: G1, serial, parallel, and parallelOldGC garbage collectors.
Chia sẻ dữ liệu lớp được hỗ trợ với trình thu gom rác G1, nối tiếp, song song và song songOldGC. Tính năng chuỗi chia sẻ (một phần của chia sẻ dữ liệu lớp) chỉ hỗ trợ trình thu gom rác G1 trên nền tảng 64-bit non-Windows.
Động lực chính để đưa CDS vào Java SE là giảm thời gian khởi động. Ứng dụng càng nhỏ so với số lớp lõi mà nó sử dụng thì phần thời gian khởi động tiết kiệm được càng lớn.
Chi phí dấu chân (footprint) của các phiên bản JVM mới đã được giảm theo hai cách:
Một phần của kho lưu trữ được chia sẻ trên cùng một máy chủ được ánh xạ dưới dạng chỉ đọc và được chia sẻ giữa nhiều quy trình JVM. Nếu không, dữ liệu này sẽ cần được sao chép trong từng phiên bản JVM, điều này sẽ làm tăng thời gian khởi động ứng dụng của bạn.
Kho lưu trữ được chia sẻ chứa dữ liệu lớp ở dạng mà máy ảo Java Hotspot sử dụng. Nếu không, bộ nhớ sẽ được yêu cầu để truy cập thông tin lớp gốc trong hình ảnh mô-đun thời gian chạy, không được sử dụng. Những khoản tiết kiệm bộ nhớ này cho phép nhiều ứng dụng chạy đồng thời trên cùng một hệ thống. Trong các ứng dụng Windows, dung lượng bộ nhớ của một quy trình, được đo bằng các công cụ khác nhau, có thể tăng lên vì nhiều trang hơn được ánh xạ tới không gian địa chỉ của quy trình. Sự gia tăng này được bù đắp bằng lượng bộ nhớ giảm (bên trong Windows) được yêu cầu để giữ các phần trên hình ảnh mô-đun thời gian chạy. Giảm dấu chân (footprint) vẫn là một ưu tiên cao.
Để tiếp tục giảm thời gian khởi động và dấu chân, Chia sẻ dữ liệu lớp ứng dụng (ApsCDS) được giới thiệu để mở rộng CDS để bao gồm các lớp được chọn từ đường dẫn lớp ứng dụng.
Tính năng này cho phép các lớp ứng dụng được đặt trong một bộ nhớ dùng chung. Siêu dữ liệu lớp phổ biến được chia sẻ trên các quy trình Java khác nhau. AppCDS cho phép trình tải lớp hệ thống tích hợp sẵn, trình tải lớp nền tảng tích hợp và trình tải lớp tùy chỉnh tải các lớp đã lưu trữ. Khi nhiều JVM chia sẻ cùng một tệp lưu trữ, bộ nhớ sẽ được lưu và thời gian phản hồi tổng thể của hệ thống được cải thiện.
Để tải xuống JDK, hãy theo liên kết:
https://www.oracle.com/java/technologies/downloads/
Bấm tải về và tiến hành các bước cài đặt.
Thật hữu ích khi đặt biến PATH vĩnh viễn cho JDK 20 để hiện hoạt toàn cục sau khi khởi động lại.
Nếu bạn không đặt biến PATH, chúng phải chỉ định đường dẫn đầy đủ đến tệp thực thi mỗi khi bạn chạy nó.
Ví dụ:
C:\> "C:\Program Files\Java\jdk-20\bin\javac" MyClass.java
Để đặt biến PATH toàn cục, hãy thêm đường dẫn đầy đủ của thư mục jdk-20\bin vào biến PATH.
Experimental JIT Compiler – Trình biên dịch JIT thực nghiệm
Trình biên dịch JIT thực nghiệm là một phần của Project Graal.
Dự án Graal được Oracle tạo ra với mục tiêu cuối cùng là cải thiện hiệu suất của ngôn ngữ dựa trên JVM để phù hợp với mức hiệu suất mà ngôn ngữ native yêu thích. Một phần của dự án này liên quan đến việc triển khai trình biên dịch và trình thông dịch Java động hiệu suất cao còn được gọi là trình biên dịch Just-in-Time (JIT) (biên dịch đúng lúc).
Biên dịch JIT là một dạng biên dịch động kết hợp việc sử dụng biên dịch và diễn giải Ahead-Of-Time (ACT) và do đó, có những ưu điểm và nhược điểm của cả hai công nghệ.
Trình biên dịch AOT đã được thêm vào OpenJDK như một phần của bản phát hành Java 9. Mục tiêu chính là cải thiện thời gian khởi động của các ứng dụng Java với tác động tối thiểu đến hiệu suất cao nhất của ứng dụng. Mặc dù nó không nhanh bằng một trình biên dịch JIT đã khởi động, nhưng AOT tránh phải chịu các ảnh hưởng về hiệu suất do phải lặp lại các yêu cầu được diễn giải.
Đó là một quá trình diễn giải mã và thực hiện các hành động được chỉ định. Có nhiều cách khác nhau mà trình thông dịch có thể hoạt động: nó có thể phân tích cú pháp mã và thực thi trực tiếp, biến mã thành một biểu diễn trung gian và thực thi mã đó hoặc nó có thể thực thi mã đã được biên dịch sẵn. Mỗi phương pháp khác nhau này đều có những ưu điểm và nhược điểm riêng.
Quá trình biên dịch JIT kết hợp tốc độ khởi động của mã được biên dịch AOT với tính linh hoạt của việc diễn giải để tạo ra giải pháp nhanh hơn. Sự khác biệt chính giữa JIT và AOT là thay vì diễn giải mã byte mỗi khi một phương thức được gọi, trình biên dịch JIT sẽ biên dịch mã byte thành hướng dẫn mã máy của máy đang chạy, sau đó, gọi mã đối tượng này để thay thế. Một điểm khác biệt nữa là AOT cũng biến mã byte của máy ảo thành mã máy gốc để mã đã thông dịch có thể được thực thi.
Tính năng này không khả dụng cho tất cả OS vì hiện tại nó chỉ hoạt động trên OS Linux/x64.
Khá dễ dàng để kích hoạt trình biên dịch JIT thử nghiệm, người dùng chỉ cần đặt các tùy chọn sau khi chạy Java từ dòng lệnh:
-XX:+UnlockExperimentalVMoptions -XX:+UsegVMCICompiler
Bản thân trình biên dịch JIT đang trong giai đoạn thử nghiệm. Cần lưu ý rằng tại thời điểm này, tùy chọn này không được tạo để đáp ứng hiệu suất của các trình biên dịch JIT hiện có. Thay vào đó, nó tồn tại để điều tra tính khả thi của JIT dựa trên Java cho JDK.
Ngôn ngữ lập trình Java được thiết kế xung quanh các tính năng hướng đối tượng và bắt đầu bằng thiết kế lớp (class). class đại diện cho một mẫu cho các đối tượng được tạo hoặc khởi tạo bởi JRE. Do đó, sự phát triển của một chương trình Java bắt đầu bằng một định nghĩa class. Định nghĩa của class được viết trong một tệp (file) và được lưu với đuôi mở rộng .java.
Hình dưới mô tả cấu trúc một file của Java:
package <package_name>;
import <other_packages>;
public class ClassName {
<variables(also known as fields)>;
<constructor method(s)>;
<other methods>;
}
Trong đó:
package (gói): Một package định nghĩa một namespace(tên không gian) lưu trữ các lớp(class) có chức năng tương tự trong đó. Từ khóa package xác định tên của package mà lớp đó thuộc về. Nó cũng xác định khả năng hiển thị của class trong package và bên ngoài package.
Ví dụ: tất cả các class user interface được nhóm trong gói java.awt hoặc java.swing. Tương tự như vậy, tất cả các class liên quan đến các chức năng input/output được tìm thấy trong các gói Java.io hoặc java.nio.
import (nhập): Quá trình nhập. từ khóa xác định các lớp và gói được sử dụng trong một lớp Java. Chúng giúp thu hẹp tìm kiếm được thực hiện bởi trình biên dịch Java bằng cách thông báo cho nó về các lớp và gói được sử dụng trong lớp. Trong Java, bắt buộc phải nhập các lớp được yêu cầu, trước khi chúng được sử dụng trong chương trình Java.
Có một số trường hợp ngoại lệ trong đó việc sử dụng câu lệnh import là không bắt buộc như sau:
Câu lệnh import không bắt buộc đối với các lớp có trong gói java.lang. Điều này là do gói java.lang là gói mặc định có trong toàn bộ chương trình Java.
Bạn không cần nhập các class nếu chúng nằm trong cùng một package. Ví dụ: nếu gói hiện tại là com.java.company, bất kỳ lớp nào có trong gói này đều có thể truy cập các lớp khác mà không cần sử dụng câu lệnh import.
Các lớp được khai báo và sử dụng cùng với tên package của chúng thì không cần câu lệnh import. Ví dụ:
java.text.NumberFormat nf = new java.text.NumberFormat()
class – Từ khóa class xác định một lớp Java. Nó đứng trước tên của lớp trong khai báo. Ngoài ra, từ khóa public chỉ ra bổ từ truy cập (access modifier) quyết định khả năng hiển thị của lớp, Bổ từ public có nghĩa là lớp hiển thị bên ngoài gói. Tên lớp và tên file phải so khớp.
Bên cạnh đó, có một số khái niệm quan trọng trong một chương trình Java.
Methods (phương thức) : Phương thức là các hàm đại diện cho một số hành động sẽ được thực hiện trên một đối tượng. Mã được viết trong các phương thức. Chúng còn được gọi là các instance method.
Constructors (trình tạo/hàm khởi tạo): hàm khởi tạo cũng là các phương thức hoặc hàm được gọi trong quá trình tạo đối tượng. Về cơ bản chúng được sử dụng để khởi tạo các đối tượng.
Các yêu cầu cơ bản để viết một chương trình Java như sau:
JDK 15 được cài đặt và cấu hình trên hệ thống
Trình soạn thảo văn bản
Trình soạn thảo văn bản có thể là bất kỳ trình soạn thảo đơn giản nào có trong nền tảng. Ví dụ, nền tảng Windows cung cấp một trình soạn thảo văn bản đơn giản có tên là Notepad.
Để tạo, biên dịch và thực thi một chương trình Java, hãy thực hiện các bước sau:
Các bước bắt đầu dự án java trên eclipse:
Bớớc 1: tạo dự án
Bước 2: tạo package
Bước 3: tạo file java tương ứng, trong file là tên class so khơ với file:
Bước 4: viết đoạn mã dưới
package com.helloworld;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello world");
}
}
Output:
Comment được đặt trong tệp nguồn chương trình Java. Chúng được sử dụng để ghi chú, bình luận chương trình Java và không được biên dịch bởi trình biên dịch. Chúng được thêm vào dưới dạng nhận xét để làm cho chương trình dễ đọc hơn đối với người dùng. Bình luận thường mô tả các hoạt động để hiểu rõ hơn về mã.
Có ba kiểu comment được Java hỗ trợ là một dòng (single line comment), nhiều dòng (multiple line comments) và Javadoc.
Có hai cách sử dụng comment một dòng như sau:
Comment đầu dòng
Loại comment này có thể được đặt trước mã (trên một dòng khác).
Comment cuối dòng
Cú pháp:
// comment text
Ví dụ:
// declare variable
int a = 32;
int b; // declare variable
Comment nhiều dòng
Bình luận nhiều dòng là bình luận trải rộng trên nhiều dòng. Chú thích nhiều dòng bắt đầu bằng dấu gạch chéo lên và dấu hoa thị (/). Nó kết thúc bằng dấu hoa thị và dấu gạch chéo (/). Bất kỳ điều gì xuất hiện giữa các dấu phân cách này đều được coi là comment.
Cú pháp:
/*
* this is multiline comment
*/
/*
* this is comment
* this is multiline comment
*/
Javadoc Comments
Một Javadoc comment được sử dụng để ghi lại các lớp, thuộc tính và phương thức public hoặc được bảo vệ. Nó bắt đầu bằng /** và kết thúc bằng */. Mọi thứ nằm giữa các dấu phân cách đều là nhận xét, ngay cả khi nhận xét đó trải dài trên nhiều dòng. Lệnh javadoc có thể được sử dụng để tạo chú thích Javadoc.
/*
* The programprints the welcome message using the println() method.
*/
package hellomessageapp;
/**
*
* @author toanngo92
*/
public class HelloMessageApp{
/**
*
* @param for comment line argument
*/
public static void main(String[] args){
// the println
System.out.println("Hello World");
}
}
Bài tập 1:
Bài tập 2:
Bài tập 3:
Bài tập 4:
Bài tập 5:
Bài tập 6 (nâng cao):
hocvietcode.com là website chia sẻ và cập nhật tin tức công nghệ, chia sẻ kiến thức, kỹ năng. Chúng tôi rất cảm ơn và mong muốn nhận được nhiều phản hồi để có thể phục vụ quý bạn đọc tốt hơn !
Liên hệ quảng cáo: trienkhaiweb@gmail.com