特别语法
1.进制数拓展
public class special_grammar {
public static void main(String[] args) {
int i1 = 0b10; //二进制0b
int i2 = 010; //八进制 0
int i3 = 10;
int i4 = 0x10; //十六进制 0x
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
}
其中定义了四个变量,分别是二进制、八进制、十进制、十六进制数字,最后输出,输出的都是十进制的数字。
2.浮点数拓展
float f = 0.1F;
double d = 1.0/10;
System.out.println(f==d);
System.out.println(f);
System.out.println(d);
//所以作比较的时候最好完全使用浮点数进行比较
float f1 = 546545616516555F;
float f2 = f1+1;
System.out.println(f1==f2);
在实际应用中,不能拿一个double去和一个float类型的变量去做比较,因为float类型精度有限,是一种近似的大小,是个大约数,所以我们在比较的数字大小的时候尽量避免用float型进行比较
3.字符拓展
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1); //强制类型转换
System.out.println(c2);
System.out.println((int)c2); //强制类型转换
//其实所有的字符本质上还是数字,就比如说阿斯科码表,每个字符都有对应的数字表示
char c3 = '\u0045'; //其中的数字是16进制
System.out.println(c3);
其实字符在本质上也是有数字表示的,有一个阿斯科码表格,里面标明了字符和数字之间的对应关系。以上代码通过强制类型转换,把字符型的变量转换成int(整型);c3是把数字型转换成字符型,然后输出其字符型。
4.转义字符拓展
// \t 指的是制表符
// \n 指的是换行符
System.out.println("hello\tworld");
System.out.println("hello\nworld");
一个语言中的转义字符很多,这里就列举了两个常用的。
\t表示制表符,表现形式上就是敲了几个空格的样子
\n表示回车符,变现形式上就是换行输出
5.布尔值拓展
boolean flag = true;
if(flag == true){ } //新手
if(flag){ } //老手
在判断语句中,如果while()或者if()的判定条件中只写了一个变量没有写变量应该满足的范围,布尔值默认不写就是真的意思,即if(flag){}表示的就是如果flag=0,那么就执行大括号中的语句。