Công nghệ thông tin
Cuộc cách mạng máy tính bắt đầu vào cuối thế kỷ 20 đã dẫn đến việc tạo ra Internet (web) vào những năm 90. Và đó là khởi đầu của một cuộc cách mạng thậm chí còn vĩ đại hơn. Hiệu quả của việc tạo ra Internet giống như công nghiệp hóa. Nhưng điều tuyệt vời nhất là quá trình này vừa mới bắt đầu.Thế giới mới
Số lượng trang web là hơn 200 triệu. 3 tỷ người dùng internet ngoài kia. Đấu giá trên Internet, trang web, cửa hàng trực tuyến, dịch vụ internet. Ngành Công nghệ thông tin tăng trưởng 20%-30% mỗi năm. Đó là tỷ lệ khủng khiếp. Và nó tiếp tục phát triển. Trong 10 năm qua ở Thung lũng Silicon (trung tâm công nghiệp công nghệ cao chính của thế giới), cứ sau 2 tháng lại có một công ty được thành lập, sau đó tiêu tốn hàng tỷ đô la. Chưa kể đến những ngôi sao internet như Facebook (220 tỷ USD), Amazon (140 tỷ USD) và Google (350 tỷ USD). Tất cả những công ty này sẽ không xuất hiện nếu không có Internet. Tất cả đều dẫn đến nhu cầu cao đối với các chuyên gia CNTT. Ngành công nghệ cao thế giới yêu cầu: nhà phát triển phần mềm, nhà thiết kế, người kiểm tra QA, kiến trúc sư, nhà quản lý, quản trị hệ thống và các chuyên gia khác.Thật tốt khi trở thành một chuyên gia CNTT
Nếu bạn là dân IT, đây là thời điểm vàng cho bạn. Bạn có thể làm việc cho một công ty lớn và sống trong một thị trấn nhỏ hoặc làm việc cho công ty nước ngoài. Chẳng hạn, bạn có thể kiếm được ít hơn gấp đôi so với ở EU, nhưng bạn sẽ nhận được gấp 3-10 lần sau đó trên thị trường lao động địa phương. Thị trấn càng nhỏ thì sự khác biệt càng lớn. Bạn sẽ nhận được kinh nghiệm quý báu, tiền bạc tốt và tương lai tươi sáng. Đôi khi bạn sẽ đi công tác đến văn phòng chủ nhân của bạn. Và nếu bạn thích nó nhiều, bạn có thể chuyển đến đó. Nước lên thang máy tất cả các tàu thuyền. Tại sao không phải là con thuyền đúng lúc và đúng chỗ? Đây cũng là một nghệ thuật.Bạn đã đạt đến một cấp độ mới
Cấp 7
1 Elly, Mảng
- Này, Amigo! - Sao vậy Elly? - Hôm nay tôi sẽ kể cho các bạn nghe về một thực thể mới rất thú vị - mảng. Mảng là một kiểu dữ liệu đặc biệt có thể lưu trữ nhiều hơn một giá trị. - Tôi sẽ bắt đầu với phép loại suy. Hãy so sánh một ngôi nhà bình thường và một ngôi nhà cao tầng. Một ngôi nhà được ở bởi một gia đình, trong khi một tòa nhà cao tầng được chia thành các căn hộ. Bạn cần chỉ định địa chỉ duy nhất để viết thư cho một gia đình sống trong nhà. Đối với một gia đình sống trong một căn hộ, bạn phải chỉ định thêm số căn hộ. - Ừ, rõ rồi. - Như vậy, biến mảng giống như một tòa nhà cao tầng. Bạn có thể lưu trữ một số giá trị trong đó. Biến như vậy có mấy căn (ô). Mỗi căn hộ có thể được truy cập bằng số (chỉ mục) của nó.Để làm điều này, sau tên biến trong ngoặc vuông, bạn phải chỉ định chỉ mục của ô được truy cập. Nó khá đơn giản. - Tôi cũng mong là như vậy. - Biến mảng (nhà cao tầng) có thể có kiểu bất kỳ nên bạn chỉ cần viếtTypeName[] variable_name
thay vì TypeName variable_name
. - Dưới đây là những ví dụ về những gì bạn có thể làm với mảng: - Thật thú vị! - Một biến mảng cần khởi tạo thêm. - Tại sao như vậy? - Một biến thông thường sẵn sàng để sử dụng ngay sau khi khai báo. Đối với mảng thì phức tạp hơn một chút: - Đầu tiên, bạn cần tạo một vùng chứa N phần tử, sau đó bạn có thể đặt các giá trị vào đó. - Chuẩn rồi. Nó trở nên rõ ràng hơn bây giờ. - Khái niệm cơ bản về mảng :
- Mảng bao gồm nhiều ô.
- Mỗi ô được truy cập bằng cách chỉ ra số của nó.
- Tất cả các ô đều cùng loại.
- Trong một mảng n phần tử, các ô có chỉ số 0,1,2,...,n-1. Không có ô nào có chỉ số n trong mảng.
- Giá trị ban đầu cho tất cả các ô là null, đối với kiểu nguyên thủy – 0, 0,0 đối với kiểu phân số, sai - đối với kiểu boolean, hoàn toàn giống như trong các biến chưa được khởi tạo đơn giản.
- Chuỗi [] danh sách chỉ là một khai báo của một biến. Trước tiên, bạn cần tạo một mảng (vùng chứa) và đặt nó vào biến, sau đó sử dụng nó. Xem ví dụ bên dưới.
- Khi bạn tạo một mảng đối tượng (vùng chứa), bạn cần chỉ định độ dài của nó (có bao nhiêu ô). Để làm điều này bạn cần viết một câu lệnh: TypeName là kiểu giá trị sẽ được lưu trữ trong các ô của mảng.
new TypeName[n];
2 Risha, Sắp xếp các mảng trong bộ nhớ
- Này, Amigo! Hãy để tôi chỉ cho bạn cách tất cả hoạt động trong bộ nhớ: - Và 345 này là gì? - Thực ra, tôi đã lấy nó ra khỏi không khí, nhưng thông thường, đó là địa chỉ của chuỗi chứa từ «Dừng». - Còn mảng thì phức tạp hơn một chút:3 Risha, Ví dụ về mảng Mảng
- Tôi muốn cung cấp cho bạn một vài ví dụ về những điều thú vị mà bạn có thể làm với mảng: Ví dụ 1. Ví dụ 2. Ví dụ 3. Ví dụ 4. Ví dụ 5.4 Diego, Nhiệm vụ tạo và sử dụng mảng
- Này, Amigo! Đây là một vài nhiệm vụ cho bạn, anh bạn:nhiệm vụ | |
---|---|
1 | 1. Tối đa một mảng gồm 20 số 1. Trong phương thức initizeArray() : 1.1. Tạo mảng 20 số 1.2. Đọc từ bàn phím 20 số và điền vào mảng 2. Phương thức max(int[] array) sẽ tìm số phần tử lớn nhất của mảng |
2 |
2. Mảng các chuỗi theo thứ tự đảo ngược |
3 | 3. 2 mảng 1. Tạo một mảng gồm 10 chuỗi. 2. Tạo một mảng 10 số khác. 3. Đọc từ bàn phím 10 chuỗi và điền vào mảng chuỗi với chúng. 4. Viết độ dài của một chuỗi từ mỗi ô của mảng chuỗi trong mảng ô của số có cùng chỉ số. Hiển thị ra màn hình nội dung của dãy số. Mỗi giá trị phải nằm trên một dòng mới. |
4 | 4. Mảng các số theo thứ tự đảo ngược 1. Tạo một mảng gồm 10 số. 2. Đọc từ bàn phím 10 số và lưu vào mảng. 3. Sắp xếp các phần tử của mảng theo thứ tự ngược lại. 4. Hiển thị kết quả ra màn hình. Mỗi giá trị phải nằm trên một dòng mới. |
5 | 5. Một mảng lớn và hai mảng nhỏ 1. Tạo một mảng gồm 20 số. 2. Đọc từ bàn phím 20 số và điền chúng vào mảng. 3. Tạo hai mảng gồm 10 số mỗi mảng. 4. Sao chép các số của mảng lớn sang hai mảng nhỏ: một nửa số sang mảng thứ nhất, nửa còn lại sang mảng thứ hai. 5. Hiển thị mảng nhỏ thứ hai ra màn hình. Mỗi giá trị phải nằm trên một dòng mới. |
5 Elly, ArrayList so với Array
- Tôi đây. - Chào Elly! - Hôm nay chúng ta có một chủ đề thú vị mới! Bây giờ tôi sẽ kể cho bạn nghe về một lớp mới thú vị, ArrayList . - Ồ, lớp mới à? Ồ! Nó làm gì? - Hãy để tôi bắt đầu với một câu chuyện nhỏ phía sau. Các lập trình viên không thích một thuộc tính của mảng: không thể thay đổi kích thước của nó. Phải làm gì nếu bạn muốn lưu trữ thêm ba mục trong mảng, nhưng chỉ có một dung lượng trống? - Giải pháp duy nhất cho vấn đề thiếu không gian là tạo một mảng rất lớn chứa tất cả các phần tử. Nhưng điều này thường dẫn đến việc sử dụng bộ nhớ không hiệu quả. Ví dụ: nếu trong 99% thời gian tồn tại của mảng, bạn chỉ cần lưu trữ 3 phần tử trong mảng và chỉ trong 1% - 100 phần tử, bạn sẽ phải tạo mảng gồm 100 phần tử. - Vậy các lập trình viên đã nghĩ ra điều gì? - Họ đã viết lớp ArrayList làm công việc tương tự như Array, nhưng có thể thay đổi kích thước của nó. - Một động thái thú vị. Và họ đã làm điều đó như thế nào? - Mỗi đối tượng ArrayList lưu trữ một mảng thông thường các phần tử bên trong. Khi bạn đọc các phần tử từ ArrayList , nó sẽ đọc chúng từ mảng bên trong của nó. Khi bạn viết các phần tử, nó sẽ ghi chúng vào mảng bên trong. So sánh: - Vậy ArrayList có ưu điểm gì? Đối với tôi, mã trở nên dài hơn. - Thứ nhất, ArrayList hỗ trợ thêm một số tính năng không có trong mảng mà các lập trình viên rất hay sử dụng. Ví dụ,chèn các phần tử vào và xóa chúng khỏi giữa mảng mà không để lại lỗ trống. - Thứ hai, ArrayList có thể thay đổi kích thước của nó . Khi ArrayList cần lưu trữ thêm một phần tử trong mảng bên trong của nó và không còn dung lượng trống, điều sau đây sẽ xảy ra bên trong ArrayList :- một mảng khác được tạo ra, lớn gấp đôi.
- tất cả các phần tử của mảng cũ được sao chép sang mảng mới.
- một mảng mới được lưu trữ trong một biến nội bộ của đối tượng ArrayList, mảng cũ được coi là rác (đơn giản là chúng ta không lưu trữ tham chiếu của nó nữa).
6 nhiệm vụ Diego, ArrayList
- Anh không làm gì nữa à? Anh là người máy phải không? Robot luôn bận rộn với một cái gì đó. Dưới đây là một số nhiệm vụ để giữ cho bạn lên. Nhưng hãy bắt đầu với một vài lời khuyên. - Mẹo 1: Danh sách thường có nghĩa là ArrayList . - Mẹo 2: Một chuỗi có nghĩa là kiểu String . - Mẹo 3: Để tạo một danh sách các chuỗi thông thường nhất ArrayList<String> list = new ArrayList<String>();nhiệm vụ | |
---|---|
1 | Nhiệm vụ 1. 5 chuỗi khác nhau trong một danh sách 1. Tạo một danh sách các chuỗi. 2. Thêm 5 chuỗi khác nhau vào danh sách. 3. Hiển thị ra màn hình kích thước của nó. 4. Hiển thị ra màn hình nội dung của danh sách. Mỗi giá trị phải nằm trên một dòng mới. Sử dụng một vòng lặp. |
2 | Nhiệm vụ 2. 5 dòng: «101», «102», «103», «104», «105» 1. Tạo danh sách các chuỗi. 2. Thêm 5 chuỗi vào danh sách. «101», «102», «103», «104», «105». 3. Xóa cái đầu tiên, cái giữa và cái cuối cùng. 4. Hiển thị ra màn hình nội dung của danh sách. Mỗi giá trị phải nằm trên một dòng mới. Sử dụng một vòng lặp. 5. Hiển thị ra màn hình kích thước của nó. (Sau khi xóa một mục nhập, chỉ mục của các mục khác thay đổi. Ví dụ: nếu chúng ta xóa phần tử đầu tiên, phần tử thứ hai sẽ trở thành phần tử đầu tiên). |
3 | Nhiệm vụ 3. 5 dòng theo thứ tự ngược lại 1. Tạo danh sách các chuỗi. 2. Đọc 5 chuỗi từ bàn phím, sau đó thêm chúng vào danh sách. 3. Sắp xếp chúng theo thứ tự ngược lại. 4. Hiển thị ra màn hình nội dung của danh sách. Mỗi giá trị phải nằm trên một dòng mới. Sử dụng một vòng lặp. |
4 |
Nhiệm vụ 4. Thêm 5 chuỗi vào đầu danh sách |
5 | Nhiệm vụ 5. Xóa chuỗi cuối cùng và thêm vào đầu danh sách 1. Tạo danh sách các chuỗi. 2. Đọc từ đàn 5 dây. Thêm các chuỗi này vào danh sách. 3. Xóa chuỗi cuối cùng và thêm vào đầu danh sách. Lặp lại động tác này 13 lần. 4. Hiển thị ra màn hình nội dung của danh sách. Mỗi giá trị phải nằm trên một dòng mới. Sử dụng một vòng lặp. |
7 Risha, Thuốc generic
- Bây giờ, một chủ đề tuyệt vời khác. - Ngày này đầy bất ngờ. Nó giống như một sinh nhật thực sự. - Hôm nay mình sẽ cho các bạn biết Generics là gì. Generics là loại có tham số. Trong Java, các lớp chứa cho phép bạn chỉ định các loại đối tượng bên trong của chúng . - Khi chúng ta khai báo một biến chung, chúng ta chỉ định hai kiểu thay vì một: kiểu của biến và kiểu dữ liệu lưu trữ trong biến. Một ví dụ điển hình về điều này là ArrayList. Khi chúng ta tạo một đối tượng/biến mới thuộc kiểu ArrayList, cũng nên chỉ định loại giá trị sẽ được lưu trữ bên trong danh sách. - Nghe có vẻ hào hứng đấy. Tôi đặc biệt thích những gì bạn nói về bất kỳ loại nào. - Nó chỉ có vẻ là tốt. Thực tế, nếu trong một phương thức, các chuỗi được đặt vào một ArrayList, và trong phương thức kia, bạn làm việc với nội dung của nó và mong đợi rằng sẽ chỉ có các số, thì chương trình sẽ gặp sự cố. - Tôi hiểu rồi. - Cho đến giờ, chúng ta sẽ không tạo các lớp của riêng mình với các tham số kiểu, chúng ta sẽ học cách sử dụng các lớp được viết bởi những người tạo Java. - Tôi có thể sử dụng bất kỳ lớp nào làm tham số kiểu, kể cả lớp do chính tôi viết không? - Có, loại nào cũng được, trừ loại nguyên thủy. Tất cả các tham số của lớp phải được kế thừa từ đối tượng của lớp. - Vậy tôi không thể viết ArrayList<int> được không? - Anh không thể. Nhưng các nhà phát triển Java đã viết cho các kiểu nguyên thủy các dạng tương tự không nguyên thủy của chúng - các lớp kế thừa từđối tượng . Đây là giao diện của nó: - Các kiểu nguyên thủy và các lớp tương tự (các lớp bao bọc) có thể dễ dàng được gán cho nhau: - Tốt thôi. Sau đó, tôi đoán tôi sẽ sử dụng ArrayList thường xuyên hơn.8 Risha, Ví dụ về ArrayList, Generics
- Bây giờ tôi sẽ cho bạn những điều thực sự hữu ích. Dưới đây là một số ví dụ hữu ích để làm việc với ArrayList và Generics: - Ví dụ 1. - Ví dụ 2. - Ví dụ 3. - Ví dụ 4. - Ví dụ 5. - Tuyệt vời! Vì vậy, bây giờ Diego sẽ giao cho tôi một loạt nhiệm vụ tương tự, phải không? - Chuẩn rồi!9 Diego, Danh sách<T> nhiệm vụ
- Cuối cùng bạn được tự do. Tôi mệt mỏi với việc ghi nhớ những nhiệm vụ này cho bạn. Đây là một vài chi tiết để giữ cho bạn lên:Các tác vụ bổ sung cần thực hiện trong Intellij Idea | |
---|---|
1 | 1. Ba mảng 1. Đọc từ bàn phím 20 số, lưu chúng vào một danh sách, sau đó sắp xếp chúng vào ba danh sách khác: Danh sách 1 lưu các số chia hết cho 3 ( x%3==0 ) Danh sách 2 lưu các số chia hết cho 2 ( x%2==0 ) Danh sách 3 lưu trữ các số còn lại. Các số chia hết cho 3 và 2 cùng một lúc (ví dụ 6) thuộc cả hai danh sách – danh sách 1 và danh sách 2. 2. Phương thức printList() sẽ hiển thị từng phần tử của danh sách trên một dòng mới. 3. Dùng phương thức printList() để hiển thị ra màn hình 3 danh sách này. Đầu tiên, danh sách 1 sẽ được hiển thị, sau đó là danh sách 2, sau đó là danh sách 3. |
2 | 2. 5 từ theo thứ tự ngược Đọc từ bàn phím 5 từ. Thêm chúng vào danh sách chuỗi và hiển thị chúng ra màn hình theo thứ tự ngược lại. |
3 | 3. Từ «đây» 1. Tạo danh sách các từ «dừng lại», «nhìn», «nghe». 2. Thêm một chuỗi chứa « tại đây » sau mỗi từ. 3. Hiển thị kết quả. Mỗi phần tử của danh sách phải nằm trên một dòng mới. Sử dụng vòng lặp “for”. |
4 | 4. Các chữ cái «r» và «l» 1. Tạo một danh sách các từ/chuỗi, điền bất cứ thứ gì bạn muốn vào đó. 2. Phương thức fix() nên: 2.1. xóa tất cả các từ chứa ký tự «r» khỏi danh sách chuỗi 2.2. gấp đôi tất cả các từ có chứa chữ cái «l». 2.3. giữ nguyên từ nếu nó chứa cả hai chữ cái «r» và «l». 2.4. đừng làm gì với những từ khác. Ví dụ: hoa hồng liễu đàn lia sồi Dữ liệu đầu ra: liễu liễu đàn lia sồi |
5 | 5. Sao chép từ 1. Đọc từ bàn phím 10 từ/chuỗi, thêm chúng vào danh sách chuỗi. 2. Phương thức doubleValues sẽ sao chép các từ theo mẫu: a,b,c → a,a,b,b,c,c. 3. Hiển thị kết quả. Mỗi phần tử của danh sách phải nằm trên một dòng mới. Sử dụng vòng lặp “for”. |
10 giáo sư
- Tôi tìm thấy bài giảng tuyệt vời của tôi! Vì vậy, hôm nay bạn sẽ có được những kiến thức quý giá nhất về mảng và danh sách. Đây là: Mẹo về ArrayList trong Java11 tháng 7
- Này, Amigo! Tôi rất vui vì bạn đã đương đầu với tất cả những điều này - bạn xứng đáng được nhận phần thưởng:12 Đội Trưởng Sóc
- Chào chú bộ đội! - Chào buổi sáng thưa ngài! - Tôi có một số tin tuyệt vời cho bạn. Đây là một kiểm tra nhanh để củng cố kỹ năng của bạn. Làm điều đó mỗi ngày và bạn sẽ nâng cao kỹ năng của mình thật nhanh. Các tác vụ được thiết kế đặc biệt để thực hiện trong Intellij IDEA.Các tác vụ bổ sung cần thực hiện trong Intellij Idea | |
---|---|
1 | 1. Hiển thị các số theo thứ tự ngược lại Đọc từ bàn phím 10 số và điền vào danh sách với chúng. Hiển thị ra màn hình các số theo thứ tự ngược lại. Sử dụng vòng lặp. |
2 | 2. Di chuyển M dòng đầu tiên đến cuối danh sách Đọc từ bàn phím 2 số: N và M . Đọc từ bàn phím N chuỗi và điền vào danh sách với chúng. Di chuyển M dòng đầu tiên đến cuối danh sách Hiển thị ra màn hình danh sách. Mỗi giá trị phải nằm trên một dòng mới. |
3 | 3. Số lớn nhất và nhỏ nhất trong mảng Tạo một mảng gồm 20 số. Điền nó với các số được đọc từ bàn phím. Tìm số lớn nhất và nhỏ nhất trong một mảng. Hiển thị ra màn hình số lớn nhất và số nhỏ nhất cách nhau một dấu cách. |
4 | 4. Đọc các chuỗi từ bàn phím cho đến khi người dùng nhập chuỗi “end” Tạo danh sách các chuỗi. Đọc từ các chuỗi bàn phím (bất cứ thứ gì bạn muốn), thêm chúng vào danh sách. Đọc chuỗi từ bàn phím cho đến khi người dùng nhập chuỗi “end”. "kết thúc" nên được bỏ qua. Hiển thị ra màn hình các chuỗi. Mỗi chuỗi phải nằm trên một dòng mới. |
5 | 5. Rầm! Viết chương trình đếm ngược từ 30 đến 0 và hiển thị «Bang!» cuối cùng. Chương trình sẽ giảm số lượng 10 lần mỗi giây. Sử dụng hàm bên dưới để chèn độ trễ: Thread.sleep(100); // độ trễ một phần mười giây. Ví dụ: 30 29 … 1 0 Bang! |
6 | 6. Family Tạo một lớp Human với các trường: String name , boolean sex , int age , Human father , Human mother . Tạo 9 đối tượng của lớp Human và điền vào chúng sao cho có 2 ông, 2 bà, 1 bố, 1 mẹ và 3 con. Hiển thị lên màn hình các đối tượng ra màn hình. Mẹo: Nếu bạn viết phương thức String toString() trong lớp Human, thì phương thức này sẽ được dùng để hiển thị một đối tượng. Đầu ra ví dụ: Tên: Anna, giới tính: nữ, tuổi: 21, bố: Paul, mẹ: Kate Tên: Kate, giới tính: nữ, tuổi: 55 Tên: Ian, giới tính: nam, tuổi: 2, bố: Michael, mẹ: Anna … |
7 | 7. Di chuyển một công cụ sửa đổi tĩnh Di chuyển một công cụ sửa đổi tĩnh để chương trình biên dịch. |
nhiệm vụ tiền thưởng | |
---|---|
1 | 1. Chương trình không biên dịch và chạy. Sửa nó. Nhiệm vụ: Đọc từ bàn phím dữ liệu về con mèo và hiển thị ra màn hình. Ví dụ: Tên mèo là Jinx, tuổi 6, cân nặng 5, đuôi = 22 Tên mèo là Maisy, tuổi 8, cân nặng 7, đuôi = 20 |
2 | 2. Thêm chức năng mới cho chương trình. Nhiệm vụ cũ: Chương trình đọc các chuỗi cho đến khi người dùng nhập một dòng trống bằng cách nhấn enter. Sau đó, nó chuyển chữ thường thành chữ hoa (Mom biến thành MOM) và hiển thị chúng trên màn hình. Nhiệm vụ mới: Chương trình sẽ đọc các chuỗi cho đến khi người dùng nhập một dòng trống bằng cách nhấn enter. Chương trình sau đó xây dựng một danh sách mới. Nếu chuỗi có số ký tự chẵn thì chuỗi được nhân đôi, nếu là số lẻ thì chuỗi được nhân ba. Đầu vào ví dụ: Cat Cats Me Ví dụ đầu ra: Cat Cat Cat Cats Cats Me Me |
3 | 3. Học và thực hành thuật toán. Đọc từ bàn phím 20 số và hiển thị theo thứ tự giảm dần. |
GO TO FULL VERSION