List of Java keywords

A snippet of Java code with keywords highlighted in blue and bold font

In the Java programming language, a keyword is any one of 68 reserved words[1] that have a predefined meaning in the language. Because of this, programmers cannot use keywords in some contexts, such as names for variables, methods, classes, or as any other identifier.[2] Of these 68 keywords, 17 of them are only contextually reserved, and can sometimes be used as an identifier, unlike standard reserved words. Due to their special functions in the language, most integrated development environments for Java use syntax highlighting to display keywords in a different colour for easy identification.

List of Java keywords

_
Added in Java 9, the underscore has become a keyword and cannot be used as a variable name anymore.[3]
abstract
A method with no definition must be declared as abstract and the class containing it must be declared as abstract. Abstract classes cannot be instantiated. Abstract methods must be implemented in the sub classes. The abstract keyword cannot be used with variables or constructors. Note that an abstract class isn't required to have an abstract method at all.
assert (added in J2SE 1.4)[4]
Assert describes a predicate (a true–false statement) placed in a Java program to indicate that the developer thinks that the predicate is always true at that place. If an assertion evaluates to false at run-time, an assertion failure results, which typically causes execution to abort. Assertions are disabled at runtime by default, but can be enabled through a command-line option or programmatically through a method on the class loader.
boolean
Defines a boolean variable for the values "true" or "false" only. By default, the value of boolean primitive type is false. This keyword is also used to declare that a method returns a value of the primitive type boolean.
break
Used to end the execution in the current loop body.
Used to break out of a switch block.
byte
The byte keyword is used to declare a field that can hold an 8-bit signed two's complement integer.[5][6] This keyword is also used to declare that a method returns a value of the primitive type byte.[7][8]
case
A statement in the switch block can be labeled with one or more case or default labels. The switch statement evaluates its expression, then executes all statements that follow the matching case label; see switch.[9][10]
catch
Used in conjunction with a try block and an optional finally block. The statements in the catch block specify what to do if a specific type of exception is thrown by the try block.
char
Defines a character variable capable of holding any character of the java source file's character set.
class
A type that defines the implementation of a particular kind of object. A class definition defines instance and class fields, methods, and inner classes as well as specifying the interfaces the class implements and the immediate superclass of the class. If the superclass is not explicitly specified, the superclass is implicitly Object. The class keyword can also be used in the form Class.class to get a Class object without needing an instance of that class. For example, String.class can be used instead of doing new String().getClass().
continue
Used to resume program execution at the end of the current loop body. If followed by a label, continue resumes execution at the end of the enclosing labeled loop body.
default
The default keyword can optionally be used in a switch statement to label a block of statements to be executed if no case matches the specified value; see switch.[9][10] Alternatively, the default keyword can also be used to declare default values in a Java annotation. From Java 8 onwards, the default keyword can be used to allow an interface to provide an implementation of a method.
do
The do keyword is used in conjunction with while to create a do-while loop, which executes a block of statements associated with the loop and then tests a boolean expression associated with the while. If the expression evaluates to true, the block is executed again; this continues until the expression evaluates to false.[11][12]
double
The double keyword is used to declare a variable that can hold a 64-bit double precision IEEE 754 floating-point number.[5][6] This keyword is also used to declare that a method returns a value of the primitive type double.[7][8]
else
The else keyword is used in conjunction with if to create an if-else statement, which tests a boolean expression; if the expression evaluates to true, the block of statements associated with the if are evaluated; if it evaluates to false, the block of statements associated with the else are evaluated.[13][14]
enum (added in J2SE 5.0)[4]
A Java keyword used to declare an enumerated type. Enumerations extend the base class Enum.
extends
Used in a class declaration to specify the superclass; used in an interface declaration to specify one or more superinterfaces. Class X extends class Y to add functionality, either by adding fields or methods to class Y, or by overriding methods of class Y. An interface Z extends one or more interfaces by adding methods. Class X is said to be a subclass of class Y; Interface Z is said to be a subinterface of the interfaces it extends.
Also used to specify an upper bound on a type parameter in Generics.
final
Define an entity once that cannot be changed nor derived from later. More specifically: a final class cannot be subclassed, a final method cannot be overridden, and a final variable can occur at most once as a left-hand expression on an executed command. All methods in a final class are implicitly final.
finally
Used to define a block of statements for a block defined previously by the try keyword. The finally block is executed after execution exits the try block and any associated catch clauses regardless of whether an exception was thrown or caught, or execution left method in the middle of the try or catch blocks using the return keyword.
float
The float keyword is used to declare a variable that can hold a 32-bit single precision IEEE 754 floating-point number.[5][6] This keyword is also used to declare that a method returns a value of the primitive type float.[7][8]
for
The for keyword is used to create a for loop, which specifies a variable initialization, a boolean expression, and an incrementation. The variable initialization is performed first, and then the boolean expression is evaluated. If the expression evaluates to true, the block of statements associated with the loop are executed, and then the incrementation is performed. The boolean expression is then evaluated again; this continues until the expression evaluates to false.[15]
As of J2SE 5.0, the for keyword can also be used to create a so-called "enhanced for loop",[16] which specifies an array or Iterable object; each iteration of the loop executes the associated block of statements using a different element in the array or Iterable.[15]
if
The if keyword is used to create an if statement, which tests a boolean expression; if the expression evaluates to true, the block of statements associated with the if statement is executed. This keyword can also be used to create an if-else statement; see else.[13][14]
implements
Included in a class declaration to specify one or more interfaces that are implemented by the current class. A class inherits the types and abstract methods declared by the interfaces.
import
Used at the beginning of a source file to specify classes or entire Java packages to be referred to later without including their package names in the reference. Since J2SE 5.0, import statements can import static members of a class.
instanceof
A binary operator that takes an object reference as its first operand and a class or interface as its second operand and produces a boolean result. The instanceof operator evaluates to true if and only if the runtime type of the object is assignment compatible with the class or interface.
int
The int keyword is used to declare a variable that can hold a 32-bit signed two's complement integer.[5][6] This keyword is also used to declare that a method returns a value of the primitive type int.[7][8]
interface
Used to declare an interface that only contains abstract or default methods, constant (static final) fields and static interfaces. It can later be implemented by classes that declare the interface with the implements keyword. As multiple inheritance is not allowed in Java, interfaces are used to circumvent it. An interface can be defined within another interface.
long
The long keyword is used to declare a variable that can hold a 64-bit signed two's complement integer.[5][6] This keyword is also used to declare that a method returns a value of the primitive type long.[7][8]
native
Used in method declarations to specify that the method is not implemented in the same Java source file, but rather in another language.[8]
new
Used to create an instance of a class or array object. Using keyword for this end is not completely necessary (as exemplified by Scala), though it serves two purposes: it enables the existence of different namespace for methods and class names, it defines statically and locally that a fresh object is indeed created, and of what runtime type it is (arguably introducing dependency into the code).
package
Java package is a group of similar classes and interfaces. Packages are declared with the package keyword.
private
The private keyword is used in the declaration of a method, field, or inner class; private members can only be accessed by other members of their own class.[17]
protected
The protected keyword is used in the declaration of a method, field, or inner class; protected members can only be accessed by members of their own class, that class's subclasses or classes from the same package.[17]
public
The public keyword is used in the declaration of a class, method, or field; public classes, methods, and fields can be accessed by the members of any class.[17]
return
Used to finish the execution of a method. It can be followed by a value required by the method definition that is returned to the caller.
short
The short keyword is used to declare a field that can hold a 16-bit signed two's complement integer.[5][6] This keyword is also used to declare that a method returns a value of the primitive type short.[7][8]
static
Used to declare a field, method, or inner class as a class field. Classes maintain one copy of class fields regardless of how many instances exist of that class. static also is used to define a method as a class method. Class methods are bound to the class instead of to a specific instance, and can only operate on class fields. Classes and interfaces declared as static members of another class or interface are behaviorally top-level classes.[18]
super
Inheritance basically used to achieve dynamic binding or run-time polymorphism in java. Used to access members of a class inherited by the class in which it appears. Allows a subclass to access overridden methods and hidden members of its superclass. The super keyword is also used to forward a call from a constructor to a constructor in the superclass.
Also used to specify a lower bound on a type parameter in Generics.
switch
The switch keyword is used in conjunction with case and default to create a switch statement, which evaluates a variable, matches its value to a specific case (including patterns), and executes the block of statements associated with that case. If no case matches the value, the optional block labelled by default is executed, if included.[9][10] The switch keyword can also be used with the non-reserved keyword yield to create switch expressions.
synchronized
Used in the declaration of a method or code block to acquire the mutex lock for an object while the current thread executes the code.[8] For static methods, the object locked is the class's Class. Guarantees that at most one thread at a time operating on the same object executes that code. The mutex lock is automatically released when execution exits the synchronized code. Fields, classes and interfaces cannot be declared as synchronized.
this
Used to represent an instance of the class in which it appears. this can be used to access class members and as a reference to the current instance. The this keyword is also used to forward a call from one constructor in a class to another constructor in the same class.
throw
Causes the declared exception instance to be thrown. This causes execution to continue with the first enclosing exception handler declared by the catch keyword to handle an assignment compatible exception type. If no such exception handler is found in the current method, then the method returns and the process is repeated in the calling method. If no exception handler is found in any method call on the stack, then the exception is passed to the thread's uncaught exception handler.
throws
Used in method declarations to specify which exceptions are not handled within the method but rather passed to the next higher level of the program. All uncaught exceptions in a method that are not instances of RuntimeException must be declared using the throws keyword.
transient
Declares that an instance field is not part of the default serialized form of an object. When an object is serialized, only the values of its non-transient instance fields are included in the default serial representation. When an object is deserialized, transient fields are initialized only to their default value. If the default form is not used, e.g. when a serialPersistentFields table is declared in the class hierarchy, all transient keywords are ignored.[19][20]
try
Defines a block of statements that have exception handling. If an exception is thrown inside the try block, an optional catch block can handle declared exception types. Also, an optional finally block can be declared that will be executed when execution exits the try block and catch clauses, regardless of whether an exception is thrown or not. A try block must have at least one catch clause or a finally block.
void
The void keyword is used to declare that a method does not return any value.[7]
volatile
Used in field declarations to guarantee visibility of changes to variables across threads. Every read of a volatile variable will be read from main memory, and not from the CPU cache, and that every write to a volatile variable will be written to main memory, and not just to the CPU cache.[21] Methods, classes and interfaces thus cannot be declared volatile, nor can local variables or parameters.
while
The while keyword is used to create a while loop, which tests a boolean expression and executes the block of statements associated with the loop if the expression evaluates to true; this continues until the expression evaluates to false. This keyword can also be used to create a do-while loop; see do.[11][12]

