JavaRush /Blog Java /Random-VI /Những vấn đề thường gặp nhất của những người mới bắt đầu ...

Những vấn đề thường gặp nhất của những người mới bắt đầu học Java

Xuất bản trong nhóm
Mức độ kiến ​​thức cần thiết để hiểu bài viết: người mới bắt đầu. Bạn đang trong quá trình nghiên cứu nhiệm vụ Cú pháp Java và đang tiến gần hơn đến các cấp độ ban đầu. Những vấn đề thường gặp nhất của người mới bắt đầu học Java - 1Bạn mới bắt đầu học Java. Bạn bị tấn công dồn dập bởi các thuật ngữ như thể đến từ một thứ dồi dào. Bạn có rất nhiều thông tin kỹ thuật và đôi khi bạn bị nhầm lẫn giữa ba cây thông. Tin tôi đi, vì bạn đã tham gia lập trình rồi nên SẼ LUÔN LÀ NHƯ VẬY (lúc này, ngoài màn hình vang lên một tiếng cười đáng ngại, và một giọng nói trầm lặng cắt ngang giữa câu thì thầm “Chạy đi... hãy tự cứu mình trước khi đã quá muộn rồi…”). Lỗi sẽ ám ảnh bạn trong suốt quãng đời lập trình còn lại, ngay cả khi bạn là nhà phát triển giỏi nhất. Tuy nhiên, điều này hoàn toàn không đáng sợ như người ta tưởng.
Nếu bạn mới bắt đầu học JavaRush thì rất có thể bạn đã gặp phải những vấn đề được nêu trong bài viết. Trong mọi trường hợp, chúng tôi hoan nghênh các nhận xét mô tả các vấn đề bạn gặp phải trong những tháng đầu học Java.

Vấn đề cấp 0: Nhầm lẫn với toán tử so sánh (==) và toán tử gán (=).

Đây là một vấn đề rất phổ biến đối với những người chuyển từ ngôn ngữ lập trình khác. Và nói chung, từ khi học tiểu học, chúng ta đã quen với việc (=)đây là dấu bằng. Một thủ thuật đơn giản có thể được sử dụng để ghi nhớ là: nếu bạn biết rằng bạn chỉ quan tâm đến một trong các giá trị (bạn gán giá trị này cho giá trị kia) thì bạn sử dụng một =dấu " " duy nhất, nếu không thì nếu bạn quan tâm đến tất cả các biến và các giá trị (bạn so sánh chúng) bạn cần có ==dấu " " kép.

Vấn đề: Sử dụng toán tử so sánh (==) để kiểm tra tính tương đương của chuỗi

Phải làm gì: Hãy nhớ rằng không có đối tượng Java nào có thể được kiểm tra tính tương đương bằng cách sử dụng(==) , vì toán tử này được thiết kế để kiểm tra tính bằng nhau của các kiểu nguyên thủy.
Những vấn đề thường gặp nhất của người mới bắt đầu học Java - 2
Đối với các đối tượng bạn cần sử dụng .equals(). Và Stringtrong ngôn ngữ Java, nó không gì khác hơn là một đối tượng (và immutable).
Đối tượng được đánh dấu Immutable là đối tượng có trạng thái không thể thay đổi sau khi được tạo. Trong Java , điều này có nghĩa là tất cả các trường phiên bản của một lớp được đánh dấu là finalvà là trường nguyên thủy (hoặc cũng vậy immutable).

Vấn đề: Nối chuỗi trong vòng lặp

Đừng tự mình thử điều này! Mỗi khi các chuỗi được nối, một đối tượng mới sẽ được tạo String(như chúng ta đã tìm ra ở trên, các chuỗi immutablelà bất biến). Đến một lúc nào đó bạn sẽ hết bộ nhớ hoặc chương trình sẽ bắt đầu mất quá nhiều thời gian để hoàn thành. Giải pháp. Sử dụng StringBuilderthay thế Stringkhi nối nội dung trong một vòng lặp. Lớp này StringBuilderđược sử dụng khi bạn cần thực hiện nhiều thay đổi đối với chuỗi ký tự. Và những dòng như vậy, không giống như String, không phải là immutable.

Vấn đề: Ngoại lệ NullPointer

Loại ngoại lệ này xảy ra khi chúng ta cố gắng sử dụng một con trỏ null nulltrong khi thực tế chúng ta cần một đối tượng thực.
Tất cả các kiểu nguyên thủy đều có giá trị mặc định. Vì vậy, y int0, và y booleanfalse. Giá trị mặc định của bất kỳ loại tham chiếu nào, tức là các đối tượng, là null. Nó không phải là một đối tượng hay một kiểu, nó là một giá trị đặc biệt. Về cơ bản có nghĩa là “không có gì ở đây cả”.
Những vấn đề thường gặp nhất của người mới bắt đầu học Java - 3
Phải làm gì: Nếu mã của bạn được viết theo cách mà tại một thời điểm nào đó đối tượng của bạn có thể chấp nhận giá trị null, bạn cần thêm "kiểm tra null", đặc biệt nếu bạn không tự tạo đối tượng. Cũng nên nhớ rằng tốt hơn là trả về các bộ sưu tập trống hơn là một tập hợp nullcác 's. Sẽ thật tuyệt nếu thêm xác thực cho getters và setters.

Vấn đề: vì lý do nào đó vòng lặp if/while/for không hoạt động

if (something.equals («что-то еще»)); {// <---- корень зла!!!
     System.out.println («Почему я не работаю???»);
}
Có chuyện gì thế này? Thật đơn giản: một dấu chấm phẩy thừa đã làm hỏng máu của hàng trăm nghìn lập trình viên Java mới vào nghề. Chà, bạn không cần nó sau if (). Từ quan điểm ngôn ngữ, cú pháp như vậy khá chấp nhận được nên trình biên dịch sẽ không phàn nàn về nó. Nhưng nó chấm dứt câu lệnh điều kiện và mã bên trong khối {}sẽ không bao giờ thỏa mãn điều kiện trên.
Những vấn đề thường gặp nhất của người mới bắt đầu học Java - 4
Giải pháp: Hãy nhớ logic thiết kế. Dấu “ ;” có nghĩa là sự kết thúc của một khối nào đó, nhưng ở đây mọi thứ chỉ mới bắt đầu.

Sự cố: Cố gắng truy cập các biến thành viên không tĩnh từ các phương thức tĩnh (chẳng hạn như chính)

Giải pháp . Vấn đề này liên quan đến sự hiểu biết về khái niệm này static. Nếu một phương thức được đánh dấu bằng từ này, điều đó có nghĩa là chúng ta không cần khởi tạo lớp đó để gọi phương thức chính. Vì vậy, giải pháp là phải hiểu rõ về “số liệu thống kê” và hiểu bản chất của chúng.

Vấn đề: Cố gắng phát minh lại bánh xe bằng cách phát triển các thư viện và công cụ hiện có

Giải pháp. Nó thực sự không phải là một vấn đề lớn. Đối với người mới bắt đầu, đây là một bài tập hữu ích hơn. Tuy nhiên, nếu bạn muốn tập trung vào kết quả, chẳng hạn như tạo cơ sở dữ liệu thuê bao thuận tiện, thì việc tìm kiếm thuê bao trong danh bạ điện thoại chỉ là một trong những kết quả của ứng dụng của bạn. Trong trường hợp này, không cần phải viết thuật toán tìm kiếm nhị phân. Sử dụng cái hiện có (chúng tôi đảm bảo với bạn, ai đó đã viết nó trước bạn và nó nằm trong thư viện tiêu chuẩn). Vì vậy hãy nghiên cứu các thư viện chuẩn Java trong tài liệu của Oracle. Tìm hiểu Google, làm quen với việc đọc Stack Overflow và đặt câu hỏi về trợ giúp JavaRush ! ...Tất nhiên, đây không phải là tất cả những vấn đề của người mới bắt đầu. Hãy mô tả của bạn trong phần bình luận! Bạn có muốn đọc các bài viết liên quan đến Java không? Tham gia nhóm Nhà phát triển Java . Có rất nhiều thứ thú vị ở đây.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION