java
-----------
jdk //jre + tool
jre //jvm + 核心类库
jvm //sandbox
path
------------
搜索路径. ;
classpath
-------------
搜索类的路径
javac.exe java.exe
*.java ----------> .class ----------> 进程
clasapth: .
javac.exe -cp HelloWorld.java //文件名
javac -cp d:\x\x\xx\x HelloWorld.java
java -cp xx\x\x\xx HelloWorld //
//
class HelloWorld{
public static void main(String[] args){
System.out.println("hello world"); //line
}
}
1 byte = 8bit
1024Byte = 1KB
1024K = 1M
1024M = 1G
1024G = 1T
1024T = 1P
1024P = 1E
1024E = 1Z
1024Z = 1Y
keyword
------------------
[数据类型]
class //类
interface //接口
byte //字节 500G byte 20Mbit
short //短整型 2byte
int //整型 4
long //长整型 8字节。
float //浮点型 4
double //双精度浮点 8
char //字符,2
boolean //布尔值 true false
void //空
[数据类型值]
true
false
null //空,不存在。
[流程控制]
if //如果
else //否则
switch //开关
case //
default //默认,缺省
while //当
do
for //循环
break //中断
continue //继续
return //返回
[权限修饰符]
public //公用的
private //私有的
protected //受保护的
[函数、变量、类的修饰符]
abstract //抽象的
final //最终的
static //静态的
synchronized//同步
[类之间修饰]
extends //继承、扩展
implements //实现
[创建对象]
new //新建
this //这个
super //父代
instanceof //谁的实例
[异常]
try //尝试
catch //捕获
finally //最终
throw //抛
throws //抛
[包]
package //
import //导入
[other]
native //本地的
transient //临时的
[标识符]
---------------
字符 + 数字 + _ + $
//不能以数字开头
//不能用关键字
1.所有包小写
2.接口 + 类 : 单词每个首字母大写,HelloWorld
3.函数名:sayHelloWorld
4.常量 //MAX
[注释]
// //单行注释
/**/ //多行注释
/** //文档注释
*
*
*/
常量
------------------
数值
100
12.345
true
false
'a'
"abc"
null;
整数
-----------
1.十进制
int age = 100 ;
2.八进制
int age = 0144
3.十六进制
int age = 0x64
进制转换
-------------
10转2进制.(下除)
2| 5 1
-------
2|2 0
-----
1
101(从下往上一串)
2进制转10进制.
-------------
权 8 4 2 1
1 0 1 0
-----------
8 + 0 + 2+ 0 = 10
------------------------------------------------------
正数的反码和补码都与原码相同。
负数的反码为对该数的原码除符号位外各位取反。
负数的补码为对该数的原码除符号位外各位取反,然后在最后一位加1
-------------------------------------------------------
内存中负数的存储形式:补码
----------------------
补码:整数取反 + 1.
+3 : 0000 0011
取反: 1111 1100
+1 : 1111 1101 = -3
+3 : 0000 0011
1111 1101 = -3
---------------------
10000 0000
7
---------------
0000 0111
1111 1001
byte : -128 ~ 127
-124:
-125:
-126:
java是强类型语言
------------------
变量必须定义类型。
数据类型
----------------
[基本数据类型]
2^8 = 256
byte //1 -2^7 ~ (2^7 - 1) xxxx xxxx 2^8
short //2 -2^15[-32768] - ~ (2^15 - 1)[32767] 2^16 = 65536
int //4 -2^31 - ~ (2^15 - 1) 2^31
long //8 -2^63 - ~ (2^63 - 1) 2^64
float //4
double //8
char //2
boolean //1
[引用类型]
class
interface
[]
基本概念
---------------
数据类型
数据类型值
流程控制
关键字 class
输入/输出
字节
bit
容量
传输速率
二进制运算
short
byte、short、char提升为int类型。
0000 1010 = 10
& 0000 1011 = 11
--------------
0000 1010 = 10
0000 1010 = 10
| 0000 1011 = 11
--------------
0000 1011 = 11
0000 1010 = 10
^ 0000 1011 = 11
--------------
0000 0001 = 1
二进制与运算 只有一个是0就是0,不进位.
二进制或运算,只有一个是1就是1,不进位
a && b
------------
a为false,b不运算。
a || b
------------
a为真,b不运算。
a & b(boolean)
---------------
移位运算
---------------
<< //1 << 1 x 2 (右边补0)
>> //有符号移动,所有的空位都和符号位看齐.
>>> //无符号移动,补0
0000 0100 //4
左移补0
有符号右移动
无符号右移动
~ 1 按位取反