CodeGym /Blog Java /Ngẫu nhiên /Tầng 02 cũ
John Squirrels
Mức độ
San Francisco

Tầng 02 cũ

Xuất bản trong nhóm

CodeGym – học lập trình Java

Cấp Cũ 02 - 1Làm thế nào về một cách hoàn toàn mới để nghiên cứu lập trình và có được một nền giáo dục? Điều đó không giống như bất cứ điều gì bạn đã nhìn thấy trước đây. Còn việc học, nơi bạn có mục đích, phương tiện và kết quả? Tôi rất vui được giới thiệu với bạn các khóa học lập trình trực tuyến mới để học Java.

1 Đào tạo là một trò chơi trực tuyến

Bạn nhận một nhiệm vụ, thực hiện nó và nhận phần thưởng. Tôi nghĩ rằng nó là rõ ràng và phổ biến cho bạn. Các nhiệm vụ rất đa dạng: đọc mã, giải quyết các nhiệm vụ, video-bài học, sửa lỗi trong mã, thêm tính năng mới, nhiệm vụ lớn, viết trò chơi, v.v.

2 Chỉ những thứ thiết yếu

Để khóa học không kéo dài 5 năm, tôi đã vứt bỏ tất cả những thứ hữu ích và chỉ để lại những thứ cần thiết nhất từ ​​​​nó. Tôi đã phân tích hàng chục vị trí tuyển dụng trên thị trường lao động. Tất cả các chủ đề mà newbie cần biết để có được công việc Java Junior Developer đều có trong khóa học.

3 Tôi đã tiếp cận quá trình đào tạo của bạn kỹ lưỡng

Một khóa học hoàn chỉnh bao gồm 500 bài giảng nhỏ và 1200 (!) nhiệm vụ thực tế . Nhiệm vụ nhỏ, nhưng chúng rất nhiều. Có rất nhiều trong số họ. Chỉ cần tối thiểu như vậy, làm được điều đó, bạn sẽ có được trải nghiệm quý giá như vậy. Ngoài ra còn có công việc theo cặp, trò chơi khác nhau, nhiệm vụ lớn, dự án thực tế và các loại thực hành khác.

4 Bạn không thể hoàn thành trò chơi và không trở thành nhà phát triển

Khóa học có 40 cấp độ. Bạn chỉ có thể chuyển sang cấp độ tiếp theo nếu bạn đã hoàn thành phần lớn nhiệm vụ ở cấp độ hiện tại. Bắt đầu với ít và dễ dàng, kết thúc với lớn và rất hữu ích. Mỗi người về đích sẽ được 300-500 giờ trải nghiệm thực tế. Và điều này mang lại một cơ hội tuyệt vời để giành chiến thắng. Và để có được một công việc.

5 Chuẩn bị phỏng vấn xin việc định hướng mục tiêu

10 cấp độ cuối dành riêng cho việc viết sơ yếu lý lịch, chuẩn bị cho cuộc phỏng vấn và đạt được các kỹ năng làm việc nhóm. Các video phỏng vấn xin việc và phân tích của họ sẽ được thêm vào. Vâng, chắc chắn, những câu hỏi phỏng vấn điển hình với câu trả lời. Cấp Cũ 02 - 2

6 Bạn có thể giải quyết các nhiệm vụ trực tiếp trên trang web

Nó rất tiện dụng và hiệu quả. Vừa phân tích một nhiệm vụ mới trong bài giảng, bạn phải thực hiện nhiệm vụ của riêng mình bằng phép loại suy ngay tại đây, trên trang web. Đối với những người muốn thực hiện tác vụ trong IDE, có một plugin cho phép bạn nhận một tác vụ trong hai lần nhấp và giao nó để kiểm tra trong một lần . Bài giảng, phân tích ví dụ, giải bài trực tiếp trên website, giải bài trên IDE - khoảng cách giữa lý thuyết và thực hành gần như chưa từng có.

7 Kiểm tra tác vụ tức thì (trong vòng chưa đầy giây)

Bạn có quen với tình huống khi bạn giao một nhiệm vụ/công việc để kiểm tra và phải chờ kết quả cả tuần vì người kiểm tra bận không? Đây chỉ là trường hợp với hầu hết các khóa học ngoại tuyến. Trong CodeGym, bạn sẽ nhận được kết quả biên dịch và kiểm tra giải pháp nhiệm vụ của mình trong chưa đầy một giây, sau khi nhấn nút «Thực thi/Kiểm tra».

