Functional Testing Automation Full Course 2026 | Functional Testing Automation In Java | Simplilearn

Simplilearn · Beginner ·💻 AI-Assisted Coding ·1mo ago

Key Takeaways

Simplilearn provides a full course on Functional Testing Automation in Java

Full Transcript

[music] What if you could manage data more efficiently in Java by using the right collection type for each use cases? That's exactly what today's session is about. Hello everyone and welcome back to Simple Learn. In this video, we will explore the Java collections framework and understand how to store, organize, and process data using most commonly used collection types. Java collections are one of the most important topics for every programmer because they help you handle multiple objects in clean, structured and efficient way. In today's session, we will cover the difference between arraylist, hashlist, hashmap, tree set and linked hashmap. We will look at when to use each cases based on an order, uniqueness and key value storage requirements. Along with that, we will revisit method overloading and also method overriding and understand how they fit into polymorphism. This topic is especially important because collection concepts are used everywhere including the automation frameworks, back-end development, test data handling and also real world application design. If you understand these fundamentals well, you will much more be confident when writing Java code. By the end of this video, you will know how Java collections work, how polymorphism is applied in practice, and how to choose the right data structures for the right problem. Also, just a quick information. If you're interested in building a successful career in fullstack development, don't forget to check out our AI powered full stack developer program. This course is designed for aspiring developers and professionals who want to master the mer stack while also leveraging the latest generative AI tools such as chat, GBT, GitHub copilot, Amazon code whisper and hugging face to enhance coding, testing, deployment workflows. You will gain hands-on experience through 60 plus practical projects and exercises including industry relevant capstone projects while learning to build scalable, secure and modern web applications from scratch. The program also includes 100 plus hours of live online training led by industry experts covering front-end development, backend development, database management, APIs, cloud development, and also AI powered software testing. In addition, you will receive Microsoft learn access along with official Microsoft course completion certificate and transcripts. With AI power resume building, LinkedIn profile optimization, mock interviews, and simply learns job assist program. You will have the support needed to confidently pursue full stack developer opportunities in today's competitive job market. Hurry up and enroll now. The link is given in the description box below and in the pin comments. Now, before we begin, here's a quick question for you to answer. Which Java collection stores unique elements in sorted order automatically? Is it array list, hash set, tree set or is it hashmap? Comment your answers below. >> So okay team uh let's move ahead. So very very you know we'll start from the very basic thing. Okay. So team so actually angular is bit complicated. So first I taught you JavaScript and uh then I will be teaching you Java and then you know I will be directly then you know after getting through Selenium I will be landing you to Angular and Cypress board. So don't worry okay it will bit easier because you know you will enhance a bit before going through you know angular concepts anyways. Okay no worries. Okay team so let's move ahead team. Okay. So very first thing you know I will be going to discuss about today team. So there is something you know you might have heard or you might be very new to Java but team there are some very basic terms okay like in Java those are basically like we might have heard about you know JDK okay. Okay no worries. Okay let's move team. So basically JDK. Okay. So JDK team is basically Java development kit. Okay. So now the question comes in your mind. Okay. Now we know it's a Java development kit. Okay. So what it is basically what I mean what's the use of this like why why it's used here. So t let's suppose I'm just giving you one simple example in our class for example what we do let's suppose we are developing some program okay so in our class let us suppose we are developing some program and then I'm trying to compile and then run it and then show the output. Okay. So if I'm developing a program and then I'm trying to compile, run and then show the output. So basically two activities I'm following here. Okay, which two activities I'm developing and running. So to develop and run Java application. Okay. So team to develop and run Java application. Okay. The required environment is JDK. Understood? Simple. Okay. So JDK basically you can say JDK provides environment to develop and run Java applications. Okay. Okay. uh Nikita you can connect directly to LSM I mean one to one you can connect to LSM. Okay. Okay. So JDK basically provides the environment to develop and run Java applications. Okay. So now let's suppose team I configured some code in client's machine. Okay team understand what I'm saying. Okay. So one scenario is this is basically called JDK. Now I am saying let's suppose I configured that code in my client's machine. Okay. Now client is responsible to run. He's not responsible to develop. What I'm saying client is responsible to run that code. He's not responsible to develop. Now just to run an application, the required environment is JRE E. Okay. So this is called Java development kit for two activities developing and running the code. But for just a single activity if you need to just run an application. Okay. So you can say JRE. Okay. So basically what's GRE? Just to run an application. Just to run an application. The required environment is J. Okay. So team now we understood JDK basically provides us the environment to develop and run Java applications. But if we want to only run not develop but if we want to only run not develop Java application the required environment is JRE that is Java runtime environment. Okay. Now there is a third term team that is called JVM. what I'm saying JVM okay this is basically team Java virtual machine okay so JVM is basically responsible Okay to run our code line by line. Okay. And you know that's why that's why JVM is interpreter. Okay. Why? What's interpreter? Basically because it runs Java program line by line. Okay. So team if we just summarize this. So in a very simple terms we can say JDK is basically JRE and development tools. It's a combination of JRE and development tools. Okay. And we can say JRE is basically the combination of JVM and library classes. Okay. Okay. Fine. Now see, so you just need to only configure JDK in your machine and it contains everything because JDK contains JRE and development tools and JRE contains JVM. So if you just configure JDK, it already contains JRE and JRE contains JVM. So everything will be configured in your machine. Okay fine. Now [clears throat] going at team there are some features of Java. Okay, it's a simple platform independent and object-oriented language. Okay, and the best feature of Java is platform independent. What I'm saying platform independent okay is the best feature of Java. Okay. So team you should all know what do we mean by platform independent. Okay. What this term denotes? If I say Java is a platform independent language. So first you should know what is a platform independent actually. So team platform independent means writing code in one operating system. Okay. Writing code in one operating system. Now what is operating system? Like I'm using Windows. Somebody might be using Linux. Somebody might be using Pedora. Somebody might be using 7 window XP. Okay. So I'm saying platform independent means writing code in any one of the operating system. It might be any operating system and executing that code on another platform on any other operating system. You just need to configure JDK. Okay. So writing codes in one operating system you all know what is operating system right? like I'm saying window XP and executing that code on another platform. Okay. So this phenomena is called W. Okay. What I'm saying w means basically W means write once and run anywhere. Okay. So this is called platform independence. Do you know like how Java became platform independent? Okay, just understand now you know our CPU our machine you know basically this computer or laptop you know if you write any code it doesn't understand English or any French or Russian whatever you know you are writing any language so it doesn't understand any language actually your this processing unit actually you know just understands the byte code and what is a byte code byte code is always in the form of 0 and one. Okay. So this platform independent okay this platform independence what whatever it is it is achieved due to the key phenomenon of byte code okay byte code is nothing you know that is in the form of zero and one format which you could not see actually you know but your actually whatever processing your CPU does whatever input you give it just processes whatever it's going on it always goes in the bite code. Okay. Then it gives you an output and that is converted into a language that you see in the console. Okay. Just understand this team. Okay. Okay. This thing now this is something you know that goes internally. So byte code byte code basically is the machine language of the Java virtual machine. Okay. by using by code execution. Okay. So let me show you team um let me show you team you know how internally it works. Okay again I'm not so good in paint team. Okay. So, just pardon me for that, but I will try to Okay, it's working right. Okay. So this let's suppose this is a source code and and and and and let's suppose t this is your Java compiler font size the this is a source code okay just understand this this font size is okay Java compiler it's I'm not able to increase it anyhow okay this is visible Java compiler this font size is okay this is a source code Okay. So now this is a Java virtual machine. Okay. And uh team let's take sure. Thank you. Okay. So, okay. Now this source code gone to my compiler uh line by line interpreter. Okay. So now Now just have a look onto this figure. Okay. And now you know I will check this whole execution flow. Okay. So first you know we let's suppose we have written our source code. Okay. In a plain text file okay like let's suppose I have written some okay I'm just telling you don't worry I will teach you how to write code and all for now. just understand the this figure to make you understand how internally it works. You should get some understanding. So that's why I'm showing you here. Okay. This will make your fundamentals strong actually. Okay. Let's suppose you have written many any code. Okay. And you are just printing hello world into it. Any any Java class inside that you just gave something public static void main and you know just hello world. You're just printing hello world. Okay. It's a source code. Now you have saved that file with dot Java extension. Okay, this much fine. Now what will happen? Let's suppose if whenever I will write any of my source code, any of my source code. So first what I will do? I will compile it. So I will compile compile it using Java compiler. Okay. So using this Java compiler the source code your this source code whatever was your source code was is compiled into dotclass files. This source code you might have written in English language. Okay like public static void main. So now when you compile it so this Java compiler takes this source code which you have written in the English language. Okay, it takes that code, it compiles that code and after compiling that compiling that code, it is compiled into dotclass extension files. So source code was in dot Java extension. Now this got compiled into class files. So team here comes the picture. A dotclass file basically contains a source code in the form of byte code. So when it was your Java extension, it was written something in English. This Java compiler basically compiled that code into dotclass file and all that English format is converted into byte code that is 0 and one format. So that byte code team is a machine language of the Java virtual machine. JVM does not understand anything. It only understands the byte code. So byte code is a machine language of the Java virtual machine. Okay. Now team inside this Java virtual machine I told you there is one interpreter. So, Java interpreter is present inside the JVM and it's the responsibility of Java interpreter that is available inside the Java virtual machine to read this byte code line by line. And this JVM basically converts the byte code dot class into executable code that is OBJ with the help of interpreter. And this [clears throat] OBJ file is used to generate the output which you see whatever you have printed you see hello world is just you know written here. Okay. Understood. Yes. Yes. Yes. I will. Monica. Yes. Monica. I will explain. No. No. Okay. [clears throat] Okay. in a plain text file. Okay. And save it with dot Java extension. Now using Java compiler the source code is compiled into dotclass files. Okay. A dot class file basically contains a source code in the form of byte code. Okay. So basically bite is a machine language of the Java virtual machine or JVM. Okay. Now Java interpreter is present inside the JVM. Okay. So JVM reads the byte code file line by line and converts the byte code. Byte code is dotclass file. Okay. into executable code. [clears throat] Okay. Converted into OBJ file. And this is actually the [clears throat] this OBJ is used to generate the output which you see in your console. Okay. Now fine. I have written everything now. Just go through it. Let me know if you have any question now. Monica, is it fine now? No. No. Pala Raha Kumari, is it fine now? Okay. Okay, pointing this much understood. Now, now we discuss about in output file we receive as OBJ actually uh one it's internally you know I'm just telling you the internal processing see output I will be executing in an Eclipse editor. Okay. So definitely if I create any class there so it will by default be dot class file only. Okay. So but you get the output in console but internally you know the output is always in the OBG extension only. Okay. I just explained this whole you know internal processing how it works. Okay. [clears throat] So actually we will be using uh Eclipse editor but team you know when there was no editor. So in fact I have also written many Java codes using notepad and we used to use you know Java C command for compiling it. Okay using command prompt and you always used to save you know notepad with the class file uh name. Okay. Anyways, now we are moving ahead with you know AI world. So we should not talk all those old things. Okay. No worries. Let's move ahead team. Now team let's come on to the now we understood you know some basics. What is JDK? What is JRE? What is JVM? How internally it works? Why Java is called platform independent language. Okay. Now team basically we will talk about language fundamentals. Okay. So team Java identifiers and reserved keywords. Okay. So first topic you know we'll discuss about what are various identifiers. Okay. Second topic you know we'll discuss what are basically reserved words in Java. Okay, now you all know what is reserved words team, right? I'm not talking about reserved words of Java, but reserved word, you understood, right? So like if I say a cat, so basically everybody knows this cat is a reserved word for any animal. If I say lion, so that is a reserved word for any animal. Okay, everybody knows this. Or you know if I say uh for example you know any like Honda Civic, Honda City so everybody knows you know that's a car name. It's a reserved word for any car. Okay. So fine. So these are basically reserved words. So in the same way team in Java also we have some you know predefined reserved words. Okay. I will let you know about it. First let's discuss about identifiers. Okay. What what do we mean by identifiers? So assume assume a team like you know in our class for example 100 students are there. Okay. So how can I identify each person you know obviously by using their names by you know like saying like you know for example if I identify here some names. Okay. So right now we can see 43 participants. Okay. Like I can say hi Ashika, Bishek, Aishwara, Asha, Ahmed, Amul, Anita, Arafat, Mohammed, Dennis. So everybody has one identity. Okay. So basically everybody can be identified by unique name, right? So now one more thing. Okay. So yeah with role numbers actually role number is more unique. Abishek you are right because name can be you know identical also like you know in my class when I was used to be in my school days there were four pe four persons with the same name Ankit and the surname were al was also same. Okay. So my class teacher you know kept like this Ankit 1, Ankit 2, Ankit three and Ankit four. Okay. Three Aishakes. Yeah. So this happens team. So okay role number is you can take assume a role number because role number is always unique. Okay. Okay. So now if we talk about the names in Java program. So name in Java program is considered as identifier which can be used for identification purpose. Okay. So you can say team a name in Java program. Okay. A name in Java program is by default is by default called as identifier. Okay. So identifier is basically you know it can be a class name or it can be method name or variable name or any label name. Okay fine. So a name in Java program is called identifier which can be used for identification purpose. It can be a method name or a variable name or a class name or any label name. Okay. So I'm just taking you know very simple example team here. For example, if I say class test so now see I'm just you know just giving you an example just to tell you what is identifier here. Okay. So in this program if you say how many identifiers are there. Okay. So first identifier is this class name. So this is a name of a class. This is an identifier. So every code, every class will always have a different name. Okay. So obviously you know team in a single framework you will never be keeping two classes name as same okay because you need to identify identify different classes by their different names okay now second identifier here is this main this is basically team this is a method name this is a name of a meth method. Okay. So a single class can have different methods. Okay. But okay, I'm not taking a case of method overloading right now team. Okay. I will teach you method overloading then I will tell you. Okay. For now just understand we will never keep two methods name as same within the same class. H okay within the same class team we never keep two methods name. So this method name can also be considered as identifier but two methods name can be same in case of method overloading but that I'm going to teach you after some time okay that's a bit advanced part okay so that all parameters and all I'm going to teach you but right now just understand this this method name is also called an identifier okayifier here is team. This is string. Why this is string is a identifier team? Because this is a predefined class name. This is a predefined class name. This is a predefined reserved actually you know you can say it's a also you know predefined reserved word in Java. So in Java it's already you know defined in its internal library is that this is a string is a sort of class. Okay. So we can say string is a predefined Java class name. So it's name that is name of a class only. So this is also an identifier. Uh this is also this is a variable name. Okay. This is a data type. We don't talk about this right now. This variable name this is also called an identifier. Okay, understood this much. In this any questions team, can you please explain one more time regarding the method name? Uh okay. So uh this is a method name and uh always okay uh team everyone always does just remember one thing very compulsory thing Java program execution always starts from a main function and this is a main function okay and this is the method name okay Amit and the whole team all participants team all 43 participants okay somebody's is asking who is asking this wika. So wika actually this is you know an array of objects actually you know this string uh I I just you know wanted to tell you when I will be teaching you an array this thing okay Abhishek was also you know asking something about it. So actually you know team this is something uh this means you know an array of string objects. So uh you can say it's a list of some text values team. Okay [clears throat] this much understood. So and this args this this is basically team arguments. This is basically arguments. Okay. So uh you can say this args is basically a variable name. Okay. See now again I need to tell you some internal processing. Now see because you know you run a Java program from the command line. Okay. So you can pass multiple values in it. Okay. So you can run Java program from a command line though now we use editors but you know if we run um internally you know it's a process only. So if we uh run a Java program on the command line so you can pass you know multiple values in it. So like if I pass something like you know uh if I say like this you know um Java test so like three values take for example I pass hello one value second value like Java second value okay let's suppose so you know how internally it goes it internally goes in this way because of this because of this you know how internally it passes so it passes is in this way internally like this in my college days I also used to use command prompt asks basically refers to arguments okay this is a variable name that is of inter data type a team don't you know go too much inside this code I will explain don't worry let me first you know I just want you to teach you here identifier. So I will tell you team, functions, method, variables, data types. Okay team, you understood identifiers, right? So reserved words team, you know, in Java language, some words, you know, are reserved to represent some meaning or functionality. Okay. So like in a normal English language team like what happens? I use cat. Cat reserved to represent one type of animal. If I say dog, dog is reserved to represent one type of animal. If I say apple, so apple is reserved to represent one type of fruit. Okay. If I say eat, eat, eat is reserved keyword to represent one type of action that normal human beings, I mean living beings do. Okay. All living beings you know eat different things in their own way. So that is sort of action. So that is a reserved keyword for you know like this. So in the same way team you know Java language is a small programming language and in that I think 53. Okay. Yeah. 53 types of reserved words are there. Okay. So in Java you know some words are reserved to represent some meaning or functionality. Okay. So we can say in Java uh some words are reserved. So you know in Java like there are I told you you know 53 reserved words. Okay. Uh in this team uh here you know uh 50 keywords are there and three are reserved literal. Wait, I will try to tell you all. I hope I may not miss any. 50 keywords. Okay. And three. Yeah, you can call it keywords. Abishek. 1 minute. Three uh reserved literal. Uh reserved literal are team you know one is true, one is false. These are two boolean values and one is null. Null is a uh default value of a string. Okay, just understand this. I'm telling you. Wait, I will write for everyone. Don't worry. Okay, so just understand for now. One is true, one is false and one is null. These are three uh reserve literal. Okay. Now 50 keyword stream I'm going to tell you in sequence. Okay. So first I will talk about the data types. Now keywords for modifiers. Okay team. So keywords for modifiers is like private. Okay. Public uh protected. I will tell you each don't worry. I mean not each but all those basically you will be going to use protected static public uh private public protected static. Final keyword. Yeah, these are access modifiers. I told right keywords for access modifiers. No, my dear. Uh all are not access modifiers. Access modifiers are only these three private, public, protected and one is default. Okay, these are man keywords that are actually modifiers but not access modifiers because it doesn't give you some sort of accessibility. Okay, so transient and one is strict FP but I don't think it's used right now. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 21 24 27 29 Okay, 29 we are done with. So one is try, one is catch, one is uh finally you know team I'm just telling you one you know secret in this secret is if you are aware of all these keywords I'm telling you team and if you know how to use these keywords in your program so it will be very easy for you you know to write any sort of code in Java. Okay, these are basically basics. One question is this document will be shared after class. Yes, Arafat 100% this will be shared. This is for you all only these all notes team I prepar preparing for you in the phase one also I did the same. No worries I will update this and share you in the end of the class. Yeah, I will write whole book. Don't worry here. Okay. So try catch finally throw one is throws keyword. So if you know all these keywords team it will be very easy for you to understand or write your Java program plus logics. You need to know how to build logics that you will learn. I will try hard to make you explain you know each and everything team. Uh but sort okay okay keep keep keep keep going now team these are keywords for exception handling then there are some class related keywords now what are class related keywords um input okay these are class related keywords in this team uh extends is used for uh inheritance. This is used for you know interface if any class implements. I will tell you wait I will tell you which and everything. Uh let first let us complete this that there are uh object related keywords. Okay. So these are like new keyword. Okay. Instance of Yes. Uh super keyword and this keyword. This keyword I taught you right team you remember this and super keyword in JavaScript. Yes. [clears throat] Okay. You know team there is no delete keyword in Java. Okay. Because the destruction of the useless objects is the responsibility of garbage collector. Understood? Again I'm repeating team. Now how how much I have written? Could anybody count this one? Wait. 4 8 10 15 16 20 24 27 31 32 33 34 35 36 37 40 41 42 43 44 44 four I've told you 50 50 may uh I might missing four or five okay but I will tell you don't worry okay enam keyword enum is also a keyword yes yes sir yes yes enum I will tell you yeah when I will teach you how to build a selenium framework we will be using enum 100% %. Okay. So there is one more keyword team void. If don't return anything then there is one more keyword void. Okay fine. So what I said team there is no delete keyword in Java because destruction of the useless objects is the responsibility of garbage collector. Okay. Do remember this that's why I'm not written delete keyword there is as such no delete keyword in Java okay now void return type keyword I said if a method won't return anything that method we should declare with void return type okay do remember team one thing in Java return type is actually mandatory okay return type is mandatory so if a method won't return anything. So we should declare void return type. Okay, just understand for now. Some of you might be thinking what do you mean by return type? What is a method? Wait, I will tell you. I will tell you in a code for now just understand void means you are returning nothing. Just understand this line. Okay, I will show you. Okay. [clears throat] So, reserved literal. Okay. True, false and null. Okay. Enum keyword is there. I think we almost covered 44 45. Okay. Fine. Now, so now team these are reserved words that is already available in Java. You won't be able to make it userdefined. You know these words are a predefined keywords. Okay, these are not user you know user defined. Understood team. Any questions in identifiers and reserved words? Then I will be going to now elaborate about data types here quickly. Any questions team? Understood. Thanks Amul. Thank you Vun Raj. Thank you. Okay. So let's move ahead team. Now data types. Now what are data types? Okay. So team every uh Thanks Pronita. So every variable in Java, every variable in Java should have some data type. Okay team uh just understand this thing okay whatever I'm writing please focus on each and every word I'm saying variable so actually data type is for variables only okay so variable in Java should have some data type okay like if I say int x okay So no this x is a variable and it is of which data type int data type. If I say int y. Okay. So this y is a variable and this variable is of int data type. Okay. So every expression and every variable in Java has some type. Without type there is no chance of existing single variable or even a single expression D. So each and every error type is you know clearly defined. Understood? If you don't use this 100% you will get compile time exception. You won't even able to compile. So in Java every variable has some type has some data type. Here I have used in data type. Okay. And each and every data type is a reserved word that is already clearly defined in the internal libraries of Java. Now what are internal libraries of Java? We already uh you know we have already gone through this in the beginning. Everything will be contained inside the JDK. when you configure JDK, it has all those internal libraries that all libraries already have such definitions inside contained in it that all knows man if you're using int data type or you're using by data type or any sort of data type they all know what this data type means because the those are reserved words in Java. Okay, I hope now you are able to correlate each and everything. Okay, from the beginning whatever I told right saying because of these reasons we can conclude that Java language is a strongly typed programming language. Secondly, we can also say team that Java is a pure objectoriented language. Is it or not? C team this is a question I will tell you all oops concepts but I would like to tell you Java when compared with old languages which old languages that come before Java but I think we all are born with Jim okay but before Java okay before Java there are languages but compared to that old languages Java is more object-oriented language. Okay. Now we we will not be going to do any sort of relative comparisons between different languages here. Okay. So but I'm going to tell you like few small things here team multiple inheritance is not possible in case of Java. multiple inheritance operator overloading is not possible method overloading is possible operator overloading is not possible okay so we can say you know there are still some things that lacks here okay that I'm going to show you in okay so in which I can prove you know that yes though it's a pure object-oriented programming language but still it lags is behind in some few concepts. Let's quickly you know show you uh data types. Okay, all data types. So first data type team I've shown you by now you should know this by data type how much size it has. If you use this zera type with any variable so how much size basically it will take into the memory. Okay. So by data type is of one bite. Okay. And team one bite means eight bits. One bite means eight bits. By just knowing about the eight bits, we can easily calculate its range. Some of times you know it may happen it's very possible that anybody you know can forget like what's the you know range okay if you wanted to know its range so there is one trick team okay I'm just going to tell you and those tricks you can apply on other data types also okay like the I said eight bits okay see so eight bits okay this one is most significant bit MSB this is a team bit microprocessor part but I'm I will I will try to explain bit consider one more box with one okay here okay now you can count this see 1 2 3 4 5 6 7 8 bits okay fine Now if you count this T by using eight bits what is the max value we can represent. So see now some of you might be wondering why I've written something X like this. What do you mean by most significant bit? So basically team this is actually this bite is a signed data type. Sign data type. Sign data type means if it is zero if it is zero then that means it's a positive number. If it's one if a significant bit is one that means it's a negative number. See I cannot compel anyone like int if I say by x is equal to 10. I can also take by x is equal to minus 10. So that minus or plus you know that is actually a more significant bits. That's why I'm saying this is a sign data type. You cannot restrict anyone. You can't use you know negative number. Within a range you can use either positive or either negative number. Understood team what I'm saying? Anybody has any questions? Okay. So this bit is actually reserved as a sign bit. The remaining seven bits basically represents the value. So if I say what's the max value man? So simple team Cly what happens internally go goes like this. So like this one if you start from here 1 2 3 4 5 6 Okay bits I'm making team 7 8 okay so this is MSB team okay positive or negative now see how we can calculate the range two. This one is 2 to the power 0. Okay. Then in the same way this is this one is 2 ^ 1. Okay. This is 2 ^ 1. This is 2 ^ 2. This is 2 ^ 3. 2 ^ 4. 2 ^ 5. 2 ^ 6. Okay. Now if we calculate this d Okay. So what I'm saying this one was 2 ^ 6 2 ^ 5 2 ^ 4 2 ^ 3 2 ^ 2 2 2 ^ 1 2 ^ 0. If you add all this see what result you get. 2 to the^ 6. Could anybody tell me + 2 ^ 5 + 2 ^ 4 2 the power 2 2 the power 1 2 the power 0 Okay. So if you calculate this, how we calculate 2 ^ 6? 2 ^ 6 in 2 ^ 6 means multiply 2 six times. So 2 into 2 4 2 8 16 32 64. Okay. Then 2 ^ 5 means how much? Speak of team 32. 2 to the power uh 4 means 32 then 16 then 8 then 4 then 2 then 1. that is basically equal to 127. So max range is 127. See how I calculated t you should only know the size with the help of the size you can get its maximum range. Maximum range means till where you can take the value of this. Okay. And if you take out the two's complement of this. Okay. So this will give you actually minus 128. So its range basically its range is - 128 to 127. Got it? Understood? Now don't ask me team what is two's complement. I need to teach mathematics in that case that you can learn. It's a simple thing. Okay. This is how team you know internally actually range is calculated. Got it? So now let's move team. So this is about bite. Okay. Then in the same way team there is short data type. Okay. short data type is of two uh one by two by yes two bytes and two by means 16 bits okay then there is int data type okay in data type means Four by 8 into 4 32 bits by short int long. In the same way long d of 8 by obviously you can take you know many uh 64 bits. Okay. You can take a huge number in this. You can calculate range team accordingly. Okay. If you don't want to calculate, you can you know remember okay you know team internally everybody always use in data type. I also use you know mostly in data type but you know um if your value is small if you take the bite it will take less space and overall you know it increases the speed of your code efficiency. Okay, it increases the speed of your code. Okay, this much understood team load is something you know if we want five to six decimal places accuracy. So if we want some this is same for uh int by short int long that is used for you know nondesimal values. If you want to use decimal values, basically we use float or double data type. If we want some five to six decimal places of accuracy, some five to six decimal places of accuracy. We should go for float. And if we want 14 to 15 decimal places of accuracy then we should go for double. So, LSM informed you, right? Okay team. So, let's move ahead now. Okay. So, oh JDK uh so team I will just you know um uh let you know like how we can configure uh JDK. Okay. So very first thing do one thing. Okay. So do one thing team first very first thing just go to the official website of Oracle I think from there the free version uh so you configured JDK 25 Is it you configured? Okay. Uh I hope it is not asking for any sort of subscription. Free version is there. Okay. So team you can just land it over here and then you can just go to this Windows X4 install. Okay. Just click on this [clears throat] team. Uh you doing please connect on onetoone chat. Many of them you know are two freshers here. They will get confused. Okay. Please always you know all these sort of things. Abhishek it's a request to you my dear friend please connect to me one to one okay for all these things okay yeah that is fine amul uh team one or two of you whoever is downloading please let me know I'm continuously looking onto the chat you know to see the reply so team what you need to do if you have Java so you just do one thing go to command prompt okay and just check java space hyphen version like this that's Okay. So, who was asking exe file? So, Sonia, you need to check in this way. Downloaded X4 installer. Okay. Now, do one thing. After you downloaded it, uh you do one thing. Just double click that whatever downloaded exe file is there. Could you whatever you might have downloaded. So there might be uh just doubleclick the downloaded.exe file. Then just you can click on next and you know it will show you some default installation path. So the version is showing as 25 chari that is basically downloaded where it got downloaded it might be in some program files Rita and Nema don't worry I will show you for Mac I don't have Mac machine. So at end of the class any one of you can share your screen and I will let you know how to you know download it. For now let us complete. If it is showing you version so that is fine surely. Okay team fine. So you just double click the downloaded .exe file. It will show you the some installation path. Just click on install and click on finish. That's it. Yes, Monica. Eclipse ID for Java developers. Exactly. C team I'm just if you want you know I just it got open so I wanted to show you C team. This is my one workspace. So now you could imagine how much actually I practice myself. See this these are only you know packages I'm showing you it has you know n number of classes you know in each see yes you can is there any online Java online editor uh I'm not sure hackers time. I mean you can try it. I I'm not sure if there is any Eclipse online editor. You can I mean I'm not sure for this but in online editor how you will create package and project and all. Okay. So I'm just creating one new okay simple new. Okay. Just clicked on file gone to new clicked on project here I will click on Java project okay click on next okay here is a project name project name I'm just going to give like uh Java class examples Okay, simply click on next. Okay, this one simple. Okay, now inside src I could see some module info on Java. I will just right click this and delete this for now. No need for this. I just deleted this. Now in the src I just clicked on new. I clicked on class. Okay. And I will one class that is my first Java program. Okay. And I will check this main function. So now just remember team one thing. Java project shi. So now public static void main and just click on finish here. Simple. Okay. Hey team. Okay. So now team just understand I already told you this is a predefined keyword this is a predefined keyword I told you that those 50 keywords. So now just understand this keyword this is an excess modifier. What this is this is an access modifier. Okay. Now let me tell you the picture of excess modifiers. [clears throat] Okay. Package one, package two, no package two can have several classes. Package one has several classes. But a single package can have many classes. T understood? So within package, within class, within package, outside class, outside package and outside class. Okay. outside package with outside class with inheritance. Okay. So if your access modifier is public means if your method is public so it can be easily accessible within package and within class. It can be easily accessible within package and outside class. It can be easily accessible outside the package as well as outside the class. And it is easily accessible outside the package with outside class with inheritance. Inheritance team I already told you it's a parent child relationship between two classes. Okay. In JavaScript I told you all okay whoever don't know team just want to understand this inheritance something that establish a parent and child relationship between two classes. Okay. Then there is protected access modifier. This is within package and within class. within package and outside class. Outside package and outside class. No, outside and outside class protected access modifier is not accessible. But it is accessible when case of inheritance means if inside package one there is a class inside package two there is a class. So a relationship between these two if it is a inheritance relationship between these two classes then it is accessible otherwise it's not accessible. Okay. Default is accessible only in package. It is not accessible outside the package. Neither in the case of without inheritance nor in the case of with inheritance. So it should be no. Sorry. Private is only accessible within packaging within class and outside it it is not accessible anywhere okay understood more clarification I'm adding here without any edit Charlie what you understood by access modifier till now I mean I told you this so what you understood then I will tell this definition what you understood what is access modifier what do you mean by axis if I use this term axis so I told you I just drawn a figure so what you understood in this don't tell about access modifier only a okay anyone else team I told team one line right if any method is there okay I was just starting with one code here I saw one access modifier this is a simple method team so I need to know in what all classes its accessibility can be okay like like I'm accessible to this 44 participants right So this 7:30 to 11:30 IST I'm only accessible to these 44 participants. I'm not accessible to anyone else. So right now I'm private mentor for you all. Understood. This is accessibility team. I am only accessible to you all right now. In the same way this method accessibility. Okay. This method accessibility I was telling you with this figure. How many of you not understood team? One thing I'm humble request if I ask you team please reply me I really put lot of energy man speaking writing drawing at least put some effort in writing yes or no and if you have any queries please ask me yeah that's why I was asking shi access this is accessibility access means accessibility yes they And basically it gives you the control. So you have given the control to your method where it will be accessible, where it will won't be accessible. This is only the task of access modifier. Okay. Okay. Any question team from anyone? And for this only I just created one you know the max access modifiers. Okay. And I told about each and every access modifier. Okay. That where all can it be accessible. And to make you all more clear I drawn this figure team. Where is my paint here? Okay. that there can be many classes inside a package. So if this is a package one, this is a package two. So each package can have different classes. So there is also one possibility of relationship between these two classes. So now these two classes that are in different packages. Okay, with that only I have written outside the package without inheritance and outside the package with outside class with inheritance. Okay once go through this you will understand. Okay. So if I say now now this is my public access modifier. Now this is accessible anywhere. Okay. Now static means [clears throat] if if we keep static variable with any method. If we keep static variable with any method then that means that method is exist that method can be access at a class level. Okay. No need to create an object to access this method. Understood? Like let's suppose team now access modifier. I understood now public. Now static says you can use this main method anywhere at a class level. No need to create an object. If let's suppose if static would not have been here. Okay. In that case by default it would be considered as non-static. So for that if we need to use this method I need to create an object for that but here is static that means it is accessible though it's public but it is accessible at class level no need to create an object understood harsha please hold on I will tell you about variables please understand this what I'm telling okay this much understood Not. Okay. Fine team. Now we came till here. Hi. Thank you. Now team if we don't use static keyword. Let's suppose okay if we would have not used static keyword if we would have not used static keyword then that means it's non-static t we need not mention anything as n o n s a tic non-static no we have if we haven't used static keyword word with a method then that means it's a non-static. Okay. So if any method is non-static it cannot be accessed at class level. Simple this difference you understood right? If static it can be accessed at a access at class level. If it's not static, it cannot be existed at a class level. Fine. Simple difference. Okay. This much. Now the question comes if non-static cannot be accessed at a class level then how it can be accessed? So team for non-static method we will be creating an object and do remember team object is created using new keyword that I will tell you further there will there will be lot of scenarios that we'll come across but just understand it right Now to access non-static we need to create an object. Now understood. Okay. Okay. Now this is void team. So if void is followed by any method name. So team this is a method name and void means you are not returning anything. This method is giving you nothing in return. What I'm saying it's not returning anything. Void means it's not returning anything. Understood? Okay. We understood these four things. Okay. Now team let's also understood understand what is a class okay so my all previous batch members I told you what is a class what is a class mean what do what is class what do what do we mean by class yes Nandanda Sai Harsha Fatima Dip I told team what is a class? Class is a blueprint who is saying class instance of object. No no no no GI you are wrong. blueprint. Okay, it's a template used to create an objects. Okay, class is a container which includes variables and methods. Okay. Okay. Okay. Thank you. Varun Raj it's a collection of methods okay okay so team actually to create any class okay first we need to create a class to write any Java program and always remember uh so this is a class that is a public class okay and this is a predefined keyword again and followed by a class name this is user defined. You can write anything here whatever you want. This is a userdefined. So I just gave my first Java program. Okay. And this is always saved by this same class name. Always remember. See I told you Java extension in the beginning. If you remember in the notes I told source code will be in the Java file extension. Okay. And inside that I just created one this method. Now just understand thing one thing this method is public static void main. Always remember one thing Java program execution always starts from the main function from the main function. Public static void main. Okay. So Java program always starts from the main function. This is the most important part. So main function is the main door. So whenever Java runs a program, it looks for main function. It starts its entry from there only. And program always starts from here only. Okay. So now public means Java can see it. Static means no need to create object to run it. Void means this method does not return anything. mean me main means the starting point and what's this string is doing means it's saying I can accept input from outside I can accept the input so this is actually team parameter so with this brackets you mean to say this is a method okay and this is a method name and inside this brackets if you are mentioning anything that is basically the parameter here and I'm saying string asks it means it can accept input from outside okay in a form of string array list of items okay if you're not getting I will clarify it more during array session but just understand this this parameter means here that it can accept something as an input from outside. Okay. Now inside this I just give team surely why main is a parameterized constructor. Main is a method name. Why it is a parameterized constructor? It's a method name simple. No, no, no, no. When you will create an object at time constructor is called shi. It is nothing related to constructor here. Constructor is always invoked at the time of object creation. I haven't used new keyword till now. Don't get confused anyone. Okay. Yeah, how could we know or when we are going to use static and how to know when could you use non-startic method? So actually Monica it depends actually on the requirement and your logic building. Okay. So everything can be can't be exist at a class level. Okay. And every method we can't create non-static because we need to create an object. Okay, just remember one thing team. Whenever we create an object, it creates its space in a heap memory. Okay, it creates its space in a heap memory. That is something internal I'm telling you. And it's actually a bad practice to create an n number of objects for no use. And all you know variables or methods you cannot provide at a class level so that anybody can access it. They need to create an object team. Okay. It depends on the requirement. Okay. Understood. Okay. And we have gone through you know JDK configurations yesterday and I'm assuming you might have configured Eclipse also. If whoever is facing a issue, you can just let me know before 10 minutes. You can ping me in a onetoone chat before 10 minutes uh ending of class. Okay. So I will let you know team. Okay. Let's move ahead team. So today team we will we will be going to study about you know very first thing input. Okay. So any Java program team definitely we should first know about an input. So for that team basically we use one class that is named as scanner. Okay. So now the thing comes basically what is okay scanner in Java. Okay. So, team scanner is a tool that makes input from the keyboard. Okay. We can say scanner is a tool. Okay. That takes input from the keyboard. Obviously, keyboard in your laptop, in your computer, in your personal machines. Okay. So take input from the keyboard. So your program team you know your program cannot guess what user wants. So it must ask the user. Okay. It must ask the user. So scanner basically helps the program listen to the user. Okay. So team for this you know very first thing you should know we need to import okay we need to import scanner okay so this I'm I'm going to show you in a uh let's create team uh I'm taking team one example okay for example I'm just taking one example uh employee registration okay let's see so new class Okay. And just I'm creating here one name that is employee um employee form. Okay. Okay. And I just check the check box. So public static void main. As we all know I already told Java program execution always starts from the main function. Okay. Now very first thing I'm going to give here scanner is equal to new scanner SC is equal to new scanner. Okay. And system.in. Okay. Now if you just mouse over over it so it will give you one suggestion. Just import this scanner. Okay. that is basically the inbuilt class that is available in the Java library. Okay. So now what this says basically just try to understand in a one go. Okay. So this means Java I want to use the scanner tool. Okay. So I just imported the scanner class because I want to use it in my program and that is already inbuilt in my Java internal libraries. Okay. Now this is a class name. This is public static void main. Okay. We already discussed about this yesterday. This is a main function from where our program execution starts. Okay. And now the very first line is scanner SC is equal to new scanner system.in. Now you all know as we discussed also. So again I will tell you we use keyword to create an object. Okay. We use new keyword to create an object. So and this is actually scanner class object. This new scanner system.in. So this new keyword is basically used to create an object and this is actually the parameter here system.in. I will tell you what this system.in is doing here but for now just understand this scanner sc is equal to new scanner means I'm just creating an object of a scanner class and this object is assigned to the reference of scanner class. Fine team okay now this system.in in is basically I am taking because this allows you to do the input from the keyboard. System.in basically allows you to do the input from the keyboard. Okay, understood team. So system.in basically allows you to take the input from the keyboard. Okay. Now I need to [clears throat] let's suppose I need to take some integer value. Okay. I need to take some input. So I just give here int h is equal to sc dot next int. Okay. For string we'll just give string name is equal to sorry um c dot next line. Okay. So okay or let's do one thing team one minute hold on I will elaborate it more let me first finish the code team 1 minute let's do one thing give it in this way now you all know for what we use system outprint okay team everybody know right for what we use this I told team simple to print in console. Okay, anything. So I just wanted to print for example enter employee name. Okay, [clears throat] I explained till here team. Okay, and I will explain the rest of the lines. Okay, no worries. Let me complete first. So now do one thing uh employee salary so do one thing give it in this way why I'm using this team this is this means new line okay that now whatever whatever text will be followed after this so it will be in a new line that's Okay. No rocket science in this. That's why I use this one. Employee details. It's a team good practice. If you open any object, you need you should close this. So that's why close this. Okay. Uh one minute team. Uh runs job application. For example, employee name is uh ABC sing employee for example 24 employee salary for example 40,000 okay so it got printed all employee details okay this is this is a team very simple practical program and why I took this example team because in real lifetime you will come across such type of scenarios. Okay. So no bookish nothing. Okay. Simple here. Now I'm going to explain you what I did here team. Okay. See I just wanted to take some input from the keyboard. For that I used scanner class. This much understood team. Okay. Now this object I created for creating an object we use new keyword. So I need to create an object of a scanner class that's why I took this new scanner. Now this systemin means I need to take the input from the keyboard. Okay. So that will basically be passed as a parameter in the accept new except except you wanted to say wika no mika for uh creating an object there is one way instance of but I will tell you for that you know in a advanced part for this for now we will be using new keyword only yeah okay there is a bit difference between new and instance of or creating an object using new keyword only. Okay. So now I just wanted my output uh in my output console. Where is my output console? One minute team. I wanted to show this in my output. So I just printed system.print len enter employee name colon space. So that's why see enter employee name colon it gave this okay now second line after this it says string name is equal to sc dot next line okay now team you might be wondering what this sc next line means this sc is a reference of a scanner object this one okay and dot next line I wanted to say if you are taking dot next line. So that means it will be reading the whole line. Okay, it will be reading the whole line whatever you are giving. For example, I gave ABC sing or if I gave you know anything like Akash Kana. So it will take that whole as a line and assign it to this name. Understood team. So for that there is an inbuilt function that is basically uh next line okay that basically takes string string line string means set of characters understood this much understood say yes quickly team please be quick okay then thank you okay see where am Yeah. Okay. I gave an employee name for example Akash Kana. Now this Akash Karna see it gone into the next line. Now it will take this input and assign it here. Okay. Assign it here. This Akash karna now gone into gone into this name. I entered it got stored in this name and name is of string type. Now string is actually a non-primitive data type. Okay, I will teach you about strings. Don't worry. But string is an inbuilt non-primitive data type. Okay, or you can say it's an inbuilt class in Java for which we use set of characters. Set of character means like these are set of characters only, right? A is a character, K is a character, A again is a character, S is a character, H is a character, space also it takes. Then again K is a character, H. Okay. So this is set of characters which basically a string class takes. Okay. Now see when I clicked on enter after that see now it printed enter employee age. Okay. So for example I'm giving age here for example 34. Okay. So now it's taking this employee age year team. Okay. So now this next int what this next int basically do you know what is s sc okay sc is basically the reference variable of a uh object. Okay. In which object is assigned for a scanner class. Now this team sc.ext Next int. This next int is saying okay sir please give me the integer input in the next line not we discussed [clears throat] yesterday this is an integer value. Okay this is a simple integer value. Okay so next in basically reads a number. Okay so it now what happened now this age basically stored the age typed by the user. Okay. Typed by the user. Fine. Now [clears throat and cough] I again clicked on enter. See I got this. Enter employee salary. It printed the same thing team. Now this next double I basically why I took this double because see salary can be in decimals also. Okay. It can be decimals you know after tax deductions or whatever it is t. Okay. It can be. So that's why I took this double. So as I told you float and double basically used for accepting the integer values. Okay. So this reads a decimal number. Not dot next double. Basically it takes the input in the next line as a double value. Okay. You can take any double value. Though I have not given the double value but if you want you can take. So like I gave 25.00. 007 5 something somewhat like this. Okay. But take the some real real thing here. Okay. For example 25 rupees 25 pisa whatever it is team or you can take take in dollars whatever you want to assume you can assume this. Okay. And now when I clicked on enter so it immediately shown me employee details. Now this [clears throat] this slash and basically shows basically I wanted to print in the print into into the new line. Okay, this basically is a new line sign which I gave that's why it caught again into the new line and see whatever it stored in the name it stored Akash kana ages 34 and salary something 25.74 rupees. So basically it what it stored it has shown me. Okay. Now there comes a question why this positive this plus sign is used. So team this is called concatenation. Okay. So when you write inside the print statement anything anything inside the system. route print and if I write anything inside the double quotes it will print as it is in the output and just concatenate it with the stored name C this N A M E lower case okay and as I told you Java is a case sensitive language fine if you want you can mane You can give int for salary also. I just took so that I can take salary in a decimal value because if you give int so decimal value will show you an error. Okay, that's the reason you can use int. That's okay. But then don't use don't give input for decimal value. Can we give everything in one line? No. No. Uh don't try this. See your code should be readable. You should be able to debug it. And if you see all the statements in this Java code is ended with this semicolon. Okay. So it will uh in new lines and all whatever it is team basically why we do because we should get the formatted code. Okay. Fine team. It's easy to read. It's easy to debug. Okay. Because when you will be working at a framework level, there will be n number of classes. Okay. So, it will be very difficult. Okay. Goati, we use this plus for concatenation. See in a output console this much which is in double quotes. Okay. It will print this as it is. Okay. Then concatenate it with this name. this that is already stored there. It concatenated this name with this stored value. So this is something called concatenation. See name it printed as it is. If you see okay then concatenate with it with stored value of name. See lower case N. That's the reason understood sc. Next line is used for string. Why we are not using the data type in this line? Uh one minute. S next line is used for the string. Why we are not uh one minute ji s is used for string? Why we are not using the data type in this line? Data type we used my dear friend. See str iing. I told other lines are using it like c.ext. This we are using data line because uh it will accept the string. This I told this is a non- primitive data type we are using. Okay you good name sir the dho turan okay understood. Should we always use next line next index double reading string? Uh actually we use to take the input you know properly in a next line. So joti it will be a very good practice for accepting the input in a next line we should use this okay okay if the input is in multiple lines but how you will give multiple lines here you just click on enter you will immediately move to the next line and I don't uh I haven't checked you know the maximum care limitation for this like for this input I think you And if you really want to take you know like a big chunk of you know string so this next line will be more than enough. Yeah. Why we are using next line? Yeah exactly because it is taking us to the next line and this next line integer value. This next line double value. So this next line basically immediately go make you land to the next line to take your input. So that's why if you type anything I'm sharing the code team just try this once. Okay. Uh who was this? Wika judi. Okay one second. How the output is coming as name accash 30 has declared it anywhere? No arhat we gave an input right? We gave an input actually if you see there first we printed enter employee name line by line I shown right enter employee name this got printed then I took the input here see I entered this input then I print and enter employee name this I then I gave this input and why this input is going because this is the property of this method to take the input in the next line and I'm storing in this variable and then finally I printed all these details here if you seen these four lines. If not understood Arat, you can ask me uh Arut for you. Uh have you configured JDK and Eclipse? If you configured, so I just shared this code share link. You can run this once. Is it configured in your machine? Okay Joti you can try else we'll connect before 10 minutes at 11:20 Iist. Okay sure Arford we can connect at 11:20 approx. Okay I mean please you know remind me now one to one chat team. Okay. Okay team you can use VS code but why not Eclipse? I mean use an Eclipse you use intelligj. I will be using this Eclipse only. You can in fact team you can use notepad also but in most of the industry level you know people use either Eclipse or IntelliJ you will become used to this editor. It's a very good tool you know because going further when you will be studying selenium so if you will be going with testng and all team so you know in testng uh it gives you know additional extensions this eclipse editor it's helpful so if you want okay Shantu please please ping me in a onetoone chat okay I will just keep track all my onetoone chats okay and we'll connect. Okay. Okay. So now let's move ahead. I will config later. What configuration you had? Okay. Eclipse. Yeah, you can. Okay. Fine team. So we understood about uh the scanner that is basically the user input. Okay. Now okay great thanks AA. Okay now what is decision making? So basically team decision making shi is it working fine for you? No you tried this code already shared not working what issue you're facing. Okay. Okay. You you tried the same code which I shared. Okay. We'll check. Okay. Please drop me one to one message. Okay. Rest all team. Okay. Moving ahead. Uh Wika. Okay. Vun Raj. Is it fine for you? Sonal snail at Shreddha Shantanu Shall. Okay. We'll connect. Richard, Rajita, Prrenita, Pamra, Omalula, Nala, Nema, JS, Nikita, Partil, Nandanda, Mani, Mahal, Sharif, Madavja, Kusha. Okay. Joti fine. Jacob, Jacob, Abraham, is it fine for you? Gumati, Gowi, Fatima, Dip, how are you? Is it fine for you? Dhana Lakshmi Damotaran is it working fine for you? Da Raj Dennis. Okay. Arafat will configure Eclipse. Okay. Amul Amit Aisharia Abhishek how are you? Ashika. Okay thank you. Okay so decision making. Okay. Okay. So, decision making means the program checks a condition. Okay. Then decides. Okay. Great. Sh. You tried. See, you tried it worked for you. that is you know more than anything to achieve confidence. Yep. Thank you. So then decides what to do. So team the program basically checks a condition and then decides what to do. Okay. So uh I'm giving you very layman example team. Okay. For example, if it is raining outside. Okay. We have a rainy season. It's raining now. It's up to me. Either I will take umbrella or I will I won't take. Either I will take umbrella or I will not be taking it. Okay. But what will be the condition? If see if what I'm saying if I told team yeah it is reserved word in Java. Fine. If it is raining, if condition is my if condition is, if it is raining, so sir kindly take umbrella otherwise you will be sick and sorry else condition again. Okay. Else do not take umbrell. Okay. So team in the same way in programming program checks is condition true. If yes then please run some code. If no kindly run other code. Okay. Now there are types of decision makings in Java. Okay. See nested is if is also there. I will cover that. Don't worry. Okay. Nested if is also there. Okay. Now let's understand this team one by one. Okay. [clears throat] So in an example I will show you don't worry. So now if we talk about if statement. So team this if statement is used when you want to run code only if condition is true. Only if condition is true. For example, team uh so team C this time I gave the input here in the code itself I already gave age is 20 okay and here I gave a condition if age is greater than equal to 18 then only enter inside its loop else don't enter simply Simple. Okay, let's see. So, does it has voting rights? [cough and clears throat] So, it's showing me you are eligible to vote. Now, do one thing. Make it 10 years. Now, see, it won't show you anything. See empty because if this condition won't pass it won't enter into this if scope and if scope is from this bracket till this bracket okay understood t this Okay. Now CT I gave here password. Okay. So this dot equals method works in case of string match. String match means a string will match. For example, if actual is this and expected is this. But in case if actual is this upper case a then dm and it's lower case it won't match. Again I say java is a case sensitive language. This is a property of dot equals method. So if this admin 1 2 3 that is stored in this password if this equals to this value which I'm providing inside this string a string is always in string value is always in a double quotes it is a set of characters if this condition passes it will enter into this else it will enter into now this password is storing ADMI in 1 2 3 and this I'm trying to match with this ADMI 1 2 3 4 5 if I try to run this D sorry see it has gone to this else condition it has gone to the else is understood okay now see what happened here I gave int equal to 25 and experience as three Okay, now it has just gone into this. It has checked if this condition is true. So yes, 25 is actually greater than equal to 2 because in age it stored 25. So 25 is greater than equal to 21. It has entered inside this. So it now came here. Now it's saying if experience is greater than equal to 2. Experience was three. So three is obviously greater than equal to two. That means this condition passed. it will print this. Okay. If I would have given some other experience like one year, so it would have gone to the else condition. Okay. Understood. This much understood. Thank you Joti. Thanks Ky Richard. Now if age this condition become false so it won't execute any of these statement inside the if scope it will directly go to the else statement. Understood. So two conditions nested if loop. Perfect. Understood. Thank you. uh wika you just you know just try once using scanner class okay if it don't work then let me know I mean see int is equal 25 I took it from here okay you just take once you understood right scanner sc new scanner system in keyboard input okay then just print one thing please enter h age okay and after that just give int equals sc next int just try with this only age experience let it be okay could you please try it once on your own and please send me the code in a onetoone chat okay if it don't work don't worry I will help you okay it will work in that same way as I provided okay please try once let me know okay switch statement basically used when chuck checking one variable. Okay. Now sitting what happened here? I gave here okay this main function. Okay. So I just took the one example of a food menu. Okay. So uh you all know right class and public static void main. Okay. Now int choice equal to two. Here uh basically our program execution starts. I just already assigned you know int choice equal to two. So basically we are creating a variable named as choice. So int means okay that I will be taking some int value. Okay. Now we are storing you know two inside this. Now choice already has two value. Now I'm saying switch choice. Okay. So we are using a switch statement. Switch basically checks the value of choice. Switch will check the value of choice that already has two and now decides what to do. Okay. So now inside its scope it will check the cases. So choice first it will go to the case one. Now this is a case one and choice is two. So it won't enter into this. Now this is basically it comes to case two. Now choice is two. So this choice equal to two will match with this case two and it will execute you selected burger and then AI gave this break statement. What this break statement will do it will immediately throw you out of this switch case scope. Understood? Okay. Now team could you tell me the next step? Anyone? Yes, come on. It's an int value. Uh Pranita, I already in this example again I need to revamp the whole example. I already gave you know with all possible data types. If you see here, see I gave with a string, I gave with an int, I gave with a double. You want it right now? I can share this actually. I need to change this whole code. It will take uh yes team uh only age. Yes. Anyone could you help me? Come on team. What I need to give? Okay. Int no not choice my dear. int age equals C dot next int. Okay, let's see. See one shika if you see here it's asking me an age I gave 24 okay eligible for job it I gave 24 okay it took where is my experience yeah experience gone three so 24 is greater than equal to 21 okay so it will enter this if you want to go to else condition if you want to fail this condition give 10 I mean it should be uh less uh I mean it should not pass this condition see it gave is not eligible. Okay, perfect. Fine. Understand this. I gave here int A is equal to 10 and in B. Okay. Now B equals. So I gave something here A is equal to 1 in this question mark 20 30. Okay. Now see I gave here something that this condition okay if true so then give this value otherwise give this value that is after colum okay so now I gave here a is equal to 1 okay so what it should now see uh what I'm saying here if a equ= 1 if a equ= 1 this double equal to sign means equals and single equal to sign means you are assigning the right side value to the left side. Okay. So if a equ= 1 to please put 20 please put 20 in b else 30 in B. Okay. So but but a is 10 but a is already 10. Okay. So the condition will become false. So v will be 30. This line understood. No. Okay. So, okay. Print. Sure. So, okay. Okay. Okay. Team. Yeah. So, double equal sign means equal. Equal. Single equal to sign means right side value is assigned to the left side. This much understood right now I'm saying a is equal to 1. So team if this condition becomes true this a is equal to 1. If this condition becomes true then after question mark the first value will be assigned to b. And if this condition a = 1 becomes false then after question mark don't take the first value just take the value that is after this colon sign. So that is basically 30 this much understood. Okay. So a is equal to 1 I give. Now the problem is a was 10. I assigned a as 10. So 10 is equal to 1. No, this condition will become false. So it won't assign 20. It will go to 30. So this 30 will be assigned to B. Yes, B will be 30. Nikita understood. Okay, in the same way team in the second case I said a is equal to 10. [clears throat and cough] Now a was already 10. So this 10 will be equal to 10. So the very first condition that is 20 will be executed. So now b will be allotted as 20. Let's see. See first case B is 30 second case B is 20. Understood. Okay. So in the structure team see I gave here This is a start. This will be a condition and this will be a update. In fact, you know, increment. This will be the syntax of for loop. So now this is the start where I gave int i is equal to 1. Okay. Then I is less than equal to 3. This is a condition. And this one is increment. So increment means I ++ means increase this I after each execution by 1. I ++ means internally I ++ means I + 1. Okay. So see how it started it gone. I is equal to 1. Okay. Then it will check is 1 is less than equal to 3. It will say yes. It will go inside the loop. It will execute this and after the exe execution it will come here and it will increase the counter by one. So now this is two. Previous was one. Now this is two. Now again it will check here is 2 is less than equal to three. It will say yes. Again it will enter inside this. Again it will print hello. Then it come outside again it will increase this 2 + 1 3. Then it will check this condition is 3 is less than equal to 3. It will say yes it's equal. It will go and execute this again. It will come outside. It will see 3 + 1 4. Now this time it will check the condition four is less than equal to 3. It will say no. So this condition became false. It will just come out of this for loop and the execution stops. So for example I gave here string names. So actually you know what I'm doing string type of array. A string type of array. So [snorts] what's an array? Array is basically something you know that contains more than one elements but that should be of same data type. array is something to store n number of values but those values should be of the same data type. It all so this all will be of string data type whatever you know values I will be taking and that all will be assigned to this names. So for example, I gave here uh Rahul or like uh James and like anything team XY Z. Okay. Now how for each loop will work? So now see teams this names contains Rahul then James then XY Z. Okay. So it contains each and everything. So in each iteration one by one from its list it will give to this name. So in first time it will give Rahul then it will print Rahul. It will go inside this again. It will come here. It will see now what it has. Now it has James. It will give James here then it will print James here. Again it will see in its list what is there. It is XY Z. It will give XY Z here. It will print XY Z. Again it will go. Now it will say names do you have anything? It say no sir I don't have anything. I'm empty now. It will just move outside this loop and that's it. Okay. Thanks Gi Nikita team you are getting everything right. Whatever is being taught. Why I'm asking this? Because Java is something very important for you all team. Thank you everyone. Can you go over the four line? Uh this one. Okay. So now see this names has this list which has three values Rahul, James and XY Z. Okay. Now first iteration it will say this string name. It will say names do you have anything? It will say yes take Rahul from me. It will take Rahul. It will enter inside this. It will print Rahul. In the next iteration again this name will ask this names. Uh do you have anything? It will say Rahul you took no I have James and XY Z. It will give James to it. It will print James. In the next iteration again it will ask do you have anything? It will say sir I already gave you Rahul and James. Now I have XY Z with me. So it will take XY Z. It will print this. And the next iteration now names is empty. So that's it. It will not get anything. Now this will come out of this loop and it will print. Okay. That's it. Okay. Okay. D. Thank you team. One thing wanted to let you know all I think to all participants if they are listening. So team uh whoever is worrying about angular and Cyprus. So kindly try to understand. I spoke this many times. Team I already I connected you all from the fifth class. I took two extensions and if I said I will teach you Angular and Cyprus. So I'm going to teach you it won't be me. it won't be missed. Okay? So please don't panic anyone team. Okay? I'm saying this again and again and I already told this in recorded calls. I'm saying it again. Okay? So if I would have taught you all Angular you know before all these coding skills what I'm teaching you now I I can guarantee you it would have gone above your head. you won't be able to understand team okay so please team again I'm saying angular and cyprus will be taught you it won't be missed so please don't be after angular and cyprus it it's for your good team believe me it's for your good okay thank you yeah so for the project when I will be teaching you about angular and about Cyprus. I will tell you for the phase one one project I will tell you second project you need to do on your own okay but I'm telling you one very important thing team when I will be executing the project when I will be showing you showing you the first project I will be going to ask a lot of questions to everyone okay now that will be my my day for now you all are open to ask me the questions when I will be telling you the project. So that day I will ask to everyone. Okay. So now don't worry for that and don't you know panic in that case also. Okay please. Thank you. Okay. So while loop okay so team uh if we talk about while loop so while loop I will I'm going to show you like team this is also used you know for the repetitive work. So for example team I want to print uh for example any value three times uh 1 minute. So okay now see what happened here. I initialized I is equal to 1. Okay. Now it will go into this while loop. It will check is 1 less than equal to 3. It will say yes sir it is less than equal to 3. It will go inside the while scope. It will print one here and then it incremented one by. So I ++ means again I will say I + 1. Okay. So it will say okay now I printed one. Okay. Now increase this by 1. So now 1 + 1 became two. Again it will go to this condition. It will say if this condition is true, 2 is less than equal to 3. It will say yes. Again it will print two. And now 2 + 1 3. Again it will check is 3 is less than equal to 3. It will print three. And 3 ++ now become four. Now as soon as it will come this four is not equal to less than 3. So it will come out of this loop and that's it. So that's why it printed 1 2 3. Fine. Understood? Okay. So team see what's happening here. I just initialized I is equal to 1. So int i is equal to 1. Okay. So now if I give here do okay. So see for if if we go inside this do team. See here I'm not checking any condition. getting my point? So it will go inside this. It will print one. Okay. Then it will increase it by one. Okay. Then it will come outside and it will check. Okay. Now 2 is less than equal to 3. It will say yes. Again it will go here. Okay. Again it will print two and then 2 + 1 equal to 3. So it will check is 3 is less than equal to 3. It will say yes. Okay. Understood team again. So in equal to 1. Okay. Okay. So in is equal to 1. Okay. Do okay. So see what's happening here. int i is equal to 1. So basically what I did I just created one variable and named as i and int int basically contains the value. It just took the int value. Okay. Now it will go inside the do. Okay. So our dowh loop basically run at least one time before checking the condition. Okay. So this do will execute once at least once before checking any condition. Okay. So it has entered this. It has just printed first time it will print one. Okay, it just printed one here and then just it incremented. Increase the value of I1. I ++ means I is equal to I + 1. So 1 will become 2. Understood? Then 2 is less than equal to 3. Then it will again go. Then it will print 2. Then 2 + 1 3. It will again go then three then 3 + 1 4. Now this condition will fail and that's it. Okay. See I is equal to 1. I is less than equal to 5. So 1 is less than equal to 5. It will say yes. It will enter this. So if I is equal to 3 is I'm saying break. Okay. So right now it is break statement. What this will do? It will throw you out of the for loop scope. Okay. But right now I is equal to 1. It's not equal to three. So it will it will not go into the break statement. It will move here. It will print one. Now it will go for two. 2 is less than equal to 5. It will say yes 2 is less than five. It will go here. It will if condition is not satisfied, it will won't execute break statement. Now again it will print two. Now next time I ++ then three. 3 is less than equal to 5. Yes. Now I is equal to 3. It will say yes 3 is equal to 3. It will immediately enter this and it will break. So it will break. That's why it won't print three because this break statement comes under the for loop scope. This break statement immediately throw this out of the loop. That's why you can see here only one and two break statement no four and five won't execute reason being is I is = 3. As soon as it will come 3 is equal to 3, it will immediately break. Break statement will throw you out of the for loop scope. So it won't execute this statement. So it won't print neither three, neither four nor five. Okay. So 82 168 170 170 and 75 is 245. Okay. Just have a look onto this. So what I did here? So I gave an area of marks. Okay, 80, 75 and 90. And here I gave you know one variable and just initialize it to zero for now. [clears throat] And so you know to update the values into it. So in the beginning I took this for each loop. So first it has now these three values 80 75 90 in the first iteration it gave 80 to it and total is equal to total + m. So total is equal to total plus m. In the first iteration this will be total is right now here zero. So it will be 0 + 80. Okay, that is equal to 80. Okay, then in next iteration it will be 80 plus 75. Okay. So what it will be 155 then 155 in the third iteration 155. Okay. Now this will give 90. 155 + 90 that will be [clears throat] 245. Understood? Because I took four each m is equal to max yeah for each loop [clears throat] finding. Okay. Okay. So team now let's move ahead okay with Java poofs concepts. Okay. So team very first thing okay I will discuss about that is data hiding. So what is data hiding team? how we can achieve data hiding in my code. Whoever you know studied from me in the first phase I taught you right team access specifier access specifier GI access specifier no I'm asking about data hiding yes making variable as private using that as using that as private. Okay. Okay. [clears throat] So team data hiding is basically means hiding of data. So means outside person okay cannot access or internal data directly okay or our internal data should not go outside directly should not go outside directly. Okay. So after performing validation or after performing please understand what I'm writing after performing validation or after performing some sort of authentication we have to provide data to the outside. Okay. For example, team in Gmail, we can only check our account only by valid credentials. Nobody else outside person can access my outside data. Okay. This is what called data heading. Okay. Now there comes a question how we can achieve data data heading programmatically. So every data member data member means variable. Okay. Should be created private. [clears throat] Okay. So for example team uh public class account. Okay. Private double balance and public double get balance. Okay. >> [clears throat] >> So here team C you cannot access it directly but you can check the balance after authentication. So that's why I am making this method as public because with the help of get balance I will be able to get whatever balance is updated here but directly I cannot access it but with the help of this public method I can access it. I can access its value. I cannot make any changes only I can check the value. In the same way in your ATM machine you can check your balance only after being an authorized person but you cannot make any change in your balance. You can only check you can only get the balance in your ATM machine. You cannot make any changes. Understood? So data hiding is this line. But this one more scenario I'm adding right now. I hope you understood this. Thank you Pan Raj. Okay. No. So we are hiding something is security. So main advantage is security. The main advantage is security. So we can get access of only of our accounts not any other accounts. It is highly recommended to declare data member that is variable as private. Okay. Can anybody can anybody tell me private access modifier accessibility? Yes team. Private access modifier accessibility sh not within the method within the same class. Yep. team outside the class. Is it accessible in case of inheritance? Yes. Shi my dear team private is not accessible anywhere only within the class neither outside the package neither outside the class neither in case of inheritance no ways at all private means private yes exactly we should make it protected in case of inheritance outside the package. Okay team please don't let me down by saying this that private please private is only accessible within the same class. I have not understood the above code public and private. Okay. Manika, do you want you to do you want me to unmute you? Manika for your understanding so that I can understand. I mean what thing exactly you have not understood? Manika for making for achieving data hiding we need to make data member as private. Okay. So I just made this is a actually data member that is basically variable. It can be of double type and this is the private access modifier. That's it. Now you can make it as int. It's all up to you. It's not hard and fast rule. You can declare any data type. But you need if you need to achieve the data hiding thing, you need to make that data member as private. This much understood. But if you need to check your balance so you can use this method that is get balance which is returning which will return the same balance that has been updated. You cannot access it directly but indirectly with the help of this method you can check your balance in the same way like you check in your ATM machine you can check the balance but you can never change the balance is it fine okay thank you Okay. Now, okay. Now we now we understood team, right? What is basically uh data heading? Okay. Now, we'll discuss you know very first concept of oops concept that is basically abstraction. Abstraction what I said abstraction. Okay. >> [clears throat] >> So hiding internal implementation details and highlighting only set of services that we will be providing. Okay. So what I said hiding internal implementation details and highlighting only set of services that we will be providing. Okay. For example, team in GUI of ATM bank people highlighting the set of services what they are offering without highlighting any internal implementation. When you check your ATM machine, you will never know the backend code is written in Python or C++ or Java. You will never be knowing. You only check those services that are provided to you like mini cash sorry mini statement, cash withdrawal, ping change, whatever it is. Okay. So, we have one more advantage. If we want to do implementation with some more enhanced language, we have not we need not make any changes in the GUI. We just have to change the implementation details from back end without changing anything in the GUI. Understood? We don't do this. That is you know uh development side thing. Okay. So I'm not saying this I'm just giving you an example. You would have seen sometimes you get message in your registered mobile number that from this particular hour to to this particular hour your s uh something and something will be under maintenance. So your online services net banking and all won't be accessible or whatever cash withdrawal and all. I hope you understand right. So this basically everything happens in the back end. One more advantage is maintainability. Okay. So it improves easiness to use our system. Okay. Now in this team if I talk about abstraction, so there are two types of abstractions. Okay. So basically if I talk about abstract class okay there is partial abstraction [clears throat and cough] and interface whole abstraction. Okay, this is something called abstraction. Any questions in this? Okay. Data hiding I did. Now if I say just public double get balance. Okay. So if I just give here return balance also team uh if you need to uh update your balance so you can set you can give the set balance. Okay you can give the set balance. So how we can achieve that? We need to create one more method team in that case. So like you can give public now if I access it. Okay, just understand in this way if I access this so I can set the balance by providing my own balance and it will pass as a parameter from here. Okay. and then this balance will be updated with this balance what I'm getting from the input this line understood this keyword team what is this keyword for what we use this keyword Actually see this keyword is used to uh refer current class variable. This is a see this double balance. This is a variable of a current class. Current class is account. So this keyword if I applied so automatically this balance will be updated with whichever input will come here. This refers to current class variable is what you shade. Yes. So if I am seeing let's suppose if I'm calling set balance method from anywhere and I'm passing for example 1,000 here. Here I'm giving 1,000. Okay. For example, now this will get passed 1,000 here. Now this double balance 1,000 will come here and it will be assigned to this dot balance. Now this dot balance means refers to current class variable. What is this current class variable? See this is a current class variable balance. So this what will come from here? It will go here. It will be assigned to here. It will automatically go to here. And after that when you will call get balance. So it will print what will be available in this balance. Now understood [clears throat] it varies. I don't think so. I mean I I I have never seen because just imagine if a balance goes in negative so everybody you know will you know can misuse it. Okay. Okay. Overdraft. Okay. Now this is account class team. Okay. Now see what I did here. This is a private data member. And now there are two methods that is get balance and set balance. You can say this is a getter method. This is a setter method. Now if I want see how this like how this program will be knowing man what is the balance in an account? I need to pass it pass it from somewhere right? This program needs to know like what is the actual balance. See when actual balance will be updated here then only it can secure it like no one now can change it is it right now create one more new class that is bank Okay. System.out.print ln. And if I give here current balance. Okay. So don't get balance. Okay. Uh let's see. Let's see this much. See? Okay. Yes. Joti, you can try. Let's do one thing. If I now account dot set balance, if I give minus 1,000. Okay. Now see now let's check the final balance. Okay. Uh team I'm sorry. So actually here you know subtraction this minus 1,000 is actually uh make the balance equal to minus 1,000 but it does not mean you know it is just uh like it's subtracting 1,000 from existing balance. Okay. So the actually you know what's happening here that condition there is actually getting failed. this condition is getting failed. Okay. So that's why you know the final balance is is still actually coming as 5,000. Okay. Okay. So um team could you try once if uh you want to get 4,000 rupees could you try you want me to send the code one I'm trying. I'm also trying. Please try. Uh Joti, if you could really execute that and let me know if you are getting the output. I'm just thinking something. I'm just team logic. You understood what I did. Please ask the questions if you don't understood the logic. Okay. Okay man see one minute data hiding you understood encapsulation logic theoretical which I explained that much understood or not anything team if you won't speak how I will be knowing rest of the team come on all 43 participants 42 sorry 41 one replied only man Yes team this is one of the most important logic of your life. Oops. Concepts. Thank you Vun Raj withdraw. If I withdraw if amount is greater than zero zero don't worry I will make you understand just give me 2 minutes and Okay, Prrenita team you understood what is data hiding. Whoever not understood please reply me quickly immediately. Okay. Uh Shi snail who is Pranita. No you don't know data hiding. So data hiding is something if I make any variable as private this is data hiding. Now understood snail shall this data heading achieved. Perfect. Now I told you one definition encapsulation is a process of binding data and a corresponding behavior into a single unit. So binding data and a corresponding behavior. So this is a behavior of this class. I uh yesterday when I gave you know some definitions I told like this is the behavior. These methods are basically behavior of this class. So behavior is like get balance and set balance. Okay. So to achieve encapsulation team I need to combine the concept of data hiding and abstraction. I told right encapsulation is equal to data hiding plus abstraction. So this is data hiding team. Okay. And and second thing is I can indirectly I can indirectly access this variable with the help of this public setter and getter methods. This much understood. Now indirectly you can access this private data member with the help of this public setter and getter methods. Okay, thank you. Now [cough] I wrote this example. Okay, in this example, if you see this is the class, okay, which is actually accessible to me. But the code written in account java just understand in this way the client will be uh the client will be having access only to this bank app class. This much understood. The client will be having the access only to this bank app class. This is account java. I won't give to it. I I won't give it to the client. This is for my personal. Okay. My personal what I did. Understood? So this bank app I just started playing something here. I want to deposit something and check after withdrawal how much is the amount. Okay. So I just gave I can't access it team I can't access it. I can only access it indirectly. How I access it indirectly? For the account class, I created an object and after creating an object, I just used the method of an account class, but I cannot access the deposit class definition. Now, deposit method definition is written inside these brackets of method. Could you access this directly? No man, you can only access this. You can only call this. I called this method and I'm passing 5,000. Now what is happening internally? I really don't know internally. What's happening? It is checking. Okay, 5,000 came. Is it greater than zero? Okay, just do one thing. Balance equal to balance plus amount. It says okay do one thing. Um balance plus amount. to do one thing just update 5,000 there how we are connecting two classes h actually this class name is bank app okay and I am creating an object of an account class so here I'm establishing the relationship between these two classes to access the methods of these class only the actions. I cannot access its implementation. snail finally 100% you understood if you want I can unmute you this much understood okay thank you see I have just called this deposit method I cannot access its internal implementation details because that is hidden I just called the action that is deposit and I gave 5,000 here. Now whatever is happening internally I really don't know and I just printed here okay I just deposited five I want to check the balance so I just called get balance and I really don't know the internal implementation details of get balance also I really don't know I just call this method see I really don't know whether it's returning anything or in the deposit method if I applied some condition or something. No, I really don't know. Okay. Then I said sir, I want to withdraw 1,000 rupees. I just, you know, just consider this as an ATM machine, this banking app, okay, some banking app and I just said, okay, I want to withdraw it. I really don't know the internal implementation of withdrawal. And after withdrawal out of 5,000 1,000 withdrawals the final balance should be 4,000. So it just gave me that only. Now see internal implementation of this withdrawal method I really don't know. Okay? Understood this. Understood this class pranita. Now just check this code and tell me if you have any doubt in the logic which I implemented. See team uh logic you need to apply. But if you see there is no rocket science here. I use the same thing. See if else if. Could you see? See nothing I did you know anything special here. You need to build a logic. Just take a look. Just try to understand the logic. If you don't understand so please ask me. Now Prita uh you are trying to get that's good but you should understand this thing that actually in this code if this is a client code so internal implementation details are written. You are just directly calling these methods. This much you understood. This much should be understood to everyone team. forget about you know these logics internal implementation we'll talk about this afterwards for now just understand this much see I I really don't know if I give for example team 7,000 year let's change the value and uh just minus 3,000 here see what happens 7,000 I withdrawn 3,000 C 4,000 is coming is I just change the value. I'm not accessing team. I really don't know internal implementation details. See, it's working like an ATM is it? So the account class does not have no no I no shi account class does not have main. Why I will be using main in that? I am just uh uh uh this is my warehouse. U which term I should use for a better understanding. This is my uh database or something team which I uh I did no need to execute this. Okay. I don't need to execute this. I only need to use it. I only need to use it. I don't need to execute it. I need to use it. Okay. Shi please try to understand first this class uh please uh just first try to understand what I'm speaking here that series of methods we will talk about please we'll talk about these wait hold down first you understood this much forget main method and all used or not used here it's used Yes. Uh yes, I'm calling from the bank app class because this only has the main function. Okay team, many questions here. Please see this class only. For God's sake, please don't go into that account on Java. I'm just using it. Hold on. This much this class understood team. Anybody has any questions? Uh Joti, please hold down only. Let's talk about this. Okay. Now I have used this accounts class. Okay. I need to use it. I don't need to execute it. So why I will be using main method here? First question. Okay. Second thing is this class is you know encapsulated class. This is encapsulated class. If we go into our definition encapsulation is a process of binding data and a corresponding behavior into a single unit. So this is a data hiding and this class has these behaviors as get balance, set balance, deposit, withdraw. Understood? This is an encapsulated class. Okay. Now private I declared this is a data hiding. So definitely I need to access it indirectly. See if I will be having a direct access of it. You know anybody will change the balance. Anybody will change the balance. This main balance anybody can change. loan only with the help of these methods. However, how much I will deposit and accordingly I will withdraw then only team I will be able to use this balance. I cannot do any invalid activity. So these getter and setter methods basically act as a sort of authenticators. Let's see if you know I will try to cheat here. I deposited 7,000. Let's man withdraw 9,000. See it immediately gave me the uh message invalid withdraw amount. So I deposited 7,000. I tried to withdraw 9,000. Immediately it gave me invalid withdrawal amount and the final balance is still 7,000. This much understood. Now check the logic each and every logic which I applied here inside this. And now ask me the question if you doesn't understand the logic. Okay. Now Ji coming on to your question. We basically don't traverse variables. V drivers actually collections of variables you know like arrays, list, set, maps which I will be teaching you in the Java collection framework. Okay. Shallini Pranita I'm sorry if I misspell anybody's name or if [snorts] I miss out any name only intention is to make you all understand internal implementation if you have any doubt please ask me now I came on to the internal implementation of this behaviors of this encapsulated class means methods of this encapsulated class. Understood. Thank you. So team uh this was an encapsulation. So here we can s we can see here the benefit is it helps us in achieving the security enhancement will become easy and it improves the maintainability of an application. Okay. Okay. Inheritance concept. Anybody team? What is inheritance? Which keyword we use between a parent child relationship? So team extends keyword. Thank you. So inheritance team is also called as is also called as is a relationship. So uh we can implement. Yes. Yes. Exactly. Properties of parent can be inherited to child. uh like a father and a son. Okay. So for example uh a son is born resembling the same nose as a father has. Okay. A son is born for example resembling the same eyes as his father. Okay. Uh so we can say you know that a child you know basically inherits the properties of its parent maybe father or mother. Okay. So yes fine but um see there are some dominating properties. Okay. But there are some properties that child will develop its own according to the environment, according to his friends, his or her friends, according to the school or college whatever it is. So now some of the properties you know child develop its own also. You won't guarantee you know if a father is good then a child will also be good though nothing is good or bad but anyways I'm just telling giving you an example okay some property may be positive some may be negative so that's also one thing that is not actually inherited by a parent that child has its own okay uh To establish this we use extends keyword. Okay. If I give here dog box. Okay. Now, so see I I use team extends keyword. Now here is this is a parent class. This is a child class. Okay. Animal has eat property. Dog has its own property. Child has its own property of barking. Okay. No child is dog. Okay. So, dog d equals new dog. Now you would see one thing if I do D dot. So see it has both the properties. Barking bark was its own property and eat was its parent property. So I can use both. team one thing till now whoever is connected to me from phase one till now how many codes I have written live in front of you team HTML CSS JavaScript I in fact team don't remember then two so You know why I'm asking this team? Just imagine if you have sincerely practiced only those codes. I don't know some of you might be practicing also. So it would have been a good practice. I think appro 100 till now is it? No. It's already time. Uh team we do one thing we'll continue know polymorphism from the next turn because in polymorphism let me brief you one minute. Uh there is two types of polymorphism. One is compile time polymorphism. One is runtime polymorphism. For the compile time polymorphis there is a concept of method overloading. For runtime polymorph there is a concept of method overriding. Plus in method overriding I need to tell you how a parent reference contains a child object. Okay that is something a bit new not too new. So I need to tell you all those things and I don't want to break that sequence team. Okay. This basically ordered and allowed duplicates. Okay. For example, team, if you want to, you know, store the customer names. Okay, if you want to store the customer names, okay, so let me take one example. Okay. So, array list. Okay. Team as I told fine. So, I told you right it's a part of it's a part of java.util package C. Okay. And the second thing see array list now I will be taking. So I said you know array list is ordered and it allow duplicates. Okay. So now let's okay add something like customers. I created an object for this. Okay. And this is a reference where I'm keeping the object. Now I just give customers dot add. Okay. And I just give here for example. Okay. I'm just giving okay some random name like Rahul. Okay. In the same way see I'm giving some random name as Ahmed. Okay. Now as I said you know duplicate values are allowed. So see again I'm adding the same. Okay. Ra. Okay. So, logically duplicate should be allowed. H now uh I'm just giving here okay team customer list okay I I've been just printing okay whatever I have added now I will just print it okay so for printing as we all know it's system outprint ln okay and just give here. Okay team. So now you all know now in dot get zero team could you tell me what you will get? So what we have at the zero index Rahul exactly. Okay system drop printer in customers is it valid? Yeah, it's valid. Why it won't be valid? It's valid. So I'm putting this team you know just to print you know in our console in double quotes and if you are only writing customers it will just give the customers list that's it. Okay. Now if we want to remove element. Okay. So we just give for example customers dot remove. Okay. [clears throat] And I just give amit. Okay. So now for example after removing a myth now again see what happens. Okay. So, just give a here after removal. Okay. Okay. Now, see [clears throat] See understood pointing. looked easy. Thank you. A team you know internally it has underlying data structure. So this is made for easiness only. Now you saw team one thing right? If you just check this code so you saw one thing order is maintained duplicates are allowed. Okay everybody understood right? Order is maintained duplicates are allowed okay and it can access by index pointing. Now let's move on to the other one. Okay. Now the next one team you know I will talk about again this is as important as arist I taught you that is basically called set Okay. So in this team there is one class that is called hatch set. Okay. Do you remember team it does not allow duplicates. What I said no duplicates in this. Okay. So, we just give here. Okay. So, we just give here Asset okay I'm just giving like mobiles and team this is user defined you can give anything whatever you want okay so this is a reference you know where we keep an object basically assign an object okay I give here new hash Send it. Now I just give here mobile add. Okay. Okay. Mobiles add. Okay. Uh I will try to give duplicate value team again. Okay. asset means you know it doesn't allow any duplicates. It's a class which does not allow any duplicates. Okay, [clears throat] no worries. You can understand in a code. Okay. In fact team I will you know recommend everyone [clears throat] any concept team always try to understand via code and do practice you know via code. it will help you a lot. Okay. So now system.out.print ln and we just give here available mobiles. Okay. So now you just don't get this with mobiles. Okay. Now run this. See it should not come twice. See iPhone 15 I gave twice. Right. See it is only showing once. iPhone 15 and Samsung S23. Right. So it's not showing me again. Let's suppose if I change something here. Random. Okay. I'm just taking some random value. Now you see it will take it will show you all three values see Okay team. Yeah, actually it's showing right now compile time error team. Okay. So, uh now see what what may be the reason behind it because see uh it does not maintain an order. Okay. So, if anything is not maintaining an order so we cannot track it via index D. Okay. So, that's the reason you know it's showing the compile time error because actually headset is you know designed for like no duplicates. Okay. And uh no indexing because it does not guarantee order also. So if anything is not guaranteeing you know order. So you know that might be the reason. Okay. But anyway team if you want to get this you know by indexing you can try with this only but hashet won't allow. Okay. Point team. Uh okay so we covered u uh array list we covered hatset okay so we saw here you know duplicate actually automatically removed there was no guaranteed order okay it's best you know when uniqueness is required okay now the next thing we will discuss about you know that is basically called map or hashmap Okay. Okay. And like let's suppose uh now see I said here hashmap integer string. Okay. So now in this basically this is basically a key okay that is integer and this is basically value okay this is a key this is a value okay now I said you know hashmap will be in the key value format so key will be of integer type and value will be of string type okay so that's why I kept this in double quotes okay this was understood This is a key. This is a value. Okay. So, let's do one thing. Okay. Now see team I just tried to you know get the key and values. See I got 1001 this 1002 this. Okay. And this phone of one uh one is this. Okay. Understood team. It will be used in your automation framework when you need to hashmap. Basically uh you can use you know when you need to handle your test data like let's suppose corresponding to any key you know you can keep value so you can get that like corresponding to name. Okay, wait. Sharing the code. So use of hashmap I was just telling team you know you can uh use it in you know test data for handling test data like corresponding to name if you want to get something corresponding to you know uh role number or whatever it is you know whatever application you'll be working with so definitely you will be getting you know that's the Listen. Okay. So in this team if we take the understanding so always remember with 1.12 phone numbers are there we got last one. Oh yeah, that's the reason because key must be unique. So t keys cannot be duplicate. Values can be duplicate but keys cannot be duplicate. Okay, understood. Team team got it. He must be unique. First thing value can repeat. Okay. And if you try if same key if same key added. Okay. So value is overritten. now understood team. Team one of one my request is if anybody asks the question so when I answer it please write yes or no if you understood or not. Okay. If not understood, please tell. Okay. Thank you. Okay. Now we'll see tree set in Java. Okay. So imagine team. Okay. You are maintaining a school rank list. Okay, what I said for example, you are maintaining a school rank list. So students must always appear in sorted order. Sorted order. Okay. Uh wait, imagine you are maintaining a school rank list. Okay. So school must always appear in sorted order. Okay. No duplicate ranks allowed. So that is exactly team you know how tree set works. Okay. So if if you say like you know like what is actually tree set? So team tree set is a collection that stores unique elements in sorted order automatically. So tree set is a collection that stores unique elements in sorted order automatically. Okay. So it is part of java.util package. Okay. It implements set interface. Suppose team you are managing you know unique product prices in your shop. Okay. And you want you know no duplicate prices. Okay. And prices always sorted. So you just for example you know add for example anything uh like 500 200 700 200. So tree set only will store you know like 2 5 and 7 200 500 700. So means automatically sorted plus duplicate removed. Understood? Just understand these two things automatically sorted and duplicate removed. Okay, just you know uh store you know unique mobile prices if you want. Okay, I mean just taking one condition just you want to store unique mobile prices and all get print in sorted order and just find in highest lowest price highest and lowest price. So you can use this tree set. Okay. Prices and uh okay let's take that same example uh dot add 500. Okay. Then prices that uh dot add 200. Okay. And then prices do add for example 700 seating 200 500 600 okay we can implement tree insert in tree in this way team GI I shown right understood Why did you comment duplicate? Because I'm using it again. Uh who was this man? If you could see here because I have used it again. So this is just for your understanding. Lowest price. This is highest price. Sorry. Dot first and dot last basically is used you know just for the purpose you know when it got sorted. So after sorting which value is first. So this is 200 which value is last? So this is 600. That's why use dot first and dot last one chica. Okay. GI you can uh you know drop me a personal onetoone message here at 11:30 we'll connect you know what interviewer asked or what question you need to ask no worries Okay, you can for descending them all you can try one thing you can just directly give collections dotreverse order okay and I think there is also one descending set I'm not sure whether that will work or not right Now [clears throat] for descending you can use directly collections dotreverse. Y2 your descending set is available here. You can try it in this way. Okay. But descending set only returns a view. Okay. Not a new tree set. Just remember this. So best way is you know just use collections dot reverse order. Okay. Okay team, I just need four to five minutes. You know, my throat is paining extremely. I need to have, you know, some warm water. Give me four to five minutes. Okay. In the meantime, you know, you can run the codes which I sent. Just give me four to five minutes. Hold on. Java linked hashmap. Okay team. So imagine team okay you run a you know grocery shop billing system for example. Okay. Now when customers you know buy items so you just store you know item code then item name. Okay. So you don't want you know duplicate item codes and you want you know to print the bill in the same order items were added. Okay. So this is exactly you know where link hashmap is useful. Okay. So [clears throat] we can say link hashmap okay is a map that stores data in key value format. Okay. and maintains insert insertion order. Okay. So it is part of java.util package. Okay. And extend hash mark. Okay. So you can think of it like this. You know hashmap basically stores items. Okay. But order is random. Okay, what I said? So we studied hashmap, right? So hashmap is basically team that stores items. Okay. But order is random. Okay. And linked hashmap is It stores items and remembers order of insertion. For example, team requirement is store customer ID name. Okay, then we'll do one thing. I will write a code team. Don't worry. Okay, let us let us plan first. Okay, so like sort of pseudo code type. Okay, then we do one thing. We will print in insertion order. Team I would like to ask you all of you like some of you connected to me from the phase one some of you connected to me in the phase two. One very genuine thing team are you really practicing uh like uh see team my way of teaching is like you know I continuously keep on giving examples because you know team these examples only will help you out. If you watch something it will you know going to you know you will going to remember it more better. So team I hope you are practicing it you know I immediately share the code during class also. So only intention is to you know so Naven and Arat is okay Amul thanks my dear friends. Okay, Shreddha Abhatt is also thank you Shreddha I mean team Z I mean if you don't practice then no use very honestly I'm telling you team see if you really want to get good in anything if you want to learn anything only way is coding I know very well you may face problem you may do some syntax errors but unless and until you won't practice team you won't get see theory and all is useless I'm telling telling you very hard truth honestly I'm telling you if you know the coding logic you can form a theory but if you know theory you haven't practiced coding you won't be able to only way is coding otherwise I would have scrolled simple ppt in front of you believe me but I just tried this way that's why okay Ria Shivani Tiwari thank you and I hope team now everybody's configuration is done right is not enabled. So need to check with you after the class. My Eclipse when creating creating class it's not enabled. So Ji you might be getting identifier or something issue if you check error. I'm not sure. Okay, we'll check then. Why class is not created? Okay, after creation of class, uh you might be getting error, right? Like inside the main function, if you print anything, is it? Okay, we'll check. Okay, pointy. Let's form this example. Can we pass? Okay, Amul has a question. Can we pass both key and its value while using remove? Uh see in a linked hashmap you can pass you know uh both key and value. Uh but for that you know there is another version of uh remove key uh in which you can pass both key and value if you want. Nice question my dear. If you see here in the suggestion box C remove has two see key and this key and value. Okay. So you can try try this. So what I give what I related CI forward 1 minute 1 not 1. Okay. Huh? Okay. Okay team. So now we'll start with a method overloading and method overriding. Okay. So we do one thing. Okay team. So what you understand by method overloading? I told right uh I mean not implemented a quote but I gave it you know bits introduction team could you Same method but different behaviors. Okay. Same method. Sorry. [clears throat] Uh one same method team inside the same class with different parameters or you know like order of parameters. Okay. Exactly. Okay. Multiple methods, same name in the same class. Yeah. Use different parameters for the same method. Yeah. Dana Lakshmi. Thank you. Okay. S if I'm not mistaken. uh was you in my previous I mean previous phase 125 sah nak in my previous session also you was there or I'm sorry if you know I've got mistaken is it yes see I recognized I know my students you know Okay. Okay. Fine. Great. Thank you. Point D. So, okay. Great. Polymorphism. So let's understand team what is polymorphis method overloading method overriding you know in a very you know easy way we'll understand okay so you know team actually poly means many yes both are different joti No worries, I will show you. Wait. Okay. Poly means many. Here team poly means many and morph means forms. Many forms. Okay. So you can say team you know most easy language that polymorphism means one thing okay behaving in many different ways. Okay. So a person can be team father at home. A person can be an employee at office. A person can be a friend outside. So same person you know can have different behavior pointing. So in Java polymorphism basically happens in two ways. Okay. In Java polymorphis happens in two ways. What two ways? One way was method overloading. That is basically compile time. Second one is method overriding. That is basically runtime. Okay. So team method overriding method overriding means So team method overloading means uh compile time polymorphism. Okay. So what this means? Okay, let me show you. Okay. So see if you see a team see all now see let's suppose these are methods team. Okay though I will show you in a code but just now just understand all these three methods name are same but you could see here team you know parameters see this has 1 2 okay two parameters this has 1 2 3 parameters this has 1 2 3 4 parameters okay so same button add with different input same button add with different input as parameters. Okay. So now let's take one example. The number of parameters also can be different. Yes, it can be different. It can be two, three, four. Then only we can achieve method overloading concept. And always remember team, method overloading always takes place within the same class. Do remember this what I said, method overloading always takes place within the same class. Okay. See now I created one class that is basically calculator. Okay. Um simple. Okay. And now team C we will not be going to make any hard code here only we will assume the number of parameters and accordingly it will give it will give the additions it will add those parameters and show you the output. Okay, for example, if we give here int add int a comm, int b. Okay. So, we just give you a return a + b. Okay. Now everybody knows team right what is int and what is double for what we use int for what what we use double right yes you can reply in the chat team if you know when we use int and when we use double for a decimal values and int for a non-deimal values. Okay. Now I could you could see t1 thing. Here now method name is same and number of parameters are also same. These are also two par parameters but these also are two parameters but team this time the type of parameters are different. Okay. So the second logic of method overloading that the type can be different. Understood? Okay. So just give here return a + b + c return a + b. Okay team this much understood these two concepts are the concepts of method overloading. Okay. Now I will run this code but till now understood. Okay. Thank you. Now I will run this code. Wait. I will create one class here. Okay. Now see team what what's my intention you know to keep this because I'm knowing I know very well now you understood right I just created an object of a calculator class. This was my calculator class team. Okay. And now team I was calling the add method. Okay team this is static method or non-static method. First tell this this are static or non-static man where chat gone. This is a static or non-static? Non-static. Why this is non-static team? How how how we can uh how we came to know this is a non-static because we haven't used static keyword. Understood? And we all know for using any class non-static method we need to create an object. So we created an object of a calculator class. Now this with the help of this reference I can access all the non-static methods of a calculator class. this much understood. Okay. So I just gave 10, 20. So it will automatically go to this int a and int b. Okay. Now I will just call calc at 10a 20a 30. It will automatically go to this. Okay. And when I give calc add 5.5, 4.5. So it will automatically go to this. Okay. It's my pleasure s and you know I'm really happy you came again my dear. If you have any questions feel free to ask me okay. No worries at all. Any configuration, any coding issues, anything. Okay. Always welcome. Thank you. Okay team. Actually team you know my memory is actually good in these terms. I remember you know if somebody studied from me five years back I immediately remember them. they come and connect me on LinkedIn you know I immediately remember them so it's my habit though I forget the things but these things I don't forget okay maybe it might passion that's the reason okay this much understood team now this calc definitely will go to this float I mean sorry double okay understood now if I run this team See calc dot add 10 comma 20 it gave me 30 calc dot at 10a 20a 30 it gave me 60 and this see showing me the value 5.5 + 4.5 as 10.0 and zero is a double value. Yes, Dennis. Intum int a comm, int b. So, Dennis, first line is correct. Uh, this means you are giving input a + b. Okay? And you're returning an int value. But float some int a, int b. So I'm assuming you are giving an input as int but you are returning as a float. So this is incorrect actually I think. So could you try this? I mean you will get a compile time error in this because this float which is followed by some int a comma int b. See if I give here for example here I give as float one is static other is non-static hold on Monica wait let me yes okay code it also yeah for a return type you need to give the input also like that then it is totally fine Dennis okay I hope you understood Okay. Okay. Monica. So first thing Monica, we haven't took uh uh uh we haven't took any static variable here. Okay, we haven't took any static variable here. We actually took the non-static method. And how how come I know that it's a non-static method? Okay, how come I know this is a non-static method? Okay. So team to know this that this is a non-static method you need to keep you don't need to mention the static variable. If you don't mention the static variable then automatically it says it's a non-static. Now understood this much once again why we are using the two classes. I use two classes Monica because I wanted to show you the logic of a calculator and I don't want to make anything hardcoded. Yes, you can use single class but why I mean why you will be making your code messy because for example if you have a one executable class okay now this is your executable class and this is something you know that you will not be going to expose to anybody this code is hidden so you just need to create an object and using its method now see its method implementation it's not given here so now This calculator class can be used by any number of classes by just creating its object and calling its method. That's it. Yeah, I mean you can but a good coder always you know keep the things systematic. Understood? If you want you can use a s uh you know simple single class also that's not a big deal. You just do one thing. Just create one method of calculator. Okay? Keep this calculator method outside this main method. Call that method inside this. That's it. Simple. In that case, you need not create an object also. Monica understood. Could you give a try for a single class? If you have any problem, please ask me. Okay. Fine. This was in compile tempmorphism. Okay. like what what is it? Okay, so basically you all know [clears throat] what is a parent class and a child class, right? I taught you in inheritance point. Now child class always remember team method overloading always takes place within the same class and method overriding always takes place between a parent and a child class. Okay. So method overriding basically child class gives its own implementation of parent class method. Okay. So method overriding always happens between parent and child class. Okay. Now for example team let's suppose uh parent class says [clears throat] vehicle moves Okay. For example, parent class says child moves. Okay. Now, parent class says vehicle moves and uh child class that is a car. Okay. That says uh car moves on road. Okay. And bike says bike moves on two vehicles. Okay. So same method but with different behavior. Okay. Depending on object okay class cat extends animal. Okay. So now see uh single parent has two child. Okay. So parent was animal and child was cat and dog. Okay, now let me create one more new class. Okay, now just understand one thing. In animal class sound is animal make sound. Okay. And now same method I'm giving in a cat class sound whose parent is animal and same I'm giving in dog class with the same method. Okay. Then I've gone to my overriding example. Okay. And see what I'm doing here. I'm saying animal A1 is equal to new dog. So now see one concept is here. Parent reference can contain a child object. Okay. What I say parent reference can contain a child object. Okay. This means a parent reference can contain a child object. This much understood. So here what I'm saying a parent reference is can contain a child object team you're getting this line or not speak of team till now I was creating an object with the same class now I am because this is a parent of this class animal is a parent of dog animal is a parent of cat so it's the concept in Java that a parent reference can contain a child object so we can keep a child object in a parent refence Team member audible. Understood. Okay. Now if you run this that is also that's that is only called a runtime polymorphism. In runtime polymorphism method overriding takes place and a parent reference can contain a child object. And if you do the vice versa of this a child reference can never contain a parent object but a parent reference can contain a child object. See dog barks, cat moves. It has not shown me the sound uh sorry sound method of an animal. It haven't shown me that because the sound method of a cat and a dog is overriding the sound method of an animal. Joti, I don't remember which last line you're talking about. Can you give the reference? The main line which you need to understand here is parent reference can contain a child object. Yeah, it's vice versa is not possible. I was saying a child reference can never contain a parent object team. It's very important concept. So whatever human does on a website team. Okay. What I say whatever human does on a website. So what what humans basically do on a website? They we basically click buttons. We basically enter the text. We basically submit forms. We scroll page. We select drop-down. Okay. So, Selenium can do the same automatically. Okay. So, basically team Selenium automates browsers. Okay. Now, let me brief you a bit history about it. So team around early 2000 like almost so a developer you know named as Jason Huggin created a tool to automate website testing okay and you know he just named it selenium okay so that small tool became today's biggest automation framework Okay. So a latest update in you know Jason against right now working on a BBM tool and he frequently you know provide updates. Okay. He's working on a BBM tool. So that will basically you know it is related you know integrated with AILM. Okay. Anyways so now just understand one thing. Selenium is not one tool you can say it's a suit. Jason Huggin means it's it's name of a you know person who created this selenium. It's J A S O N H U G I N S. Okay. Okay. So, basically team selenium has four main parts but I will not tell you about the obsolete one which is now no more used. One is selenium ID. Nobody uses it right now. It was an extension of a Firefox. No need to go that. And Selenium RC, it's not deprecated. Okay, it's not deprecated. So now the thing which is right now available that is basically Selenium web driver. Okay, this one is the most important. Okay. So, this is a real powerful tool. Okay. Write code in Java. Okay. You can write code in Java, Python. Web driver supports all these languages. Okay. Python, C. Okay. JavaScript also. Okay. It basically controls browser directly. Okay. No, Abishek it does not support desktop application. I'm not aware of this. Abishek. So it doesn't support desktop automation. Okay, we used VBM and all team for desktop. I mean how you have tried it doesn't have the respective libraries also but anyways if you are trying then you can try VVM tool. Okay. Okay. Great. So this is about Selenium web driver team. The real powerful tool. It helps you writing a code in Java, Python, C, JS. It controls browser directly. Okay. Okay. So I don't have multiple machines to show you but definitely I will show you okay by you know setting one node and different uh one hub and different nodes in a machine. Okay. So let me first come up to there man then I will tell you. Okay. In a single machine only I will produce hub and node then we will show you. Okay. It run tests, okay, on multiple browsers. Okay. At the same time. Okay. Now the question comes you know why selenium is so popular. So basically team you know big companies used it big companies I mean to say Google, Apple, Amazon. So the core reason behind that you know it was a free open source. It works on Chrome, Firefox, Edge, Safari. So it works on Windows, Mac, Linux. It supports different languages. Java, Python, C, JavaScript. Okay. And it is a huge community support. Okay. So right now everywhere the discussion on AI will replace. So what kind of engineers what details of this? Okay. Bishik whoever doesn't know AI they will be replaced. So now the demand of AI and both you know automation engineers either tester or developer. Okay. Now you should know how to integrate everything with AIL anyways. Okay. So now there are some restrictions on Selenium. Okay. It cannot automate desktop applications. Okay. It cannot test APIs. Okay. It cannot do performance testing. Okay, these are some restrictions team. It cannot solve capture. Okay, there is no built-in reporting. Okay, there is no built-in assertions. Selenium doesn't support performance testing Amit. So performance testing I think JMeter is in your course. I will tell you that time what is performance testing. Okay. So basically this testing is a sort of testing that you check when there is a huge load or a huge traffic on server. Okay. For now just understand this much will tell you. Okay. Fine. So now what you should know before learning selenium. So you should have a very basic knowledge of manual testing. You already know I think you should know one programming language. You already know Java. You know JavaScript. You should have a basic understanding of HTML. You already have now already taught in the phase one and then in the phase one I told you right what is a tag name what is an attribute what is a value HTML tags so that is more than enough okay those are some prerequisites okay so fine so finally you know we can say that selenium is a free automation tool that controls web browsers and help testers automatically test the websites instead of doing repetitive manual work. Okay. Now just understand one thing. Everybody knows what is regression testing, right? What is regression team? This is my first phase. Is it fine if I directly start? Oh, is it fine? One minute. Testing already built functionalities after new. Okay. Retesting whether the code affects the other part also. Yes, Jacob. Exactly. Regression testing verifies that recent code changes haven't broken existing functionality. Exactly. Abishek. After the bug fixes, we will do regression testing violating the existing function should not. Yes. Monica testing before release we check fixes and new fun new fun testing before release we check fixes and new fun okay recent changes doesn't break the existing functionality okay along with new feature existing feature should work not break down existing by esian or defect existing function Okay. After something is changed, you quickly check that the old stuff still works now. Okay. Thank you. Test but testing the existing functionality when a new fix has been applied through. Okay. Fine. Yeah. Bunch guys, it's fine. Existing features should work. No breakdown. Okay. Son is interesting. Existing features after change is done. Now most of you all of you knows. Thank you. Aruna Amit Navin I don't have knowledge manual testing I'm new about testing manual testing is like you know for selenium who just understand only this much like I will tell you you know like there are some test cases okay so I will tell you don't worry so man everybody is new here to automation testing don't worry regression is done to check injections injections SQL injection You are talking Navi testing before release we check fixes send you it can be part of bug injection sorry I don't I'm not able to understand this okay Abhishek you can connect me you know separately my dear so okay docker pipeline and it all you already know like you already you know have an Eclipse now team everybody in your machine. Okay. Now see if you want to configure Selenium web driver in Eclipse. Okay. So see writing a test case in any programming language is almost the same. Okay, as you know uh writing code to develop an application. So before starting the coding for an application, we need to do some setup and configurations okay in the ID. Okay, which we'll be using to develop. So following the same you know before starting the development of automation test cases using selenium web driver we need to perform you know specific configurations in an Eclipse. Okay. So, I'm just thinking team one thing uh team just hold on for a minute. Everybody has right Eclipse editor now. So, you need to download the libraries of Selenium. Okay. 1 minute. Shivani uh like last weekend two classes you know I extended till 12:30 I got it downloaded for everyone so either you would have checked recording settings and downloaded it. So I mean you need to download it. It won't work. You know I got it downloaded for everyone and I just dropped a chat. I asked everyone each and everyone. I'm not sure he was not available in the class last time. I'm not sure. Okay. So you can connect LSM for this shivani then it's a system fault. Okay. So you checked right team what I clicked I clicked this stable okay Java one this one stable 4.40.0 zero. Okay. But Shivani if you download you need to configure JDK also. How you will configure JDK? Is Java configured in your machine? Can you check the Java version? Now do one thing. Go to Eclipse. Click on file. Go to new. Click on project. File. New project. Okay. Select this Java project. Click on next. Just give your selenium sample project. Okay. Just uncheck this module. Create module info java dofile. Okay. Click on next. And I'm just clicking on finish here. Okay. Here my selenium sample project is created. Okay. Understood till here. No Monica I cannot show once again. Uh you need to follow it please. Everyone team I'm doing it so slow. I'm asking you all again and again. You don't reply team. How can I create a project again the ser selenium sample project? You just need to go to file new project Java project and just give a name of a project sim sample project. Click on next next and you will come here. That's it. Okay. Now right click on this Go to build path. Okay, you can see here one option configure build path. Now click on configure build path. Okay, you will come here. Just select this tab that is libraries. Okay, just select this class path. Click on add external jars. Go to your that same folder. Okay. Just give me a minute. Okay. Okay. Gone there. Now select all these jar files like this. Understood team till here. Just select one like this with your mouse your keypad left and then click on shift key and just click on this upper arrow lower arrow and it will be selected like this. Okay, I got this now again. I'm not sure why lib is not for you because joti if you would have downloaded the same version it should show you now why it's not shown for you I'm not sure might be all lib external you know that jars might be available in your main folder. But if you downloaded it from here January 18, 2026, this is 4.40.0 version. Then how come it's different for you? It's different for me. Okay. Maybe all uh you know lip external jars might be available there only. Okay. Yes, you can continue. Okay. Now I'm just creating one new class here team. Now you all know how to create a class. Okay. So uh I'm just creating it like this like something first code. Okay. now ask me team everyone I can't repeat it but uh definitely if majority of you not done then I will again be creating a new project and I will show you working. Okay. Okay. Shivani I will walking. Monica for you it's working now. Uh no problem. No. So do one thing. Just drop me a onetoone message. Okay. I will connect you at 11:30. You haven't uh Okay. You have JDK in your machine. Monica, you have Eclipse. Yes. Okay. Perfect. Okay. Then hold on for 25 minutes more, 30 minutes. Okay. We'll tell you others team. So Monica and Shivania will be connecting others. Anyone team? Uh please it's my humble request if I ask you anything uh wika okay I will connect to you also wika which one we need to select after clicking on apply we need to create a project that's it and inside that we need to create a class if you not able to then I will connect you at 11:30 are there now please drop me one to one message everyone Shivani Monica and Wanchika Okay mana is it fine for you team now you won't speak then let's suppose team in the next weekend you say my selenium not configured it won't help you out now I'm asking and you are not telling me team sha but print. Okay. Okay. Okay. So now we configured. Okay. Don't understand this code right now. This I will tell you take you here till here step by step. Okay. So let's understand team. Okay. Let's go now about you know we'll discuss about some web driver commands. Okay. First we need to understand what these commands are. Okay. So see now we just configured right now selenium and we understood selenium is a free tool which is used for some sort of UI automation. Okay. So now the very first question you know which comes to our mind like what is basically selenium web driver. So we can say you know it's a simple automation tool. So one thing one one thing should come in our mind like what is basically web driver. So actually team web driver is actually an interface. Okay. So first you know let's understand you know team about u selenium web driver you know browser commands. Okay. Yes. uh new chrome will be get opened. So, Jacob, if you have any issues, please drop me one to one message. [clears throat] Okay. So, Selenium web driver browser commands. Okay. So if we talk about this browser commands so fine. Okay. So very first thing is dot get command. Okay. Get command. Okay. So basically uh get command you know basically is used if you want to launch any type of URL. Okay. So how to tell this? Basically this helps this command just understand the commands. Okay. Then I will use this uh code selenium code. Okay. This helps in loading a new web page in the current browser window. Okay, it accepts string as a parameter. Okay, and returns nothing. Okay. For example, team if I give for example uh if I give like string URL. Okay. driver.get URL. Okay. So basically this will launch the URL. Okay. This you understood the interface is something where there is 100% abstraction. So none of the method is implemented there and whichever class you know implement that interface so it will be going to implement all those methods. So web driver is an inbuilt interface. So all you know methods are declared there. Okay. And whichever class will be implementing it. Okay. So they will be implementing those method definition. That's it. This is an interface. No URL be mentioned. Now uh Jacob URL be mentioned right here. See this URL I stored in this URL. Okay. And then I gave it here. Understood? Or you can directly give driver.get. And you can copy this whole in our double quotes. Understood Jacob say yes. Okay team then next command is get title command. Okay. Okay. Now see if you need to inspect any element or you need to check the HTML source code for this. Okay. You just do one thing. You just right click this in a Chrome browser. Okay. For a for example I want to inspect this Google search button. Right click this. Okay. And you could see one option here. Inspect. Click this. Okay. Now I'm going to show you where title here it is. Where is title here? So if you go inside this head tag okay see this is a title and this title is a Google. Okay. This is a title of the page. Okay. Now if you give this command that is driver.get title. So actually it will fetch this title that is Google. Okay. Or any URL whichever you gave it will fetch it and give you that title name. Okay. So this get title command is string title equals driver do.get. Get red. Okay. So Anita just could you share me that URL which has no title. Okay then we'll see like what happens there. Just send me that URL which doesn't have title. Could you just send me that? Okay. We'll check then. So now driver dot get current URL. Okay. So this get current URL command. Okay. So this method basically fetches the string representing okay the current URL okay which is open in the browser. Okay, understood team what this means this is a URL. Okay, this is basically called URL. So it will get this URL current URL whatever is opened here right now. Okay, everything I will show you in a code. Okay, but for now just understand. Okay, what's what this basically means. Okay. So get p source command basically team. Okay. So this method returns. Okay. The source code of the page. Okay. So this basically accepts nothing as a parameter. Okay. and returns a string value. Okay. Get past source command. So this is basically for this we basically get for example string page source. Okay. So you can just give driver dot get page source. Okay, see I'm showing source. What is a page source? If you right click here, you could see here see one option view page source. It will get you this source command. This command will give you this source. Okay. Though it won't be required for any of the automation. Okay. Okay. But it's required. Fine team. It won't be required but you should know. That's it. Understood. Then team there is one command that is called close command. Okay. Okay. Uh then there is one quit command. Okay. So see quit command basically uh closes you know all the windows whatever is open currently. Okay. Okay. Fine. Now let's take an example team. Okay. Now you could see team one code here. Okay. This line you understood what's this? This is a parent. This is a child. Okay. Now this is an interface. This is a class. Okay. Now web driver has some methods. See neither web driver definition you will be going to write neither chromedriver. It is inbuilt available in selenium libraries. Okay. Then to I'm telling you internally what's happening here is there are some unimplemented methods. Unimplemented methods means that doesn't have definition. Those are available inside the web driver and chromedriver internally is a child of web driver. So it actually take all those methods and implement according to its browser. Okay, we need we need not do anything here. It's an inbuilt here. Okay, I'm just telling you internally this is a parent interface for this class. Understood? Now you all know why we use new keyword. Why we use new keyword team? For creating an object and that object is assigned to this reference that is driver. This much understood. Okay. Now as I told you you know about the very first command here that was actually get command. So this basically helps in you know loading a new web page in the current browser. So it accept string as a parameter and returns nothing. Okay. So this get command actually you know it takes this URL. Okay. Understood this only I've written here. See this helps in loading a new web page in the current browser window asset string as a parameter and returns nothing. So this is a string your URL. Okay. This get command will actually see webdriver drivers equal to new chromedriver will actually launch a chrome browser. See this will launch a chrome browser. See okay it launched the browser. Now here we need to give the URL. So this command will do this this driver.get get command and you need to pass inside it the URL name. Okay. So run as Java application. See understood team this much. Now the second command team I told you about title somebody was asking about if title is not available there could have you check that URL who asked me that team somebody asked Right team if you have any that URL because for me it takes time if you got that I think Anita you asked me team I'm continuously looking at a chat box come on speak up team who was that it's Okay [clears throat] team nothing wrong in asking the question if you have not no s most okay fine no worries Anita why I asked you actually to search that because I wanted to show you okay I will search and if I will I will you know get it show but for now just understand you know it just return empty string okay yeah no it's okay you can ask me Anita that's totally fine. I'm here for that only. So you it will return an empty string anita. Okay. If no title is available. So I wanted to show here but okay I wanted to show my code but don't consider that as a null. Okay. It will not return any null just an empty string. Okay team just don't think default value or something will be returned. Okay. If no title available anyways you know automation testers whenever write an automation script without inspecting HTML code they never write you know any such things. Okay fine. Uh somebody asked me Amit Amit you understood this code. No reply. Okay. So fine. We got a title and and and and uh current URL. So you do one thing dot get current URL. Okay. So if current URL dot equals man I'm writing this as actual URL okay otherwise some of you will get confused this actually what I'm doing man wait if actual URL dot equals where is Do one thing team. Hold on. Uh, one minute. A string you are. Okay. Verification successful. Okay. It took current URL. Okay. In actualure URL we basically got current URL and I matched this with my URL because we have not navigated anywhere. Okay team understood. >> And that brings us to the end of this Java collection framework session. In this video we explore array list, hash list, hashmap, tree set, linked hashmap and also the key difference between method overloading and method overriding. We also understood how collections help us manage data more effectively in real world Java programs and why choosing the right data structures matters. The key takeaway is simple. The right collection type can make your code cleaner, faster to understand, and easier to maintain. If you found this video helpful, make sure to like, share, and subscribe to Simply Learn for more videos in Java. Thank you for watching and until next time, keep learning with Simply Learn.

