javaSE基础2 (运算符,用户界面交互)

发布时间 2023-09-27 17:34:30作者: 卡皮巴拉
  • 运算符   ++a和a++的区别,++a是先自增再赋值,a++是先赋值再自增。
  • 短路原则 对于与运算,只有两个条件结果都为真时,结果才为真,所以在前一个条件为假时,后面不进行计算。
    • 例子:
    • 结果c为3,不进行c++

  • 位移   <<左移 补符号位,  表示乘法 例:2>>3 表示在2进制从2的位数向左移3位 1000      >>右移 补符号位,   表示除法 例 16>>3 在2进制在16的位置上向右移动3位  >>>表示补位补0
  • 字符串连接   System.out.println(“”+a+b);     System.out.println(a+b+"")的结果不同,字符串在前面表示输出结果为字符串型,字符串在后面表示输出结果为数值型。
  • 三元运算符 x ?y :z    若x条件正确则执行y否则执行z

                

  • 比较运算符
  1. 逻辑运算符 && || !     也是布尔类型;
  2. && 并且 A&&B   当A和B都为true时表达式才为正确;有一个是false结果也是false;
  3. ||  或者   A||B  当A和B只有一个位true,整个表达式结果就是true,只有A和B都位false,整个表达式的结果才为false;
  4. 反转结果  原来为true 现在就变成了false;
  • 短路现象
  1. A&&B 如果A为false,整个表达式的结果就可以判定为false,B不需要做运算了,B就被短路了;
  2. A||B 如果A为true,整个表达式的结果就为true,B表达式就不需要运算了;
  • 位运算[二进制]
  1. 移位运算>> >>> <<     111  1|11  越过有效位就销毁;
  2. 按位运算  & | ^ ~;
  3. &  按位与运算    将A和B装换成二进制,右侧对齐,上下比较,两个都为1,结果才为1;
  4. |    按位或运算    A|B 转换成二进制,右侧对齐,上下比较,有一个结果为1就为1;
  5. ^    按位异或运算   转换成二进制,右侧对齐,上下比较,两个不同为1,相同为0;
  6. ~   反码   符号位也反;
  • &&和&的区别
  1.  &&是逻辑与运算符,用于计算两个布尔值,当两个都为true时,结果才为true,
  2.  &是按位与运算,把两个数转换成二进制运算,当两个位都是1结果才为1,
  3.  都可以进行逻辑运算,&&有短路现象,&二进制位都要进行运算,没有短路现象;
  •  JavaDoc javadoc命令是用来生成自己的API文档的(可以加在类上面或方法上面)
  1.  @author 作者名
  2. @version 版本号
  3. @since 指明需要最早使用的jdk版本
  4. @param 参数名
  5. @return 返回值情况
  6. @throws 异常抛出情况
  • 优先级

                   

 

 

  • java流程控制
  • 用户交互scanner
  1. scanner是IO流,所以写完记得关流 scanner.close();
  2. 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们要使用hasNext()与hasNextLine()判断是否还有输入的数据;
  3. next()是通过空格来判断是否结束的,所以它不会输出空格以后的东西;
  4. nextLine()是通过回车键来判断是否结束的;
  5. next会遗留回车符,解决方法不用或scanner.nextline()吃掉回车符;
  6. 不是字符串,是数值的要用对应的next对应数值类型来接收;
  7. scanner必须要写next()和nextLine()来接受输入的字符串;

最精简的代码

  • 小技巧
  1. 光标定位到当前行,ctrl+D能将这一行全部内容复制到下一行;
  2. alt+enter 能显示错误改正方式;
  3. if判断语句()的内容默认为true,才执行if里的操作。
  4. public static void main(String[] args) {
        int a=10,b=a++;//b的值为10,a的值为11
        int c=a+++b---++a+--b;//后面a,b的值会根据前面运算发生变化
        System.out.print(a++<--b|b--<++a&&c-->--c);
        System.out.print(a);
        System.out.print(b);
        System.out.print(c);
    }

     

  5. float f =45 //   int范围小于float类型,所有int类型的45可以隐式转换为float类型;
  6. char 可以直接转换为int类型,char范围小可以隐式转换int;