Giải mã ngôn ngữ lập trình Java

Java là một ngôn ngữ lập trình cấp cơ sở nhưng nó được thiết kế sao cho có thể dùng như một hệ điều hành máy tính đa năng .

Một phương pháp tốt để học một ngôn ngữ lập trình mới là so sánh nó với những ngôn ngữ lập trình đã học để rút ra những ưu – nhược điểm của từng ngôn ngữ. Như vậy, người học lập trình không những có bài học trên ngôn ngữ mới mà còn có những kinh nghiệm mới khi xem xét lại những vấn đề của các ngôn ngữ mà mình đã học.

Để học Java một cách hiệu quả, nên đọc trước C++ để hiểu thế nào là lập trình hướng đối tượng trước. Rồi sau đó dùng kiến thức đó làm cơ sở để nâng cao hiểu biết và kỹ năng lập trình bằng ngôn ngữ Java, một công cụ không thể thiếu được trong việc phát triển các ứng dụng trên mạng. Điều này cũng dễ hiểu bởi Java được xây dựng trên nền tảng C/C++.

Java là ngôn ngữ lập trình do hãng Sun Microsystem giới thiệu vào năm 1995, Java là một ngôn ngữ lập trình cấp cơ sở nhưng nó được thiết kế sao cho có thể dùng như một hệ điều hành máy tính đa năng – hay nói cách khác nó rất có triển vọng trở thành một lựa chọn khác thay cho Windows. Chính vì Java có thể chạy trên nhiều hệ thống máy tính khác nhau mà người ta dự định rằng nó sẽ giúp khắc phục những lỗi tương thích vớ vẩn xảy ra trong ngành công nghiệp phần mềm.

Thật vậy, khi mang Java ra chào hàng, hãng Sun đã giới thiệu như sau: “Chỉ viết một lần, chạy được khắp nơi”. Thêm vào đó Java còn giúp người lập trình không phải lo lắng nhiều về vấn đề bảo mật cho máy tính của mình. Vì Java có thể chạy gần như trên mọi hệ thống nên không nhất thiết cần đến khái niệm liên kết mở rộng, vốn là điểm yếu của toàn mạng.

Hãng Sun đang nỗ lực để Java được công nhận là một tiêu chuẩn quốc tế, một động thái được các nhà phân tích cho rằng sẽ là một đe doạ đối với sự thống trị của hệ điều hành Windows trong một vài lĩnh vực quan trọng, bao gồm cả việc lấy thông tin trên Internet. Hơn thế nữa, một trình ứng dụng như Word của Microsort chẳng hạn có thể chạy trên Java thay vì Windows. Vì thế khi viết trình duyệt Internet Exporer 4.0 kèm trong Windows.

Microsoft đã thay đổi ngôn ngữ Java để làm giảm tính đa năng của nó bằng cách bỏ đi hai chuẩn mực quan trọng nhất mà Sun đã viết. Điều đó giải thích tại sao các ứng dụng Applet của Java khi nhúng vào trang Web có thể chạy ngay trong các trình duyệt như Internet Exporer hay Netscape.

Java là ngôn ngữ vừa thông dịch vừa biên dịch. Đầu tiên Java sử dụng công cụ Javac để biên dịch mã nguồn chương trình để chuyển thành mã Byte độc lập với phần cứng. Sau đó, từ mã Byte thu được nó dùng trình thông dịch là máy ảo Java để thực hiện trên từng loại máy cụ thể. Nguyên nhân Java xây dựng hai trình thông dịch và biên dịch riêng rẽ là bởi việc thiết kế lại một trình biên dịch để chạy trên một máy tốn kém hơn rất nhiều so với việc thiết kế một trình thông dịch để chạy trên máy tính đó.

Mục tiêu của Java là cho phép người lập trình viết chương trình một lần nhưng có thể chạy trên bất cứ phần cứng cụ thể nào. Chính nguyên nhân này giúp Java trở thành một ngôn ngữ được sử dụng rộng rãi để viết chương trình chạy trên Internet. Nó là ngôn ngữ lập trình hướng đối tượng độc lập thiết bị, không phụ thuộc vào hệ điều hành. Nó không chỉ dùng để viết cho các ứng dụng chạy đơn lẻ hay trong mạng mà còn để xây dựng các trình điều khiển thiết bị cho điện thoại di động, PDA, ...

Có rất nhiều chương trình hỗ trợ viết mã nguồn Java nhưng điển hình là Eclipse. Eclipse là phần mềm thông minh, nó đưa ra những cảnh báo và lỗi giúp cho người lập trình có thể nhận biết được các lỗi trong quá trình sử dụng và đồng thời nêu ra những cách khắc phục những lỗi đó.

Cảnh báo nhắc nhở cho người lập trình sẽ xuất hiện gạch chân lượn sóng màu vàng.

Điển hình là những cảnh báo nhắc nhở cho người lập trình là:

- Phương thức khai báo một biến trong thân của nó nhưng lại không sử dụng (không tác động vào biến) gây lãng phí bộ nhớ, thậm chí kể cả ta khởi tạo giá trị ban đầu cho biến được khai báo trong thân phương thức đó nhưng không tác động vào biến thì cũng xuất hiện cảnh báo từ phía chương trình.