Reserved Identifiers

The following identifiers are contextual keywords, and are only restricted in some contexts:

exports

module

non-sealed
Used to declare that a class or interface which extends a sealed class can be extended by unknown classes.[22]
open
opens
permits
The permits clause specifies the classes that are permitted to extend a sealed class.[22]
provides
record

requires

sealed
A sealed class or interface can only be extended or implemented by classes and interfaces permitted to do so.[22]
to
transitive
uses
var
A special identifier that cannot be used as a type name (since Java 10).[23]
when
used as an additional check for a case statement. [24]
with
yield
Used to set a value for a switch expression, when using labelled statement groups (for example, case L:).[25]

Reserved words for literal values

true
A boolean literal value.
false
A boolean literal value.
null
A reference literal value.

Unused

const
Although reserved as a keyword in Java, const is not used and has no function.[2][26] For defining constants in Java, see the final keyword.
goto
Although reserved as a keyword in Java, goto is not used and has no function.[2][26]
strictfp (added in J2SE 1.2)[4]
Although reserved as a keyword in Java, strictfp is obsolete, and no longer has any function.[27] Previously this keyword was used to restrict the precision and rounding of floating point calculations to ensure portability.[8]

See also

References

  1. ^ "Java Platform, Standard Edition Java API Reference".
  2. ^ a b c "Java Language Specification - Section 3.9: Keywords". The Java Language Specification. Oracle. 2018-08-21. Retrieved 2018-12-25.
  3. ^ "Treatment of underscores". JEP 302: Lambda Leftovers.
  4. ^ a b c "Java Language Keywords". The Java Tutorials. Sun Microsystems, Inc. Retrieved 2017-07-24.
  5. ^ a b c d e f "Primitive Data Types". The Java Tutorials. Sun Microsystems, Inc. February 14, 2008. Retrieved 2008-12-03.
  6. ^ a b c d e f Flanagan 2005, p. 22.
  7. ^ a b c d e f g "Returning a Value from a Method". The Java Tutorials. Sun Microsystems, Inc. February 14, 2008. Retrieved 2008-12-03.
  8. ^ a b c d e f g h i Flanagan 2005, pp. 66–67.
  9. ^ a b c "The switch Statement". The Java Tutorials. Sun Microsystems, Inc. February 14, 2008. Retrieved 2014-12-18.
  10. ^ a b c Flanagan 2005, pp. 46–48.
  11. ^ a b "The while and do-while Statements". The Java Tutorials. Sun Microsystems, Inc. February 14, 2008. Retrieved 2008-12-03.
  12. ^ a b Flanagan 2005, pp. 48–49.
  13. ^ a b "The if-then and if-then-else Statements". The Java Tutorials. Sun Microsystems, Inc. February 14, 2008. Retrieved 2008-12-03.
  14. ^ a b Flanagan 2005, pp. 44–46.
  15. ^ a b "The for Statement". The Java Tutorials. Sun Microsystems, Inc. February 14, 2008. Retrieved 2008-12-03.
  16. ^ Flanagan 2005, pp. 50–54.
  17. ^ a b c "Controlling Access to Members of a Class". The Java Tutorials. Sun Microsystems, Inc. February 14, 2008. Retrieved 2008-12-03.
  18. ^ "Nested Classes (The Java™ Tutorials > Learning the Java Language > Classes and Objects)".
  19. ^ "Java Object Serialization Specification version 1.5.0". Sun/Oracle. 2004. 1.5 Defining Serializable Fields for a Class. Retrieved 2010-09-16.[permanent dead link]
  20. ^ Grosso, William (November 21, 2001). "Java RMI: Serialization". ONJava. O'Reilly Media. Declaring serialPersistentFields. Retrieved 2010-09-16.
  21. ^ "Java Volatile Keyword".
  22. ^ a b c "Sealed Classes". docs.oracle.com. Oracle Corporation. Retrieved 2021-08-07.
  23. ^ "Chapter 3. Lexical Structure". docs.oracle.com. Retrieved 2018-12-25.
  24. ^ "Chapter 14. Blocks, Statements, and Patterns".
  25. ^ "Switch Expressions". docs.oracle.com. Oracle Corporation. Retrieved 2020-12-27.
  26. ^ a b Flanagan 2005, p. 20.
  27. ^ "JEP 306: Restore Always-Strict Floating-Point Semantics".


Read other articles:

Rudolf HössRudolf Höss di Supreme National Tribunal of PolandLahirRudolf Franz Ferdinand Höß(1900-11-25)25 November 1900Baden-BadenMeninggal16 April 1947(1947-04-16) (umur 45)Auschwitz-BirkenauSebab meninggalHukuman gantungKebangsaanJermanPekerjaanSS-ObersturmbannführerDikenal atasKomandan pertama di kamp konsentrasi AuschwitzPartai politikNational Socialist German Workers' Party (NSDAP)Suami/istriHedwig HenselAnak5 (2 laki-laki, 3 perempuan) Tiang gantungan di kamp konsentras...

 

Artikel ini membahas mengenai bangunan, struktur, infrastruktur, atau kawasan terencana yang sedang dibangun atau akan segera selesai. Informasi di halaman ini bisa berubah setiap saat (tidak jarang perubahan yang besar) seiring dengan penyelesaiannya. Grosvenor HouseGrosvenor House The Residence sedang dibangun bulan Januari 2008Informasi umumLokasiDubai, Uni Emirat ArabPerkiraan rampungWest Marina Beach: 2005[1] The Residence: 2009[2]TinggiAtap210 m (690 ft)[3][4...

 

Prarolo commune di Italia Tempat Negara berdaulatItaliaRegion di ItaliaPiedmontProvinsi di ItaliaProvinsi Vercelli NegaraItalia Ibu kotaPrarolo PendudukTotal712  (2023 )GeografiLuas wilayah11,54 km² [convert: unit tak dikenal]Ketinggian117 m Berbatasan denganAsigliano Vercellese Palestro (en) Pezzana Vercelli SejarahSanto pelindungMaria Diangkat ke Surga Informasi tambahanKode pos13012 Zona waktuUTC+1 UTC+2 Kode telepon0161 ID ISTAT002104 Kode kadaster ItaliaG985 Lain-lainSitus web...

Questa voce o sezione sugli argomenti fiumi degli Stati Uniti d'America e Canada non cita le fonti necessarie o quelle presenti sono insufficienti. Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. San LorenzoIl fiume San Lorenzo a MontréalStati Canada Stati Uniti Suddivisioni Ontario Québec Illinois Indiana Michigan Minnesota New York Ohio Pennsylvania Vermont...

 

Ne doit pas être confondu avec EA Games. Jeux de l'Asie de l'Est Généralités Sport Compétition multisport Création 1993 Disparition 2013 Organisateur(s) Association des Jeux de l'Asie de l'Est Éditions 5 Catégorie Compétition multisport Périodicité Quadriennal (comme les Jeux olympiques) Nations Nations de l'OCA et Guam Statut des participants Professionnels et amateurs Site web officiel http://www.ocasia.org/Game/Index.aspx Palmarès Tenant du titre Chine Plus titré(s) Chine (49...

 

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This biography of a living person needs additional citations for verification. Please help by adding reliable sources. Contentious material about living persons that is unsourced or poorly sourced must be removed immediately from the article and its talk page, especially if potentially libelous.Find sources: Sido rapper –&#...

Katedral Para Martir Janasuci Baru di Munchen Eparki Berlin dan Jerman adalah sebuah eparki (keuskupan) Gereja Ortodoks Rusia di Luar Rusia. Eparki tersebut meliputi wilayah Jerman, Austria dan Denmark dan telah berdiri sejak tahun 1924.[1] Ordinaris 1925–1938: Tikhon Ljaschtschenko 1938–1950: Serafim Lade 1950–1951: Benediktus Bobkowski 1951–1971: Aleksander Lowtschy 1971–1982: Filoteos Narko 1982–sekarang: Markus Arndt Referensi ^ https://web.archive.org/web/200104201629...

 

Medieval French composer and poet (c. 1300–1377) Machaut redirects here. For the crater, see Machaut (crater). Machaut (right) receiving Nature and three of her children. From an illuminated Parisian manuscript of the 1350s Part of a series onMedieval music Overview Composers  / Instruments / Theory (Theorists) Movements and schools Saint Gall Saint Martial Goliard Ars antiqua Notre-Dame school Troubadour Trouvère Minnesang Ars nova Trecento Ars subtilior Major figures No...

 

Former currency of Bolivia Bolivian pesopeso boliviano (Spanish) Bolivian pesoISO 4217CodeBOPUnitSymbolb$.‎DenominationsSubunit 1⁄100centavoBanknotes1, 5, 10, 20, 50, 100, 500, 1000, 5000, 10,000, 50,000, 100,000 pesos bolivianosbank cheques: 5,000, 10,000, 20,000, 50,000, 100,000, 500,000, 1 million, 5 million, 10 million pesos bolivianosCoins5, 10, 20, 25, 50 centavos, 1, 5 pesos bolivianosDemographicsDate of introductionJanuary 1, 1963ReplacedBolivian bolivianoD...

この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)出典検索?: コルク – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2017年4月) コルクを打ち抜いて作った瓶の栓 コルク(木栓、�...

 

Pandemi COVID-19 di Delaware  > 2500 kasus terkonfirmasi   900–2499 kasus terkonfirmasi   < 899 kasus terkonfirmasiPenyakitCOVID-19Galur virusSARS-CoV-2LokasiDelaware, ASKasus pertamaNew Castle CountyTanggal kemunculan11 Maret 2020Kasus terkonfirmasi5.778Kasus sembuh2.008Kematian193Situs web resmiDelaware Department of Health and Social Services Pandemi COVID-19 dikabarkan mencapai negara bagian Delaware pada 11 Maret 2020, di New Castle County. Pada 6 Me...

 

Ne pas confondre avec le théorème de Cayley en théorie des groupes ni avec le théorème de Hamilton en géométrie. Portrait d'Arthur Cayley En algèbre linéaire, le théorème de Cayley-Hamilton affirme que tout endomorphisme d'un espace vectoriel de dimension finie sur un corps commutatif quelconque annule son propre polynôme caractéristique. En termes de matrice, cela signifie que si A est une matrice carrée d'ordre n et si p ( X ) = det ( X I n − A ) = X n + p n − 1...

58°39′00″N 70°07′00″E / 58.65°N 70.1167°E / 58.65; 70.1167 الإمبراطورية الروسية Российская ИмперияРоссійская Имперія الإمبراطورية الروسية 1721 – 1917 الإمبراطورية الروسيةعلم الإمبراطورية الروسية الإمبراطورية الروسيةشعار نبالة الإمبراطورية الروسية الشعار الوطني : Съ на...

 

هيئة البرمجيات الترفيهية ذاتية التنظيمالشعارمعلومات عامةالاختصار USK (بالألمانية) البلد  ألمانيا التأسيس 1994 النوع عمل تجاري المقر الرئيسي برلين ألمانيا مواقع الويب usk.de… (الإنجليزية)usk.de (الألمانية) المنظومة الاقتصاديةالصناعة تقديرات العاب الحاسوبأهم الشخصياتالمال�...

 

Amusement park in England For the beach at Blackpool, see Blackpool Sands, Blackpool. Pleasure Beach ResortLocationSouth Shore, Blackpool, Lancashire, EnglandCoordinates53°47′25″N 3°03′20″W / 53.79028°N 3.05556°W / 53.79028; -3.05556StatusOperatingOpened1896 (First Rides)OwnerThompson Family (Amanda Thompson)SloganWe create the fun. You keep the memories.Operating season2024 season:Weekends:2–24 March9–30 NovemberDaily:27 March – 3 November[1]...

Barnim V, Duke of PomeraniaDuke of PomeraniaBarnim V, Duke of PomeraniaBorn1369Diedc. 1402–1403Noble familyHouse of GriffinsFatherBogislaw V, Duke of PomeraniaMotherAdelheid of Brunswick-Grubenhagen Barnim V (1369–1402/1403) was one of the Dukes of Pomerania. He was the son of Bogislaw V. He ruled over parts of Pomerania-Stolp; first the territories near Stargard Szczeciński, and in his last years, 1402–1403, he co-ruled Pomerania-Stolp with his brother, Bogislaw VIII. Sources on...

 

District in Rajshahi Division, BangladeshBogra District বগুড়া জেলাDistrictBogura DistrictClockwise from top-left: Kherua Masjid, Fields in Sherpur Upazila, Street in Bogra, Sannasir Vita in Vasu Vihara, Gokul Medh in MahasthangarhLocation of Bogra District in BangladeshExpandable map of Bogra DistrictCoordinates: 24°47′N 89°21′E / 24.78°N 89.35°E / 24.78; 89.35Country BangladeshDivisionRajshahi DivisionPundravardhana1280 BCGovernment&...

 

此條目可参照外語維基百科相應條目来扩充。 (2016年4月30日)若您熟悉来源语言和主题,请协助参考外语维基百科扩充条目。请勿直接提交机械翻译,也不要翻译不可靠、低品质内容。依版权协议,译文需在编辑摘要注明来源,或于讨论页顶部标记{{Translated page}}标签。 Southbank Centre地址英國倫敦貝爾韋代雷路(Belvedere Road)坐標51°30′20.56″N 00°07′0.34″W / 51.505711...

1+1

Dieser Artikel behandelt den ukrainischen Fernsehsender. Zum deutschen Internetdienstleister siehe 1&1. 1+1 Fernsehsender (Privatrechtlich) Empfang DVB-T2 Bildauflösung 1080i HDTV576i SDTV Sendestart Aug. 1995 Sitz Kyjiw Eigentümer CME Geschäftsführer Oleksandr Tkachenko Liste der Listen von Fernsehsendern Website 1+1 ist ein ukrainischer Fernsehsender, der seit 2010 mehrheitlich im Besitz des Oligarchen Ihor Kolomojskyj ist.[1] Er zählt zu den Sendern mit dem höchsten Mark...

 

One of three scriptural divisions within Dzogchen This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Longdé – news · newspapers · books · scholar · JSTOR (January 2022) (Learn how and when to remove this message) This article contains Tibetan alphabet. Without proper rendering support, you may see question mar...