首页 > 代码库 > JAVA基础针对自己薄弱环节总结01(循环之前的知识)

JAVA基础针对自己薄弱环节总结01(循环之前的知识)


java中的标识符

组成:数字、字母、下划线、美元$符号组成。 
规则:不能由数字开头。 
类名:每一个单词的首字母大写 
包名:所有小写 
变量名、方法名:第一个单词首字母小写。后面首字母大写 
常量:所有大写用下划线连接

凝视

单行凝视:// 
多行凝视:/……/ (不能嵌套) 
文档凝视:/*…../(能够被javadoc命令解析成Html文档(说明书))

变量概述

格式一: 
数据类型 变量名=初始化值; 
格式二: 
数据类型 变量名; 
变量名=初始化值。 
变量在使用前必须初始化。

java中的数据类型

整型:byte 1字节 
Short 2字节 
Int 4字节 
Long 8字节 
浮点型:float 4字节 
Double 8字节 
字符型:char 2字节 
布尔型:Boolean

java中定义变量并使用

对 byte,short类型的变量进行赋值时保证在其范围内就可以。(超出范围报错) 
对long, float 类型的变量进行赋值时后面必须加L和F。

数据类型转换

1) 自己主动类型转换(隐式转换) 
byte char short – int – long – float – double 
2) 强制类型转换(显式转换) 
(数据类型) 变量或者常量值; 
byte b1 = 3; 
byte b2 = 4; 
byte b3 = b1 + b2; // 此行会报错,由于參与运算的byte类型会自己主动提升为int类型, 可能损失精度. 
byte b4 = 3 + 4; // 不报错,对于字面值常量3和4, jvm会在编译期对其进行计算(优化), 并比較其值是否在byte范围内,假设未超出,则不报错.

算术运算符

注意: 
1) 注意除运算符 
1) 除数不能为0. 
2) 整形与整形进行运算,结果还是整形.它会将余数舍弃. 
比方: 5 / 2 – 结果是2 
2) ++ 和 – 运算符原理 
以 ++ 为例: 
单独运算: 
在前在后都一样,相当于把值加1 
參与运算: 
++在前,先加后用. ++a 相当于 a = a + 1 
++在后,先用后加. a++ 会产生一个暂时的量, 这个量相当于a的一个副本,然后将a的值自增, 将副本的值返回. 
举例: 
int x = 10; 
int y = x++; 
// 结果是y = 10; x = 11;

 - int x = 10;  
 - a = a++; 
 -  System.out.println(a); // 结果是10

3) 加法运算符的特殊使用方法: 
比如: System.out.println(3 + 4 + “hello” + 5 + ‘a’ + 6 + 7); // 输出结果为: 7hello5a67

逻辑运算符

注意:
    1) java中不能写成 1 < x < 9 , 而应该写成 x > 1 & x < 9
    2) & 和 && 的差别:
        单&时,左边不管真假,右边都会參与运算.
        双&时,左边为真时,右边才会參与运算;左边为假时,右边不会 參与运算,有短路功能.       
    3) | 和 || 的差别同理: 对于双或,左边为真时,右边不会參与运算.

位运算符

<<  左移 -- 将运算数的二进制码总体左移指定位数,左移之后的空位用0补充.
    相当于乘以2的指定次幂.
>>  右移 -- 将运算数的二进制码总体右移指定位数,右移之后的空位用符号位补充,假设是正数用0补充,负数用1补充.相当于除以2的指定次幂.
>>> 无符号右移 -- 将运算数的二进制码总体右移指定位数,无论正负,空位所有都用0补充.

注意:
    1) 没有无符号左移.
    2) API中非常多源代码的实现都是採用了位运算符,由于效率高.但咱们开发中自己敲代码一般不会用,易读性差.

关于位运算的两个面试题:
    1) 用最高效的方式计算2*8的结果.
        2 << 3
    2) 不使用第三个变量的前提下,交换两个变量的值.
        int a = 10;
        int b = 20;
        // 结果要求: a = 20; b = 10;
        a = a ^ b;
        b = a ^ b;
        a = a ^ b;

流程控制语句

switch语句
注意事项:
        a:default总体能够省略吗?
            能够,可是不建议。
        b:default的位置能够放到前面吗?
            能够,可是不建议。

c:break能够省略吗? 能够,可是不建议。 default在最后。break是能够省略的。 case后面的break能够省略。可是结果可能有问题。 d:switch语句什么时候结束呢? 就是遇到break或者运行到程序的末尾。

JAVA基础针对自己薄弱环节总结01(循环之前的知识)