8 CodeGym thích nó, khi bạn dành thời gian trên Facebook trong quá trình học

Trên Facebook có một trang dành riêng cho dự án. Trong đó, bạn có thể tìm thấy các bài viết thú vị về kỹ thuật, các câu chuyện tạo động lực, tin tức về CodeGym và nhiều thông tin hữu ích khác.

9 Bảo hiểm

Trong các bài giảng có nhiều tài liệu tham khảo đến các trang web khác nhau, nơi bạn có thể đọc lời giải thích của các giảng viên khác. Mục đích của tôi là bạn hiểu tài liệu chứ không phải chỉ nghe tôi nói.

10 Bạn sẽ chỉ cần bộ não và máy tính của mình để trở thành nhà phát triển

Bạn sẽ mất từ ​​3 đến 6 tháng, tùy thuộc vào thời gian bạn luyện tập.

11 Hỗ trợ

Tầng 02 - 3 cũChắc chắn các câu hỏi sẽ nảy sinh khi bạn phải đối mặt với hàng ngàn nhiệm vụ. Chúng tôi đã thiết lập một dịch vụ đặc biệt, nơi bạn có thể đặt câu hỏi về các nhiệm vụ. Các sinh viên CodeGym khác, người điều hành, tình nguyện viên và thành viên sáng lập của dịch vụ sẽ trả lời bạn.

12 cộng đồng

Chúng tôi tin rằng sức mạnh là trong sự đoàn kết. Do đó, chúng tôi đã tạo Cộng đồng, nơi bạn có thể đặt câu hỏi; thảo luận về các chủ đề khác nhau, chia sẻ bài viết và viết blog. Bên cạnh đó, một cộng đồng là nơi lý tưởng để nhận một công việc khi quen biết. Do đó, hãy thoải mái đặt câu hỏi thông minh và đưa ra câu trả lời thông minh. Bạn càng cư xử tích cực và giúp đỡ người khác, thì càng có nhiều cơ hội thành viên khác của hiệp hội sẽ đề nghị bạn tham gia dự án của họ.

Bạn đã đạt đến một cấp độ mới

Cấp độ 2

Tầng 02 - 4 cũ

1 Elly, cơ sở của tất cả

