1_初识Java

1. 进制

​ 二进制,封二进一,java中0b或0B(不区分大小写)开头

​ 八进制,逢八进一,0O(O 大写英文字母O) 表示八进制的前缀 也可以使用空格加上0 注意是空格加上0 即:” 0”

​ 十进制,逢十进一

​ 十六进制,逢十六进一,0x 这个是十六进制的前缀 123456789ABCDEF (A:10 C:12 F:15)

十进制转二进制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*
8421法:
6 ----》 110
6 6-4=2 2-2=0
8 4 2 1
6》4 2》2 0<1
1 1 0

5----> 101
5 1
4 2 1
1 0 1 101

二分法
2 26 0
13 1
6 0
3 1
1 1

从下往上 11010

*/

二进制转十进制

1
2
3
4
5
6
7
8
9
10
11
/*
101
8421法:
1 0 1
8 4 2 1
4+ 0 +1
==5
1.按照2的倍数从1开始排列数字
2工将2进制数据放在对应位置,靠右对齐
3.只要对应的位置是1,该数字相加
*/

2.java历史

1998年,sun公司发布了第二代java平台,这个平台中包含了3个版本的 java
javaME
应用于移动端,无线及有限资源环境
用的很少,做机顶盒,光猫这种微型设备的一些开发,市场占有
几乎淘汰
javaSE
应用于桌面环境
java基础,面向对象,反射,多线程
javaEE
应用于java的应用服务器,用于B/S架构的javaweb项目开发
(Browser/Server浏览器/服务器)
jsp,servlet,web框架

3. java跨平台特性

​ 当java问世后,sun推广口号==一次运行,到处运行==

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/*
安装JDK,目录不要有中文
配置环境变量
目的: 在任意位置都可以使用jdk中的开发工具, 如javac.exe
先找到当前系统的环境变量设置界面,
windows系统在此电脑上右键 -> 高级系统设置 -> 高级 -> 环境变量, 进入系统变量中
新建:
JAVA_HOME
C:\Program Files\Java\jdk1.8.0_191\(此目录用自己安装时设置的目录)
CLASSPATH
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
添加:
Path(打开Path变量, 添加内容)
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
*/

==注意:==

​ %SYSTEMROOT%\system32 要在最前面,否则展开不了编辑环境变量,%JAVA_HOME%\bin %JAVA_HOME%\jre\bin 要位置高于Oracle和其他java版本的路径,更改完了环境变量要把cmd重开查看 java java -version javac javadoc

​ CLASSPATH作用:
​ 使CLASSPATH的值的目录中的.class文件可以在任意目录运行
​ .; 表示当前目录, 放在最前面, 则先找当前目录, 没有class文件则继续找后面的目录

​ idea不要去使用图片作为背景,会截不了长截图

4. java的编译和运行

java的编译运行过程

1
2
3
4
/*
编写java的程序代码(.java) -->通过javac.exe(JDK中的开发工具)编译成.class字节码文件
-->通过java.exe启动JVM虚拟机加载有main的入口类开始执行
*/

名词解释

1
2
3
4
5
6
7
8
9
10
11
/*
JVM(Java Virtual Machine - Java虚拟机)
在操作系统中通过程序虚拟出的一台计算机,将字节码翻译成具体的机器码,交给当前系统平台执行

JRE(Java Runtime Environment - Java运行环境)
运行Java的最小环境,包含JVM和JAVA核心类库

JDK(JAVA Development Kit-JAVA开发工具)
开发java的最小环境 包含JRE以javac.exe(编译代码)、javap.exe(反编译字节码)、javadoc.exe(生成文
档)
*/

​ java核心类库包 rt.jar 在jre/lib文件夹下

5. java基本数据类型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
public class PrimitiveTypeTest {  
public static void main(String[] args) {
// byte
System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE);
System.out.println("包装类:java.lang.Byte");
System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);
System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);
System.out.println();

// short
System.out.println("基本类型:short 二进制位数:" + Short.SIZE);
System.out.println("包装类:java.lang.Short");
System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);
System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);
System.out.println();

// int
System.out.println("基本类型:int 二进制位数:" + Integer.SIZE);
System.out.println("包装类:java.lang.Integer");
System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);
System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);
System.out.println();

// long
System.out.println("基本类型:long 二进制位数:" + Long.SIZE);
System.out.println("包装类:java.lang.Long");
System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);
System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);
System.out.println();

// float
System.out.println("基本类型:float 二进制位数:" + Float.SIZE);
System.out.println("包装类:java.lang.Float");
System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);
System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);
System.out.println();

// double
System.out.println("基本类型:double 二进制位数:" + Double.SIZE);
System.out.println("包装类:java.lang.Double");
System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);
System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);
System.out.println();

// char
System.out.println("基本类型:char 二进制位数:" + Character.SIZE);
System.out.println("包装类:java.lang.Character");
// 以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台
// 要强制类型转换
System.out.println("最小值:Character.MIN_VALUE="
+ (int) Character.MIN_VALUE);
// 以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台
System.out.println("最大值:Character.MAX_VALUE="
+ (int) Character.MAX_VALUE);
}
}