java-development-for-beginners-learnit / 02 - Java Basics /003 First application Hello World App_en.srt
Tan115's picture
Add files using upload-large-folder tool
7a5e661 verified
Raw
History Blame Contribute Delete
16.6 kB
1
00:00:05,000 --> 00:00:09,000
They will create our first application in Java language.
2
00:00:09,000 --> 00:00:10,000
Be prepared to have fun.
3
00:00:11,000 --> 00:00:16,000
Also in this lesson, you will learn what our console applications, how to compile Java code to get
4
00:00:16,000 --> 00:00:19,000
bytecode and how to execute your first program from console.
5
00:00:20,000 --> 00:00:21,000
Let's start.
6
00:00:22,000 --> 00:00:28,000
So what a console applications console application is an application that takes input and displays output
7
00:00:28,000 --> 00:00:36,000
at command line console with access to three basic data streams, standard input, standard output and
8
00:00:36,000 --> 00:00:37,000
standard error.
9
00:00:38,000 --> 00:00:42,000
These applications don't have any graphical user interface.
10
00:00:42,000 --> 00:00:45,000
They are primarily used nowadays in learning purposes.
11
00:00:46,000 --> 00:00:51,000
So console application is a lightweight application which might be easily run in console.
12
00:00:51,000 --> 00:00:57,000
During this course, we'll learn tools which we have in GDP to create powerful applications, but the
13
00:00:57,000 --> 00:00:59,000
same as learning as a human languages.
14
00:01:00,000 --> 00:01:02,000
The first thing you learn is alphabet.
15
00:01:02,000 --> 00:01:03,000
After that, no letters.
16
00:01:03,000 --> 00:01:08,000
You can create words from words who can create sentences from sentences.
17
00:01:08,000 --> 00:01:09,000
You can build a story.
18
00:01:10,000 --> 00:01:15,000
The same is here will start from console applications to learn alphabet and words.
19
00:01:16,000 --> 00:01:22,000
Here is what we are going to do today as a software engineer will create with you files with Java.
20
00:01:22,000 --> 00:01:25,000
Extension will call this files source code.
21
00:01:25,000 --> 00:01:30,000
This is exactly files where programming code written in Java will be stored.
22
00:01:31,000 --> 00:01:35,000
After that will ask Java Compiler to compile source code to bytecode.
23
00:01:35,000 --> 00:01:38,000
Java program will do this task.
24
00:01:38,000 --> 00:01:44,000
Java will produce files with class extension and Java will execute our program.
25
00:01:45,000 --> 00:01:46,000
What do you need to understand?
26
00:01:46,000 --> 00:01:50,000
And remember that Shivam doesn't execute Java files.
27
00:01:51,000 --> 00:01:54,000
Jivin executes class files properly.
28
00:01:54,000 --> 00:01:58,000
This will help you in the future when you will troubleshoot issues in your real life project.
29
00:01:59,000 --> 00:02:05,000
So now let's take a look how to create your first program, how to compile it and run theme.
30
00:02:05,000 --> 00:02:07,000
Please don't be afraid.
31
00:02:07,000 --> 00:02:11,000
You won't use common line to write your programs on a regular basis.
32
00:02:11,000 --> 00:02:16,000
In the next, lessons will run special desktop applications designed to create programs.
33
00:02:17,000 --> 00:02:22,000
But now I'd like to ask you again to open a common line wherever you want on your computer.
34
00:02:22,000 --> 00:02:27,000
For example, for this lesson I created folder where I will create a program together with you.
35
00:02:28,000 --> 00:02:32,000
Let's type seemed easier to open a common line probably using right now.
36
00:02:32,000 --> 00:02:34,000
And you must be kidding me.
37
00:02:35,000 --> 00:02:36,000
Why do we do this?
38
00:02:36,000 --> 00:02:41,000
Why don't we just start work with applications which help us to create programs?
39
00:02:41,000 --> 00:02:44,000
The answer is there are a few points to consider.
40
00:02:45,000 --> 00:02:52,000
The first one you need to learn how to work with console at least some basics because sometimes not
41
00:02:52,000 --> 00:02:57,000
always, but sometimes depending on which built tool you will use, probably you would need to work
42
00:02:57,000 --> 00:02:58,000
with console.
43
00:02:58,000 --> 00:03:04,000
And sometimes as software engineers you would need to write scripts which will call command line comments.
44
00:03:04,000 --> 00:03:06,000
Real life example.
45
00:03:06,000 --> 00:03:11,000
You would like to compile all Java files in your project in one archive, which will be deployed to
46
00:03:11,000 --> 00:03:13,000
the Web server afterwards.
47
00:03:13,000 --> 00:03:19,000
Right after compiling, you would like to run specific files, desk classes to be sure that tests are
48
00:03:19,000 --> 00:03:22,000
not failing in case tests are succeed.
49
00:03:23,000 --> 00:03:27,000
You finish your build process in case there are failures in the tests.
50
00:03:27,000 --> 00:03:28,000
You don't proceed with your build.
51
00:03:28,000 --> 00:03:33,000
That is one of the examples where knowledge of common line comments might come in handy.
52
00:03:33,000 --> 00:03:36,000
The second point to consider Guice.
53
00:03:36,000 --> 00:03:38,000
You had just started learning Java.
54
00:03:38,000 --> 00:03:44,000
You need to understand what compilation process is, what is compilation error and how it is different
55
00:03:44,000 --> 00:03:46,000
from runtime exception.
56
00:03:46,000 --> 00:03:53,000
That's why I ask all my students to create program in Notepad and to run it and console at least once
57
00:03:53,000 --> 00:03:59,000
in their lives in some conference on the first level of interview process of junior software engineers
58
00:03:59,000 --> 00:04:04,000
where you have quizzes and tests, sometimes there are also questions related to common line.
59
00:04:06,000 --> 00:04:12,000
We opened the common line to create file with Java extension, why we cannot just do mouse right click
60
00:04:12,000 --> 00:04:19,000
and create file because you need to enable showing the file extension first in different Windows version.
61
00:04:19,000 --> 00:04:21,000
It is done in a slightly different way.
62
00:04:21,000 --> 00:04:26,000
And from default options, you can create file with the extension, which doesn't work for us.
63
00:04:27,000 --> 00:04:32,000
So let's create file from console because it is easier and it's the same way to create file from the
64
00:04:32,000 --> 00:04:35,000
terminal on different Windows versions actually.
65
00:04:35,000 --> 00:04:36,000
Now at least a few ways.
66
00:04:36,000 --> 00:04:38,000
How to create file from command prompt.
67
00:04:38,000 --> 00:04:40,000
But let me show one to you.
68
00:04:41,000 --> 00:04:43,000
Type the following notepad.
69
00:04:44,000 --> 00:04:46,000
Hello World Dot Java.
70
00:04:47,000 --> 00:04:50,000
When dialogue is popped up, click yes.
71
00:04:53,000 --> 00:05:00,000
Now we see file with Java extension created here in case you have Mac just type like this.
72
00:05:01,000 --> 00:05:04,000
Dutch Hello, World Dot Jalaa.
73
00:05:05,000 --> 00:05:06,000
The file will be created.
74
00:05:07,000 --> 00:05:15,000
Let's write our first program, we'll cover right now basic syntax so each Java file can have only one
75
00:05:15,000 --> 00:05:17,000
public class or interface.
76
00:05:18,000 --> 00:05:21,000
We'll cover more modifiers during all be topic.
77
00:05:21,000 --> 00:05:28,000
But for now, just try to understand that in case class is public, client can access it from anywhere,
78
00:05:29,000 --> 00:05:32,000
including our game, which needs to access this class.
79
00:05:32,000 --> 00:05:36,000
The name of public class should be the same as the name of a Java file.
80
00:05:36,000 --> 00:05:37,000
This is true.
81
00:05:38,000 --> 00:05:42,000
In either case you would have compilation error Gervais's case sensitive.
82
00:05:43,000 --> 00:05:49,000
So hello world written with Capital H at the beginning is completely different from Hello World with
83
00:05:49,000 --> 00:05:50,000
H lowercase.
84
00:05:51,000 --> 00:05:55,000
Java is a case sensitive because it uses a C style syntax case.
85
00:05:55,000 --> 00:06:01,000
Sensitivity is useful because it lets you infer what the name means based on its case.
86
00:06:01,000 --> 00:06:07,000
For example, the Java standard for class names is uppercase in the first letter of each word, for
87
00:06:07,000 --> 00:06:11,000
example, like integer string, etc..
88
00:06:12,000 --> 00:06:18,000
The standard for variable and method names is lowercase, the first letter of the first word and uppercase
89
00:06:18,000 --> 00:06:19,000
and all other first letters.
90
00:06:21,000 --> 00:06:26,000
No print, learn, Czech error, etc.
91
00:06:28,000 --> 00:06:35,000
And the standard for constants is all uppercase was on this course, some constant like this.
92
00:06:36,000 --> 00:06:43,000
So after hello, world, let's put curly braces here in Java, curly braces define SCOP.
93
00:06:44,000 --> 00:06:51,000
Here is the scope of the class, in a few seconds, you'll see the scope of the method each otoscope
94
00:06:51,000 --> 00:06:57,000
includes in their scope, zazz variable declared in the class scope is visible in the method scope,
95
00:06:58,000 --> 00:07:02,000
but variables declared in the method scope not visible in Glasgow.
96
00:07:03,000 --> 00:07:07,000
Now we need to create an entry point for our program by convention.
97
00:07:07,000 --> 00:07:12,000
This method is publicly accessible, so let's type here public.
98
00:07:12,000 --> 00:07:13,000
It is static.
99
00:07:14,000 --> 00:07:17,000
We'll cover more what static is during or P topic.
100
00:07:18,000 --> 00:07:19,000
It does return nothing.
101
00:07:19,000 --> 00:07:24,000
That's why return type is void and it has name main by convention.
102
00:07:25,000 --> 00:07:32,000
This method takes as a parameter array of strings in the next lessons will cover in details what arrays
103
00:07:32,000 --> 00:07:33,000
are as of now.
104
00:07:33,000 --> 00:07:36,000
Consider array of strings as a sequence of strings.
105
00:07:37,000 --> 00:07:40,000
A parameter is a variable in the method definition.
106
00:07:40,000 --> 00:07:46,000
When the method is called, the arguments are the data you pass into the methods parameters.
107
00:07:46,000 --> 00:07:49,000
Hope this doesn't bring even more confusion.
108
00:07:49,000 --> 00:07:54,000
I just want you also to learn the right wording to make your colleagues understand you.
109
00:07:55,000 --> 00:08:02,000
Public static void main method, which takes array of strings, is our entry point to each Java program.
110
00:08:02,000 --> 00:08:09,000
JVM knows that it should call exactly this method and begin program execution from this point.
111
00:08:10,000 --> 00:08:17,000
Let's define scope of this method here in this method will write code which will print hello world text
112
00:08:17,000 --> 00:08:24,000
to console output will write a system not out how to represent output.
113
00:08:24,000 --> 00:08:31,000
Stream output stream has such behavior as printing to console print, to learn method prints to console
114
00:08:31,000 --> 00:08:33,000
and terminate the line.
115
00:08:33,000 --> 00:08:41,000
Each statement in Java ends with semicolon Prindle and can take strings as arguments that's postering
116
00:08:41,000 --> 00:08:42,000
Hello World into it.
117
00:08:43,000 --> 00:08:48,000
In Java, string literals are written inside double quotes and one more new word.
118
00:08:49,000 --> 00:08:49,000
Literal.
119
00:08:50,000 --> 00:08:54,000
Literal is a notation for representing a fixed value in source code.
120
00:08:55,000 --> 00:08:57,000
Here we have string literal.
121
00:08:57,000 --> 00:08:58,000
Now let's save this file.
122
00:09:01,000 --> 00:09:09,000
Let's go back to the console and now let's compile our program, Javadoc Hello, world, that Java.
123
00:09:10,000 --> 00:09:17,000
If you don't see any messages, that means compilation was successful and you can notice that new file
124
00:09:17,000 --> 00:09:24,000
is appeared in our folder, this file has the same name as our Java file, but has different extension.
125
00:09:24,000 --> 00:09:28,000
This file contains byte code for our Java virtual machine.
126
00:09:29,000 --> 00:09:31,000
Now let's execute bytecode on our game.
127
00:09:32,000 --> 00:09:33,000
Let's step Java.
128
00:09:34,000 --> 00:09:36,000
Hello, world and press enter.
129
00:09:37,000 --> 00:09:43,000
In this case, you don't need to specify extension for the file since Java expects only class files
130
00:09:44,000 --> 00:09:45,000
and you see output here.
131
00:09:46,000 --> 00:09:48,000
Hello world congratulations.
132
00:09:49,000 --> 00:09:51,000
You have just written your first console application.
133
00:09:52,000 --> 00:09:53,000
What are common mistakes?
134
00:09:54,000 --> 00:10:00,000
You can see compilation error after calling Java and you can see runtime errors.
135
00:10:00,000 --> 00:10:02,000
Let me reproduce it with you.
136
00:10:02,000 --> 00:10:05,000
Let's pretend your name your public class incorrectly.
137
00:10:06,000 --> 00:10:08,000
Not the same as Java filename.
138
00:10:09,000 --> 00:10:15,000
Let's put capital G at the end and also let's pretend you did a typo in main method name.
139
00:10:16,000 --> 00:10:17,000
Let's save the file.
140
00:10:19,000 --> 00:10:20,000
Let's call Jack now.
141
00:10:23,000 --> 00:10:31,000
We see compilation error, so code is not compiled to bytecode, always read these error messages,
142
00:10:32,000 --> 00:10:34,000
they can help you to fix issues.
143
00:10:35,000 --> 00:10:41,000
For example, like here, public class, hello world should be declared in the file with the same name.
144
00:10:41,000 --> 00:10:44,000
We will just rename our public class.
145
00:10:45,000 --> 00:10:51,000
Let's compile it one more time, but not forget to save the file before compilation process.
146
00:10:52,000 --> 00:10:58,000
So now everything is OK and we don't see any compilation errors, and by the way, to call comments,
147
00:10:58,000 --> 00:11:01,000
which I just used, I use up Arrow.
148
00:11:02,000 --> 00:11:03,000
Let's run it again.
149
00:11:04,000 --> 00:11:06,000
And here we have one time exception.
150
00:11:07,000 --> 00:11:09,000
What does it mean, compile it?
151
00:11:09,000 --> 00:11:12,000
But error happened during the program execution.
152
00:11:13,000 --> 00:11:20,000
You try to find humane method, but couldn't hope this information will help you to troubleshoot issues
153
00:11:20,000 --> 00:11:21,000
in case you will have once.
154
00:11:22,000 --> 00:11:25,000
Let's recap one more time what we have learned today.
155
00:11:26,000 --> 00:11:28,000
And now you know what console applications are.
156
00:11:29,000 --> 00:11:31,000
You understand basic Java syntax.
157
00:11:31,000 --> 00:11:34,000
You learn how to create hello world application in Java.
158
00:11:34,000 --> 00:11:38,000
Also, you saw what compilation errors and the runtime errors are.
159
00:11:39,000 --> 00:11:41,000
You can compile and execute your programs from the console.
160
00:11:42,000 --> 00:11:43,000
And here's your homework.
161
00:11:44,000 --> 00:11:48,000
Try to repeat everything what we did during the lesson by yourself.
162
00:11:48,000 --> 00:11:54,000
Also, I'd like you to write that or shall file, which will compile your source code and we'll start
163
00:11:54,000 --> 00:11:59,000
your Java application, try to do it by yourself with help of the Internet if needed.
164
00:12:00,000 --> 00:12:06,000
And we'll check your homework in the next lesson together and read Java Code Convention from the link
165
00:12:06,000 --> 00:12:06,000
here.
166
00:12:06,000 --> 00:12:09,000
Pay extra attention to naming convention.
167
00:12:10,000 --> 00:12:16,000
Java naming convention is a rule to follow as you decide what to name your intent to file, such as
168
00:12:16,000 --> 00:12:22,000
class baggage, variable, constant method, etc. but it's not forced to follow.
169
00:12:22,000 --> 00:12:25,000
So it's known as convention, not neutral.
170
00:12:26,000 --> 00:12:32,000
These conventions, as suggested by several Java communities such as Sun Microsystems and Netscape,
171
00:12:33,000 --> 00:12:39,000
all the classes, interfaces, packages, methods and fields of Java programming language and given,
172
00:12:39,000 --> 00:12:45,000
according to the Java naming conventions, if you fail to follow these conventions, it may generate
173
00:12:45,000 --> 00:12:46,000
confusion.