Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 16 - Cykly v Javě potřetí - do-while, break a continue

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Atrament
Tvůrce
Avatar
Odpovídá na Robert Vyskup
Atrament:3.8.2021 10:42

\ je speciální znak, používá se ve Stringu ke vkládání tzv escape sekvencí, například sekvence pro odřádkování \n , pro tabulátor \t , pro uvozovky \" ...

Zkus si

System.out.println("Hello \ world");

a zjistíš že ti to neprojde, bude si stěžovat na použití nelegálního escape znaku
zkus ale

System.out.println("Hello\nworld");

a dostaneš

Hello
world

Pokud bys chtěl vytisknout Hello \ world, musíš to zpětné lomítko nejprve tzv. escapovat pomocí druhého lomítka, tak bude Java vědět, že nejde o začátek escape sekvence ale že skutečně chceš použít zpětné lomítko

System.out.println("Hello \\ world");  //vytiskne Hello \ world

A stejně tak musíš ten znak \ escapovat použít v těch regulárních výrazech, když chceš použít \d tak musíš nejprve escapovat to lomíto takže musíš zadat dvě lomítka\\d

 
Odpovědět
3.8.2021 10:42
Avatar
Neaktivní uživatel:23.7.2022 9:25

U mě dobrý. Domluvit se regulerně s počítačem je pořád lehčí, než se pokusit domluvit cizím jazykem s člověkem :D
A teď přiletí pořádná facka od mého PC, ne? Už jsem mu musela mazat specializovaně paměť, protože jsem si ji zaplnila nestopnutou smyčkou v IDE :'D

Odpovědět
23.7.2022 9:25
Neaktivní uživatelský účet
Avatar
Marek Stříbný:7.9.2022 20:11

Jak je příklad pro continue píše se tam že program počítá stím že uživatel zadá kód špatně a program je udělaný tak že sečte jen čiselné hodnoty tak proč když do String cislaRetezec
přídám třeba před 50 písmenko a
String cislaRetezec = "10,a50,ab10c­d,30,9";
tak najednou už stím program nepočítá a místo výsledku 99 napiše 49 ?

 
Odpovědět
7.9.2022 20:11
Avatar
Odpovídá na Marek Stříbný
Marek Stříbný:7.9.2022 20:29

Tak sem to špatně pochopil už vím že to čísla s textem přeskakuje 😶

 
Odpovědět
7.9.2022 20:29
Avatar
Jan Trnka
Člen
Avatar
Jan Trnka:4.12.2022 22:29

Zatím vše pochopitelné.

 
Odpovědět
4.12.2022 22:29
Avatar
Niki Vávrová:16.12.2022 17:22

Zatím je vše pochopitelné.

 
Odpovědět
16.12.2022 17:22
Avatar
Michael Hereit:19.1.2023 14:03

lekce napsané od Petra jsou jasné čitelné a srozumitelné, příklady typu představte si sklenice atd. jsou skvělé pro nás, kteří přicházíme úplně z jiného oboru :) díky za skvělou lekci!

Odpovědět
19.1.2023 14:03
All we 've to decide is what to do with the time that is given us. (J.R.R. Tolkien)
Avatar
Benjamin Phan:19.7.2023 20:40

Mně teda příkaz continue vůbec srozumitelný nepřijde.
Pro ty, kteří to taky nepochopili přidávám vysvětlení k použitému kódu, ale dost mě mrzí, že to není přímo v článku. Tohle nemůže úplný začátečník z použitého vysvětlení vůbec pochopit. Zkuste se prosím vtělit do nás, kteří to vidíme poprvé a nevysvětlujte to tak, jako byste to vysvětlovali kolegovi, který je už 6 let programátor...

Vysvětlení:
In the given code, the line if (!polozka.mat­ches("\\d+")) continue; is used to skip the current iteration of the loop if the polozka (item) in the polozky array contains any non-numeric characters.

Let's break it down:

polozka.matches("\\d+"): The matches method is used to check if the polozka string matches the specified regular expression. The regular expression \\d+ is used here.

\d: In regular expressions, \d represents any digit character (0-9).

+: The + quantifier means "one or more occurrences of the preceding character" in regular expressions. In this case, it means one or more digit characters.

So, \\d+ matches any sequence of one or more digit characters.

Now, let's understand the if condition:

!polozka.matches("\\d+"): The ! symbol is a logical NOT operator. It negates the result of the matches method.

So, !polozka.matches("\\d+") means "if the polozka does not match the pattern of one or more digit characters."

If the condition evaluates to true, it means that the polozka contains non-numeric characters, and the continue statement is executed, which skips the current iteration of the loop. In other words, it will move to the next item in the polozky array without executing the rest of the loop code.

This allows the code to only consider the elements in the polozky array that are composed entirely of digits, and skip any non-numeric elements, ensuring that only valid integers are added to the soucet (sum) variable.

 
Odpovědět
19.7.2023 20:40
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 18.