String hat in java eine sonderstellung ... es ist in dem sinne kein primitiver datentyp sondern eine Klasse ... und diese arbeitet intern mit einem char-Array ... allerdings kann man strings in java auch direkt verwenden und muss nicht umständlich neue string-objekte mit einem vorher kompliziert zusammengebauten char-array erstellen ...
einzig die primitiven datentypen byte, short, char, int, long, floar und double werden klein geschrieben ... ansonsten sollte jeder typ (also jede klasse) UpperCamelCase geschrieben werden ...
und da man fast alles in andere wraper-klassen kapseln kann gibt es für "typedef" keinen sinnvollen grund ... liegt halt an der OOP-struktur von java
außerdem sind primitive datentypen in java grundsätzlich signed ... ist halt eine design-entscheidung ...
zu den namenskonventionen .... das wird dich als jemand aus der C-ecke verwirren ... folgendes gilt grundsätzlich
KlasseNamen werden immer UpperCamelCase geschrieben und sollte substantive sein ... also anstatt "rechnen" halt "Rechner" ... natürlich sollte der name sinnvoll zu dem passen was an daten in dieser gehalten wird und welche methoden welche veränderung bewirken ...
varaiblenName werden lowerCamelCase geschrieben und sollte immer "sagend" sein ... also das man aus dem variablennamen erkennt was dieser zu bedueten hat ... von auto-completern in IDEs wird gerne einfach der klassenname genommen, vorner lowcase gemacht und falls mehrere objekte in einem scope sind nummeriert ... ist zwar nicht so super aber kann man machen ... sinnvoller ist aber immer einen namen zu nutzen der möglichst gut beschreibt wofür die variable genutzt wird ...
kleinere ausnahmen sind loop-counter, wofür häufig i und j bzw weiter bei noch tiefer geschachtelten loops verwendet wird
KONSTANTE_VARIABLEN werden grundsätzlich UPPERCASE geschrieben und die einzelnen worte mit "_" getrennt ... außerdem macht man konstanten in der regel "public static final" wobei der access-modifier variable ist ... den namen sollte man auch wieder entsprechend "sagend" wählen ... und "zahlen" , also "1" werden als wörter ausgeschrieben : "ONE" oder "EINS" ...
methodenNamen() werden ebenfalls wieder lowerCamelCase geschrieben, jedoch diesmal als verben und sollte möglichst einfach beschrieben was diese tun ... also nicht "rechnen1", "rechnen2" usw sondern eher "addieren", "subtrahieren" usw ...
packages werden in der regel aus dem domain-namen gebildet ... für mich hier wäre z.b. sinnvol : org.javaforum.troll.examples ... "java-forum" habe ich bewusst nicht geschrieben da man, wenn auch möglich und sinnvoll, alles andere als 0-9a-zA-Z vermeiden sollte da packages immer an eine ordner struktur gebunden sind und diese bei "sonderzeichen" gestört werden / kaputt gehen kann ...
weiter gilt auch das man den sog. scope , also die sichtbarkeit , immer so klein wie möglich zu halten ist : private > pacakge-private > protected > public ... und variablen sollten grundsätzlich (auch klassen-intern selbst) nur über getter und setter erreichbar und veränderbar sein ..
die speziellen naming-conventions gibt es direkt hier :
Code Conventions for the Java Programming Language: 9. Naming Conventions
aber für guten code solltest du die kompletten conventions drauf haben :
Code Conventions for the Java Programming Language: Contents