- Này, Amigo. Hôm nay tôi muốn cho bạn biết một chương trình Java điển hình được cấu trúc như thế nào. Vấn đề là mọi chương trình Java đều bao gồm các lớp và đối tượng . - Tôi đã biết lớp học là gì rồi. Và đối tượng là gì? - Tương tự như việc đóng một con tàu nhỏ, trước tiên, bạn cần vẽ một bản vẽ, sau đó đưa nó cho xưởng đóng tàu. Dựa trên bản vẽ này, một con tàu sẽ được lắp ráp. Hoặc năm con tàu. Trên thực tế, nhiều như bạn muốn. Hàng chục con tàu giống hệt nhau được chế tạo dựa trên một bản vẽ, đó là tất cả những gì về nó! - Tất cả mọi thứ trong lập trình Java đều giống hệt nhau. - Lập trình viên cũng giống như kỹ sư thiết kế. Và nếu kỹ sư thiết kế phải vẽ các bản vẽ thì lập trình viên Java phải viết các lớp. Sau đó, các bộ phận được tạo dựa trên bản vẽ và các đối tượng được tạo dựa trên các lớp. - Đầu tiên, chúng ta viết các lớp (thực hiện các bản vẽ), và sau đó khi chạy chương trình, Máy ảo Java tạo các đối tượng bằng cách sử dụng các lớp này. Theo cùng một cách tàu được thực hiện. Có một bản vẽ và rất nhiều tàu. Có nhiều tàu khác nhau có tên khác nhau và chở nhiều hàng hóa khác nhau. Tuy nhiên, chúng rất giống nhau: chúng đều có cấu trúc giống nhau và có thể thực hiện các nhiệm vụ giống nhau. - Trong trường hợp của con tàu, mọi thứ đều rõ ràng. Cho mình thêm vài phép so sánh để hiểu chính xác nó nói về cái gì? - Chắc chắn. Ví dụ như ong… Cấp cũ 02 - 5- Ồ không, đợi chút, ong làm tôi nhớ đến một chuyện chẳng lành. Hãy nghĩ tốt hơn về một con kiến. - Tổ kiến ​​là một ví dụ điển hình về tương tác đối tượng. Trong tổ kiến ​​đơn giản nhất, có ba loại kiến: kiến ​​chúa, kiến ​​lính và kiến ​​thợ. Có sự khác biệt về số lượng kiến ​​cho mỗi lớp. Mối chúa ở một mình trong tổ; có rất nhiều binh lính và hàng trăm con kiến ​​​​đang làm việc. Vì vậy, chúng ta có thể nói, có ba lớp và hàng trăm đối tượng. Những con kiến ​​giao tiếp với nhau, với những con kiến ​​cùng loại và những con kiến ​​khác lớp theo những quy tắc nghiêm ngặt. - Đây là một ví dụ hoàn hảo. Đối với một chương trình điển hình, tất cả đều giống nhau. Một đối tượng chính tạo ra các đối tượng của tất cả các lớp khác. Các đối tượng bắt đầu tương tác với nhau và "thế giới bên ngoài" của một chương trình. Hành vi của các đối tượng được mã hóa cứng bên trong chúng. - Tôi không hiểu lắm. Đúng hơn là không hiểu gì cả. - Hai cách giải thích này là hai mặt khác nhau của cùng một đồng tiền. Sự thật là ở đâu đó ở giữa. Ví dụ đầu tiên (vẽ và tàu) cho thấy mối quan hệ giữa lớp và các đối tượng của lớp này. Sự giống nhau rất gần. Ví dụ thứ hai (ví dụ có tổ kiến) cho thấy mối quan hệ giữa các lớp được viết và các đối tượng tồn tại trong thời gian chạy. - Ý bạn là trước tiên chúng ta cần viết các lớp cho tất cả các đối tượng hiện có trong một chương trình và hơn thế nữa, mô tả sự tương tác của chúng? - Ừ, nhưng nó dễ hơn ta tưởng. Trong Java, tất cả mọi thứ trong thời gian chạy chương trình đều là đối tượng và khi bạn viết chương trình, bạn nên mô tả các cách tương tác đối tượng khác nhau. Các đối tượng chỉ cần gọi các phương thức của nhau và truyền dữ liệu cần thiết cho chúng. - Nó không rõ ràng, nhưng gần như rõ ràng. - Nhưng làm thế nào để bạn biết phương thức nào cần gọi và dữ liệu nào bạn cần truyền cho phương thức? - Mỗi lớp có phần mô tả để chỉ rõ lớp đó được tạo ra để làm gì. Tương tự như vậy, mỗi phương pháp có mô tả về những gì nó làm và dữ liệu nào phải được gửi đến nó. Để sử dụng lớp, bạn cần biết chung chung nó làm gì. Bên cạnh đó, bạn cần biết chính xác mỗi phương thức của lớp này làm gì. Nhưng bạn không cần phải biết làm thế nào nó được thực hiện . Nó là một loại phép thuật. - Hừ. Nghe có vẻ như vậy.   - Đây, hãy xem một mã lớp sao chép một tập tin: Tầng cũ 02 - 6- Không dễ đâu, nhưng tôi đã có được bức tranh rồi. - Khỏe. Hẹn gặp lại sau, cá sấu!

2 Risha, Biến và kiểu nguyên thủy

