常用转义字符
前提:一个汉字占2个空格,一个字母占1个空 一个制表符位8个空格
/t 制表符
System.out.println("shsxtverygood\t上海尚学堂真棒!!!");
// \t处为三个空格,因为shsxtver占8个空格,ygood占5个空格,\t制表符补全8个空格,所以显示出3个空格
System.out.println("shsxtver\tygood上海尚学堂真棒!!!");
// 此处\t显示出8个空格,因为前面正好是8的倍数
/r 光标回到行首
System.out.println("shsxtverygood\r上海尚学堂真棒!!!");
// 上海尚学堂真棒!!! 光标回到行首后,因为汉字占两个空格,把前面的英文全补改写了
System.out.println("shsxtverygood上海尚学堂真棒!!!\r~");
// ~hsxtverygood上海尚学堂真棒!!! 只把s替换掉了
// 如果\r后面没有内容,则光标只是回到行首,前面内容不改变
/b 退格
System.out.println("shsxtverygood\b上海尚学堂真棒!!!");
// shsxtverygoo上海尚学堂真棒!!! d被替换掉了
System.out.println("shsxtverygood上海尚学堂真棒!!!\b");
// \b后面没有内容,光标只是退了一格,但内容没有改变
/n 换行 ln
进制
测试java中的数值型的字面常量的值的表现形式
整型:
二进制:只能有0,1组成 前面 0b开头
八进制:只能有0~7数字组成 以0开头
十进制:默认十进制
十六进制:0~9,a~f组成 以0x开头,大小写都可以
其他进制转十进制: 从后往前,从最后一位开始*当前的进制数^0(次方从0开始,每次加一),最后求和
十进制转为其他进制:使用这个数一致除以进制数,看余数(辗转相除法)
浮点型:
整数位为0的时候0可以省略
科学技术法 表示: e->10 1.23E2 1.23e-2
运算符
需要注意的点:
1、+ 可以表示字符串连接符:当+左右两边如果一旦有字符串的出现,就作为字符串的连接符使用
System.out.println("hello"+'a'+1); //"helloa1"
System.out.println('a'+1+"hello"); //"98hello"
//其他类型转字符串 123.345+""
2、自增++ 自减–
此处注意如果是先参与运算再自增自减的话,不是整个表达式结束后再自增自减,而是临近的运算符完成运算后自增、自减。
i=3;
int result=i++ + ++i + i++ + i++ + ++i;
System.out.println(i); //8
System.out.println(result); //27
//3+5+5+6+8=27
int k=20;
int j=8;
int totle = k++ + j-- + --j + ++k + k++ + j++ + k-- + --k + j++;
//20+8+6+22+22+6+23+21+7=135
//k=21;
//j=8;
3 、扩展赋值运算符
short s1=100;
//s1=s1+1;此处会出错,因为需要强转
s1++;//这里可以自动转化
s1+=5;//这里也可以自动转化
System.out.println(s1);
4、位运算符
位运算符当中 ^异或是可以交换两个数的值的,并且两次异或同一个数,原值不变
int a=1;
int b=10000;
System.out.println("a="+a^b^a);
System.out.println("b="+b^a^b);
a==a^b^b;//两次异或等于原来的值
b==a^b^a;
5、运算符的优先级
单目算数位关系,逻辑三目后赋值
int x,a=3,b=2;
x=a>b++?a++:b++;
System.out.println(x);//3
System.out.println(a);//4
System.out.println(b);//3
/*
该赋值语句可以写成这样
if(a>b++)//a大于b++ 执行完成后b=3;
{
x = a++;//a++后a的值为4 赋值语句自右向左x为3
}
else
{
x = b++;//不执行
}
因此x,a,b为3,4,3.
*/
int a=4;
int b=3;
boolean x = a < b ? ++a * 2 > b || a > b : a < b;
System.out.println(x);//false
System.out.println(a);//4
System.out.println(b);//3
int a=2;
int b=3;
boolean x = a < b ? ++a * 2 > b || a > b : a < b;
System.out.println(x);//true
System.out.println(a);//3
System.out.println(b);//3