个人笔记1

来源:互联网 发布:卸载加密软件 编辑:程序博客网 时间:2024/06/06 20:16

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;

   /*

   定义两个数,对其进行判定使其选择运算的算式

   对于hj两个常量进行大小判定:

   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,即使第二个表达式有错误也不影响)

   !!双非(双重否定表肯定,所以!!truetrue,!!falsefalse)

   ^异或(两个操作数,相同为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的二进制码]

*/

//其余的移位操作类似

   }

}