- Này anh, lao động tự do. - Ý tôi là, «Chào, Amigo». Tôi muốn bạn làm quen với cấu trúc bên trong của các biến. Bạn đã biết rằng mỗi biến có một phần bộ nhớ được liên kết với nó, nơi biến lưu trữ giá trị của nó. - Vâng. Bạn đã nói với nó lần trước. - Khỏe. Đó là một điều tốt mà bạn nhớ nó. Sau đó, tôi sẽ tiếp tục. - lớp học . Khi chúng ta mô tả một lớp mới trong một chương trình, điều này có nghĩa là chúng ta khai báo một kiểu phức hợp mới , dữ liệu sẽ là các kiểu phức hợp khác hoặc các kiểu nguyên thủy. Tầng cũ 02 - 7- Vẫn còn rõ ràng cho một kỳ quan. - Vì các loại lớn (phức tạp) bao gồm rất nhiều loại nhỏ (nguyên thủy), các đối tượng của chúng sử dụng nhiều bộ nhớ. Nhiều hơn các biến kiểu nguyên thủy thông thường làm. Đôi khi nhiều hơn nữa. Việc gán các biến loại phức tạp mất nhiều thời gian và yêu cầu sao chép một lượng lớn bộ nhớ. Đó là lý do tại sao các biến kiểu phức tạp không lưu trữ chính đối tượng mà chỉ lưu trữ một tham chiếu đối tượng (đó là địa chỉ bốn byte). Điều này là đủ để truy cập dữ liệu đối tượng. JVM đảm nhận tất cả những khó khăn liên quan. - Tôi không hiểu. - Chúng ta đã thảo luận rằng biến giống như một cái hộp. Để lưu trữ số 13 trong đó, bạn có thể viết số này lên một tờ giấy và cho vào hộp. - Bây giờ hãy tưởng tượng rằng bạn phải đựng trong một chiếc hộp (có thể thay đổi) một thứ gì đó lớn hơn một chút. Chẳng hạn, một con chó, một chiếc ô tô hoặc người hàng xóm Joe của bạn. Để đơn giản hóa, bạn có thể làm một việc dễ dàng: đặt hình ảnh của con chó thay vì con chó, biển số ô tô thay vì ô tô và số điện thoại của Joe được viết trên một tờ giấy thay vì của chính Joe. - Bây giờ chúng ta lấy một tờ giấy và viết số điện thoại của Joe lên đó. Nó giống như một tham chiếu đối tượng. Nếu chúng ta lấy ra khỏi hộp một tờ giấy có ghi số của Joe, tạo các bản sao và đặt vào một vài hộp, các tài liệu tham khảo về Joe sẽ tăng lên, nhưng chỉ có thể có một Joe. - Ưu điểm của việc lưu trữ dữ liệu như vậy làcó thể có nhiều tài liệu tham khảo và chỉ có một đối tượng . - Thật thú vị. Nhân tiện, tôi gần như đã hiểu. Chỉ trả lời thêm một câu hỏi: điều gì xảy ra nếu tôi gán một biến kiểu phức tạp cho một biến kiểu phức hợp khác? - Khi đó hai biến này sẽ chứa cùng một địa chỉ. Và, do đó, nếu bạn thay đổi dữ liệu được lưu trữ trong một biến kiểu phức hợp, thì dữ liệu của biến kiểu phức hợp kia cũng sẽ bị thay đổi . Bởi vì bạn biết đấy , thực sự chỉ có một đối tượng mà các biến lưu trữ các tham chiếu tới. Tuy nhiên, có thể có rất nhiều biến lưu trữ các tham chiếu đến đối tượng. - Và những gì được lưu trữ trong các biến kiểu phức tạp (kiểu tham chiếu/lớp) trong khi không có tham chiếu đối tượng nào? Thực sự có thể có một điều như vậy? - Vâng, Amigo. Bạn đã lấy lời ra khỏi miệng tôi. Đó có thể là. Nếu không có tham chiếu đối tượng trong biến loại tham chiếu (phức tạp), nó sẽ lưu null , một «tham chiếu null» đặc biệt. Trên thực tế, nó chỉ lưu trữ địa chỉ của một đối tượng bằng 0. Nhưng Máy ảo Java không bao giờ tạo các đối tượng có địa chỉ bằng 0, do đó, nó luôn biết rằng nếu biến tham chiếu bằng 0 thì không có đối tượng nào ở đó. Tầng cũ 02 - 8Tôi có hiểu đúng không? Các biến được chia thành hai loại - nguyên thủy và tham chiếu. Biến kiểu nguyên thủy lưu trữ một giá trị trong khi biến kiểu tham chiếu lưu trữ tham chiếu đối tượng. Các kiểu nguyên thủy là int, char, boolean và một số kiểu khác. Phần còn lại là các biến tham chiếu, chúng được hình thành bằng cách sử dụng các lớp. - Đúng rồi nhóc.

3 Elly, Đồ vật là gì

