1.long与float的双标对待
- 声明long型常量须后加“l"或“L”,但是在使用的时候有的时候可以不加
- 声明float型常量须后加“f"或“F”,使用的时候必须加
给long赋值一个较小的值不加L,可以运行
System.out.println("1.long与float");
long l1=1234;
System.out.println(l1);
给long赋值一个较大的值不加L,不可以运行
long l2=123456789012345;
System.out.println(l2);
给long赋值一个较大的值加L,可以运行
long l3=123456789012345l;
System.out.println(l3);
这是因为java的默认整型常量是int常量,给long赋值较小的数时相当于将对应int常量赋值给long,赋值较大的数的时候,因为较大的数超过了int常量的范围所以报错
但是声明float型常量必须须后加“f"或“F”,使用的时候必须加,不管多小的浮点数都会报错
float f1 = 0.1;
System.out.println(f1);
这是因为java的默认浮点型常量是double常量,double常量天然比float型常量范围大,所以不能直接赋值
2.char的奇奇怪怪的赋值
- char转义字符’\‘来将其后的字符转变为特殊字符型常量
例如: char c=’\n’表示换行
char c1 = '\n';
System.out.println("你好"+c1+"中国");
也直接使用 Unicode值采表示字符型常量:’\uXXXX’其中,XXXX代表
十六进制整数。如:’\u0030’表示0
char c2 = '\u0030';//表示0
System.out.println(c2);
3.\的妙用
如果你想要输出一些java用到的符号如“”或者是\n,可以在前面再加一个\,如 ““你好世界”\n” 输出 “你好世界”\n
System.out.println("\"你好世界\"\\n");
byte, short, char之间的计算
byte, short, char之间不会相互转换,也不能直接计算
char c3 = 'a';
short s1 = 5 ;
byte b1 = 15 ;
short s2=s1+b1;
System.out.println(s2);
但是他们三者的计算打印
char c3 = 'a';
short s1 = 5 ;
byte b1 = 15 ;
//short s2=s1+b1;错误
//System.out.println(s2);
System.out.println(c3+s1+b1);
这是因为它们在计算时会转换为int类型,而int类型可以直接打印
认准""的String
如果直接给String赋值一个数,那么会报错
String s1 = 123;
System.out.println(s1);
但是如果再加一个""号,就可以运行通过
String s2 = 123 + "";
System.out.println(s2);
这是因为字符串类型的+运算的拼接,它可以把其他的常量都拼接到字符串中
最后一个有趣的事情
字符串String可以在""间什么都不放,而字符char则不行
char c4 = '';
String s3 = "";
不知道具体为什么,只能按照char不能为空来理解~~~~
全部代码
package grammarBasics;
public class GrammarBasics {
public static void main(String[] args) {
System.out.println("1.long与float");
//相当于将int赋值给long
long l1 = 1234;
System.out.println(l1);
// long l2=123456789012345;//错误超出int范围
// System.out.println(l2);
long l3 = 123456789012345l;
System.out.println(l3);
//float f1 = 0.1;//错误double范围更大
//System.out.println(f1);
float f2 = 0.1f;
System.out.println(f2);
char c1 = '\n';//表示换行
System.out.println("你好"+c1+"中国");
char c2 = '\u0030';//表示0
System.out.println(c2);
System.out.println("\"你好世界\"\\n");//可以使用\来输出符号
char c3 = 'a';
short s1 = 5 ;
byte b1 = 15 ;
//short s2=s1+b1;错误应该用int接收
//System.out.println(s2);
System.out.println(c3+s1+b1);
//String s1 = 123;//错误
//System.out.println(s1);
String s2 = 123 + "";
System.out.println(s2);
//char c4 = '';//错误
//String s3 = "";
}
}在重温java基础的过程中竟然可以发现这么多有趣的事情,真是意想不到啊
















