[ 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

512

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

745

19.04.2008 12:44

Jaro

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

Vypisanie

v PHP, ASP

4

430

16.08.2010 9:23

Pades

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

Ram- nechápem

v Pamäte

3

633

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

2142

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

668

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

735

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

1281

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

452

17.11.2012 20:04

m4r14n

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

Nechapem syntax

v JavaScript, VBScript, Ajax

3

675

02.02.2008 12:46

Hoomerr

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

Nechapem týmto veciam

v Pamäte

20

1034

02.01.2010 23:45

prandof

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

5574

09.03.2009 17:14

tlacitko Enter

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

912

02.04.2014 12:41

XOLOO

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

Vypisanie korenoveho adresara

v PHP, ASP

11

629

29.11.2007 20:38

vl4kn0

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

Vypisanie z databazy

v PHP, ASP

8

500

19.06.2009 11:55

jtomcik

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

mer. char.zenerovej diody

v Elektronika

0

526

10.01.2012 20:34

p4tooo



© 2005 - 2025 PCforum, edited by JanoF