Tầng cũ 02 - 9- Đây là giáo viên yêu thích của bạn một lần nữa. Vì chúng ta đang tiến rất nhanh, tôi sẽ cho bạn biết đối tượng là gì và cách xử lý chúng. - Để tạo một đối tượng bất kỳ, bạn cần viết tên loại đối tượng (lớp) và từ khóa new trước nó. Giả sử chúng ta có một lớp Cat, sau đó: Tầng cũ 02 - 10- Điều gì xảy ra nếu bạn chỉ tạo một đối tượng và không gán nó [tham chiếu của nó] cho bất kỳ biến nào? - Nếu bạn làm như vậy, Máy ảo Java sẽ tạo đối tượng và ngay lập tức tuyên bố nó là rác (đối tượng không sử dụng). Sau một thời gian, nó sẽ xóa đối tượng đó trong quá trình thu gom rác. - Làm thế nào tôi có thể tiêu hủy đối tượng nếu tôi không còn cần nó nữa? - Anh không thể.Ngay khi không có biến để lưu trữ tham chiếu đối tượng, đối tượng sẽ được gắn cờ là rác và JVM sẽ hủy nó trong lần thu gom rác tiếp theo. Miễn là có ít nhất một tham chiếu đối tượng, nó sẽ được coi là đang hoạt động và sẽ không bị hủy. Khi bạn muốn hủy nhanh đối tượng, hãy đặt tất cả các tham chiếu của nó thành null, nghĩa là gán giá trị null cho tất cả các biến tham chiếu đến đối tượng đó. - Hiểu rồi. Có vẻ như không khó chút nào sau các bài giảng trước. - Được rồi, sau đây là một số nhiệm vụ để bạn cải thiện kỹ năng của mình. Đây cũng là trên System.out. Nhưng sau này sẽ có những cái khó hơn. Và bạn có thể cho chúng tôi thấy bạn được làm bằng thép gì.
nhiệm vụ
1 Viết chương trình hiển thị: «Từng bước một và mọi thứ đã hoàn thành.».
2 Viết chương trình hiển thị 7 lần: «Thật thú vị khi làm được điều không thể.».
3 Viết chương trình hiển thị: «Luôn mong muốn học được điều gì đó hữu ích.».

4 Risha, Khả năng hiển thị của các biến.

- Xin chào, học sinh yêu thích của tôi. Bây giờ tôi sẽ cho bạn biết về khả năng hiển thị của các biến . - Sao, cũng có biến vô hình sao? - Không, các biến được hiển thị ở những vị trí của mã mà biến đó có thể được truy cập. Một số biến có thể được truy cập từ bất kỳ đâu trong chương trình, những biến khác chỉ trong lớp của chúng và một số biến chỉ có thể được truy cập trong một phương thức. - Ví dụ, bạn không thể tham chiếu đến biến trước khi nó được khai báo. - Rõ ràng. - Sau đây là một số ví dụ: Tầng cũ 02 - 111 Một biến được khai báo trong phương thức tồn tại / hiển thị từ đầu khai báo đến cuối phương thức. 2 Một biến được khai báo trong khối mã tồn tại đến cuối khối mã này. 3 Biến - đối số của phương thức - tồn tại ở mọi nơi trong phạm vi của phương thức. 4 Các biến lớp/đối tượng tồn tại trong suốt thời gian tồn tại của đối tượng. Công cụ sửa đổi truy cập đặc biệt công khai và riêng tư cũng kiểm soát khả năng hiển thị của chúng. 5 Biến lớp tĩnh tồn tại trong thời gian chạy chương trình. Các công cụ sửa đổi truy cập cũng xác định khả năng hiển thị của chúng. - Tôi yêu hình ảnh, mọi thứ rơi vào vị trí. - Tốt cho cậu, Amigo. Luôn biết bạn là một người thông minh. - Tôi cũng sẽ cho bạn biết về công cụ sửa đổi truy cập . Đừng quá sợ hãi, đó không phải là khoa học tên lửa. Đây là những từ công khairiêng tư mà bạn nhìn thấy. - Em không sợ, ở đây lạnh thôi. - Ừ chắc chắn. Bạn có thể kiểm soát quyền truy cập (khả năng hiển thị) của các phương thức và biến trong lớp của mình từ các lớp khác. Đối với mỗi phương thức hoặc biến, bạn chỉ có thể chỉ định một công cụ sửa đổi truy cập. 1 Công cụ sửa đổi công khai 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. Đó là mức độ mở cao nhất, không hạn chế. 2 Công cụ sửa đổi private Một biến hoặc phương thức được đánh dấu bằng công cụ sửa đổi private chỉ có thể được truy cập từ lớp nơi nó được khai báo. Đối với tất cả các lớp khác, một phương thức hoặc biến được gắn cờ là vô hình, như thể chúng không tồn tại. Đây là mức độ khép kín cao nhất (chỉ có thể nhìn thấy từ cùng một lớp). 3 Mặc định của công cụ sửa đổi Nếu bất kỳ công cụ sửa đổi nào không gắn cờ một biến hoặc phương thức, thì nó được coi là mặc định của công cụ sửa đổi. Các biến hoặc phương thức có công cụ sửa đổi đó (nghĩa là không có bất kỳ biến nào) hiển thị đối với tất cả các lớp của gói mà chúng được khai báo. Chỉ trong cùng một gói. Công cụ sửa đổi này đôi khi được gọi là gói để ngụ ý rằng có thể truy cập vào các biến và phương thức cho toàn bộ gói, mà lớp của chúng thuộc tab Giải thích: Tầng cũ 02 - 12

