zoukankan      html  css  js  c++  java
  • Java学习笔记(3)

    String str="a"   注意这里的a是字符串类型  并且   ""也是一个字符串,只不过是空字符串 

    数据类型转换:

    小数据类型-------------》大数据类型                不会报错   自动类型转换

    大数据类型-------------》小数据类型                  可能会损失精度    (强制类型转换)

    强制数据类型转换的格式:

          小数据类型   变量名  =    (小数据类型)大数据类型    

    在计算机组成原理中,如果一个数是负数,那么其最高位肯定是1,如果是正数,那么最高位是0。   负数在计算机中储存的是补码。

    sun公司开发一个函数  Integer.toBinaryString()    来查看一个数据的二进制形式

    所以输出结果为

    求一个数的补码  :如果为正数,那么补码为原码,如果为负数,那么除符号位外,取反加一。

    如何通过一个数的补码,如何求原来的数:思路就是求补码的补码。 

    数据类型转换需要注意的细节:

        1.凡是byte,short,char数据类型 数据在运算时候都会自动 转换成int类型的数据再运算。

         2.两个不同数据类型的数据再运算的时候,结果取决于大的数据类型。

    Java中的算术运算符 + - * /  % ++  --

    其中 + 有三种作用 (正数  加法    连接符)

    连接符的作用:让任何类型的数据都可以与字符串进行拼接。                                       注意:任何类型的数据与字符串使用连接符连接,那么结果都是字符串类型的数据。

    其中 /  (整除)   % (取模,取余数)  在Java中做取模运算时,结果取决于被除数,-10%3=-1    10%3=1 

    ++ 中后自增在jvm中的运行原理: int temp=i;

                                                           i=i+1;

                                                           return temp;

    例:int i=0;i=i++;i最后为多少                   答案  0

    根据运行原理,i经历了多次变化,初始为0;自增为1;后来返回temp赋给i,使得i变回0。

    i=0————————》1————————》0

    赋值运算符:= (赋值运算符)   +=   -=      *=     /=      %=

    比较运算符: ==    >     <    >=       <=     !=

    ==(判断是否等于)                 ==用于比较两个基本数据类型的时候,比较的是两个变量所存储的值是否一致。

                                                 ==用于比较两个引用数据类型变量的时候,比较的是两个引用类型变量所记录的内存地址是否一致。

    逻辑运算符:&(与)    | (或)    ^(异或)       !(非)     &&(短路与双与)             ||(短路或双或)

    短路与与单与的区别:其运算结果是一样的,但是,使用短路与的时候,如果左边的布尔表达式为false,则不会运算右边的布尔表达式,从而提高了效率。使用单与的时候,即使左边的布尔表达式为false,还是会运算右边的布尔表达式的。    注意:只有左边的布尔表达式为false时,双与的效率才高于单与。

    位运算符:直接操纵二进制位的。

    &   (与)

    |    (或)

    ^   (异或)

    ~   (取反)

    根据此规律,可以对文件进行加密。

    交换两个变量的三种方法:

    1.定义第三个变量                          temp=a;a=b;  b=temp;                缺点:定义第三方变量

    2.相加法                                        a=a+b; b=a-b; a=a-b;                     缺点:两个int类型的数据相加,有可能会出现超出int的表示范围

    3.异或                                           a=a^b;b=a^b;a=a^b;                       缺点:逻辑不清晰

    移位运算符:

    <<(左移)   规律:一个操作数进行左移运算的时候,实际上就是等于操作数乘以 2的n次方,n为左移的位数。

    >>(右移)   一个操作数在尽心右移运算时候,如果该操作数是正数,那么左边空缺位使用0补,如果是负数,就用1补。

    规律:一个操作数进行右移运算的时候,实际上就是等于操作数除以 2的n次方,n为左移的位数。    3/2(1)=1    3/2(2)=0

    >>>(无符号右移)     不论操作数是正数还是负数,左边的空缺位都用0补。

    三元运算符(三目运算符):   格式:  布尔表达式? 值1:值2;

    注意:使用三元运算符的时候,一定要使用其返回的结果,或者是定义一个变量接受其返回的结果。

    if 语句

    if (){

    符合条件执行的语句

    }else if(){

    符合这个条件执行的语句

    }.......else{

    都不符合执行的语句

    }

  • 相关阅读:
    犯错记录(一)
    BullseyeCoverage:代码覆盖率。
    测试工具:insure++
    C++ 常见容器
    linux修改rm指令执行(数据安全)
    C++细节系列(零):零散记录
    vim中使用gdb。
    vim自动补全文章搜集
    排序算法的个人心得体会。
    面向对象的三个特征。
  • 原文地址:https://www.cnblogs.com/zhangwugai/p/10193139.html
Copyright © 2011-2022 走看看