java基础学习-Day02

1 . 关键字
用于定义访问权限修饰符的关键字
private protected public
用于定义类,函数,变量修饰符的关键字
abstract final static synchronized
用于定义类与类之间关系的关键字
extends implements
用于定义建立实例及引用实例,判断实例的关键字
new this super instanceof
用于异常处理的关键字
try catch finally throw throws
用于包的关键字
package import
其他修饰符关键字
native strictfp transient voliatile assert

2 . 标识符
名称规范
包名:xxxxyyyzzzz
类名: XxxYyyZzzz
变量和函数名:xxxYyyZzz
常量:XXXYYYZZZ

3 . 常量和变量
整数
二进制:01 8位01组成 = 1字节
十进制:0-9 , 满10进1 eg:28
八进制:0-7 , 满8进1 , 用0开头表示 eg: 023 二进制的3位表示1位
十六进制:0-9,A-F , 满16进1.用0×开头表示eg: 0×2a3b 二进制的4位表示1位
《进制越大,表现形式越短》
小数,
布尔型true,false ,
字符('字符,数字'),
字符串常量(""),
null 常量(null)

4 . 十进制转二进制
例如:十进制6 转成 二进制 等于 110
原理:对十进制除以2的过程
开始 6除以2,整除为3,则为二进制0
结果3 再除以2,非整除,则为二进制 1
结果1 直接为 二进制 1
所有 最终结果:1 1 0

5 . 二进制转十进制
例如: 二进制110 转成 十进制 等于 6
原理: 对二进制乘以2的过程
110
从右0开始
0*2(0) + 1*2(1) + 1*2(2)
0 + 2 + 4 = 6

技巧: 二进制 00110101 转成 十进制
0 0 1 1 0 1 0 1
128 64 32 16 8 4 2 1
因为任何数*0 都为0 所有二进制 0 的都不考虑
把二进制 1 对应的 数字相加即可 上例:1+4+16+32 = 53

二进制的加法
例子 101 + 100 = 5 + 4 = 9
101
+ 100
1001
因为是二进制,只有0和1,所以1+1 逢二进一 为 10

更多进制转换 参考附件 网盘/Java/Pic/进制转换.png 和 负数的二进制.png

5 . 变量
|- 数据类型
| |- 基本数据类型
| |- 数值型
| |-整数类型byte(8个二进制位 -128 - 127 , -2的7次方 到 2的7次方-1 ),short(16个二进制位, -32768 - 32767 , -2的15次方 到 2的15次方-1),int(32个二进制位 -2的31次方到2的31次方-1),long()
| |-浮点类型float(占4个8二进制位),double(8个8二进制位) 默认为double
| |- 字符型 char (0 - 6535)
| |- 布尔型 boolean
| |-引用数据类型
| |- 类 class
| |- 借口 interface
| |- 数组

6 . 类型转换
byte b =3;
b = (byte)(b+2);

7 . 运算符
取模
System.out.println(10%4); == 2
Ststem.out.println(5%5); == 0
Ststem.out.println(1%5); == 1
Ststem.out.println(4%1); == 0
Ststem.out.println(2%-5); == 1
Ststem.out.println(-3%5); == -3
技巧:如果左 小于 右 结果是 左 (上例 3)
如果左 等于 右 结果是 0 (上例2)
如果右 等于 1 结果是 0 (上例4)
如果右是负数 大于左 结果是左 (上例5)
如果左为负数,且小于右 结果是 左 (上例6)
总:取模如果有负数的话,就看左边,不看右边。

int x = 4270;
x = x/1000 * 1000 ;
System.out.println(x); == 4000
因为x是整型,所以x/1000 = 4,所以结果是 4*1000 = 1000

int a = 3 ,b;
b = a++; 先赋值给b,a再+1
System.out.println(b); 3
System.out.println(a); 4

System.out.print(b.",".a)

int a = 3 ,b;
b = ++a; a先+1,再赋值给b
System.out.println(b); 4
System.out.println(a); 4

字符串数据和任何数据使用+都是相连接,最终都会变成字符串。
System.out.println("aaaaaaaaaa"+"bbbbbbbbbbb");

System.out.println("5+5="+5+5); == "5+5=55"
System.out.println("5+5="+(5+5)); == "5+5=10"

8 . 转义字符
定义:通过\ 来转变后面字面或者符号的含义.注:\放到被转义字符的前面。
\n: 换行。
\b: 退格。相当于 backspace.
\r: 按下回车键。window系统中,回车符是由两个字符表示的\r\n
\t: 制表符。相当于tab键。
例如:打印一个带双引号的字符串
System.out.println("\"abc\""); 结果 "abc"

9 . 赋值运算符
+=:x+=4 => x=x+4; 把左右两边的 和 赋值给左边
例如:short s=3;
s=s+2;
s+=2; 有什么区别?
答案:s=s+2 编译会失败,因为S会被提升为int类型,运算后的结果还是Int类型,无法赋值给short类型。
s+=2 编译通过,因为+=运算符在给s赋值时,自动完成了强转操作。
例如:int a,b,c
a=b=c=5; 是正确的,分别给a,b,c赋值为5
比较运算符
== 相等于
!= 不等于
>大于 >=大于等于
<小于 <= 小等于
instanceof检查是否是类的对象
逻辑运算符
& 与and: 只要两边的Boolean表达式结果,有一个false,结果是false,只有两边都为true,结果才为true
| 或or : 只要两边有一个为true,结果为true,只有两边都为false,结果为false
^ 异或: 就是和|有点不一样。当true^true时候=false.两边相同结果为false,不同为true
技巧:一个数 异或 同一个数2次,结果还是那个数。例如:7^5^5 = 7
!非:
&和&&的特点:
&无左边是true是false,右边都运算。
&&当左边为false时候,右侧不运算。
|两边都参与运算
|| 当左边为true,右侧不参与运算
~ 反码 取反

10 . 位运算符
<<:其实就是 乘以2的移动的位数次幂
>>: 就是除以2的移动的位数次幂

>>: 最高位补什么由原有数据的最高位值而定。如果最高位0,右移后,用0补空位。如果最高位1,右移后,用1补空位。
>>>:无论最高位是什么,右移后,都用0补

三元运算符
格式:(条件表达式)?表达式1:表达式2
如果条件为true,结果是 表达式1
如果条件为false,结果为表达式2

11 . 程序流程控制

 

>>未完,待续。

posted @ 2012-09-17 14:51  胖胖的ALEX  阅读(410)  评论(0)    收藏  举报