5 Diego, Nhiệm vụ tạo một loạt các biến

- Này, anh bạn. Nếu cần, tôi giữ một bản hợp đồng cho bạn. Risha rẻ tiền lén lút đó không hề hay biết. Bạn nên đã nhìn thấy số tiền trong hợp đồng của tôi. Heh heh. - Làm tốt lắm, Diego. Tôi nghĩ rằng bạn dạy tôi những điều thực sự hữu ích. - Chắc rồi, Amigo. Không đạt được mà không đau. Nhưng vẫn có người chịu đựng nỗi đau mà không đạt được gì. - Chúng ta hãy quay tay để nghiên cứu. Bây giờ tôi sẽ chỉ cho bạn cách tạo một loạt các biến theo nhiều cách khác nhau: Tầng cũ 02 - 13- Wow, Diego! Bạn thật thông minh. - Heh heh! Cảm ơn, Amigo. - Tôi nghĩ rằng bạn đã bỏ lỡ nhiệm vụ của tôi. Vì vậy, đây là một số trong số họ. Những con người đó, những người ngoài hành tinh không biết gì về cuộc sống người máy của chúng ta. Ai ngoài tôi sẽ dạy bạn điều đó?
nhiệm vụ
1 Viết chương trình hiển thị 3 lần: «Nhiều người còn sống chỉ vì bắn họ là bất hợp pháp.».
2 Viết chương trình hiển thị: «Nếu tôi muốn ý kiến ​​của bạn, tôi sẽ yêu cầu bạn điền vào các biểu mẫu cần thiết.».
3 Viết chương trình hiển thị 20 lần: «Tôi chưa bao giờ nói hầu hết những điều tôi đã nói.».

6 Elly, Đi qua tham khảo. biến tham chiếu

- Này, Amigo, lại là tôi đây, Elly. Xin lỗi, tôi luôn nói điều này, nhưng đó chỉ là cách mọi thứ được thực hiện trên Trái đất trong thế kỷ 31. Tôi sẽ giải thích cho bạn các tính năng của biến tham chiếu và cách truyền đối số tham chiếu cho hàm (phương thức). - Tôi đã sẵn sàng. - Vậy thì, biến tham chiếu là biến đủ kiểu trừ kiểu nguyên thủy. Các biến này chỉ chứa địa chỉ của đối tượng (tham chiếu đối tượng). - Các biến kiểu nguyên thủy lưu trữ một giá trị và kiểu, và các biến lớp lưu trữ các tham chiếu đến các đối tượng của cùng một lớp, tốt hoặc null. Tôi có đúng không? - Tuyệt đối. - Vậy tham chiếu là gì? - Đối tượng và tham chiếu của nó được liên kết, chẳng hạn như một người đàn ông và số điện thoại của anh ta. Số điện thoại không phải của một người đàn ông, nhưng nó có thể được sử dụng để gọi cho một người đàn ông để yêu cầu anh ta điều gì đó, hướng dẫn hoặc ra lệnh cho anh ta. Một tham chiếu cũng được sử dụng để tương tác với một đối tượng. Tất cả các đối tượng tương tác với nhau thông qua các tham chiếu. - Hình như người ta liên lạc với nhau qua điện thoại? - Đúng rồi. Khi bạn gán một đối tượng nguyên thủy, giá trị của nó sẽ được sao chép (nhân bản). Khi bạn gán một biến tham chiếu, chỉ địa chỉ đối tượng (số điện thoại) được sao chép chứ không phải bản thân đối tượng. - ОK, tôi hiểu rồi. - Một tham chiếu cung cấp một lợi thế khác: bạn có thể truyền một tham chiếu đối tượng cho bất kỳ phương thức nào và phương thức này sẽ có thể sửa đổi (thay đổi) đối tượng của chúng ta bằng cách sử dụng tham chiếu của nó bằng cách gọi các phương thức của nó và truy cập dữ liệu bên trong đối tượng. Tầng cũ 02 - 14- Giá trị của các biến a & b được hoán đổi cho nhau bên trong phương thức hoán đổi . Khi bạn gọi phương thức hoán đổi , các biến a & b sẽ nhận được bản sao của các giá trị m & n . Do đó, giá trị của biến m & n vẫn giữ nguyên khi bạn thay đổi giá trị của a & b . Nó được hiển thị rõ ràng trong mã của cột bên phải. - Thành thật mà nói, tôi không có gì về điều đó. Tôi có thể có một vài ví dụ nữa không? - Trong trường hợp của kiểu tham chiếu, bạn có thể làm như vậy: Tầng cũ 02 - 15- Các biến a và b lần lượt được gán cho các tham chiếu đến emma và alice, các giá trị a và b thay đổi bên trong các đối tượng emma và alice. - Vậy có thể khai báo các lớp bên trong các lớp khác không? Ồ! - Còn lại thì không rõ. - Không phải tất cả cùng một lúc.