Original Description

🔥AI-Powered Automation Test Engineer Program - https://www.simplilearn.com/automation-testing-masters-program-certification-training-course?utm_campaign=PCq9wIYlAHo&utm_medium=DescriptionFirstFold&utm_source=Youtube 🔥AI-Powered Full Stack Developer Program - https://www.simplilearn.com/full-stack-developer-course-mern-certification-training?utm_campaign=PCq9wIYlAHo&utm_medium=DescriptionFirstFold&utm_source=Youtube 🔥Full Stack Java Developer Program (Discount Code - YTBE15) - https://www.simplilearn.com/java-full-stack-developer-certification?utm_campaign=PCq9wIYlAHo&utm_medium=DescriptionFirstFold&utm_source=Youtube 🔥Full Stack Developer - MERN Stack Program (Discount Code - YTBE15) - https://www.simplilearn.com/full-stack-developer-course-mern-certification-training?utm_campaign=PCq9wIYlAHo&utm_medium=DescriptionFirstFold&utm_source=Youtube This video on “Functional Testing Automation Full Course 2026” by Simplilearn will help you learn the fundamentals of functional testing and how automation is applied in real-world software testing. It covers important concepts such as test cases, test execution, automation frameworks, and how Java is used in functional test automation. You will also understand how automation improves testing speed, accuracy, and efficiency in modern software development. Designed for learners who want to build strong testing skills, this course gives you a clear path to understanding both manual concepts and automated testing workflows. Whether you are a beginner or looking to upgrade your QA skills, this full course will help you prepare for the evolving world of test automation. Stay tuned till the end to gain practical insights into Functional Testing Automation in Java and how it fits into today’s software industry. Related Videos: ✅ 1. https://youtu.be/1rgqDC8dbCU ✅ 2. https://youtu.be/Dhl0KPWDeh4 ✅ 3. https://youtu.be/JN8eAeFrHqE ✅ 4. https://youtu.be/dW_hpopoKz8 ✅ 5. https://youtu.be/5KIokuQRb1k ✅Subscribe to our Channel to learn
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Related Reads

📰
Indian AI coding startup Emergent becomes a unicorn with $130M Series C
Emergent, an AI coding startup, reaches unicorn status with $130M Series C funding, achieving $120 million annualized revenue run rate and 200,000 paying customers, demonstrating the growing demand for AI-powered coding solutions
TechCrunch AI
📰
Disposable software
Learn how the rise of AI-powered coding tools like Claude Code is changing the way we think about software development and maintenance
Seth Godin's Blog
📰
Join live event: Building With AI Without Creating Technical Debt
Learn how to build with AI without creating technical debt in a live event hosted by Software Mansion
Reddit r/learnprogramming
📰
I Built an AI Coding Cost Tracker to Finally See What Copilot and Cursor Are Actually Costing Me
Learn how to track the costs of AI coding assistants like Copilot and Cursor to optimize your workflow and budget
Dev.to AI
Up next
How to Create ONE PAGE Website using Claude AI (FREE & FAST)
Quick Tips - Web Desiign & Ai Tools
Watch →