Jak porovnávat znaky v programování Java
Krok 1
Připravte dva znaky v programu Java. Můžete vytvořit přímo primitivní znakové proměnné nebo použít znaky, které se vyskytují v textových řetězcích, které máte. Následující příklad kódu znázorňuje dvě metody:
char firstChar = 'g'; Řetězec fullString = "apple"; char secondChar = fullString.charAt (1); // 'p'
Kód vytvoří dvě znakové proměnné. Oba jsou malá písmena abecedy, "g" a "p".
Krok 2
Porovnej své postavy. Následující příklad kódu zobrazuje porovnání dvou znaků, které určují, který je první v abecedním pořadí:
pokud (firstChar
Srovnání funguje stejným způsobem jako porovnání dvou čísel, ať už je znak větší nebo roven. Uložte kód, zkompilujte jej a spusťte jej, abyste viděli výsledek. Experiment změnou proměnných znaků ověřte, že porovnání funguje přesně.
Krok 3
Srovnejte znaky s různými případy. Malá a malá písmena jsou v jazyce Java reprezentována různými hodnotami. Z tohoto důvodu mohou porovnání někdy mít nečekané výsledky. Změňte první řádek kódu následujícím způsobem, abyste zobrazili rozdíl:
char firstChar = 'S';
Spusťte program, který by měl vydávat následující: První znak je první
To může být neočekávané, protože písmeno "S" je abecedně zpět k písmenu "p". Java představuje znaky primitivního typu pomocí jejich hodnot ASCII a velká písmena jsou reprezentována pomocí nižších čísel. Vezměte to v úvahu při porovnávání znaků.
Krok 4
Použijte objekty znaků, které reprezentují vaše znaky. Jazyk Java poskytuje třídu znaků, které mají být modelovány jako objekty namísto primitivních typů. Tyto objekty použijte ve svém kódu následujícím způsobem:
Znak firstCharacter = nový znak ('v'); Znak secondCharacter = nový znak ('t');
Třída znaků je kontejner pro primitivní typ "char". V objektech znaků je instancí vytvořena předáním znaku reprezentovaného ve své primitivní podobě jako parametru konstruktoru třídy, jak je vidět v tomto příkladu.
Krok 5
Porovnejte objekty svých postav. Třída znaků poskytuje následující metodu porovnání:
int výsledek = firstCharacter.compareTo (druhýCharacter); if (result0) System.out.println ("Druhý znak přijde první"); else System.out.println ("Obě znaky jsou stejné");
Zadejte tento kód a zkuste znovu program; musí poskytnout následující výsledek: Druhý znak je první
Všimněte si, že velká písmena jsou stále používána s nižší hodnotou při použití třídy znaků.