- Hoặc cảnh báo khi sử dụng thuộc tính tĩnh hay phương thức tĩnh như là một thành phần riêng của một đối tượng cụ thể. Cách khắc phục: sử dụng chúng như một thành phần chung của lớp.

Giả sử có một lớp với tên là HoaDon, trong lớp có thuộc tính tĩnh là TongSoHoaDon và một đối tượng của lớp HoaDon là d. Khi đó khởi tạo d.TongSoHoaDon = 0 chẳng hạn chương trình sẽ cảnh báo. Khắc phục cảnh báo này bằng cách sử dụng chúng như một thành phần chung của lớp. Tức là gán: TongSoHoaDon = 0 nếu câu lệnh này nằm trong phương thức nào đó thuộc lớp HoaDon hoặc HoaDon.TongSoHoaDon = 0.

- Hoặc thuộc tính và phương thức của lớp được khai báo là private nhưng không có phương thức nào của lớp này tác động vào thuộc tính và phương thức đó làm cho người lập trình sau không thể gián tiếp xem giá trị của thuộc tính và phương thức này.

Điều đó chứng tỏ Eclipse rất coi trọng mặt ngữ nghĩa. Tất nhiên, dù sao cũng chỉ là những cảnh báo, chương trình vẫn hoạt động bình thường, tuy nhiên nên khắc phục những cảnh báo này.

Nếu lỗi xảy ra thì sẽ xuất hiện gạch chân lượn sóng màu đỏ, điển hình là những lỗi sau:

- Phương thức không khởi tạo giá trị ban đầu cho biến được khai báo trong thân phương thức đó, thông báo lỗi sẽ xuất hiện ở vị trí biến đó bị tác động.

- Phương thức cần trả lại giá trị nhưng lại không trả lại giá trị. Ví dụ sai sau đây minh hoạ điều đó:

public boolean KiemTra(int n)

{

   System.out.println(n);

   // return true;

}

Hoặc ví dụ sau đây cũng sai:

public boolean KiemTra(int n)

{

   if (n == 0) return true;

   // else return false;

}

- Lỗi khi gán lớp con bằng lớp cơ sở. Khi ta ép kiểu thì lỗi đó có thể vượt mặt được Eclipse nhưng sẽ có thông báo lỗi trong quá trình dịch.

Khả năng cảnh báo và phát hiện lỗi nghiêm ngặt giúp Eclipse tránh được những dữ liệu, cách thức sử dụng có khả năng phát sinh lỗi, tăng khả năng gỡ rối chương trình. Tuy nhiên, chính khả năng này làm người mới học cảm thấy khá khó khăn khi tiếp cận với Java.

Còn đối với thuộc tính của lớp có thể “không cần sử dụng”  bởi thực chất nó không phải là biến mà là thành phần cấu tạo nên lớp, chính vì vậy không thể coi việc chưa sử dụng một thuộc tính trong lớp là lãng phí được, bởi nó có thể được sử dụng ở lớp khác. Đồng thời có thể có hoặc không phần khởi tạo giá trị ban đầu cho các thuộc tính này. Nếu không có phần khởi tạo, chương trình sẽ tự động gán giá trị mặc định là 0 hoặc null cho các thuộc tính này.

Java được coi là ngôn ngữ lập trình số 1 hiện nay. Nó thường được nhắc đến như một ngôn ngữ lập trình bậc cao, giúp lập trình viên tạo ra những chương trình phần mềm hữu ích: phần mềm của các ngân hàng, ngành tài chính, quản lý, các hệ thống của nhà mạng di động, phần mềm quản lý, kế toán…

Theo con số thống kê từ hãng Oracle hiện nay có tới 3 tỉ thiết bị đang sử dụng ngôn ngữ java: thiết bị điều khiển ô tô, điều hòa, máy giặt…7 tỉ card sim điện thoại, thẻ ATM, 97 % Enterprise Deskop chạy bằng ngôn ngữ Java.

Nhằm giúp các bạn nắm vững kiến thức nền tảng ngôn ngữ Java, đồng thời hoạch định lộ trình học tập phù hợp để trở thành một Java developer chuyên nghiệp. Stanford – dạy kinh nghiệm lập trình sẽ chính thức khai giảng khóa học lập trình Java for base vào ngày 14/07/2015 cùng với chuyên gia là người đã có nhiều năm tham gia giảng dạy và nhiều kinh nghiệm thực tế.

Tham gia khóa học Java bạn sẽ sử dụng thành thạo các công cụ lập trình như: Netbean, Jdeveloper, Eclipse, Visual SVN… Đồng thời làm chủ các công nghệ như: Servlet, JSP, JDBC, JSF, Spring, Hibernate, SOA, XML, Web services.Phát triển các ứng dụng Winform (J2SE), Webform(J2EE) và MobileApp(J2ME)…

Trong dịp hè 2015 này, Stanford – dạy kinh nghiệm thực tế triển khai chương trình ưu đãi “Học kỳ vàng cùng Stanford”. Nhanh tay đăng ký và nhập học sớm để chắc chắn bạn có tên trong danh sách khóa đào tạo lập trình đợt tuyển sinh hè 2015. Chi tiết xem tại stanford.com.vn

Sưu tầm và Tổng hợp

Nhật Lệ ( Stanford - Nâng tầm tri thức )

Tags: stanford - học để làm việc, đào tạo lập trình, công nghệ