Tan115 commited on
Commit
7a5e661
·
verified ·
1 Parent(s): 5f5e721

Add files using upload-large-folder tool

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +5 -0
  2. 01 - Introduction/001 Homework.url +2 -0
  3. 01 - Introduction/001 Why Java and why this course What is JDK, JRE and JVM.mp4 +3 -0
  4. 01 - Introduction/001 Why Java and why this course What is JDK, JRE and JVM_en.srt +460 -0
  5. 01 - Introduction/002 Communication plan.mp4 +3 -0
  6. 01 - Introduction/002 Communication plan_en.srt +244 -0
  7. 01 - Introduction/002 Facebook-Page-with-Udemy-Coupons-from-Learn-IT-University.url +2 -0
  8. 01 - Introduction/002 Facebook-of-the-Tutor.url +2 -0
  9. 01 - Introduction/002 IT-Bulls-Company-Official-Web-Site.url +2 -0
  10. 01 - Introduction/002 Instagram-of-the-Tutor.url +2 -0
  11. 01 - Introduction/002 LinkedIn-IT-Bulls-company-official-page.url +2 -0
  12. 01 - Introduction/002 LinkedIn-of-the-Tutor.url +2 -0
  13. 01 - Introduction/002 Patreon-account-of-the-Tutor.url +2 -0
  14. 01 - Introduction/002 Telegram-Channel-with-Latest-News-and-important-information.url +2 -0
  15. 01 - Introduction/002 Youtube-channel-with-free-lessons-and-blog.url +2 -0
  16. 01 - Introduction/003 Tips to Improve Your Course Taking Experience.html +69 -0
  17. 01 - Introduction/004 Learn-IT-application-in-Play-Market.url +2 -0
  18. 01 - Introduction/004 Page-where-you-can-generate-FREE-bonus-code-for-your-self-to-remove-limits-in-Application.url +2 -0
  19. 01 - Introduction/004 Unlimited access to 'Learn IT' application for students.mp4 +3 -0
  20. 01 - Introduction/004 Unlimited access to 'Learn IT' application for students_en.srt +168 -0
  21. 01 - Introduction/005 Additional Free Learning Materials to Use During the Course.html +69 -0
  22. 01 - Introduction/external-links.txt +36 -0
  23. 02 - Java Basics/001 About Latest Java Version.html +69 -0
  24. 02 - Java Basics/002 Homework.url +2 -0
  25. 02 - Java Basics/002 How-to-set-up-env-variables-on-Mac-OS.url +2 -0
  26. 02 - Java Basics/002 JDK Installation_en.srt +468 -0
  27. 02 - Java Basics/003 First application Hello World App.mp4 +3 -0
  28. 02 - Java Basics/003 First application Hello World App_en.srt +692 -0
  29. 02 - Java Basics/003 Homework.url +2 -0
  30. 02 - Java Basics/004 .bat-file.url +2 -0
  31. 02 - Java Basics/004 Hello-World-Application.url +2 -0
  32. 02 - Java Basics/004 Homework Solution .bat file creation.mp4 +3 -0
  33. 02 - Java Basics/004 Homework Solution .bat file creation_en.srt +104 -0
  34. 02 - Java Basics/005 Homework.url +2 -0
  35. 02 - Java Basics/005 Integrated Development Environment, Eclipse Overview_en.srt +656 -0
  36. 02 - Java Basics/006 Comments in Java source code_en.srt +380 -0
  37. 02 - Java Basics/006 Homework.url +2 -0
  38. 02 - Java Basics/006 Source-code-of-the-example-used-in-the-lesson.url +2 -0
  39. 02 - Java Basics/007 Quiz Java Basics - Check yourself.html +69 -0
  40. 02 - Java Basics/external-links.txt +24 -0
  41. 03 - Primitive Data Types, Variables and Arrays/001 Homework.url +2 -0
  42. 03 - Primitive Data Types, Variables and Arrays/001 Primitive types and variables_en.srt +940 -0
  43. 03 - Primitive Data Types, Variables and Arrays/001 Source-code-of-the-example-used-in-the-lesson.url +2 -0
  44. 03 - Primitive Data Types, Variables and Arrays/002 Homework.url +2 -0
  45. 03 - Primitive Data Types, Variables and Arrays/002 Number Systems_en.srt +284 -0
  46. 03 - Primitive Data Types, Variables and Arrays/002 Source-code-of-the-example-used-in-the-lesson.url +2 -0
  47. 03 - Primitive Data Types, Variables and Arrays/003 Arrays_en.srt +776 -0
  48. 03 - Primitive Data Types, Variables and Arrays/003 Homework.url +2 -0
  49. 03 - Primitive Data Types, Variables and Arrays/003 Source-code-of-the-example-used-in-the-lesson.url +2 -0
  50. 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&nbsp; </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:&nbsp;<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:&nbsp;"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:&nbsp;</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&amp;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&amp;A section—I’m here to help!</p></li></ul></div>
66
+ </div>
67
+ </div>
68
+ </body>
69
+ </html>