标签:
day02
- 每写一个小程序,首先写注释,以标识此程序的作用与目的。重要或者关键的语句也要写注释。(以后非常有用的习惯)
- 字节,是计算机中最小的单位,每个字节由八个二进制数据组成。计算机中或者硬盘上存放的数据,全是以二进制的形式存储的。
- 数据一般有,二进制,八进制,十六进制。在二进制中,三位代表一位八进制,四位代表一位十六进制。
- 在计算机中,一个负数的二进制的表现形式即为,此正数的二进制取反,再加1(所以,负数的二进制的最高位都是1)。
- 变量:就是将不确定的数据进行存储,也就是需要在内存中开辟一个空间。
byte:1个字节(-128~+127);short:2个字节;int:4个字节;
long:8个字节;float:4个字节;double:8个字节;
定义一个float型变量时,需要在后面加一个f。因为一个小数默认情况下是默认为double类型的(例如float f = 4.2f)。
- byte b = 3; b = (byte)b + 2;此行代码的过程为定义一个byte类型的变量b,并赋值于3,然后执行加2操作。此时,计算机自动将b类型往上提升为int(自动类型提升)。得出的结果为一个int类型的值,此时将此值强制类型转换成byte类型,最后赋给b。
- 在计算机中,每个字符都有其对应的ASCII值(例如字符a代表97,字符b代表98,A为65,‘1’为49)。
- 字符串数据和任何数据使用连接字符“+”都是相连接,最终都会变成字符串。
- 转义字符:通过“\”来转变后面字母或者符号的含义,如下:
\n:换行
\b:退格(相当于backspace)
\r:按下回车键
\t:制表符(相当于tab键)
System.out.println(“\”hello”\”)此行语句是利用的转义字符输出的”hello”
- x+=4 相当于把两者相加起来赋给左边,即x = x +4。但两者也有区别,当short x = 4时,毫无疑问,后者是错的,但前者是对的。因为前者只做了一次赋值运算,做了一次自动类型转换。而后者是先做了一次加法运算,先做了一次自动类型转换,使结果已经成为了int类型,最后赋值导致了编译错误。
- 逻辑运算符:用于连接Boolean类型的表达式 “&”符号为“且(与)”,“|”符号为“或” ,”^”符号为“异或”。而“&&”双与,判断规则是一旦左边为假,右边就不会再进行运算。“||”双或,当左边为真时,右边也不会运算。这两者的运算效率要比&,|高一点。
- 移位符:3<<2,含义为将3往左移两位,即先将3化为二进制数据,再向左移动两位,其结果相当于3乘以2的左移数次幂。反之,如果是3>>2,将3往右移两位,则是除以2的右移数次幂。(位运算,是最高效的算法)
- 不使用第三方变量实现两个变量数值的交换,int a = 3 int b = 8;
代码如下:a = a + b; b = a - b; a = a – b;
则实现了交换。 但此方法具有局限性,就是当a,b的值非常大的时候,两者相加容易超过int类型变量的最大范围。
第二种方法:a = a ^ b; b = a ^ b;( = a ^ b ^ b = a) a = a ^ b;(= a ^ a ^ b = b)(^为,异或运算)这种方式,不涉及到数值范围的运算,此为技巧性的方式。
- 在计算机中,如果想要将一个十进制的数转化为十六进制或者八进制的数时,一般计算机都是以十六进制中的最大值16减1得15与目标数进行“与运算”(&)。从而取到第一组最低四位。然后将目标数向右移四位(例:a >>4),再与15进行与运算(&)。(以此类推,八进制的转化就是与7进行“与运算”,获取最低三位,然后向右移三位)
- 三元运算符:基本格式为,(条件表达式)?(表达式1):(表达式2)。其含义为,若条件表达式为真,就执行表达式1,为假,则执行表达式2.在上条笔记中16进制获取的最低四位,若大于10.则需要转换成相应的的字母,代码如下
n1 > 9 ? (char)(n1 – 10 + ‘A’):n1;
注意:若目标数为负数,使用移位符>>时,会时移走的高位不停的补1,导致最低四位的获取,根本就获取不完。所以使用>>>,表示无论正负,均补0.
- 在程序流程控制语句switch中,其特点有:
- switch语句选择的类型只有四种:byte,short,int,char。
- case之间与default没有顺序,先执行第一个case,没有匹配的case执行default。
- 结束switch语句的两种情况:遇到break,执行到switch语句结束。
- 如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
- a++与++a的区别,前者是执行表达式后再对a进行自增。而后者是先对a进行自增,再执行表达式。例如,当b = a++ 时,其步骤是将a的值赋给b,再a进行自增。而b = ++a时,是先对a进行自增,再将自增后的a赋给b.
新手初步学Java,正在JavaSE中,每天留下我当天学习所得跟笔记,希望大家能够多多批评与指教,促进共同进步!第二天的!
标签:
原文地址:http://www.cnblogs.com/yishiluo/p/4944650.html