All language subtitles for 012 Switch Statements_en

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian Download
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranî)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:00,450 --> 00:00:05,460 Which demons can also give you control over your code, you learn to control which parts of your code 2 00:00:05,460 --> 00:00:12,300 run using, if elusive, and now statements, each statement has a condition and Java looks at the first 3 00:00:12,300 --> 00:00:15,320 statement with a true condition and runs the code inside. 4 00:00:16,230 --> 00:00:19,680 You can also use switch statements to control how your code runs. 5 00:00:20,310 --> 00:00:25,110 So in this lesson, you're going to learn how do you switch as well as when do you switch versus if 6 00:00:25,110 --> 00:00:25,680 else? 7 00:00:27,890 --> 00:00:32,390 First thing I'll need you to do is create a new class by yourself inside the Section three project, 8 00:00:32,390 --> 00:00:37,580 create a new file name, switch statements Java, and make sure the class has a main method. 9 00:00:43,010 --> 00:00:48,740 So how do you switch a switch statement compares one value against a list of values. 10 00:00:49,370 --> 00:00:53,510 In other words, it compares an argument against a list of cases. 11 00:00:54,530 --> 00:01:00,420 The argument is the value that you're comparing and if the argument matches value one, the first case 12 00:01:00,460 --> 00:01:06,800 runs, if the argument matches value to the second case runs, if the argument matches value three, 13 00:01:06,800 --> 00:01:12,770 the third case runs and if the argument matches none of the values the default case runs. 14 00:01:14,740 --> 00:01:18,370 And so back in our code, we're going to see this in action, we're going to make it into variable named 15 00:01:18,370 --> 00:01:24,370 and month and it's going to story value that represents a month five, which corresponds to the month 16 00:01:24,370 --> 00:01:24,850 of May. 17 00:01:25,720 --> 00:01:30,880 And so now we're going to make a switch statement and it's going to compare your month value against 18 00:01:30,880 --> 00:01:33,240 the list of month values in the form of cases. 19 00:01:33,730 --> 00:01:35,230 So we're going to rate case one. 20 00:01:39,600 --> 00:01:44,820 And there are 12 months, so we'll need 12 cases, so I'm going to copy this 11 more times. 21 00:01:49,600 --> 00:01:52,570 And I'm going to number each case in ascending order. 22 00:02:06,040 --> 00:02:12,970 Followed by default, now, if the argument month matches one of the cases, that case is going to run 23 00:02:12,970 --> 00:02:15,370 and we're going to need to print that month in text. 24 00:02:16,030 --> 00:02:20,770 So if the month ends up being equal to one, we're going to print January. 25 00:02:21,760 --> 00:02:24,550 If it matches, case two will print. 26 00:02:29,480 --> 00:02:32,750 And you know what, I'm just going to copy this Prince theme throughout. 27 00:02:48,980 --> 00:02:52,100 And now I'm going to fill in the appropriate month values. 28 00:03:19,550 --> 00:03:24,540 And if I were a month value doesn't match any of our cases, a default case should execute. 29 00:03:25,130 --> 00:03:30,660 And if it does, we're going to print please enter a valid month. 30 00:03:32,780 --> 00:03:34,490 They think we're ready to run our code. 31 00:03:46,440 --> 00:03:47,970 Whoa, that's weird. 32 00:03:48,750 --> 00:03:55,710 The month argument matches Case five, Jalaa clearly ran Case five, but it also runs every case that 33 00:03:55,710 --> 00:03:56,350 follows. 34 00:03:57,150 --> 00:04:02,820 Well, that's because by nature, which runs every case that follows the case much, it's like the switch 35 00:04:02,820 --> 00:04:04,820 turns on when there's a match. 36 00:04:05,610 --> 00:04:06,570 Let's have a look. 37 00:04:06,600 --> 00:04:08,400 You saw the value five in the month. 38 00:04:08,400 --> 00:04:14,400 Variable switch accepts your month value as an argument, and it compares it to a list of month values. 39 00:04:14,820 --> 00:04:17,589 It starts comparing your value against each case. 40 00:04:17,940 --> 00:04:22,200 Case one, two, three, four, five. 41 00:04:22,200 --> 00:04:22,580 Aha. 42 00:04:22,590 --> 00:04:23,670 We have a match. 43 00:04:24,740 --> 00:04:31,550 So the switch turns on and Javor runs case five, but it also runs every case that follows the case 44 00:04:31,550 --> 00:04:32,300 match. 45 00:04:37,180 --> 00:04:38,540 This is pretty frustrating. 46 00:04:38,560 --> 00:04:39,720 How do we fix it? 47 00:04:42,890 --> 00:04:48,320 That is exactly why we have the brake keyboard, the brake keyboard can break the switch statements. 48 00:04:50,380 --> 00:04:56,170 And so every case inside your switch them it needs to end with the keyword that way after your case 49 00:04:56,170 --> 00:04:59,110 runs, Java knows to break out of the switch statement. 50 00:05:00,160 --> 00:05:02,680 So back in our code, we're going to fix the switch statements. 51 00:05:02,680 --> 00:05:05,560 We're going to add the break keyword at the end of each case. 52 00:05:20,990 --> 00:05:22,520 And now we can rerun our code. 53 00:05:31,190 --> 00:05:32,140 And that's much better. 54 00:05:35,450 --> 00:05:37,930 So which compares your value against each case? 55 00:05:38,120 --> 00:05:38,520 Uh huh. 56 00:05:38,560 --> 00:05:45,670 We found a match after Jova runs the code inside case five, it then sees the break keyword and that 57 00:05:45,670 --> 00:05:47,410 breaks out of the switch statements. 58 00:05:51,660 --> 00:05:54,040 So why didn't we at break next to default? 59 00:05:54,870 --> 00:05:57,230 Well, default is the last thing that can run. 60 00:05:57,280 --> 00:06:01,590 Switch already breaks after default, but for the sake of example. 61 00:06:02,990 --> 00:06:06,470 We'll set month equal to some absurd number like 30 to. 62 00:06:10,900 --> 00:06:12,160 We'll rerun our code. 63 00:06:13,940 --> 00:06:18,920 And the month value doesn't match any of the cases, so the default case Rut's. 64 00:06:22,300 --> 00:06:24,570 All right, so it's time for the million dollar question. 65 00:06:24,610 --> 00:06:25,960 When do we use a Felsen? 66 00:06:25,960 --> 00:06:27,180 When do we use switch? 67 00:06:27,840 --> 00:06:31,450 I want to preface this by saying I use a false 95 percent of the time. 68 00:06:32,020 --> 00:06:37,480 And if statement can test any condition, a switch statement can only compare a value against the list 69 00:06:37,480 --> 00:06:38,230 of others. 70 00:06:41,940 --> 00:06:47,610 So we'll think back to the OP we just built, the one that grants diploma if a student has over 40 credits 71 00:06:47,850 --> 00:06:50,490 and a minimum GPA of 2.0. 72 00:06:51,330 --> 00:06:58,140 Can you think of a way to do this using such absolutely impossible GPA and credits can be any number 73 00:06:58,140 --> 00:07:00,170 from an infinite range of values. 74 00:07:00,660 --> 00:07:02,640 Are you going to make infinite cases? 75 00:07:03,030 --> 00:07:03,870 I don't think so. 76 00:07:04,650 --> 00:07:07,860 The way it fails is designed around conditions and ranges. 77 00:07:07,870 --> 00:07:12,480 It's way more flexible than comparing a value against the list of cases. 78 00:07:13,320 --> 00:07:18,760 So if you fast forward to the AP book just now, you can easily use it false. 79 00:07:19,470 --> 00:07:20,730 So why didn't we use them? 80 00:07:21,960 --> 00:07:25,700 We'll have a look at this code looks pretty ugly, doesn't it? 81 00:07:26,680 --> 00:07:33,230 Once again, the screaming cat is there to tell us what not to do if you're comparing one value against 82 00:07:33,230 --> 00:07:39,460 the list of other values, don't use a false uSwitch because it's honestly prettier. 83 00:07:39,490 --> 00:07:40,600 It's easier to read. 84 00:07:40,840 --> 00:07:44,400 And they also run a tiny bit faster than anything else in general. 85 00:07:45,370 --> 00:07:49,140 So if you don't want to get lost, just follow this rule of thumb and you should be golden. 86 00:07:49,660 --> 00:07:55,740 You can only use switch to compare one value against the list of others in any other scenario. 87 00:07:55,740 --> 00:08:00,760 And 95 percent of the time you're going to need efforts to control how your code runs. 88 00:08:02,830 --> 00:08:08,210 In this section, you learn to fully control how your code runs using NFLs and switch statements, if 89 00:08:08,220 --> 00:08:09,340 false runs a piece of code. 90 00:08:09,340 --> 00:08:14,710 If the condition is true, conditional statements, officials are way more flexible than switch statements. 91 00:08:15,130 --> 00:08:19,750 Ninety five percent of the time you're going to use efforts to control how your code runs. 92 00:08:20,460 --> 00:08:21,700 Switch runs a piece of code. 93 00:08:21,700 --> 00:08:27,550 If the argument matches a case on the off chance that you need to compare a value against a list of 94 00:08:27,550 --> 00:08:30,160 other values, then you can use switch. 9324

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.