Add files using upload-large-folder tool
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- .gitattributes +5 -0
- 01 - Introduction/001 Homework.url +2 -0
- 01 - Introduction/001 Why Java and why this course What is JDK, JRE and JVM.mp4 +3 -0
- 01 - Introduction/001 Why Java and why this course What is JDK, JRE and JVM_en.srt +460 -0
- 01 - Introduction/002 Communication plan.mp4 +3 -0
- 01 - Introduction/002 Communication plan_en.srt +244 -0
- 01 - Introduction/002 Facebook-Page-with-Udemy-Coupons-from-Learn-IT-University.url +2 -0
- 01 - Introduction/002 Facebook-of-the-Tutor.url +2 -0
- 01 - Introduction/002 IT-Bulls-Company-Official-Web-Site.url +2 -0
- 01 - Introduction/002 Instagram-of-the-Tutor.url +2 -0
- 01 - Introduction/002 LinkedIn-IT-Bulls-company-official-page.url +2 -0
- 01 - Introduction/002 LinkedIn-of-the-Tutor.url +2 -0
- 01 - Introduction/002 Patreon-account-of-the-Tutor.url +2 -0
- 01 - Introduction/002 Telegram-Channel-with-Latest-News-and-important-information.url +2 -0
- 01 - Introduction/002 Youtube-channel-with-free-lessons-and-blog.url +2 -0
- 01 - Introduction/003 Tips to Improve Your Course Taking Experience.html +69 -0
- 01 - Introduction/004 Learn-IT-application-in-Play-Market.url +2 -0
- 01 - Introduction/004 Page-where-you-can-generate-FREE-bonus-code-for-your-self-to-remove-limits-in-Application.url +2 -0
- 01 - Introduction/004 Unlimited access to 'Learn IT' application for students.mp4 +3 -0
- 01 - Introduction/004 Unlimited access to 'Learn IT' application for students_en.srt +168 -0
- 01 - Introduction/005 Additional Free Learning Materials to Use During the Course.html +69 -0
- 01 - Introduction/external-links.txt +36 -0
- 02 - Java Basics/001 About Latest Java Version.html +69 -0
- 02 - Java Basics/002 Homework.url +2 -0
- 02 - Java Basics/002 How-to-set-up-env-variables-on-Mac-OS.url +2 -0
- 02 - Java Basics/002 JDK Installation_en.srt +468 -0
- 02 - Java Basics/003 First application Hello World App.mp4 +3 -0
- 02 - Java Basics/003 First application Hello World App_en.srt +692 -0
- 02 - Java Basics/003 Homework.url +2 -0
- 02 - Java Basics/004 .bat-file.url +2 -0
- 02 - Java Basics/004 Hello-World-Application.url +2 -0
- 02 - Java Basics/004 Homework Solution .bat file creation.mp4 +3 -0
- 02 - Java Basics/004 Homework Solution .bat file creation_en.srt +104 -0
- 02 - Java Basics/005 Homework.url +2 -0
- 02 - Java Basics/005 Integrated Development Environment, Eclipse Overview_en.srt +656 -0
- 02 - Java Basics/006 Comments in Java source code_en.srt +380 -0
- 02 - Java Basics/006 Homework.url +2 -0
- 02 - Java Basics/006 Source-code-of-the-example-used-in-the-lesson.url +2 -0
- 02 - Java Basics/007 Quiz Java Basics - Check yourself.html +69 -0
- 02 - Java Basics/external-links.txt +24 -0
- 03 - Primitive Data Types, Variables and Arrays/001 Homework.url +2 -0
- 03 - Primitive Data Types, Variables and Arrays/001 Primitive types and variables_en.srt +940 -0
- 03 - Primitive Data Types, Variables and Arrays/001 Source-code-of-the-example-used-in-the-lesson.url +2 -0
- 03 - Primitive Data Types, Variables and Arrays/002 Homework.url +2 -0
- 03 - Primitive Data Types, Variables and Arrays/002 Number Systems_en.srt +284 -0
- 03 - Primitive Data Types, Variables and Arrays/002 Source-code-of-the-example-used-in-the-lesson.url +2 -0
- 03 - Primitive Data Types, Variables and Arrays/003 Arrays_en.srt +776 -0
- 03 - Primitive Data Types, Variables and Arrays/003 Homework.url +2 -0
- 03 - Primitive Data Types, Variables and Arrays/003 Source-code-of-the-example-used-in-the-lesson.url +2 -0
- 03 - Primitive Data Types, Variables and Arrays/004 Quiz Primitive data types, variables and arrays - Check yourself.html +69 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,8 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
01[[:space:]]-[[:space:]]Introduction/002[[:space:]]Communication[[:space:]]plan.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
01[[:space:]]-[[:space:]]Introduction/001[[:space:]]Why[[:space:]]Java[[:space:]]and[[:space:]]why[[:space:]]this[[:space:]]course[[:space:]]What[[:space:]]is[[:space:]]JDK,[[:space:]]JRE[[:space:]]and[[:space:]]JVM.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
01[[:space:]]-[[:space:]]Introduction/004[[:space:]]Unlimited[[:space:]]access[[:space:]]to[[:space:]]'Learn[[:space:]]IT'[[:space:]]application[[:space:]]for[[:space:]]students.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 39 |
+
02[[:space:]]-[[:space:]]Java[[:space:]]Basics/004[[:space:]]Homework[[:space:]]Solution[[:space:]].bat[[:space:]]file[[:space:]]creation.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 40 |
+
02[[:space:]]-[[:space:]]Java[[:space:]]Basics/003[[:space:]]First[[:space:]]application[[:space:]]Hello[[:space:]]World[[:space:]]App.mp4 filter=lfs diff=lfs merge=lfs -text
|
01 - Introduction/001 Homework.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://docs.google.com/document/d/1c3didDgBNKOK87MOC_9OmXLWVX08l1Y15v9PbGlH_1s/edit?usp=sharing
|
01 - Introduction/001 Why Java and why this course What is JDK, JRE and JVM.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:17ea356aa32b902f5154cc89759791cb347e1299aef3796c5a3480e3a22593ff
|
| 3 |
+
size 80786044
|
01 - Introduction/001 Why Java and why this course What is JDK, JRE and JVM_en.srt
ADDED
|
@@ -0,0 +1,460 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
1
|
| 2 |
+
00:00:05,000 --> 00:00:10,000
|
| 3 |
+
Today, we won't do any coding today we'll have introductory lesson to let you understand what this
|
| 4 |
+
|
| 5 |
+
2
|
| 6 |
+
00:00:10,000 --> 00:00:12,000
|
| 7 |
+
training course is about and what we'll learn.
|
| 8 |
+
|
| 9 |
+
3
|
| 10 |
+
00:00:13,000 --> 00:00:15,000
|
| 11 |
+
Here's our agenda for today.
|
| 12 |
+
|
| 13 |
+
4
|
| 14 |
+
00:00:15,000 --> 00:00:19,000
|
| 15 |
+
So, first of all, I want to be completely honest and transparent with you.
|
| 16 |
+
|
| 17 |
+
5
|
| 18 |
+
00:00:19,000 --> 00:00:23,000
|
| 19 |
+
Nobody would hire you just because, you know, Java history.
|
| 20 |
+
|
| 21 |
+
6
|
| 22 |
+
00:00:23,000 --> 00:00:29,000
|
| 23 |
+
But still, I think this is part of your general education as a software engineer and will be interesting
|
| 24 |
+
|
| 25 |
+
7
|
| 26 |
+
00:00:29,000 --> 00:00:30,000
|
| 27 |
+
for you to know.
|
| 28 |
+
|
| 29 |
+
8
|
| 30 |
+
00:00:30,000 --> 00:00:36,000
|
| 31 |
+
Java was started as a project called Org by James Gosling in June 1990.
|
| 32 |
+
|
| 33 |
+
9
|
| 34 |
+
00:00:36,000 --> 00:00:43,000
|
| 35 |
+
First goslings goal was to implement a virtual machine and the language that had a familiar connotation,
|
| 36 |
+
|
| 37 |
+
10
|
| 38 |
+
00:00:43,000 --> 00:00:47,000
|
| 39 |
+
but with greater uniformity and simplicity and C or C++.
|
| 40 |
+
|
| 41 |
+
11
|
| 42 |
+
00:00:48,000 --> 00:00:51,000
|
| 43 |
+
The first public implementation was Java Version one.
|
| 44 |
+
|
| 45 |
+
12
|
| 46 |
+
00:00:51,000 --> 00:00:58,000
|
| 47 |
+
In 1990, Fyffes Orch was renamed as Java because it was already a trademark by Óg Technologies.
|
| 48 |
+
|
| 49 |
+
13
|
| 50 |
+
00:00:59,000 --> 00:01:05,000
|
| 51 |
+
Java made the promise of write once run anywhere with free runtime on all popular platforms.
|
| 52 |
+
|
| 53 |
+
14
|
| 54 |
+
00:01:06,000 --> 00:01:12,000
|
| 55 |
+
Major Web browsers soon incorporated it into their standard configuration insecure epaulet configuration.
|
| 56 |
+
|
| 57 |
+
15
|
| 58 |
+
00:01:13,000 --> 00:01:17,000
|
| 59 |
+
Java considered to be one of the most popular programming languages.
|
| 60 |
+
|
| 61 |
+
16
|
| 62 |
+
00:01:17,000 --> 00:01:23,000
|
| 63 |
+
Nowadays, a lot of people who are choosing which programming language to learn first opt for Java platform
|
| 64 |
+
|
| 65 |
+
17
|
| 66 |
+
00:01:23,000 --> 00:01:24,000
|
| 67 |
+
independence.
|
| 68 |
+
|
| 69 |
+
18
|
| 70 |
+
00:01:24,000 --> 00:01:29,000
|
| 71 |
+
Multitracking security is to learn some of the reasons of this back.
|
| 72 |
+
|
| 73 |
+
19
|
| 74 |
+
00:01:29,000 --> 00:01:35,000
|
| 75 |
+
That time, Sun Microsystems supported Java development, but Sun Microsystems was acquired by Oracle
|
| 76 |
+
|
| 77 |
+
20
|
| 78 |
+
00:01:35,000 --> 00:01:37,000
|
| 79 |
+
in January 2010.
|
| 80 |
+
|
| 81 |
+
21
|
| 82 |
+
00:01:37,000 --> 00:01:41,000
|
| 83 |
+
From that time, Oracle supports and developed Java as a platform.
|
| 84 |
+
|
| 85 |
+
22
|
| 86 |
+
00:01:42,000 --> 00:01:46,000
|
| 87 |
+
You will notice that official Java documentation is located on Oracle resources.
|
| 88 |
+
|
| 89 |
+
23
|
| 90 |
+
00:01:47,000 --> 00:01:52,000
|
| 91 |
+
So if you just start to learn programming, you might be wondering why you should start learning Java.
|
| 92 |
+
|
| 93 |
+
24
|
| 94 |
+
00:01:52,000 --> 00:01:56,000
|
| 95 |
+
What advantages does it have over other programming languages here?
|
| 96 |
+
|
| 97 |
+
25
|
| 98 |
+
00:01:56,000 --> 00:01:57,000
|
| 99 |
+
A few reasons.
|
| 100 |
+
|
| 101 |
+
26
|
| 102 |
+
00:01:58,000 --> 00:02:01,000
|
| 103 |
+
Probably the first reason is Java is easy to learn.
|
| 104 |
+
|
| 105 |
+
27
|
| 106 |
+
00:02:02,000 --> 00:02:06,000
|
| 107 |
+
Java doesn't require you to know anything about memory management to get started.
|
| 108 |
+
|
| 109 |
+
28
|
| 110 |
+
00:02:06,000 --> 00:02:11,000
|
| 111 |
+
You don't need to worry how to allocate memory for data, how to release memory afterwards.
|
| 112 |
+
|
| 113 |
+
29
|
| 114 |
+
00:02:11,000 --> 00:02:16,000
|
| 115 |
+
GBM and garbage collector I in charge of all memory management instead of you.
|
| 116 |
+
|
| 117 |
+
30
|
| 118 |
+
00:02:17,000 --> 00:02:23,000
|
| 119 |
+
Java is simpler, the syntax is much more readable and c C++ or any other language.
|
| 120 |
+
|
| 121 |
+
31
|
| 122 |
+
00:02:23,000 --> 00:02:24,000
|
| 123 |
+
Java.
|
| 124 |
+
|
| 125 |
+
32
|
| 126 |
+
00:02:24,000 --> 00:02:27,000
|
| 127 |
+
I strongly typed language which gets many newbie mistakes.
|
| 128 |
+
|
| 129 |
+
33
|
| 130 |
+
00:02:28,000 --> 00:02:31,000
|
| 131 |
+
Java source code should be compiler to the bytecode.
|
| 132 |
+
|
| 133 |
+
34
|
| 134 |
+
00:02:31,000 --> 00:02:37,000
|
| 135 |
+
Java compiler won't let you to compile code which will contain broken syntax or wouldn't be executed
|
| 136 |
+
|
| 137 |
+
35
|
| 138 |
+
00:02:37,000 --> 00:02:37,000
|
| 139 |
+
on GBM.
|
| 140 |
+
|
| 141 |
+
36
|
| 142 |
+
00:02:38,000 --> 00:02:42,000
|
| 143 |
+
Also, Java compiler will point out where exactly you have mistakes.
|
| 144 |
+
|
| 145 |
+
37
|
| 146 |
+
00:02:42,000 --> 00:02:45,000
|
| 147 |
+
That helps a lot to junior developers.
|
| 148 |
+
|
| 149 |
+
38
|
| 150 |
+
00:02:45,000 --> 00:02:48,000
|
| 151 |
+
Java can do everything by saying this.
|
| 152 |
+
|
| 153 |
+
39
|
| 154 |
+
00:02:48,000 --> 00:02:54,000
|
| 155 |
+
I mean with Java you have a tool which will allow you to create applications of any level of complexity.
|
| 156 |
+
|
| 157 |
+
40
|
| 158 |
+
00:02:55,000 --> 00:03:01,000
|
| 159 |
+
You will be able to implement mobile applications, desktop applications and complex enterprise solutions.
|
| 160 |
+
|
| 161 |
+
41
|
| 162 |
+
00:03:01,000 --> 00:03:05,000
|
| 163 |
+
Huge community and how this can help you.
|
| 164 |
+
|
| 165 |
+
42
|
| 166 |
+
00:03:05,000 --> 00:03:06,000
|
| 167 |
+
Let me explain.
|
| 168 |
+
|
| 169 |
+
43
|
| 170 |
+
00:03:06,000 --> 00:03:13,000
|
| 171 |
+
Java has strong community support, no matter what kind of questions, doubt or issue you have, Google
|
| 172 |
+
|
| 173 |
+
44
|
| 174 |
+
00:03:13,000 --> 00:03:15,000
|
| 175 |
+
can find answers for you.
|
| 176 |
+
|
| 177 |
+
45
|
| 178 |
+
00:03:15,000 --> 00:03:21,000
|
| 179 |
+
If not Google, then stack overflow Java forums and a lot of other communities are there to help you
|
| 180 |
+
|
| 181 |
+
46
|
| 182 |
+
00:03:21,000 --> 00:03:21,000
|
| 183 |
+
out.
|
| 184 |
+
|
| 185 |
+
47
|
| 186 |
+
00:03:22,000 --> 00:03:27,000
|
| 187 |
+
This is really the single biggest reason I suggest beginners learn to code using Java, because when
|
| 188 |
+
|
| 189 |
+
48
|
| 190 |
+
00:03:27,000 --> 00:03:32,000
|
| 191 |
+
you are starting to learn to program, you'll face with many different kinds of issues to understand
|
| 192 |
+
|
| 193 |
+
49
|
| 194 |
+
00:03:32,000 --> 00:03:38,000
|
| 195 |
+
for both programming fundamentals and Java, because there are millions of Java developers around and
|
| 196 |
+
|
| 197 |
+
50
|
| 198 |
+
00:03:38,000 --> 00:03:40,000
|
| 199 |
+
they communicate there to support.
|
| 200 |
+
|
| 201 |
+
51
|
| 202 |
+
00:03:40,000 --> 00:03:45,000
|
| 203 |
+
Most likely you will find answers quickly without getting frustrated and disappointed.
|
| 204 |
+
|
| 205 |
+
52
|
| 206 |
+
00:03:46,000 --> 00:03:47,000
|
| 207 |
+
And that's a reason to learn.
|
| 208 |
+
|
| 209 |
+
53
|
| 210 |
+
00:03:47,000 --> 00:03:48,000
|
| 211 |
+
Java is Android.
|
| 212 |
+
|
| 213 |
+
54
|
| 214 |
+
00:03:48,000 --> 00:03:54,000
|
| 215 |
+
I won't lie to you because I don't know the exact numbers, but I think you would agree with me that
|
| 216 |
+
|
| 217 |
+
55
|
| 218 |
+
00:03:54,000 --> 00:03:58,000
|
| 219 |
+
Android is most popular operating system for mobile devices in the world.
|
| 220 |
+
|
| 221 |
+
56
|
| 222 |
+
00:03:58,000 --> 00:04:03,000
|
| 223 |
+
If I'm not mistaken, around 70 percent of mobile devices are powered by Android.
|
| 224 |
+
|
| 225 |
+
57
|
| 226 |
+
00:04:04,000 --> 00:04:08,000
|
| 227 |
+
I rent a car recently during the business trip and it was Android after.
|
| 228 |
+
|
| 229 |
+
58
|
| 230 |
+
00:04:08,000 --> 00:04:15,000
|
| 231 |
+
Inside it, I went to the electronics store and there is a fridge with a computer built in and it was
|
| 232 |
+
|
| 233 |
+
59
|
| 234 |
+
00:04:15,000 --> 00:04:17,000
|
| 235 |
+
also powered by Android.
|
| 236 |
+
|
| 237 |
+
60
|
| 238 |
+
00:04:17,000 --> 00:04:18,000
|
| 239 |
+
What does it mean for you?
|
| 240 |
+
|
| 241 |
+
61
|
| 242 |
+
00:04:19,000 --> 00:04:22,000
|
| 243 |
+
That means knowing Java, you have a lot of job opportunities.
|
| 244 |
+
|
| 245 |
+
62
|
| 246 |
+
00:04:23,000 --> 00:04:30,000
|
| 247 |
+
GBM, a lot of modern languages realize that it is a good idea to use Java Virtual Machine to execute
|
| 248 |
+
|
| 249 |
+
63
|
| 250 |
+
00:04:30,000 --> 00:04:35,000
|
| 251 |
+
on programs because it's reliable, because it works fast, etc..
|
| 252 |
+
|
| 253 |
+
64
|
| 254 |
+
00:04:35,000 --> 00:04:42,000
|
| 255 |
+
That's why such language is Escala Kotlin Guruji also use Java Virtual Machine to execute programs for
|
| 256 |
+
|
| 257 |
+
65
|
| 258 |
+
00:04:42,000 --> 00:04:42,000
|
| 259 |
+
you.
|
| 260 |
+
|
| 261 |
+
66
|
| 262 |
+
00:04:42,000 --> 00:04:48,000
|
| 263 |
+
It means that knowing how GBM works, it would be easier to get up to speed with other languages.
|
| 264 |
+
|
| 265 |
+
67
|
| 266 |
+
00:04:48,000 --> 00:04:52,000
|
| 267 |
+
One of the biggest Java advantages is platform independence.
|
| 268 |
+
|
| 269 |
+
68
|
| 270 |
+
00:04:52,000 --> 00:04:58,000
|
| 271 |
+
Companies don't want to invest money to create programs for Mac operating system only and after that
|
| 272 |
+
|
| 273 |
+
69
|
| 274 |
+
00:04:58,000 --> 00:05:02,000
|
| 275 |
+
spend more money to create applications for Windows based systems.
|
| 276 |
+
|
| 277 |
+
70
|
| 278 |
+
00:05:02,000 --> 00:05:08,000
|
| 279 |
+
That's why a lot of companies opt for Java for own projects, we partially touch this topic quickly
|
| 280 |
+
|
| 281 |
+
71
|
| 282 |
+
00:05:08,000 --> 00:05:09,000
|
| 283 |
+
during the previous slide.
|
| 284 |
+
|
| 285 |
+
72
|
| 286 |
+
00:05:09,000 --> 00:05:16,000
|
| 287 |
+
But answering your question, what you will be able to implement with Jawa, the answer is with Java.
|
| 288 |
+
|
| 289 |
+
73
|
| 290 |
+
00:05:16,000 --> 00:05:19,000
|
| 291 |
+
You will be able to implement mobile, desktop and web applications.
|
| 292 |
+
|
| 293 |
+
74
|
| 294 |
+
00:05:20,000 --> 00:05:25,000
|
| 295 |
+
And no matter what you would read in the Internet, trust me, even today, company still creates desktop
|
| 296 |
+
|
| 297 |
+
75
|
| 298 |
+
00:05:25,000 --> 00:05:27,000
|
| 299 |
+
applications for different purposes.
|
| 300 |
+
|
| 301 |
+
76
|
| 302 |
+
00:05:27,000 --> 00:05:31,000
|
| 303 |
+
And Java is also one of the best options for such purposes.
|
| 304 |
+
|
| 305 |
+
77
|
| 306 |
+
00:05:32,000 --> 00:05:34,000
|
| 307 |
+
So today you heard a lot about GBM.
|
| 308 |
+
|
| 309 |
+
78
|
| 310 |
+
00:05:34,000 --> 00:05:38,000
|
| 311 |
+
Let's take a closer look what GBM, Jerry and JDK are.
|
| 312 |
+
|
| 313 |
+
79
|
| 314 |
+
00:05:39,000 --> 00:05:41,000
|
| 315 |
+
JVM stands for Java Virtual Machine.
|
| 316 |
+
|
| 317 |
+
80
|
| 318 |
+
00:05:42,000 --> 00:05:48,000
|
| 319 |
+
This is program written in C++, which is responsible for converting bytecode to machine specific code.
|
| 320 |
+
|
| 321 |
+
81
|
| 322 |
+
00:05:48,000 --> 00:05:53,000
|
| 323 |
+
DEVAM is the reason why Java is language considered to be platform independent.
|
| 324 |
+
|
| 325 |
+
82
|
| 326 |
+
00:05:53,000 --> 00:05:56,000
|
| 327 |
+
You will compile your source code to Java bytecode.
|
| 328 |
+
|
| 329 |
+
83
|
| 330 |
+
00:05:56,000 --> 00:06:03,000
|
| 331 |
+
After that, you execute your bytecode on GBM and there are a lot of implementations of GBM for different
|
| 332 |
+
|
| 333 |
+
84
|
| 334 |
+
00:06:03,000 --> 00:06:04,000
|
| 335 |
+
operating systems.
|
| 336 |
+
|
| 337 |
+
85
|
| 338 |
+
00:06:04,000 --> 00:06:12,000
|
| 339 |
+
So to execute Java code on MacBook, you just need GBM for Mac operating system installed Zaya to run
|
| 340 |
+
|
| 341 |
+
86
|
| 342 |
+
00:06:12,000 --> 00:06:13,000
|
| 343 |
+
bytecode on Windows.
|
| 344 |
+
|
| 345 |
+
87
|
| 346 |
+
00:06:13,000 --> 00:06:17,000
|
| 347 |
+
You just need Juban for Windows operating system installed there.
|
| 348 |
+
|
| 349 |
+
88
|
| 350 |
+
00:06:18,000 --> 00:06:24,000
|
| 351 |
+
The GBM is used for both translate the market into the machine language for a particular computer and
|
| 352 |
+
|
| 353 |
+
89
|
| 354 |
+
00:06:24,000 --> 00:06:28,000
|
| 355 |
+
actually execute the corresponding machine language instructions as well.
|
| 356 |
+
|
| 357 |
+
90
|
| 358 |
+
00:06:28,000 --> 00:06:32,000
|
| 359 |
+
Without the GBM, you can't run a job application.
|
| 360 |
+
|
| 361 |
+
91
|
| 362 |
+
00:06:33,000 --> 00:06:36,000
|
| 363 |
+
Jerry stands for Java Runtime Environment.
|
| 364 |
+
|
| 365 |
+
92
|
| 366 |
+
00:06:37,000 --> 00:06:43,000
|
| 367 |
+
Jerry includes JVM in itself, plus Java binaries and classes which are needed to execute program.
|
| 368 |
+
|
| 369 |
+
93
|
| 370 |
+
00:06:44,000 --> 00:06:49,000
|
| 371 |
+
Back in the past I developed desktop application which I used to sell in the Internet domains.
|
| 372 |
+
|
| 373 |
+
94
|
| 374 |
+
00:06:49,000 --> 00:06:51,000
|
| 375 |
+
Its application run on the computer.
|
| 376 |
+
|
| 377 |
+
95
|
| 378 |
+
00:06:51,000 --> 00:06:58,000
|
| 379 |
+
So my clients, I had a journey to my installation file that what I needed to do to not force my clients
|
| 380 |
+
|
| 381 |
+
96
|
| 382 |
+
00:06:58,000 --> 00:07:00,000
|
| 383 |
+
to install Java by themselves.
|
| 384 |
+
|
| 385 |
+
97
|
| 386 |
+
00:07:01,000 --> 00:07:03,000
|
| 387 |
+
Jaedicke stands for Java Development Kit.
|
| 388 |
+
|
| 389 |
+
98
|
| 390 |
+
00:07:03,000 --> 00:07:11,000
|
| 391 |
+
Judicature contains GBM and Jerry plus all tools which are necessary for development of Java programs.
|
| 392 |
+
|
| 393 |
+
99
|
| 394 |
+
00:07:11,000 --> 00:07:17,000
|
| 395 |
+
For example, you need to have compiler to compile your Java source code to bytecode compiler goals
|
| 396 |
+
|
| 397 |
+
100
|
| 398 |
+
00:07:17,000 --> 00:07:20,000
|
| 399 |
+
which adjudicate but not included in January.
|
| 400 |
+
|
| 401 |
+
101
|
| 402 |
+
00:07:20,000 --> 00:07:24,000
|
| 403 |
+
Let's pretend you need to make your application line by line.
|
| 404 |
+
|
| 405 |
+
102
|
| 406 |
+
00:07:24,000 --> 00:07:31,000
|
| 407 |
+
You have the Barga in GDP because it is not needed in January or you want to create documentation out
|
| 408 |
+
|
| 409 |
+
103
|
| 410 |
+
00:07:31,000 --> 00:07:32,000
|
| 411 |
+
from your source code.
|
| 412 |
+
|
| 413 |
+
104
|
| 414 |
+
00:07:32,000 --> 00:07:33,000
|
| 415 |
+
In JDK.
|
| 416 |
+
|
| 417 |
+
105
|
| 418 |
+
00:07:33,000 --> 00:07:37,000
|
| 419 |
+
You have Javadoc program which will generate documentation from your source code.
|
| 420 |
+
|
| 421 |
+
106
|
| 422 |
+
00:07:37,000 --> 00:07:43,000
|
| 423 |
+
So if you're a developer, you need to educate, will download and install, adjudicate in the next
|
| 424 |
+
|
| 425 |
+
107
|
| 426 |
+
00:07:43,000 --> 00:07:43,000
|
| 427 |
+
lesson.
|
| 428 |
+
|
| 429 |
+
108
|
| 430 |
+
00:07:44,000 --> 00:07:46,000
|
| 431 |
+
That is all what I got for you for today.
|
| 432 |
+
|
| 433 |
+
109
|
| 434 |
+
00:07:47,000 --> 00:07:49,000
|
| 435 |
+
Let's take a look at your homework.
|
| 436 |
+
|
| 437 |
+
110
|
| 438 |
+
00:07:49,000 --> 00:07:52,000
|
| 439 |
+
Your first homework wouldn't be very complicated.
|
| 440 |
+
|
| 441 |
+
111
|
| 442 |
+
00:07:52,000 --> 00:07:56,000
|
| 443 |
+
Here's the list of recommended literature and books to read during the training course.
|
| 444 |
+
|
| 445 |
+
112
|
| 446 |
+
00:07:57,000 --> 00:08:02,000
|
| 447 |
+
You can find them in the Google and Download is a PDF version or to buy hard copy.
|
| 448 |
+
|
| 449 |
+
113
|
| 450 |
+
00:08:02,000 --> 00:08:07,000
|
| 451 |
+
Here is also a chapter to read by the next lesson during the video lessons.
|
| 452 |
+
|
| 453 |
+
114
|
| 454 |
+
00:08:07,000 --> 00:08:13,000
|
| 455 |
+
Definitely I will cover core concepts, best practices, but still I would optionally recommend it to
|
| 456 |
+
|
| 457 |
+
115
|
| 458 |
+
00:08:13,000 --> 00:08:16,000
|
| 459 |
+
read books to have different point of view on the same topics.
|
| 460 |
+
|
01 - Introduction/002 Communication plan.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:14afd60948dfa870720f8e6e786d498526e410f0faf3caff14679cb1107300e3
|
| 3 |
+
size 82578060
|
01 - Introduction/002 Communication plan_en.srt
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
1
|
| 2 |
+
00:00:05,000 --> 00:00:11,000
|
| 3 |
+
In this video, we'll discuss how we are going to communicate to make sure the cloning process is efficient.
|
| 4 |
+
|
| 5 |
+
2
|
| 6 |
+
00:00:12,000 --> 00:00:17,000
|
| 7 |
+
We'll review where to ask questions, how to ask questions, and we'll review communication channels
|
| 8 |
+
|
| 9 |
+
3
|
| 10 |
+
00:00:17,000 --> 00:00:17,000
|
| 11 |
+
which exist.
|
| 12 |
+
|
| 13 |
+
4
|
| 14 |
+
00:00:17,000 --> 00:00:20,000
|
| 15 |
+
So you could reach out to me to start with.
|
| 16 |
+
|
| 17 |
+
5
|
| 18 |
+
00:00:20,000 --> 00:00:26,000
|
| 19 |
+
I would like to emphasize the importance of establishing communication during this course, because
|
| 20 |
+
|
| 21 |
+
6
|
| 22 |
+
00:00:26,000 --> 00:00:31,000
|
| 23 |
+
one of the main differences between offline and online learning is availability of the kutcha.
|
| 24 |
+
|
| 25 |
+
7
|
| 26 |
+
00:00:32,000 --> 00:00:38,000
|
| 27 |
+
When I teach offline, I can just take my students laptop and is a to help him to fix, quote, understand
|
| 28 |
+
|
| 29 |
+
8
|
| 30 |
+
00:00:38,000 --> 00:00:44,000
|
| 31 |
+
the root cause of the issue and help students understand better what is wrong during online learning.
|
| 32 |
+
|
| 33 |
+
9
|
| 34 |
+
00:00:44,000 --> 00:00:46,000
|
| 35 |
+
It doesn't work that way.
|
| 36 |
+
|
| 37 |
+
10
|
| 38 |
+
00:00:46,000 --> 00:00:51,000
|
| 39 |
+
So what I would suggest I encourage you to ask as many questions as you can.
|
| 40 |
+
|
| 41 |
+
11
|
| 42 |
+
00:00:51,000 --> 00:00:57,000
|
| 43 |
+
You can leave all your questions and the comments right under the vigor in case there will be interesting
|
| 44 |
+
|
| 45 |
+
12
|
| 46 |
+
00:00:57,000 --> 00:00:58,000
|
| 47 |
+
questions.
|
| 48 |
+
|
| 49 |
+
13
|
| 50 |
+
00:00:58,000 --> 00:01:01,000
|
| 51 |
+
I will even make of your answers to some of those.
|
| 52 |
+
|
| 53 |
+
14
|
| 54 |
+
00:01:01,000 --> 00:01:08,000
|
| 55 |
+
But to be able to answer your questions in efficient way, please put as much details to your question
|
| 56 |
+
|
| 57 |
+
15
|
| 58 |
+
00:01:08,000 --> 00:01:08,000
|
| 59 |
+
as you can.
|
| 60 |
+
|
| 61 |
+
16
|
| 62 |
+
00:01:09,000 --> 00:01:14,000
|
| 63 |
+
For example, here two examples, which describes the same issue as the first one.
|
| 64 |
+
|
| 65 |
+
17
|
| 66 |
+
00:01:14,000 --> 00:01:16,000
|
| 67 |
+
And could you please help?
|
| 68 |
+
|
| 69 |
+
18
|
| 70 |
+
00:01:16,000 --> 00:01:19,000
|
| 71 |
+
When I try to run this code, I have compilation error.
|
| 72 |
+
|
| 73 |
+
19
|
| 74 |
+
00:01:19,000 --> 00:01:20,000
|
| 75 |
+
What should I do?
|
| 76 |
+
|
| 77 |
+
20
|
| 78 |
+
00:01:21,000 --> 00:01:22,000
|
| 79 |
+
So here are a few questions.
|
| 80 |
+
|
| 81 |
+
21
|
| 82 |
+
00:01:22,000 --> 00:01:29,000
|
| 83 |
+
What is this called quote from lecture or from your homework or from examples provided when you see
|
| 84 |
+
|
| 85 |
+
22
|
| 86 |
+
00:01:29,000 --> 00:01:32,000
|
| 87 |
+
compilation error, how does the error message look like?
|
| 88 |
+
|
| 89 |
+
23
|
| 90 |
+
00:01:33,000 --> 00:01:38,000
|
| 91 |
+
And since I don't have physical access to your laptop, answering your question can take longer than
|
| 92 |
+
|
| 93 |
+
24
|
| 94 |
+
00:01:38,000 --> 00:01:40,000
|
| 95 |
+
it was initially expected by you.
|
| 96 |
+
|
| 97 |
+
25
|
| 98 |
+
00:01:41,000 --> 00:01:45,000
|
| 99 |
+
Let's review the second example and we want to try to execute this code.
|
| 100 |
+
|
| 101 |
+
26
|
| 102 |
+
00:01:46,000 --> 00:01:52,000
|
| 103 |
+
I see compilation error skarner cannot be resolved to a type where I should look at to fix this issue.
|
| 104 |
+
|
| 105 |
+
27
|
| 106 |
+
00:01:53,000 --> 00:01:58,000
|
| 107 |
+
From this message, it's clear to me that most likely you forgot to write an impact statement on the
|
| 108 |
+
|
| 109 |
+
28
|
| 110 |
+
00:01:58,000 --> 00:02:04,000
|
| 111 |
+
top of your Java file, and it will be easy for me to help you with answer and code example to fix.
|
| 112 |
+
|
| 113 |
+
29
|
| 114 |
+
00:02:05,000 --> 00:02:06,000
|
| 115 |
+
So hope you feel the difference.
|
| 116 |
+
|
| 117 |
+
30
|
| 118 |
+
00:02:07,000 --> 00:02:10,000
|
| 119 |
+
What are the communications channels you can use?
|
| 120 |
+
|
| 121 |
+
31
|
| 122 |
+
00:02:10,000 --> 00:02:14,000
|
| 123 |
+
I'm here to help you to find your first job in software engineering.
|
| 124 |
+
|
| 125 |
+
32
|
| 126 |
+
00:02:15,000 --> 00:02:19,000
|
| 127 |
+
We can connect and link them and I can confirm your skills on your request.
|
| 128 |
+
|
| 129 |
+
33
|
| 130 |
+
00:02:19,000 --> 00:02:21,000
|
| 131 |
+
Why you need to use LinkedIn.
|
| 132 |
+
|
| 133 |
+
34
|
| 134 |
+
00:02:21,000 --> 00:02:27,000
|
| 135 |
+
Recruiters in I.T. consultancy often use the social network while looking for candidates.
|
| 136 |
+
|
| 137 |
+
35
|
| 138 |
+
00:02:27,000 --> 00:02:31,000
|
| 139 |
+
So feel free to add me to your network and we'll stay in touch.
|
| 140 |
+
|
| 141 |
+
36
|
| 142 |
+
00:02:32,000 --> 00:02:38,000
|
| 143 |
+
Also, in case you'll have some ideas to run your own startup, do not hesitate to reach out directly
|
| 144 |
+
|
| 145 |
+
37
|
| 146 |
+
00:02:38,000 --> 00:02:39,000
|
| 147 |
+
to me and LinkedIn.
|
| 148 |
+
|
| 149 |
+
38
|
| 150 |
+
00:02:39,000 --> 00:02:46,000
|
| 151 |
+
My company is always looking for fresh ideas and we can think through how we can build when win collaboration.
|
| 152 |
+
|
| 153 |
+
39
|
| 154 |
+
00:02:47,000 --> 00:02:47,000
|
| 155 |
+
Instagram.
|
| 156 |
+
|
| 157 |
+
40
|
| 158 |
+
00:02:48,000 --> 00:02:49,000
|
| 159 |
+
I love Instagram.
|
| 160 |
+
|
| 161 |
+
41
|
| 162 |
+
00:02:50,000 --> 00:02:54,000
|
| 163 |
+
We can use Instagram for informal communication, will become friends.
|
| 164 |
+
|
| 165 |
+
42
|
| 166 |
+
00:02:54,000 --> 00:02:59,000
|
| 167 |
+
Who knows, probably in the future you will implement a new Facebook and I will be able to apply for
|
| 168 |
+
|
| 169 |
+
43
|
| 170 |
+
00:02:59,000 --> 00:03:02,000
|
| 171 |
+
a job in your company or we will build something together.
|
| 172 |
+
|
| 173 |
+
44
|
| 174 |
+
00:03:02,000 --> 00:03:08,000
|
| 175 |
+
I do love traveling and probably sometime in the future I will be able to meet anyone who are watching
|
| 176 |
+
|
| 177 |
+
45
|
| 178 |
+
00:03:08,000 --> 00:03:10,000
|
| 179 |
+
this video in their country.
|
| 180 |
+
|
| 181 |
+
46
|
| 182 |
+
00:03:10,000 --> 00:03:12,000
|
| 183 |
+
Or you can visit me if you wish.
|
| 184 |
+
|
| 185 |
+
47
|
| 186 |
+
00:03:12,000 --> 00:03:14,000
|
| 187 |
+
Subscribe to me on Instagram.
|
| 188 |
+
|
| 189 |
+
48
|
| 190 |
+
00:03:14,000 --> 00:03:16,000
|
| 191 |
+
You can find my nickname here.
|
| 192 |
+
|
| 193 |
+
49
|
| 194 |
+
00:03:17,000 --> 00:03:22,000
|
| 195 |
+
Also, important thing to know in case a new course will be started or some events are going to happen,
|
| 196 |
+
|
| 197 |
+
50
|
| 198 |
+
00:03:22,000 --> 00:03:25,000
|
| 199 |
+
like online streams on YouTube or something else.
|
| 200 |
+
|
| 201 |
+
51
|
| 202 |
+
00:03:25,000 --> 00:03:31,000
|
| 203 |
+
You will learn this from the post or from the Instagram stories and definitely Facebook.
|
| 204 |
+
|
| 205 |
+
52
|
| 206 |
+
00:03:31,000 --> 00:03:35,000
|
| 207 |
+
I don't spend here too much time and I'm replying faster in Instagram.
|
| 208 |
+
|
| 209 |
+
53
|
| 210 |
+
00:03:35,000 --> 00:03:39,000
|
| 211 |
+
But in case you don't have Instagram, I'm still thinking how to reach out to me.
|
| 212 |
+
|
| 213 |
+
54
|
| 214 |
+
00:03:39,000 --> 00:03:43,000
|
| 215 |
+
You can find me in Facebook to support our community.
|
| 216 |
+
|
| 217 |
+
55
|
| 218 |
+
00:03:43,000 --> 00:03:46,000
|
| 219 |
+
We also have telegrammed Channel and Trigram Channel.
|
| 220 |
+
|
| 221 |
+
56
|
| 222 |
+
00:03:46,000 --> 00:03:52,000
|
| 223 |
+
You will find the latest updates about promotional deals, about special offers, discounts, job opportunities
|
| 224 |
+
|
| 225 |
+
57
|
| 226 |
+
00:03:52,000 --> 00:03:53,000
|
| 227 |
+
and lots more.
|
| 228 |
+
|
| 229 |
+
58
|
| 230 |
+
00:03:54,000 --> 00:03:58,000
|
| 231 |
+
Subscribe to our telegrammed channel now to not miss important updates and news.
|
| 232 |
+
|
| 233 |
+
59
|
| 234 |
+
00:03:59,000 --> 00:04:01,000
|
| 235 |
+
That's all what I wanted to share with you guys.
|
| 236 |
+
|
| 237 |
+
60
|
| 238 |
+
00:04:01,000 --> 00:04:07,000
|
| 239 |
+
So now I'm sure that we are able to build communication which will help us to build our learning process
|
| 240 |
+
|
| 241 |
+
61
|
| 242 |
+
00:04:07,000 --> 00:04:09,000
|
| 243 |
+
even in a more efficient manner.
|
| 244 |
+
|
01 - Introduction/002 Facebook-Page-with-Udemy-Coupons-from-Learn-IT-University.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://www.facebook.com/learnituniversity/
|
01 - Introduction/002 Facebook-of-the-Tutor.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://www.facebook.com/andrey.pyatakha
|
01 - Introduction/002 IT-Bulls-Company-Official-Web-Site.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://it-bulls.com/
|
01 - Introduction/002 Instagram-of-the-Tutor.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://www.instagram.com/andrey_pyatakha/
|
01 - Introduction/002 LinkedIn-IT-Bulls-company-official-page.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://www.linkedin.com/company/14782153
|
01 - Introduction/002 LinkedIn-of-the-Tutor.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://www.linkedin.com/in/andrii-piatakha/
|
01 - Introduction/002 Patreon-account-of-the-Tutor.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://www.patreon.com/Andrii_Piatakha
|
01 - Introduction/002 Telegram-Channel-with-Latest-News-and-important-information.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://docs.google.com/document/d/1zZpe3bVqS6LYnUUIePL8eXm8p7jSgvnt9hRW7tGRHnw/edit?usp=sharing
|
01 - Introduction/002 Youtube-channel-with-free-lessons-and-blog.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://www.youtube.com/c/ITBulls
|
01 - Introduction/003 Tips to Improve Your Course Taking Experience.html
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8" />
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
| 6 |
+
<title>Tips to Improve Your Course Taking Experience</title>
|
| 7 |
+
|
| 8 |
+
<style>
|
| 9 |
+
* {
|
| 10 |
+
box-sizing: border-box;
|
| 11 |
+
margin: 0;
|
| 12 |
+
padding: 0;
|
| 13 |
+
}
|
| 14 |
+
body {
|
| 15 |
+
font-family: var(--font-stack-text);
|
| 16 |
+
font-weight: 400;
|
| 17 |
+
line-height: 1.4;
|
| 18 |
+
font-size: 1.6rem;
|
| 19 |
+
color: #2d2f31;
|
| 20 |
+
}
|
| 21 |
+
.container {
|
| 22 |
+
position: relative;
|
| 23 |
+
height: 100%;
|
| 24 |
+
overflow-y: auto;
|
| 25 |
+
}
|
| 26 |
+
.content {
|
| 27 |
+
padding: 3.2rem 4.8rem;
|
| 28 |
+
word-break: break-word;
|
| 29 |
+
max-width: 69.6rem;
|
| 30 |
+
margin: 0 auto;
|
| 31 |
+
}
|
| 32 |
+
.heading {
|
| 33 |
+
margin-bottom: 24px;
|
| 34 |
+
font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", Helvetica, Arial, sans-serif,
|
| 35 |
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
| 36 |
+
font-weight: 700;
|
| 37 |
+
line-height: 1.2;
|
| 38 |
+
letter-spacing: 0;
|
| 39 |
+
font-size: 32px;
|
| 40 |
+
max-width: 36em;
|
| 41 |
+
}
|
| 42 |
+
.article-asset-container {
|
| 43 |
+
padding: 2.4rem;
|
| 44 |
+
}
|
| 45 |
+
.article-asset-container p {
|
| 46 |
+
font-size: 19px;
|
| 47 |
+
}
|
| 48 |
+
code {
|
| 49 |
+
background-color: #fff;
|
| 50 |
+
border: 1px solid #d1d7dc;
|
| 51 |
+
color: #b4690e;
|
| 52 |
+
font-size: 80%;
|
| 53 |
+
padding: 0.2rem 0.4rem;
|
| 54 |
+
font-family: sfmono-regular, Consolas, liberation mono, Menlo, Courier, monospace;
|
| 55 |
+
}
|
| 56 |
+
p {
|
| 57 |
+
font-weight: 400;
|
| 58 |
+
}
|
| 59 |
+
</style>
|
| 60 |
+
</head>
|
| 61 |
+
<body>
|
| 62 |
+
<div class="container">
|
| 63 |
+
<div class="content">
|
| 64 |
+
<div class="heading">Tips to Improve Your Course Taking Experience</div>
|
| 65 |
+
<div class="article-asset-container"><p>Hello team,</p><p>A really quick note before we continue to help improve your course-taking experience. </p><p>- In the video player - you can change the speed of the video. Just change the playback rate </p><p><br></p><figure><img height="287" src="https://img-c.udemycdn.com/redactor/raw/article_lecture/2021-08-26_00-22-43-a4f01af031d400e9b645398789c9ec7a.png" width="537"></figure><p>- You can turn on subtitles. They will not be 100% accurate, because all captions are auto-generated but still, this may help you to understand some pieces better. </p><p><br></p><figure><img height="282" src="https://img-c.udemycdn.com/redactor/raw/article_lecture/2021-08-26_00-23-56-eab16b0bd93168ad35a8ee848a848606.jpg" width="537"></figure><p>- And if you want you can open the full transcript of the lesson. This is the auto-generated transcript, that's why it might not be 100% accurate.</p><figure><img height="295" src="https://img-c.udemycdn.com/redactor/raw/article_lecture/2021-08-26_00-24-50-7ebd78db99cbdd54179fba42211a5e12.jpg" width="741"></figure><p><br></p><p>Lastly, Udemy will soon prompt you for a review, if this hasn't been done so far already. Your review truly helps other students know whether this is the right course for them. It also helps me know whether I'm doing a great course, or if there are specific areas for improvement. </p><figure><img height="286" src="https://img-c.udemycdn.com/redactor/raw/article_lecture/2021-08-26_00-27-03-3c2dd0db47f1fa059b1c1c0abc1a345b.jpg" width="575"></figure><p>If you are not ready to leave a review - you can click the 'Ask me later' button. But if you do leave a review I truly appreciate it and thank you. </p><figure><img height="287" src="https://img-c.udemycdn.com/redactor/raw/article_lecture/2021-08-26_00-28-02-260e70c2e4f95a83522a8dc742e15e32.jpg" width="563"></figure><p><br></p><p><br></p><p>Alright. Let's continue. I hope you enjoy the rest of the course :)</p></div>
|
| 66 |
+
</div>
|
| 67 |
+
</div>
|
| 68 |
+
</body>
|
| 69 |
+
</html>
|
01 - Introduction/004 Learn-IT-application-in-Play-Market.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://play.google.com/store/apps/details?id=com.itbulls.learnit.java.certification
|
01 - Introduction/004 Page-where-you-can-generate-FREE-bonus-code-for-your-self-to-remove-limits-in-Application.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://it-bulls.com/learn-it/generatePromoCodes.html
|
01 - Introduction/004 Unlimited access to 'Learn IT' application for students.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:70a33e9858ae4f12d760e8966b36e1b1f18e4436c5198bbfaf9060fa97196030
|
| 3 |
+
size 23605092
|
01 - Introduction/004 Unlimited access to 'Learn IT' application for students_en.srt
ADDED
|
@@ -0,0 +1,168 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
1
|
| 2 |
+
00:00:05,000 --> 00:00:11,000
|
| 3 |
+
Today, I will share with you information how my students can get unlimited access to learning at application,
|
| 4 |
+
|
| 5 |
+
2
|
| 6 |
+
00:00:11,000 --> 00:00:14,000
|
| 7 |
+
which will help you to be prepared for an interview.
|
| 8 |
+
|
| 9 |
+
3
|
| 10 |
+
00:00:14,000 --> 00:00:18,000
|
| 11 |
+
Also, you can use this app to test yourself during the training course.
|
| 12 |
+
|
| 13 |
+
4
|
| 14 |
+
00:00:18,000 --> 00:00:24,000
|
| 15 |
+
In the app, you can find different test group by topics with possibility to view correct answers with
|
| 16 |
+
|
| 17 |
+
5
|
| 18 |
+
00:00:24,000 --> 00:00:25,000
|
| 19 |
+
explanations afterwards.
|
| 20 |
+
|
| 21 |
+
6
|
| 22 |
+
00:00:26,000 --> 00:00:31,000
|
| 23 |
+
Right now, this application only available for Android devices and we are working on releasing an app
|
| 24 |
+
|
| 25 |
+
7
|
| 26 |
+
00:00:31,000 --> 00:00:34,000
|
| 27 |
+
store to make it available for iPhones.
|
| 28 |
+
|
| 29 |
+
8
|
| 30 |
+
00:00:34,000 --> 00:00:39,000
|
| 31 |
+
Also inside the app, you can complete certification, get certificate, which will prove your knowledge.
|
| 32 |
+
|
| 33 |
+
9
|
| 34 |
+
00:00:39,000 --> 00:00:46,000
|
| 35 |
+
You can use the link to the certificate in your resume or in your LinkedIn profile like I do for everyone.
|
| 36 |
+
|
| 37 |
+
10
|
| 38 |
+
00:00:46,000 --> 00:00:52,000
|
| 39 |
+
Each certification Gascoigne's, which you can earn inside the application, but only for my students.
|
| 40 |
+
|
| 41 |
+
11
|
| 42 |
+
00:00:52,000 --> 00:00:55,000
|
| 43 |
+
There is a bonus code which removes this restriction.
|
| 44 |
+
|
| 45 |
+
12
|
| 46 |
+
00:00:55,000 --> 00:01:00,000
|
| 47 |
+
And now I will show you how you can get unlimited number of attempts to complete certification inside
|
| 48 |
+
|
| 49 |
+
13
|
| 50 |
+
00:01:00,000 --> 00:01:01,000
|
| 51 |
+
the app.
|
| 52 |
+
|
| 53 |
+
14
|
| 54 |
+
00:01:02,000 --> 00:01:05,000
|
| 55 |
+
So first of all, you need to download and install the application on your mobile.
|
| 56 |
+
|
| 57 |
+
15
|
| 58 |
+
00:01:06,000 --> 00:01:09,000
|
| 59 |
+
After that, you need to register your account.
|
| 60 |
+
|
| 61 |
+
16
|
| 62 |
+
00:01:09,000 --> 00:01:16,000
|
| 63 |
+
You can use login with Facebook button to create account in one click here in case you try to buy certification.
|
| 64 |
+
|
| 65 |
+
17
|
| 66 |
+
00:01:16,000 --> 00:01:20,000
|
| 67 |
+
You won't be able to do that because you don't have enough coins.
|
| 68 |
+
|
| 69 |
+
18
|
| 70 |
+
00:01:20,000 --> 00:01:24,000
|
| 71 |
+
Now go to my account settings in case you use the login with Facebook.
|
| 72 |
+
|
| 73 |
+
19
|
| 74 |
+
00:01:24,000 --> 00:01:26,000
|
| 75 |
+
Your nickname by default might look like this.
|
| 76 |
+
|
| 77 |
+
20
|
| 78 |
+
00:01:28,000 --> 00:01:32,000
|
| 79 |
+
In case you use registration form, you can choose nicknamed Dewan's Registration.
|
| 80 |
+
|
| 81 |
+
21
|
| 82 |
+
00:01:33,000 --> 00:01:36,000
|
| 83 |
+
But this new claim, you can always change.
|
| 84 |
+
|
| 85 |
+
22
|
| 86 |
+
00:01:36,000 --> 00:01:38,000
|
| 87 |
+
So let's change it to Andre Batalha.
|
| 88 |
+
|
| 89 |
+
23
|
| 90 |
+
00:01:39,000 --> 00:01:46,000
|
| 91 |
+
Now you need to open a special page on our website, you can find the link here and also added to description
|
| 92 |
+
|
| 93 |
+
24
|
| 94 |
+
00:01:46,000 --> 00:01:47,000
|
| 95 |
+
to this video.
|
| 96 |
+
|
| 97 |
+
25
|
| 98 |
+
00:01:48,000 --> 00:01:50,000
|
| 99 |
+
Guideline is simple based nickname here.
|
| 100 |
+
|
| 101 |
+
26
|
| 102 |
+
00:01:55,000 --> 00:02:03,000
|
| 103 |
+
And now use a special authorization token that I shared only with my students, a capital C lower case,
|
| 104 |
+
|
| 105 |
+
27
|
| 106 |
+
00:02:03,000 --> 00:02:08,000
|
| 107 |
+
our capital 18, K Capital L Capital W..
|
| 108 |
+
|
| 109 |
+
28
|
| 110 |
+
00:02:09,000 --> 00:02:12,000
|
| 111 |
+
I will also leave this information in the lesson description.
|
| 112 |
+
|
| 113 |
+
29
|
| 114 |
+
00:02:12,000 --> 00:02:19,000
|
| 115 |
+
So once you see confirmation that defecation go back to the application, no, again, to account settings
|
| 116 |
+
|
| 117 |
+
30
|
| 118 |
+
00:02:19,000 --> 00:02:25,000
|
| 119 |
+
and now you'll see that you have promo codes set up and now you can test certification without any limitations.
|
| 120 |
+
|
| 121 |
+
31
|
| 122 |
+
00:02:25,000 --> 00:02:27,000
|
| 123 |
+
Congratulations, Jim.
|
| 124 |
+
|
| 125 |
+
32
|
| 126 |
+
00:02:27,000 --> 00:02:32,000
|
| 127 |
+
In case you like this app, please share it with your friends in the social networks.
|
| 128 |
+
|
| 129 |
+
33
|
| 130 |
+
00:02:32,000 --> 00:02:34,000
|
| 131 |
+
I would much appreciate this.
|
| 132 |
+
|
| 133 |
+
34
|
| 134 |
+
00:02:34,000 --> 00:02:39,000
|
| 135 |
+
Also, in case you have two more seconds, please read this app in the Google Play market.
|
| 136 |
+
|
| 137 |
+
35
|
| 138 |
+
00:02:39,000 --> 00:02:42,000
|
| 139 |
+
Your feedback's will help other people to find this application.
|
| 140 |
+
|
| 141 |
+
36
|
| 142 |
+
00:02:42,000 --> 00:02:48,000
|
| 143 |
+
And if you have ideas or suggestions how we can improve this app, please do not hesitate to write directly
|
| 144 |
+
|
| 145 |
+
37
|
| 146 |
+
00:02:48,000 --> 00:02:53,000
|
| 147 |
+
to me in Instagram or Facebook or submit feedback form on our website.
|
| 148 |
+
|
| 149 |
+
38
|
| 150 |
+
00:02:53,000 --> 00:02:59,000
|
| 151 |
+
I need this application with all my heart for you and also come up with the best test, which I can
|
| 152 |
+
|
| 153 |
+
39
|
| 154 |
+
00:02:59,000 --> 00:03:03,000
|
| 155 |
+
think of and which some companies use nowadays in the interview process.
|
| 156 |
+
|
| 157 |
+
40
|
| 158 |
+
00:03:03,000 --> 00:03:09,000
|
| 159 |
+
Thanks in advance team for sharing information about this app in your social networks and for leaving
|
| 160 |
+
|
| 161 |
+
41
|
| 162 |
+
00:03:09,000 --> 00:03:12,000
|
| 163 |
+
feedback on the page of application in Google Play market.
|
| 164 |
+
|
| 165 |
+
42
|
| 166 |
+
00:03:12,000 --> 00:03:15,000
|
| 167 |
+
Be sure your contribution really matters.
|
| 168 |
+
|
01 - Introduction/005 Additional Free Learning Materials to Use During the Course.html
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8" />
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
| 6 |
+
<title>Additional Free Learning Materials to Use During the Course</title>
|
| 7 |
+
|
| 8 |
+
<style>
|
| 9 |
+
* {
|
| 10 |
+
box-sizing: border-box;
|
| 11 |
+
margin: 0;
|
| 12 |
+
padding: 0;
|
| 13 |
+
}
|
| 14 |
+
body {
|
| 15 |
+
font-family: var(--font-stack-text);
|
| 16 |
+
font-weight: 400;
|
| 17 |
+
line-height: 1.4;
|
| 18 |
+
font-size: 1.6rem;
|
| 19 |
+
color: #2d2f31;
|
| 20 |
+
}
|
| 21 |
+
.container {
|
| 22 |
+
position: relative;
|
| 23 |
+
height: 100%;
|
| 24 |
+
overflow-y: auto;
|
| 25 |
+
}
|
| 26 |
+
.content {
|
| 27 |
+
padding: 3.2rem 4.8rem;
|
| 28 |
+
word-break: break-word;
|
| 29 |
+
max-width: 69.6rem;
|
| 30 |
+
margin: 0 auto;
|
| 31 |
+
}
|
| 32 |
+
.heading {
|
| 33 |
+
margin-bottom: 24px;
|
| 34 |
+
font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", Helvetica, Arial, sans-serif,
|
| 35 |
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
| 36 |
+
font-weight: 700;
|
| 37 |
+
line-height: 1.2;
|
| 38 |
+
letter-spacing: 0;
|
| 39 |
+
font-size: 32px;
|
| 40 |
+
max-width: 36em;
|
| 41 |
+
}
|
| 42 |
+
.article-asset-container {
|
| 43 |
+
padding: 2.4rem;
|
| 44 |
+
}
|
| 45 |
+
.article-asset-container p {
|
| 46 |
+
font-size: 19px;
|
| 47 |
+
}
|
| 48 |
+
code {
|
| 49 |
+
background-color: #fff;
|
| 50 |
+
border: 1px solid #d1d7dc;
|
| 51 |
+
color: #b4690e;
|
| 52 |
+
font-size: 80%;
|
| 53 |
+
padding: 0.2rem 0.4rem;
|
| 54 |
+
font-family: sfmono-regular, Consolas, liberation mono, Menlo, Courier, monospace;
|
| 55 |
+
}
|
| 56 |
+
p {
|
| 57 |
+
font-weight: 400;
|
| 58 |
+
}
|
| 59 |
+
</style>
|
| 60 |
+
</head>
|
| 61 |
+
<body>
|
| 62 |
+
<div class="container">
|
| 63 |
+
<div class="content">
|
| 64 |
+
<div class="heading">Additional Free Learning Materials to Use During the Course</div>
|
| 65 |
+
<div class="article-asset-container"><p>🎉 <strong>Attention Students!</strong> 🎉</p><p>Unlock a treasure of knowledge with a special tool just for you! Enhance your learning experience by exploring my blog, where a wealth of information is at your fingertips. I put into this blog all my work experience to make it available for you :)</p><p>📚 <strong>Here's how to make the most of it:</strong></p><ol><li><p><strong>Search Bar Power</strong>: Use the search bar on the main page to dive deep into any topic you’re studying. Just type in your keywords and discover a variety of articles packed with valuable insights.</p><ol><li><p>Just go to this website - it is free and doesn't require any registrations - <a href="https://learn-it-university.com/" rel="noopener noreferrer" target="_blank">https://learn-it-university.com/</a> </p></li><li><p>Find the search bar on the main page: <br></p><figure><img src="https://img-c.udemycdn.com/redactor/raw/article_lecture/2024-06-29_11-05-58-9a755f2c5df2d5630701d08c6b9ce59d.png"></figure><p><br></p></li><li><p>Insert key phrases that you are looking for. For example: "String formatting", "Multithreading", "ArrayBlockingQueue", etc. and click "Search" button</p></li><li><p>Explore articles that are related to your search term. On the bottom of the page you can change page of the search result. This is the most complete base of articles on different Java Related Topics and it is available for your for free. <br><br><img src="https://img-c.udemycdn.com/redactor/raw/article_lecture/2024-06-29_11-05-58-da9792f088fefd2c5e1dd445f5384629.png"></p><p><br></p></li><li><p>Open article that you want and enjoy! You can find the search bar in the side pane in order you can search new article. Or explore latest posts in the sidepane. <br><br></p><figure><img src="https://img-c.udemycdn.com/redactor/raw/article_lecture/2024-06-29_11-05-58-6b1fb9b493b5110a9150081a03b5f48c.png"></figure><p><br></p></li></ol></li><li><p><strong>Tag Your Interests</strong>: Navigate through topics effortlessly by using the tags. Select topics that intrigue you and find a curated list of articles tailored to your interests. You can find related tags at the end of each article, or in the side pane you can see not all but the most popular tags mentioned across the whole website. <br><br></p><figure><img src="https://img-c.udemycdn.com/redactor/raw/article_lecture/2024-06-29_11-05-58-6d243b403250f3f87d454591ced0353d.png"></figure><p><br></p></li><li><p><strong>Stay Updated</strong>: Or just visit the website occasionally - I add interesting articles on a regular basis. Check out the latest posts section in the blog to stay updated with new content.</p></li></ol><p>Make the most of these resources to excel in your studies. Happy learning! 🚀</p></div>
|
| 66 |
+
</div>
|
| 67 |
+
</div>
|
| 68 |
+
</body>
|
| 69 |
+
</html>
|
01 - Introduction/external-links.txt
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
001 Homework
|
| 3 |
+
https://docs.google.com/document/d/1c3didDgBNKOK87MOC_9OmXLWVX08l1Y15v9PbGlH_1s/edit?usp=sharing
|
| 4 |
+
|
| 5 |
+
002 LinkedIn-of-the-Tutor
|
| 6 |
+
https://www.linkedin.com/in/andrii-piatakha/
|
| 7 |
+
|
| 8 |
+
002 Instagram-of-the-Tutor
|
| 9 |
+
https://www.instagram.com/andrey_pyatakha/
|
| 10 |
+
|
| 11 |
+
002 Facebook-of-the-Tutor
|
| 12 |
+
https://www.facebook.com/andrey.pyatakha
|
| 13 |
+
|
| 14 |
+
002 IT-Bulls-Company-Official-Web-Site
|
| 15 |
+
https://it-bulls.com/
|
| 16 |
+
|
| 17 |
+
002 Telegram-Channel-with-Latest-News-and-important-information
|
| 18 |
+
https://docs.google.com/document/d/1zZpe3bVqS6LYnUUIePL8eXm8p7jSgvnt9hRW7tGRHnw/edit?usp=sharing
|
| 19 |
+
|
| 20 |
+
002 LinkedIn-IT-Bulls-company-official-page
|
| 21 |
+
https://www.linkedin.com/company/14782153
|
| 22 |
+
|
| 23 |
+
002 Facebook-Page-with-Udemy-Coupons-from-Learn-IT-University
|
| 24 |
+
https://www.facebook.com/learnituniversity/
|
| 25 |
+
|
| 26 |
+
002 Patreon-account-of-the-Tutor
|
| 27 |
+
https://www.patreon.com/Andrii_Piatakha
|
| 28 |
+
|
| 29 |
+
002 Youtube-channel-with-free-lessons-and-blog
|
| 30 |
+
https://www.youtube.com/c/ITBulls
|
| 31 |
+
|
| 32 |
+
004 Page-where-you-can-generate-FREE-bonus-code-for-your-self-to-remove-limits-in-Application
|
| 33 |
+
https://it-bulls.com/learn-it/generatePromoCodes.html
|
| 34 |
+
|
| 35 |
+
004 Learn-IT-application-in-Play-Market
|
| 36 |
+
https://play.google.com/store/apps/details?id=com.itbulls.learnit.java.certification
|
02 - Java Basics/001 About Latest Java Version.html
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8" />
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
| 6 |
+
<title>About Latest Java Version</title>
|
| 7 |
+
|
| 8 |
+
<style>
|
| 9 |
+
* {
|
| 10 |
+
box-sizing: border-box;
|
| 11 |
+
margin: 0;
|
| 12 |
+
padding: 0;
|
| 13 |
+
}
|
| 14 |
+
body {
|
| 15 |
+
font-family: var(--font-stack-text);
|
| 16 |
+
font-weight: 400;
|
| 17 |
+
line-height: 1.4;
|
| 18 |
+
font-size: 1.6rem;
|
| 19 |
+
color: #2d2f31;
|
| 20 |
+
}
|
| 21 |
+
.container {
|
| 22 |
+
position: relative;
|
| 23 |
+
height: 100%;
|
| 24 |
+
overflow-y: auto;
|
| 25 |
+
}
|
| 26 |
+
.content {
|
| 27 |
+
padding: 3.2rem 4.8rem;
|
| 28 |
+
word-break: break-word;
|
| 29 |
+
max-width: 69.6rem;
|
| 30 |
+
margin: 0 auto;
|
| 31 |
+
}
|
| 32 |
+
.heading {
|
| 33 |
+
margin-bottom: 24px;
|
| 34 |
+
font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", Helvetica, Arial, sans-serif,
|
| 35 |
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
| 36 |
+
font-weight: 700;
|
| 37 |
+
line-height: 1.2;
|
| 38 |
+
letter-spacing: 0;
|
| 39 |
+
font-size: 32px;
|
| 40 |
+
max-width: 36em;
|
| 41 |
+
}
|
| 42 |
+
.article-asset-container {
|
| 43 |
+
padding: 2.4rem;
|
| 44 |
+
}
|
| 45 |
+
.article-asset-container p {
|
| 46 |
+
font-size: 19px;
|
| 47 |
+
}
|
| 48 |
+
code {
|
| 49 |
+
background-color: #fff;
|
| 50 |
+
border: 1px solid #d1d7dc;
|
| 51 |
+
color: #b4690e;
|
| 52 |
+
font-size: 80%;
|
| 53 |
+
padding: 0.2rem 0.4rem;
|
| 54 |
+
font-family: sfmono-regular, Consolas, liberation mono, Menlo, Courier, monospace;
|
| 55 |
+
}
|
| 56 |
+
p {
|
| 57 |
+
font-weight: 400;
|
| 58 |
+
}
|
| 59 |
+
</style>
|
| 60 |
+
</head>
|
| 61 |
+
<body>
|
| 62 |
+
<div class="container">
|
| 63 |
+
<div class="content">
|
| 64 |
+
<div class="heading">About Latest Java Version</div>
|
| 65 |
+
<div class="article-asset-container"><p><strong>Hey there, future Java pro!</strong> 👋</p><p>Before we jump into installing Java on your computer, let’s take a moment to talk about <em>Java versions</em>—and why you shouldn’t stress about them as you begin your coding journey.</p><p>Here’s the deal: the version of Java you use doesn’t matter much when you’re starting out. Whether it’s Java 8, Java 11, or the latest release, the fundamentals of Java remain rock solid. Thanks to Java’s famous backward compatibility, the code you write today will run on future versions without a hitch.</p><p>When you’re learning the basics, the specific version becomes less important and doesn’t play a big role. Most updates in newer Java versions are about under-the-hood improvements: better performance, smarter algorithms, and other technical enhancements that don’t affect your daily coding or the syntax you’ll learn. So, don’t worry—learning Java basics doesn't depend critically on the version.</p><p><strong>Now about installing Java!</strong><br>Here’s some good news: the installation process is straightforward and hasn’t changed much over the years. That’s why recreating a new installation tutorial for every Java release isn’t practical—or necessary. Whether it’s Java 8 or the latest version, the steps are essentially the same. In the next lesson, I’ll guide you through downloading and installing Java with this link: <a href="https://jdk.java.net/" rel="noopener noreferrer" target="_blank">https://jdk.java.net/</a>. Feel free to grab the latest version!</p><p>Once we’re done with the basics, I’ll introduce you to Java’s newer features and enhancements. You’ll find a dedicated section in this course titled <strong>"Java: New Versions,"</strong> where we’ll explore what’s new in each release with hands-on examples and real-world use cases.</p><p>So, let’s roll up our sleeves and get started with installing Java. 🚀 <strong>Your journey into the world of programming begins now!</strong></p></div>
|
| 66 |
+
</div>
|
| 67 |
+
</div>
|
| 68 |
+
</body>
|
| 69 |
+
</html>
|
02 - Java Basics/002 Homework.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://docs.google.com/document/d/19g5WpFD0Jygpvuda5-PC_rNt3wDJ8d_AICvc4coP0_s/edit?usp=sharing
|
02 - Java Basics/002 How-to-set-up-env-variables-on-Mac-OS.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://docs.google.com/document/d/1_p8YAQ3khC8fTkTM4r1oGuGW___XjGTa1DmMGaGMjA8/edit?usp=sharing
|
02 - Java Basics/002 JDK Installation_en.srt
ADDED
|
@@ -0,0 +1,468 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
1
|
| 2 |
+
00:00:05,000 --> 00:00:11,000
|
| 3 |
+
Today, we have a very important topic without this knowledge, you won't be able to proceed with this
|
| 4 |
+
|
| 5 |
+
2
|
| 6 |
+
00:00:11,000 --> 00:00:17,000
|
| 7 |
+
training course because to be able to program in Java, you need to have judical installed on your computer
|
| 8 |
+
|
| 9 |
+
3
|
| 10 |
+
00:00:17,000 --> 00:00:24,000
|
| 11 |
+
and we will learn which education to choose and how to make sure that Java is properly installed on
|
| 12 |
+
|
| 13 |
+
4
|
| 14 |
+
00:00:24,000 --> 00:00:25,000
|
| 15 |
+
your computer.
|
| 16 |
+
|
| 17 |
+
5
|
| 18 |
+
00:00:26,000 --> 00:00:29,000
|
| 19 |
+
The latest version based on today is Java version 13.
|
| 20 |
+
|
| 21 |
+
6
|
| 22 |
+
00:00:29,000 --> 00:00:31,000
|
| 23 |
+
Oracle has six months release.
|
| 24 |
+
|
| 25 |
+
7
|
| 26 |
+
00:00:31,000 --> 00:00:36,000
|
| 27 |
+
And so from now on, new version of Java will be released each six months.
|
| 28 |
+
|
| 29 |
+
8
|
| 30 |
+
00:00:36,000 --> 00:00:40,000
|
| 31 |
+
Does that mean for you that you need to learn Java each six months?
|
| 32 |
+
|
| 33 |
+
9
|
| 34 |
+
00:00:40,000 --> 00:00:43,000
|
| 35 |
+
Not necessarily that the developers.
|
| 36 |
+
|
| 37 |
+
10
|
| 38 |
+
00:00:43,000 --> 00:00:44,000
|
| 39 |
+
This can be quite overwhelming.
|
| 40 |
+
|
| 41 |
+
11
|
| 42 |
+
00:00:45,000 --> 00:00:50,000
|
| 43 |
+
How many applications do have to go back and to update now on how many servers in your data center are
|
| 44 |
+
|
| 45 |
+
12
|
| 46 |
+
00:00:50,000 --> 00:00:54,000
|
| 47 |
+
constantly needed to be updated to the newest Java release?
|
| 48 |
+
|
| 49 |
+
13
|
| 50 |
+
00:00:54,000 --> 00:00:56,000
|
| 51 |
+
There are two things developers hate.
|
| 52 |
+
|
| 53 |
+
14
|
| 54 |
+
00:00:56,000 --> 00:00:59,000
|
| 55 |
+
One of them is a necessary change.
|
| 56 |
+
|
| 57 |
+
15
|
| 58 |
+
00:00:59,000 --> 00:01:05,000
|
| 59 |
+
It is even crazy to think about keeping several applications or several number of servers up to date
|
| 60 |
+
|
| 61 |
+
16
|
| 62 |
+
00:01:05,000 --> 00:01:06,000
|
| 63 |
+
with the news release.
|
| 64 |
+
|
| 65 |
+
17
|
| 66 |
+
00:01:07,000 --> 00:01:14,000
|
| 67 |
+
That is why the concept of an Altius was established, and Java LTE, which stands for long term support
|
| 68 |
+
|
| 69 |
+
18
|
| 70 |
+
00:01:14,000 --> 00:01:20,000
|
| 71 |
+
release, is a version of Java that will remain the industry standard for several years.
|
| 72 |
+
|
| 73 |
+
19
|
| 74 |
+
00:01:20,000 --> 00:01:27,000
|
| 75 |
+
To give you an example of this, Java eight was released in 2014 and it's extended support will end
|
| 76 |
+
|
| 77 |
+
20
|
| 78 |
+
00:01:27,000 --> 00:01:28,000
|
| 79 |
+
by December 20th.
|
| 80 |
+
|
| 81 |
+
21
|
| 82 |
+
00:01:28,000 --> 00:01:32,000
|
| 83 |
+
Sergius, probably Java eight, is the most popular nowadays.
|
| 84 |
+
|
| 85 |
+
22
|
| 86 |
+
00:01:32,000 --> 00:01:38,000
|
| 87 |
+
A lot of companies still rely on it and there is no urgent need to upgrade to the newest Java version.
|
| 88 |
+
|
| 89 |
+
23
|
| 90 |
+
00:01:39,000 --> 00:01:45,000
|
| 91 |
+
Java Eleven is the latest long term support version based on today for educational purposes.
|
| 92 |
+
|
| 93 |
+
24
|
| 94 |
+
00:01:45,000 --> 00:01:51,000
|
| 95 |
+
I would recommend you to use the latest version of Open JDK, which will allow you to use the most recent
|
| 96 |
+
|
| 97 |
+
25
|
| 98 |
+
00:01:51,000 --> 00:01:52,000
|
| 99 |
+
and up to date version.
|
| 100 |
+
|
| 101 |
+
26
|
| 102 |
+
00:01:52,000 --> 00:01:58,000
|
| 103 |
+
And to be completely honest, between version eight and version sitting, there is no dramatic difference
|
| 104 |
+
|
| 105 |
+
27
|
| 106 |
+
00:01:58,000 --> 00:02:01,000
|
| 107 |
+
which will be noticed by junior developers.
|
| 108 |
+
|
| 109 |
+
28
|
| 110 |
+
00:02:01,000 --> 00:02:05,000
|
| 111 |
+
There are some of them and we will learn them during the training course.
|
| 112 |
+
|
| 113 |
+
29
|
| 114 |
+
00:02:05,000 --> 00:02:10,000
|
| 115 |
+
You will also notice that you have Oracle Jaedicke and open jaedicke available for you for the cloud.
|
| 116 |
+
|
| 117 |
+
30
|
| 118 |
+
00:02:11,000 --> 00:02:16,000
|
| 119 |
+
Probably main difference for you right now is that open the case completely free, including commercial
|
| 120 |
+
|
| 121 |
+
31
|
| 122 |
+
00:02:16,000 --> 00:02:17,000
|
| 123 |
+
use.
|
| 124 |
+
|
| 125 |
+
32
|
| 126 |
+
00:02:17,000 --> 00:02:20,000
|
| 127 |
+
Oracle JDK is not free for commercial use.
|
| 128 |
+
|
| 129 |
+
33
|
| 130 |
+
00:02:21,000 --> 00:02:23,000
|
| 131 |
+
There are also some other differences.
|
| 132 |
+
|
| 133 |
+
34
|
| 134 |
+
00:02:23,000 --> 00:02:28,000
|
| 135 |
+
For example, when it comes to performance, Oracle is much better regarding the responsiveness and
|
| 136 |
+
|
| 137 |
+
35
|
| 138 |
+
00:02:28,000 --> 00:02:29,000
|
| 139 |
+
Jovian performance.
|
| 140 |
+
|
| 141 |
+
36
|
| 142 |
+
00:02:30,000 --> 00:02:36,000
|
| 143 |
+
Oracle, the case fully developed by Oracle Corporation, whereas the ticket is developed by Oracle
|
| 144 |
+
|
| 145 |
+
37
|
| 146 |
+
00:02:36,000 --> 00:02:38,000
|
| 147 |
+
and the Java community get together.
|
| 148 |
+
|
| 149 |
+
38
|
| 150 |
+
00:02:38,000 --> 00:02:41,000
|
| 151 |
+
So I recommend you to use open JDK.
|
| 152 |
+
|
| 153 |
+
39
|
| 154 |
+
00:02:41,000 --> 00:02:46,000
|
| 155 |
+
This will allow you to learn Java platform and to implement powerful applications.
|
| 156 |
+
|
| 157 |
+
40
|
| 158 |
+
00:02:46,000 --> 00:02:50,000
|
| 159 |
+
Now let me show you how to install the key on the computer from scratch.
|
| 160 |
+
|
| 161 |
+
41
|
| 162 |
+
00:02:51,000 --> 00:02:54,000
|
| 163 |
+
Go to Google and search for duplicate Java Net.
|
| 164 |
+
|
| 165 |
+
42
|
| 166 |
+
00:02:58,000 --> 00:02:59,000
|
| 167 |
+
Let's open this link.
|
| 168 |
+
|
| 169 |
+
43
|
| 170 |
+
00:03:01,000 --> 00:03:02,000
|
| 171 |
+
Select 13.
|
| 172 |
+
|
| 173 |
+
44
|
| 174 |
+
00:03:03,000 --> 00:03:06,000
|
| 175 |
+
Download these archives for Windows or Mac, respectively.
|
| 176 |
+
|
| 177 |
+
45
|
| 178 |
+
00:03:07,000 --> 00:03:09,000
|
| 179 |
+
I'm downloading this one.
|
| 180 |
+
|
| 181 |
+
46
|
| 182 |
+
00:03:10,000 --> 00:03:12,000
|
| 183 |
+
Now, extract archive.
|
| 184 |
+
|
| 185 |
+
47
|
| 186 |
+
00:03:15,000 --> 00:03:17,000
|
| 187 |
+
Let's have a look what is in here.
|
| 188 |
+
|
| 189 |
+
48
|
| 190 |
+
00:03:19,000 --> 00:03:25,000
|
| 191 |
+
So here we have been folder, you can find in it all tools and programs which we need to create our
|
| 192 |
+
|
| 193 |
+
49
|
| 194 |
+
00:03:25,000 --> 00:03:26,000
|
| 195 |
+
Java applications.
|
| 196 |
+
|
| 197 |
+
50
|
| 198 |
+
00:03:27,000 --> 00:03:29,000
|
| 199 |
+
For example, here you can see Java Javadoc.
|
| 200 |
+
|
| 201 |
+
51
|
| 202 |
+
00:03:29,000 --> 00:03:35,000
|
| 203 |
+
This is Java Compiler, which compiled our source code, our files written with letters to bytecode.
|
| 204 |
+
|
| 205 |
+
52
|
| 206 |
+
00:03:36,000 --> 00:03:40,000
|
| 207 |
+
Here's Javadoc application to generate documentation from our source code.
|
| 208 |
+
|
| 209 |
+
53
|
| 210 |
+
00:03:41,000 --> 00:03:44,000
|
| 211 |
+
In the next lessons, I will show you how it works.
|
| 212 |
+
|
| 213 |
+
54
|
| 214 |
+
00:03:44,000 --> 00:03:47,000
|
| 215 |
+
Here is Java application to run Java Virtual Machine.
|
| 216 |
+
|
| 217 |
+
55
|
| 218 |
+
00:03:48,000 --> 00:03:49,000
|
| 219 |
+
Our next steps.
|
| 220 |
+
|
| 221 |
+
56
|
| 222 |
+
00:03:49,000 --> 00:03:56,000
|
| 223 |
+
Please open a common line in this directory to do this type systemd right here and press enter.
|
| 224 |
+
|
| 225 |
+
57
|
| 226 |
+
00:03:57,000 --> 00:03:58,000
|
| 227 |
+
So here's our common line.
|
| 228 |
+
|
| 229 |
+
58
|
| 230 |
+
00:03:59,000 --> 00:04:02,000
|
| 231 |
+
Type Gever Dash version.
|
| 232 |
+
|
| 233 |
+
59
|
| 234 |
+
00:04:03,000 --> 00:04:08,000
|
| 235 |
+
And press enter now you'll see that you have opened the key version 13 here.
|
| 236 |
+
|
| 237 |
+
60
|
| 238 |
+
00:04:09,000 --> 00:04:15,000
|
| 239 |
+
And this is completely fine, but try to navigate one level up in your file system, try the city government,
|
| 240 |
+
|
| 241 |
+
61
|
| 242 |
+
00:04:15,000 --> 00:04:17,000
|
| 243 |
+
also known as change directory.
|
| 244 |
+
|
| 245 |
+
62
|
| 246 |
+
00:04:17,000 --> 00:04:23,000
|
| 247 |
+
It is a common line share common used to change the current work in the rectory in the various operating
|
| 248 |
+
|
| 249 |
+
63
|
| 250 |
+
00:04:23,000 --> 00:04:24,000
|
| 251 |
+
systems.
|
| 252 |
+
|
| 253 |
+
64
|
| 254 |
+
00:04:24,000 --> 00:04:34,000
|
| 255 |
+
The first single dot operator means this directory is a double dot or pyrates means the parent directory
|
| 256 |
+
|
| 257 |
+
65
|
| 258 |
+
00:04:34,000 --> 00:04:42,000
|
| 259 |
+
the next one and the tree lets type Sidis, Nebel, Dot and press enter go ahead and times the same
|
| 260 |
+
|
| 261 |
+
66
|
| 262 |
+
00:04:42,000 --> 00:04:44,000
|
| 263 |
+
Java version common here.
|
| 264 |
+
|
| 265 |
+
67
|
| 266 |
+
00:04:45,000 --> 00:04:48,000
|
| 267 |
+
Java is not recognized as an internal or external command.
|
| 268 |
+
|
| 269 |
+
68
|
| 270 |
+
00:04:49,000 --> 00:04:50,000
|
| 271 |
+
Why do we see this?
|
| 272 |
+
|
| 273 |
+
69
|
| 274 |
+
00:04:50,000 --> 00:04:56,000
|
| 275 |
+
Because from this level we can't get access to Java program, which is located in Benfold.
|
| 276 |
+
|
| 277 |
+
70
|
| 278 |
+
00:04:57,000 --> 00:05:03,000
|
| 279 |
+
As a software engineer, I want to be able to call Java and Java compiler on my machine from any place
|
| 280 |
+
|
| 281 |
+
71
|
| 282 |
+
00:05:03,000 --> 00:05:04,000
|
| 283 |
+
in my file system.
|
| 284 |
+
|
| 285 |
+
72
|
| 286 |
+
00:05:04,000 --> 00:05:08,000
|
| 287 |
+
To do this, I need to configure environment variables.
|
| 288 |
+
|
| 289 |
+
73
|
| 290 |
+
00:05:08,000 --> 00:05:13,000
|
| 291 |
+
Now I will show you how to configure environment variables on Windows machine.
|
| 292 |
+
|
| 293 |
+
74
|
| 294 |
+
00:05:13,000 --> 00:05:17,000
|
| 295 |
+
If you have Mac, please take a look to resources attached to this lesson.
|
| 296 |
+
|
| 297 |
+
75
|
| 298 |
+
00:05:18,000 --> 00:05:22,000
|
| 299 |
+
I have special written guide for you do mouse right.
|
| 300 |
+
|
| 301 |
+
76
|
| 302 |
+
00:05:22,000 --> 00:05:29,000
|
| 303 |
+
Click on my computer open properties, go to advanced system settings and one wearables.
|
| 304 |
+
|
| 305 |
+
77
|
| 306 |
+
00:05:29,000 --> 00:05:31,000
|
| 307 |
+
And here we are now.
|
| 308 |
+
|
| 309 |
+
78
|
| 310 |
+
00:05:31,000 --> 00:05:33,000
|
| 311 |
+
Even despite this, it's not necessary.
|
| 312 |
+
|
| 313 |
+
79
|
| 314 |
+
00:05:33,000 --> 00:05:36,000
|
| 315 |
+
The rule of thumb is to create Java home variable.
|
| 316 |
+
|
| 317 |
+
80
|
| 318 |
+
00:05:36,000 --> 00:05:40,000
|
| 319 |
+
First, this variable will refer to the Jaedicke home folder.
|
| 320 |
+
|
| 321 |
+
81
|
| 322 |
+
00:05:41,000 --> 00:05:46,000
|
| 323 |
+
You can have multiple Java home variables to be able easily change our home version on your machine
|
| 324 |
+
|
| 325 |
+
82
|
| 326 |
+
00:05:46,000 --> 00:05:50,000
|
| 327 |
+
like I have here for Java versions eight, 11 and 13.
|
| 328 |
+
|
| 329 |
+
83
|
| 330 |
+
00:05:51,000 --> 00:05:54,000
|
| 331 |
+
Let's create this variable press new button here.
|
| 332 |
+
|
| 333 |
+
84
|
| 334 |
+
00:05:55,000 --> 00:05:57,000
|
| 335 |
+
Java underscore home.
|
| 336 |
+
|
| 337 |
+
85
|
| 338 |
+
00:06:02,000 --> 00:06:04,000
|
| 339 |
+
And let's hope is this past.
|
| 340 |
+
|
| 341 |
+
86
|
| 342 |
+
00:06:05,000 --> 00:06:07,000
|
| 343 |
+
And paste it as a variable value.
|
| 344 |
+
|
| 345 |
+
87
|
| 346 |
+
00:06:08,000 --> 00:06:09,000
|
| 347 |
+
Press a button.
|
| 348 |
+
|
| 349 |
+
88
|
| 350 |
+
00:06:09,000 --> 00:06:11,000
|
| 351 |
+
Now we have Java home here.
|
| 352 |
+
|
| 353 |
+
89
|
| 354 |
+
00:06:12,000 --> 00:06:15,000
|
| 355 |
+
Next thing to know is that Windows has bars Werrimull.
|
| 356 |
+
|
| 357 |
+
90
|
| 358 |
+
00:06:16,000 --> 00:06:17,000
|
| 359 |
+
Let's find it.
|
| 360 |
+
|
| 361 |
+
91
|
| 362 |
+
00:06:18,000 --> 00:06:24,000
|
| 363 |
+
Here, this bus is an environment variable specifying a set of directories where executable programs
|
| 364 |
+
|
| 365 |
+
92
|
| 366 |
+
00:06:24,000 --> 00:06:32,000
|
| 367 |
+
are located in general, each executing process or user session has its own path setting without past
|
| 368 |
+
|
| 369 |
+
93
|
| 370 |
+
00:06:32,000 --> 00:06:35,000
|
| 371 |
+
variable, we would need to run programs, use an absolute pass.
|
| 372 |
+
|
| 373 |
+
94
|
| 374 |
+
00:06:36,000 --> 00:06:42,000
|
| 375 |
+
The pass variable prevents us from having to write the entire past to a program that suggests value
|
| 376 |
+
|
| 377 |
+
95
|
| 378 |
+
00:06:42,000 --> 00:06:42,000
|
| 379 |
+
here.
|
| 380 |
+
|
| 381 |
+
96
|
| 382 |
+
00:06:43,000 --> 00:06:46,000
|
| 383 |
+
Can you type person sign?
|
| 384 |
+
|
| 385 |
+
97
|
| 386 |
+
00:06:47,000 --> 00:06:48,000
|
| 387 |
+
You have a home.
|
| 388 |
+
|
| 389 |
+
98
|
| 390 |
+
00:06:49,000 --> 00:06:55,000
|
| 391 |
+
Percent saying file past separator and windows, that is backslash and bin.
|
| 392 |
+
|
| 393 |
+
99
|
| 394 |
+
00:06:56,000 --> 00:07:02,000
|
| 395 |
+
That said, in case you have previous Windows version, most likely you see something like this.
|
| 396 |
+
|
| 397 |
+
100
|
| 398 |
+
00:07:03,000 --> 00:07:06,000
|
| 399 |
+
Make sure that line ends with semicolon and write the same.
|
| 400 |
+
|
| 401 |
+
101
|
| 402 |
+
00:07:11,000 --> 00:07:18,000
|
| 403 |
+
So you can choose one option or another, it's up to you and now attention, if you had the terminal
|
| 404 |
+
|
| 405 |
+
102
|
| 406 |
+
00:07:18,000 --> 00:07:22,000
|
| 407 |
+
opened, closed and opened again to apply all changes.
|
| 408 |
+
|
| 409 |
+
103
|
| 410 |
+
00:07:25,000 --> 00:07:27,000
|
| 411 |
+
Let's again, open terminal here.
|
| 412 |
+
|
| 413 |
+
104
|
| 414 |
+
00:07:29,000 --> 00:07:31,000
|
| 415 |
+
Let's go one level up.
|
| 416 |
+
|
| 417 |
+
105
|
| 418 |
+
00:07:32,000 --> 00:07:35,000
|
| 419 |
+
Now, let's dive the same Java version comment.
|
| 420 |
+
|
| 421 |
+
106
|
| 422 |
+
00:07:36,000 --> 00:07:37,000
|
| 423 |
+
Here we are now.
|
| 424 |
+
|
| 425 |
+
107
|
| 426 |
+
00:07:37,000 --> 00:07:40,000
|
| 427 |
+
We can run Java program from any directory.
|
| 428 |
+
|
| 429 |
+
108
|
| 430 |
+
00:07:41,000 --> 00:07:45,000
|
| 431 |
+
Let's also check version of compiler called Java Version.
|
| 432 |
+
|
| 433 |
+
109
|
| 434 |
+
00:07:46,000 --> 00:07:47,000
|
| 435 |
+
Here it is.
|
| 436 |
+
|
| 437 |
+
110
|
| 438 |
+
00:07:47,000 --> 00:07:52,000
|
| 439 |
+
If you see version number, then everything is OK and we are good to proceed with the next lesson.
|
| 440 |
+
|
| 441 |
+
111
|
| 442 |
+
00:07:53,000 --> 00:07:55,000
|
| 443 |
+
Let's summarize what we have learned on this lesson.
|
| 444 |
+
|
| 445 |
+
112
|
| 446 |
+
00:07:56,000 --> 00:07:58,000
|
| 447 |
+
We learned how to choose JDK version.
|
| 448 |
+
|
| 449 |
+
113
|
| 450 |
+
00:07:58,000 --> 00:08:01,000
|
| 451 |
+
What is the difference between Oracle Adjudicate and OpenEdge?
|
| 452 |
+
|
| 453 |
+
114
|
| 454 |
+
00:08:01,000 --> 00:08:06,000
|
| 455 |
+
The key, how to install duplicate on your computer and how to configure environment variables.
|
| 456 |
+
|
| 457 |
+
115
|
| 458 |
+
00:08:07,000 --> 00:08:09,000
|
| 459 |
+
Let's now review your homework for the next lesson.
|
| 460 |
+
|
| 461 |
+
116
|
| 462 |
+
00:08:10,000 --> 00:08:15,000
|
| 463 |
+
So for the next lesson, you just need to repeat everything, what we have discussed during this lesson
|
| 464 |
+
|
| 465 |
+
117
|
| 466 |
+
00:08:15,000 --> 00:08:17,000
|
| 467 |
+
and make sure you have JDK installed.
|
| 468 |
+
|
02 - Java Basics/003 First application Hello World App.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:967d6308d23cc7a7c36f016b76f44897a67c431a8fc14ab4e542fb9495d601f1
|
| 3 |
+
size 179343728
|
02 - Java Basics/003 First application Hello World App_en.srt
ADDED
|
@@ -0,0 +1,692 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
1
|
| 2 |
+
00:00:05,000 --> 00:00:09,000
|
| 3 |
+
They will create our first application in Java language.
|
| 4 |
+
|
| 5 |
+
2
|
| 6 |
+
00:00:09,000 --> 00:00:10,000
|
| 7 |
+
Be prepared to have fun.
|
| 8 |
+
|
| 9 |
+
3
|
| 10 |
+
00:00:11,000 --> 00:00:16,000
|
| 11 |
+
Also in this lesson, you will learn what our console applications, how to compile Java code to get
|
| 12 |
+
|
| 13 |
+
4
|
| 14 |
+
00:00:16,000 --> 00:00:19,000
|
| 15 |
+
bytecode and how to execute your first program from console.
|
| 16 |
+
|
| 17 |
+
5
|
| 18 |
+
00:00:20,000 --> 00:00:21,000
|
| 19 |
+
Let's start.
|
| 20 |
+
|
| 21 |
+
6
|
| 22 |
+
00:00:22,000 --> 00:00:28,000
|
| 23 |
+
So what a console applications console application is an application that takes input and displays output
|
| 24 |
+
|
| 25 |
+
7
|
| 26 |
+
00:00:28,000 --> 00:00:36,000
|
| 27 |
+
at command line console with access to three basic data streams, standard input, standard output and
|
| 28 |
+
|
| 29 |
+
8
|
| 30 |
+
00:00:36,000 --> 00:00:37,000
|
| 31 |
+
standard error.
|
| 32 |
+
|
| 33 |
+
9
|
| 34 |
+
00:00:38,000 --> 00:00:42,000
|
| 35 |
+
These applications don't have any graphical user interface.
|
| 36 |
+
|
| 37 |
+
10
|
| 38 |
+
00:00:42,000 --> 00:00:45,000
|
| 39 |
+
They are primarily used nowadays in learning purposes.
|
| 40 |
+
|
| 41 |
+
11
|
| 42 |
+
00:00:46,000 --> 00:00:51,000
|
| 43 |
+
So console application is a lightweight application which might be easily run in console.
|
| 44 |
+
|
| 45 |
+
12
|
| 46 |
+
00:00:51,000 --> 00:00:57,000
|
| 47 |
+
During this course, we'll learn tools which we have in GDP to create powerful applications, but the
|
| 48 |
+
|
| 49 |
+
13
|
| 50 |
+
00:00:57,000 --> 00:00:59,000
|
| 51 |
+
same as learning as a human languages.
|
| 52 |
+
|
| 53 |
+
14
|
| 54 |
+
00:01:00,000 --> 00:01:02,000
|
| 55 |
+
The first thing you learn is alphabet.
|
| 56 |
+
|
| 57 |
+
15
|
| 58 |
+
00:01:02,000 --> 00:01:03,000
|
| 59 |
+
After that, no letters.
|
| 60 |
+
|
| 61 |
+
16
|
| 62 |
+
00:01:03,000 --> 00:01:08,000
|
| 63 |
+
You can create words from words who can create sentences from sentences.
|
| 64 |
+
|
| 65 |
+
17
|
| 66 |
+
00:01:08,000 --> 00:01:09,000
|
| 67 |
+
You can build a story.
|
| 68 |
+
|
| 69 |
+
18
|
| 70 |
+
00:01:10,000 --> 00:01:15,000
|
| 71 |
+
The same is here will start from console applications to learn alphabet and words.
|
| 72 |
+
|
| 73 |
+
19
|
| 74 |
+
00:01:16,000 --> 00:01:22,000
|
| 75 |
+
Here is what we are going to do today as a software engineer will create with you files with Java.
|
| 76 |
+
|
| 77 |
+
20
|
| 78 |
+
00:01:22,000 --> 00:01:25,000
|
| 79 |
+
Extension will call this files source code.
|
| 80 |
+
|
| 81 |
+
21
|
| 82 |
+
00:01:25,000 --> 00:01:30,000
|
| 83 |
+
This is exactly files where programming code written in Java will be stored.
|
| 84 |
+
|
| 85 |
+
22
|
| 86 |
+
00:01:31,000 --> 00:01:35,000
|
| 87 |
+
After that will ask Java Compiler to compile source code to bytecode.
|
| 88 |
+
|
| 89 |
+
23
|
| 90 |
+
00:01:35,000 --> 00:01:38,000
|
| 91 |
+
Java program will do this task.
|
| 92 |
+
|
| 93 |
+
24
|
| 94 |
+
00:01:38,000 --> 00:01:44,000
|
| 95 |
+
Java will produce files with class extension and Java will execute our program.
|
| 96 |
+
|
| 97 |
+
25
|
| 98 |
+
00:01:45,000 --> 00:01:46,000
|
| 99 |
+
What do you need to understand?
|
| 100 |
+
|
| 101 |
+
26
|
| 102 |
+
00:01:46,000 --> 00:01:50,000
|
| 103 |
+
And remember that Shivam doesn't execute Java files.
|
| 104 |
+
|
| 105 |
+
27
|
| 106 |
+
00:01:51,000 --> 00:01:54,000
|
| 107 |
+
Jivin executes class files properly.
|
| 108 |
+
|
| 109 |
+
28
|
| 110 |
+
00:01:54,000 --> 00:01:58,000
|
| 111 |
+
This will help you in the future when you will troubleshoot issues in your real life project.
|
| 112 |
+
|
| 113 |
+
29
|
| 114 |
+
00:01:59,000 --> 00:02:05,000
|
| 115 |
+
So now let's take a look how to create your first program, how to compile it and run theme.
|
| 116 |
+
|
| 117 |
+
30
|
| 118 |
+
00:02:05,000 --> 00:02:07,000
|
| 119 |
+
Please don't be afraid.
|
| 120 |
+
|
| 121 |
+
31
|
| 122 |
+
00:02:07,000 --> 00:02:11,000
|
| 123 |
+
You won't use common line to write your programs on a regular basis.
|
| 124 |
+
|
| 125 |
+
32
|
| 126 |
+
00:02:11,000 --> 00:02:16,000
|
| 127 |
+
In the next, lessons will run special desktop applications designed to create programs.
|
| 128 |
+
|
| 129 |
+
33
|
| 130 |
+
00:02:17,000 --> 00:02:22,000
|
| 131 |
+
But now I'd like to ask you again to open a common line wherever you want on your computer.
|
| 132 |
+
|
| 133 |
+
34
|
| 134 |
+
00:02:22,000 --> 00:02:27,000
|
| 135 |
+
For example, for this lesson I created folder where I will create a program together with you.
|
| 136 |
+
|
| 137 |
+
35
|
| 138 |
+
00:02:28,000 --> 00:02:32,000
|
| 139 |
+
Let's type seemed easier to open a common line probably using right now.
|
| 140 |
+
|
| 141 |
+
36
|
| 142 |
+
00:02:32,000 --> 00:02:34,000
|
| 143 |
+
And you must be kidding me.
|
| 144 |
+
|
| 145 |
+
37
|
| 146 |
+
00:02:35,000 --> 00:02:36,000
|
| 147 |
+
Why do we do this?
|
| 148 |
+
|
| 149 |
+
38
|
| 150 |
+
00:02:36,000 --> 00:02:41,000
|
| 151 |
+
Why don't we just start work with applications which help us to create programs?
|
| 152 |
+
|
| 153 |
+
39
|
| 154 |
+
00:02:41,000 --> 00:02:44,000
|
| 155 |
+
The answer is there are a few points to consider.
|
| 156 |
+
|
| 157 |
+
40
|
| 158 |
+
00:02:45,000 --> 00:02:52,000
|
| 159 |
+
The first one you need to learn how to work with console at least some basics because sometimes not
|
| 160 |
+
|
| 161 |
+
41
|
| 162 |
+
00:02:52,000 --> 00:02:57,000
|
| 163 |
+
always, but sometimes depending on which built tool you will use, probably you would need to work
|
| 164 |
+
|
| 165 |
+
42
|
| 166 |
+
00:02:57,000 --> 00:02:58,000
|
| 167 |
+
with console.
|
| 168 |
+
|
| 169 |
+
43
|
| 170 |
+
00:02:58,000 --> 00:03:04,000
|
| 171 |
+
And sometimes as software engineers you would need to write scripts which will call command line comments.
|
| 172 |
+
|
| 173 |
+
44
|
| 174 |
+
00:03:04,000 --> 00:03:06,000
|
| 175 |
+
Real life example.
|
| 176 |
+
|
| 177 |
+
45
|
| 178 |
+
00:03:06,000 --> 00:03:11,000
|
| 179 |
+
You would like to compile all Java files in your project in one archive, which will be deployed to
|
| 180 |
+
|
| 181 |
+
46
|
| 182 |
+
00:03:11,000 --> 00:03:13,000
|
| 183 |
+
the Web server afterwards.
|
| 184 |
+
|
| 185 |
+
47
|
| 186 |
+
00:03:13,000 --> 00:03:19,000
|
| 187 |
+
Right after compiling, you would like to run specific files, desk classes to be sure that tests are
|
| 188 |
+
|
| 189 |
+
48
|
| 190 |
+
00:03:19,000 --> 00:03:22,000
|
| 191 |
+
not failing in case tests are succeed.
|
| 192 |
+
|
| 193 |
+
49
|
| 194 |
+
00:03:23,000 --> 00:03:27,000
|
| 195 |
+
You finish your build process in case there are failures in the tests.
|
| 196 |
+
|
| 197 |
+
50
|
| 198 |
+
00:03:27,000 --> 00:03:28,000
|
| 199 |
+
You don't proceed with your build.
|
| 200 |
+
|
| 201 |
+
51
|
| 202 |
+
00:03:28,000 --> 00:03:33,000
|
| 203 |
+
That is one of the examples where knowledge of common line comments might come in handy.
|
| 204 |
+
|
| 205 |
+
52
|
| 206 |
+
00:03:33,000 --> 00:03:36,000
|
| 207 |
+
The second point to consider Guice.
|
| 208 |
+
|
| 209 |
+
53
|
| 210 |
+
00:03:36,000 --> 00:03:38,000
|
| 211 |
+
You had just started learning Java.
|
| 212 |
+
|
| 213 |
+
54
|
| 214 |
+
00:03:38,000 --> 00:03:44,000
|
| 215 |
+
You need to understand what compilation process is, what is compilation error and how it is different
|
| 216 |
+
|
| 217 |
+
55
|
| 218 |
+
00:03:44,000 --> 00:03:46,000
|
| 219 |
+
from runtime exception.
|
| 220 |
+
|
| 221 |
+
56
|
| 222 |
+
00:03:46,000 --> 00:03:53,000
|
| 223 |
+
That's why I ask all my students to create program in Notepad and to run it and console at least once
|
| 224 |
+
|
| 225 |
+
57
|
| 226 |
+
00:03:53,000 --> 00:03:59,000
|
| 227 |
+
in their lives in some conference on the first level of interview process of junior software engineers
|
| 228 |
+
|
| 229 |
+
58
|
| 230 |
+
00:03:59,000 --> 00:04:04,000
|
| 231 |
+
where you have quizzes and tests, sometimes there are also questions related to common line.
|
| 232 |
+
|
| 233 |
+
59
|
| 234 |
+
00:04:06,000 --> 00:04:12,000
|
| 235 |
+
We opened the common line to create file with Java extension, why we cannot just do mouse right click
|
| 236 |
+
|
| 237 |
+
60
|
| 238 |
+
00:04:12,000 --> 00:04:19,000
|
| 239 |
+
and create file because you need to enable showing the file extension first in different Windows version.
|
| 240 |
+
|
| 241 |
+
61
|
| 242 |
+
00:04:19,000 --> 00:04:21,000
|
| 243 |
+
It is done in a slightly different way.
|
| 244 |
+
|
| 245 |
+
62
|
| 246 |
+
00:04:21,000 --> 00:04:26,000
|
| 247 |
+
And from default options, you can create file with the extension, which doesn't work for us.
|
| 248 |
+
|
| 249 |
+
63
|
| 250 |
+
00:04:27,000 --> 00:04:32,000
|
| 251 |
+
So let's create file from console because it is easier and it's the same way to create file from the
|
| 252 |
+
|
| 253 |
+
64
|
| 254 |
+
00:04:32,000 --> 00:04:35,000
|
| 255 |
+
terminal on different Windows versions actually.
|
| 256 |
+
|
| 257 |
+
65
|
| 258 |
+
00:04:35,000 --> 00:04:36,000
|
| 259 |
+
Now at least a few ways.
|
| 260 |
+
|
| 261 |
+
66
|
| 262 |
+
00:04:36,000 --> 00:04:38,000
|
| 263 |
+
How to create file from command prompt.
|
| 264 |
+
|
| 265 |
+
67
|
| 266 |
+
00:04:38,000 --> 00:04:40,000
|
| 267 |
+
But let me show one to you.
|
| 268 |
+
|
| 269 |
+
68
|
| 270 |
+
00:04:41,000 --> 00:04:43,000
|
| 271 |
+
Type the following notepad.
|
| 272 |
+
|
| 273 |
+
69
|
| 274 |
+
00:04:44,000 --> 00:04:46,000
|
| 275 |
+
Hello World Dot Java.
|
| 276 |
+
|
| 277 |
+
70
|
| 278 |
+
00:04:47,000 --> 00:04:50,000
|
| 279 |
+
When dialogue is popped up, click yes.
|
| 280 |
+
|
| 281 |
+
71
|
| 282 |
+
00:04:53,000 --> 00:05:00,000
|
| 283 |
+
Now we see file with Java extension created here in case you have Mac just type like this.
|
| 284 |
+
|
| 285 |
+
72
|
| 286 |
+
00:05:01,000 --> 00:05:04,000
|
| 287 |
+
Dutch Hello, World Dot Jalaa.
|
| 288 |
+
|
| 289 |
+
73
|
| 290 |
+
00:05:05,000 --> 00:05:06,000
|
| 291 |
+
The file will be created.
|
| 292 |
+
|
| 293 |
+
74
|
| 294 |
+
00:05:07,000 --> 00:05:15,000
|
| 295 |
+
Let's write our first program, we'll cover right now basic syntax so each Java file can have only one
|
| 296 |
+
|
| 297 |
+
75
|
| 298 |
+
00:05:15,000 --> 00:05:17,000
|
| 299 |
+
public class or interface.
|
| 300 |
+
|
| 301 |
+
76
|
| 302 |
+
00:05:18,000 --> 00:05:21,000
|
| 303 |
+
We'll cover more modifiers during all be topic.
|
| 304 |
+
|
| 305 |
+
77
|
| 306 |
+
00:05:21,000 --> 00:05:28,000
|
| 307 |
+
But for now, just try to understand that in case class is public, client can access it from anywhere,
|
| 308 |
+
|
| 309 |
+
78
|
| 310 |
+
00:05:29,000 --> 00:05:32,000
|
| 311 |
+
including our game, which needs to access this class.
|
| 312 |
+
|
| 313 |
+
79
|
| 314 |
+
00:05:32,000 --> 00:05:36,000
|
| 315 |
+
The name of public class should be the same as the name of a Java file.
|
| 316 |
+
|
| 317 |
+
80
|
| 318 |
+
00:05:36,000 --> 00:05:37,000
|
| 319 |
+
This is true.
|
| 320 |
+
|
| 321 |
+
81
|
| 322 |
+
00:05:38,000 --> 00:05:42,000
|
| 323 |
+
In either case you would have compilation error Gervais's case sensitive.
|
| 324 |
+
|
| 325 |
+
82
|
| 326 |
+
00:05:43,000 --> 00:05:49,000
|
| 327 |
+
So hello world written with Capital H at the beginning is completely different from Hello World with
|
| 328 |
+
|
| 329 |
+
83
|
| 330 |
+
00:05:49,000 --> 00:05:50,000
|
| 331 |
+
H lowercase.
|
| 332 |
+
|
| 333 |
+
84
|
| 334 |
+
00:05:51,000 --> 00:05:55,000
|
| 335 |
+
Java is a case sensitive because it uses a C style syntax case.
|
| 336 |
+
|
| 337 |
+
85
|
| 338 |
+
00:05:55,000 --> 00:06:01,000
|
| 339 |
+
Sensitivity is useful because it lets you infer what the name means based on its case.
|
| 340 |
+
|
| 341 |
+
86
|
| 342 |
+
00:06:01,000 --> 00:06:07,000
|
| 343 |
+
For example, the Java standard for class names is uppercase in the first letter of each word, for
|
| 344 |
+
|
| 345 |
+
87
|
| 346 |
+
00:06:07,000 --> 00:06:11,000
|
| 347 |
+
example, like integer string, etc..
|
| 348 |
+
|
| 349 |
+
88
|
| 350 |
+
00:06:12,000 --> 00:06:18,000
|
| 351 |
+
The standard for variable and method names is lowercase, the first letter of the first word and uppercase
|
| 352 |
+
|
| 353 |
+
89
|
| 354 |
+
00:06:18,000 --> 00:06:19,000
|
| 355 |
+
and all other first letters.
|
| 356 |
+
|
| 357 |
+
90
|
| 358 |
+
00:06:21,000 --> 00:06:26,000
|
| 359 |
+
No print, learn, Czech error, etc.
|
| 360 |
+
|
| 361 |
+
91
|
| 362 |
+
00:06:28,000 --> 00:06:35,000
|
| 363 |
+
And the standard for constants is all uppercase was on this course, some constant like this.
|
| 364 |
+
|
| 365 |
+
92
|
| 366 |
+
00:06:36,000 --> 00:06:43,000
|
| 367 |
+
So after hello, world, let's put curly braces here in Java, curly braces define SCOP.
|
| 368 |
+
|
| 369 |
+
93
|
| 370 |
+
00:06:44,000 --> 00:06:51,000
|
| 371 |
+
Here is the scope of the class, in a few seconds, you'll see the scope of the method each otoscope
|
| 372 |
+
|
| 373 |
+
94
|
| 374 |
+
00:06:51,000 --> 00:06:57,000
|
| 375 |
+
includes in their scope, zazz variable declared in the class scope is visible in the method scope,
|
| 376 |
+
|
| 377 |
+
95
|
| 378 |
+
00:06:58,000 --> 00:07:02,000
|
| 379 |
+
but variables declared in the method scope not visible in Glasgow.
|
| 380 |
+
|
| 381 |
+
96
|
| 382 |
+
00:07:03,000 --> 00:07:07,000
|
| 383 |
+
Now we need to create an entry point for our program by convention.
|
| 384 |
+
|
| 385 |
+
97
|
| 386 |
+
00:07:07,000 --> 00:07:12,000
|
| 387 |
+
This method is publicly accessible, so let's type here public.
|
| 388 |
+
|
| 389 |
+
98
|
| 390 |
+
00:07:12,000 --> 00:07:13,000
|
| 391 |
+
It is static.
|
| 392 |
+
|
| 393 |
+
99
|
| 394 |
+
00:07:14,000 --> 00:07:17,000
|
| 395 |
+
We'll cover more what static is during or P topic.
|
| 396 |
+
|
| 397 |
+
100
|
| 398 |
+
00:07:18,000 --> 00:07:19,000
|
| 399 |
+
It does return nothing.
|
| 400 |
+
|
| 401 |
+
101
|
| 402 |
+
00:07:19,000 --> 00:07:24,000
|
| 403 |
+
That's why return type is void and it has name main by convention.
|
| 404 |
+
|
| 405 |
+
102
|
| 406 |
+
00:07:25,000 --> 00:07:32,000
|
| 407 |
+
This method takes as a parameter array of strings in the next lessons will cover in details what arrays
|
| 408 |
+
|
| 409 |
+
103
|
| 410 |
+
00:07:32,000 --> 00:07:33,000
|
| 411 |
+
are as of now.
|
| 412 |
+
|
| 413 |
+
104
|
| 414 |
+
00:07:33,000 --> 00:07:36,000
|
| 415 |
+
Consider array of strings as a sequence of strings.
|
| 416 |
+
|
| 417 |
+
105
|
| 418 |
+
00:07:37,000 --> 00:07:40,000
|
| 419 |
+
A parameter is a variable in the method definition.
|
| 420 |
+
|
| 421 |
+
106
|
| 422 |
+
00:07:40,000 --> 00:07:46,000
|
| 423 |
+
When the method is called, the arguments are the data you pass into the methods parameters.
|
| 424 |
+
|
| 425 |
+
107
|
| 426 |
+
00:07:46,000 --> 00:07:49,000
|
| 427 |
+
Hope this doesn't bring even more confusion.
|
| 428 |
+
|
| 429 |
+
108
|
| 430 |
+
00:07:49,000 --> 00:07:54,000
|
| 431 |
+
I just want you also to learn the right wording to make your colleagues understand you.
|
| 432 |
+
|
| 433 |
+
109
|
| 434 |
+
00:07:55,000 --> 00:08:02,000
|
| 435 |
+
Public static void main method, which takes array of strings, is our entry point to each Java program.
|
| 436 |
+
|
| 437 |
+
110
|
| 438 |
+
00:08:02,000 --> 00:08:09,000
|
| 439 |
+
JVM knows that it should call exactly this method and begin program execution from this point.
|
| 440 |
+
|
| 441 |
+
111
|
| 442 |
+
00:08:10,000 --> 00:08:17,000
|
| 443 |
+
Let's define scope of this method here in this method will write code which will print hello world text
|
| 444 |
+
|
| 445 |
+
112
|
| 446 |
+
00:08:17,000 --> 00:08:24,000
|
| 447 |
+
to console output will write a system not out how to represent output.
|
| 448 |
+
|
| 449 |
+
113
|
| 450 |
+
00:08:24,000 --> 00:08:31,000
|
| 451 |
+
Stream output stream has such behavior as printing to console print, to learn method prints to console
|
| 452 |
+
|
| 453 |
+
114
|
| 454 |
+
00:08:31,000 --> 00:08:33,000
|
| 455 |
+
and terminate the line.
|
| 456 |
+
|
| 457 |
+
115
|
| 458 |
+
00:08:33,000 --> 00:08:41,000
|
| 459 |
+
Each statement in Java ends with semicolon Prindle and can take strings as arguments that's postering
|
| 460 |
+
|
| 461 |
+
116
|
| 462 |
+
00:08:41,000 --> 00:08:42,000
|
| 463 |
+
Hello World into it.
|
| 464 |
+
|
| 465 |
+
117
|
| 466 |
+
00:08:43,000 --> 00:08:48,000
|
| 467 |
+
In Java, string literals are written inside double quotes and one more new word.
|
| 468 |
+
|
| 469 |
+
118
|
| 470 |
+
00:08:49,000 --> 00:08:49,000
|
| 471 |
+
Literal.
|
| 472 |
+
|
| 473 |
+
119
|
| 474 |
+
00:08:50,000 --> 00:08:54,000
|
| 475 |
+
Literal is a notation for representing a fixed value in source code.
|
| 476 |
+
|
| 477 |
+
120
|
| 478 |
+
00:08:55,000 --> 00:08:57,000
|
| 479 |
+
Here we have string literal.
|
| 480 |
+
|
| 481 |
+
121
|
| 482 |
+
00:08:57,000 --> 00:08:58,000
|
| 483 |
+
Now let's save this file.
|
| 484 |
+
|
| 485 |
+
122
|
| 486 |
+
00:09:01,000 --> 00:09:09,000
|
| 487 |
+
Let's go back to the console and now let's compile our program, Javadoc Hello, world, that Java.
|
| 488 |
+
|
| 489 |
+
123
|
| 490 |
+
00:09:10,000 --> 00:09:17,000
|
| 491 |
+
If you don't see any messages, that means compilation was successful and you can notice that new file
|
| 492 |
+
|
| 493 |
+
124
|
| 494 |
+
00:09:17,000 --> 00:09:24,000
|
| 495 |
+
is appeared in our folder, this file has the same name as our Java file, but has different extension.
|
| 496 |
+
|
| 497 |
+
125
|
| 498 |
+
00:09:24,000 --> 00:09:28,000
|
| 499 |
+
This file contains byte code for our Java virtual machine.
|
| 500 |
+
|
| 501 |
+
126
|
| 502 |
+
00:09:29,000 --> 00:09:31,000
|
| 503 |
+
Now let's execute bytecode on our game.
|
| 504 |
+
|
| 505 |
+
127
|
| 506 |
+
00:09:32,000 --> 00:09:33,000
|
| 507 |
+
Let's step Java.
|
| 508 |
+
|
| 509 |
+
128
|
| 510 |
+
00:09:34,000 --> 00:09:36,000
|
| 511 |
+
Hello, world and press enter.
|
| 512 |
+
|
| 513 |
+
129
|
| 514 |
+
00:09:37,000 --> 00:09:43,000
|
| 515 |
+
In this case, you don't need to specify extension for the file since Java expects only class files
|
| 516 |
+
|
| 517 |
+
130
|
| 518 |
+
00:09:44,000 --> 00:09:45,000
|
| 519 |
+
and you see output here.
|
| 520 |
+
|
| 521 |
+
131
|
| 522 |
+
00:09:46,000 --> 00:09:48,000
|
| 523 |
+
Hello world congratulations.
|
| 524 |
+
|
| 525 |
+
132
|
| 526 |
+
00:09:49,000 --> 00:09:51,000
|
| 527 |
+
You have just written your first console application.
|
| 528 |
+
|
| 529 |
+
133
|
| 530 |
+
00:09:52,000 --> 00:09:53,000
|
| 531 |
+
What are common mistakes?
|
| 532 |
+
|
| 533 |
+
134
|
| 534 |
+
00:09:54,000 --> 00:10:00,000
|
| 535 |
+
You can see compilation error after calling Java and you can see runtime errors.
|
| 536 |
+
|
| 537 |
+
135
|
| 538 |
+
00:10:00,000 --> 00:10:02,000
|
| 539 |
+
Let me reproduce it with you.
|
| 540 |
+
|
| 541 |
+
136
|
| 542 |
+
00:10:02,000 --> 00:10:05,000
|
| 543 |
+
Let's pretend your name your public class incorrectly.
|
| 544 |
+
|
| 545 |
+
137
|
| 546 |
+
00:10:06,000 --> 00:10:08,000
|
| 547 |
+
Not the same as Java filename.
|
| 548 |
+
|
| 549 |
+
138
|
| 550 |
+
00:10:09,000 --> 00:10:15,000
|
| 551 |
+
Let's put capital G at the end and also let's pretend you did a typo in main method name.
|
| 552 |
+
|
| 553 |
+
139
|
| 554 |
+
00:10:16,000 --> 00:10:17,000
|
| 555 |
+
Let's save the file.
|
| 556 |
+
|
| 557 |
+
140
|
| 558 |
+
00:10:19,000 --> 00:10:20,000
|
| 559 |
+
Let's call Jack now.
|
| 560 |
+
|
| 561 |
+
141
|
| 562 |
+
00:10:23,000 --> 00:10:31,000
|
| 563 |
+
We see compilation error, so code is not compiled to bytecode, always read these error messages,
|
| 564 |
+
|
| 565 |
+
142
|
| 566 |
+
00:10:32,000 --> 00:10:34,000
|
| 567 |
+
they can help you to fix issues.
|
| 568 |
+
|
| 569 |
+
143
|
| 570 |
+
00:10:35,000 --> 00:10:41,000
|
| 571 |
+
For example, like here, public class, hello world should be declared in the file with the same name.
|
| 572 |
+
|
| 573 |
+
144
|
| 574 |
+
00:10:41,000 --> 00:10:44,000
|
| 575 |
+
We will just rename our public class.
|
| 576 |
+
|
| 577 |
+
145
|
| 578 |
+
00:10:45,000 --> 00:10:51,000
|
| 579 |
+
Let's compile it one more time, but not forget to save the file before compilation process.
|
| 580 |
+
|
| 581 |
+
146
|
| 582 |
+
00:10:52,000 --> 00:10:58,000
|
| 583 |
+
So now everything is OK and we don't see any compilation errors, and by the way, to call comments,
|
| 584 |
+
|
| 585 |
+
147
|
| 586 |
+
00:10:58,000 --> 00:11:01,000
|
| 587 |
+
which I just used, I use up Arrow.
|
| 588 |
+
|
| 589 |
+
148
|
| 590 |
+
00:11:02,000 --> 00:11:03,000
|
| 591 |
+
Let's run it again.
|
| 592 |
+
|
| 593 |
+
149
|
| 594 |
+
00:11:04,000 --> 00:11:06,000
|
| 595 |
+
And here we have one time exception.
|
| 596 |
+
|
| 597 |
+
150
|
| 598 |
+
00:11:07,000 --> 00:11:09,000
|
| 599 |
+
What does it mean, compile it?
|
| 600 |
+
|
| 601 |
+
151
|
| 602 |
+
00:11:09,000 --> 00:11:12,000
|
| 603 |
+
But error happened during the program execution.
|
| 604 |
+
|
| 605 |
+
152
|
| 606 |
+
00:11:13,000 --> 00:11:20,000
|
| 607 |
+
You try to find humane method, but couldn't hope this information will help you to troubleshoot issues
|
| 608 |
+
|
| 609 |
+
153
|
| 610 |
+
00:11:20,000 --> 00:11:21,000
|
| 611 |
+
in case you will have once.
|
| 612 |
+
|
| 613 |
+
154
|
| 614 |
+
00:11:22,000 --> 00:11:25,000
|
| 615 |
+
Let's recap one more time what we have learned today.
|
| 616 |
+
|
| 617 |
+
155
|
| 618 |
+
00:11:26,000 --> 00:11:28,000
|
| 619 |
+
And now you know what console applications are.
|
| 620 |
+
|
| 621 |
+
156
|
| 622 |
+
00:11:29,000 --> 00:11:31,000
|
| 623 |
+
You understand basic Java syntax.
|
| 624 |
+
|
| 625 |
+
157
|
| 626 |
+
00:11:31,000 --> 00:11:34,000
|
| 627 |
+
You learn how to create hello world application in Java.
|
| 628 |
+
|
| 629 |
+
158
|
| 630 |
+
00:11:34,000 --> 00:11:38,000
|
| 631 |
+
Also, you saw what compilation errors and the runtime errors are.
|
| 632 |
+
|
| 633 |
+
159
|
| 634 |
+
00:11:39,000 --> 00:11:41,000
|
| 635 |
+
You can compile and execute your programs from the console.
|
| 636 |
+
|
| 637 |
+
160
|
| 638 |
+
00:11:42,000 --> 00:11:43,000
|
| 639 |
+
And here's your homework.
|
| 640 |
+
|
| 641 |
+
161
|
| 642 |
+
00:11:44,000 --> 00:11:48,000
|
| 643 |
+
Try to repeat everything what we did during the lesson by yourself.
|
| 644 |
+
|
| 645 |
+
162
|
| 646 |
+
00:11:48,000 --> 00:11:54,000
|
| 647 |
+
Also, I'd like you to write that or shall file, which will compile your source code and we'll start
|
| 648 |
+
|
| 649 |
+
163
|
| 650 |
+
00:11:54,000 --> 00:11:59,000
|
| 651 |
+
your Java application, try to do it by yourself with help of the Internet if needed.
|
| 652 |
+
|
| 653 |
+
164
|
| 654 |
+
00:12:00,000 --> 00:12:06,000
|
| 655 |
+
And we'll check your homework in the next lesson together and read Java Code Convention from the link
|
| 656 |
+
|
| 657 |
+
165
|
| 658 |
+
00:12:06,000 --> 00:12:06,000
|
| 659 |
+
here.
|
| 660 |
+
|
| 661 |
+
166
|
| 662 |
+
00:12:06,000 --> 00:12:09,000
|
| 663 |
+
Pay extra attention to naming convention.
|
| 664 |
+
|
| 665 |
+
167
|
| 666 |
+
00:12:10,000 --> 00:12:16,000
|
| 667 |
+
Java naming convention is a rule to follow as you decide what to name your intent to file, such as
|
| 668 |
+
|
| 669 |
+
168
|
| 670 |
+
00:12:16,000 --> 00:12:22,000
|
| 671 |
+
class baggage, variable, constant method, etc. but it's not forced to follow.
|
| 672 |
+
|
| 673 |
+
169
|
| 674 |
+
00:12:22,000 --> 00:12:25,000
|
| 675 |
+
So it's known as convention, not neutral.
|
| 676 |
+
|
| 677 |
+
170
|
| 678 |
+
00:12:26,000 --> 00:12:32,000
|
| 679 |
+
These conventions, as suggested by several Java communities such as Sun Microsystems and Netscape,
|
| 680 |
+
|
| 681 |
+
171
|
| 682 |
+
00:12:33,000 --> 00:12:39,000
|
| 683 |
+
all the classes, interfaces, packages, methods and fields of Java programming language and given,
|
| 684 |
+
|
| 685 |
+
172
|
| 686 |
+
00:12:39,000 --> 00:12:45,000
|
| 687 |
+
according to the Java naming conventions, if you fail to follow these conventions, it may generate
|
| 688 |
+
|
| 689 |
+
173
|
| 690 |
+
00:12:45,000 --> 00:12:46,000
|
| 691 |
+
confusion.
|
| 692 |
+
|
02 - Java Basics/003 Homework.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://docs.google.com/document/d/1NoTwR9ZiOzdE_ONc45jJv8sLVtJqiZm-eGz-S9Guv-w/edit?folder=1XkdXhkewYf3n2ak7mRbUNW3HDc_mCMvP
|
02 - Java Basics/004 .bat-file.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://github.com/AndriiPiatakha/learnit_java_core/blob/master/src/hw.bat
|
02 - Java Basics/004 Hello-World-Application.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://github.com/AndriiPiatakha/learnit_java_core/blob/master/src/HelloWorld.java
|
02 - Java Basics/004 Homework Solution .bat file creation.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:1d45e91ae58721dc9acdb3c60f55d160a65c57902db2bd77af10fb4ebf30934c
|
| 3 |
+
size 34785076
|
02 - Java Basics/004 Homework Solution .bat file creation_en.srt
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
1
|
| 2 |
+
00:00:05,000 --> 00:00:12,000
|
| 3 |
+
In the last and will review solution of your homework, you have a task to create that file to compile
|
| 4 |
+
|
| 5 |
+
2
|
| 6 |
+
00:00:12,000 --> 00:00:17,000
|
| 7 |
+
your hello world application and run it, let's review the solution for this homework.
|
| 8 |
+
|
| 9 |
+
3
|
| 10 |
+
00:00:17,000 --> 00:00:20,000
|
| 11 |
+
Here we have Hello World Application from previous lesson.
|
| 12 |
+
|
| 13 |
+
4
|
| 14 |
+
00:00:21,000 --> 00:00:22,000
|
| 15 |
+
Here is my bad file.
|
| 16 |
+
|
| 17 |
+
5
|
| 18 |
+
00:00:23,000 --> 00:00:24,000
|
| 19 |
+
Let me show you how it works.
|
| 20 |
+
|
| 21 |
+
6
|
| 22 |
+
00:00:25,000 --> 00:00:27,000
|
| 23 |
+
Let me open a common line here and run it.
|
| 24 |
+
|
| 25 |
+
7
|
| 26 |
+
00:00:31,000 --> 00:00:38,000
|
| 27 |
+
Here it is, you see that search code has been compiled and executed in command line, and he also noticed
|
| 28 |
+
|
| 29 |
+
8
|
| 30 |
+
00:00:38,000 --> 00:00:41,000
|
| 31 |
+
that after execution class file has been removed.
|
| 32 |
+
|
| 33 |
+
9
|
| 34 |
+
00:00:41,000 --> 00:00:44,000
|
| 35 |
+
Let's write the script together from scratch.
|
| 36 |
+
|
| 37 |
+
10
|
| 38 |
+
00:00:44,000 --> 00:00:48,000
|
| 39 |
+
Typed this not bad homework.
|
| 40 |
+
|
| 41 |
+
11
|
| 42 |
+
00:00:48,000 --> 00:00:49,000
|
| 43 |
+
Dot that.
|
| 44 |
+
|
| 45 |
+
12
|
| 46 |
+
00:00:51,000 --> 00:00:56,000
|
| 47 |
+
Our first comment would be echo of at echo of.
|
| 48 |
+
|
| 49 |
+
13
|
| 50 |
+
00:00:57,000 --> 00:01:04,000
|
| 51 |
+
Echoes a common to display message in standard output to prevent action, a particular comment in a
|
| 52 |
+
|
| 53 |
+
14
|
| 54 |
+
00:01:04,000 --> 00:01:08,000
|
| 55 |
+
batch file, we have to write an at sign in front of the comment.
|
| 56 |
+
|
| 57 |
+
15
|
| 58 |
+
00:01:08,000 --> 00:01:14,000
|
| 59 |
+
We want to prevent again of all comments in our file to see only Java application output.
|
| 60 |
+
|
| 61 |
+
16
|
| 62 |
+
00:01:15,000 --> 00:01:19,000
|
| 63 |
+
That's why I wrote at Echo of at the beginning of the file.
|
| 64 |
+
|
| 65 |
+
17
|
| 66 |
+
00:01:20,000 --> 00:01:22,000
|
| 67 |
+
Next comment will be familiar to you.
|
| 68 |
+
|
| 69 |
+
18
|
| 70 |
+
00:01:22,000 --> 00:01:28,000
|
| 71 |
+
It's Java Asterisk Dot Java asterisk.
|
| 72 |
+
|
| 73 |
+
19
|
| 74 |
+
00:01:28,000 --> 00:01:36,000
|
| 75 |
+
Here is metal symbol to describe all possible files that have Java extension next common java.
|
| 76 |
+
|
| 77 |
+
20
|
| 78 |
+
00:01:36,000 --> 00:01:37,000
|
| 79 |
+
Hello World.
|
| 80 |
+
|
| 81 |
+
21
|
| 82 |
+
00:01:37,000 --> 00:01:42,000
|
| 83 |
+
And at the end, let the lead class file to keep our director clean.
|
| 84 |
+
|
| 85 |
+
22
|
| 86 |
+
00:01:43,000 --> 00:01:47,000
|
| 87 |
+
Dell Asterisk Dot class asterisk.
|
| 88 |
+
|
| 89 |
+
23
|
| 90 |
+
00:01:47,000 --> 00:01:52,000
|
| 91 |
+
Here is a symbol to describe all possible files that have class extension.
|
| 92 |
+
|
| 93 |
+
24
|
| 94 |
+
00:01:53,000 --> 00:01:55,000
|
| 95 |
+
That said, let's save it.
|
| 96 |
+
|
| 97 |
+
25
|
| 98 |
+
00:01:56,000 --> 00:02:01,000
|
| 99 |
+
I press control plus s to save the file and let's run it from here.
|
| 100 |
+
|
| 101 |
+
26
|
| 102 |
+
00:02:02,000 --> 00:02:04,000
|
| 103 |
+
It works as expected.
|
| 104 |
+
|
02 - Java Basics/005 Homework.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://docs.google.com/document/d/13PLSDOQUUZAqRDhgHvNhKJUNZRvuQhe4ymqS2DAzoM8/edit?folder=1XkdXhkewYf3n2ak7mRbUNW3HDc_mCMvP
|
02 - Java Basics/005 Integrated Development Environment, Eclipse Overview_en.srt
ADDED
|
@@ -0,0 +1,656 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
1
|
| 2 |
+
00:00:06,000 --> 00:00:10,000
|
| 3 |
+
They will learn to which will help us create our amazing applications.
|
| 4 |
+
|
| 5 |
+
2
|
| 6 |
+
00:00:11,000 --> 00:00:14,000
|
| 7 |
+
I am talking about integrated development environment.
|
| 8 |
+
|
| 9 |
+
3
|
| 10 |
+
00:00:14,000 --> 00:00:20,000
|
| 11 |
+
Beside that, according to our agenda for today, we will learn what are most popular ideas for development
|
| 12 |
+
|
| 13 |
+
4
|
| 14 |
+
00:00:20,000 --> 00:00:26,000
|
| 15 |
+
of Java based applications will download Eclipse and we'll learn how to configure it.
|
| 16 |
+
|
| 17 |
+
5
|
| 18 |
+
00:00:27,000 --> 00:00:29,000
|
| 19 |
+
So what is integrated development environment?
|
| 20 |
+
|
| 21 |
+
6
|
| 22 |
+
00:00:30,000 --> 00:00:36,000
|
| 23 |
+
IDE is a software application that provides comprehensive facilities to computer programmers for software
|
| 24 |
+
|
| 25 |
+
7
|
| 26 |
+
00:00:36,000 --> 00:00:43,000
|
| 27 |
+
development, and they normally consist of at least a source code editor built automation tools and
|
| 28 |
+
|
| 29 |
+
8
|
| 30 |
+
00:00:43,000 --> 00:00:47,000
|
| 31 |
+
at the bargain, some ideas such as not being technically contained.
|
| 32 |
+
|
| 33 |
+
9
|
| 34 |
+
00:00:47,000 --> 00:00:53,000
|
| 35 |
+
The necessary compiler integrated development environments are designed to maximize programmer productivity,
|
| 36 |
+
|
| 37 |
+
10
|
| 38 |
+
00:00:54,000 --> 00:01:00,000
|
| 39 |
+
reduce and set up time can increase developer productivity, especially in cases where learning to use
|
| 40 |
+
|
| 41 |
+
11
|
| 42 |
+
00:01:00,000 --> 00:01:05,000
|
| 43 |
+
the idea is faster than manually integrating and learning all of the individual tools.
|
| 44 |
+
|
| 45 |
+
12
|
| 46 |
+
00:01:06,000 --> 00:01:14,000
|
| 47 |
+
The most popular ideas for Java development are Eclipse Intelligent Idea, not beans and Androids to
|
| 48 |
+
|
| 49 |
+
13
|
| 50 |
+
00:01:14,000 --> 00:01:15,000
|
| 51 |
+
live for Android projects.
|
| 52 |
+
|
| 53 |
+
14
|
| 54 |
+
00:01:16,000 --> 00:01:19,000
|
| 55 |
+
I've worked a lot with each of these, to be honest.
|
| 56 |
+
|
| 57 |
+
15
|
| 58 |
+
00:01:19,000 --> 00:01:21,000
|
| 59 |
+
I can conclude that that's similar.
|
| 60 |
+
|
| 61 |
+
16
|
| 62 |
+
00:01:21,000 --> 00:01:24,000
|
| 63 |
+
The only difference is the way how to configure your project.
|
| 64 |
+
|
| 65 |
+
17
|
| 66 |
+
00:01:25,000 --> 00:01:27,000
|
| 67 |
+
The same buttons located in different places.
|
| 68 |
+
|
| 69 |
+
18
|
| 70 |
+
00:01:27,000 --> 00:01:29,000
|
| 71 |
+
That would be my short answer.
|
| 72 |
+
|
| 73 |
+
19
|
| 74 |
+
00:01:29,000 --> 00:01:34,000
|
| 75 |
+
But still, my preferred option would be Eclipse for Java Enterprise Edition developers.
|
| 76 |
+
|
| 77 |
+
20
|
| 78 |
+
00:01:34,000 --> 00:01:35,000
|
| 79 |
+
Why?
|
| 80 |
+
|
| 81 |
+
21
|
| 82 |
+
00:01:35,000 --> 00:01:37,000
|
| 83 |
+
There are a few reasons.
|
| 84 |
+
|
| 85 |
+
22
|
| 86 |
+
00:01:37,000 --> 00:01:44,000
|
| 87 |
+
Some of them, it is completely free of charge, the same as that means you can find that idea.
|
| 88 |
+
|
| 89 |
+
23
|
| 90 |
+
00:01:44,000 --> 00:01:47,000
|
| 91 |
+
Community version is also free of charge.
|
| 92 |
+
|
| 93 |
+
24
|
| 94 |
+
00:01:47,000 --> 00:01:53,000
|
| 95 |
+
But later during the course you will notice that in communications there is a lack of support of Java
|
| 96 |
+
|
| 97 |
+
25
|
| 98 |
+
00:01:53,000 --> 00:02:00,000
|
| 99 |
+
Enterprise Edition and you would need either to buy license version of a year so-called AUTOMATE edition
|
| 100 |
+
|
| 101 |
+
26
|
| 102 |
+
00:02:00,000 --> 00:02:02,000
|
| 103 |
+
or looking for some workarounds.
|
| 104 |
+
|
| 105 |
+
27
|
| 106 |
+
00:02:03,000 --> 00:02:07,000
|
| 107 |
+
If you're a student, you can get ultimata, edition license free of charge.
|
| 108 |
+
|
| 109 |
+
28
|
| 110 |
+
00:02:07,000 --> 00:02:12,000
|
| 111 |
+
But again, it's free only for educational purposes, but not for commercial use.
|
| 112 |
+
|
| 113 |
+
29
|
| 114 |
+
00:02:12,000 --> 00:02:13,000
|
| 115 |
+
In many companies.
|
| 116 |
+
|
| 117 |
+
30
|
| 118 |
+
00:02:13,000 --> 00:02:20,000
|
| 119 |
+
Eclipse isn't standard software package for Java software engineers because it's powerful for creation
|
| 120 |
+
|
| 121 |
+
31
|
| 122 |
+
00:02:20,000 --> 00:02:25,000
|
| 123 |
+
of any kind of applications and it's free, huge community in the Internet.
|
| 124 |
+
|
| 125 |
+
32
|
| 126 |
+
00:02:25,000 --> 00:02:27,000
|
| 127 |
+
You will find a lot of support.
|
| 128 |
+
|
| 129 |
+
33
|
| 130 |
+
00:02:27,000 --> 00:02:32,000
|
| 131 |
+
How to deal with different configuration issues in case you have them in your project while working
|
| 132 |
+
|
| 133 |
+
34
|
| 134 |
+
00:02:32,000 --> 00:02:33,000
|
| 135 |
+
with Eclipse.
|
| 136 |
+
|
| 137 |
+
35
|
| 138 |
+
00:02:34,000 --> 00:02:40,000
|
| 139 |
+
You can easily extend your idea was extensions and plug ins, for example, you can add plugin which
|
| 140 |
+
|
| 141 |
+
36
|
| 142 |
+
00:02:40,000 --> 00:02:45,000
|
| 143 |
+
will check your code style, you can add plug in to test your passcode coverage.
|
| 144 |
+
|
| 145 |
+
37
|
| 146 |
+
00:02:45,000 --> 00:02:51,000
|
| 147 |
+
You cannot plug in, which will allow you to style icons, background and fonts in the eclipse.
|
| 148 |
+
|
| 149 |
+
38
|
| 150 |
+
00:02:51,000 --> 00:02:55,000
|
| 151 |
+
And much more Eclipse has tools to work with Java for Enterprise.
|
| 152 |
+
|
| 153 |
+
39
|
| 154 |
+
00:02:56,000 --> 00:02:59,000
|
| 155 |
+
This will come in handy later in this training program.
|
| 156 |
+
|
| 157 |
+
40
|
| 158 |
+
00:02:59,000 --> 00:03:03,000
|
| 159 |
+
Now lets together download and install Eclipse on your computer.
|
| 160 |
+
|
| 161 |
+
41
|
| 162 |
+
00:03:04,000 --> 00:03:10,000
|
| 163 |
+
We will configure your workspace and we'll create Hello World Java project in Eclipse and you will see
|
| 164 |
+
|
| 165 |
+
42
|
| 166 |
+
00:03:10,000 --> 00:03:12,000
|
| 167 |
+
how it makes our life easier.
|
| 168 |
+
|
| 169 |
+
43
|
| 170 |
+
00:03:13,000 --> 00:03:15,000
|
| 171 |
+
Let's make a Google search like this.
|
| 172 |
+
|
| 173 |
+
44
|
| 174 |
+
00:03:16,000 --> 00:03:19,000
|
| 175 |
+
Eclipse for Java Developers Download.
|
| 176 |
+
|
| 177 |
+
45
|
| 178 |
+
00:03:21,000 --> 00:03:22,000
|
| 179 |
+
Click on the first link.
|
| 180 |
+
|
| 181 |
+
46
|
| 182 |
+
00:03:23,000 --> 00:03:27,000
|
| 183 |
+
Here's a warning message which tell us that this is not the latest package.
|
| 184 |
+
|
| 185 |
+
47
|
| 186 |
+
00:03:28,000 --> 00:03:30,000
|
| 187 |
+
Let's take a look at the newest version.
|
| 188 |
+
|
| 189 |
+
48
|
| 190 |
+
00:03:31,000 --> 00:03:36,000
|
| 191 |
+
And here it is, the motorcade for Windows Linux on Mac.
|
| 192 |
+
|
| 193 |
+
49
|
| 194 |
+
00:03:38,000 --> 00:03:39,000
|
| 195 |
+
President Lord Martin.
|
| 196 |
+
|
| 197 |
+
50
|
| 198 |
+
00:03:43,000 --> 00:03:47,000
|
| 199 |
+
When we have downloaded the clips, extract old files wherever you want on your computer.
|
| 200 |
+
|
| 201 |
+
51
|
| 202 |
+
00:03:50,000 --> 00:03:51,000
|
| 203 |
+
Now start the clips.
|
| 204 |
+
|
| 205 |
+
52
|
| 206 |
+
00:03:54,000 --> 00:03:59,000
|
| 207 |
+
When you start the clips, you are asked to indicate a workspace directly, the workspace is a directory
|
| 208 |
+
|
| 209 |
+
53
|
| 210 |
+
00:03:59,000 --> 00:04:06,000
|
| 211 |
+
on the desk where the eclipse platform and all the installed plug ins or preferences, configurations
|
| 212 |
+
|
| 213 |
+
54
|
| 214 |
+
00:04:06,000 --> 00:04:12,000
|
| 215 |
+
and temporary information, subsequent clips and locations will use the storage to restore the previous
|
| 216 |
+
|
| 217 |
+
55
|
| 218 |
+
00:04:12,000 --> 00:04:12,000
|
| 219 |
+
state.
|
| 220 |
+
|
| 221 |
+
56
|
| 222 |
+
00:04:13,000 --> 00:04:18,000
|
| 223 |
+
Each time you start Eclipse, you can create a new workspace directory or indicate an existing one.
|
| 224 |
+
|
| 225 |
+
57
|
| 226 |
+
00:04:18,000 --> 00:04:23,000
|
| 227 |
+
You can create many workspaces, each one dedicated to some activity.
|
| 228 |
+
|
| 229 |
+
58
|
| 230 |
+
00:04:23,000 --> 00:04:27,000
|
| 231 |
+
For example, I want to create a workspace dedicated to this training course here.
|
| 232 |
+
|
| 233 |
+
59
|
| 234 |
+
00:04:28,000 --> 00:04:31,000
|
| 235 |
+
Let me call it your Nike fundamentals.
|
| 236 |
+
|
| 237 |
+
60
|
| 238 |
+
00:04:31,000 --> 00:04:33,000
|
| 239 |
+
Let's press the launch button now.
|
| 240 |
+
|
| 241 |
+
61
|
| 242 |
+
00:04:37,000 --> 00:04:38,000
|
| 243 |
+
Let's make it full screen.
|
| 244 |
+
|
| 245 |
+
62
|
| 246 |
+
00:04:39,000 --> 00:04:40,000
|
| 247 |
+
Here is a welcome page.
|
| 248 |
+
|
| 249 |
+
63
|
| 250 |
+
00:04:40,000 --> 00:04:46,000
|
| 251 |
+
Let's get directly to the park bench, just press here and here is your workspace.
|
| 252 |
+
|
| 253 |
+
64
|
| 254 |
+
00:04:47,000 --> 00:04:49,000
|
| 255 |
+
It comprises different objects and views.
|
| 256 |
+
|
| 257 |
+
65
|
| 258 |
+
00:04:50,000 --> 00:04:52,000
|
| 259 |
+
You can configure your workspace as you wish.
|
| 260 |
+
|
| 261 |
+
66
|
| 262 |
+
00:04:52,000 --> 00:04:55,000
|
| 263 |
+
You can move all these widgets anywhere.
|
| 264 |
+
|
| 265 |
+
67
|
| 266 |
+
00:04:57,000 --> 00:04:58,000
|
| 267 |
+
Let's leave it here.
|
| 268 |
+
|
| 269 |
+
68
|
| 270 |
+
00:04:58,000 --> 00:05:04,000
|
| 271 |
+
Here you can choose your perspective and the global perspective is the name given to an initial collection
|
| 272 |
+
|
| 273 |
+
69
|
| 274 |
+
00:05:04,000 --> 00:05:06,000
|
| 275 |
+
and arrangements of use.
|
| 276 |
+
|
| 277 |
+
70
|
| 278 |
+
00:05:06,000 --> 00:05:13,000
|
| 279 |
+
And then editor area, for example, take a look at current perspective is look like let's also press
|
| 280 |
+
|
| 281 |
+
71
|
| 282 |
+
00:05:13,000 --> 00:05:14,000
|
| 283 |
+
file new.
|
| 284 |
+
|
| 285 |
+
72
|
| 286 |
+
00:05:15,000 --> 00:05:16,000
|
| 287 |
+
Can you see this list?
|
| 288 |
+
|
| 289 |
+
73
|
| 290 |
+
00:05:16,000 --> 00:05:21,000
|
| 291 |
+
It contains MAVEN Project, Dynamic Web Project, IGB Project, etc..
|
| 292 |
+
|
| 293 |
+
74
|
| 294 |
+
00:05:22,000 --> 00:05:24,000
|
| 295 |
+
Now let's open another perspective.
|
| 296 |
+
|
| 297 |
+
75
|
| 298 |
+
00:05:24,000 --> 00:05:28,000
|
| 299 |
+
Let's hope and not Joe Enterprise Edition, but Java perspective.
|
| 300 |
+
|
| 301 |
+
76
|
| 302 |
+
00:05:31,000 --> 00:05:36,000
|
| 303 |
+
Here it is open, you see that the set of digits is different now.
|
| 304 |
+
|
| 305 |
+
77
|
| 306 |
+
00:05:37,000 --> 00:05:45,000
|
| 307 |
+
Let's open again, file new, and here we see a different list with Java project on top of it in Eclipse,
|
| 308 |
+
|
| 309 |
+
78
|
| 310 |
+
00:05:45,000 --> 00:05:48,000
|
| 311 |
+
you have multiple perspective and you can switch between them easily here.
|
| 312 |
+
|
| 313 |
+
79
|
| 314 |
+
00:05:50,000 --> 00:05:54,000
|
| 315 |
+
You have separate perspective for the bargain for database development, etc..
|
| 316 |
+
|
| 317 |
+
80
|
| 318 |
+
00:05:56,000 --> 00:06:02,000
|
| 319 |
+
Here's your Project Explorer view here, you'll find hierarchical representation of your projects and
|
| 320 |
+
|
| 321 |
+
81
|
| 322 |
+
00:06:02,000 --> 00:06:08,000
|
| 323 |
+
source code in case you lost some, you would like to open a new one, just press window.
|
| 324 |
+
|
| 325 |
+
82
|
| 326 |
+
00:06:09,000 --> 00:06:09,000
|
| 327 |
+
Shoyu.
|
| 328 |
+
|
| 329 |
+
83
|
| 330 |
+
00:06:10,000 --> 00:06:16,000
|
| 331 |
+
Other here, you can find all available views, which you can add to your workspace.
|
| 332 |
+
|
| 333 |
+
84
|
| 334 |
+
00:06:18,000 --> 00:06:21,000
|
| 335 |
+
Now let's create our Hello World Java project.
|
| 336 |
+
|
| 337 |
+
85
|
| 338 |
+
00:06:21,000 --> 00:06:26,000
|
| 339 |
+
You can click is a here or go to file new Java project.
|
| 340 |
+
|
| 341 |
+
86
|
| 342 |
+
00:06:27,000 --> 00:06:29,000
|
| 343 |
+
Let's go over project configurations here.
|
| 344 |
+
|
| 345 |
+
87
|
| 346 |
+
00:06:30,000 --> 00:06:32,000
|
| 347 |
+
Type any project name you would like.
|
| 348 |
+
|
| 349 |
+
88
|
| 350 |
+
00:06:32,000 --> 00:06:36,000
|
| 351 |
+
I will type learn I.T. fundamentals.
|
| 352 |
+
|
| 353 |
+
89
|
| 354 |
+
00:06:38,000 --> 00:06:44,000
|
| 355 |
+
Reached Java runtime environment you would like to use, you can select one of the predefined options
|
| 356 |
+
|
| 357 |
+
90
|
| 358 |
+
00:06:44,000 --> 00:06:49,000
|
| 359 |
+
in the clips, I would select the ones which are already installed on my computer.
|
| 360 |
+
|
| 361 |
+
91
|
| 362 |
+
00:06:49,000 --> 00:06:51,000
|
| 363 |
+
We can click finish.
|
| 364 |
+
|
| 365 |
+
92
|
| 366 |
+
00:06:51,000 --> 00:06:56,000
|
| 367 |
+
But for the sake of the interests, let's click next to learn what other configurations available for
|
| 368 |
+
|
| 369 |
+
93
|
| 370 |
+
00:06:56,000 --> 00:06:56,000
|
| 371 |
+
us.
|
| 372 |
+
|
| 373 |
+
94
|
| 374 |
+
00:06:57,000 --> 00:07:04,000
|
| 375 |
+
Here you can see many other configurations, for example, SAAC would be considered as your source folder,
|
| 376 |
+
|
| 377 |
+
95
|
| 378 |
+
00:07:05,000 --> 00:07:10,000
|
| 379 |
+
a source folder is a pass which is marked by clip's as containing Java sources which are needed to be
|
| 380 |
+
|
| 381 |
+
96
|
| 382 |
+
00:07:10,000 --> 00:07:11,000
|
| 383 |
+
compiled.
|
| 384 |
+
|
| 385 |
+
97
|
| 386 |
+
00:07:12,000 --> 00:07:18,000
|
| 387 |
+
You can also see that you can configure default output folder where all files with class extension will
|
| 388 |
+
|
| 389 |
+
98
|
| 390 |
+
00:07:18,000 --> 00:07:20,000
|
| 391 |
+
be stored in the library.
|
| 392 |
+
|
| 393 |
+
99
|
| 394 |
+
00:07:20,000 --> 00:07:24,000
|
| 395 |
+
STAP you can add additional external libraries, but we don't need them now.
|
| 396 |
+
|
| 397 |
+
100
|
| 398 |
+
00:07:25,000 --> 00:07:29,000
|
| 399 |
+
We will cover this part of configuration deeper later in this course.
|
| 400 |
+
|
| 401 |
+
101
|
| 402 |
+
00:07:30,000 --> 00:07:31,000
|
| 403 |
+
Let's just click finish now.
|
| 404 |
+
|
| 405 |
+
102
|
| 406 |
+
00:07:33,000 --> 00:07:39,000
|
| 407 |
+
Eclipse will ask us how we want to name our module Java Modules is a new feature which represented the
|
| 408 |
+
|
| 409 |
+
103
|
| 410 |
+
00:07:39,000 --> 00:07:46,000
|
| 411 |
+
first time in Java nine where the Java platform module system and Java module is a mechanism to package
|
| 412 |
+
|
| 413 |
+
104
|
| 414 |
+
00:07:46,000 --> 00:07:50,000
|
| 415 |
+
up your job application and Java packages into Java modules.
|
| 416 |
+
|
| 417 |
+
105
|
| 418 |
+
00:07:51,000 --> 00:07:57,000
|
| 419 |
+
A Java module can specify which of Java packages it contains that should be visible to other Java modules
|
| 420 |
+
|
| 421 |
+
106
|
| 422 |
+
00:07:57,000 --> 00:07:59,000
|
| 423 |
+
using these module.
|
| 424 |
+
|
| 425 |
+
107
|
| 426 |
+
00:07:59,000 --> 00:08:04,000
|
| 427 |
+
But with respect to our agenda for today, I suggest to come back to modules a bit later.
|
| 428 |
+
|
| 429 |
+
108
|
| 430 |
+
00:08:04,000 --> 00:08:06,000
|
| 431 |
+
Just click on create.
|
| 432 |
+
|
| 433 |
+
109
|
| 434 |
+
00:08:06,000 --> 00:08:12,000
|
| 435 |
+
Your project is created now and you'll remember that you need to create a class, so let's create it
|
| 436 |
+
|
| 437 |
+
110
|
| 438 |
+
00:08:12,000 --> 00:08:13,000
|
| 439 |
+
now.
|
| 440 |
+
|
| 441 |
+
111
|
| 442 |
+
00:08:14,000 --> 00:08:15,000
|
| 443 |
+
Let's expand your project.
|
| 444 |
+
|
| 445 |
+
112
|
| 446 |
+
00:08:16,000 --> 00:08:17,000
|
| 447 |
+
Do right.
|
| 448 |
+
|
| 449 |
+
113
|
| 450 |
+
00:08:17,000 --> 00:08:19,000
|
| 451 |
+
Click on the SSD source folder.
|
| 452 |
+
|
| 453 |
+
114
|
| 454 |
+
00:08:20,000 --> 00:08:21,000
|
| 455 |
+
New Class.
|
| 456 |
+
|
| 457 |
+
115
|
| 458 |
+
00:08:23,000 --> 00:08:24,000
|
| 459 |
+
Name of the class.
|
| 460 |
+
|
| 461 |
+
116
|
| 462 |
+
00:08:24,000 --> 00:08:25,000
|
| 463 |
+
Hello, girls.
|
| 464 |
+
|
| 465 |
+
117
|
| 466 |
+
00:08:25,000 --> 00:08:31,000
|
| 467 |
+
It has public modifier objects, always superclass of each type in Jawa.
|
| 468 |
+
|
| 469 |
+
118
|
| 470 |
+
00:08:31,000 --> 00:08:33,000
|
| 471 |
+
We'll discuss this on all be topic.
|
| 472 |
+
|
| 473 |
+
119
|
| 474 |
+
00:08:34,000 --> 00:08:37,000
|
| 475 |
+
We can also create a step of the main method.
|
| 476 |
+
|
| 477 |
+
120
|
| 478 |
+
00:08:37,000 --> 00:08:44,000
|
| 479 |
+
Just check this checkbox and the last, but not the least configuration package name package in Java
|
| 480 |
+
|
| 481 |
+
121
|
| 482 |
+
00:08:44,000 --> 00:08:48,000
|
| 483 |
+
is a mechanism to encapsulate a group of classes, sub packages and interfaces.
|
| 484 |
+
|
| 485 |
+
122
|
| 486 |
+
00:08:49,000 --> 00:08:52,000
|
| 487 |
+
Packages are used for preventing name and conflicts.
|
| 488 |
+
|
| 489 |
+
123
|
| 490 |
+
00:08:52,000 --> 00:08:58,000
|
| 491 |
+
Potentially, your application might have user class and the library which they're using in your application,
|
| 492 |
+
|
| 493 |
+
124
|
| 494 |
+
00:08:58,000 --> 00:09:00,000
|
| 495 |
+
might also contain user class.
|
| 496 |
+
|
| 497 |
+
125
|
| 498 |
+
00:09:00,000 --> 00:09:07,000
|
| 499 |
+
How we can say that your user and user from external library are different classes and we need to use
|
| 500 |
+
|
| 501 |
+
126
|
| 502 |
+
00:09:07,000 --> 00:09:08,000
|
| 503 |
+
user from external library.
|
| 504 |
+
|
| 505 |
+
127
|
| 506 |
+
00:09:09,000 --> 00:09:14,000
|
| 507 |
+
The full name of the class consist of package name plus class name, for example.
|
| 508 |
+
|
| 509 |
+
128
|
| 510 |
+
00:09:14,000 --> 00:09:16,000
|
| 511 |
+
Com dot Barek.
|
| 512 |
+
|
| 513 |
+
129
|
| 514 |
+
00:09:17,000 --> 00:09:17,000
|
| 515 |
+
Hello.
|
| 516 |
+
|
| 517 |
+
130
|
| 518 |
+
00:09:17,000 --> 00:09:19,000
|
| 519 |
+
World will be one class.
|
| 520 |
+
|
| 521 |
+
131
|
| 522 |
+
00:09:21,000 --> 00:09:29,000
|
| 523 |
+
Comb, dot, Google, hello, world will be completely different class, that's why for the package
|
| 524 |
+
|
| 525 |
+
132
|
| 526 |
+
00:09:29,000 --> 00:09:35,000
|
| 527 |
+
names reverse order of the main name is used my domain name because it's unique.
|
| 528 |
+
|
| 529 |
+
133
|
| 530 |
+
00:09:36,000 --> 00:09:42,000
|
| 531 |
+
Also packages I use for making search and locating and usage of classes, interfaces, enumerations
|
| 532 |
+
|
| 533 |
+
134
|
| 534 |
+
00:09:42,000 --> 00:09:49,000
|
| 535 |
+
and annotations easier later will learn that we can restrict access from different packages to the classes.
|
| 536 |
+
|
| 537 |
+
135
|
| 538 |
+
00:09:49,000 --> 00:09:51,000
|
| 539 |
+
Inside are the packages.
|
| 540 |
+
|
| 541 |
+
136
|
| 542 |
+
00:09:51,000 --> 00:10:00,000
|
| 543 |
+
Let's create package following with this bottom comb I Tibbles and your last name and press finish Pathum.
|
| 544 |
+
|
| 545 |
+
137
|
| 546 |
+
00:10:02,000 --> 00:10:09,000
|
| 547 |
+
You see a package declaration goes on top of the file here during the course, we'll run with you hotkeys,
|
| 548 |
+
|
| 549 |
+
138
|
| 550 |
+
00:10:10,000 --> 00:10:13,000
|
| 551 |
+
for example, control class will delete the line.
|
| 552 |
+
|
| 553 |
+
139
|
| 554 |
+
00:10:14,000 --> 00:10:18,000
|
| 555 |
+
Let's press control to remove this single line to the common.
|
| 556 |
+
|
| 557 |
+
140
|
| 558 |
+
00:10:19,000 --> 00:10:27,000
|
| 559 |
+
Eclipse has other suggestion support, what a subtle suggestion, let's start typing here, System C.
|
| 560 |
+
|
| 561 |
+
141
|
| 562 |
+
00:10:28,000 --> 00:10:35,000
|
| 563 |
+
Press controlled glass space, now you see this dropdown list eclipses trying to guess what you would
|
| 564 |
+
|
| 565 |
+
142
|
| 566 |
+
00:10:35,000 --> 00:10:42,000
|
| 567 |
+
like to type here, select type which you need from the least press center type dot.
|
| 568 |
+
|
| 569 |
+
143
|
| 570 |
+
00:10:43,000 --> 00:10:52,000
|
| 571 |
+
And again, at a suggestion I will go with out here, press center dot start typing print.
|
| 572 |
+
|
| 573 |
+
144
|
| 574 |
+
00:10:53,000 --> 00:10:54,000
|
| 575 |
+
And here is our method.
|
| 576 |
+
|
| 577 |
+
145
|
| 578 |
+
00:10:56,000 --> 00:10:57,000
|
| 579 |
+
That's right, string literal here.
|
| 580 |
+
|
| 581 |
+
146
|
| 582 |
+
00:10:58,000 --> 00:10:58,000
|
| 583 |
+
Hello, world.
|
| 584 |
+
|
| 585 |
+
147
|
| 586 |
+
00:11:00,000 --> 00:11:06,000
|
| 587 |
+
Asterisk near the file name means the file is not safe birth control plus s to save the file.
|
| 588 |
+
|
| 589 |
+
148
|
| 590 |
+
00:11:07,000 --> 00:11:15,000
|
| 591 |
+
You can run your program in different ways, first option for you is mouse right click run s Java application.
|
| 592 |
+
|
| 593 |
+
149
|
| 594 |
+
00:11:16,000 --> 00:11:22,000
|
| 595 |
+
The second option is to find this icon here and again, run s Java application.
|
| 596 |
+
|
| 597 |
+
150
|
| 598 |
+
00:11:23,000 --> 00:11:27,000
|
| 599 |
+
And the third option is Hotkey Control Class F 11.
|
| 600 |
+
|
| 601 |
+
151
|
| 602 |
+
00:11:28,000 --> 00:11:29,000
|
| 603 |
+
Let's run our program now.
|
| 604 |
+
|
| 605 |
+
152
|
| 606 |
+
00:11:30,000 --> 00:11:32,000
|
| 607 |
+
And here we have output.
|
| 608 |
+
|
| 609 |
+
153
|
| 610 |
+
00:11:32,000 --> 00:11:35,000
|
| 611 |
+
Hello, world, congratulations.
|
| 612 |
+
|
| 613 |
+
154
|
| 614 |
+
00:11:36,000 --> 00:11:39,000
|
| 615 |
+
One more trick for out.
|
| 616 |
+
|
| 617 |
+
155
|
| 618 |
+
00:11:39,000 --> 00:11:45,000
|
| 619 |
+
You can use something like this, just type this out and press controlled space.
|
| 620 |
+
|
| 621 |
+
156
|
| 622 |
+
00:11:45,000 --> 00:11:50,000
|
| 623 |
+
You get system out into then and now.
|
| 624 |
+
|
| 625 |
+
157
|
| 626 |
+
00:11:50,000 --> 00:11:53,000
|
| 627 |
+
Let's recap what we have learned today after this lesson.
|
| 628 |
+
|
| 629 |
+
158
|
| 630 |
+
00:11:53,000 --> 00:11:57,000
|
| 631 |
+
We know what is integrated development environment.
|
| 632 |
+
|
| 633 |
+
159
|
| 634 |
+
00:11:57,000 --> 00:12:00,000
|
| 635 |
+
What are most popular ideas for Java development?
|
| 636 |
+
|
| 637 |
+
160
|
| 638 |
+
00:12:01,000 --> 00:12:03,000
|
| 639 |
+
How to configure Eclipse on your computer.
|
| 640 |
+
|
| 641 |
+
161
|
| 642 |
+
00:12:04,000 --> 00:12:11,000
|
| 643 |
+
You learned the concept of packages and created your first project in Eclipse and now your homework
|
| 644 |
+
|
| 645 |
+
162
|
| 646 |
+
00:12:13,000 --> 00:12:13,000
|
| 647 |
+
download.
|
| 648 |
+
|
| 649 |
+
163
|
| 650 |
+
00:12:13,000 --> 00:12:17,000
|
| 651 |
+
I guess you can choose whatever idea you wish.
|
| 652 |
+
|
| 653 |
+
164
|
| 654 |
+
00:12:17,000 --> 00:12:22,000
|
| 655 |
+
Install it on your computer and create Hello World Project in your ID.
|
| 656 |
+
|
02 - Java Basics/006 Comments in Java source code_en.srt
ADDED
|
@@ -0,0 +1,380 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
1
|
| 2 |
+
00:00:05,000 --> 00:00:07,000
|
| 3 |
+
In this lecture, we'll run with you.
|
| 4 |
+
|
| 5 |
+
2
|
| 6 |
+
00:00:07,000 --> 00:00:12,000
|
| 7 |
+
What comments are and what type of comments are available in Java source code and apart from that,
|
| 8 |
+
|
| 9 |
+
3
|
| 10 |
+
00:00:12,000 --> 00:00:16,000
|
| 11 |
+
we'll talk together regarding Deep's and best practices while using comments.
|
| 12 |
+
|
| 13 |
+
4
|
| 14 |
+
00:00:17,000 --> 00:00:20,000
|
| 15 |
+
First of all, let's come up with a common definition here.
|
| 16 |
+
|
| 17 |
+
5
|
| 18 |
+
00:00:21,000 --> 00:00:25,000
|
| 19 |
+
The Java comments are statements that are not executed by GBM.
|
| 20 |
+
|
| 21 |
+
6
|
| 22 |
+
00:00:25,000 --> 00:00:31,000
|
| 23 |
+
The comments can be used to provide information or explanation about the variable method class or any
|
| 24 |
+
|
| 25 |
+
7
|
| 26 |
+
00:00:31,000 --> 00:00:32,000
|
| 27 |
+
statement.
|
| 28 |
+
|
| 29 |
+
8
|
| 30 |
+
00:00:32,000 --> 00:00:35,000
|
| 31 |
+
It can also be used to hide program code temporarily.
|
| 32 |
+
|
| 33 |
+
9
|
| 34 |
+
00:00:36,000 --> 00:00:40,000
|
| 35 |
+
Comments often used to live so-called to do comments mentions.
|
| 36 |
+
|
| 37 |
+
10
|
| 38 |
+
00:00:40,000 --> 00:00:43,000
|
| 39 |
+
Do not forget to restructure code or to add something in the future.
|
| 40 |
+
|
| 41 |
+
11
|
| 42 |
+
00:00:44,000 --> 00:00:46,000
|
| 43 |
+
There are three types of comments in Java.
|
| 44 |
+
|
| 45 |
+
12
|
| 46 |
+
00:00:46,000 --> 00:00:49,000
|
| 47 |
+
Single line, multiline and Javadoc.
|
| 48 |
+
|
| 49 |
+
13
|
| 50 |
+
00:00:50,000 --> 00:00:54,000
|
| 51 |
+
Let's take a closer look at how comments are looked like in our clip's workspace.
|
| 52 |
+
|
| 53 |
+
14
|
| 54 |
+
00:00:56,000 --> 00:01:02,000
|
| 55 |
+
Here is our hello world application, which we all know, let's add a single line comment right after
|
| 56 |
+
|
| 57 |
+
15
|
| 58 |
+
00:01:02,000 --> 00:01:03,000
|
| 59 |
+
console output.
|
| 60 |
+
|
| 61 |
+
16
|
| 62 |
+
00:01:04,000 --> 00:01:10,000
|
| 63 |
+
That was to do at more court here in the future.
|
| 64 |
+
|
| 65 |
+
17
|
| 66 |
+
00:01:11,000 --> 00:01:17,000
|
| 67 |
+
By the way, in the clips, if you want to find all to do comments in your code, just go to window
|
| 68 |
+
|
| 69 |
+
18
|
| 70 |
+
00:01:17,000 --> 00:01:19,000
|
| 71 |
+
shoyu desks.
|
| 72 |
+
|
| 73 |
+
19
|
| 74 |
+
00:01:20,000 --> 00:01:21,000
|
| 75 |
+
Here it is.
|
| 76 |
+
|
| 77 |
+
20
|
| 78 |
+
00:01:22,000 --> 00:01:29,000
|
| 79 |
+
Just don't forget to save your file before that eclipse passes all to the comments and lists it here.
|
| 80 |
+
|
| 81 |
+
21
|
| 82 |
+
00:01:29,000 --> 00:01:31,000
|
| 83 |
+
I used this too many times.
|
| 84 |
+
|
| 85 |
+
22
|
| 86 |
+
00:01:32,000 --> 00:01:34,000
|
| 87 |
+
There is a hotkey for single line comment.
|
| 88 |
+
|
| 89 |
+
23
|
| 90 |
+
00:01:35,000 --> 00:01:41,000
|
| 91 |
+
For example, you can comment this code line by pressing control plus slash and uncommented in the same
|
| 92 |
+
|
| 93 |
+
24
|
| 94 |
+
00:01:41,000 --> 00:01:42,000
|
| 95 |
+
way.
|
| 96 |
+
|
| 97 |
+
25
|
| 98 |
+
00:01:42,000 --> 00:01:49,000
|
| 99 |
+
You can select few lines, for example, the whole method, and call it the same way with hotkeys.
|
| 100 |
+
|
| 101 |
+
26
|
| 102 |
+
00:01:50,000 --> 00:01:58,000
|
| 103 |
+
And uncommented, if you wish, with the hotkeys now let's create multiline common type slash asterisk
|
| 104 |
+
|
| 105 |
+
27
|
| 106 |
+
00:01:58,000 --> 00:01:59,000
|
| 107 |
+
and enter.
|
| 108 |
+
|
| 109 |
+
28
|
| 110 |
+
00:02:00,000 --> 00:02:07,000
|
| 111 |
+
You see how Eclipse helps us to write Multiline Command, you can type something like this, please
|
| 112 |
+
|
| 113 |
+
29
|
| 114 |
+
00:02:08,000 --> 00:02:11,000
|
| 115 |
+
do not remove this quote.
|
| 116 |
+
|
| 117 |
+
30
|
| 118 |
+
00:02:12,000 --> 00:02:18,000
|
| 119 |
+
And now let me show you, Javadoc, the first thing you should know about Javadoc is that this type
|
| 120 |
+
|
| 121 |
+
31
|
| 122 |
+
00:02:18,000 --> 00:02:23,000
|
| 123 |
+
of comments can be converted to nice looking TAMAO pages in JDK.
|
| 124 |
+
|
| 125 |
+
32
|
| 126 |
+
00:02:23,000 --> 00:02:29,000
|
| 127 |
+
We have Javadoc program which generates these e-mail pages out of our source code.
|
| 128 |
+
|
| 129 |
+
33
|
| 130 |
+
00:02:30,000 --> 00:02:31,000
|
| 131 |
+
Let me show you example.
|
| 132 |
+
|
| 133 |
+
34
|
| 134 |
+
00:02:32,000 --> 00:02:35,000
|
| 135 |
+
Here is official javadoc of string class.
|
| 136 |
+
|
| 137 |
+
35
|
| 138 |
+
00:02:35,000 --> 00:02:39,000
|
| 139 |
+
You can see class description, constructor, fields' methods.
|
| 140 |
+
|
| 141 |
+
36
|
| 142 |
+
00:02:40,000 --> 00:02:41,000
|
| 143 |
+
All of them are clickable.
|
| 144 |
+
|
| 145 |
+
37
|
| 146 |
+
00:02:42,000 --> 00:02:43,000
|
| 147 |
+
For example, let me click here.
|
| 148 |
+
|
| 149 |
+
38
|
| 150 |
+
00:02:44,000 --> 00:02:46,000
|
| 151 |
+
You can generate the same documentation.
|
| 152 |
+
|
| 153 |
+
39
|
| 154 |
+
00:02:46,000 --> 00:02:48,000
|
| 155 |
+
Let's learn how to do this.
|
| 156 |
+
|
| 157 |
+
40
|
| 158 |
+
00:02:49,000 --> 00:02:52,000
|
| 159 |
+
Let's create Java documentation for our main method.
|
| 160 |
+
|
| 161 |
+
41
|
| 162 |
+
00:02:53,000 --> 00:02:56,000
|
| 163 |
+
Slash Nebel Asterisk Enter.
|
| 164 |
+
|
| 165 |
+
42
|
| 166 |
+
00:02:57,000 --> 00:03:02,000
|
| 167 |
+
And here your comment goes the entry point to that program.
|
| 168 |
+
|
| 169 |
+
43
|
| 170 |
+
00:03:04,000 --> 00:03:12,000
|
| 171 |
+
You can see the stack there, it is used to add parameter to parameter section in Javadoc, I will share
|
| 172 |
+
|
| 173 |
+
44
|
| 174 |
+
00:03:12,000 --> 00:03:15,000
|
| 175 |
+
with you more tags to learn in the homework section.
|
| 176 |
+
|
| 177 |
+
45
|
| 178 |
+
00:03:16,000 --> 00:03:18,000
|
| 179 |
+
Meanwhile, let's add clarification here.
|
| 180 |
+
|
| 181 |
+
46
|
| 182 |
+
00:03:19,000 --> 00:03:21,000
|
| 183 |
+
Input arguments.
|
| 184 |
+
|
| 185 |
+
47
|
| 186 |
+
00:03:22,000 --> 00:03:25,000
|
| 187 |
+
Let's also add Javadoc to our class.
|
| 188 |
+
|
| 189 |
+
48
|
| 190 |
+
00:03:27,000 --> 00:03:31,000
|
| 191 |
+
You can see Ostertag here, I will leave the next comment here.
|
| 192 |
+
|
| 193 |
+
49
|
| 194 |
+
00:03:32,000 --> 00:03:35,000
|
| 195 |
+
Hello, world application.
|
| 196 |
+
|
| 197 |
+
50
|
| 198 |
+
00:03:36,000 --> 00:03:44,000
|
| 199 |
+
Now we can save the file, we are good to generate javadoc to generate javadoc from Eclipse Project,
|
| 200 |
+
|
| 201 |
+
51
|
| 202 |
+
00:03:44,000 --> 00:03:52,000
|
| 203 |
+
generate javadoc you configurations you can configure output folder for your documentation.
|
| 204 |
+
|
| 205 |
+
52
|
| 206 |
+
00:03:52,000 --> 00:03:56,000
|
| 207 |
+
I will leave default settings here and will press finish.
|
| 208 |
+
|
| 209 |
+
53
|
| 210 |
+
00:03:58,000 --> 00:04:06,000
|
| 211 |
+
Now, you can see that dog directly appeared in our project, let's expand it, find index, dot Ashton,
|
| 212 |
+
|
| 213 |
+
54
|
| 214 |
+
00:04:06,000 --> 00:04:08,000
|
| 215 |
+
nail file and open it.
|
| 216 |
+
|
| 217 |
+
55
|
| 218 |
+
00:04:08,000 --> 00:04:13,000
|
| 219 |
+
You can open it in any browser or you can just use built in Eclipse browser.
|
| 220 |
+
|
| 221 |
+
56
|
| 222 |
+
00:04:14,000 --> 00:04:14,000
|
| 223 |
+
Right.
|
| 224 |
+
|
| 225 |
+
57
|
| 226 |
+
00:04:14,000 --> 00:04:17,000
|
| 227 |
+
Click open with Web browser.
|
| 228 |
+
|
| 229 |
+
58
|
| 230 |
+
00:04:19,000 --> 00:04:23,000
|
| 231 |
+
And here we have our documentation, congratulations.
|
| 232 |
+
|
| 233 |
+
59
|
| 234 |
+
00:04:24,000 --> 00:04:27,000
|
| 235 |
+
This is your first documentation to your first program.
|
| 236 |
+
|
| 237 |
+
60
|
| 238 |
+
00:04:27,000 --> 00:04:29,000
|
| 239 |
+
You see our class here.
|
| 240 |
+
|
| 241 |
+
61
|
| 242 |
+
00:04:29,000 --> 00:04:31,000
|
| 243 |
+
Here's our class description.
|
| 244 |
+
|
| 245 |
+
62
|
| 246 |
+
00:04:31,000 --> 00:04:37,000
|
| 247 |
+
Orser Constructor's Method's, here is our main message description.
|
| 248 |
+
|
| 249 |
+
63
|
| 250 |
+
00:04:38,000 --> 00:04:40,000
|
| 251 |
+
And here's our arguments description.
|
| 252 |
+
|
| 253 |
+
64
|
| 254 |
+
00:04:41,000 --> 00:04:45,000
|
| 255 |
+
Let me share with you tips and best practices of using comments in Java.
|
| 256 |
+
|
| 257 |
+
65
|
| 258 |
+
00:04:46,000 --> 00:04:51,000
|
| 259 |
+
The first thing you need to remember in case you want to comment, chunk of code to hide this code,
|
| 260 |
+
|
| 261 |
+
66
|
| 262 |
+
00:04:51,000 --> 00:04:54,000
|
| 263 |
+
just remove it if you don't need this code.
|
| 264 |
+
|
| 265 |
+
67
|
| 266 |
+
00:04:55,000 --> 00:04:58,000
|
| 267 |
+
That means you don't need this code.
|
| 268 |
+
|
| 269 |
+
68
|
| 270 |
+
00:04:58,000 --> 00:05:05,000
|
| 271 |
+
I faced with this so many times when developers comments there or others code and leave it just in case.
|
| 272 |
+
|
| 273 |
+
69
|
| 274 |
+
00:05:05,000 --> 00:05:09,000
|
| 275 |
+
Be smart, you will learn how to use version control systems.
|
| 276 |
+
|
| 277 |
+
70
|
| 278 |
+
00:05:09,000 --> 00:05:16,000
|
| 279 |
+
And believe me, there is no such cases when you need to leave code just in case, especially when you
|
| 280 |
+
|
| 281 |
+
71
|
| 282 |
+
00:05:16,000 --> 00:05:21,000
|
| 283 |
+
have a version control system, because this will end up having a lot of comment at code, which nobody
|
| 284 |
+
|
| 285 |
+
72
|
| 286 |
+
00:05:21,000 --> 00:05:25,000
|
| 287 |
+
knows what is it for and you won't be able to support it.
|
| 288 |
+
|
| 289 |
+
73
|
| 290 |
+
00:05:25,000 --> 00:05:30,000
|
| 291 |
+
My next advice always remember that comments require maintenance.
|
| 292 |
+
|
| 293 |
+
74
|
| 294 |
+
00:05:30,000 --> 00:05:33,000
|
| 295 |
+
You need to keep them up to date and relevant.
|
| 296 |
+
|
| 297 |
+
75
|
| 298 |
+
00:05:33,000 --> 00:05:35,000
|
| 299 |
+
Don't forget about this.
|
| 300 |
+
|
| 301 |
+
76
|
| 302 |
+
00:05:35,000 --> 00:05:40,000
|
| 303 |
+
I'm trying to be a good tutor and I am saying that right in Javadoc is great.
|
| 304 |
+
|
| 305 |
+
77
|
| 306 |
+
00:05:40,000 --> 00:05:43,000
|
| 307 |
+
But also I have to prepare you for real life.
|
| 308 |
+
|
| 309 |
+
78
|
| 310 |
+
00:05:44,000 --> 00:05:45,000
|
| 311 |
+
In real life.
|
| 312 |
+
|
| 313 |
+
79
|
| 314 |
+
00:05:45,000 --> 00:05:48,000
|
| 315 |
+
You would notice that not all developers write comments.
|
| 316 |
+
|
| 317 |
+
80
|
| 318 |
+
00:05:48,000 --> 00:05:49,000
|
| 319 |
+
Why?
|
| 320 |
+
|
| 321 |
+
81
|
| 322 |
+
00:05:49,000 --> 00:05:56,000
|
| 323 |
+
Because sometimes they are not needed because you have live documentation, your unit tests in your
|
| 324 |
+
|
| 325 |
+
82
|
| 326 |
+
00:05:56,000 --> 00:05:59,000
|
| 327 |
+
test data as you change your code.
|
| 328 |
+
|
| 329 |
+
83
|
| 330 |
+
00:05:59,000 --> 00:06:04,000
|
| 331 |
+
We'll discuss in later lessons Giggie approach and goals of unit testing.
|
| 332 |
+
|
| 333 |
+
84
|
| 334 |
+
00:06:04,000 --> 00:06:11,000
|
| 335 |
+
But for now, just remember, in case you have solid unit test code coverage and you follow Jawa naming
|
| 336 |
+
|
| 337 |
+
85
|
| 338 |
+
00:06:11,000 --> 00:06:17,000
|
| 339 |
+
conventions and choose meaningful names for variables and methods, sometimes javadoc in this case is
|
| 340 |
+
|
| 341 |
+
86
|
| 342 |
+
00:06:17,000 --> 00:06:21,000
|
| 343 |
+
redundant so they will learn what comments are.
|
| 344 |
+
|
| 345 |
+
87
|
| 346 |
+
00:06:21,000 --> 00:06:24,000
|
| 347 |
+
Now we also know what types of comments we have in Java.
|
| 348 |
+
|
| 349 |
+
88
|
| 350 |
+
00:06:25,000 --> 00:06:31,000
|
| 351 |
+
You saw how to generate Javadoc from the source code and also I shared with you tips and best practices
|
| 352 |
+
|
| 353 |
+
89
|
| 354 |
+
00:06:31,000 --> 00:06:33,000
|
| 355 |
+
of common usage in real life.
|
| 356 |
+
|
| 357 |
+
90
|
| 358 |
+
00:06:34,000 --> 00:06:42,000
|
| 359 |
+
And your homework created Javadoc for your Hello World application and generate documentation from your
|
| 360 |
+
|
| 361 |
+
91
|
| 362 |
+
00:06:42,000 --> 00:06:42,000
|
| 363 |
+
source code.
|
| 364 |
+
|
| 365 |
+
92
|
| 366 |
+
00:06:43,000 --> 00:06:46,000
|
| 367 |
+
Also, during the lesson you saw only a few javadoc decks.
|
| 368 |
+
|
| 369 |
+
93
|
| 370 |
+
00:06:47,000 --> 00:06:53,000
|
| 371 |
+
There are no need to go over each of them because most of them self describing, you know, already
|
| 372 |
+
|
| 373 |
+
94
|
| 374 |
+
00:06:53,000 --> 00:06:54,000
|
| 375 |
+
how to use them.
|
| 376 |
+
|
| 377 |
+
95
|
| 378 |
+
00:06:54,000 --> 00:06:58,000
|
| 379 |
+
Just take a look through this table to know what other text you can use.
|
| 380 |
+
|
02 - Java Basics/006 Homework.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://docs.google.com/document/d/1Zh60MWoy3WfDQaUzcw7r0kJIPITbVl0pSdKDFufJ-Fs/edit
|
02 - Java Basics/006 Source-code-of-the-example-used-in-the-lesson.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://github.com/AndriiPiatakha/learnit_java_core/blob/master/src/com/itbulls/learnit/javacore/javadoc/HelloWorld.java
|
02 - Java Basics/007 Quiz Java Basics - Check yourself.html
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8" />
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
| 6 |
+
<title>Quiz Java Basics - Check yourself</title>
|
| 7 |
+
|
| 8 |
+
<style>
|
| 9 |
+
* {
|
| 10 |
+
box-sizing: border-box;
|
| 11 |
+
margin: 0;
|
| 12 |
+
padding: 0;
|
| 13 |
+
}
|
| 14 |
+
body {
|
| 15 |
+
font-family: var(--font-stack-text);
|
| 16 |
+
font-weight: 400;
|
| 17 |
+
line-height: 1.4;
|
| 18 |
+
font-size: 1.6rem;
|
| 19 |
+
color: #2d2f31;
|
| 20 |
+
}
|
| 21 |
+
.container {
|
| 22 |
+
position: relative;
|
| 23 |
+
height: 100%;
|
| 24 |
+
overflow-y: auto;
|
| 25 |
+
}
|
| 26 |
+
.content {
|
| 27 |
+
padding: 3.2rem 4.8rem;
|
| 28 |
+
word-break: break-word;
|
| 29 |
+
max-width: 69.6rem;
|
| 30 |
+
margin: 0 auto;
|
| 31 |
+
}
|
| 32 |
+
.heading {
|
| 33 |
+
margin-bottom: 24px;
|
| 34 |
+
font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", Helvetica, Arial, sans-serif,
|
| 35 |
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
| 36 |
+
font-weight: 700;
|
| 37 |
+
line-height: 1.2;
|
| 38 |
+
letter-spacing: 0;
|
| 39 |
+
font-size: 32px;
|
| 40 |
+
max-width: 36em;
|
| 41 |
+
}
|
| 42 |
+
.article-asset-container {
|
| 43 |
+
padding: 2.4rem;
|
| 44 |
+
}
|
| 45 |
+
.article-asset-container p {
|
| 46 |
+
font-size: 19px;
|
| 47 |
+
}
|
| 48 |
+
code {
|
| 49 |
+
background-color: #fff;
|
| 50 |
+
border: 1px solid #d1d7dc;
|
| 51 |
+
color: #b4690e;
|
| 52 |
+
font-size: 80%;
|
| 53 |
+
padding: 0.2rem 0.4rem;
|
| 54 |
+
font-family: sfmono-regular, Consolas, liberation mono, Menlo, Courier, monospace;
|
| 55 |
+
}
|
| 56 |
+
p {
|
| 57 |
+
font-weight: 400;
|
| 58 |
+
}
|
| 59 |
+
</style>
|
| 60 |
+
</head>
|
| 61 |
+
<body>
|
| 62 |
+
<div class="container">
|
| 63 |
+
<div class="content">
|
| 64 |
+
<div class="heading">Quiz Java Basics - Check yourself</div>
|
| 65 |
+
<div class="article-asset-container"><p><strong>Quiz Link: </strong><a href="https://forms.gle/dR7uFPw62wjvtEZp8" rel="noopener noreferrer" target="_blank">https://forms.gle/dR7uFPw62wjvtEZp8</a></p><p>The quiz doesn’t require you to log in or submit any personal information. Your data privacy is my priority.</p><p>The Quiz covers content from the following lessons:</p><ul><li><p>What is Java and JDK</p></li><li><p>JDK Installation</p></li><li><p>First application: Hello World App</p></li><li><p>Integrated Development Environment, Eclipse Overview</p></li><li><p>Comments in Java Source Code</p></li></ul><p><strong>Quiz Instructions:</strong></p><p>This quiz is designed to help you check your understanding of the content from the previous lessons. All questions are based only on material covered in the lessons you've already watched, so there’s no need to worry about unfamiliar topics.</p><ul><li><p>Each question has one correct answer. Select the best answer and click "Submit" when you're ready.</p></li><li><p>After submitting, you'll see your score. For each question, you earn 1 point.</p></li><li><p>Click "View Results" to see the explanations for each correct answer. Reviewing these explanations can help reinforce your understanding.</p></li><li><p>If you score below 70%, I recommend revisiting the previous lessons. However, if the explanations make sense and you’re confident in your understanding, feel free to move on.</p></li><li><p>If any explanations are unclear, please don’t hesitate to post questions in the Q&A section—I’m here to help!</p></li></ul></div>
|
| 66 |
+
</div>
|
| 67 |
+
</div>
|
| 68 |
+
</body>
|
| 69 |
+
</html>
|
02 - Java Basics/external-links.txt
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
002 How-to-set-up-env-variables-on-Mac-OS
|
| 3 |
+
https://docs.google.com/document/d/1_p8YAQ3khC8fTkTM4r1oGuGW___XjGTa1DmMGaGMjA8/edit?usp=sharing
|
| 4 |
+
|
| 5 |
+
002 Homework
|
| 6 |
+
https://docs.google.com/document/d/19g5WpFD0Jygpvuda5-PC_rNt3wDJ8d_AICvc4coP0_s/edit?usp=sharing
|
| 7 |
+
|
| 8 |
+
003 Homework
|
| 9 |
+
https://docs.google.com/document/d/1NoTwR9ZiOzdE_ONc45jJv8sLVtJqiZm-eGz-S9Guv-w/edit?folder=1XkdXhkewYf3n2ak7mRbUNW3HDc_mCMvP
|
| 10 |
+
|
| 11 |
+
004 .bat-file
|
| 12 |
+
https://github.com/AndriiPiatakha/learnit_java_core/blob/master/src/hw.bat
|
| 13 |
+
|
| 14 |
+
004 Hello-World-Application
|
| 15 |
+
https://github.com/AndriiPiatakha/learnit_java_core/blob/master/src/HelloWorld.java
|
| 16 |
+
|
| 17 |
+
005 Homework
|
| 18 |
+
https://docs.google.com/document/d/13PLSDOQUUZAqRDhgHvNhKJUNZRvuQhe4ymqS2DAzoM8/edit?folder=1XkdXhkewYf3n2ak7mRbUNW3HDc_mCMvP
|
| 19 |
+
|
| 20 |
+
006 Homework
|
| 21 |
+
https://docs.google.com/document/d/1Zh60MWoy3WfDQaUzcw7r0kJIPITbVl0pSdKDFufJ-Fs/edit
|
| 22 |
+
|
| 23 |
+
006 Source-code-of-the-example-used-in-the-lesson
|
| 24 |
+
https://github.com/AndriiPiatakha/learnit_java_core/blob/master/src/com/itbulls/learnit/javacore/javadoc/HelloWorld.java
|
03 - Primitive Data Types, Variables and Arrays/001 Homework.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://docs.google.com/document/d/1kqT7AkWTHAUXuJtA9pijWeqwQB7v-oVDjc3tsgajML4/edit?usp=sharing
|
03 - Primitive Data Types, Variables and Arrays/001 Primitive types and variables_en.srt
ADDED
|
@@ -0,0 +1,940 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
1
|
| 2 |
+
00:00:05,000 --> 00:00:07,000
|
| 3 |
+
Today we have a very important topic.
|
| 4 |
+
|
| 5 |
+
2
|
| 6 |
+
00:00:07,000 --> 00:00:10,000
|
| 7 |
+
We will learn how data is stored in Java programs.
|
| 8 |
+
|
| 9 |
+
3
|
| 10 |
+
00:00:11,000 --> 00:00:14,000
|
| 11 |
+
We will talk with you in details about primitive types.
|
| 12 |
+
|
| 13 |
+
4
|
| 14 |
+
00:00:14,000 --> 00:00:17,000
|
| 15 |
+
Also we will discuss what variables are.
|
| 16 |
+
|
| 17 |
+
5
|
| 18 |
+
00:00:17,000 --> 00:00:22,000
|
| 19 |
+
After this lesson, you will have all necessary knowledge regarding primitive types to proceed with
|
| 20 |
+
|
| 21 |
+
6
|
| 22 |
+
00:00:22,000 --> 00:00:23,000
|
| 23 |
+
your Java education.
|
| 24 |
+
|
| 25 |
+
7
|
| 26 |
+
00:00:24,000 --> 00:00:28,000
|
| 27 |
+
We will start this lesson from theory and after that we will play with primitive types and variables
|
| 28 |
+
|
| 29 |
+
8
|
| 30 |
+
00:00:28,000 --> 00:00:30,000
|
| 31 |
+
in eclipse.
|
| 32 |
+
|
| 33 |
+
9
|
| 34 |
+
00:00:30,000 --> 00:00:35,000
|
| 35 |
+
It will be very important to understand how you can convert primitive types between each other.
|
| 36 |
+
|
| 37 |
+
10
|
| 38 |
+
00:00:35,000 --> 00:00:41,000
|
| 39 |
+
First of all, let's try to understand what data types are available for us in Java, how we can store
|
| 40 |
+
|
| 41 |
+
11
|
| 42 |
+
00:00:41,000 --> 00:00:46,000
|
| 43 |
+
information in our programs to be able to work with it in the future.
|
| 44 |
+
|
| 45 |
+
12
|
| 46 |
+
00:00:46,000 --> 00:00:49,000
|
| 47 |
+
There are two major groups of data types in Java.
|
| 48 |
+
|
| 49 |
+
13
|
| 50 |
+
00:00:49,000 --> 00:00:51,000
|
| 51 |
+
They are primitive types.
|
| 52 |
+
|
| 53 |
+
14
|
| 54 |
+
00:00:51,000 --> 00:00:53,000
|
| 55 |
+
Reference types.
|
| 56 |
+
|
| 57 |
+
15
|
| 58 |
+
00:00:53,000 --> 00:00:55,000
|
| 59 |
+
Reference types consist of classes.
|
| 60 |
+
|
| 61 |
+
16
|
| 62 |
+
00:00:55,000 --> 00:00:56,000
|
| 63 |
+
Annotations.
|
| 64 |
+
|
| 65 |
+
17
|
| 66 |
+
00:00:56,000 --> 00:00:57,000
|
| 67 |
+
Interfaces.
|
| 68 |
+
|
| 69 |
+
18
|
| 70 |
+
00:00:57,000 --> 00:00:58,000
|
| 71 |
+
Enumerations.
|
| 72 |
+
|
| 73 |
+
19
|
| 74 |
+
00:00:58,000 --> 00:00:59,000
|
| 75 |
+
Arrays.
|
| 76 |
+
|
| 77 |
+
20
|
| 78 |
+
00:00:59,000 --> 00:01:05,000
|
| 79 |
+
We will not discuss reference types today in the lesson, but we will talk about them later in the course.
|
| 80 |
+
|
| 81 |
+
21
|
| 82 |
+
00:01:05,000 --> 00:01:08,000
|
| 83 |
+
Today we will talk about primitive types.
|
| 84 |
+
|
| 85 |
+
22
|
| 86 |
+
00:01:08,000 --> 00:01:11,000
|
| 87 |
+
They are integers, floating point numbers.
|
| 88 |
+
|
| 89 |
+
23
|
| 90 |
+
00:01:11,000 --> 00:01:12,000
|
| 91 |
+
Booleans.
|
| 92 |
+
|
| 93 |
+
24
|
| 94 |
+
00:01:12,000 --> 00:01:14,000
|
| 95 |
+
Characters.
|
| 96 |
+
|
| 97 |
+
25
|
| 98 |
+
00:01:14,000 --> 00:01:16,000
|
| 99 |
+
Probably you already interested.
|
| 100 |
+
|
| 101 |
+
26
|
| 102 |
+
00:01:16,000 --> 00:01:19,000
|
| 103 |
+
What is the difference between primitive and reference types?
|
| 104 |
+
|
| 105 |
+
27
|
| 106 |
+
00:01:19,000 --> 00:01:25,000
|
| 107 |
+
There are many differences between them and we will learn all of them as we keep learning Java.
|
| 108 |
+
|
| 109 |
+
28
|
| 110 |
+
00:01:25,000 --> 00:01:31,000
|
| 111 |
+
But the main difference is that primitive variables store the actual values, whereas reference variables
|
| 112 |
+
|
| 113 |
+
29
|
| 114 |
+
00:01:31,000 --> 00:01:35,000
|
| 115 |
+
store the addresses of the objects they refer to.
|
| 116 |
+
|
| 117 |
+
30
|
| 118 |
+
00:01:35,000 --> 00:01:41,000
|
| 119 |
+
The primitive types in Java are analogous to the simple types found in most non object oriented languages.
|
| 120 |
+
|
| 121 |
+
31
|
| 122 |
+
00:01:42,000 --> 00:01:47,000
|
| 123 |
+
If Java object oriented language, why then we still need to use primitive sometimes over objects and
|
| 124 |
+
|
| 125 |
+
32
|
| 126 |
+
00:01:47,000 --> 00:01:48,000
|
| 127 |
+
reference types.
|
| 128 |
+
|
| 129 |
+
33
|
| 130 |
+
00:01:48,000 --> 00:01:51,000
|
| 131 |
+
There is only one reason for this.
|
| 132 |
+
|
| 133 |
+
34
|
| 134 |
+
00:01:51,000 --> 00:01:52,000
|
| 135 |
+
It's efficiency.
|
| 136 |
+
|
| 137 |
+
35
|
| 138 |
+
00:01:52,000 --> 00:01:58,000
|
| 139 |
+
Making the primitive types into objects would have degraded performance too much.
|
| 140 |
+
|
| 141 |
+
36
|
| 142 |
+
00:01:58,000 --> 00:02:03,000
|
| 143 |
+
As you become more mature programmer, you will find how to use properly primitive types and reference
|
| 144 |
+
|
| 145 |
+
37
|
| 146 |
+
00:02:03,000 --> 00:02:04,000
|
| 147 |
+
types.
|
| 148 |
+
|
| 149 |
+
38
|
| 150 |
+
00:02:04,000 --> 00:02:08,000
|
| 151 |
+
But right now let's review each primitive type in detail.
|
| 152 |
+
|
| 153 |
+
39
|
| 154 |
+
00:02:08,000 --> 00:02:12,000
|
| 155 |
+
Here is a table which will help you to learn and understand all primitive types.
|
| 156 |
+
|
| 157 |
+
40
|
| 158 |
+
00:02:12,000 --> 00:02:15,000
|
| 159 |
+
You can find next columns here.
|
| 160 |
+
|
| 161 |
+
41
|
| 162 |
+
00:02:15,000 --> 00:02:15,000
|
| 163 |
+
Type.
|
| 164 |
+
|
| 165 |
+
42
|
| 166 |
+
00:02:15,000 --> 00:02:16,000
|
| 167 |
+
Name.
|
| 168 |
+
|
| 169 |
+
43
|
| 170 |
+
00:02:16,000 --> 00:02:20,000
|
| 171 |
+
Size, minimum value, maximum value and wrapper type.
|
| 172 |
+
|
| 173 |
+
44
|
| 174 |
+
00:02:21,000 --> 00:02:27,000
|
| 175 |
+
Primitive wrapper class is wrapper that encapsulates or wraps primitive data types, so that these can
|
| 176 |
+
|
| 177 |
+
45
|
| 178 |
+
00:02:27,000 --> 00:02:29,000
|
| 179 |
+
be used to create objects.
|
| 180 |
+
|
| 181 |
+
46
|
| 182 |
+
00:02:29,000 --> 00:02:31,000
|
| 183 |
+
Why do we need this?
|
| 184 |
+
|
| 185 |
+
47
|
| 186 |
+
00:02:31,000 --> 00:02:35,000
|
| 187 |
+
Objects might have their own behavior and methods.
|
| 188 |
+
|
| 189 |
+
48
|
| 190 |
+
00:02:35,000 --> 00:02:38,000
|
| 191 |
+
We will use objects in Java collections, for example.
|
| 192 |
+
|
| 193 |
+
49
|
| 194 |
+
00:02:38,000 --> 00:02:46,000
|
| 195 |
+
The simplest example is that primitive type int just storing value in the variable integer, not only
|
| 196 |
+
|
| 197 |
+
50
|
| 198 |
+
00:02:46,000 --> 00:02:49,000
|
| 199 |
+
storing value, but has its own behavior.
|
| 200 |
+
|
| 201 |
+
51
|
| 202 |
+
00:02:49,000 --> 00:02:55,000
|
| 203 |
+
For example, integer object can compare itself with other integers, which provides necessary application
|
| 204 |
+
|
| 205 |
+
52
|
| 206 |
+
00:02:55,000 --> 00:02:59,000
|
| 207 |
+
programming interface to create self sorting collections.
|
| 208 |
+
|
| 209 |
+
53
|
| 210 |
+
00:02:59,000 --> 00:03:01,000
|
| 211 |
+
This is just one example.
|
| 212 |
+
|
| 213 |
+
54
|
| 214 |
+
00:03:01,000 --> 00:03:07,000
|
| 215 |
+
From this table you can see that main difference between simple integers is amount of memory allocated
|
| 216 |
+
|
| 217 |
+
55
|
| 218 |
+
00:03:07,000 --> 00:03:08,000
|
| 219 |
+
for the variables.
|
| 220 |
+
|
| 221 |
+
56
|
| 222 |
+
00:03:08,000 --> 00:03:12,000
|
| 223 |
+
This also impacts value range of each primitive type.
|
| 224 |
+
|
| 225 |
+
57
|
| 226 |
+
00:03:12,000 --> 00:03:16,000
|
| 227 |
+
Take into account that data in computer stored in binary format.
|
| 228 |
+
|
| 229 |
+
58
|
| 230 |
+
00:03:16,000 --> 00:03:21,000
|
| 231 |
+
The amount of bits allocated to the variable tells us what range of data we can store in it.
|
| 232 |
+
|
| 233 |
+
59
|
| 234 |
+
00:03:22,000 --> 00:03:27,000
|
| 235 |
+
We will learn number systems in the next lessons, and you will understand why in one byte, which is
|
| 236 |
+
|
| 237 |
+
60
|
| 238 |
+
00:03:27,000 --> 00:03:29,000
|
| 239 |
+
equal to eight bits.
|
| 240 |
+
|
| 241 |
+
61
|
| 242 |
+
00:03:29,000 --> 00:03:33,000
|
| 243 |
+
We can store values from -128 to 127.
|
| 244 |
+
|
| 245 |
+
62
|
| 246 |
+
00:03:34,000 --> 00:03:40,000
|
| 247 |
+
You can see that two bytes are allocated for short, four bytes allocated for int eight bytes allocated
|
| 248 |
+
|
| 249 |
+
63
|
| 250 |
+
00:03:40,000 --> 00:03:41,000
|
| 251 |
+
for long.
|
| 252 |
+
|
| 253 |
+
64
|
| 254 |
+
00:03:41,000 --> 00:03:47,000
|
| 255 |
+
If we are talking about floating point numbers, then we need to know that for each float variable,
|
| 256 |
+
|
| 257 |
+
65
|
| 258 |
+
00:03:47,000 --> 00:03:51,000
|
| 259 |
+
four bytes are allocated and for double eight bytes are allocated.
|
| 260 |
+
|
| 261 |
+
66
|
| 262 |
+
00:03:51,000 --> 00:03:56,000
|
| 263 |
+
The interesting thing how much memory we need to allocate for boolean value.
|
| 264 |
+
|
| 265 |
+
67
|
| 266 |
+
00:03:56,000 --> 00:03:58,000
|
| 267 |
+
The right answer would be here.
|
| 268 |
+
|
| 269 |
+
68
|
| 270 |
+
00:03:58,000 --> 00:04:00,000
|
| 271 |
+
That size of a boolean is platform dependent.
|
| 272 |
+
|
| 273 |
+
69
|
| 274 |
+
00:04:00,000 --> 00:04:01,000
|
| 275 |
+
Why?
|
| 276 |
+
|
| 277 |
+
70
|
| 278 |
+
00:04:01,000 --> 00:04:06,000
|
| 279 |
+
Because to store true or false, which in binary format 1 or 0 is enough.
|
| 280 |
+
|
| 281 |
+
71
|
| 282 |
+
00:04:06,000 --> 00:04:07,000
|
| 283 |
+
Even one bit.
|
| 284 |
+
|
| 285 |
+
72
|
| 286 |
+
00:04:08,000 --> 00:04:10,000
|
| 287 |
+
The problem is that not always.
|
| 288 |
+
|
| 289 |
+
73
|
| 290 |
+
00:04:10,000 --> 00:04:12,000
|
| 291 |
+
You can reserve exactly one bit for the variable.
|
| 292 |
+
|
| 293 |
+
74
|
| 294 |
+
00:04:12,000 --> 00:04:16,000
|
| 295 |
+
Most likely this will be one byte characters.
|
| 296 |
+
|
| 297 |
+
75
|
| 298 |
+
00:04:16,000 --> 00:04:21,000
|
| 299 |
+
We need characters to be able to describe all symbols of Unicode.
|
| 300 |
+
|
| 301 |
+
76
|
| 302 |
+
00:04:21,000 --> 00:04:23,000
|
| 303 |
+
Cyrillic special characters.
|
| 304 |
+
|
| 305 |
+
77
|
| 306 |
+
00:04:23,000 --> 00:04:24,000
|
| 307 |
+
ET cetera.
|
| 308 |
+
|
| 309 |
+
78
|
| 310 |
+
00:04:24,000 --> 00:04:27,000
|
| 311 |
+
We have two bytes for char primitive type.
|
| 312 |
+
|
| 313 |
+
79
|
| 314 |
+
00:04:27,000 --> 00:04:33,000
|
| 315 |
+
This gives us a range from 0 to 65,535.
|
| 316 |
+
|
| 317 |
+
80
|
| 318 |
+
00:04:33,000 --> 00:04:38,000
|
| 319 |
+
Each value will represent the sequence number of character according to Unicode table.
|
| 320 |
+
|
| 321 |
+
81
|
| 322 |
+
00:04:38,000 --> 00:04:44,000
|
| 323 |
+
You might be wondered why short type also have two bytes allocated but have different range of values.
|
| 324 |
+
|
| 325 |
+
82
|
| 326 |
+
00:04:44,000 --> 00:04:47,000
|
| 327 |
+
In Java you can't declare a signed or unsigned variables.
|
| 328 |
+
|
| 329 |
+
83
|
| 330 |
+
00:04:47,000 --> 00:04:50,000
|
| 331 |
+
This is managed on gvm level.
|
| 332 |
+
|
| 333 |
+
84
|
| 334 |
+
00:04:50,000 --> 00:04:57,000
|
| 335 |
+
So char has the same amount of bytes allocated, but just because it's unsigned it has different range.
|
| 336 |
+
|
| 337 |
+
85
|
| 338 |
+
00:04:57,000 --> 00:05:02,000
|
| 339 |
+
Probably you already heard that Java is a strongly typed language part of Java safety.
|
| 340 |
+
|
| 341 |
+
86
|
| 342 |
+
00:05:03,000 --> 00:05:05,000
|
| 343 |
+
And robustness comes from this fact.
|
| 344 |
+
|
| 345 |
+
87
|
| 346 |
+
00:05:05,000 --> 00:05:06,000
|
| 347 |
+
What does it mean?
|
| 348 |
+
|
| 349 |
+
88
|
| 350 |
+
00:05:06,000 --> 00:05:09,000
|
| 351 |
+
It means that every variable has a type.
|
| 352 |
+
|
| 353 |
+
89
|
| 354 |
+
00:05:09,000 --> 00:05:14,000
|
| 355 |
+
Every expression has a type, and each type is strictly defined.
|
| 356 |
+
|
| 357 |
+
90
|
| 358 |
+
00:05:14,000 --> 00:05:21,000
|
| 359 |
+
Also, all assignments, including parameter passing to the method call, are checked for the type compatibility.
|
| 360 |
+
|
| 361 |
+
91
|
| 362 |
+
00:05:21,000 --> 00:05:27,000
|
| 363 |
+
The Java compiler checks all expressions and parameters to ensure that the types are compatible.
|
| 364 |
+
|
| 365 |
+
92
|
| 366 |
+
00:05:27,000 --> 00:05:31,000
|
| 367 |
+
In case of any type, mismatch programs simply won't be compiled.
|
| 368 |
+
|
| 369 |
+
93
|
| 370 |
+
00:05:32,000 --> 00:05:36,000
|
| 371 |
+
We will also learn in this lesson how type conversion works in Java.
|
| 372 |
+
|
| 373 |
+
94
|
| 374 |
+
00:05:36,000 --> 00:05:38,000
|
| 375 |
+
So what is variable?
|
| 376 |
+
|
| 377 |
+
95
|
| 378 |
+
00:05:38,000 --> 00:05:42,000
|
| 379 |
+
Variable is a piece of memory that can contain a data value.
|
| 380 |
+
|
| 381 |
+
96
|
| 382 |
+
00:05:42,000 --> 00:05:49,000
|
| 383 |
+
You can see that each variable has a data type even when you create variable with var keyword.
|
| 384 |
+
|
| 385 |
+
97
|
| 386 |
+
00:05:49,000 --> 00:05:54,000
|
| 387 |
+
Compiler identifies type of this variable for the variable name usually used.
|
| 388 |
+
|
| 389 |
+
98
|
| 390 |
+
00:05:54,000 --> 00:05:56,000
|
| 391 |
+
Nouns started from the small letter.
|
| 392 |
+
|
| 393 |
+
99
|
| 394 |
+
00:05:56,000 --> 00:05:59,000
|
| 395 |
+
You can't use keywords for the variable names.
|
| 396 |
+
|
| 397 |
+
100
|
| 398 |
+
00:05:59,000 --> 00:06:00,000
|
| 399 |
+
What are keywords?
|
| 400 |
+
|
| 401 |
+
101
|
| 402 |
+
00:06:00,000 --> 00:06:06,000
|
| 403 |
+
For example int byte, short class, public package.
|
| 404 |
+
|
| 405 |
+
102
|
| 406 |
+
00:06:06,000 --> 00:06:08,000
|
| 407 |
+
These are all keywords.
|
| 408 |
+
|
| 409 |
+
103
|
| 410 |
+
00:06:08,000 --> 00:06:13,000
|
| 411 |
+
Keyword is a word with a predefined meaning in Java programming language syntax.
|
| 412 |
+
|
| 413 |
+
104
|
| 414 |
+
00:06:14,000 --> 00:06:18,000
|
| 415 |
+
I will share with you a link to all keywords after this lesson so you could learn them.
|
| 416 |
+
|
| 417 |
+
105
|
| 418 |
+
00:06:18,000 --> 00:06:22,000
|
| 419 |
+
There is no need to go over each of those right now.
|
| 420 |
+
|
| 421 |
+
106
|
| 422 |
+
00:06:22,000 --> 00:06:24,000
|
| 423 |
+
Now let's practice.
|
| 424 |
+
|
| 425 |
+
107
|
| 426 |
+
00:06:24,000 --> 00:06:28,000
|
| 427 |
+
We will take a look how to declare variables of specific types in Java.
|
| 428 |
+
|
| 429 |
+
108
|
| 430 |
+
00:06:28,000 --> 00:06:33,000
|
| 431 |
+
For this lesson, I created a new class with name primitive types in the package primitives.
|
| 432 |
+
|
| 433 |
+
109
|
| 434 |
+
00:06:33,000 --> 00:06:38,000
|
| 435 |
+
Let's declare a variable of specific type byte b equals one.
|
| 436 |
+
|
| 437 |
+
110
|
| 438 |
+
00:06:39,000 --> 00:06:46,000
|
| 439 |
+
So here is variable declaration short s and here is variable initialization.
|
| 440 |
+
|
| 441 |
+
111
|
| 442 |
+
00:06:46,000 --> 00:06:48,000
|
| 443 |
+
S equals to.
|
| 444 |
+
|
| 445 |
+
112
|
| 446 |
+
00:06:49,000 --> 00:06:52,000
|
| 447 |
+
You can declare an initialize variable in one line.
|
| 448 |
+
|
| 449 |
+
113
|
| 450 |
+
00:06:53,000 --> 00:06:55,000
|
| 451 |
+
Int I equals three.
|
| 452 |
+
|
| 453 |
+
114
|
| 454 |
+
00:06:57,000 --> 00:06:59,000
|
| 455 |
+
Long L equals four.
|
| 456 |
+
|
| 457 |
+
115
|
| 458 |
+
00:07:00,000 --> 00:07:01,000
|
| 459 |
+
Let's proceed.
|
| 460 |
+
|
| 461 |
+
116
|
| 462 |
+
00:07:01,000 --> 00:07:03,000
|
| 463 |
+
Here is a char variable.
|
| 464 |
+
|
| 465 |
+
117
|
| 466 |
+
00:07:03,000 --> 00:07:06,000
|
| 467 |
+
Char c equals a.
|
| 468 |
+
|
| 469 |
+
118
|
| 470 |
+
00:07:06,000 --> 00:07:11,000
|
| 471 |
+
You can notice that characters literals are notated with single quotes.
|
| 472 |
+
|
| 473 |
+
119
|
| 474 |
+
00:07:11,000 --> 00:07:13,000
|
| 475 |
+
Boolean literals only.
|
| 476 |
+
|
| 477 |
+
120
|
| 478 |
+
00:07:13,000 --> 00:07:14,000
|
| 479 |
+
True and false.
|
| 480 |
+
|
| 481 |
+
121
|
| 482 |
+
00:07:14,000 --> 00:07:17,000
|
| 483 |
+
Boolean bool equals true.
|
| 484 |
+
|
| 485 |
+
122
|
| 486 |
+
00:07:18,000 --> 00:07:20,000
|
| 487 |
+
And now let's create float variable.
|
| 488 |
+
|
| 489 |
+
123
|
| 490 |
+
00:07:20,000 --> 00:07:23,000
|
| 491 |
+
Float f equals 1.2.
|
| 492 |
+
|
| 493 |
+
124
|
| 494 |
+
00:07:25,000 --> 00:07:26,000
|
| 495 |
+
Compilation error.
|
| 496 |
+
|
| 497 |
+
125
|
| 498 |
+
00:07:26,000 --> 00:07:27,000
|
| 499 |
+
What's wrong?
|
| 500 |
+
|
| 501 |
+
126
|
| 502 |
+
00:07:27,000 --> 00:07:32,000
|
| 503 |
+
If you hover over value, you will see the reason the issue is typed.
|
| 504 |
+
|
| 505 |
+
127
|
| 506 |
+
00:07:32,000 --> 00:07:35,000
|
| 507 |
+
Mismatch cannot convert from double to float.
|
| 508 |
+
|
| 509 |
+
128
|
| 510 |
+
00:07:35,000 --> 00:07:41,000
|
| 511 |
+
You should know that floating point number literals by default has typed double, and you can't convert
|
| 512 |
+
|
| 513 |
+
129
|
| 514 |
+
00:07:41,000 --> 00:07:46,000
|
| 515 |
+
from double to float because double requires more memory allocated than float.
|
| 516 |
+
|
| 517 |
+
130
|
| 518 |
+
00:07:46,000 --> 00:07:51,000
|
| 519 |
+
Does it make sense now to tell compiler that this is flawed?
|
| 520 |
+
|
| 521 |
+
131
|
| 522 |
+
00:07:51,000 --> 00:07:52,000
|
| 523 |
+
We are using a flatter.
|
| 524 |
+
|
| 525 |
+
132
|
| 526 |
+
00:07:52,000 --> 00:07:55,000
|
| 527 |
+
You can use capital F letter if you wish.
|
| 528 |
+
|
| 529 |
+
133
|
| 530 |
+
00:07:55,000 --> 00:07:57,000
|
| 531 |
+
That would mean the same.
|
| 532 |
+
|
| 533 |
+
134
|
| 534 |
+
00:07:57,000 --> 00:08:04,000
|
| 535 |
+
Talking about types of literals, it is worth to mention that all integer literals has int type by default.
|
| 536 |
+
|
| 537 |
+
135
|
| 538 |
+
00:08:04,000 --> 00:08:06,000
|
| 539 |
+
Let's have a look at this example.
|
| 540 |
+
|
| 541 |
+
136
|
| 542 |
+
00:08:06,000 --> 00:08:11,000
|
| 543 |
+
Long l two equals 2 billion.
|
| 544 |
+
|
| 545 |
+
137
|
| 546 |
+
00:08:13,000 --> 00:08:18,000
|
| 547 |
+
By the way, you can see that you can separate digits with underscore to increase readability.
|
| 548 |
+
|
| 549 |
+
138
|
| 550 |
+
00:08:18,000 --> 00:08:25,000
|
| 551 |
+
You can see that there is no error right now because int literal is still within int range.
|
| 552 |
+
|
| 553 |
+
139
|
| 554 |
+
00:08:25,000 --> 00:08:28,000
|
| 555 |
+
But let me add few more zeros here.
|
| 556 |
+
|
| 557 |
+
140
|
| 558 |
+
00:08:28,000 --> 00:08:30,000
|
| 559 |
+
And you see compilation error.
|
| 560 |
+
|
| 561 |
+
141
|
| 562 |
+
00:08:30,000 --> 00:08:31,000
|
| 563 |
+
Why?
|
| 564 |
+
|
| 565 |
+
142
|
| 566 |
+
00:08:31,000 --> 00:08:35,000
|
| 567 |
+
Because literal of type int is out of range.
|
| 568 |
+
|
| 569 |
+
143
|
| 570 |
+
00:08:35,000 --> 00:08:36,000
|
| 571 |
+
What to do in this case.
|
| 572 |
+
|
| 573 |
+
144
|
| 574 |
+
00:08:36,000 --> 00:08:40,000
|
| 575 |
+
Just tell compiler that this literal has type long.
|
| 576 |
+
|
| 577 |
+
145
|
| 578 |
+
00:08:40,000 --> 00:08:41,000
|
| 579 |
+
How?
|
| 580 |
+
|
| 581 |
+
146
|
| 582 |
+
00:08:41,000 --> 00:08:44,000
|
| 583 |
+
Just put a letter at the end like this.
|
| 584 |
+
|
| 585 |
+
147
|
| 586 |
+
00:08:45,000 --> 00:08:47,000
|
| 587 |
+
Let's also create double variable.
|
| 588 |
+
|
| 589 |
+
148
|
| 590 |
+
00:08:47,000 --> 00:08:50,000
|
| 591 |
+
Double D equals 1.3.
|
| 592 |
+
|
| 593 |
+
149
|
| 594 |
+
00:08:51,000 --> 00:08:54,000
|
| 595 |
+
As you can see there is no errors here.
|
| 596 |
+
|
| 597 |
+
150
|
| 598 |
+
00:08:54,000 --> 00:09:00,000
|
| 599 |
+
Previously we discussed that you can declare an initialize variable with var keyword like this.
|
| 600 |
+
|
| 601 |
+
151
|
| 602 |
+
00:09:00,000 --> 00:09:03,000
|
| 603 |
+
VAR v equals one.
|
| 604 |
+
|
| 605 |
+
152
|
| 606 |
+
00:09:04,000 --> 00:09:08,000
|
| 607 |
+
In this case, compiler will help us to identify type of this variable.
|
| 608 |
+
|
| 609 |
+
153
|
| 610 |
+
00:09:08,000 --> 00:09:14,000
|
| 611 |
+
So after first initialization you can assign only integers to this variable.
|
| 612 |
+
|
| 613 |
+
154
|
| 614 |
+
00:09:14,000 --> 00:09:16,000
|
| 615 |
+
You can't assign boolean.
|
| 616 |
+
|
| 617 |
+
155
|
| 618 |
+
00:09:18,000 --> 00:09:19,000
|
| 619 |
+
On floating point numbers.
|
| 620 |
+
|
| 621 |
+
156
|
| 622 |
+
00:09:21,000 --> 00:09:24,000
|
| 623 |
+
Because this variable has int type right now.
|
| 624 |
+
|
| 625 |
+
157
|
| 626 |
+
00:09:26,000 --> 00:09:28,000
|
| 627 |
+
And now we'll run primitive types.
|
| 628 |
+
|
| 629 |
+
158
|
| 630 |
+
00:09:28,000 --> 00:09:29,000
|
| 631 |
+
Conversion.
|
| 632 |
+
|
| 633 |
+
159
|
| 634 |
+
00:09:29,000 --> 00:09:34,000
|
| 635 |
+
When we are talking about primitive types conversion, just keep in mind the boxes.
|
| 636 |
+
|
| 637 |
+
160
|
| 638 |
+
00:09:34,000 --> 00:09:37,000
|
| 639 |
+
You always can put smaller box into bigger one.
|
| 640 |
+
|
| 641 |
+
161
|
| 642 |
+
00:09:37,000 --> 00:09:42,000
|
| 643 |
+
That means you can always put value of two bytes into four bytes.
|
| 644 |
+
|
| 645 |
+
162
|
| 646 |
+
00:09:42,000 --> 00:09:45,000
|
| 647 |
+
Int I three equals s.
|
| 648 |
+
|
| 649 |
+
163
|
| 650 |
+
00:09:46,000 --> 00:09:47,000
|
| 651 |
+
As is short here.
|
| 652 |
+
|
| 653 |
+
164
|
| 654 |
+
00:09:49,000 --> 00:09:53,000
|
| 655 |
+
You can put the value of one byte into four bytes variable.
|
| 656 |
+
|
| 657 |
+
165
|
| 658 |
+
00:09:53,000 --> 00:09:56,000
|
| 659 |
+
You can also convert int to char.
|
| 660 |
+
|
| 661 |
+
166
|
| 662 |
+
00:09:57,000 --> 00:10:00,000
|
| 663 |
+
Sha c two equals 100.
|
| 664 |
+
|
| 665 |
+
167
|
| 666 |
+
00:10:00,000 --> 00:10:06,000
|
| 667 |
+
In this case, Sha variable will be initialized with character, which has sequence number 100 in Unicode
|
| 668 |
+
|
| 669 |
+
168
|
| 670 |
+
00:10:06,000 --> 00:10:07,000
|
| 671 |
+
table.
|
| 672 |
+
|
| 673 |
+
169
|
| 674 |
+
00:10:07,000 --> 00:10:09,000
|
| 675 |
+
Let's check what this character is.
|
| 676 |
+
|
| 677 |
+
170
|
| 678 |
+
00:10:10,000 --> 00:10:12,000
|
| 679 |
+
System.out.println.
|
| 680 |
+
|
| 681 |
+
171
|
| 682 |
+
00:10:12,000 --> 00:10:13,000
|
| 683 |
+
C two.
|
| 684 |
+
|
| 685 |
+
172
|
| 686 |
+
00:10:15,000 --> 00:10:17,000
|
| 687 |
+
This would be the character.
|
| 688 |
+
|
| 689 |
+
173
|
| 690 |
+
00:10:17,000 --> 00:10:23,000
|
| 691 |
+
The same conversion rules are also applied if you have double variable vs eight bytes allocated and
|
| 692 |
+
|
| 693 |
+
174
|
| 694 |
+
00:10:23,000 --> 00:10:30,000
|
| 695 |
+
you want to assign to it int, which is four bytes, double D two equals I three.
|
| 696 |
+
|
| 697 |
+
175
|
| 698 |
+
00:10:30,000 --> 00:10:33,000
|
| 699 |
+
You can assign eight bytes long to eight bytes.
|
| 700 |
+
|
| 701 |
+
176
|
| 702 |
+
00:10:33,000 --> 00:10:36,000
|
| 703 |
+
Double D two equals L.
|
| 704 |
+
|
| 705 |
+
177
|
| 706 |
+
00:10:38,000 --> 00:10:38,000
|
| 707 |
+
All conversions.
|
| 708 |
+
|
| 709 |
+
178
|
| 710 |
+
00:10:38,000 --> 00:10:44,000
|
| 711 |
+
Examples which we just saw are examples of widening conversion in most cases.
|
| 712 |
+
|
| 713 |
+
179
|
| 714 |
+
00:10:44,000 --> 00:10:50,000
|
| 715 |
+
Widening conversion happens without losing data, with some exceptions, and widening conversion of
|
| 716 |
+
|
| 717 |
+
180
|
| 718 |
+
00:10:50,000 --> 00:10:56,000
|
| 719 |
+
an int or a long value to float or of a long value to double may result in loss of precision.
|
| 720 |
+
|
| 721 |
+
181
|
| 722 |
+
00:10:57,000 --> 00:11:01,000
|
| 723 |
+
That is, the result may lose some of the least significant bits of the value.
|
| 724 |
+
|
| 725 |
+
182
|
| 726 |
+
00:11:02,000 --> 00:11:08,000
|
| 727 |
+
In this case, the resulting floating point value will be a correctly rounded version of the integer
|
| 728 |
+
|
| 729 |
+
183
|
| 730 |
+
00:11:08,000 --> 00:11:14,000
|
| 731 |
+
value using I, E75 for round to nearest mode.
|
| 732 |
+
|
| 733 |
+
184
|
| 734 |
+
00:11:14,000 --> 00:11:19,000
|
| 735 |
+
If we would talk about narrowing conversion, it can't be done automatically.
|
| 736 |
+
|
| 737 |
+
185
|
| 738 |
+
00:11:19,000 --> 00:11:26,000
|
| 739 |
+
For example, if I would try to assign int variable to byte variable like this b equals i3.
|
| 740 |
+
|
| 741 |
+
186
|
| 742 |
+
00:11:27,000 --> 00:11:33,000
|
| 743 |
+
We see here a compilation error because compiler can't convert int to byte.
|
| 744 |
+
|
| 745 |
+
187
|
| 746 |
+
00:11:33,000 --> 00:11:40,000
|
| 747 |
+
What we can do as programmers only in case when we need this, we can tell compiler that we know what
|
| 748 |
+
|
| 749 |
+
188
|
| 750 |
+
00:11:40,000 --> 00:11:45,000
|
| 751 |
+
we do, and tell compiler to calm down, and we are sure that this is byte.
|
| 752 |
+
|
| 753 |
+
189
|
| 754 |
+
00:11:45,000 --> 00:11:47,000
|
| 755 |
+
Just type in parentheses.
|
| 756 |
+
|
| 757 |
+
190
|
| 758 |
+
00:11:48,000 --> 00:11:48,000
|
| 759 |
+
Bite.
|
| 760 |
+
|
| 761 |
+
191
|
| 762 |
+
00:11:50,000 --> 00:11:53,000
|
| 763 |
+
You can do the same way with all other narrowing conversion.
|
| 764 |
+
|
| 765 |
+
192
|
| 766 |
+
00:11:53,000 --> 00:12:00,000
|
| 767 |
+
You might be wondered if all integer literals have any type by default, why we don't have compilation
|
| 768 |
+
|
| 769 |
+
193
|
| 770 |
+
00:12:00,000 --> 00:12:06,000
|
| 771 |
+
error when we assign int literal to byte like this byte b2 equals ten.
|
| 772 |
+
|
| 773 |
+
194
|
| 774 |
+
00:12:07,000 --> 00:12:13,000
|
| 775 |
+
We don't have compilation error because compiler can read literals value during the compilation process
|
| 776 |
+
|
| 777 |
+
195
|
| 778 |
+
00:12:13,000 --> 00:12:17,000
|
| 779 |
+
and identify that this value is within the byte range.
|
| 780 |
+
|
| 781 |
+
196
|
| 782 |
+
00:12:18,000 --> 00:12:22,000
|
| 783 |
+
But if you would add additional zeros here, we would see compilation error.
|
| 784 |
+
|
| 785 |
+
197
|
| 786 |
+
00:12:23,000 --> 00:12:29,000
|
| 787 |
+
Now I can put bite here, but what would happen if I would try to print bite to console?
|
| 788 |
+
|
| 789 |
+
198
|
| 790 |
+
00:12:29,000 --> 00:12:31,000
|
| 791 |
+
Your best guess?
|
| 792 |
+
|
| 793 |
+
199
|
| 794 |
+
00:12:32,000 --> 00:12:34,000
|
| 795 |
+
Sis out be to.
|
| 796 |
+
|
| 797 |
+
200
|
| 798 |
+
00:12:36,000 --> 00:12:39,000
|
| 799 |
+
This situation called overflow.
|
| 800 |
+
|
| 801 |
+
201
|
| 802 |
+
00:12:39,000 --> 00:12:45,000
|
| 803 |
+
When an integer overflows, it rolls over to the minimum value and begins counting up from there.
|
| 804 |
+
|
| 805 |
+
202
|
| 806 |
+
00:12:45,000 --> 00:12:49,000
|
| 807 |
+
You know that max positive byte value is 127.
|
| 808 |
+
|
| 809 |
+
203
|
| 810 |
+
00:12:50,000 --> 00:12:54,000
|
| 811 |
+
Let's put 128 here and see what it would print to us.
|
| 812 |
+
|
| 813 |
+
204
|
| 814 |
+
00:12:56,000 --> 00:12:58,000
|
| 815 |
+
-128.
|
| 816 |
+
|
| 817 |
+
205
|
| 818 |
+
00:12:58,000 --> 00:13:05,000
|
| 819 |
+
Be careful with conversion from double to long, even despite eight bytes allocated for double the same
|
| 820 |
+
|
| 821 |
+
206
|
| 822 |
+
00:13:05,000 --> 00:13:05,000
|
| 823 |
+
as for long.
|
| 824 |
+
|
| 825 |
+
207
|
| 826 |
+
00:13:06,000 --> 00:13:10,000
|
| 827 |
+
The integers and floating point numbers stored in different way in memory.
|
| 828 |
+
|
| 829 |
+
208
|
| 830 |
+
00:13:10,000 --> 00:13:17,000
|
| 831 |
+
Conversion from type double to type long requires a non-trivial translation from 64 bit floating point
|
| 832 |
+
|
| 833 |
+
209
|
| 834 |
+
00:13:17,000 --> 00:13:20,000
|
| 835 |
+
value to the 64 bit integer representation.
|
| 836 |
+
|
| 837 |
+
210
|
| 838 |
+
00:13:20,000 --> 00:13:25,000
|
| 839 |
+
Depending on the actual runtime value, information may be lost.
|
| 840 |
+
|
| 841 |
+
211
|
| 842 |
+
00:13:25,000 --> 00:13:30,000
|
| 843 |
+
That's because floating point numbers and integers stored in different way in Java memory.
|
| 844 |
+
|
| 845 |
+
212
|
| 846 |
+
00:13:31,000 --> 00:13:33,000
|
| 847 |
+
Let's consider this example.
|
| 848 |
+
|
| 849 |
+
213
|
| 850 |
+
00:13:33,000 --> 00:13:35,000
|
| 851 |
+
We have this long number.
|
| 852 |
+
|
| 853 |
+
214
|
| 854 |
+
00:13:35,000 --> 00:13:39,000
|
| 855 |
+
Let's convert this value to double and then back to long.
|
| 856 |
+
|
| 857 |
+
215
|
| 858 |
+
00:13:55,000 --> 00:14:00,000
|
| 859 |
+
Do you see the difference between long and double converted back to long?
|
| 860 |
+
|
| 861 |
+
216
|
| 862 |
+
00:14:00,000 --> 00:14:05,000
|
| 863 |
+
Just take this into account when converting long to double and vice versa.
|
| 864 |
+
|
| 865 |
+
217
|
| 866 |
+
00:14:05,000 --> 00:14:12,000
|
| 867 |
+
And probably the last thing which I would like to cover with you for today is Autoboxing and unboxing.
|
| 868 |
+
|
| 869 |
+
218
|
| 870 |
+
00:14:12,000 --> 00:14:17,000
|
| 871 |
+
At the beginning of this lesson, you saw that each primitive type has its wrapper type.
|
| 872 |
+
|
| 873 |
+
219
|
| 874 |
+
00:14:17,000 --> 00:14:23,000
|
| 875 |
+
Autoboxing is automatic conversion that the Java compiler makes between the primitive types and their
|
| 876 |
+
|
| 877 |
+
220
|
| 878 |
+
00:14:23,000 --> 00:14:25,000
|
| 879 |
+
corresponding object wrapper classes.
|
| 880 |
+
|
| 881 |
+
221
|
| 882 |
+
00:14:25,000 --> 00:14:29,000
|
| 883 |
+
For example, integer I four equals one.
|
| 884 |
+
|
| 885 |
+
222
|
| 886 |
+
00:14:30,000 --> 00:14:35,000
|
| 887 |
+
So here you can see that it was auto boxed to integer.
|
| 888 |
+
|
| 889 |
+
223
|
| 890 |
+
00:14:35,000 --> 00:14:38,000
|
| 891 |
+
If the conversion goes the other way.
|
| 892 |
+
|
| 893 |
+
224
|
| 894 |
+
00:14:38,000 --> 00:14:40,000
|
| 895 |
+
This is called unboxing.
|
| 896 |
+
|
| 897 |
+
225
|
| 898 |
+
00:14:40,000 --> 00:14:43,000
|
| 899 |
+
Int i5 equals i4.
|
| 900 |
+
|
| 901 |
+
226
|
| 902 |
+
00:14:44,000 --> 00:14:48,000
|
| 903 |
+
Here you can see that integer was unboxed to int.
|
| 904 |
+
|
| 905 |
+
227
|
| 906 |
+
00:14:49,000 --> 00:14:53,000
|
| 907 |
+
And now let's recap what we have learned today.
|
| 908 |
+
|
| 909 |
+
228
|
| 910 |
+
00:14:53,000 --> 00:14:56,000
|
| 911 |
+
After this lesson you know what primitive types are.
|
| 912 |
+
|
| 913 |
+
229
|
| 914 |
+
00:14:56,000 --> 00:15:01,000
|
| 915 |
+
What variables are you know rules for conversion between primitive types.
|
| 916 |
+
|
| 917 |
+
230
|
| 918 |
+
00:15:01,000 --> 00:15:04,000
|
| 919 |
+
And you saw what Autoboxing and unboxing is.
|
| 920 |
+
|
| 921 |
+
231
|
| 922 |
+
00:15:05,000 --> 00:15:07,000
|
| 923 |
+
And now your homework.
|
| 924 |
+
|
| 925 |
+
232
|
| 926 |
+
00:15:09,000 --> 00:15:10,000
|
| 927 |
+
Read books.
|
| 928 |
+
|
| 929 |
+
233
|
| 930 |
+
00:15:10,000 --> 00:15:12,000
|
| 931 |
+
Read chapters about primitives.
|
| 932 |
+
|
| 933 |
+
234
|
| 934 |
+
00:15:12,000 --> 00:15:17,000
|
| 935 |
+
Learn Java keywords and take a look at Oracle documentation regarding primitives.
|
| 936 |
+
|
| 937 |
+
235
|
| 938 |
+
00:15:17,000 --> 00:15:18,000
|
| 939 |
+
Conversion.
|
| 940 |
+
|
03 - Primitive Data Types, Variables and Arrays/001 Source-code-of-the-example-used-in-the-lesson.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://github.com/AndriiPiatakha/learnit_java_core/blob/master/src/com/itbulls/learnit/javacore/primitives/PrimitiveTypes.java
|
03 - Primitive Data Types, Variables and Arrays/002 Homework.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://docs.google.com/document/d/1w12RqSvsfrGWTDd50QKI2RQWrEMmvE-6tSEMcS4tiOE/edit?usp=sharing
|
03 - Primitive Data Types, Variables and Arrays/002 Number Systems_en.srt
ADDED
|
@@ -0,0 +1,284 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
1
|
| 2 |
+
00:00:05,000 --> 00:00:08,000
|
| 3 |
+
In this lesson, we'll run with you no systems.
|
| 4 |
+
|
| 5 |
+
2
|
| 6 |
+
00:00:09,000 --> 00:00:12,000
|
| 7 |
+
We'll discuss today why we need to understand different numbers systems.
|
| 8 |
+
|
| 9 |
+
3
|
| 10 |
+
00:00:13,000 --> 00:00:17,000
|
| 11 |
+
We'll learn what binary octal and the hexadecimal number systems are.
|
| 12 |
+
|
| 13 |
+
4
|
| 14 |
+
00:00:17,000 --> 00:00:23,000
|
| 15 |
+
And we will learn how we can use binary octal and hexadecimal literals in Java source code.
|
| 16 |
+
|
| 17 |
+
5
|
| 18 |
+
00:00:23,000 --> 00:00:27,000
|
| 19 |
+
Let's start before we jump to binary number system discussion.
|
| 20 |
+
|
| 21 |
+
6
|
| 22 |
+
00:00:27,000 --> 00:00:31,000
|
| 23 |
+
Let's try to understand why do we need to know numbers systems.
|
| 24 |
+
|
| 25 |
+
7
|
| 26 |
+
00:00:31,000 --> 00:00:34,000
|
| 27 |
+
The human language consists of words and characters.
|
| 28 |
+
|
| 29 |
+
8
|
| 30 |
+
00:00:35,000 --> 00:00:38,000
|
| 31 |
+
This type of data is not suitable for computers.
|
| 32 |
+
|
| 33 |
+
9
|
| 34 |
+
00:00:38,000 --> 00:00:43,000
|
| 35 |
+
When we enter data, the data is converted into electronic pulse.
|
| 36 |
+
|
| 37 |
+
10
|
| 38 |
+
00:00:43,000 --> 00:00:49,000
|
| 39 |
+
Each pulse is identified as code and the code is converted into numeric format.
|
| 40 |
+
|
| 41 |
+
11
|
| 42 |
+
00:00:49,000 --> 00:00:56,000
|
| 43 |
+
It gives each number, character and symbol and numeric value number that the computer understands.
|
| 44 |
+
|
| 45 |
+
12
|
| 46 |
+
00:00:57,000 --> 00:01:03,000
|
| 47 |
+
One of the skills which is useful to programmers is understanding of relationship between number basis.
|
| 48 |
+
|
| 49 |
+
13
|
| 50 |
+
00:01:04,000 --> 00:01:09,000
|
| 51 |
+
You want to use binary octal or hexadecimal format on a daily basis.
|
| 52 |
+
|
| 53 |
+
14
|
| 54 |
+
00:01:09,000 --> 00:01:15,000
|
| 55 |
+
But this is an important part of your general education as a software engineer, because sometimes in
|
| 56 |
+
|
| 57 |
+
15
|
| 58 |
+
00:01:15,000 --> 00:01:22,000
|
| 59 |
+
JDK in source code you will find hexadecimal literals and you need to be prepared to understand the
|
| 60 |
+
|
| 61 |
+
16
|
| 62 |
+
00:01:22,000 --> 00:01:23,000
|
| 63 |
+
source code.
|
| 64 |
+
|
| 65 |
+
17
|
| 66 |
+
00:01:24,000 --> 00:01:29,000
|
| 67 |
+
I will try to explain to you different numbers systems with examples as easy as possible.
|
| 68 |
+
|
| 69 |
+
18
|
| 70 |
+
00:01:30,000 --> 00:01:33,000
|
| 71 |
+
Hope examples will help you to understand the topic.
|
| 72 |
+
|
| 73 |
+
19
|
| 74 |
+
00:01:34,000 --> 00:01:36,000
|
| 75 |
+
Let's start from binary number system.
|
| 76 |
+
|
| 77 |
+
20
|
| 78 |
+
00:01:36,000 --> 00:01:38,000
|
| 79 |
+
Binary number system.
|
| 80 |
+
|
| 81 |
+
21
|
| 82 |
+
00:01:38,000 --> 00:01:43,000
|
| 83 |
+
Radix is two binary digits can only be zero or one.
|
| 84 |
+
|
| 85 |
+
22
|
| 86 |
+
00:01:43,000 --> 00:01:46,000
|
| 87 |
+
Let's take a look at this binary number.
|
| 88 |
+
|
| 89 |
+
23
|
| 90 |
+
00:01:46,000 --> 00:01:50,000
|
| 91 |
+
I also identified that this number has base to.
|
| 92 |
+
|
| 93 |
+
24
|
| 94 |
+
00:01:51,000 --> 00:01:58,000
|
| 95 |
+
As an exercise, let's convert this binary number into decimal format, which we're all used to, to
|
| 96 |
+
|
| 97 |
+
25
|
| 98 |
+
00:01:58,000 --> 00:01:59,000
|
| 99 |
+
convert to decimal format.
|
| 100 |
+
|
| 101 |
+
26
|
| 102 |
+
00:01:59,000 --> 00:02:02,000
|
| 103 |
+
Let's split these digits like this.
|
| 104 |
+
|
| 105 |
+
27
|
| 106 |
+
00:02:03,000 --> 00:02:09,000
|
| 107 |
+
We have rankest now which are started from zero and from the right to left in each rank.
|
| 108 |
+
|
| 109 |
+
28
|
| 110 |
+
00:02:09,000 --> 00:02:17,000
|
| 111 |
+
You have to do following calculations, multiply the number in each rank by base of numbers, system
|
| 112 |
+
|
| 113 |
+
29
|
| 114 |
+
00:02:17,000 --> 00:02:18,000
|
| 115 |
+
in the power of rank.
|
| 116 |
+
|
| 117 |
+
30
|
| 118 |
+
00:02:19,000 --> 00:02:22,000
|
| 119 |
+
For example, let's start from left to right.
|
| 120 |
+
|
| 121 |
+
31
|
| 122 |
+
00:02:23,000 --> 00:02:25,000
|
| 123 |
+
One is the number here.
|
| 124 |
+
|
| 125 |
+
32
|
| 126 |
+
00:02:25,000 --> 00:02:33,000
|
| 127 |
+
Let's multiply one by base of the number system, which is two, as we discussed, in the power of the
|
| 128 |
+
|
| 129 |
+
33
|
| 130 |
+
00:02:33,000 --> 00:02:36,000
|
| 131 |
+
rank, which is three in this case.
|
| 132 |
+
|
| 133 |
+
34
|
| 134 |
+
00:02:37,000 --> 00:02:44,000
|
| 135 |
+
So it will be one multiplied by eight after we are done with similar calculations for each rank.
|
| 136 |
+
|
| 137 |
+
35
|
| 138 |
+
00:02:44,000 --> 00:02:46,000
|
| 139 |
+
Let's add these numbers together.
|
| 140 |
+
|
| 141 |
+
36
|
| 142 |
+
00:02:47,000 --> 00:02:53,000
|
| 143 |
+
Here we have eight plus zero plus two plus one.
|
| 144 |
+
|
| 145 |
+
37
|
| 146 |
+
00:02:53,000 --> 00:02:58,000
|
| 147 |
+
So this number in binary format equals to 11 in decimal format.
|
| 148 |
+
|
| 149 |
+
38
|
| 150 |
+
00:02:58,000 --> 00:03:05,000
|
| 151 |
+
Does it make sense now octal number system, octal number system, Reddick's is eight.
|
| 152 |
+
|
| 153 |
+
39
|
| 154 |
+
00:03:06,000 --> 00:03:13,000
|
| 155 |
+
Notice how in each of these numbers systems, the number of digits contained within the system is name
|
| 156 |
+
|
| 157 |
+
40
|
| 158 |
+
00:03:13,000 --> 00:03:20,000
|
| 159 |
+
of the system based two has two digits, base eight has eight digits and so on.
|
| 160 |
+
|
| 161 |
+
41
|
| 162 |
+
00:03:20,000 --> 00:03:24,000
|
| 163 |
+
Just remember that each system starts counting with zero.
|
| 164 |
+
|
| 165 |
+
42
|
| 166 |
+
00:03:25,000 --> 00:03:29,000
|
| 167 |
+
So let's convert now this number with base eight to decimal format.
|
| 168 |
+
|
| 169 |
+
43
|
| 170 |
+
00:03:30,000 --> 00:03:36,000
|
| 171 |
+
The same algorithm lets draw lines to see ranks starting from left.
|
| 172 |
+
|
| 173 |
+
44
|
| 174 |
+
00:03:36,000 --> 00:03:44,000
|
| 175 |
+
We have seven multiplied by base of number system, which is eight in the power of rank and so on.
|
| 176 |
+
|
| 177 |
+
45
|
| 178 |
+
00:03:45,000 --> 00:03:47,000
|
| 179 |
+
Let's add this numbers together.
|
| 180 |
+
|
| 181 |
+
46
|
| 182 |
+
00:03:48,000 --> 00:03:52,000
|
| 183 |
+
Here it is reconverted octal number two decimal.
|
| 184 |
+
|
| 185 |
+
47
|
| 186 |
+
00:03:52,000 --> 00:03:58,000
|
| 187 |
+
You can use online converters to verify hexadecimal numbers.
|
| 188 |
+
|
| 189 |
+
48
|
| 190 |
+
00:03:58,000 --> 00:04:03,000
|
| 191 |
+
System has Reddick's 16 and 16 numbers from zero to nine.
|
| 192 |
+
|
| 193 |
+
49
|
| 194 |
+
00:04:03,000 --> 00:04:09,000
|
| 195 |
+
And after that we are using letters a, b, c, d, e, f.
|
| 196 |
+
|
| 197 |
+
50
|
| 198 |
+
00:04:09,000 --> 00:04:18,000
|
| 199 |
+
Ravicher, according to decimal number systems equals to 10, 11, 12, 13, 14, 15, respectively.
|
| 200 |
+
|
| 201 |
+
51
|
| 202 |
+
00:04:19,000 --> 00:04:22,000
|
| 203 |
+
Let's convert this hexadecimal number to decimal.
|
| 204 |
+
|
| 205 |
+
52
|
| 206 |
+
00:04:22,000 --> 00:04:27,000
|
| 207 |
+
We have base 16 and calculations are pretty straightforward for you.
|
| 208 |
+
|
| 209 |
+
53
|
| 210 |
+
00:04:29,000 --> 00:04:34,000
|
| 211 |
+
Now, let's have a look how we can write binary OKto and hexadecimal literals in Java.
|
| 212 |
+
|
| 213 |
+
54
|
| 214 |
+
00:04:35,000 --> 00:04:43,000
|
| 215 |
+
So everything is easy here, binary octal and hexadecimal integer literals have different prefixes.
|
| 216 |
+
|
| 217 |
+
55
|
| 218 |
+
00:04:43,000 --> 00:04:52,000
|
| 219 |
+
Let's write here integer in decimal format and Thek equals one hundred fifty two.
|
| 220 |
+
|
| 221 |
+
56
|
| 222 |
+
00:04:52,000 --> 00:04:54,000
|
| 223 |
+
This is a decimal format.
|
| 224 |
+
|
| 225 |
+
57
|
| 226 |
+
00:04:55,000 --> 00:05:05,000
|
| 227 |
+
If you want to write integer in binary format, just use special prefix and then equals zero b one hundred
|
| 228 |
+
|
| 229 |
+
58
|
| 230 |
+
00:05:06,000 --> 00:05:08,000
|
| 231 |
+
and eleven three zeros.
|
| 232 |
+
|
| 233 |
+
59
|
| 234 |
+
00:05:10,000 --> 00:05:19,000
|
| 235 |
+
Octal number started with zero prefix like this, and ARGT equals zero two hundred thirty.
|
| 236 |
+
|
| 237 |
+
60
|
| 238 |
+
00:05:21,000 --> 00:05:24,000
|
| 239 |
+
And hexadecimal numbers started with zero X prefix.
|
| 240 |
+
|
| 241 |
+
61
|
| 242 |
+
00:05:26,000 --> 00:05:31,000
|
| 243 |
+
And X equals zero x 98.
|
| 244 |
+
|
| 245 |
+
62
|
| 246 |
+
00:05:32,000 --> 00:05:36,000
|
| 247 |
+
You can use letters here if you want to express and know that, well, you.
|
| 248 |
+
|
| 249 |
+
63
|
| 250 |
+
00:05:37,000 --> 00:05:41,000
|
| 251 |
+
Let's print all these numbers to console in that small format.
|
| 252 |
+
|
| 253 |
+
64
|
| 254 |
+
00:05:53,000 --> 00:05:57,000
|
| 255 |
+
These variables represent the same number in decimal format.
|
| 256 |
+
|
| 257 |
+
65
|
| 258 |
+
00:05:59,000 --> 00:06:02,000
|
| 259 |
+
Let's recap what we have learned today in this lesson.
|
| 260 |
+
|
| 261 |
+
66
|
| 262 |
+
00:06:02,000 --> 00:06:10,000
|
| 263 |
+
We have learned what number systems are we know how to convert from binary auto and hexadecimal systems
|
| 264 |
+
|
| 265 |
+
67
|
| 266 |
+
00:06:10,000 --> 00:06:10,000
|
| 267 |
+
to decimal.
|
| 268 |
+
|
| 269 |
+
68
|
| 270 |
+
00:06:11,000 --> 00:06:15,000
|
| 271 |
+
We know how to use binary auto and hexadecimal literals in Java.
|
| 272 |
+
|
| 273 |
+
69
|
| 274 |
+
00:06:16,000 --> 00:06:17,000
|
| 275 |
+
And now your homework.
|
| 276 |
+
|
| 277 |
+
70
|
| 278 |
+
00:06:18,000 --> 00:06:21,000
|
| 279 |
+
Hope it will be easy and fun for you.
|
| 280 |
+
|
| 281 |
+
71
|
| 282 |
+
00:06:21,000 --> 00:06:28,000
|
| 283 |
+
Just try to find out what that small number is encoded in hexadecimal name of rock band AC DC.
|
| 284 |
+
|
03 - Primitive Data Types, Variables and Arrays/002 Source-code-of-the-example-used-in-the-lesson.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://github.com/AndriiPiatakha/learnit_java_core/blob/master/src/com/itbulls/learnit/javacore/numbersystems/NumberSystems.java
|
03 - Primitive Data Types, Variables and Arrays/003 Arrays_en.srt
ADDED
|
@@ -0,0 +1,776 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
1
|
| 2 |
+
00:00:05,000 --> 00:00:09,000
|
| 3 |
+
In this lesson, we'll learn more about arrays in Java.
|
| 4 |
+
|
| 5 |
+
2
|
| 6 |
+
00:00:09,000 --> 00:00:11,000
|
| 7 |
+
Here is our agenda for today.
|
| 8 |
+
|
| 9 |
+
3
|
| 10 |
+
00:00:11,000 --> 00:00:17,000
|
| 11 |
+
We'll discuss everything about arrays today, including what runtime errors might happen during interaction
|
| 12 |
+
|
| 13 |
+
4
|
| 14 |
+
00:00:17,000 --> 00:00:18,000
|
| 15 |
+
with them.
|
| 16 |
+
|
| 17 |
+
5
|
| 18 |
+
00:00:18,000 --> 00:00:25,000
|
| 19 |
+
Also, we will talk about multidimensional arrays and I will show you how you can use arrays class to
|
| 20 |
+
|
| 21 |
+
6
|
| 22 |
+
00:00:25,000 --> 00:00:28,000
|
| 23 |
+
perform standard manipulations with arrays.
|
| 24 |
+
|
| 25 |
+
7
|
| 26 |
+
00:00:28,000 --> 00:00:33,000
|
| 27 |
+
Before we give definition to arrays let's try to understand what do we need arrays for?
|
| 28 |
+
|
| 29 |
+
8
|
| 30 |
+
00:00:33,000 --> 00:00:39,000
|
| 31 |
+
Pretend you are implementing software for a travel agency, and you want to allow administrator to see
|
| 32 |
+
|
| 33 |
+
9
|
| 34 |
+
00:00:39,000 --> 00:00:43,000
|
| 35 |
+
list of people who bought trip to Spain for a specific date.
|
| 36 |
+
|
| 37 |
+
10
|
| 38 |
+
00:00:43,000 --> 00:00:49,000
|
| 39 |
+
You need to get this information from database and group all users in one place in your program to show
|
| 40 |
+
|
| 41 |
+
11
|
| 42 |
+
00:00:49,000 --> 00:00:51,000
|
| 43 |
+
them to your administrator.
|
| 44 |
+
|
| 45 |
+
12
|
| 46 |
+
00:00:52,000 --> 00:00:55,000
|
| 47 |
+
For such purposes, you can group all users in an array.
|
| 48 |
+
|
| 49 |
+
13
|
| 50 |
+
00:00:55,000 --> 00:00:57,000
|
| 51 |
+
So what is array?
|
| 52 |
+
|
| 53 |
+
14
|
| 54 |
+
00:00:57,000 --> 00:01:04,000
|
| 55 |
+
Array is an object which contains elements of similar data types and support access to them by index.
|
| 56 |
+
|
| 57 |
+
15
|
| 58 |
+
00:01:04,000 --> 00:01:10,000
|
| 59 |
+
Accessing each of the element in the array by its index for the constant amount of time that what we
|
| 60 |
+
|
| 61 |
+
16
|
| 62 |
+
00:01:10,000 --> 00:01:11,000
|
| 63 |
+
love arrays for.
|
| 64 |
+
|
| 65 |
+
17
|
| 66 |
+
00:01:12,000 --> 00:01:15,000
|
| 67 |
+
Just remember that indices in array start from zero.
|
| 68 |
+
|
| 69 |
+
18
|
| 70 |
+
00:01:16,000 --> 00:01:21,000
|
| 71 |
+
That means if array size is nine, the last index in this array is eight.
|
| 72 |
+
|
| 73 |
+
19
|
| 74 |
+
00:01:22,000 --> 00:01:27,000
|
| 75 |
+
If you want to compare arrays in Java and in other languages, be aware that there are some differences.
|
| 76 |
+
|
| 77 |
+
20
|
| 78 |
+
00:01:27,000 --> 00:01:32,000
|
| 79 |
+
For example, the important one is that in Java, array size is fixed.
|
| 80 |
+
|
| 81 |
+
21
|
| 82 |
+
00:01:33,000 --> 00:01:37,000
|
| 83 |
+
Once array is created, you can't change size of an array.
|
| 84 |
+
|
| 85 |
+
22
|
| 86 |
+
00:01:37,000 --> 00:01:41,000
|
| 87 |
+
Now let's take a look how to work with arrays in Java source code.
|
| 88 |
+
|
| 89 |
+
23
|
| 90 |
+
00:01:41,000 --> 00:01:47,000
|
| 91 |
+
I prepared for this lesson before video recording, so we don't spend time during the lesson on typing
|
| 92 |
+
|
| 93 |
+
24
|
| 94 |
+
00:01:47,000 --> 00:01:48,000
|
| 95 |
+
code.
|
| 96 |
+
|
| 97 |
+
25
|
| 98 |
+
00:01:48,000 --> 00:01:53,000
|
| 99 |
+
I created this class beforehand and you can focus directly on the examples.
|
| 100 |
+
|
| 101 |
+
26
|
| 102 |
+
00:01:53,000 --> 00:01:56,000
|
| 103 |
+
You can declare an array variable like this.
|
| 104 |
+
|
| 105 |
+
27
|
| 106 |
+
00:01:57,000 --> 00:01:59,000
|
| 107 |
+
Type of elements in your array.
|
| 108 |
+
|
| 109 |
+
28
|
| 110 |
+
00:01:59,000 --> 00:02:01,000
|
| 111 |
+
Square brackets and variable name.
|
| 112 |
+
|
| 113 |
+
29
|
| 114 |
+
00:02:02,000 --> 00:02:05,000
|
| 115 |
+
There is also another way to declare an array variable.
|
| 116 |
+
|
| 117 |
+
30
|
| 118 |
+
00:02:05,000 --> 00:02:10,000
|
| 119 |
+
Type of elements in your array, variable name and square brackets.
|
| 120 |
+
|
| 121 |
+
31
|
| 122 |
+
00:02:11,000 --> 00:02:16,000
|
| 123 |
+
You can use the one you would like the most, but I would recommend you to use the first declaration.
|
| 124 |
+
|
| 125 |
+
32
|
| 126 |
+
00:02:16,000 --> 00:02:22,000
|
| 127 |
+
In my humble opinion, it is more readable because you instantly see that this variable is an array
|
| 128 |
+
|
| 129 |
+
33
|
| 130 |
+
00:02:22,000 --> 00:02:26,000
|
| 131 |
+
of ints, but not like you are noticing that this variable is int.
|
| 132 |
+
|
| 133 |
+
34
|
| 134 |
+
00:02:26,000 --> 00:02:30,000
|
| 135 |
+
And after that you realized that this is an array of ints.
|
| 136 |
+
|
| 137 |
+
35
|
| 138 |
+
00:02:31,000 --> 00:02:33,000
|
| 139 |
+
Now let's initialize this variable.
|
| 140 |
+
|
| 141 |
+
36
|
| 142 |
+
00:02:33,000 --> 00:02:43,000
|
| 143 |
+
This variable equals new type of the elements in array square brackets and ten inside the square brackets.
|
| 144 |
+
|
| 145 |
+
37
|
| 146 |
+
00:02:44,000 --> 00:02:50,000
|
| 147 |
+
New keyword tells JVM to allocate memory for the new object and return reference to this object.
|
| 148 |
+
|
| 149 |
+
38
|
| 150 |
+
00:02:50,000 --> 00:02:54,000
|
| 151 |
+
And in square brackets I indicate size of my array.
|
| 152 |
+
|
| 153 |
+
39
|
| 154 |
+
00:02:54,000 --> 00:02:56,000
|
| 155 |
+
This array has size ten.
|
| 156 |
+
|
| 157 |
+
40
|
| 158 |
+
00:02:57,000 --> 00:03:02,000
|
| 159 |
+
You can check array size with length property of the array like this.
|
| 160 |
+
|
| 161 |
+
41
|
| 162 |
+
00:03:05,000 --> 00:03:07,000
|
| 163 |
+
And let's run this program.
|
| 164 |
+
|
| 165 |
+
42
|
| 166 |
+
00:03:07,000 --> 00:03:12,000
|
| 167 |
+
The length property of the array will tell us the size of the specific array.
|
| 168 |
+
|
| 169 |
+
43
|
| 170 |
+
00:03:13,000 --> 00:03:17,000
|
| 171 |
+
To get access to the element in the array, you can use its index.
|
| 172 |
+
|
| 173 |
+
44
|
| 174 |
+
00:03:17,000 --> 00:03:21,000
|
| 175 |
+
Let's print to console the first element of this array.
|
| 176 |
+
|
| 177 |
+
45
|
| 178 |
+
00:03:21,000 --> 00:03:25,000
|
| 179 |
+
Let me comment this line first and uncomment this line.
|
| 180 |
+
|
| 181 |
+
46
|
| 182 |
+
00:03:26,000 --> 00:03:28,000
|
| 183 |
+
You know this command.
|
| 184 |
+
|
| 185 |
+
47
|
| 186 |
+
00:03:28,000 --> 00:03:32,000
|
| 187 |
+
And here we are retrieving the first element of the array by its index.
|
| 188 |
+
|
| 189 |
+
48
|
| 190 |
+
00:03:33,000 --> 00:03:36,000
|
| 191 |
+
You remember that index of first element in array is zero.
|
| 192 |
+
|
| 193 |
+
49
|
| 194 |
+
00:03:37,000 --> 00:03:38,000
|
| 195 |
+
Let's run our program.
|
| 196 |
+
|
| 197 |
+
50
|
| 198 |
+
00:03:39,000 --> 00:03:41,000
|
| 199 |
+
You see that the first element is zero.
|
| 200 |
+
|
| 201 |
+
51
|
| 202 |
+
00:03:42,000 --> 00:03:45,000
|
| 203 |
+
Why it is zero if I didn't put zero in this array.
|
| 204 |
+
|
| 205 |
+
52
|
| 206 |
+
00:03:46,000 --> 00:03:52,000
|
| 207 |
+
That is because each data type in Java has its own default value for integers it's zero.
|
| 208 |
+
|
| 209 |
+
53
|
| 210 |
+
00:03:53,000 --> 00:03:55,000
|
| 211 |
+
Let's take a look at default double value.
|
| 212 |
+
|
| 213 |
+
54
|
| 214 |
+
00:03:56,000 --> 00:03:58,000
|
| 215 |
+
I created an array of doubles here.
|
| 216 |
+
|
| 217 |
+
55
|
| 218 |
+
00:03:58,000 --> 00:04:01,000
|
| 219 |
+
Let me uncomment this line and run the program.
|
| 220 |
+
|
| 221 |
+
56
|
| 222 |
+
00:04:02,000 --> 00:04:05,000
|
| 223 |
+
For double default value is 0.0.
|
| 224 |
+
|
| 225 |
+
57
|
| 226 |
+
00:04:06,000 --> 00:04:07,000
|
| 227 |
+
What about booleans?
|
| 228 |
+
|
| 229 |
+
58
|
| 230 |
+
00:04:07,000 --> 00:04:12,000
|
| 231 |
+
Here is a similar example with booleans and run the program.
|
| 232 |
+
|
| 233 |
+
59
|
| 234 |
+
00:04:13,000 --> 00:04:15,000
|
| 235 |
+
For booleans, the default value is false.
|
| 236 |
+
|
| 237 |
+
60
|
| 238 |
+
00:04:16,000 --> 00:04:22,000
|
| 239 |
+
Since primitives are not actually objects on their face in Java, then they must be initialized by default
|
| 240 |
+
|
| 241 |
+
61
|
| 242 |
+
00:04:22,000 --> 00:04:26,000
|
| 243 |
+
because semantically they can never be empty.
|
| 244 |
+
|
| 245 |
+
62
|
| 246 |
+
00:04:26,000 --> 00:04:30,000
|
| 247 |
+
Primitive variables are not the references to objects.
|
| 248 |
+
|
| 249 |
+
63
|
| 250 |
+
00:04:30,000 --> 00:04:33,000
|
| 251 |
+
Each primitive variable stores a value in itself.
|
| 252 |
+
|
| 253 |
+
64
|
| 254 |
+
00:04:33,000 --> 00:04:34,000
|
| 255 |
+
Now let's take a look.
|
| 256 |
+
|
| 257 |
+
65
|
| 258 |
+
00:04:34,000 --> 00:04:39,000
|
| 259 |
+
What will happen if I would use index which doesn't exist in array?
|
| 260 |
+
|
| 261 |
+
66
|
| 262 |
+
00:04:39,000 --> 00:04:41,000
|
| 263 |
+
You saw that this array has size ten.
|
| 264 |
+
|
| 265 |
+
67
|
| 266 |
+
00:04:42,000 --> 00:04:45,000
|
| 267 |
+
Then the last index in this array is nine.
|
| 268 |
+
|
| 269 |
+
68
|
| 270 |
+
00:04:45,000 --> 00:04:48,000
|
| 271 |
+
I will try to print to console element with index ten.
|
| 272 |
+
|
| 273 |
+
69
|
| 274 |
+
00:04:48,000 --> 00:04:49,000
|
| 275 |
+
In this array.
|
| 276 |
+
|
| 277 |
+
70
|
| 278 |
+
00:04:50,000 --> 00:04:51,000
|
| 279 |
+
What will happen?
|
| 280 |
+
|
| 281 |
+
71
|
| 282 |
+
00:04:51,000 --> 00:04:54,000
|
| 283 |
+
Runtime exception called array index.
|
| 284 |
+
|
| 285 |
+
72
|
| 286 |
+
00:04:54,000 --> 00:04:56,000
|
| 287 |
+
Out of bounds exception.
|
| 288 |
+
|
| 289 |
+
73
|
| 290 |
+
00:04:56,000 --> 00:05:00,000
|
| 291 |
+
I tried to get element from array with non-existing index.
|
| 292 |
+
|
| 293 |
+
74
|
| 294 |
+
00:05:00,000 --> 00:05:04,000
|
| 295 |
+
Always remember that the last index of the array is array size.
|
| 296 |
+
|
| 297 |
+
75
|
| 298 |
+
00:05:04,000 --> 00:05:09,000
|
| 299 |
+
Subtract one because indices are started from zero.
|
| 300 |
+
|
| 301 |
+
76
|
| 302 |
+
00:05:09,000 --> 00:05:12,000
|
| 303 |
+
Now I want to show you array literals.
|
| 304 |
+
|
| 305 |
+
77
|
| 306 |
+
00:05:12,000 --> 00:05:17,000
|
| 307 |
+
If you already know size of an array and variables, you can use array literals like this.
|
| 308 |
+
|
| 309 |
+
78
|
| 310 |
+
00:05:18,000 --> 00:05:23,000
|
| 311 |
+
Declare array variable first and then use braces to list all elements of an array.
|
| 312 |
+
|
| 313 |
+
79
|
| 314 |
+
00:05:24,000 --> 00:05:27,000
|
| 315 |
+
Now let's talk about multidimensional arrays.
|
| 316 |
+
|
| 317 |
+
80
|
| 318 |
+
00:05:27,000 --> 00:05:31,000
|
| 319 |
+
Essentially, there is no such construction as multidimensional array.
|
| 320 |
+
|
| 321 |
+
81
|
| 322 |
+
00:05:32,000 --> 00:05:39,000
|
| 323 |
+
Technically, it's properly to say that you can create an array of arrays, thus implement matrix in
|
| 324 |
+
|
| 325 |
+
82
|
| 326 |
+
00:05:39,000 --> 00:05:40,000
|
| 327 |
+
your program.
|
| 328 |
+
|
| 329 |
+
83
|
| 330 |
+
00:05:40,000 --> 00:05:44,000
|
| 331 |
+
For example, let's create an array which will contain int arrays.
|
| 332 |
+
|
| 333 |
+
84
|
| 334 |
+
00:05:44,000 --> 00:05:46,000
|
| 335 |
+
You declare a variable first.
|
| 336 |
+
|
| 337 |
+
85
|
| 338 |
+
00:05:46,000 --> 00:05:50,000
|
| 339 |
+
This is int array type and this is array.
|
| 340 |
+
|
| 341 |
+
86
|
| 342 |
+
00:05:51,000 --> 00:05:54,000
|
| 343 |
+
So you have an array of int arrays.
|
| 344 |
+
|
| 345 |
+
87
|
| 346 |
+
00:05:55,000 --> 00:05:59,000
|
| 347 |
+
Here we have variable name and this is array literal.
|
| 348 |
+
|
| 349 |
+
88
|
| 350 |
+
00:06:00,000 --> 00:06:07,000
|
| 351 |
+
So you use braces to declare your array, and inside this array you use array literals to instantiate
|
| 352 |
+
|
| 353 |
+
89
|
| 354 |
+
00:06:07,000 --> 00:06:08,000
|
| 355 |
+
other arrays.
|
| 356 |
+
|
| 357 |
+
90
|
| 358 |
+
00:06:09,000 --> 00:06:15,000
|
| 359 |
+
In multidimensional arrays, you can get access to specific element by index of the array that will
|
| 360 |
+
|
| 361 |
+
91
|
| 362 |
+
00:06:15,000 --> 00:06:23,000
|
| 363 |
+
be index of the row and index of the element in that array that will be column index just like this.
|
| 364 |
+
|
| 365 |
+
92
|
| 366 |
+
00:06:23,000 --> 00:06:26,000
|
| 367 |
+
Here is variable of our multidimensional array.
|
| 368 |
+
|
| 369 |
+
93
|
| 370 |
+
00:06:26,000 --> 00:06:29,000
|
| 371 |
+
This zero refers to index of the array.
|
| 372 |
+
|
| 373 |
+
94
|
| 374 |
+
00:06:29,000 --> 00:06:31,000
|
| 375 |
+
This is our first array.
|
| 376 |
+
|
| 377 |
+
95
|
| 378 |
+
00:06:31,000 --> 00:06:34,000
|
| 379 |
+
And this number refers to the element in this array.
|
| 380 |
+
|
| 381 |
+
96
|
| 382 |
+
00:06:35,000 --> 00:06:40,000
|
| 383 |
+
So basically the first number indicates row and the second number indicates column.
|
| 384 |
+
|
| 385 |
+
97
|
| 386 |
+
00:06:40,000 --> 00:06:42,000
|
| 387 |
+
Let's run this program.
|
| 388 |
+
|
| 389 |
+
98
|
| 390 |
+
00:06:42,000 --> 00:06:43,000
|
| 391 |
+
Here it is.
|
| 392 |
+
|
| 393 |
+
99
|
| 394 |
+
00:06:44,000 --> 00:06:51,000
|
| 395 |
+
You can instantiate multi-dimensional array specifying just its size without array literals.
|
| 396 |
+
|
| 397 |
+
100
|
| 398 |
+
00:06:51,000 --> 00:06:54,000
|
| 399 |
+
In this case, I specify just array size.
|
| 400 |
+
|
| 401 |
+
101
|
| 402 |
+
00:06:55,000 --> 00:06:58,000
|
| 403 |
+
Let me print to console the first element of this array.
|
| 404 |
+
|
| 405 |
+
102
|
| 406 |
+
00:06:59,000 --> 00:07:00,000
|
| 407 |
+
It is null.
|
| 408 |
+
|
| 409 |
+
103
|
| 410 |
+
00:07:00,000 --> 00:07:01,000
|
| 411 |
+
Why?
|
| 412 |
+
|
| 413 |
+
104
|
| 414 |
+
00:07:02,000 --> 00:07:06,000
|
| 415 |
+
Because arrays are reference types and not primitives.
|
| 416 |
+
|
| 417 |
+
105
|
| 418 |
+
00:07:06,000 --> 00:07:13,000
|
| 419 |
+
If you have an array of arrays, the default value of each array variable will be null because all arrays
|
| 420 |
+
|
| 421 |
+
106
|
| 422 |
+
00:07:13,000 --> 00:07:18,000
|
| 423 |
+
are not instantiated yet and there is no array object in memory for the reference.
|
| 424 |
+
|
| 425 |
+
107
|
| 426 |
+
00:07:18,000 --> 00:07:22,000
|
| 427 |
+
I can specify size of each inner array like this.
|
| 428 |
+
|
| 429 |
+
108
|
| 430 |
+
00:07:22,000 --> 00:07:29,000
|
| 431 |
+
Now all inner arrays will be instantiated and when I will print the array object to console, I will
|
| 432 |
+
|
| 433 |
+
109
|
| 434 |
+
00:07:29,000 --> 00:07:31,000
|
| 435 |
+
see something like this.
|
| 436 |
+
|
| 437 |
+
110
|
| 438 |
+
00:07:32,000 --> 00:07:33,000
|
| 439 |
+
What is this?
|
| 440 |
+
|
| 441 |
+
111
|
| 442 |
+
00:07:33,000 --> 00:07:34,000
|
| 443 |
+
And why do we see this?
|
| 444 |
+
|
| 445 |
+
112
|
| 446 |
+
00:07:35,000 --> 00:07:41,000
|
| 447 |
+
We'll discuss during the learning of the OOP topic, when we will take a look at object class and default
|
| 448 |
+
|
| 449 |
+
113
|
| 450 |
+
00:07:41,000 --> 00:07:46,000
|
| 451 |
+
implementation of toString method for all objects in JDK.
|
| 452 |
+
|
| 453 |
+
114
|
| 454 |
+
00:07:46,000 --> 00:07:49,000
|
| 455 |
+
We have special methods to perform basic operations with arrays.
|
| 456 |
+
|
| 457 |
+
115
|
| 458 |
+
00:07:50,000 --> 00:07:53,000
|
| 459 |
+
Let me show you how you can easily print arrays to console.
|
| 460 |
+
|
| 461 |
+
116
|
| 462 |
+
00:07:54,000 --> 00:07:56,000
|
| 463 |
+
Just type System.out.println.
|
| 464 |
+
|
| 465 |
+
117
|
| 466 |
+
00:07:57,000 --> 00:08:02,000
|
| 467 |
+
Next, type arrays like this and call toString method.
|
| 468 |
+
|
| 469 |
+
118
|
| 470 |
+
00:08:02,000 --> 00:08:06,000
|
| 471 |
+
Pass reference to the array object as argument to this method.
|
| 472 |
+
|
| 473 |
+
119
|
| 474 |
+
00:08:06,000 --> 00:08:07,000
|
| 475 |
+
Let's run this program.
|
| 476 |
+
|
| 477 |
+
120
|
| 478 |
+
00:08:08,000 --> 00:08:10,000
|
| 479 |
+
Here you can see values from this array.
|
| 480 |
+
|
| 481 |
+
121
|
| 482 |
+
00:08:11,000 --> 00:08:12,000
|
| 483 |
+
Here's a.
|
| 484 |
+
|
| 485 |
+
122
|
| 486 |
+
00:08:13,000 --> 00:08:17,000
|
| 487 |
+
And now, for example, I want to sort values in the array.
|
| 488 |
+
|
| 489 |
+
123
|
| 490 |
+
00:08:18,000 --> 00:08:19,000
|
| 491 |
+
Let's type like this.
|
| 492 |
+
|
| 493 |
+
124
|
| 494 |
+
00:08:20,000 --> 00:08:24,000
|
| 495 |
+
Arrays sort and pass the reference to array.
|
| 496 |
+
|
| 497 |
+
125
|
| 498 |
+
00:08:25,000 --> 00:08:28,000
|
| 499 |
+
And now let's print the same array to console one more time.
|
| 500 |
+
|
| 501 |
+
126
|
| 502 |
+
00:08:29,000 --> 00:08:32,000
|
| 503 |
+
You see, magic happened.
|
| 504 |
+
|
| 505 |
+
127
|
| 506 |
+
00:08:32,000 --> 00:08:35,000
|
| 507 |
+
So what does this arrays mean?
|
| 508 |
+
|
| 509 |
+
128
|
| 510 |
+
00:08:35,000 --> 00:08:42,000
|
| 511 |
+
Arrays is the class in JDK which contains various methods for manipulating arrays such as sorting and
|
| 512 |
+
|
| 513 |
+
129
|
| 514 |
+
00:08:42,000 --> 00:08:44,000
|
| 515 |
+
searching, for example.
|
| 516 |
+
|
| 517 |
+
130
|
| 518 |
+
00:08:44,000 --> 00:08:47,000
|
| 519 |
+
This class is located in Java util package.
|
| 520 |
+
|
| 521 |
+
131
|
| 522 |
+
00:08:48,000 --> 00:08:55,000
|
| 523 |
+
Also, I want to draw attention to one thing that after we wrote arrays here, eclipse automatically
|
| 524 |
+
|
| 525 |
+
132
|
| 526 |
+
00:08:55,000 --> 00:08:58,000
|
| 527 |
+
added import statement on the top of our Java file.
|
| 528 |
+
|
| 529 |
+
133
|
| 530 |
+
00:08:59,000 --> 00:09:01,000
|
| 531 |
+
What is import statement in Java?
|
| 532 |
+
|
| 533 |
+
134
|
| 534 |
+
00:09:01,000 --> 00:09:07,000
|
| 535 |
+
Import statement is a convenience to the programmer and is not technically needed for the programs.
|
| 536 |
+
|
| 537 |
+
135
|
| 538 |
+
00:09:07,000 --> 00:09:13,000
|
| 539 |
+
With import statement, you bring into visibility certain classes or entire packages.
|
| 540 |
+
|
| 541 |
+
136
|
| 542 |
+
00:09:13,000 --> 00:09:18,000
|
| 543 |
+
As soon as you import it class in your Java file, you can refer to the class directly by using only
|
| 544 |
+
|
| 545 |
+
137
|
| 546 |
+
00:09:18,000 --> 00:09:19,000
|
| 547 |
+
class name.
|
| 548 |
+
|
| 549 |
+
138
|
| 550 |
+
00:09:20,000 --> 00:09:25,000
|
| 551 |
+
Here you can see that eclipse helped me to import Java util arrays class.
|
| 552 |
+
|
| 553 |
+
139
|
| 554 |
+
00:09:25,000 --> 00:09:28,000
|
| 555 |
+
What if I wouldn't have this import statement?
|
| 556 |
+
|
| 557 |
+
140
|
| 558 |
+
00:09:28,000 --> 00:09:30,000
|
| 559 |
+
Let me just delete it.
|
| 560 |
+
|
| 561 |
+
141
|
| 562 |
+
00:09:30,000 --> 00:09:32,000
|
| 563 |
+
I saved the file.
|
| 564 |
+
|
| 565 |
+
142
|
| 566 |
+
00:09:32,000 --> 00:09:34,000
|
| 567 |
+
When you see a compilation error here.
|
| 568 |
+
|
| 569 |
+
143
|
| 570 |
+
00:09:36,000 --> 00:09:41,000
|
| 571 |
+
Compiler can't understand to which arrays class am I referring to here?
|
| 572 |
+
|
| 573 |
+
144
|
| 574 |
+
00:09:41,000 --> 00:09:46,000
|
| 575 |
+
But I can tell compiler that full class name Java util arrays.
|
| 576 |
+
|
| 577 |
+
145
|
| 578 |
+
00:09:48,000 --> 00:09:50,000
|
| 579 |
+
And error is gone.
|
| 580 |
+
|
| 581 |
+
146
|
| 582 |
+
00:09:50,000 --> 00:09:54,000
|
| 583 |
+
Compiler understood that I am referring to class from gcc here.
|
| 584 |
+
|
| 585 |
+
147
|
| 586 |
+
00:09:55,000 --> 00:10:01,000
|
| 587 |
+
If we are going to refer to Dalton classes in our application, the import statement will save a lot
|
| 588 |
+
|
| 589 |
+
148
|
| 590 |
+
00:10:01,000 --> 00:10:02,000
|
| 591 |
+
of time and typing also.
|
| 592 |
+
|
| 593 |
+
149
|
| 594 |
+
00:10:03,000 --> 00:10:06,000
|
| 595 |
+
And also one more tip for the future.
|
| 596 |
+
|
| 597 |
+
150
|
| 598 |
+
00:10:06,000 --> 00:10:13,000
|
| 599 |
+
In case you see some errors in your source code, just hover mouse over error or set cursor in the place
|
| 600 |
+
|
| 601 |
+
151
|
| 602 |
+
00:10:13,000 --> 00:10:19,000
|
| 603 |
+
of error and press Ctrl Plus one and see what eclipse will suggest you to fix the error.
|
| 604 |
+
|
| 605 |
+
152
|
| 606 |
+
00:10:20,000 --> 00:10:23,000
|
| 607 |
+
In this case, eclipse suggested me to add import statement.
|
| 608 |
+
|
| 609 |
+
153
|
| 610 |
+
00:10:23,000 --> 00:10:26,000
|
| 611 |
+
Just select what you need and press enter.
|
| 612 |
+
|
| 613 |
+
154
|
| 614 |
+
00:10:27,000 --> 00:10:33,000
|
| 615 |
+
Do you see this import statement for race type appeared again on the top of our file.
|
| 616 |
+
|
| 617 |
+
155
|
| 618 |
+
00:10:33,000 --> 00:10:36,000
|
| 619 |
+
I save file to remove compilation error.
|
| 620 |
+
|
| 621 |
+
156
|
| 622 |
+
00:10:37,000 --> 00:10:43,000
|
| 623 |
+
All basic classes, such as wrappers of primitive types are included in package Java lang.
|
| 624 |
+
|
| 625 |
+
157
|
| 626 |
+
00:10:43,000 --> 00:10:51,000
|
| 627 |
+
Import statement for Java.lang package is implicitly added by compiler to all Java files, so this declaration
|
| 628 |
+
|
| 629 |
+
158
|
| 630 |
+
00:10:51,000 --> 00:10:52,000
|
| 631 |
+
is redundant.
|
| 632 |
+
|
| 633 |
+
159
|
| 634 |
+
00:10:53,000 --> 00:10:56,000
|
| 635 |
+
You saw only two methods from arrays so far.
|
| 636 |
+
|
| 637 |
+
160
|
| 638 |
+
00:10:56,000 --> 00:10:59,000
|
| 639 |
+
Now I will teach you what all developers should know.
|
| 640 |
+
|
| 641 |
+
161
|
| 642 |
+
00:10:59,000 --> 00:11:03,000
|
| 643 |
+
You have to know how to learn and investigate source code.
|
| 644 |
+
|
| 645 |
+
162
|
| 646 |
+
00:11:03,000 --> 00:11:09,000
|
| 647 |
+
Just hold Ctrl button, hover over class name and do mouse left click.
|
| 648 |
+
|
| 649 |
+
163
|
| 650 |
+
00:11:10,000 --> 00:11:15,000
|
| 651 |
+
If you are doing this first time in the eclipse, most likely you will see something like this.
|
| 652 |
+
|
| 653 |
+
164
|
| 654 |
+
00:11:15,000 --> 00:11:18,000
|
| 655 |
+
This means you don't have source code attached.
|
| 656 |
+
|
| 657 |
+
165
|
| 658 |
+
00:11:18,000 --> 00:11:20,000
|
| 659 |
+
Let's attach source code together.
|
| 660 |
+
|
| 661 |
+
166
|
| 662 |
+
00:11:21,000 --> 00:11:23,000
|
| 663 |
+
Press attach source button.
|
| 664 |
+
|
| 665 |
+
167
|
| 666 |
+
00:11:23,000 --> 00:11:25,000
|
| 667 |
+
External location.
|
| 668 |
+
|
| 669 |
+
168
|
| 670 |
+
00:11:27,000 --> 00:11:28,000
|
| 671 |
+
External file.
|
| 672 |
+
|
| 673 |
+
169
|
| 674 |
+
00:11:28,000 --> 00:11:34,000
|
| 675 |
+
And now please go to your JDK folder and find lib folder in it.
|
| 676 |
+
|
| 677 |
+
170
|
| 678 |
+
00:11:35,000 --> 00:11:40,000
|
| 679 |
+
You see I am in my JDK folder and in lib folder which is inside JDK.
|
| 680 |
+
|
| 681 |
+
171
|
| 682 |
+
00:11:41,000 --> 00:11:46,000
|
| 683 |
+
We are looking for src zip file and this is what we are looking for.
|
| 684 |
+
|
| 685 |
+
172
|
| 686 |
+
00:11:46,000 --> 00:11:48,000
|
| 687 |
+
Just select it and press open.
|
| 688 |
+
|
| 689 |
+
173
|
| 690 |
+
00:11:49,000 --> 00:11:49,000
|
| 691 |
+
Okay.
|
| 692 |
+
|
| 693 |
+
174
|
| 694 |
+
00:11:51,000 --> 00:11:53,000
|
| 695 |
+
And here is your source code of a race class.
|
| 696 |
+
|
| 697 |
+
175
|
| 698 |
+
00:11:56,000 --> 00:11:58,000
|
| 699 |
+
In UK in all classes.
|
| 700 |
+
|
| 701 |
+
176
|
| 702 |
+
00:11:58,000 --> 00:12:04,000
|
| 703 |
+
You can find detailed Java documentation about each class, field and method.
|
| 704 |
+
|
| 705 |
+
177
|
| 706 |
+
00:12:04,000 --> 00:12:08,000
|
| 707 |
+
That is the way how you can investigate what some specific methods do.
|
| 708 |
+
|
| 709 |
+
178
|
| 710 |
+
00:12:09,000 --> 00:12:13,000
|
| 711 |
+
Investigating all the source code in JDK is part of your self-education.
|
| 712 |
+
|
| 713 |
+
179
|
| 714 |
+
00:12:14,000 --> 00:12:20,000
|
| 715 |
+
You can find list of all fields, methods, nested and inner classes here in Outline view.
|
| 716 |
+
|
| 717 |
+
180
|
| 718 |
+
00:12:20,000 --> 00:12:25,000
|
| 719 |
+
Also, you can press Ctrl plus O to see the list here in Code Editor.
|
| 720 |
+
|
| 721 |
+
181
|
| 722 |
+
00:12:26,000 --> 00:12:30,000
|
| 723 |
+
You can start typing Method name and select it to navigate faster there.
|
| 724 |
+
|
| 725 |
+
182
|
| 726 |
+
00:12:30,000 --> 00:12:35,000
|
| 727 |
+
For example sort of int array and press enter.
|
| 728 |
+
|
| 729 |
+
183
|
| 730 |
+
00:12:36,000 --> 00:12:39,000
|
| 731 |
+
And here is Java documentation for this method.
|
| 732 |
+
|
| 733 |
+
184
|
| 734 |
+
00:12:39,000 --> 00:12:43,000
|
| 735 |
+
Feel free to learn documentation for other methods in the class.
|
| 736 |
+
|
| 737 |
+
185
|
| 738 |
+
00:12:44,000 --> 00:12:47,000
|
| 739 |
+
Let's recap together what you have learned today.
|
| 740 |
+
|
| 741 |
+
186
|
| 742 |
+
00:12:47,000 --> 00:12:51,000
|
| 743 |
+
We learned what arrays are and how to work with arrays.
|
| 744 |
+
|
| 745 |
+
187
|
| 746 |
+
00:12:51,000 --> 00:12:54,000
|
| 747 |
+
We learned default values for primitive types.
|
| 748 |
+
|
| 749 |
+
188
|
| 750 |
+
00:12:54,000 --> 00:12:58,000
|
| 751 |
+
In this lesson you saw how to instantiate a multidimensional array.
|
| 752 |
+
|
| 753 |
+
189
|
| 754 |
+
00:12:59,000 --> 00:13:04,000
|
| 755 |
+
Now you know what import statement is used for and how to investigate source code of GCC.
|
| 756 |
+
|
| 757 |
+
190
|
| 758 |
+
00:13:04,000 --> 00:13:11,000
|
| 759 |
+
Also, you know what Java.util arrays class is and how you can use it to apply basic manipulations with
|
| 760 |
+
|
| 761 |
+
191
|
| 762 |
+
00:13:11,000 --> 00:13:12,000
|
| 763 |
+
arrays.
|
| 764 |
+
|
| 765 |
+
192
|
| 766 |
+
00:13:12,000 --> 00:13:15,000
|
| 767 |
+
And now let's review your homework.
|
| 768 |
+
|
| 769 |
+
193
|
| 770 |
+
00:13:15,000 --> 00:13:20,000
|
| 771 |
+
You can read about arrays in books to review the same topic from different point of view.
|
| 772 |
+
|
| 773 |
+
194
|
| 774 |
+
00:13:21,000 --> 00:13:25,000
|
| 775 |
+
I also recommend to take your time to investigate source Code of arrays class.
|
| 776 |
+
|
03 - Primitive Data Types, Variables and Arrays/003 Homework.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://docs.google.com/document/d/1NeP44yrRnKQQBHeYbpj_OcdGyZjmXx3dBRSTUm1BzOE
|
03 - Primitive Data Types, Variables and Arrays/003 Source-code-of-the-example-used-in-the-lesson.url
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[InternetShortcut]
|
| 2 |
+
URL=https://github.com/AndriiPiatakha/learnit_java_core/blob/master/src/com/itbulls/learnit/javacore/arrays/ArraysDemo.java
|
03 - Primitive Data Types, Variables and Arrays/004 Quiz Primitive data types, variables and arrays - Check yourself.html
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8" />
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
| 6 |
+
<title>Quiz Primitive data types, variables and arrays - Check yourself</title>
|
| 7 |
+
|
| 8 |
+
<style>
|
| 9 |
+
* {
|
| 10 |
+
box-sizing: border-box;
|
| 11 |
+
margin: 0;
|
| 12 |
+
padding: 0;
|
| 13 |
+
}
|
| 14 |
+
body {
|
| 15 |
+
font-family: var(--font-stack-text);
|
| 16 |
+
font-weight: 400;
|
| 17 |
+
line-height: 1.4;
|
| 18 |
+
font-size: 1.6rem;
|
| 19 |
+
color: #2d2f31;
|
| 20 |
+
}
|
| 21 |
+
.container {
|
| 22 |
+
position: relative;
|
| 23 |
+
height: 100%;
|
| 24 |
+
overflow-y: auto;
|
| 25 |
+
}
|
| 26 |
+
.content {
|
| 27 |
+
padding: 3.2rem 4.8rem;
|
| 28 |
+
word-break: break-word;
|
| 29 |
+
max-width: 69.6rem;
|
| 30 |
+
margin: 0 auto;
|
| 31 |
+
}
|
| 32 |
+
.heading {
|
| 33 |
+
margin-bottom: 24px;
|
| 34 |
+
font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", Helvetica, Arial, sans-serif,
|
| 35 |
+
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
| 36 |
+
font-weight: 700;
|
| 37 |
+
line-height: 1.2;
|
| 38 |
+
letter-spacing: 0;
|
| 39 |
+
font-size: 32px;
|
| 40 |
+
max-width: 36em;
|
| 41 |
+
}
|
| 42 |
+
.article-asset-container {
|
| 43 |
+
padding: 2.4rem;
|
| 44 |
+
}
|
| 45 |
+
.article-asset-container p {
|
| 46 |
+
font-size: 19px;
|
| 47 |
+
}
|
| 48 |
+
code {
|
| 49 |
+
background-color: #fff;
|
| 50 |
+
border: 1px solid #d1d7dc;
|
| 51 |
+
color: #b4690e;
|
| 52 |
+
font-size: 80%;
|
| 53 |
+
padding: 0.2rem 0.4rem;
|
| 54 |
+
font-family: sfmono-regular, Consolas, liberation mono, Menlo, Courier, monospace;
|
| 55 |
+
}
|
| 56 |
+
p {
|
| 57 |
+
font-weight: 400;
|
| 58 |
+
}
|
| 59 |
+
</style>
|
| 60 |
+
</head>
|
| 61 |
+
<body>
|
| 62 |
+
<div class="container">
|
| 63 |
+
<div class="content">
|
| 64 |
+
<div class="heading">Quiz Primitive data types, variables and arrays - Check yourself</div>
|
| 65 |
+
<div class="article-asset-container"><p><strong>Quiz Link: </strong><a href="https://forms.gle/s8JiuvZv9ac7ocjMA" rel="noopener noreferrer" target="_blank"><strong>https://forms.gle/s8JiuvZv9ac7ocjMA</strong></a></p><p>The quiz doesn’t require you to log in or submit any personal information. Your data privacy is my priority.</p><p>The Quiz covers content from the following lessons:</p><ul><li><p>Primitive types and variables</p></li><li><p>Number Systems</p></li><li><p>Arrays</p></li></ul><p><br></p><p><strong>Quiz Instructions:</strong></p><p>This quiz is designed to help you check your understanding of the content from the previous lessons. All questions are based only on material covered in the lessons you've already watched, so there’s no need to worry about unfamiliar topics.</p><ul><li><p>Each question has one correct answer. Select the best answer and click "Submit" when you're ready.</p></li><li><p>After submitting, you'll see your score. For each question, you earn 1 point.</p></li><li><p>Click "View Results" to see the explanations for each correct answer. Reviewing these explanations can help reinforce your understanding.</p></li><li><p>If you score below 70%, I recommend revisiting the previous lessons. However, if the explanations make sense and you’re confident in your understanding, feel free to move on.</p></li><li><p>If any explanations are unclear, please don’t hesitate to post questions in the Q&A section—I’m here to help!</p></li></ul></div>
|
| 66 |
+
</div>
|
| 67 |
+
</div>
|
| 68 |
+
</body>
|
| 69 |
+
</html>
|