[ 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 | 12

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 | 0

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 | 50
Bydlisko: Žilina, Pop...

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 | 12

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 | 3

Á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 | 12

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


 [ Príspevkov: 6 ] 


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



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

504

18.04.2012 20:48

Fico

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

Nechapem ???

v AMD - Advanced Micro Devices

2

736

19.04.2008 12:44

Jaro

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

Vypisanie

v PHP, ASP

4

425

16.08.2010 9:23

Pades

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

Nechapem syntax

v JavaScript, VBScript, Ajax

3

668

02.02.2008 12:46

Hoomerr

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

Ram- nechápem

v Pamäte

3

623

20.01.2009 13:19

Jaro

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

2126

17.05.2008 14:44

emer

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

Q6600- nechapem??

v Intel - Integrated Electronics

2

659

16.09.2008 7:59

Georgio99

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

icesword nechapem

v Antivíry a antispywary

0

729

12.01.2007 12:13

martingt89

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

nechapem delenie

v ATI/AMD grafické karty

6

1270

27.01.2010 3:28

foxXx

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

delete char*

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

4

445

17.11.2012 20:04

m4r14n

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

Nechapem týmto veciam

v Pamäte

20

1029

02.01.2010 23:45

prandof

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

898

02.04.2014 12:41

XOLOO

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

5543

09.03.2009 17:14

tlacitko Enter

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

Vypisanie z databazy

v PHP, ASP

8

496

19.06.2009 11:55

jtomcik

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

Vypisanie korenoveho adresara

v PHP, ASP

11

622

29.11.2007 20:38

vl4kn0

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

Zmena char na int

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

6

542

02.02.2012 23:18

street_punk



© 2005 - 2024 PCforum, edited by JanoF