Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.03.10
Prihlásený: 21.12.17
Príspevky: 38
Témy: 12
Príspevok NapísalOffline : 18.08.2015 0:01

ahoj,

potrebujem trochu porozumieť jave, takže som s ňou začal, ale mám tu taký problém, ktorému nechápem, hoci som ho skúšal vyriešiť už roznymi početnými operáciami. V zásade ide o to, že mám dva znaky
Kód:
char a = 'a';
char b = 'a';


príkaz
Kód:
System.out.println(a);


mi vyhodí "a"

ak však dám
Kód:
System.out.println(a+b);


tak to vyhodí "714"

skúšal som sa k tomuto číslu dopočítať nejak, ale vobec mi to nevychádza nijak raz. Neviete mi niekto poradiť, čo je to za výsledok?

Ako už som pochopil, že ak chcem docieliť výsledok "aa", musím na to ísť takto
Kód:
System.out.println(""+a+b);
(ešte nechápem prečo, ale to si zajtra dozistím). Ale hrozne ma štve, že nechápem odkiaľ sa vzal ten výsledok 714.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 18.08.2015 0:14

Mne to dáva výsledok (presne podľa očakávania) 194 a netuším, kde sa ti tam berie tých 520 navyše.


Offline

Užívateľ
Užívateľ
Java - vypísanie súčtu znakov (char) - vobec nechápem výsledok

Registrovaný: 05.04.11
Príspevky: 1693
Témy: 50
Bydlisko: Žilina, Pop...
Príspevok NapísalOffline : 18.08.2015 0:51

194 je tak isto zaujimavy vysledok mne to dava 195.

Inak k otazke. Java ma konvenciu ze ak scitavas 2 primitivne typy ako char, short a byte tak vysledkom je vzdy int. To neplati pri operacii a+=b napriklad :

Kód:
public static void main(String[] args) {
        char a = 'a', b = 'b';
        a += b;
        System.out.print(a);
    }







_________________
rMBP 13 2015
iPhone 7
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.03.10
Prihlásený: 21.12.17
Príspevky: 38
Témy: 12
Príspevok Napísal autor témyOffline : 18.08.2015 8:53

Ehm, pardon, kecal som, tiež mi to dáva 194, ale pritom AA je decimálne 170, takže aj tak mi to nejde do hlavy. Aha, teraz som na to možno prišiel. Je to súčet ich ASCII hodnot... však? 97 krát 2 = 194! jupí


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 18.08.2015 10:07

Áno, je to súčet ASCII hodnot.
A toto
Kód:
""+a+b
znamená také "implicitné pretypovanie".

Totiž, keď napíšeš a+b, kde a aj b sú typu char, tak si java povie "a a b sú primitívne typy char, výsledok bude int" (viz špecifikáciu jazyka)
Citácia:
Widening primitive conversion (§5.1.2) is applied to convert either or both operands as specified by the following rules:
If either operand is of type double, the other is converted to double.
Otherwise, if either operand is of type float, the other is converted to float.
Otherwise, if either operand is of type long, the other is converted to long.
Otherwise, both operands are converted to type int.


Ak ale napíšeš ""+a+b, java si povie "prázdny string plus char plus char, výsledok bude určite string". Práve ten string na začiatku tomu dáva to "pretypovanie" na string.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.03.10
Prihlásený: 21.12.17
Príspevky: 38
Témy: 12
Príspevok Napísal autor témyOffline : 18.08.2015 22:32

ahaaaa. díky mockrát všetkým trom ;-)


Odpovedať na tému [ Príspevkov: 6 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Vypísanie znakov v C

v Assembler, C, C++, Pascal, Java

4

468

18.04.2012 20:48

Fico Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nechapem ???

v AMD - Advanced Micro Devices

2

710

19.04.2008 12:44

Jaro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vypisanie

v PHP, ASP

4

396

16.08.2010 9:23

Pades Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ram- nechápem

v Pamäte

3

600

20.01.2009 13:19

Jaro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nechapem uvodzovkam

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PHP, ASP

44

2060

17.05.2008 14:44

emer Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Q6600- nechapem??

v Intel - Integrated Electronics

2

633

16.09.2008 7:59

Georgio99 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. icesword nechapem

v Antivíry a antispywary

0

702

12.01.2007 12:13

martingt89 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nechapem delenie

v ATI/AMD grafické karty

6

1218

27.01.2010 3:28

foxXx Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. delete char*

v Assembler, C, C++, Pascal, Java

4

413

17.11.2012 20:04

m4r14n Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nechapem syntax

v JavaScript, VBScript, Ajax

3

641

02.02.2008 12:46

Hoomerr Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nechapem týmto veciam

v Pamäte

20

995

02.01.2010 23:45

prandof Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. dobre java navody a nova tema JAVA

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Assembler, C, C++, Pascal, Java

35

5440

09.03.2009 17:14

tlacitko Enter Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Rozdiel medzi Java Standard a Java EE

v Assembler, C, C++, Pascal, Java

1

844

02.04.2014 12:41

XOLOO Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vypisanie korenoveho adresara

v PHP, ASP

11

591

29.11.2007 20:38

vl4kn0 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vypisanie z databazy

v PHP, ASP

8

472

19.06.2009 11:55

jtomcik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. char pole do int

v Assembler, C, C++, Pascal, Java

0

356

19.01.2011 22:38

1daemon1 Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra