在Java中初始化一长串
 原始数据types –  oracle doc说Java中long的范围是-9,223,372,036,854,775,808到9,223,372,036,854,775,807 。 但是当我在日食中做这样的事情 
 long i = 12345678910; 
 它显示我“ The literal 12345678910 of type int is out of range ”错误。 
有两个问题。
  1)如何初始化long为12345678910的值? 
  2)默认的所有数字文字是inttypes的吗? 
-  你应该添加L:long i = 12345678910L;。
- 是。
 顺便说一句:它不一定是一个大写的L,但小写与1多次混淆:)。 
- 
您需要将 L字符添加到数字的末尾,以使Java将其识别为长整型。long i = 12345678910L;
- 
是。 
请参阅原语数据types ,其中指出:“如果整数字面量以字母L或l结尾,则为long型;否则为int型。
 你需要像这样在最后加上大写字母L 
 long i = 12345678910L; 
 对于3.0f float也是如此 
哪个应该回答你的两个问题
 要初始化很长时间,您需要在末尾添加“L”。 
 它可以是大写或小写。 
 所有的数值都是默认的int 。 即使你用任何整数对byte进行任何操作, byte也首先被提升为int ,然后执行任何操作。 
尝试这个
 byte a = 1; // declare a byte a = a*2; // you will get error here 
 你得到错误,因为2是默认的int 。 
 因此,你正试图乘以byte与int 。 因此结果得到了typecasted到int不能被分配回byte 。