Четох някъде, че Java е чувствителна към главни и малки букви. Не можах да потвърдя това. Така ли? Ако да защо?
Java чувствителен ли е към главни и малки букви? [затворено]
Отговори (8)
Четох някъде, че Java е чувствителна към главни и малки букви. Не можах да потвърдя това.
Изходният код на Java е чувствителен към главни и малки букви, ако имате предвид това. т.е. Double
не е от същия тип като double
и можете да имате две различни и отделни променливи myData
и mydata
.
Така ли? Ако да защо?
Чувствителността към главни и малки букви е норма в повечето програмни езици и среди, тъй като малките и главните букви са представени по различен начин на най-ниските нива. За един компютър "a" и "A" са две напълно различни неща и е необходима допълнителна работа, за да го накарате да действа така, сякаш са едно и също.
Освен това, някои езици имат много трудни специални правила за малки и големи букви, напр. немската буква ß няма главна версия и обикновено е главна на "SS" - така че трябва ли "weiß" и "WEISS" да се считат за синтактично идентични? Още по-лошо е турското: те имат две отделни букви i със и без точка и всяка има своя собствена главна версия. Така че в Турция "ИЗОБРАЖЕНИЕ" не е версията с главни букви на "изображение"! И това изобщо не е без значение, особено за Java, тъй като всъщност можете да използвате всички тези букви като идентификатори във вашите Java програми, ако искате.
В светлината на всичко това е много разбираемо дизайнерите на езици за програмиране да изберат простото решение синтаксисът да е чувствителен към главни и малки букви.
ß
(въпреки че това е интересен момент).
- person William Robertson; 11.04.2017
Да, регистърът на буквите е чувствителен. Това е така поради наследството му от C. За да поддържат езика по-познат за това, с което хората са свикнали „през деня“, те го оставиха като чувствителен към малки и малки букви. Има допълнително предимство, тъй като идентификаторите на Java могат да бъдат почти всеки Unicode знак. Не е нужно да се притеснявате дали отделен знак може да бъде изписан с главни букви или не.
Например трябва ли ß
да е еквивалентно на ss
?
lowercase(U+00DF)
води до ss
? Сигурен съм, че ще бъде само s
.
- person Cole Johnson; 04.08.2013
Идентификаторите са чувствителни към малки и главни букви, тъй като сортирането е труден, зависим от локала проблем.
Java е чувствителна към малки и големи букви, защото използва синтаксис в стил C. Чувствителността към малки и главни букви е полезна, защото ви позволява да заключите какво означава едно име въз основа на неговия регистър.
Например, стандартът на Java за имена на класове е главна първата буква на всяка дума (Integer
, PrintStream
и т.н.). Стандартът за имената на променливите и методите е малката първа буква на първата дума и главни всички други първи букви (number
, println()
, checkError()
и т.н.). А стандартът за константите е изцяло с главни букви с долна черта (SOME_CONSTANT
).
Въпреки че не сте задължени да следвате тези правила във вашия код (той ще се компилира дори ако нарушите тези правила), вграденият код на Java ги следва, както и всички основни библиотеки на Java. И вашият код също трябва да следва тези правила, защото помага на други разработчици да изведат смисъл, когато видят главните букви.
Това беше по-скоро техническо решение. Java е предназначена да бъде независима от платформата. Публичните Java класове се съхраняват с името на пакета/класа във файловата система. В платформи, различни от Windows, имената на файловете са чувствителни към главни и малки букви. Ще се провали там, ако не използвате точен случай за зареждане/изпълнение на класа. Тази необходимост от чувствителност към малки и главни букви е разширена до други идентификатори в Java (което в крайна сметка дава място за други (но нетехнически) предимства като конвенции за именуване).
Дали езикът за програмиране трябва да е чувствителен към главни и малки букви или не води до разделяне на мненията между програмистите. Независимо от дебата е важно да запомните, че Java е чувствителна към главни и малки букви. Това просто означава, че регистърът на буквите във вашите Java програми има значение. Да предположим например, че решите да създадете три променливи, наречени "endLoop", "Endloop" и "EnDlOoP". Въпреки че на английски виждаме имената на променливите като казващи едно и също нещо, Java не го прави. Ще ги третира по различен начин.
да Java е чувствителна към малки и главни букви, защото повечето езици за програмиране са!
Компилаторът и интерпретаторът на Java са чувствителни към малки и големи букви, така че трябва да използвате главни букви последователно.
HelloWorldApp не е същото като Helloworlddapp.
Тази чувствителност към главни и малки букви отразява наследството на Java като израстък на C и C++.