public class H1 {
public static void main(String[] args)
{
String name="世界";
System.out.print("你好,"+name);
System.out.println();//空格输出
float a=123384.99F,b=111.1F;
System.out.println(a/b);
System.out.println('a'+'b');
int c=4,d=5,e,f;
e=c++;//后置自加
f=++d;//前置自加
System.out.println(e);//输出的值为c本身
System.out.println(f);//输出的值为d本身加一
//对于三元运算符的使用
int h=43,j=44;
int i=h>=j ? h:j+1;
/*
定义两个数,对其进行判定使其选择运算的算式
对于h、j两个常量进行大小判定:
若h>=j,则执行第一个算式h;
若h!>=j,则执行第二个算式j+1;
*/
System.out.println(i);//输出算式结果,此为三元运算符的应用
int k=55;
k+=i;/*
k值等于k本身加上i
此外还有*=(乘等于);/=(除等于);-=(减等于);%=(模等于/即余数等于);
*/
System.out.println(k);
/*
逻辑运算符的使用
&单与(两个boolean表达式都为true时值才为TRUE,否则值为FALSE)
|单或(两个boolean表达式中有一个或一个以上值为true时则值为TRUE,否则值为FALSE)
!单非(!true值为false,!false值为true)
&&双与/短路与(若第一个表达式为false,则不再判断第二个表达式,直接返回false,即使第二个表达式有错误也不影响)
||双或(若第一个表达式值为TRUE,则不再判断第二个表达式,直接返回TRUE,即使第二个表达式有错误也不影响)
!!双非(双重否定表肯定,所以!!true为true,!!false为false)
^异或(两个操作数,相同为TRUE,不同为false)
*/
System.out.println(false&&(1%0==0));//执行后不会报错
/*位运算符(适用于二进制运算/在二进制上进行运算)
按位与&:参与的二个数,若相应的值都为1,则该位的值为1,否则为0
按位或|:参与运算的二位若有一个为1,结果就为1
异或^:参与的两位若相同则为0,不同则为1
取反~:(针对一个二进制数)把每位的1换成0,0换成一
*/
/*
3的二进制码为00000011
5的二进制码为00000101
*/
System.out.println(3&5);
/* 00000011
& 00000101
-------------
00000001[1的二进制码]
*/
System.out.println(3|5);
/* 00000011
| 00000101
-------------
00000111[7的二进制码]
*/
System.out.println(3^5);
/* 00000011
^ 00000101
-------------
00000110[6的二进制码]
*/
System.out.println(~5);
/*
~ 00000101
-------------
11111010[-6的二进制码]
*/
/*:
移位操作(操作二进制码/在二进制上进行运算)
<<:将操作数的二进制码整体位移指定为数,左移之后的空格使用0来补充
>>:将操作的数的二进制码整体右移指定位数,右移之后的空格使用"符号位"来补充
[符号位]若正数则用0补充,负数则用1补充
>>>:将操作数的二进制码整体右移指定位数,唯一之后的空使用0来补充
*/
System.out.println(2<<3);//2左位移3,结果为16
/*
2的二进制码:00000010
左移三位后:00010
右位填充后:00010000[6的二进制码]
*/
//其余的移位操作类似
}
}