title
Intro to Java Programming - Course for Absolute Beginners
description
Java is a general-purpose programming language. Learn how to program in Java in this full tutorial course. This is a complete Java course meant for absolute beginners. No prior programming experience is required.
Course created by Tech with Tim. Check out his channel: https://www.youtube.com/channel/UC4JX40jDee_tINbkjycV4Sg
⭐️ Course Contents ⭐️
⌨️ (0:00:00) Introduction
⌨️ (0:06:18) Variables & Data Types
⌨️ (0:17:55) Basic Operators
⌨️ (0:29:36) Input and Scanners
⌨️ (0:38:40) Conditions and Booleans
⌨️ (0:49:54) If/Else/Else If
⌨️ (1:00:08) Nested Statements
⌨️ (1:07:18) Arrays
⌨️ (1:15:29) For Loops
⌨️ (1:24:46) For Loops (Continued)
⌨️ (1:34:10) While Loops
⌨️ (1:40:50) Sets and Lists
⌨️ (1:55:25) Maps & HashMaps
⌨️ (2:07:46) Maps Example
⌨️ (2:16:09) Introduction to Objects
⌨️ (2:29:05) Creating Classes
⌨️ (2:44:06) Inheritance
⌨️ (2:57:50) What Does STATIC Mean?
⌨️ (3:07:02) Overloading Methods & Object Comparisons
⌨️ (3:17:37) Inner Classes
⌨️ (3:25:23) Interfaces
⌨️ (3:37:32) Enums
Download the Eclipse editor: https://www.eclipse.org/downloads/
--
Learn to code for free and get a developer job: https://www.freecodecamp.org
Read hundreds of articles on programming: https://medium.freecodecamp.org
detail
{'title': 'Intro to Java Programming - Course for Absolute Beginners', 'heatmap': [{'end': 3015.596, 'start': 2877.199, 'weight': 0.95}, {'end': 3839.534, 'start': 3696.949, 'weight': 1}, {'end': 5624.259, 'start': 5482.55, 'weight': 0.958}, {'end': 6852.758, 'start': 6712.916, 'weight': 0.807}], 'summary': 'The course provides a comprehensive introduction to java programming for absolute beginners, covering java basics, environment setup, variables, operations, comparison operators, conditionals, arrays, looping, collections, maps, object-oriented programming, classes, methods, inheritance, cat constructors, protected values, object comparisons, representations, enums, and interfaces.', 'chapters': [{'end': 647.082, 'segs': [{'end': 38.21, 'src': 'embed', 'start': 2.93, 'weight': 0, 'content': [{'end': 6.231, 'text': 'Hey guys, and welcome to a brand new tutorial series.', 'start': 2.93, 'duration': 3.301}, {'end': 10.173, 'text': "So in this series, I'm going to be teaching you Java from the beginning.", 'start': 6.591, 'duration': 3.582}, {'end': 16.515, 'text': 'So starting at the absolute basics, setting up an environment, how to create variables, methods, like all that stuff,', 'start': 10.233, 'duration': 6.282}, {'end': 18.536, 'text': 'and then move it all the way up into the advanced stuff.', 'start': 16.515, 'duration': 2.021}, {'end': 20.517, 'text': 'This is a beginner tutorial series.', 'start': 18.776, 'duration': 1.741}, {'end': 24.919, 'text': "So I'm going to treat this as if you have never learned any programming language before.", 'start': 20.557, 'duration': 4.362}, {'end': 27.281, 'text': "okay, so let's go ahead and get started.", 'start': 25.359, 'duration': 1.922}, {'end': 32.545, 'text': "the first thing we need to do is download a ide, and this is where we're going to be writing our java code.", 'start': 27.281, 'duration': 5.264}, {'end': 33.987, 'text': "okay, so it's called eclipse.", 'start': 32.545, 'duration': 1.442}, {'end': 34.927, 'text': "this one i'm going to use.", 'start': 33.987, 'duration': 0.94}, {'end': 38.21, 'text': "use whatever you want, but if you're a beginner, i recommend you just follow along with this,", 'start': 34.927, 'duration': 3.283}], 'summary': 'A beginner java tutorial series covering basics to advanced, using eclipse as the ide.', 'duration': 35.28, 'max_score': 2.93, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX02930.jpg'}, {'end': 126.434, 'src': 'embed', 'start': 99.725, 'weight': 2, 'content': [{'end': 105.09, 'text': "So it should look something like this, by the way, you're going to click on file new and then Java project.", 'start': 99.725, 'duration': 5.365}, {'end': 107.846, 'text': "Now here, I'm just going to name mine tutorial.", 'start': 105.965, 'duration': 1.881}, {'end': 110.487, 'text': "And then let's see here.", 'start': 108.646, 'duration': 1.841}, {'end': 112.488, 'text': 'You can just leave all the rest of this stuff blank.', 'start': 110.527, 'duration': 1.961}, {'end': 114.269, 'text': 'If you want to change the location, go ahead.', 'start': 112.568, 'duration': 1.701}, {'end': 114.589, 'text': 'All right.', 'start': 114.309, 'duration': 0.28}, {'end': 115.889, 'text': 'Click finish.', 'start': 115.309, 'duration': 0.58}, {'end': 116.99, 'text': 'And there we are.', 'start': 116.47, 'duration': 0.52}, {'end': 120.551, 'text': "So once we have this, it's going to pop up in our left bar, the package explore.", 'start': 117.37, 'duration': 3.181}, {'end': 121.652, 'text': "I'm just going to shrink this a little bit.", 'start': 120.571, 'duration': 1.081}, {'end': 126.434, 'text': "And what we're going to do is we're going to go down to source or, oh, I already have a package named tutorial.", 'start': 121.672, 'duration': 4.762}], 'summary': "Creating a new java project named 'tutorial' with a package named 'tutorial'.", 'duration': 26.709, 'max_score': 99.725, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX099725.jpg'}, {'end': 249.434, 'src': 'embed', 'start': 218.074, 'weight': 3, 'content': [{'end': 222.056, 'text': 'And everything in Java is written in a class or an interface or something else.', 'start': 218.074, 'duration': 3.982}, {'end': 222.997, 'text': 'But in our purpose.', 'start': 222.136, 'duration': 0.861}, {'end': 225.138, 'text': 'just think everything is written in a class right now, okay?', 'start': 222.997, 'duration': 2.141}, {'end': 229.26, 'text': 'Now, inside of this class, we have a special method.', 'start': 225.618, 'duration': 3.642}, {'end': 229.821, 'text': "is what it's called.", 'start': 229.26, 'duration': 0.561}, {'end': 236.205, 'text': "And these methods are what I'm highlighting right now inside of these curly brackets public static void, main, okay?", 'start': 229.841, 'duration': 6.364}, {'end': 238.186, 'text': "You don't have to know what all those words mean.", 'start': 236.505, 'duration': 1.681}, {'end': 240.167, 'text': 'Just know this method is important.', 'start': 238.266, 'duration': 1.901}, {'end': 242.789, 'text': "And this is what we're gonna be writing all of our Java code in for right now.", 'start': 240.207, 'duration': 2.582}, {'end': 249.434, 'text': "So if you try to write code outside of these little curly braces, not inside of this method, that's what we're calling it right now.", 'start': 243.229, 'duration': 6.205}], 'summary': 'Java code is written in a main method inside a class or interface.', 'duration': 31.36, 'max_score': 218.074, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX0218074.jpg'}, {'end': 317.916, 'src': 'embed', 'start': 290.902, 'weight': 5, 'content': [{'end': 295.945, 'text': "And in this case, I'm going to say the classic hello world with an exclamation point.", 'start': 290.902, 'duration': 5.043}, {'end': 306.61, 'text': 'Okay Now, at the end of every line we write in Java, with exception of lines that start or end with curly braces, we need to put a semicolon.', 'start': 295.985, 'duration': 10.625}, {'end': 314.494, 'text': 'And now you can see once I put the semicolon that our system.out.println gets highlighted and we can see that it now has syntax highlighting.', 'start': 307.43, 'duration': 7.064}, {'end': 317.916, 'text': 'And syntax pretty much means any code that we write in the program.', 'start': 314.994, 'duration': 2.922}], 'summary': 'In java, the classic hello world with an exclamation point requires semicolons at the end of each line, except for lines starting or ending with curly braces, to enable syntax highlighting.', 'duration': 27.014, 'max_score': 290.902, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX0290902.jpg'}, {'end': 439.173, 'src': 'embed', 'start': 412.101, 'weight': 6, 'content': [{'end': 416.281, 'text': 'And those are what are known as data types or objects.', 'start': 412.101, 'duration': 4.18}, {'end': 420.742, 'text': "So let's start by just creating a variable to create a variable.", 'start': 416.801, 'duration': 3.941}, {'end': 423.743, 'text': 'We need to first figure out what type our variable is going to be.', 'start': 421.102, 'duration': 2.641}, {'end': 429.346, 'text': "In this case, I'm going to start with an integer, and then we're going to go through all the different types and talk about the differences.", 'start': 424.483, 'duration': 4.863}, {'end': 436.531, 'text': "So to start, we're going to type int, declaring that this variable that we're about to type out is going to be an integer.", 'start': 430.267, 'duration': 6.264}, {'end': 439.173, 'text': "We're then going to give a variable name.", 'start': 437.232, 'duration': 1.941}], 'summary': 'Introduce data types and variables, starting with an integer.', 'duration': 27.072, 'max_score': 412.101, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX0412101.jpg'}, {'end': 611.408, 'src': 'embed', 'start': 585.933, 'weight': 7, 'content': [{'end': 590.639, 'text': "this is a really important, fundamental thing a lot of people don't talk about in programming tutorials,", 'start': 585.933, 'duration': 4.706}, {'end': 593.683, 'text': "and it's kind of like order of operations or execution.", 'start': 590.639, 'duration': 3.044}, {'end': 600.706, 'text': 'so I am going to now put my variable underneath my system.out.println.', 'start': 593.683, 'duration': 7.023}, {'end': 602.746, 'text': "Okay, so I'm first going to print hello world.", 'start': 600.826, 'duration': 1.92}, {'end': 604.987, 'text': "And then I'm going to set hello world equal to five.", 'start': 603.086, 'duration': 1.901}, {'end': 608.948, 'text': 'Hopefully, you guys have realized what the issue might be here.', 'start': 605.667, 'duration': 3.281}, {'end': 611.408, 'text': "If not, I'll talk about it really quickly.", 'start': 609.828, 'duration': 1.58}], 'summary': 'Understanding the importance of order of operations in programming, illustrated by a practical example.', 'duration': 25.475, 'max_score': 585.933, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX0585933.jpg'}], 'start': 2.93, 'title': 'Java basics and environment setup', 'summary': 'Covers setting up a java programming environment using eclipse ide and provides step-by-step instructions for creating a new java project and class. it also introduces java programming language, emphasizing classes, main method, printing to the screen, variables, valid variable names, and the order of operations in programming.', 'chapters': [{'end': 187.925, 'start': 2.93, 'title': 'Java tutorial series', 'summary': 'Covers setting up an environment to learn java from basic to advanced levels, recommending eclipse ide for beginners, and providing step-by-step instructions for creating a new java project and class.', 'duration': 184.995, 'highlights': ['The chapter covers setting up an environment to learn Java from basic to advanced levels.', 'Recommending Eclipse IDE for beginners.', 'Providing step-by-step instructions for creating a new Java project and class.']}, {'end': 647.082, 'start': 187.925, 'title': 'Introduction to java programming', 'summary': 'Introduces the java programming language, emphasizing the importance of classes, the main method, and printing to the screen. it then covers the creation of variables, valid variable names, and the order of operations in programming.', 'duration': 459.157, 'highlights': ['Java is an object-oriented programming language, where everything happens inside classes and is known as objects.', 'The importance of the main method in Java for writing all Java code.', 'Printing in Java using system.out.println, with the requirement of terminating each line with a semicolon for proper execution.', 'Introduction to creating variables in Java, specifying variable types and valid variable names.', 'Explanation of the order of operations and execution in programming, highlighting the importance of declaring variables before using them.']}], 'duration': 644.152, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX02930.jpg', 'highlights': ['The chapter covers setting up an environment to learn Java from basic to advanced levels.', 'Recommending Eclipse IDE for beginners.', 'Providing step-by-step instructions for creating a new Java project and class.', 'Java is an object-oriented programming language, where everything happens inside classes and is known as objects.', 'The importance of the main method in Java for writing all Java code.', 'Printing in Java using system.out.println, with the requirement of terminating each line with a semicolon for proper execution.', 'Introduction to creating variables in Java, specifying variable types and valid variable names.', 'Explanation of the order of operations and execution in programming, highlighting the importance of declaring variables before using them.']}, {'end': 2275.053, 'segs': [{'end': 749.227, 'src': 'embed', 'start': 723.915, 'weight': 0, 'content': [{'end': 731.459, 'text': 'So, even though this is still the exact same value as this in terms of mathematics, because it has a floating decimal point in our computer,', 'start': 723.915, 'duration': 7.544}, {'end': 733.461, 'text': 'is referenced as a double.', 'start': 731.459, 'duration': 2.002}, {'end': 739.101, 'text': "Okay Now there's some other data types as well that we're going to talk about.", 'start': 733.821, 'duration': 5.28}, {'end': 742.483, 'text': 'So we have int, we have double, we also have something called Boolean.', 'start': 739.121, 'duration': 3.362}, {'end': 746.026, 'text': 'Now Boolean is true or false.', 'start': 742.764, 'duration': 3.262}, {'end': 749.227, 'text': 'And these are going to be really important in the next few videos that we talk about.', 'start': 746.506, 'duration': 2.721}], 'summary': 'The data types discussed include int, double, and boolean, with boolean being true or false and crucial for future videos.', 'duration': 25.312, 'max_score': 723.915, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX0723915.jpg'}, {'end': 1023.103, 'src': 'embed', 'start': 991.352, 'weight': 2, 'content': [{'end': 993.695, 'text': 'We get nine and so on.', 'start': 991.352, 'duration': 2.343}, {'end': 1001.082, 'text': 'Now, last thing I want to show you with variables is that we can actually make variables equal to other variables and we can add variables and we can subtract variables.', 'start': 993.875, 'duration': 7.207}, {'end': 1003.064, 'text': "And that's what we're going to be doing a lot in the next video.", 'start': 1001.102, 'duration': 1.962}, {'end': 1004.506, 'text': 'But I want to just quickly introduce you.', 'start': 1003.084, 'duration': 1.422}, {'end': 1006.648, 'text': 'So, for example, I want to create a new integer.', 'start': 1004.946, 'duration': 1.702}, {'end': 1011.573, 'text': "OK, I'm going to say new integer and I'm going to call it let's just call it Tim.", 'start': 1006.688, 'duration': 4.885}, {'end': 1016.157, 'text': 'Why not? Now, I want this integer to be equal to 9.', 'start': 1011.673, 'duration': 4.484}, {'end': 1017.258, 'text': "But I don't want to type 9 out.", 'start': 1016.157, 'duration': 1.101}, {'end': 1023.103, 'text': "What I'm going to do is I'm actually going to type hello underscore world like this.", 'start': 1017.799, 'duration': 5.304}], 'summary': 'Introducing variable operations and assignments, creating new integer tim equals 9.', 'duration': 31.751, 'max_score': 991.352, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX0991352.jpg'}, {'end': 1121.166, 'src': 'embed', 'start': 1094.71, 'weight': 1, 'content': [{'end': 1098.433, 'text': "Now, what I'm first going to do is just talk about another way that we can create variables in Java.", 'start': 1094.71, 'duration': 3.723}, {'end': 1103.255, 'text': 'So earlier you saw me do something like this int x equals 6, okay?', 'start': 1099.213, 'duration': 4.042}, {'end': 1105.117, 'text': 'This is fine, this works.', 'start': 1104.136, 'duration': 0.981}, {'end': 1108.619, 'text': "we already know this, but there's another way that we can actually create this variable.", 'start': 1105.117, 'duration': 3.502}, {'end': 1112.101, 'text': 'And to do that, we can actually omit this equals 6.', 'start': 1108.919, 'duration': 3.182}, {'end': 1121.166, 'text': "So if we do this and we just say int x, what happens now is we've declared that x is a variable, it exists, but we have not given it a value.", 'start': 1112.101, 'duration': 9.065}], 'summary': 'In java, variables can be created with or without initial values.', 'duration': 26.456, 'max_score': 1094.71, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX01094710.jpg'}, {'end': 1810.453, 'src': 'embed', 'start': 1785.217, 'weight': 4, 'content': [{'end': 1790.239, 'text': "And we're going to be talking about getting input from the user using something called a scanner.", 'start': 1785.217, 'duration': 5.022}, {'end': 1798.103, 'text': 'Now, this scanner is going to allow us to grab like text, numbers, strings, all that fun stuff from the user and then do something with that input.', 'start': 1790.679, 'duration': 7.424}, {'end': 1803.205, 'text': "And that's kind of the basis of programming, right? Based on what a user does, we want to do something in most cases.", 'start': 1798.483, 'duration': 4.722}, {'end': 1807.85, 'text': "So, the first thing that we're going to do is just teach this other operator.", 'start': 1804.365, 'duration': 3.485}, {'end': 1809.191, 'text': 'It is the remainder operator.', 'start': 1807.95, 'duration': 1.241}, {'end': 1810.453, 'text': "It's not going to take me very long.", 'start': 1809.211, 'duration': 1.242}], 'summary': 'Using a scanner to get user input for programming purposes, including teaching the remainder operator.', 'duration': 25.236, 'max_score': 1785.217, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX01785217.jpg'}, {'end': 1856.257, 'src': 'embed', 'start': 1826.008, 'weight': 3, 'content': [{'end': 1827.408, 'text': "it's called modulus.", 'start': 1826.008, 'duration': 1.4}, {'end': 1833.389, 'text': "okay, some people like to call a remainder operator, and it's simply a percent sign gives us the remainder of this division.", 'start': 1827.408, 'duration': 5.981}, {'end': 1836.61, 'text': 'so this division is actually equal to uh, what do you call it?', 'start': 1833.389, 'duration': 3.221}, {'end': 1838.77, 'text': '56, divided by 5, should give us 11.', 'start': 1836.61, 'duration': 2.16}, {'end': 1843.991, 'text': 'okay, 11, remainder 1 is what this division actually is equal to.', 'start': 1838.77, 'duration': 5.221}, {'end': 1849.072, 'text': 'so if we print x, we should get a value of 1..', 'start': 1843.991, 'duration': 5.081}, {'end': 1853.836, 'text': "and there we go, and that's literally all the remainder operator is gives you the remainder of a division.", 'start': 1849.072, 'duration': 4.764}, {'end': 1856.257, 'text': "I don't think I need to talk about it too much more.", 'start': 1853.836, 'duration': 2.421}], 'summary': 'Modulus operator gives remainder of division, for example 56 divided by 5 equals 11 remainder 1.', 'duration': 30.249, 'max_score': 1826.008, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX01826008.jpg'}], 'start': 647.622, 'title': 'Java variables and operations', 'summary': 'Covers variables declaration, data types such as int, float, double, boolean, char, and string, basic arithmetic operations, division including integer and double types, modulus operator, and scanner input in java programming.', 'chapters': [{'end': 990.071, 'start': 647.622, 'title': 'Variables and data types', 'summary': 'Discusses the declaration of variables, various data types including int, float, double, boolean, char, and string, their characteristics, and the distinction between primitive and non-primitive data types in java.', 'duration': 342.449, 'highlights': ['The chapter discusses the declaration of variables, various data types including int, float, double, Boolean, char, and string, their characteristics, and the distinction between primitive and non-primitive data types in Java.', 'Variables must be declared before they are used, and different data types have specific characteristics such as int for integers, float for decimal numbers, double for floating decimal points, Boolean for true or false values, char for characters, and string for sequences of characters.', 'The distinction between primitive and non-primitive data types is explained, with int, float, double, and Boolean being primitive, while string is classified as non-primitive in Java.']}, {'end': 1390.346, 'start': 991.352, 'title': 'Variables and basic operations in java', 'summary': 'Introduces variables in java, demonstrating the assignment of variables to other variables, addition, subtraction, and multiplication of variables, and discusses the order of operations for basic arithmetic operations in java.', 'duration': 398.994, 'highlights': ['The chapter introduces variables in Java, demonstrating the assignment of variables to other variables, addition, subtraction, and multiplication of variables.', 'The chapter discusses the order of operations for basic arithmetic operations in Java.', 'The chapter explains the process of declaring and initializing variables in Java, showing the usage of different data types such as int and char.']}, {'end': 1803.205, 'start': 1391.69, 'title': 'Java division and operators', 'summary': 'Explains division in java, highlighting how integer division works and the need to use double data type for decimal points. it also covers typecasting and the use of scanner for user input in java programming.', 'duration': 411.515, 'highlights': ['Integer division in Java truncates the decimal points, for example, 56 divided by 7 gives 8 as the result, highlighting the behavior of integer data type (int).', 'The use of double data type is necessary to obtain decimal points in division operations in Java, for example, changing both operands to double ensures the result includes decimal points.', 'Typecasting can be used to convert the result of a division operation to a double without changing the variable declaration, demonstrating a technique for obtaining decimal values in Java.', 'The explanation of the scanner for user input showcases a fundamental concept in programming where user input can be captured and used for further processing.', 'The chapter also touches on typecasting and its role in converting variable types inline without changing the variable declaration, illustrating a technique for type conversion in Java.']}, {'end': 2275.053, 'start': 1804.365, 'title': 'Java modulus operator and scanner input', 'summary': 'Explains the modulus operator in java, which gives the remainder of a division, illustrated with an example of 56 divided by 5, resulting in 11 remainder 1. it then delves into using the scanner to get input, showcasing the usage of sc.next for strings, sc.nextint for integers, and handling errors when trying to convert a string input to an integer.', 'duration': 470.688, 'highlights': ['The chapter explains the modulus operator in Java, which gives the remainder of a division, illustrated with an example of 56 divided by 5, resulting in 11 remainder 1.', 'It then delves into using the scanner to get input, showcasing the usage of sc.next for strings, sc.nextInt for integers, and handling errors when trying to convert a string input to an integer.']}], 'duration': 1627.431, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX0647622.jpg', 'highlights': ['The chapter discusses the declaration of variables, various data types including int, float, double, Boolean, char, and string, their characteristics, and the distinction between primitive and non-primitive data types in Java.', 'The chapter explains the process of declaring and initializing variables in Java, showing the usage of different data types such as int and char.', 'The chapter introduces variables in Java, demonstrating the assignment of variables to other variables, addition, subtraction, and multiplication of variables.', 'The chapter explains the modulus operator in Java, which gives the remainder of a division, illustrated with an example of 56 divided by 5, resulting in 11 remainder 1.', 'The explanation of the scanner for user input showcases a fundamental concept in programming where user input can be captured and used for further processing.']}, {'end': 4017.323, 'segs': [{'end': 3015.596, 'src': 'heatmap', 'start': 2877.199, 'weight': 0.95, 'content': [{'end': 2881.103, 'text': 'How do we determine which ones, which of these, are going to evaluate first?', 'start': 2877.199, 'duration': 3.904}, {'end': 2882.845, 'text': 'Well, that is a good question.', 'start': 2881.663, 'duration': 1.182}, {'end': 2884.466, 'text': "And typically you'd never type it like this.", 'start': 2882.905, 'duration': 1.561}, {'end': 2888.33, 'text': "because just looking at this like even I'm looking at it right now, after I just typed it, and I'm like wow.", 'start': 2884.466, 'duration': 3.864}, {'end': 2894.477, 'text': 'How do I determine which one of these is going to happen first? Typically, you put things in brackets.', 'start': 2889.051, 'duration': 5.426}, {'end': 2895.739, 'text': 'So I would say something like this.', 'start': 2894.698, 'duration': 1.041}, {'end': 2896.74, 'text': "It's like X and Y.", 'start': 2895.799, 'duration': 0.941}, {'end': 2899.023, 'text': 'OK, so I have this first condition.', 'start': 2896.74, 'duration': 2.283}, {'end': 2899.423, 'text': 'All right.', 'start': 2899.103, 'duration': 0.32}, {'end': 2900.705, 'text': 'You put in brackets.', 'start': 2899.924, 'duration': 0.781}, {'end': 2901.826, 'text': "It's going to evaluate this.", 'start': 2900.845, 'duration': 0.981}, {'end': 2904.97, 'text': "And in this case, we'll get I'm not going to bother doing the actual evaluation.", 'start': 2901.906, 'duration': 3.064}, {'end': 2905.791, 'text': "But let's say we get true.", 'start': 2904.99, 'duration': 0.801}, {'end': 2912.196, 'text': 'OK or so we have true or whatever this evaluated with this is.', 'start': 2905.971, 'duration': 6.225}, {'end': 2917.941, 'text': "So what this is going to do now is it's going to look at Z plus two if that's less than five.", 'start': 2912.216, 'duration': 5.725}, {'end': 2924.386, 'text': "if that's true, then we get true, or and then whatever this is, and then we could treat this as if this is in brackets like this.", 'start': 2917.941, 'duration': 6.445}, {'end': 2928.05, 'text': 'Okay, So now the way that this would work is we do everything in brackets.', 'start': 2924.466, 'duration': 3.584}, {'end': 2929.991, 'text': 'here we get a value of like true or false.', 'start': 2928.05, 'duration': 1.941}, {'end': 2930.892, 'text': 'we do everything in brackets.', 'start': 2929.991, 'duration': 0.901}, {'end': 2932.314, 'text': 'here we get a value of true or false.', 'start': 2930.892, 'duration': 1.422}, {'end': 2935.857, 'text': "And then we'd see if either of them are true and return that value.", 'start': 2932.754, 'duration': 3.103}, {'end': 2937.519, 'text': "So you know what, let's just print it to see what we get.", 'start': 2935.897, 'duration': 1.622}, {'end': 2938.76, 'text': 'We get true.', 'start': 2938.219, 'duration': 0.541}, {'end': 2941.363, 'text': "Okay, I don't even know how that worked, to be honest.", 'start': 2938.78, 'duration': 2.583}, {'end': 2943.745, 'text': "And yeah, that's how we could do that.", 'start': 2942.323, 'duration': 1.422}, {'end': 2945.246, 'text': 'And we can also throw knots in here too.', 'start': 2943.765, 'duration': 1.481}, {'end': 2947.709, 'text': 'So if I wanted to throw a knot like this, then we can do that.', 'start': 2945.326, 'duration': 2.383}, {'end': 2954.314, 'text': "Now, typically, you're not going to see massive chain conditionals like this because of the exact problem we're running into.", 'start': 2948.269, 'duration': 6.045}, {'end': 2957.056, 'text': "It's difficult to determine what they are by just reading it.", 'start': 2954.414, 'duration': 2.642}, {'end': 2963.62, 'text': "And you'll see when we go into if and else statements in the next video, how we can use these conditions to evaluate certain things.", 'start': 2957.716, 'duration': 5.904}, {'end': 2966.662, 'text': 'I just wanted to show you that you can combine multiple things.', 'start': 2963.74, 'duration': 2.922}, {'end': 2969.064, 'text': "And for example, I don't only have to use variables.", 'start': 2967.083, 'duration': 1.981}, {'end': 2971.626, 'text': 'You can see that here I put Z plus two less than five.', 'start': 2969.104, 'duration': 2.522}, {'end': 2974.788, 'text': "That's a perfectly valid condition that works perfectly fine.", 'start': 2971.786, 'duration': 3.002}, {'end': 2975.489, 'text': 'Could change.', 'start': 2975.109, 'duration': 0.38}, {'end': 2976.87, 'text': 'this is equal to five, right?', 'start': 2975.489, 'duration': 1.381}, {'end': 2978.992, 'text': 'um, you can add constants like.', 'start': 2977.39, 'duration': 1.602}, {'end': 2982.916, 'text': "i could just say two is equal to five if i wanted to, but that's fine.", 'start': 2978.992, 'duration': 3.924}, {'end': 2984.978, 'text': 'you can compare with constants and with strings.', 'start': 2982.916, 'duration': 2.062}, {'end': 2990.543, 'text': 'just remember, you can do less than or equal to, or sorry, not less than not, not equal to or equal to,', 'start': 2984.978, 'duration': 5.565}, {'end': 2994.568, 'text': "and you can compare floats with ins and you'll see as we continue going through the video.", 'start': 2990.543, 'duration': 4.025}, {'end': 2995.989, 'text': "it's too long to go through all of them right now.", 'start': 2994.568, 'duration': 1.421}, {'end': 3005.072, 'text': "In this video we're going to be going over, if else, and elif statements in Java.", 'start': 3000.39, 'duration': 4.682}, {'end': 3009.054, 'text': 'So quickly, I just want to fix a really small mistake I made in the last video.', 'start': 3005.572, 'duration': 3.482}, {'end': 3012.055, 'text': "So if you guys don't know, I am like a Python programmer, typically.", 'start': 3009.074, 'duration': 2.981}, {'end': 3015.596, 'text': "So I'm doing Java, obviously, but Python is like my first language.", 'start': 3012.675, 'duration': 2.921}], 'summary': 'Explanation of evaluating conditions and combining multiple things in java', 'duration': 138.397, 'max_score': 2877.199, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX02877199.jpg'}, {'end': 3303.935, 'src': 'embed', 'start': 3274.835, 'weight': 1, 'content': [{'end': 3275.975, 'text': "so that's pretty straightforward.", 'start': 3274.835, 'duration': 1.14}, {'end': 3280.037, 'text': "now I'm gonna show you else and else if we're gonna start with else.", 'start': 3275.975, 'duration': 4.062}, {'end': 3282.018, 'text': 'so else is very straightforward.', 'start': 3280.037, 'duration': 1.981}, {'end': 3286.982, 'text': 'it can only come after an else if or an if.', 'start': 3282.478, 'duration': 4.504}, {'end': 3291.705, 'text': "so, like, the start of the block has to be if and then this else you can't just have it like a loan.", 'start': 3286.982, 'duration': 4.723}, {'end': 3295.949, 'text': "it has to come after an if statement or an else if statement, which we're going to go into in a second, okay.", 'start': 3291.705, 'duration': 4.244}, {'end': 3297.97, 'text': "There's different ways to format this.", 'start': 3296.829, 'duration': 1.141}, {'end': 3299.852, 'text': 'Some people like to put the else like this.', 'start': 3298.01, 'duration': 1.842}, {'end': 3303.935, 'text': 'So it has the closing bracelet and then the open brace, I personally like to do it like this.', 'start': 3299.892, 'duration': 4.043}], 'summary': "The 'else' statement can only come after an 'if' or 'else if' statement, and there are different formatting preferences for it.", 'duration': 29.1, 'max_score': 3274.835, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX03274835.jpg'}, {'end': 3544.67, 'src': 'embed', 'start': 3518.801, 'weight': 3, 'content': [{'end': 3523.305, 'text': 'Now, if I type hi, you see we get hello because right.', 'start': 3518.801, 'duration': 4.504}, {'end': 3524.546, 'text': "We went through it wasn't equal to Tim.", 'start': 3523.345, 'duration': 1.201}, {'end': 3525.487, 'text': "It wasn't equal to hello.", 'start': 3524.626, 'duration': 0.861}, {'end': 3526.648, 'text': 'So we printed hi.', 'start': 3525.667, 'duration': 0.981}, {'end': 3528.831, 'text': 'Now, I want to show you this.', 'start': 3527.449, 'duration': 1.382}, {'end': 3531.094, 'text': "This is a bad example, but it'll work.", 'start': 3528.891, 'duration': 2.203}, {'end': 3538.584, 'text': "If I put hello here and I put hello here, which one are we going to print? So remember, we're only going to print one of these things.", 'start': 3531.615, 'duration': 6.969}, {'end': 3539.685, 'text': "We're not going to print more than one.", 'start': 3538.604, 'duration': 1.081}, {'end': 3544.67, 'text': "So which one is it? Is it hi or is it hello? Well, let's test it out.", 'start': 3539.925, 'duration': 4.745}], 'summary': "Demonstrating conditional logic with examples of 'hi' and 'hello'", 'duration': 25.869, 'max_score': 3518.801, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX03518801.jpg'}, {'end': 3839.534, 'src': 'heatmap', 'start': 3696.949, 'weight': 1, 'content': [{'end': 3701.311, 'text': 'or integer, I always forget how to do this integer dot parse int.', 'start': 3696.949, 'duration': 4.362}, {'end': 3705.132, 'text': 'And then in here, we need to type s.', 'start': 3701.931, 'duration': 3.201}, {'end': 3708.054, 'text': "So we're going to convert whatever they type into an integer in this case.", 'start': 3705.132, 'duration': 2.922}, {'end': 3710.575, 'text': "So we're going to assume that they type in an integer.", 'start': 3708.074, 'duration': 2.501}, {'end': 3722.98, 'text': "So we'll say if age is greater than or equal to 13, then we will simply print system dot out dot print ln.", 'start': 3710.915, 'duration': 12.065}, {'end': 3729.445, 'text': 'you can write okay, exclamation point.', 'start': 3725.464, 'duration': 3.981}, {'end': 3734.887, 'text': "now, if they're not older than 13, that must mean that they are less than 13 or younger than 13.", 'start': 3729.445, 'duration': 5.442}, {'end': 3746.211, 'text': 'so in this case we will simply print that they cannot write system.out.println and you cannot write exclamation point.', 'start': 3734.887, 'duration': 11.324}, {'end': 3748.132, 'text': 'okay, pretty basic program.', 'start': 3746.211, 'duration': 1.921}, {'end': 3750.313, 'text': "uh, we kind of gone through all this work, so let's test it out.", 'start': 3748.132, 'duration': 2.181}, {'end': 3752.454, 'text': 'Input your age five.', 'start': 3751.033, 'duration': 1.421}, {'end': 3755.317, 'text': "You cannot ride, okay? Let's try this now.", 'start': 3752.815, 'duration': 2.502}, {'end': 3757.879, 'text': 'Input your age, 43.', 'start': 3755.497, 'duration': 2.382}, {'end': 3759.08, 'text': 'You can ride, awesome.', 'start': 3757.879, 'duration': 1.201}, {'end': 3761.261, 'text': "Okay, so everything's working fine for right now.", 'start': 3759.14, 'duration': 2.121}, {'end': 3767.927, 'text': "Now what I'm gonna do is I am going to add a else if here, and I'm gonna change kind of the problem that we're looking at.", 'start': 3762.082, 'duration': 5.845}, {'end': 3776.614, 'text': "So I'm gonna say now I want to classify the person based on their age, as either an adult, a teenager or just like younger than a teenager.", 'start': 3767.987, 'duration': 8.627}, {'end': 3777.955, 'text': "okay? I don't know what do you call those?", 'start': 3776.614, 'duration': 1.341}, {'end': 3779.336, 'text': 'Whatever younger than teenager is.', 'start': 3777.975, 'duration': 1.361}, {'end': 3787.039, 'text': 'okay. so if we are greater than or equal to 18, I want to print you are an adult, okay now.', 'start': 3779.956, 'duration': 7.083}, {'end': 3792.001, 'text': 'otherwise, so, if they are not greater than 18, we want to check if they are less than 18.', 'start': 3787.039, 'duration': 4.962}, {'end': 3795.322, 'text': "so, or if they're actually, we'll do it in a cool way.", 'start': 3792.001, 'duration': 3.321}, {'end': 3796.543, 'text': "that's gonna make sense here in a second.", 'start': 3795.322, 'duration': 1.221}, {'end': 3802.106, 'text': "so else, if age is not greater than or equal to 18, we know it's less than 18.", 'start': 3796.543, 'duration': 5.563}, {'end': 3809.35, 'text': 'so all we actually have to check is if they are older than 13, right or greater or older than or equal to 13,', 'start': 3802.106, 'duration': 7.244}, {'end': 3811.971, 'text': "because that's what a teenager would be okay.", 'start': 3809.35, 'duration': 2.621}, {'end': 3817.274, 'text': "and the reason we don't have to check if they are uh, what do you call it younger is?", 'start': 3811.971, 'duration': 5.303}, {'end': 3821.537, 'text': "or if they're older is because, uh, we already know that they're going to be younger than 18.", 'start': 3817.274, 'duration': 4.263}, {'end': 3824.098, 'text': "so no, we're within that range.", 'start': 3821.537, 'duration': 2.561}, {'end': 3825.499, 'text': 'so i already butchered that explanation.', 'start': 3824.098, 'duration': 1.401}, {'end': 3826.06, 'text': "but that's okay.", 'start': 3825.499, 'duration': 0.561}, {'end': 3829.343, 'text': 'so system dot out, dot, print LN.', 'start': 3826.06, 'duration': 3.283}, {'end': 3834.428, 'text': "And in this case, we'll just say you are a teenager.", 'start': 3829.683, 'duration': 4.745}, {'end': 3835.629, 'text': 'Okay Like that.', 'start': 3834.448, 'duration': 1.181}, {'end': 3839.534, 'text': "And then in this last case, well, we know they're not older than or equal to 18.", 'start': 3836.01, 'duration': 3.524}], 'summary': 'A program to classify age as adult, teenager, or younger, with examples of age-based output.', 'duration': 142.585, 'max_score': 3696.949, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX03696949.jpg'}, {'end': 3940.15, 'src': 'embed', 'start': 3912.909, 'weight': 0, 'content': [{'end': 3919.032, 'text': "So if this happens, we're going to do this, and this is going to show you nesting, okay? So I'm going to say sc, or we'll say string.", 'start': 3912.909, 'duration': 6.123}, {'end': 3922.854, 'text': "I guess we can just do int because we're going to assume they're our string, I guess, because they're going to be food, yeah.", 'start': 3919.072, 'duration': 3.782}, {'end': 3926.736, 'text': "We'll say string food is equal to sc.string.", 'start': 3923.174, 'duration': 3.562}, {'end': 3933.463, 'text': "next line like this okay, and what I'm gonna do is I'm gonna print up here again what we're looking for.", 'start': 3927.336, 'duration': 6.127}, {'end': 3940.15, 'text': "so I'll just copy this, save me a second and in this case I'll say input your fav food.", 'start': 3933.463, 'duration': 6.687}], 'summary': 'Demonstration of coding with string manipulation and input function.', 'duration': 27.241, 'max_score': 3912.909, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX03912909.jpg'}, {'end': 3980.676, 'src': 'embed', 'start': 3948.158, 'weight': 2, 'content': [{'end': 3950.56, 'text': "Otherwise I'll say that's not my favorite food or something like that.", 'start': 3948.158, 'duration': 2.402}, {'end': 3954.142, 'text': "Okay, So we'll say if, and we have our condition in here.", 'start': 3950.6, 'duration': 3.542}, {'end': 3963.607, 'text': "we'll say if food dot equals, and in this case we'll simply type pizza right?", 'start': 3954.142, 'duration': 9.465}, {'end': 3968.43, 'text': 'Then we will system.out.println.', 'start': 3964.048, 'duration': 4.382}, {'end': 3971.792, 'text': "And we'll say mine.", 'start': 3970.572, 'duration': 1.22}, {'end': 3974.294, 'text': 'Wow Inside of the quotes, hopefully.', 'start': 3971.812, 'duration': 2.482}, {'end': 3979.415, 'text': 'say mine too, and then otherwise.', 'start': 3976.693, 'duration': 2.722}, {'end': 3980.676, 'text': 'so the else.', 'start': 3979.415, 'duration': 1.261}], 'summary': "Programming script evaluates if food equals pizza, then system prints 'mine'.", 'duration': 32.518, 'max_score': 3948.158, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX03948158.jpg'}], 'start': 2275.574, 'title': 'Java comparison operators and conditionals', 'summary': 'Introduces comparison operators and conditionals in java, covering the usage of comparison operators for integers and strings, conditional operators such as and, or, and not, along with if and else statements. it emphasizes the distinction between assignment and comparison operators, correct method for comparing strings, and includes examples of nested if statements and else-if conditions.', 'chapters': [{'end': 2350.136, 'start': 2275.574, 'title': 'Introduction to comparison operators and conditionals', 'summary': 'Introduces the concept of comparison operators and conditionals, explaining how to handle integer conversion and the use of boolean variables in programming, setting the stage for future discussions on error catching and if statements.', 'duration': 74.562, 'highlights': ['The chapter discusses the challenges of converting non-integer values to integers, highlighting the need to check if the value is an integer before conversion, setting the stage for future discussions on error catching and if statements.', 'It also covers the use of comparison operators such as greater than, less than, equal to, and not, providing a foundation for understanding chaining conditionals and the use of Boolean variables in programming.', 'The video promises to demonstrate the use of if statements, L statements, and error catching for handling non-integer values, setting the expectation for upcoming tutorials on these topics.']}, {'end': 2612.734, 'start': 2350.156, 'title': 'Comparison operators in java', 'summary': 'Explains the usage of comparison operators in java, including greater than, less than, equal to, greater than or equal to, less than or equal to, and not equal to for both integers and strings, emphasizing the distinction between assignment and comparison operators and the significance of capitalization in strings.', 'duration': 262.578, 'highlights': ['The chapter explains the usage of comparison operators in Java, including greater than, less than, equal to, greater than or equal to, less than or equal to, and not equal to for both integers and strings.', 'Emphasizes the distinction between assignment and comparison operators.', 'Significance of capitalization in strings is highlighted, showcasing that capital letters do matter in programming and in variable names.']}, {'end': 3160.694, 'start': 2613.775, 'title': 'Java conditional operators', 'summary': 'Introduces and explains the usage of conditional operators such as and, or, and not in java, along with their functionality and examples of combining them. it also discusses the correct method for comparing strings in java, highlighting the importance of using dot equals instead of double equal signs. the chapter also briefly touches on the basics of if and else statements in java, emphasizing their significance in programming for executing different actions based on conditions.', 'duration': 546.919, 'highlights': ['The chapter explains the usage of conditional operators such as and, or, and not in Java, along with their functionality and examples of combining them.', 'The chapter discusses the correct method for comparing strings in Java, emphasizing the importance of using dot equals instead of double equal signs.', 'The chapter briefly touches on the basics of if and else statements in Java, emphasizing their significance in programming for executing different actions based on conditions.']}, {'end': 4017.323, 'start': 3160.874, 'title': 'Nested if statements and else-if conditions', 'summary': 'Covers the basics of if statements, else-if conditions, and nested if statements in java, demonstrating their functionality through a program that categorizes users based on their age and favorite food, with examples of if-else conditions and nested if statements.', 'duration': 856.449, 'highlights': ['The chapter covers the basics of if statements and else-if conditions in Java, demonstrating their functionality through a program that categorizes users based on their age and favorite food.', 'The program uses if-else conditions to categorize users as adults, teenagers, or neither based on their input age, with specific responses for each category.', 'The program demonstrates the use of nested if statements to ask users about their favorite food and provide different responses based on their input.']}], 'duration': 1741.749, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX02275574.jpg', 'highlights': ['The chapter covers the basics of if statements and else-if conditions in Java, demonstrating their functionality through a program that categorizes users based on their age and favorite food.', 'The chapter explains the usage of comparison operators in Java, including greater than, less than, equal to, greater than or equal to, less than or equal to, and not equal to for both integers and strings.', 'The chapter discusses the correct method for comparing strings in Java, emphasizing the importance of using dot equals instead of double equal signs.', 'The chapter explains the usage of conditional operators such as and, or, and not in Java, along with their functionality and examples of combining them.']}, {'end': 6024.72, 'segs': [{'end': 4984.871, 'src': 'embed', 'start': 4954.786, 'weight': 2, 'content': [{'end': 4960.447, 'text': "So we're going to use this length so that we can change this loop in this loop will never crash, it will always work.", 'start': 4954.786, 'duration': 5.661}, {'end': 4963.41, 'text': "because we're just simply getting the length of the array.", 'start': 4961.047, 'duration': 2.363}, {'end': 4967.875, 'text': 'Now, if I were to do equal here, I hope you guys realize this will cause us an issue.', 'start': 4963.87, 'duration': 4.005}, {'end': 4971.298, 'text': "And that's because we have six elements in the array, right?", 'start': 4968.295, 'duration': 3.003}, {'end': 4975.983, 'text': "But it's going to allow us to get i to the value six, because that's the length of the array.", 'start': 4971.719, 'duration': 4.264}, {'end': 4984.871, 'text': 'Now what happens if I try to do this ARR of six, Well, we should know from the last video that that will actually crash our program.', 'start': 4976.384, 'duration': 8.487}], 'summary': 'Using array length to prevent crashing, avoiding out-of-bounds access', 'duration': 30.085, 'max_score': 4954.786, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX04954786.jpg'}, {'end': 5478.268, 'src': 'embed', 'start': 5408.556, 'weight': 3, 'content': [{'end': 5412.64, 'text': 'equals SC dot next line like this.', 'start': 5408.556, 'duration': 4.084}, {'end': 5417.204, 'text': 'And this way, every time we run the loop, we are going to get input from the user.', 'start': 5413.341, 'duration': 3.863}, {'end': 5417.584, 'text': 'And you know what.', 'start': 5417.224, 'duration': 0.36}, {'end': 5426.433, 'text': "let's also just print out here system dot out, print on and just tell the user we want, actually we'll just do print, not ln.", 'start': 5417.584, 'duration': 8.849}, {'end': 5428.755, 'text': "we'll say input like this", 'start': 5426.433, 'duration': 2.322}, {'end': 5430.116, 'text': 'So that way, they know what to type in.', 'start': 5428.775, 'duration': 1.341}, {'end': 5431.557, 'text': "Okay, so input, we're getting input.", 'start': 5430.156, 'duration': 1.401}, {'end': 5436.202, 'text': "And now what I'm going to do is I'm going to add the user's input into our array.", 'start': 5431.978, 'duration': 4.224}, {'end': 5437.483, 'text': 'So how can I do this?', 'start': 5436.582, 'duration': 0.901}, {'end': 5438.383, 'text': 'Well, this is really easy.', 'start': 5437.543, 'duration': 0.84}, {'end': 5440.165, 'text': 'I can just do names.', 'start': 5438.383, 'duration': 1.782}, {'end': 5442.567, 'text': 'I is equal to input, right?', 'start': 5440.165, 'duration': 2.402}, {'end': 5451.874, 'text': "So we're just declaring that whatever index we are in the loop right now, so whatever value of i well, that value in the list or sorry,", 'start': 5442.947, 'duration': 8.927}, {'end': 5454.196, 'text': "the list I keep calling a list, it's an array I'm just used to.", 'start': 5451.874, 'duration': 2.322}, {'end': 5456.138, 'text': 'Python is going to be equal to whatever we typed in.', 'start': 5454.196, 'duration': 1.942}, {'end': 5461.581, 'text': 'And then if we want to print out the entire array, what we can do is we use another for loop.', 'start': 5456.438, 'duration': 5.143}, {'end': 5465.323, 'text': "So we'll just say for, and then this time it's going to be a for each loop, right?", 'start': 5461.601, 'duration': 3.722}, {'end': 5472.626, 'text': "So we'll say for, and this just stand for name, string and and names.", 'start': 5465.383, 'duration': 7.243}, {'end': 5478.268, 'text': 'okay, then we will simply just do system dot out, dot, print ln.', 'start': 5472.626, 'duration': 5.642}], 'summary': 'Program prompts user for input, adds it to an array, then prints the array.', 'duration': 69.712, 'max_score': 5408.556, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX05408556.jpg'}, {'end': 5624.259, 'src': 'heatmap', 'start': 5482.55, 'weight': 0.958, 'content': [{'end': 5483.671, 'text': "Okay, so that's two good examples.", 'start': 5482.55, 'duration': 1.121}, {'end': 5485.333, 'text': "Let's run this and just make sure everything's working.", 'start': 5483.691, 'duration': 1.642}, {'end': 5494.14, 'text': "So we run this input, I'm just gonna type Hello, I guess it wanted names in it, Tim, Bob, Joe, Bill.", 'start': 5485.793, 'duration': 8.347}, {'end': 5495.601, 'text': 'And then there we go.', 'start': 5494.82, 'duration': 0.781}, {'end': 5497.523, 'text': 'So we ran that five times.', 'start': 5495.781, 'duration': 1.742}, {'end': 5500.985, 'text': 'And we get Hello, Tim, Bob, Joe, and Bill.', 'start': 5497.923, 'duration': 3.062}, {'end': 5502.587, 'text': 'Awesome There we go.', 'start': 5501.726, 'duration': 0.861}, {'end': 5506.03, 'text': 'So that gives us all the values that we need.', 'start': 5502.827, 'duration': 3.203}, {'end': 5511.58, 'text': 'Okay, so now what I want to show you guys is how we can break out of the loop.', 'start': 5507.717, 'duration': 3.863}, {'end': 5518.106, 'text': "So if we're in the loop and we're going through and we're doing operations and we've not yet met the condition where are like,", 'start': 5512.161, 'duration': 5.945}, {'end': 5522.21, 'text': 'so the loop is going to keep going like is not greater than whatever value or whatnot.', 'start': 5518.106, 'duration': 4.104}, {'end': 5525.911, 'text': 'Okay then we want to break out of it.', 'start': 5522.25, 'duration': 3.661}, {'end': 5532.694, 'text': 'How can we do that? So how can we just get out of it in the middle of looping? Well, there is this magical little keyword called break.', 'start': 5526.031, 'duration': 6.663}, {'end': 5539.718, 'text': 'And what this does is whenever this is encountered inside of a loop, it simply breaks out of the loop.', 'start': 5533.575, 'duration': 6.143}, {'end': 5547.139, 'text': 'So in this case, what would happen is since I have break at the end, we would do these first three lines, then we just break.', 'start': 5540.638, 'duration': 6.501}, {'end': 5553.141, 'text': 'And this would only happen one time, no matter what, no matter what any of this stuff said, this loop would only happen once.', 'start': 5547.78, 'duration': 5.361}, {'end': 5560.202, 'text': "Now, I'm going to show you just down here in this loop, how we can break out based on like a certain condition.", 'start': 5554.121, 'duration': 6.081}, {'end': 5567.524, 'text': 'So for example, say we encountered the word n, or what do you call the word Tim, what am I saying? And I was just reading that.', 'start': 5561.003, 'duration': 6.521}, {'end': 5572.286, 'text': "if we encounter like the word Tim while we're reading through the list of names, then we just want to break out.", 'start': 5568.044, 'duration': 4.242}, {'end': 5574.888, 'text': "like we don't want to print any more names anymore, we just want to break out.", 'start': 5572.286, 'duration': 2.602}, {'end': 5579.73, 'text': "so the way that I can do this right now I can say well, we're gonna, we're gonna print Tim, but we'll break after Tim.", 'start': 5574.888, 'duration': 4.842}, {'end': 5581.071, 'text': "okay, so what I'm gonna do?", 'start': 5579.73, 'duration': 1.341}, {'end': 5587.054, 'text': "in a dual if statement I'm gonna say if and equals equals or not, equals, equals, dot, equals, okay,", 'start': 5581.071, 'duration': 5.983}, {'end': 5589.956, 'text': "and in this case we'll just simply put Tim in here.", 'start': 5587.054, 'duration': 2.902}, {'end': 5593.518, 'text': "then what we're going to do is we're going to break.", 'start': 5591.016, 'duration': 2.502}, {'end': 5600.782, 'text': 'And in this case, now, whenever we encounter Tim, we are simply breaking out of the loop, and that means we will not print the rest of the names.', 'start': 5594.178, 'duration': 6.604}, {'end': 5609.947, 'text': "So if I run this, just drag this console up here, and we run, and we say hello, and we say name, and then we say Tim, and I'll just show you this Tim.", 'start': 5600.962, 'duration': 8.985}, {'end': 5617.413, 'text': "and Tim, and I run this here, you see we get Hello, name and Tim, and these other two Tim's do not print.", 'start': 5610.707, 'duration': 6.706}, {'end': 5624.259, 'text': "And again, that's because once we hit Tim, and n is equal to Tim, we simply break, okay, and we get out of the loop.", 'start': 5617.953, 'duration': 6.306}], 'summary': "Demonstrating how to break out of a loop using 'break' keyword, illustrated with multiple examples.", 'duration': 141.709, 'max_score': 5482.55, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX05482550.jpg'}, {'end': 5567.524, 'src': 'embed', 'start': 5526.031, 'weight': 4, 'content': [{'end': 5532.694, 'text': 'How can we do that? So how can we just get out of it in the middle of looping? Well, there is this magical little keyword called break.', 'start': 5526.031, 'duration': 6.663}, {'end': 5539.718, 'text': 'And what this does is whenever this is encountered inside of a loop, it simply breaks out of the loop.', 'start': 5533.575, 'duration': 6.143}, {'end': 5547.139, 'text': 'So in this case, what would happen is since I have break at the end, we would do these first three lines, then we just break.', 'start': 5540.638, 'duration': 6.501}, {'end': 5553.141, 'text': 'And this would only happen one time, no matter what, no matter what any of this stuff said, this loop would only happen once.', 'start': 5547.78, 'duration': 5.361}, {'end': 5560.202, 'text': "Now, I'm going to show you just down here in this loop, how we can break out based on like a certain condition.", 'start': 5554.121, 'duration': 6.081}, {'end': 5567.524, 'text': 'So for example, say we encountered the word n, or what do you call the word Tim, what am I saying? And I was just reading that.', 'start': 5561.003, 'duration': 6.521}], 'summary': "The 'break' keyword allows exiting loops prematurely, ensuring only one iteration in the given example.", 'duration': 41.493, 'max_score': 5526.031, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX05526031.jpg'}, {'end': 5907.045, 'src': 'embed', 'start': 5881.245, 'weight': 0, 'content': [{'end': 5894.437, 'text': "And in this case, we'll just say you tried tired, you tried and then plus count plus Okay, make sure we add a little space here.", 'start': 5881.245, 'duration': 13.192}, {'end': 5903.743, 'text': "Alright, so now if we run this, and we'll say like 123 and 10, you tried three times until like, eventually you got it.", 'start': 5894.938, 'duration': 8.805}, {'end': 5907.045, 'text': "Okay So that's like a really simple way to do stuff with wall loops.", 'start': 5903.783, 'duration': 3.262}], 'summary': 'Using wall loops, the person tried 3 times until eventually succeeding.', 'duration': 25.8, 'max_score': 5881.245, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX05881245.jpg'}], 'start': 4017.323, 'title': 'Java arrays and looping', 'summary': 'Explains nesting statements and initializing arrays including creating, indexing, and accessing elements, array traversal using for loops, for each loop usage, populating array with for loop, and the usage of while loops in programming, with practical examples and emphasis on loop conditions and error handling.', 'chapters': [{'end': 4473.748, 'start': 4017.323, 'title': 'Nested statements and initializing arrays', 'summary': 'Explains the concept of nesting statements and initializing arrays in java, including creating, indexing, and accessing elements in arrays, with examples of string and integer arrays.', 'duration': 456.425, 'highlights': ['Initializing arrays with a set length and declaring the type', 'Indexing and accessing elements in an array', 'Adding values to an array and accessing them']}, {'end': 5084.701, 'start': 4474.028, 'title': 'Arrays, for loops, and array traversal', 'summary': 'Covers creating arrays of different types, understanding for loops as a fundamental aspect of programming, and array traversal using for loops to iterate through and manipulate array elements, with a focus on avoiding crashes by ensuring loop conditions do not exceed array lengths.', 'duration': 610.673, 'highlights': ['For loops are a fundamental aspect of every programming language and are very important to understand, as they allow automating a task a set amount of times.', 'The syntax for a for loop consists of three components: variable declaration, loop condition, and an increment, which allows controlling the loop execution based on the specified conditions.', 'The chapter emphasizes the significance of ensuring that the loop condition does not exceed the length of the array to avoid program crashes.', 'Array traversal using for loops allows iterating through and manipulating array elements, with a focus on understanding array lengths and avoiding crashes by ensuring loop conditions are appropriately set.', 'Creating arrays of different types, such as string, float, and double, provides flexibility in handling various data types and performing diverse operations.']}, {'end': 5320.632, 'start': 5084.942, 'title': 'For each loop and breaking out', 'summary': 'Explains the usage of for each loop to iterate through a list or collection, provides an example of printing elements using for each loop, and demonstrates how to track the index of elements in the loop using an external counter variable.', 'duration': 235.69, 'highlights': ['The chapter explains the usage of for each loop to iterate through a list or collection', 'Provides an example of printing elements using for each loop', 'Demonstrates how to track the index of elements in the loop using an external counter variable']}, {'end': 5624.259, 'start': 5320.712, 'title': 'Populating array with for loop', 'summary': 'Demonstrates populating an array using a for loop, utilizing a scanner to obtain user input, and breaking out of the loop based on specific conditions, achieving successful results with the provided example.', 'duration': 303.547, 'highlights': ['Populating an array using a for loop', 'Utilizing a scanner to obtain user input', 'Breaking out of the loop based on specific conditions']}, {'end': 6024.72, 'start': 5624.759, 'title': 'While loops in programming', 'summary': 'Discusses the usage of while loops in programming, emphasizing their similarity and interchangeability with for loops, along with providing a practical demonstration of using while loops for user input validation and error counting.', 'duration': 399.961, 'highlights': ['The chapter emphasizes the similarity and interchangeability of while loops and for loops, highlighting that anything achievable with a for loop can also be done with a while loop, and vice versa.', 'The practical demonstration showcases the use of a while loop for user input validation, where the loop continually prompts the user for input until a specified condition (typing the number 10) is met, effectively illustrating the functionality of while loops in a real-world scenario.', 'The chapter introduces the concept of do-while loops as an alternative to while loops, demonstrating how the do-while loop executes its block of code at least once, regardless of the condition, providing more flexibility in certain programming scenarios.', 'The detailed explanation and demonstration of using while loops for error counting, where the loop increments a counter for each iteration, effectively showcasing the versatility of while loops beyond basic conditional checks.']}], 'duration': 2007.397, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX04017323.jpg', 'highlights': ['Array traversal using for loops emphasizes understanding array lengths and avoiding crashes', 'The significance of ensuring that the loop condition does not exceed the length of the array', 'Creating arrays of different types provides flexibility in handling various data types', 'The chapter explains the usage of for each loop to iterate through a list or collection', 'The practical demonstration showcases the use of a while loop for user input validation', 'The chapter introduces the concept of do-while loops as an alternative to while loops', 'The detailed explanation and demonstration of using while loops for error counting', 'For loops are fundamental and allow automating a task a set amount of times', 'The syntax for a for loop consists of three components: variable declaration, loop condition, and an increment', 'Populating an array using a for loop and utilizing a scanner to obtain user input']}, {'end': 7652.123, 'segs': [{'end': 6852.758, 'src': 'heatmap', 'start': 6712.916, 'weight': 0.807, 'content': [{'end': 6718.741, 'text': 'Now to like put thing, put something or to set something at a certain index, what you do, this is t dot set.', 'start': 6712.916, 'duration': 5.825}, {'end': 6722.024, 'text': 'And you type the index and the element.', 'start': 6719.862, 'duration': 2.162}, {'end': 6729.048, 'text': "So I wanted to set index one per se to be equal to like five, then that's the way I would do it.", 'start': 6722.444, 'duration': 6.604}, {'end': 6730.249, 'text': 'Index one is five.', 'start': 6729.208, 'duration': 1.041}, {'end': 6734.832, 'text': 'Okay We print out a T here just to show you what it looks like.', 'start': 6730.349, 'duration': 4.483}, {'end': 6737.734, 'text': 'Uh, one sec.', 'start': 6736.253, 'duration': 1.481}, {'end': 6739.475, 'text': "Okay Sorry, but that's, we can't do that.", 'start': 6737.834, 'duration': 1.641}, {'end': 6740.656, 'text': 'We have to do T.', 'start': 6739.495, 'duration': 1.161}, {'end': 6741.536, 'text': 'We have to add something in.', 'start': 6740.656, 'duration': 0.88}, {'end': 6745.719, 'text': 'So to set something like this, sorry, uh, you have to actually have something added at that index.', 'start': 6741.696, 'duration': 4.023}, {'end': 6746.139, 'text': 'I forgot.', 'start': 6745.759, 'duration': 0.38}, {'end': 6746.659, 'text': "I didn't add that.", 'start': 6746.159, 'duration': 0.5}, {'end': 6749.231, 'text': "So I'm just going to add two.", 'start': 6746.679, 'duration': 2.552}, {'end': 6757.137, 'text': "So what I'm doing now essentially is what this set actually does is you have to have something already existing at that index.", 'start': 6749.952, 'duration': 7.185}, {'end': 6759.559, 'text': 'And this is going to change that index for you.', 'start': 6757.237, 'duration': 2.322}, {'end': 6761.76, 'text': 'So this is to change an already existing index.', 'start': 6759.599, 'duration': 2.161}, {'end': 6764.342, 'text': "And before I was trying to set one when we didn't have that in.", 'start': 6761.78, 'duration': 2.562}, {'end': 6765.223, 'text': 'So that was my mistake.', 'start': 6764.422, 'duration': 0.801}, {'end': 6766.083, 'text': 'But anyways, there we go.', 'start': 6765.263, 'duration': 0.82}, {'end': 6766.784, 'text': 'So now that works.', 'start': 6766.103, 'duration': 0.681}, {'end': 6772.147, 'text': "we've changed two to equal to five and twos opposition one, right? So that's the way that that works.", 'start': 6767.604, 'duration': 4.543}, {'end': 6776.43, 'text': "I've got a thing up here, I'm just gonna read through a few of these sets.", 'start': 6772.647, 'duration': 3.783}, {'end': 6777.77, 'text': 'Yeah, okay.', 'start': 6777.33, 'duration': 0.44}, {'end': 6779.071, 'text': "So that's the basic ones.", 'start': 6777.81, 'duration': 1.261}, {'end': 6780.952, 'text': 'Again, we have dot size.', 'start': 6779.551, 'duration': 1.401}, {'end': 6785.615, 'text': 'So t dot size, we can do t dot empty, or is empty.', 'start': 6781.192, 'duration': 4.423}, {'end': 6787.156, 'text': 'And this is actually really useful.', 'start': 6786.075, 'duration': 1.081}, {'end': 6788.297, 'text': "And it's called sublist.", 'start': 6787.196, 'duration': 1.101}, {'end': 6791.779, 'text': 'And what this allows us to do is get from certain indexes.', 'start': 6788.737, 'duration': 3.042}, {'end': 6794.72, 'text': "So t dot sub list, let's see, add argument.", 'start': 6792.399, 'duration': 2.321}, {'end': 6795.84, 'text': 'Yeah, so we just need int.', 'start': 6794.76, 'duration': 1.08}, {'end': 6799.301, 'text': 'So this is going to allow us to get within a certain range.', 'start': 6796, 'duration': 3.301}, {'end': 6802.761, 'text': 'So say I add like these a bunch of times.', 'start': 6799.861, 'duration': 2.9}, {'end': 6806.262, 'text': 'Okay, so we have six elements now.', 'start': 6803.421, 'duration': 2.841}, {'end': 6813.163, 'text': 'What I want to do is I want to get from like index one to index three, and I want to print that to the screen.', 'start': 6807.742, 'duration': 5.421}, {'end': 6817.324, 'text': "So let's just take this and put this here instead.", 'start': 6813.323, 'duration': 4.001}, {'end': 6820.645, 'text': "So let's get rid of T, get rid of the semicolon.", 'start': 6817.344, 'duration': 3.301}, {'end': 6822.416, 'text': 'and print out and see what we get.', 'start': 6821.268, 'duration': 1.148}, {'end': 6831.932, 'text': 'So we get here now is five and one, because although our uh list actually has what do you call it? Like six elements in it,', 'start': 6824.71, 'duration': 7.222}, {'end': 6837.054, 'text': 'from here we can just get the elements from one to three, not including three.', 'start': 6831.932, 'duration': 5.122}, {'end': 6841.935, 'text': 'So if I type like one to four, then you should see, we get one more element in here.', 'start': 6837.874, 'duration': 4.061}, {'end': 6847.556, 'text': "We get five, one and two, because that's from, from index one to index four, but not including index four.", 'start': 6842.595, 'duration': 4.961}, {'end': 6849.217, 'text': "That's what we're grabbing.", 'start': 6848.437, 'duration': 0.78}, {'end': 6852.758, 'text': "We're getting all those elements in the, uh, the sub list like that.", 'start': 6849.237, 'duration': 3.521}], 'summary': "Demonstrating the use of java's t.set function to change existing indexes and t.sublist to extract elements within a specified range.", 'duration': 139.842, 'max_score': 6712.916, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX06712916.jpg'}, {'end': 7019.59, 'src': 'embed', 'start': 6977.312, 'weight': 0, 'content': [{'end': 6978.212, 'text': "I'm just going to create a map.", 'start': 6977.312, 'duration': 0.9}, {'end': 6983.596, 'text': 'M is going to equal to new hash map like this.', 'start': 6978.433, 'duration': 5.163}, {'end': 6986.778, 'text': 'Okay And this is your simple syntax.', 'start': 6983.876, 'duration': 2.902}, {'end': 6988.639, 'text': 'Now to, you have to import this.', 'start': 6987.038, 'duration': 1.601}, {'end': 6990.4, 'text': "So I'm just going to import java.util.", 'start': 6988.659, 'duration': 1.741}, {'end': 6993.001, 'text': 'So just by clicking on it, And we have to import map as well.', 'start': 6990.44, 'duration': 2.561}, {'end': 6995.762, 'text': "So we'll import the map there.", 'start': 6993.602, 'duration': 2.16}, {'end': 6997.763, 'text': "So you see, it's all coming up now for us.", 'start': 6995.862, 'duration': 1.901}, {'end': 7001.804, 'text': 'Okay, so now that we have that, I want to talk about exactly what a map is.', 'start': 6998.343, 'duration': 3.461}, {'end': 7010.746, 'text': "Now, map, like I said, is a key value pair, meaning that it's similar to like a list and an array, in the sense that you can index things,", 'start': 7002.384, 'duration': 8.362}, {'end': 7014.207, 'text': 'but instead of indexing them by numbers, you index them by keys.', 'start': 7010.746, 'duration': 3.461}, {'end': 7017.448, 'text': 'Now, keys can be anything that you want.', 'start': 7015.487, 'duration': 1.961}, {'end': 7019.59, 'text': 'A key could be a string, a key could be an array.', 'start': 7017.568, 'duration': 2.022}], 'summary': "Creating a map using java's hash map, indexing by key-value pairs.", 'duration': 42.278, 'max_score': 6977.312, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX06977312.jpg'}, {'end': 7098.385, 'src': 'embed', 'start': 7060.768, 'weight': 2, 'content': [{'end': 7066.609, 'text': "so i put that in there and now i'll just show you, uh, what it looks like if we print this out to the screen,", 'start': 7060.768, 'duration': 5.841}, {'end': 7069.95, 'text': 'because i think it will give us a decent representation.', 'start': 7066.609, 'duration': 3.341}, {'end': 7070.47, 'text': 'system dot.', 'start': 7069.95, 'duration': 0.52}, {'end': 7072.491, 'text': 'What am I saying?', 'start': 7071.75, 'duration': 0.741}, {'end': 7075.032, 'text': 'System.out.println.', 'start': 7072.531, 'duration': 2.501}, {'end': 7076.373, 'text': "Sorry, guys, I'm a little tired today.", 'start': 7075.052, 'duration': 1.321}, {'end': 7079.254, 'text': "And we'll print m and see what we get.", 'start': 7076.953, 'duration': 2.301}, {'end': 7081.576, 'text': 'So in this case, you can say we have C.', 'start': 7079.815, 'duration': 1.761}, {'end': 7088.2, 'text': "This curly braces says Tim is equal to five, meaning that if we're to index Tim, we get the value five.", 'start': 7081.576, 'duration': 6.624}, {'end': 7090.001, 'text': 'Now, how do we do that?', 'start': 7088.78, 'duration': 1.221}, {'end': 7092.822, 'text': 'So how do we actually get a value based on a key?', 'start': 7090.061, 'duration': 2.761}, {'end': 7097.345, 'text': 'The way we can do this is if you put square brackets next to your map.', 'start': 7093.363, 'duration': 3.982}, {'end': 7098.385, 'text': "actually, you can't do like that.", 'start': 7097.345, 'duration': 1.04}], 'summary': 'Demonstrating accessing values from a map using java, with minor distraction', 'duration': 37.617, 'max_score': 7060.768, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX07060768.jpg'}, {'end': 7400.651, 'src': 'embed', 'start': 7375.671, 'weight': 4, 'content': [{'end': 7383.057, 'text': 'And those are the only main differences, other than like the speed of which these things run at, that you have to kind of understand right now.', 'start': 7375.671, 'duration': 7.386}, {'end': 7386.319, 'text': "Okay, And typically, whenever you do anything, you're just going to be using a hash map.", 'start': 7383.077, 'duration': 3.242}, {'end': 7391.863, 'text': "you don't really need like a link to hash map or a tree hash map or tree map whatever.", 'start': 7386.319, 'duration': 5.544}, {'end': 7394.826, 'text': "it's called for any of the stuff that we're gonna be doing right now.", 'start': 7391.863, 'duration': 2.963}, {'end': 7400.651, 'text': "And so what I'm going to do now is I'm just going to show you a few methods how we can kind of clear the maps,", 'start': 7395.786, 'duration': 4.865}], 'summary': 'Usage of hash map for methods to clear maps.', 'duration': 24.98, 'max_score': 7375.671, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX07375671.jpg'}], 'start': 6025.081, 'title': 'Java collections and looping, sets, lists, and maps in java', 'summary': 'Covers setting up a while loop to mimic a for loop in java, introduction to sets and lists, advantages of sets over arrays, functionalities and usage of sets, lists, and maps in java, including arraylist, linkedlist, hashmap, treemap, and linkedhashmap, with emphasis on key-value pair concept and constant time operations, along with insights on types of java maps, their functions, and differences in maintaining order and sorting.', 'chapters': [{'end': 6069.24, 'start': 6025.081, 'title': 'Java collections and looping in java', 'summary': 'Explains how to set up a while loop to mimic a for loop in java, and also discusses sets and lists from the collection interface in java.', 'duration': 44.159, 'highlights': ['Explains setting up a while loop to mimic a for loop in Java, emphasizing the use of a variable, condition, and incrementation.', 'Introduces the concept of sets and lists from the collection interface in Java.']}, {'end': 6608.604, 'start': 6069.32, 'title': 'Introduction to sets in java', 'summary': 'Introduces the basics of sets and lists, emphasizing the advantages of sets over arrays, the operations of sets, and the different types of sets in java, explaining their functionalities and usage.', 'duration': 539.284, 'highlights': ['Sets are advantageous over arrays as they do not require a predefined size, allowing for dynamic addition of elements, making it useful for operations where the number of elements is unknown.', 'A set is a collection of unordered, unique elements, and it enables fast operations such as checking existence, adding, and removing elements.', 'The chapter explains the standard operations of sets, including adding, checking existence, and removing elements, as well as operations like clearing the set, checking if it is empty, and obtaining its size.']}, {'end': 7245.17, 'start': 6608.664, 'title': 'Java lists, sets, and maps', 'summary': 'Covers java lists, sets, and maps, including arraylist and linkedlist, with details on their functionalities and differences, along with insights on hashmap, treemap, and linkedhashmap, emphasizing the key-value pair concept and constant time operations.', 'duration': 636.506, 'highlights': ['The chapter covers Java lists, sets, and maps, including ArrayList and LinkedList, with details on their functionalities and differences, along with insights on HashMap, TreeMap, and LinkedHashMap, emphasizing the key-value pair concept and constant time operations.', 'The chapter explains the functionalities of ArrayList and LinkedList, emphasizing their ability to change sizes and perform operations like adding, removing, indexing, and sub-listing, with ArrayList being slower but allowing dynamic sizing.', 'It also discusses the key-value pair concept of maps, specifically HashMap, and demonstrates the efficient constant time operations of adding, removing, overwriting, and getting values based on keys.', 'The chapter provides insights into the differences between HashMap, TreeMap, and LinkedHashMap, highlighting that HashMap does not retain order, while TreeMap sorts elements based on natural order or custom comparators, and LinkedHashMap maintains insertion order.']}, {'end': 7652.123, 'start': 7245.65, 'title': 'Types of java maps and their functions', 'summary': 'Covers the types of java maps: hash map, tree map, and linked hash map, highlighting their differences in maintaining order and sorting, as well as demonstrating methods for clearing, removing elements, and checking for keys and values in the map.', 'duration': 406.473, 'highlights': ['The chapter covers the types of Java maps: hash map, tree map, and linked hash map, highlighting their differences in maintaining order and sorting.', 'Demonstrates methods for clearing, removing elements, and checking for keys and values in the map.']}], 'duration': 1627.042, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX06025081.jpg', 'highlights': ['Covers setting up a while loop to mimic a for loop in Java, emphasizing the use of a variable, condition, and incrementation.', 'Introduces the concept of sets and lists from the collection interface in Java.', 'The chapter covers Java lists, sets, and maps, including ArrayList and LinkedList, with details on their functionalities and differences, along with insights on HashMap, TreeMap, and LinkedHashMap, emphasizing the key-value pair concept and constant time operations.', 'Sets are advantageous over arrays as they do not require a predefined size, allowing for dynamic addition of elements, making it useful for operations where the number of elements is unknown.', 'The chapter explains the standard operations of sets, including adding, checking existence, and removing elements, as well as operations like clearing the set, checking if it is empty, and obtaining its size.']}, {'end': 8949.588, 'segs': [{'end': 7931.549, 'src': 'embed', 'start': 7906.824, 'weight': 3, 'content': [{'end': 7913.271, 'text': "what we're going to do is we're going to get that previous count and then we're going to add one to that previous count and override the key.", 'start': 7906.824, 'duration': 6.447}, {'end': 7915.133, 'text': 'So like if the count is four, it goes up to five.', 'start': 7913.391, 'duration': 1.742}, {'end': 7916.844, 'text': 'Pretty straightforward.', 'start': 7916.164, 'duration': 0.68}, {'end': 7920.385, 'text': 'So if I run this, you can see we get space.', 'start': 7916.964, 'duration': 3.421}, {'end': 7921.426, 'text': "Well, there's eight spaces.", 'start': 7920.445, 'duration': 0.981}, {'end': 7922.666, 'text': "We get A, there's three A's.", 'start': 7921.506, 'duration': 1.16}, {'end': 7923.386, 'text': "C, there's one.", 'start': 7922.746, 'duration': 0.64}, {'end': 7923.967, 'text': "D, there's one.", 'start': 7923.406, 'duration': 0.561}, {'end': 7926.447, 'text': 'And it goes through and it counts all of the different letters for us.', 'start': 7924.227, 'duration': 2.22}, {'end': 7931.549, 'text': 'And if we wanted to confirm if that was correct, we could go through and count them like that.', 'start': 7926.467, 'duration': 5.082}], 'summary': 'A straightforward process of incrementing counts for letters in a text.', 'duration': 24.725, 'max_score': 7906.824, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX07906824.jpg'}, {'end': 8316.434, 'src': 'embed', 'start': 8285.179, 'weight': 4, 'content': [{'end': 8287.619, 'text': "Essentially, whenever we're creating a new variable.", 'start': 8285.179, 'duration': 2.44}, {'end': 8291.661, 'text': 'so like even just doing like string, like str equals hello.', 'start': 8287.619, 'duration': 4.042}, {'end': 8298.325, 'text': "What we're doing is we're saying well, STR is actually equal to a string object with the value.", 'start': 8292.481, 'duration': 5.844}, {'end': 8304.548, 'text': 'Hello, And because are based on the different types of objects, we have different properties, different attributes,', 'start': 8298.485, 'duration': 6.063}, {'end': 8306.449, 'text': 'things we can do with the methods we can call.', 'start': 8304.548, 'duration': 1.901}, {'end': 8308.971, 'text': "And that's just kind of important to understand.", 'start': 8307.03, 'duration': 1.941}, {'end': 8316.434, 'text': "You'll see more how we create like objects and whatnot that are specific to like classes that we're going to make in later videos.", 'start': 8308.991, 'duration': 7.443}], 'summary': 'Creating a new variable involves defining its type and value, with different types of objects having different properties and methods.', 'duration': 31.255, 'max_score': 8285.179, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX08285179.jpg'}, {'end': 8609.745, 'src': 'embed', 'start': 8581.391, 'weight': 1, 'content': [{'end': 8583.612, 'text': "So I'm just going to comment that out for right now.", 'start': 8581.391, 'duration': 2.221}, {'end': 8585.893, 'text': 'And we will run this one more time.', 'start': 8584.452, 'duration': 1.441}, {'end': 8588.054, 'text': 'And you can see that we get Tim to the screen.', 'start': 8586.253, 'duration': 1.801}, {'end': 8590.635, 'text': "Now I know I didn't really explain what this is or how this worked.", 'start': 8588.354, 'duration': 2.281}, {'end': 8594.577, 'text': "But essentially, what I've done here is I've created kind of like a function, okay.", 'start': 8590.675, 'duration': 3.902}, {'end': 8599.099, 'text': "And it's known as a method, but in other programming languages, you might see this as a function.", 'start': 8595.157, 'duration': 3.942}, {'end': 8600.96, 'text': 'And this void keyword.', 'start': 8599.739, 'duration': 1.221}, {'end': 8601.92, 'text': 'what this means here?', 'start': 8600.96, 'duration': 0.96}, {'end': 8603.321, 'text': 'is it returns nothing.', 'start': 8601.92, 'duration': 1.401}, {'end': 8607.664, 'text': "okay?, Because in functions we can actually return values, which I'm going to show, or, sorry, functions methods.", 'start': 8603.321, 'duration': 4.343}, {'end': 8609.745, 'text': "We can return values, which I'm going to show you in just a second.", 'start': 8607.704, 'duration': 2.041}], 'summary': 'A method was created, using void keyword, which returns nothing. it can also return values in other programming languages.', 'duration': 28.354, 'max_score': 8581.391, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX08581391.jpg'}, {'end': 8665.75, 'src': 'embed', 'start': 8638.432, 'weight': 0, 'content': [{'end': 8644.995, 'text': 'and now this means that whenever we call this Tim method, we have to actually pass it one piece of information,', 'start': 8638.432, 'duration': 6.563}, {'end': 8647.176, 'text': 'and that piece of information has to be a string.', 'start': 8644.995, 'duration': 2.181}, {'end': 8649.177, 'text': "okay, so I'm going to show you right here.", 'start': 8647.176, 'duration': 2.001}, {'end': 8656.141, 'text': 'so I type str, I put Tim and I put Tim in here like this okay, and we run the program.', 'start': 8649.177, 'duration': 6.964}, {'end': 8657.422, 'text': "Now we see we're printing out Tim.", 'start': 8656.301, 'duration': 1.121}, {'end': 8661.606, 'text': "If I change this like with a bunch of Ms, you can see if we run this, we're getting Tim.", 'start': 8657.462, 'duration': 4.144}, {'end': 8665.75, 'text': 'Now, the way that this works is this is called a parameter.', 'start': 8662.387, 'duration': 3.363}], 'summary': "A method 'tim' requires a string parameter to print it; demonstrated with examples.", 'duration': 27.318, 'max_score': 8638.432, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX08638432.jpg'}], 'start': 7652.123, 'title': 'Efficient letter counting with maps and object-oriented programming basics', 'summary': 'Discusses an efficient method to count letter occurrences using maps and for loops, providing a demonstration of counts for each letter. it also introduces object-oriented programming, explaining the concept of objects and their relationship to data types and methods, using illustrative examples.', 'chapters': [{'end': 7683.045, 'start': 7652.123, 'title': 'Counting letters in a string', 'summary': 'Discusses the exercise of counting the frequency of letters in a string using a hash map and provides a solution for the same, emphasizing its usefulness in understanding maps and their usage.', 'duration': 30.922, 'highlights': ['The exercise involves counting the frequency of letters in a string using a hash map, which allows storing the letters as keys and their frequencies as values.', 'The solution for the exercise is presented, emphasizing its usefulness in understanding the functionality of maps.', 'The chapter highlights the importance of paying attention to the explanation, as it can significantly aid in comprehending the functioning of maps and their applications.']}, {'end': 8176.379, 'start': 7683.045, 'title': 'Efficient letter counting with maps and for loops', 'summary': 'Demonstrates a method to efficiently count the occurrences of each letter in a string using maps and for loops, highlighting the process of converting the string into a character array, checking for existing keys in the map, and incrementing the count of each letter, resulting in a demonstration of counts for each letter in the given string.', 'duration': 493.334, 'highlights': ['The chapter demonstrates the process of converting a string into a character array to efficiently loop through each letter and count the occurrences using maps and for loops.', 'The process involves checking for existing keys in the map and incrementing the count for each letter, resulting in a demonstration of counts for each letter in the given string.', "The method efficiently counts the occurrences of each letter in the string, with the demonstration revealing the counts for each letter, showing 8 spaces, 3 A's, 1 C, and 1 D.", "The chapter also showcases the method of removing an element from the map using 'M.dot remove' and highlights the process of sorting an integer array using 'Arrays.dot sort', demonstrating the sorting of specific sections of the array as well as the entire array."]}, {'end': 8429.48, 'start': 8180.376, 'title': 'Object-oriented programming basics', 'summary': 'Introduces object-oriented programming, explaining the concept of objects and their relationship to data types and methods, using examples such as creating instances of different data types and calling methods specific to the object type.', 'duration': 249.104, 'highlights': ['Objects are instances of data types, such as ints, strings, bools, scanners, ArrayList, Hashtable, etc.', 'Creating instances of objects allows for different properties and methods specific to the data type.', "Methods are functions called on an object or an instance of an object, specific to the object's type."]}, {'end': 8949.588, 'start': 8430.18, 'title': 'Creating methods in java', 'summary': 'Explains the process of creating methods in java, including defining methods within the main class, creating methods with different return types, and using parameters and arguments to manipulate data, illustrated with examples.', 'duration': 519.408, 'highlights': ['The chapter explains the process of creating methods in Java', 'Defining methods within the main class', 'Creating methods with different return types', 'Using parameters and arguments to manipulate data, illustrated with examples']}], 'duration': 1297.465, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX07652123.jpg', 'highlights': ["The method efficiently counts the occurrences of each letter in the string, revealing counts for each letter: 8 spaces, 3 A's, 1 C, and 1 D.", 'The exercise involves counting the frequency of letters in a string using a hash map, allowing storage of letters as keys and their frequencies as values.', 'The chapter demonstrates the process of converting a string into a character array to efficiently loop through each letter and count the occurrences using maps and for loops.', 'The chapter explains the process of creating methods in Java, defining methods within the main class, creating methods with different return types, and using parameters and arguments to manipulate data.', 'Objects are instances of data types, such as ints, strings, bools, scanners, ArrayList, Hashtable, etc.']}, {'end': 9760.181, 'segs': [{'end': 9118.406, 'src': 'embed', 'start': 9088.228, 'weight': 3, 'content': [{'end': 9091.15, 'text': 'Now, what problems do classes solve for us? Like, why are they useful?', 'start': 9088.228, 'duration': 2.922}, {'end': 9094.292, 'text': "So I'm going to introduce kind of a very simple problem, right?", 'start': 9091.63, 'duration': 2.662}, {'end': 9096.513, 'text': 'So I want to create five dogs.', 'start': 9094.332, 'duration': 2.181}, {'end': 9098.115, 'text': 'okay?, I want to have five dogs.', 'start': 9096.513, 'duration': 1.602}, {'end': 9099.455, 'text': 'I want each dog to have a name.', 'start': 9098.175, 'duration': 1.28}, {'end': 9100.876, 'text': 'I want each dog to have an age.', 'start': 9099.535, 'duration': 1.341}, {'end': 9110.602, 'text': "And I want to, at some point, be able to like call something and print out each dog's name and age in like a nice form, okay? Now, we could do that.", 'start': 9101.437, 'duration': 9.165}, {'end': 9111.703, 'text': 'We know how to do that.', 'start': 9110.703, 'duration': 1}, {'end': 9118.406, 'text': 'If we went back into main here, what we could do in this little, what do you call it, method here is we could just type a bunch of ints.', 'start': 9112.283, 'duration': 6.123}], 'summary': 'Using classes to create and manage instances of five dogs with names and ages.', 'duration': 30.178, 'max_score': 9088.228, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX09088228.jpg'}, {'end': 9218.164, 'src': 'embed', 'start': 9176.474, 'weight': 0, 'content': [{'end': 9177.575, 'text': "So in this case, I'm going to say string.", 'start': 9176.474, 'duration': 1.101}, {'end': 9181.137, 'text': 'and then the name of our attributes, in this case, name.', 'start': 9178.175, 'duration': 2.962}, {'end': 9182.378, 'text': 'And this is all we have to do.', 'start': 9181.497, 'duration': 0.881}, {'end': 9189.923, 'text': "We're just declaring that at some point in time we're going to have the attribute name and it's going to be storing some information later on in our program.", 'start': 9182.478, 'duration': 7.445}, {'end': 9194.665, 'text': "We can also do private int, and in this case, I'll do age.", 'start': 9190.363, 'duration': 4.302}, {'end': 9198.209, 'text': "And this is going to obviously represent the dog's age.", 'start': 9195.666, 'duration': 2.543}, {'end': 9204.995, 'text': 'Now, if you want to have some other attributes, we would again type private and we could keep going and type a bunch of attributes.', 'start': 9198.549, 'duration': 6.446}, {'end': 9209.6, 'text': 'Now, what is this private keyword, and why do we have public up here and private here??', 'start': 9205.636, 'duration': 3.964}, {'end': 9218.164, 'text': 'Well, What this private keyword does is it ensures that this name and this age are only accessible within this class,', 'start': 9210.46, 'duration': 7.704}], 'summary': 'Declaring attributes in a class using private and public keywords.', 'duration': 41.69, 'max_score': 9176.474, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX09176474.jpg'}, {'end': 9343.411, 'src': 'embed', 'start': 9289.174, 'weight': 1, 'content': [{'end': 9292.877, 'text': "When you create a dog object, all you need to do is just say you're creating a dog object.", 'start': 9289.174, 'duration': 3.703}, {'end': 9294.578, 'text': "You don't need to give any information and that's fine.", 'start': 9292.897, 'duration': 1.681}, {'end': 9299.162, 'text': 'But in our case, we want to be able to create an age and a name with our dogs.', 'start': 9294.959, 'duration': 4.203}, {'end': 9304.146, 'text': 'What I need to do here is I need to type string name and int age.', 'start': 9299.202, 'duration': 4.944}, {'end': 9309.25, 'text': 'Okay Just meaning that whenever we create a dog object, we need to give it a name and we need to give it an age.', 'start': 9304.446, 'duration': 4.804}, {'end': 9313.153, 'text': "Now what I'm going to do is I'm going to set these values.", 'start': 9310.271, 'duration': 2.882}, {'end': 9316.335, 'text': 'So these attributes equal to whatever we pass in.', 'start': 9313.493, 'duration': 2.842}, {'end': 9322.458, 'text': "Okay So what I'm going to do is I'm actually just going to use a keyword and it's the keyword is this, it's kind of hard.", 'start': 9316.355, 'duration': 6.103}, {'end': 9327.421, 'text': "If you weren't watching, you'd think I'm just like saying, this is the keyword I'm pointing something, but this like actually typed out.", 'start': 9322.478, 'duration': 4.943}, {'end': 9330.483, 'text': "And then I'm doing this dot name is going to be equal to name.", 'start': 9328.061, 'duration': 2.422}, {'end': 9334.285, 'text': 'and this.age is going to be equal to age.', 'start': 9331.703, 'duration': 2.582}, {'end': 9343.411, 'text': 'So what is this keyword actually doing? Well, it is referencing the attributes of the class.', 'start': 9335.065, 'duration': 8.346}], 'summary': "Creating a dog object with name and age attributes, using the 'this' keyword to set values.", 'duration': 54.237, 'max_score': 9289.174, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX09289174.jpg'}, {'end': 9390.461, 'src': 'embed', 'start': 9363.524, 'weight': 5, 'content': [{'end': 9368.108, 'text': 'Okay, So now that I have this constructor method created,', 'start': 9363.524, 'duration': 4.584}, {'end': 9372.391, 'text': 'we can go on to create one more method and then we can actually start using this class really simply.', 'start': 9368.108, 'duration': 4.283}, {'end': 9375.073, 'text': "Okay So what I'm going to do now is I'm going to create another method.", 'start': 9372.451, 'duration': 2.622}, {'end': 9376.534, 'text': "In this case, I'm going to type a public.", 'start': 9375.113, 'duration': 1.421}, {'end': 9378.116, 'text': "I'm not going to return anything.", 'start': 9376.995, 'duration': 1.121}, {'end': 9379.056, 'text': "So I'm going to use void.", 'start': 9378.176, 'duration': 0.88}, {'end': 9381.177, 'text': 'Okay And the name is going to be speak.', 'start': 9379.136, 'duration': 2.041}, {'end': 9385.639, 'text': 'And what this is going to do is it is simply going to say something or print something out to the screen.', 'start': 9381.758, 'duration': 3.881}, {'end': 9390.461, 'text': "So I'm going to say system.out.println.", 'start': 9385.659, 'duration': 4.802}], 'summary': "Creating a new method 'speak' to print something out.", 'duration': 26.937, 'max_score': 9363.524, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX09363524.jpg'}], 'start': 8950.188, 'title': 'Java classes and methods', 'summary': "Covers creating classes, methods, and instances in java, transitioning to advanced concepts, stressing the importance of understanding before serious programming. it introduces the concept of classes in java, demonstrating how to create a custom 'dog' class with attributes and methods, emphasizing the advantages of using classes to efficiently manage and manipulate multiple objects, and explaining the private and public attributes and methods. it also covers the usage of constructors, getter and setter methods, and demonstrates the creation and manipulation of multiple instances of the 'dog' class.", 'chapters': [{'end': 8987.489, 'start': 8950.188, 'title': 'Java classes and methods', 'summary': 'Covers creating classes, methods, constructor methods, and instances in java, transitioning to advanced concepts, stressing the importance of understanding before serious programming.', 'duration': 37.301, 'highlights': ['Understanding classes, methods, and constructor methods is fundamental before serious programming, emphasizing the importance of comprehending these concepts (quantifiable data: fundamental knowledge for serious programming)', 'The video is an advanced discussion, requiring a solid understanding of Java (quantifiable data: advanced level of understanding needed)', 'Encouraging viewers to seek help through the discord server, questions, or comments to aid in understanding the complex material (quantifiable data: offering support for better understanding)']}, {'end': 9760.181, 'start': 8987.93, 'title': 'Introduction to java classes', 'summary': "Introduces the concept of classes in java, demonstrating how to create a custom 'dog' class with attributes and methods, emphasizing the advantages of using classes to efficiently manage and manipulate multiple objects, and explaining the private and public attributes and methods. it also covers the usage of constructors, getter and setter methods, and demonstrates the creation and manipulation of multiple instances of the 'dog' class.", 'duration': 772.251, 'highlights': ["Classes in Java allow the creation of custom data types, like the 'dog' class with attributes and methods, offering a blueprint for creating objects.", 'Emphasizes the advantages of using classes to efficiently manage and manipulate multiple objects, illustrating the inefficiency of managing individual variables and the benefits of using classes for better organization and scalability.', 'Explains the usage of private and public attributes and methods within classes, highlighting the importance and best practices of using private attributes and methods, and the accessibility of public attributes to other classes.', "Demonstrates the usage of constructors, getter and setter methods, and manipulation of multiple instances of the 'dog' class, showcasing the creation and manipulation of multiple objects with unique values and functionalities."]}], 'duration': 809.993, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX08950188.jpg', 'highlights': ['Understanding classes, methods, and constructor methods is fundamental before serious programming (fundamental knowledge for serious programming)', 'The video is an advanced discussion, requiring a solid understanding of Java (advanced level of understanding needed)', 'Encouraging viewers to seek help through the discord server, questions, or comments to aid in understanding the complex material (offering support for better understanding)', "Classes in Java allow the creation of custom data types, like the 'dog' class with attributes and methods, offering a blueprint for creating objects", 'Emphasizes the advantages of using classes to efficiently manage and manipulate multiple objects, illustrating the inefficiency of managing individual variables and the benefits of using classes for better organization and scalability', 'Explains the usage of private and public attributes and methods within classes, highlighting the importance and best practices of using private attributes and methods, and the accessibility of public attributes to other classes', "Demonstrates the usage of constructors, getter and setter methods, and manipulation of multiple instances of the 'dog' class, showcasing the creation and manipulation of multiple objects with unique values and functionalities"]}, {'end': 10435.91, 'segs': [{'end': 9877.907, 'src': 'embed', 'start': 9848.416, 'weight': 2, 'content': [{'end': 9851.917, 'text': "And you can see that again, we're getting a red line and says, this is not visible.", 'start': 9848.416, 'duration': 3.501}, {'end': 9854.819, 'text': "You can't use it because it's a private method.", 'start': 9852.237, 'duration': 2.582}, {'end': 9861.511, 'text': "Okay So in today's video, we're going to be going over inheritance.", 'start': 9854.979, 'duration': 6.532}, {'end': 9863.253, 'text': 'So this has to do with classes,', 'start': 9861.972, 'duration': 1.281}, {'end': 9872.382, 'text': 'and this is going to be how we can inherit methods and attributes of previously made classes into like a new class and then override methods and all kinds of fun stuff.', 'start': 9863.253, 'duration': 9.129}, {'end': 9873.583, 'text': 'This is really important.', 'start': 9872.722, 'duration': 0.861}, {'end': 9874.884, 'text': 'This will save you a ton of time.', 'start': 9873.683, 'duration': 1.201}, {'end': 9877.907, 'text': "And yeah, so let's get started.", 'start': 9874.904, 'duration': 3.003}], 'summary': 'Explanation of inheritance in classes, saving time and importance emphasized.', 'duration': 29.491, 'max_score': 9848.416, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX09848416.jpg'}, {'end': 9915.858, 'src': 'embed', 'start': 9885.698, 'weight': 0, 'content': [{'end': 9886.539, 'text': 'at least in this video.', 'start': 9885.698, 'duration': 0.841}, {'end': 9894.487, 'text': 'the problem is i want to create a cat class that is identical to this dog class, except in the speak method.', 'start': 9886.539, 'duration': 7.948}, {'end': 9899.691, 'text': 'here, instead of saying I am whatever, I just wanted to say meow, my name is whatever.', 'start': 9894.487, 'duration': 5.204}, {'end': 9902.234, 'text': 'So I just want to change one of these methods to do something different.', 'start': 9899.792, 'duration': 2.442}, {'end': 9904.476, 'text': 'But other than that, I want all of this to be the same.', 'start': 9902.534, 'duration': 1.942}, {'end': 9908.679, 'text': "So intuitively, what we think we do is we'll be just take all this.", 'start': 9905.397, 'duration': 3.282}, {'end': 9914.057, 'text': 'copy it, put it into a new file called cat, and then just change this to be what we want.', 'start': 9909.676, 'duration': 4.381}, {'end': 9915.858, 'text': "Well, we could do that and that'd be fine.", 'start': 9914.378, 'duration': 1.48}], 'summary': "Create a cat class identical to dog class, with speak method changed to 'meow', my name is whatever.", 'duration': 30.16, 'max_score': 9885.698, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX09885698.jpg'}, {'end': 10092.301, 'src': 'embed', 'start': 10068.613, 'weight': 4, 'content': [{'end': 10080.128, 'text': "let's just say food okay, and this should say int food, And then in down here we can go ahead and we can just type this dot food equals food.", 'start': 10068.613, 'duration': 11.515}, {'end': 10081.049, 'text': 'Okay Right.', 'start': 10080.508, 'duration': 0.541}, {'end': 10082.591, 'text': 'And that works perfectly fine.', 'start': 10081.529, 'duration': 1.062}, {'end': 10085.233, 'text': "And now we're going to have since we're inheriting from this.", 'start': 10082.711, 'duration': 2.522}, {'end': 10090.579, 'text': "we're going to have age, we're going to have name, and inside of this cat class we are going to have food as well.", 'start': 10085.233, 'duration': 5.346}, {'end': 10092.301, 'text': 'And that works just fine.', 'start': 10090.719, 'duration': 1.582}], 'summary': 'Inheriting class with food, age, and name properties works fine.', 'duration': 23.688, 'max_score': 10068.613, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX010068613.jpg'}, {'end': 10178.512, 'src': 'embed', 'start': 10147.624, 'weight': 3, 'content': [{'end': 10148.725, 'text': "We'll do 18 and food.", 'start': 10147.624, 'duration': 1.101}, {'end': 10152.368, 'text': "Let's say they get 100 grams of food or something, whatever you want to say there.", 'start': 10148.785, 'duration': 3.583}, {'end': 10154.991, 'text': 'OK, now I can use this speak method.', 'start': 10152.388, 'duration': 2.603}, {'end': 10157.415, 'text': 'on Tim.', 'start': 10156.514, 'duration': 0.901}, {'end': 10162.359, 'text': "so you see, we're getting no errors here, even though in my cat class there's no speak method.", 'start': 10157.415, 'duration': 4.944}, {'end': 10166.423, 'text': "but since there's one in dog and we inherit from it, we can use it.", 'start': 10162.359, 'duration': 4.064}, {'end': 10167.884, 'text': "so I'll prove again to you.", 'start': 10166.423, 'duration': 1.461}, {'end': 10171.507, 'text': 'run this I am Tim and I am 18 years old, and that works perfectly fine.', 'start': 10167.884, 'duration': 3.623}, {'end': 10175.349, 'text': 'So now remember, I said, though, I want this speak method to do something else.', 'start': 10172.067, 'duration': 3.282}, {'end': 10176.09, 'text': 'I want to change it.', 'start': 10175.43, 'duration': 0.66}, {'end': 10178.512, 'text': 'So how can we do that within the cat class?', 'start': 10176.49, 'duration': 2.022}], 'summary': 'Using inheritance, a method is employed to showcase no errors and a successful implementation of a modified method within the cat class.', 'duration': 30.888, 'max_score': 10147.624, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX010147624.jpg'}], 'start': 9760.201, 'title': 'Inheritance in object-oriented programming', 'summary': 'Discusses inheritance in object-oriented programming, showcasing the utilization of private methods and the concept of extending a superclass to create a subclass. it outlines the process of inheriting properties and methods from a parent class, and demonstrates the overwriting of methods in the child class, highlighting the efficiency of inheritance in avoiding code repetition and the ability to modify specific methods in the subclass.', 'chapters': [{'end': 10237.483, 'start': 9760.201, 'title': 'Inheritance in object-oriented programming', 'summary': 'Discusses inheritance in object-oriented programming, showcasing the utilization of private methods and the concept of extending a superclass to create a subclass. it outlines the process of inheriting properties and methods from a parent class, and demonstrates the overwriting of methods in the child class. the goal is to create a cat class that inherits attributes and methods from the dog class, showcasing the efficiency of inheritance in avoiding code repetition and the ability to modify specific methods in the subclass.', 'duration': 477.282, 'highlights': ['The chapter discusses inheritance in object-oriented programming, showcasing the utilization of private methods and the concept of extending a superclass to create a subclass.', 'It outlines the process of inheriting properties and methods from a parent class, and demonstrates the overwriting of methods in the child class.', 'The goal is to create a cat class that inherits attributes and methods from the dog class, showcasing the efficiency of inheritance in avoiding code repetition and the ability to modify specific methods in the subclass.']}, {'end': 10435.91, 'start': 10237.523, 'title': 'Java inheritance and constructors', 'summary': 'Discusses the concept of inheritance in java, demonstrating how a subclass can override methods from the superclass, add its own methods, and how constructors can be used to provide different ways of setting up a class with multiple arguments.', 'duration': 198.387, 'highlights': ['The concept of inheritance in Java is explained, showcasing how a subclass can override methods from the superclass and add its own methods.', 'The use of different constructors in Java is illustrated, allowing for multiple ways to set up a class with varying arguments.', 'The distinction between public, protected, and private access modifiers is briefly mentioned, with a focus on using public for visibility within classes.']}], 'duration': 675.709, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX09760201.jpg', 'highlights': ['The chapter discusses inheritance in object-oriented programming, showcasing the utilization of private methods and the concept of extending a superclass to create a subclass.', 'The concept of inheritance in Java is explained, showcasing how a subclass can override methods from the superclass and add its own methods.', 'It outlines the process of inheriting properties and methods from a parent class, and demonstrates the overwriting of methods in the child class.', 'The use of different constructors in Java is illustrated, allowing for multiple ways to set up a class with varying arguments.', 'The goal is to create a cat class that inherits attributes and methods from the dog class, showcasing the efficiency of inheritance in avoiding code repetition and the ability to modify specific methods in the subclass.', 'The distinction between public, protected, and private access modifiers is briefly mentioned, with a focus on using public for visibility within classes.']}, {'end': 11172.052, 'segs': [{'end': 10579.446, 'src': 'embed', 'start': 10556.894, 'weight': 2, 'content': [{'end': 10567.099, 'text': 'This means that only things that are within the same package or our subclasses of the class can have access to a, this pretty much like name.', 'start': 10556.894, 'duration': 10.205}, {'end': 10572.823, 'text': 'Okay So that means any of these files or any of these classes within this package are able to see this.', 'start': 10567.12, 'duration': 5.703}, {'end': 10579.446, 'text': 'But if I had another package, which you typically do, if you have large Java programs, anything in there would not be able to see this.', 'start': 10573.323, 'duration': 6.123}], 'summary': "Access to 'a' is limited to package and subclasses, not visible to other packages.", 'duration': 22.552, 'max_score': 10556.894, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX010556894.jpg'}, {'end': 10653.051, 'src': 'embed', 'start': 10620.85, 'weight': 0, 'content': [{'end': 10621.35, 'text': 'Get age.', 'start': 10620.85, 'duration': 0.5}, {'end': 10628.093, 'text': 'Okay So Tim, get age, say int x equals.', 'start': 10621.43, 'duration': 6.663}, {'end': 10629.033, 'text': 'See if this is going to work.', 'start': 10628.293, 'duration': 0.74}, {'end': 10634.936, 'text': 'Yeah, So again, this is not going to allow us to use this, because, well, we made it private, right?', 'start': 10629.854, 'duration': 5.082}, {'end': 10640.08, 'text': 'if we made that protected, it would allow us to use it here, but not outside of the uh the package.', 'start': 10635.296, 'duration': 4.784}, {'end': 10646.946, 'text': 'Now I want to try this though, and see if I can get this uses get age, uh, from within our cat class.', 'start': 10640.5, 'duration': 6.446}, {'end': 10653.051, 'text': "So if I do, for example, when I want to speak, I'll say this get age.", 'start': 10647.306, 'duration': 5.745}], 'summary': "Exploring access control in oop with 'get age' function.", 'duration': 32.201, 'max_score': 10620.85, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX010620850.jpg'}, {'end': 10858.659, 'src': 'embed', 'start': 10831.533, 'weight': 3, 'content': [{'end': 10836.614, 'text': "Okay, What I'm doing here sorry, one second I'll explain this is I'm just going to add one to this count,", 'start': 10831.533, 'duration': 5.081}, {'end': 10839.235, 'text': 'because I want to keep track of how many dogs we have,', 'start': 10836.614, 'duration': 2.621}, {'end': 10846.656, 'text': "so that if I wanted to I don't know like see how many dogs have been created I could just simply call like dog dot count and then figure that out.", 'start': 10839.235, 'duration': 7.421}, {'end': 10852.798, 'text': "Right. So what I'm doing here, instead of calling this dot count, which does actually work, is I'm calling dog dot count,", 'start': 10846.996, 'duration': 5.802}, {'end': 10858.659, 'text': 'because since this is a static variable or static yeah, static variable, class variable, whatever you want to call it', 'start': 10852.798, 'duration': 5.861}], 'summary': 'Adding one to the count to track the number of dogs created.', 'duration': 27.126, 'max_score': 10831.533, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX010831533.jpg'}, {'end': 10998.589, 'src': 'embed', 'start': 10969.892, 'weight': 1, 'content': [{'end': 10972.933, 'text': 'If I do like Tim dog count, this will give us the same answer.', 'start': 10969.892, 'duration': 3.041}, {'end': 10978.156, 'text': "So you can see we get seven, even though in Tim, we didn't do anything with Tim to change account.", 'start': 10973.254, 'duration': 4.902}, {'end': 10984.099, 'text': "Since it's a dog, part of the dog class, it has this count variable and it's changing obviously within Tim as well.", 'start': 10978.276, 'duration': 5.823}, {'end': 10986.681, 'text': "Okay So that's kind of how the class variables work.", 'start': 10984.119, 'duration': 2.562}, {'end': 10989.823, 'text': 'now time to talk about static methods.', 'start': 10987.681, 'duration': 2.142}, {'end': 10992.565, 'text': 'okay, this was a static variable or class variable.', 'start': 10989.823, 'duration': 2.742}, {'end': 10994.526, 'text': "I like to call it class variable, just because that's what I'm used to.", 'start': 10992.565, 'duration': 1.961}, {'end': 10995.527, 'text': 'but you can call it whatever you want.', 'start': 10994.526, 'duration': 1.001}, {'end': 10998.589, 'text': "uh, now we're going to talk about static methods and what that is.", 'start': 10995.527, 'duration': 3.062}], 'summary': 'Demonstrating class variables and static methods in python.', 'duration': 28.697, 'max_score': 10969.892, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX010969892.jpg'}, {'end': 11147.946, 'src': 'embed', 'start': 11120.32, 'weight': 4, 'content': [{'end': 11123.784, 'text': 'so we have no idea what age to look for or what name to look for.', 'start': 11120.32, 'duration': 3.464}, {'end': 11130.53, 'text': "so the only time we use static methods is when we don't care about the instance and we just want to do something and we want to store it within that class.", 'start': 11123.784, 'duration': 6.746}, {'end': 11134.814, 'text': 'you can almost think of it as a function if you, if you know other programming languages.', 'start': 11130.53, 'duration': 4.284}, {'end': 11137.396, 'text': 'but that is ideally how static works.', 'start': 11134.814, 'duration': 2.582}, {'end': 11142.681, 'text': "so whenever you want to be able to call something and you don't care about the like, the instance, you don't care what the attributes,", 'start': 11137.396, 'duration': 5.285}, {'end': 11143.522, 'text': 'you can make it static.', 'start': 11142.681, 'duration': 0.841}, {'end': 11145.544, 'text': 'And that way you can call it without having an instance.', 'start': 11143.582, 'duration': 1.962}, {'end': 11147.946, 'text': 'So, yeah.', 'start': 11147.406, 'duration': 0.54}], 'summary': "Static methods are used when we don't care about the instance, and want to store it within the class.", 'duration': 27.626, 'max_score': 11120.32, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX011120320.jpg'}], 'start': 10436.09, 'title': 'Java cat constructors and protected values', 'summary': 'Illustrates creating cat constructors in java and explains the use of default parameters, along with discussing the use of protected values and static methods in java, emphasizing their syntax and usage.', 'chapters': [{'end': 10535.674, 'start': 10436.09, 'title': 'Creating cat constructors in java', 'summary': 'Illustrates creating cat constructors in java, explaining the use of default parameters and demonstrating three different ways to define a cat, including setting default values for age and food.', 'duration': 99.584, 'highlights': ['The chapter emphasizes using default parameters to automatically set values if not defined, such as assuming an age of zero if not given, and assigning a default value of 50 for food if not specified.', 'It demonstrates three different ways to define a cat in Java, including providing both name and age, only a name, and utilizing constructors to ensure the creation of cats with appropriate attributes.', 'The example showcases the use of default values for age and food, providing a comprehensive understanding of how to handle different scenarios when creating cat objects.']}, {'end': 11172.052, 'start': 10536.575, 'title': 'Protected values & static methods', 'summary': 'Discusses the use of protected values in java, explaining how they restrict access to within the same package or subclasses, and covers the concept of static methods, highlighting their ability to be called without an instance and their inability to access instance-specific attributes. it also demonstrates the use of protected values and static methods in a java class, emphasizing the syntax and usage.', 'duration': 635.477, 'highlights': ['The use of protected keyword in Java restricts access to within the same package or subclasses, allowing only those entities to access the protected values, presenting a more restricted access compared to public. This is important for maintaining encapsulation in Java programs and ensuring secure access to class attributes and methods.', 'The explanation of static methods in Java clarifies their ability to be called without an instance, making them suitable for general operations within a class without relying on specific instances. The demonstration of the inability of static methods to access instance-specific attributes reinforces the concept of static methods as independent of class instances.', 'The demonstration of using protected static int count = 0; showcases the creation of a class variable, emphasizing the use of protected and static keywords to define a variable that is shared across all instances of the class, providing insights into utilizing class variables for shared data across instances of a class.']}], 'duration': 735.962, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX010436090.jpg', 'highlights': ['The chapter emphasizes using default parameters to automatically set values if not defined, such as assuming an age of zero if not given, and assigning a default value of 50 for food if not specified.', 'The demonstration of using protected static int count = 0; showcases the creation of a class variable, emphasizing the use of protected and static keywords to define a variable that is shared across all instances of the class, providing insights into utilizing class variables for shared data across instances of a class.', 'The use of protected keyword in Java restricts access to within the same package or subclasses, allowing only those entities to access the protected values, presenting a more restricted access compared to public. This is important for maintaining encapsulation in Java programs and ensuring secure access to class attributes and methods.', 'It demonstrates three different ways to define a cat in Java, including providing both name and age, only a name, and utilizing constructors to ensure the creation of cats with appropriate attributes.', 'The explanation of static methods in Java clarifies their ability to be called without an instance, making them suitable for general operations within a class without relying on specific instances. The demonstration of the inability of static methods to access instance-specific attributes reinforces the concept of static methods as independent of class instances.', 'The example showcases the use of default values for age and food, providing a comprehensive understanding of how to handle different scenarios when creating cat objects.']}, {'end': 12813.505, 'segs': [{'end': 11199.588, 'src': 'embed', 'start': 11176.058, 'weight': 0, 'content': [{'end': 11183.881, 'text': "So in today's video, we're going to be going over how we can compare objects and how we can get a string representation of different objects.", 'start': 11176.058, 'duration': 7.823}, {'end': 11185.602, 'text': "And you'll see what I mean in just a minute.", 'start': 11184.221, 'duration': 1.381}, {'end': 11186.822, 'text': 'But these are really useful.', 'start': 11185.622, 'duration': 1.2}, {'end': 11190.704, 'text': 'And I guarantee you guys will be using this a lot, especially if you have objects like,', 'start': 11187.363, 'duration': 3.341}, {'end': 11199.588, 'text': "maybe like point objects or like some kind of mathematical objects that you'd want to compare without having to make things too complicated for yourself.", 'start': 11190.704, 'duration': 8.884}], 'summary': 'The video covers comparing and getting string representation of objects, useful for mathematical objects.', 'duration': 23.53, 'max_score': 11176.058, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX011176058.jpg'}, {'end': 11518.566, 'src': 'embed', 'start': 11489.331, 'weight': 4, 'content': [{'end': 11492.613, 'text': 'and we should intuitively like do that based on alphabetical order right?', 'start': 11489.331, 'duration': 3.282}, {'end': 11495.954, 'text': "So I can't really show you like a way to do it here.", 'start': 11493.593, 'duration': 2.361}, {'end': 11497.115, 'text': "Cause I don't think it's going to work for me.", 'start': 11495.974, 'duration': 1.141}, {'end': 11498.716, 'text': 'Like Joe greater than bill.', 'start': 11497.135, 'duration': 1.581}, {'end': 11501.577, 'text': 'Yeah See that, that just is undefined.', 'start': 11499.596, 'duration': 1.981}, {'end': 11502.578, 'text': "There's no way to do that.", 'start': 11501.597, 'duration': 0.981}, {'end': 11507.04, 'text': "So what we're going to do is we're going to use a method called compare to, okay.", 'start': 11503.198, 'duration': 3.842}, {'end': 11512.883, 'text': 'And what we have to do to compare to is we have to, uh, what do you call it? Sorry.', 'start': 11507.4, 'duration': 5.483}, {'end': 11515.304, 'text': 'We have to implement something into our class.', 'start': 11513.484, 'duration': 1.82}, {'end': 11518.566, 'text': "So we're going to say implements at the top of our class.", 'start': 11515.765, 'duration': 2.801}], 'summary': 'Using compareto method to compare objects in a class.', 'duration': 29.235, 'max_score': 11489.331, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX011489331.jpg'}, {'end': 11714.881, 'src': 'embed', 'start': 11686.356, 'weight': 1, 'content': [{'end': 11690.599, 'text': 'So like this, so public and compare to, and you just have to remember to implement comparable student.', 'start': 11686.356, 'duration': 4.243}, {'end': 11694.263, 'text': 'And then you can use exactly this return statement here.', 'start': 11691.44, 'duration': 2.823}, {'end': 11699.267, 'text': 'Now the last thing I want to show is a string representation of an object.', 'start': 11695.103, 'duration': 4.164}, {'end': 11703.21, 'text': "So I'll show you first what happens when I just want to print out my object to the screen.", 'start': 11699.607, 'duration': 3.603}, {'end': 11704.892, 'text': 'So I want to print him.', 'start': 11704.111, 'duration': 0.781}, {'end': 11709.116, 'text': "And maybe ideally, I'd like to see like, Tim's name, right, come out to the screen.", 'start': 11705.432, 'duration': 3.684}, {'end': 11714.881, 'text': 'Well, look what we get here, we get tutorial one dot student app, and then all these different letters.', 'start': 11710.036, 'duration': 4.845}], 'summary': 'Demonstrates implementing comparable student and string representation of an object.', 'duration': 28.525, 'max_score': 11686.356, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX011686356.jpg'}, {'end': 11914.589, 'src': 'embed', 'start': 11886.502, 'weight': 2, 'content': [{'end': 11891.383, 'text': "I'm just going to kind of show you how we can create instances of inner classes in different ways.", 'start': 11886.502, 'duration': 4.881}, {'end': 11896.125, 'text': "So what I'm going to start by doing is inside of this outer class here that I've already created.", 'start': 11892.064, 'duration': 4.061}, {'end': 11897.685, 'text': 'you can see on the side.', 'start': 11896.125, 'duration': 1.56}, {'end': 11901.782, 'text': "here I'm just going to create another class called inner class right?", 'start': 11897.685, 'duration': 4.097}, {'end': 11905.524, 'text': 'Now, inner class is just going to simply have one method in it.', 'start': 11902.823, 'duration': 2.701}, {'end': 11910.187, 'text': "And I'm just gonna make this a public void display.", 'start': 11906.025, 'duration': 4.162}, {'end': 11914.589, 'text': "And in here, all I'm going to do is simply just display something to the screen.", 'start': 11910.747, 'duration': 3.842}], 'summary': 'Demonstrating creation of inner classes with a public void display method.', 'duration': 28.087, 'max_score': 11886.502, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX011886502.jpg'}, {'end': 12596.615, 'src': 'embed', 'start': 12572.535, 'weight': 3, 'content': [{'end': 12581.363, 'text': "That means that since we've defined these three methods here inside of our interface of vehicle, we have to define them inside our car class.", 'start': 12572.535, 'duration': 8.828}, {'end': 12589.589, 'text': "So whatever methods we put here, if we implement one of the interfaces, we have to define them because right now they're completely abstract.", 'start': 12582.023, 'duration': 7.566}, {'end': 12593.452, 'text': "And if we call them, well, we have no idea what to do because there's no content for them.", 'start': 12590.029, 'duration': 3.423}, {'end': 12596.615, 'text': "Right So we're going to have to create a void, which is change gears.", 'start': 12593.492, 'duration': 3.123}], 'summary': 'Methods defined in interface must be implemented in car class.', 'duration': 24.08, 'max_score': 12572.535, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX012572535.jpg'}], 'start': 11176.058, 'title': 'Object comparisons and representations', 'summary': 'Covers comparing objects, obtaining string representations, checking equality, implementing inner classes, and using interfaces in java, with examples of mathematical objects and student classes. it emphasizes the usefulness of these techniques and provides intuitive explanations throughout.', 'chapters': [{'end': 11224.725, 'start': 11176.058, 'title': 'Comparing and string representations of objects', 'summary': 'Covers the process of comparing objects and obtaining string representations, emphasizing the usefulness of these techniques, especially for mathematical objects, and demonstrates the process through a student class with a name attribute.', 'duration': 48.667, 'highlights': ['The chapter emphasizes the usefulness of comparing objects and obtaining string representations, stating that these techniques will be frequently used, especially for mathematical objects.', 'The chapter demonstrates the process using a student class with a name attribute, and creating different instances of the student class in main.java.']}, {'end': 11685.996, 'start': 11225.546, 'title': 'Comparing and checking equality of objects', 'summary': 'Explains comparing objects intuitively, checking equality between objects by comparing their names, and using the compare to method to compare different objects based on alphabetical order, providing examples and explanations throughout.', 'duration': 460.45, 'highlights': ['The chapter explains comparing objects intuitively', 'Checking equality between objects by comparing their names', 'Using the compare to method to compare different objects based on alphabetical order']}, {'end': 12289.003, 'start': 11686.356, 'title': 'Java object representation and inner classes', 'summary': 'Covers implementing comparable student, creating a string representation of an object, and the creation and access of inner classes within the outer class in java, with examples and explanations of each concept.', 'duration': 602.647, 'highlights': ["The chapter covers creating a string representation of an object, allowing for a meaningful output when printing objects, such as displaying a student's name, with examples and explanations.", 'The chapter explains the implementation and usage of inner classes within the outer class in Java, demonstrating different ways to create and access instances of inner classes, along with the rationale for using them.', 'The chapter details the implementation of comparable student and how it can be used to compare objects, with a demonstration of the return statement and its usage.']}, {'end': 12813.505, 'start': 12289.183, 'title': 'Java interfaces and implementation', 'summary': 'Explains the concept of interfaces in java, their implementation in classes, and the use of abstract methods and attributes. it also covers the process of implementing an interface, defining abstract methods in a class, and using the implemented methods to create objects.', 'duration': 524.322, 'highlights': ['Interfaces are completely abstract and are meant to be inherited from, not instantiated, and can only contain public methods and undefined attributes.', 'The process of implementing an interface in a class requires defining all the abstract methods from the interface in the class to avoid errors.', 'The implementation of methods from an interface in a class involves defining the functionality for each method, and using them to create objects with specific attributes and behaviors.']}], 'duration': 1637.447, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX011176058.jpg', 'highlights': ['The chapter emphasizes the usefulness of comparing objects and obtaining string representations, especially for mathematical objects.', 'The chapter covers creating a string representation of an object, allowing for a meaningful output when printing objects.', 'The chapter explains the implementation and usage of inner classes within the outer class in Java, demonstrating different ways to create and access instances of inner classes.', 'The process of implementing an interface in a class requires defining all the abstract methods from the interface in the class to avoid errors.', 'Using the compare to method to compare different objects based on alphabetical order.']}, {'end': 13703.606, 'segs': [{'end': 12956.455, 'src': 'embed', 'start': 12929.104, 'weight': 0, 'content': [{'end': 12933.066, 'text': "And it's using that default method that we created inside of our interface.", 'start': 12929.104, 'duration': 3.962}, {'end': 12936.848, 'text': 'Now I believe we can actually use static methods as well.', 'start': 12934.227, 'duration': 2.621}, {'end': 12939.189, 'text': "So this would be known as something that's not a static method.", 'start': 12936.888, 'duration': 2.301}, {'end': 12944.691, 'text': 'uh, because we have to call it from within our uh, our class.', 'start': 12939.189, 'duration': 5.502}, {'end': 12950.113, 'text': 'but we can actually create static methods within our interface that we can then, um, just call statically.', 'start': 12944.691, 'duration': 5.422}, {'end': 12951.853, 'text': "Like we don't have to have an instance to call them.", 'start': 12950.153, 'duration': 1.7}, {'end': 12956.455, 'text': "So, if you don't know what I mean, just follow along for a second, as I'm going to create a static.", 'start': 12952.354, 'duration': 4.101}], 'summary': 'Creating static methods within an interface for static calls.', 'duration': 27.351, 'max_score': 12929.104, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX012929104.jpg'}, {'end': 13105.192, 'src': 'embed', 'start': 13075.027, 'weight': 1, 'content': [{'end': 13078.449, 'text': 'And they are pretty cool and just make your code more readable.', 'start': 13075.027, 'duration': 3.422}, {'end': 13080.85, 'text': 'And yeah, you guys will see when we go through the video.', 'start': 13078.769, 'duration': 2.081}, {'end': 13083.932, 'text': 'So the first step is to create an enum.', 'start': 13081.27, 'duration': 2.662}, {'end': 13086.973, 'text': "Now, to do that, it's similar to creating a class or an interface or whatever.", 'start': 13083.992, 'duration': 2.981}, {'end': 13090.715, 'text': 'Go to your package, right click, click new and then enum.', 'start': 13087.413, 'duration': 3.302}, {'end': 13093.478, 'text': "So for enum, I'm just going to name mine.", 'start': 13091.375, 'duration': 2.103}, {'end': 13099.705, 'text': "Hmm Actually, I'm just going to name mine level because you'll see why it just makes sense for this example.", 'start': 13093.498, 'duration': 6.207}, {'end': 13105.192, 'text': 'So again, the syntax here is public enum level rather than like class or interface or whatever.', 'start': 13100.186, 'duration': 5.006}], 'summary': 'Creating an enum makes code more readable. syntax: public enum level.', 'duration': 30.165, 'max_score': 13075.027, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX013075027.jpg'}, {'end': 13177.637, 'src': 'embed', 'start': 13148.858, 'weight': 5, 'content': [{'end': 13150.739, 'text': 'Okay So we have three constants.', 'start': 13148.858, 'duration': 1.881}, {'end': 13155.142, 'text': "Now I'm going to show you how we can actually use this enum and you'll start to understand how it works.", 'start': 13151.119, 'duration': 4.023}, {'end': 13158.544, 'text': 'So to use this enum, we have to create a new instance of it.', 'start': 13155.462, 'duration': 3.082}, {'end': 13163.027, 'text': "So to do this, I'm going to say level and we'll say LVL equals new.", 'start': 13158.564, 'duration': 4.463}, {'end': 13167.77, 'text': "Actually, I think it's like this was level dot.", 'start': 13164.048, 'duration': 3.722}, {'end': 13171.072, 'text': 'And yes, we say high, low and medium.', 'start': 13168.13, 'duration': 2.942}, {'end': 13173.754, 'text': "So my case will just pick low and I'll put a semicolon.", 'start': 13171.092, 'duration': 2.662}, {'end': 13176.336, 'text': "And now you can see it's all showing up in different colors.", 'start': 13174.094, 'duration': 2.242}, {'end': 13177.637, 'text': 'And this is working fine.', 'start': 13176.696, 'duration': 0.941}], 'summary': "Demonstrated use of enum with three constants, selecting 'low' successfully.", 'duration': 28.779, 'max_score': 13148.858, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX013148858.jpg'}, {'end': 13290.857, 'src': 'embed', 'start': 13258.675, 'weight': 4, 'content': [{'end': 13259.956, 'text': "We don't really know what type it is.", 'start': 13258.675, 'duration': 1.281}, {'end': 13262.176, 'text': "It's just like in level, like it's an enum.", 'start': 13260.016, 'duration': 2.16}, {'end': 13267.158, 'text': 'So to actually get this as a string value, if we wanted to do something with it or store it, we can use .', 'start': 13262.576, 'duration': 4.582}, {'end': 13275.38, 'text': "toString So if I say string, we'll say en, why not? Why not? We'll say is equal to lvl.enum.", 'start': 13267.158, 'duration': 8.222}, {'end': 13276.861, 'text': 'to string.', 'start': 13276.38, 'duration': 0.481}, {'end': 13279.203, 'text': "And that's just going to convert this to a string for us.", 'start': 13277.501, 'duration': 1.702}, {'end': 13284.609, 'text': "And then we can do all our string operations or whatnot with that, right? So that's how you get it to a string.", 'start': 13279.584, 'duration': 5.025}, {'end': 13290.857, 'text': 'Now, another really useful thing with enums is we can actually get all the different values of enums and print that to the screen.', 'start': 13284.99, 'duration': 5.867}], 'summary': 'Explanation of converting enums to string and getting all enum values.', 'duration': 32.182, 'max_score': 13258.675, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX013258675.jpg'}, {'end': 13398.436, 'src': 'embed', 'start': 13363.171, 'weight': 2, 'content': [{'end': 13365.413, 'text': "And that's how you can loop through all the different values.", 'start': 13363.171, 'duration': 2.242}, {'end': 13371.557, 'text': "So that's really cool, but you might say, okay, well, that's cool, Tim, but is this really that useful? Like we just have these constants.", 'start': 13365.893, 'duration': 5.664}, {'end': 13375.02, 'text': "Well, There's a few other things that we can do inside of this enum.", 'start': 13371.598, 'duration': 3.422}, {'end': 13378.142, 'text': 'We can add some methods and some constructors as well,', 'start': 13375.06, 'duration': 3.082}, {'end': 13384.246, 'text': 'so that these constants actually point to certain values kind of similar to like a hash table or a hash map that I showed you before.', 'start': 13378.142, 'duration': 6.104}, {'end': 13389.97, 'text': "So the way that we can do that is we need to create, first of all, a variable that's going to be private.", 'start': 13384.846, 'duration': 5.124}, {'end': 13398.436, 'text': "So in this case I'm going to say private and I'll say actually int level LVL num okay?", 'start': 13390.25, 'duration': 8.186}], 'summary': 'Enumerations can have methods and constructors for values like hash tables.', 'duration': 35.265, 'max_score': 13363.171, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX013363171.jpg'}, {'end': 13703.606, 'src': 'embed', 'start': 13675.551, 'weight': 3, 'content': [{'end': 13678.933, 'text': "Pretty much they're used for when you want to have a collection of different constants.", 'start': 13675.551, 'duration': 3.382}, {'end': 13680.854, 'text': 'Maybe you want to loop through, see what those constants are.', 'start': 13678.993, 'duration': 1.861}, {'end': 13687.539, 'text': 'And it just makes our code kind of readable, right? Cause we have leveled out low and then that low can point to like five, two, one, whatever.', 'start': 13681.415, 'duration': 6.124}, {'end': 13689.96, 'text': "And that's all stored within our enum right here.", 'start': 13687.599, 'duration': 2.361}, {'end': 13696.485, 'text': "Obviously you can have as many enums as you want and you'll really see the use of them further on in Java when you're creating like larger programs.", 'start': 13690.32, 'duration': 6.165}, {'end': 13698.81, 'text': 'Okay So anyways, that has been it for this video.', 'start': 13696.545, 'duration': 2.265}, {'end': 13703.606, 'text': 'If you guys enjoyed, please make sure you leave a like and subscribe, and I will see you again in another video.', 'start': 13698.911, 'duration': 4.695}], 'summary': 'Enums are used to organize constants, making code readable and scalable for larger programs in java.', 'duration': 28.055, 'max_score': 13675.551, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX013675551.jpg'}], 'start': 12813.605, 'title': 'Java enums and interfaces', 'summary': 'Covers the usage of default and static methods in interfaces, creation and usage of enums in java, including adding methods and constructors to enums, iterating through enum values, creating private variables and constructors for enums, accessing private variables using methods, using enums to store constants, and utilizing the valueof method for converting a string to an enum constant. it concludes with a demonstration of using enums to store and access different constants, improving code readability.', 'chapters': [{'end': 13378.142, 'start': 12813.605, 'title': 'Using interfaces and enums in java', 'summary': 'Demonstrates the use of default and static methods in interfaces, along with the creation and usage of enums in java, showcasing the ability to add methods and constructors to enums and iterate through enum values.', 'duration': 564.537, 'highlights': ['The chapter demonstrates the use of default and static methods in interfaces', 'Creation and usage of enums in Java', 'Ability to add methods and constructors to enums']}, {'end': 13703.606, 'start': 13378.142, 'title': 'Java enum basics', 'summary': 'Covers the basics of java enums, including creating private variables, constructors for enums, accessing private variables using methods, using enums to store constants, and utilizing the valueof method for converting a string to an enum constant. the chapter concludes by demonstrating how to use enums to store and access different constants, making the code more readable.', 'duration': 325.464, 'highlights': ['The chapter covers the basics of Java enums, including creating private variables, constructors for enums, accessing private variables using methods, using enums to store constants, and utilizing the valueOf method for converting a string to an enum constant.', 'Enums provide a way to have a collection of different constants, making the code more readable and organized.', 'The valueOf method is used to convert a string to an enum constant, facilitating the manipulation of enum values in the code.', 'Demonstrates how to create and use different enum constants, showcasing the ability to store and access various constants within the enum.']}], 'duration': 890.001, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/GoXwIVyNvX0/pics/GoXwIVyNvX012813605.jpg', 'highlights': ['The chapter demonstrates the use of default and static methods in interfaces', 'Creation and usage of enums in Java', 'Ability to add methods and constructors to enums', 'Enums provide a way to have a collection of different constants, making the code more readable and organized', 'The valueOf method is used to convert a string to an enum constant, facilitating the manipulation of enum values in the code', 'Demonstrates how to create and use different enum constants, showcasing the ability to store and access various constants within the enum']}], 'highlights': ['The chapter covers setting up an environment to learn Java from basic to advanced levels.', 'The chapter discusses the declaration of variables, various data types including int, float, double, Boolean, char, and string, their characteristics, and the distinction between primitive and non-primitive data types in Java.', 'The chapter covers the basics of if statements and else-if conditions in Java, demonstrating their functionality through a program that categorizes users based on their age and favorite food.', 'Covers setting up a while loop to mimic a for loop in Java, emphasizing the use of a variable, condition, and incrementation.', 'The chapter covers Java lists, sets, and maps, including ArrayList and LinkedList, with details on their functionalities and differences, along with insights on HashMap, TreeMap, and LinkedHashMap, emphasizing the key-value pair concept and constant time operations.', 'The chapter explains the process of creating methods in Java, defining methods within the main class, creating methods with different return types, and using parameters and arguments to manipulate data.', 'Understanding classes, methods, and constructor methods is fundamental before serious programming (fundamental knowledge for serious programming)', 'The chapter discusses inheritance in object-oriented programming, showcasing the utilization of private methods and the concept of extending a superclass to create a subclass.', 'The chapter emphasizes using default parameters to automatically set values if not defined, such as assuming an age of zero if not given, and assigning a default value of 50 for food if not specified.', 'The chapter emphasizes the usefulness of comparing objects and obtaining string representations, especially for mathematical objects.', 'The chapter demonstrates the use of default and static methods in interfaces', 'Creation and usage of enums in Java']}