Geek tričko zdarma Python týden
Tričko zdarma! Stačí před dobitím bodů použít kód TRIKO15. Více informací zde
Pouze tento sleva až 80% na kurzy Python

Diskuze: výrazy

Aktivity (2)
Avatar
Michal
Člen
Avatar
Michal:17.9.2018 22:30

ahoj,
v učebnici Java od Pavla Herouta jsem narazil na toto:

int i; byte b;
b=-1;
i=(b<0) ? b + 256 : b;

chci se zeptat, jak bych to jako člověk měl číst?

Ke všem prvkům b z množiny b prvků, které splňují podmínku být menší než 0, přičíst 256?

Jde mi o význam otazníku a dvojtečky. Nevíte někdo, jak se těmto výrazům říká? Rád bych si to nastudoval. Celkem to usnadňuje programovací kód a vypadá to celkem přehledně a pochopitelně.
Dík

 
Odpovědět 17.9.2018 22:30
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Michal
DarkCoder:17.9.2018 22:46

Jedná se o ternární podmiňovací operátor - ?:

řádek
i=(b<0) ? b + 256 : b;

je totéž co

if(b<0) i=b+256;
else i = b;

Tedy pokud je podmínka pravdivá, přiřadí se do i část za ?, pokud je nepravdivá přiřadí se do i část za :.

Levá strana nemusí být uváděna. Pak se části za ? nebo za i provádějí přímo bez přiřazování do proměnné.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +2 17.9.2018 22:46
"„Učíš-li se proto, aby sis zapamatoval, zapomeneš. Učíš-li se proto, abys porozuměl, zapamatuješ si."
Avatar
Michal
Člen
Avatar
Michal:17.9.2018 23:04

Mockrát dík, jsi rychlík !!

 
Nahoru Odpovědět 17.9.2018 23:04
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 3 zpráv z 3.