7 Elly, Gọi hàm, trả về giá trị

- Vậy thì quay lại đi. Chúng ta sẽ nói về cách gọi phương thức hoạt động, và sau đó bạn thử xem lại bài giảng trước, được không? - Thỏa thuận! - Vậy thì tôi sẽ nói cho bạn biết về lệnh gọi hàm/phương thức và các giá trị được trả về. - Các lệnh được nhóm thành các chức năng, vì vậy bạn có thể chạy chúng trong một khối duy nhất, giống như một lệnh phức tạp. Để làm điều này, bạn cần viết tên của hàm (phương thức) và sau đó trong ngoặc đơn sau tên chỉ định các giá trị và tham số. Tầng cũ 02 - 16- Trong ví dụ trên, chúng ta đã viết một hàm hiển thị chuỗi đã truyền 4 lần. Sau đó ta gọi hàm print4 ở dòng 6. - Khi thực hiện đến dòng 6 chương trình sẽ nhảy đến dòng 9, biến s sẽ được gán giá trị “ Tôi thích chuyển thì chuyển đi”. - Sau đó các dòng 11-14 sẽ được thực thi, cuối cùng hàm sẽ hoàn thành và chương trình sẽ tiếp tục với dòng 7. - Gotcha. - Bạn không chỉ có thể truyền đối số (tham số) cho hàm mà còn có thể trả về kết quả (giá trị) của hoạt động của hàm. Điều này được thực hiện bằng cách sử dụng từ khóa return. Đây là những gì nó trông giống như: Tầng cũ 02 - 17- Tôi nghĩ rằng tôi đang nắm bắt được nó. Đó là cùng một mã ở bên trái và bên phải. Ở bên trái, nó chỉ được trình bày dưới dạng một chức năng riêng biệt. - Hàm tính toán một giá trị và chuyển nó cho những người đã gọi nó bằng lệnh return. IT nhât thi tôi nghi vậy. - Về cơ bản là đúng. - Và loại khoảng trống là gì? - Một số hàm chỉ làm một cái gì đó, nhưng không tính toán và trả về bất kỳ giá trị nào, như phương thức main của chúng ta().Đối với những chức năng đó, nó đã được tạo ra một loại kết quả đặc biệt void (một loại trống). - Tại sao chúng ta không thể chỉ định gì cả, nếu một hàm không trả về bất cứ thứ gì? - Chỉ cần nghĩ về cách mọi biến được khai báo: kiểu và tên. Một hàm được khai báo với kiểu, tên và dấu ngoặc đơn. Tên hàm theo sau bởi dấu ngoặc đơn là lệnh gọi hàm! - Vì vậy, nó dễ dàng hơn để đưa ra "kiểu trống" hơn là chia các hàm thành hai loại trả về một giá trị và không trả về một giá trị? - Chính xác! Cậu là một người suy nghĩ nhanh, chàng trai của tôi. - Và làm thế nào tôi có thể trả về một loại trống? - Anh không thể. Đây là cách nó hoạt động: khi JVM thực thi trả vềlệnh, nó tính toán giá trị của biểu thức ở bên phải của từ trả về, lưu trữ giá trị đó trong một vùng bộ nhớ đặc biệt và ngay lập tức thoát khỏi hàm . Nó sử dụng giá trị đã lưu làm kết quả của một lệnh gọi hàm tại nơi hàm được gọi. Bạn có thể thấy nó trong ví dụ trên. - Ý bạn là chỗ int m = min(a,b) chuyển thành m = m2 ? - Đúng. Sau khi gọi hàm, mọi thứ tiếp tục hoạt động như thể thay vì hàm, kết quả của nó được viết ở cùng một vị trí. Đọc câu đó một lần nữa và xem mã của ví dụ cuối cùng. - Nhìn thì dễ nhưng thực tế rất khó. Tôi chỉ có một chút, thế thôi. - Không sao đâu.Trong lần thử đầu tiên, bạn chỉ có thể hiểu những gì bạn đã biết. Bạn càng đi vào một lĩnh vực mới đối với bạn, nó càng không rõ ràng. Và kết quả sẽ còn tuyệt vời hơn nữa. Khi thời gian trôi qua, mọi thứ trở nên rõ ràng. - Nếu vậy thì chúng ta tiếp tục đi.

8 Diego

- Này, Amigo. Đây là một vài nhiệm vụ cho bạn. Bây giờ bạn có khả năng làm nhiều hơn System.out. Làm hết sức mình đi! Tôi tin bạn!
nhiệm vụ
1 Cực tiểu hai số
Viết hàm trả về cực tiểu hai số.
2 Tối đa hai số
Viết hàm trả về giá trị lớn nhất hai số.
3 Tối thiểu ba số
Viết hàm trả về tối thiểu ba số.
4 Tối thiểu bốn số
Viết hàm trả về tối thiểu bốn số.
Hàm min(a,b,c,d) phải sử dụng (gọi) hàm min(a, b)
5 Nhân đôi chuỗi
Viết hàm hiển thị ba lần chuỗi đã truyền. Mỗi chuỗi phải nằm trên một dòng mới.
6 Hiển thị văn bản
Viết hàm hiển thị chuỗi (từ) đã nhập ba lần trên cùng một dòng.
Các từ phải được phân tách bằng dấu cách và không được ghép lại thành một.

9 Diego, Tên đầy đủ của lớp

Tầng cũ 02 - 18- Này, Amigo, tôi muốn kể cho bạn nghe về tên đầy đủ của lớp. - Bạn đã biết rằng các lớp nằm trong các gói. Vì vậy, tên lớp đầy đủ là tên bao gồm tất cả các gói được phân tách bằng điểm và tên lớp. Ví dụ: Tầng cũ 02 - 19 - Để sử dụng lớp trong mã của riêng bạn, bạn cần chỉ định tên đầy đủ của nó. Tuy nhiên, bạn có thể sử dụng tên ngắn - tên lớp mà thôi. Để làm điều này, bạn cần “nhập” lớp này bằng cách chỉ định tên của nó, thêm từ nhập trước khi bạn khai báo một lớp. Các lớp của gói java.lang (Chuỗi, Số nguyên,...) được nhập theo mặc định. Bạn không cần chỉ định chúng. Ví dụ: Cấp Cũ 02 - 20- Ví dụ về sử dụng tên tắt: Tầng cũ 02 - 21- Tôi hiểu rồi. - Khỏe.

10 Giáo sư, Bài giảng về lớp và đối tượng

Tầng cũ 02 - 22- Này, Amigo. Hy vọng bạn hiểu tất cả những gì Elly và Risha đã nói với bạn ngày hôm nay. Để đảm bảo an toàn, như tôi đã hứa, đây là các liên kết đến tài liệu khác: 1 Ghi chú của tôi 2 Tư duy bằng Java. Cuốn sách tuyệt vời đó tôi đã nói với bạn về. Sẽ thật tuyệt nếu bạn đọc nó. - Tôi hy vọng bạn sẽ dành thời gian để xem qua nó. - À hèm. Chắc chắn tôi sẽ!

11 tháng 7

- Này, Amigo! Hy vọng bạn đang cho một số phần còn lại khó khăn và mệt mỏi?

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION