# 【前言、入门程序、常量】
##### 今日复习指南
~~~
1.入门案例(0.5个小时内完成,多写几遍)
HelloWorld.java 编写,编译和运行
2.注释和关键字(0.5个小时内完成,多写几遍)
Demo02ZhuShi.java
Demo03GuanJianZi.java
3.常量及分类(1个小时内完成,演示效果)
Demo04ChangLiang.java
4.其它知识(简单一看)
~~~
##### 主要内容
~~~
Java语言的发展历史【了解】
Java语言开发环境搭建【重点:安装jdk,配置环境变量,安装notepad++】
HelloWorld入门程序【重点】
注释和关键字【理解】
常量【重点重点重点重点重点】
进制及转换【了解】
~~~
### 第一章 开发前言
##### 1.1 Java语言概述【了解】
~~~
Java是一种高级编程语言,而且是面向对象的编程语言。
Java语言是美国Sun公司(Stanford University Network),在1995年推出的高级的编程语言。
Java语言共同创始人之一:詹姆斯·高斯林 (James Gosling),被称为“Java之父”
Java语言的版本:1.0-1.4,5.0...8.0...13.0
目前我们学习的8.0
~~~
##### 1.2 Java语言能做什么
~~~
Java语言主要应用在互联网程序的开发领域
网上购物商城
物流
金融
各行各业的门户网站
~~~
##### 1.3 Java语言的跨平台实现原理
~~~
平台: 指的是操作系统,windows,linux,macos
跨平台: 跨越不同的操作一同,我们所编写一个程序,可以在多个操作系统上运行
JVM: Java虚拟机,是专门用来运行Java程序的
问题1:
JVM是跨平台的? 错误
不同的操作系统,JVM是不一样的
问题2:
Java程序是跨平台的? 正确
一次编写/编译 到处运行
问题3:
Java程序的跨平台是依赖于JVM的不夸平台实现的?
正确的
~~~
![](https://img.kancloud.cn/3b/5d/3b5d8e687840a7dd4e05fddfea1e20f7_1103x408.png)
##### 1.4 JDK\_JRE\_JVM的组成和作用
~~~
JVM: 称为Java虚拟机,是专门用来运行Java程序的,但是不能独立安装
JRE: 称为Java运行环境,包含JVM和核心类库
JDK: 称为Java开发工具,包含JRE和开发工具
小贴士:
三者关系: JDK > JRE > JVM
~~~
![](https://img.kancloud.cn/38/1f/381fe52f892dc1347253cec4ea438e85_846x428.png)
### 第二章 Java语言开发环境搭建
##### 2.1 JDK安装
~~~
jdk的下载和安装
1.注意操作系统是windows,linux,MacOS
2.注意操作系统的位数是32位还是64位
3.安装java相关软件的时候: 安装路径中不允许出现中文和空格
~~~
##### 2.2 常用DOS命令的使用
~~~
如何进入DOS命令操作窗口?
1.开始/命令提示符
2.开始/搜索程序和文件 输入cmd
3.windows键 + R --> 输入cmd
4.窗口空白处/按住shift键 + 鼠标右键单击/在此处开命令窗口
~~~
![](https://img.kancloud.cn/b9/9a/b99a58c65388f7c10406ad265a898420_700x429.png)
![](https://img.kancloud.cn/d7/1a/d71a2795db33c7630f77af09aad35535_816x380.png)
##### 2.3 环境变量JAVA\_HOME的配置【了解,已经配置了的话,大家不用过多的浪费时间】
~~~
记事本软件的启动方式?
1.开始/程序/附件/记事本
2.C:/windows/找到notepad.exe命令,双击启动
3.如果在DOS窗口的命令中:
C:\windows> notepad.exe 回车 运行这个命令
首先在C:\windows路径下,寻找是否存在notepad.exe,发现有,直接运行
D:\abc> notepad.exe 回车 运行这个命令
首先:在D:\abc路径下,寻找是否存在notepad.exe,发现没有
其次: 如果发现在当前路径D:\abc没有要运行的notepad.exe命令,到系统环境变量path中寻找
path:... C:\Windows;...,发现path中配置的路径C:\Windows有该命令,直接运行.如果path中配置的所有的路径中都没有要运行的命令,运行报错了.
给Java配置环境变量的意义/目的/作用?
让我们可以在任意路径下运行java开发的相关工具(javac: 编译工具,java: 运行工具)
比如jdk的安装路径:C:\develop\Java\jdk1.8.0_162
配置步骤:
1.创建名称为JAVA_HOME的环境变量,取值是 C:\develop\Java\jdk1.8.0_162
2.把步骤1中创建的名称为JAVA_HOME的环境变量,添加到系统环境变量path中
找到系统环境变量path,在前面添加: %JAVA_HOME%\bin;...
3.如果在DOS窗口的命令中:
C:\develop\Java\jdk1.8.0_162\bin> javac.exe 回车 运行这个命令
首先在C:\develop\Java\jdk1.8.0_162\bin路径下,寻找是否存在javac.exe,发现有,直接运行
D:\abc> javac.exe 回车 运行这个命令
首先:在D:\abc路径下,寻找是否存在javac.exe,发现没有
其次: 如果发现在当前路径D:\abc没有要运行的javac.exe命令,到系统环境变量path中寻找
path:... %JAVA_HOME%\bin;...,发现path中配置的名称为JAVA_HOME的环境变量,对应的路径C:\develop\Java\jdk1.8.0_162\bin中有要运行的javac.exe命令,直接运行,如果path中配置的所有路径中,都没有要运行的javac.exe命令,运行报错了
寻找名称为JAVA_HOME的环境变量,找到后,使用其配置的具体路径进行替换:
path:... C:\develop\Java\jdk1.8.0_162\bin;...,
替换后的路径: C:\develop\Java\jdk1.8.0_162\bin中有javac命令,就可以直接运行
~~~
![](https://img.kancloud.cn/13/84/138458fc3f731aa4e5240abf21f91653_999x418.png)
![](https://img.kancloud.cn/83/0a/830a62a38853eb9ea1ca9613624ef19f_816x488.png)
### 第三章 HelloWorld入门程序
##### 3.1 程序开发的步骤
~~~
1.编写源程序
源程序:
程序员编写的程序
程序员可以看的懂的程序
程序: 字母,数字和其它符号
程序员自己编写的,程序员可以看得懂的程序,称为源程序
源程序的本质也是一个文本文件,只是扩展名不是.txt,
而是.java
2.把源程序编译成字节码程序
JVM是用来运行Java程序的,但是JVM是一个二货,只认识0和1,像这种内部
存储0和1的文件,称之为字节码文件/程序,扩展名是.class
如何把源程序/文件转换成/编译字节码程序/文件呢?
使用编译命令javac,使用格式:
javac 文件名.java
javac HelloWorld.java 生成字节码文件 HelloWorld.class
3.把字节码程序/文件 交给 JVM执行
源程序和字节码程序都存储在硬盘上,不会直接执行,需要把字节码程序交给JVM执行
源程序HelloWorld.java 和 字节码程序HelloWorld.class 都存储在硬盘上
如何把字节码程序交给JVM执行呢?
使用运行命令java,使用格式:
java 文件名
java HelloWorld 把字节码程序HelloWorld交给JVM执行
~~~
![](https://img.kancloud.cn/e2/fa/e2fa2a172699f18454bc146439714e10_1135x440.png)
##### 3.2 HelloWorld案例的编写编译运行
~~~
1.编写源程序
创建一个HelloWorld.txt的文本文件,把扩展名修改为.java
打开HelloWorld.java文件,输入以下内容
public class HelloWorld {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
2.把源程序编译成字节码程序
使用编译命令javac
使用格式:
javac 文件名.java
javac HelloWorld.java 把HelloWorld.java源程序/文件编译生成对应的字节码程序/文件
注意:
(1)保证在当前路径下,可以看到要编译的文件
(2)保证在当前路径下,javac命令可以使用
(3)javac命令在使用时,后面的文件必须写扩展名.java
3.把字节码程序/文件 交给 JVM执行
使用运行命令java
使用格式:
java 文件名
java HelloWorld 把字节码程序HelloWorld交给JVM执行
注意:
(1)保证在当前路径下,可以看到要运行的class文件
(2)保证在当前路径下,java命令可以使用
(3)java命令在使用时,后面的文件一定不能写扩展名.class
~~~
##### 3.3 HelloWorld案例的常见问题
~~~
非法字符问题。Java中的符号都是英文格式的。
大小写问题。Java语言对大小写敏感(区分大小写)。
在系统中显示文件的扩展名,避免出现HelloWorld.java.txt文件。
编译命令后的java文件名需要带文件后缀.java
运行命令后的class文件名(类名)不带文件后缀.class
不要把main写成mian
~~~
##### 3.4 Notepad++软件的安装和配置
![](https://img.kancloud.cn/39/59/3959337e2c218796e17d6344034bad07_1027x492.png)
搜狗输入法的设置: 中文状态使用英文标点符号
![](https://img.kancloud.cn/bc/78/bc7833aad7741bfd41e93158d2e262a6_910x527.png)
![](https://img.kancloud.cn/5b/eb/5beb7848892b605225029c6b2ae89628_465x368.png)
![](https://img.kancloud.cn/80/11/80116f653f7d719db11c03444bc4a3b9_774x539.png)
### 第四章 注释和关键字
##### 4.1 注释
~~~
1.概念: 是对程序中的内容进行解释说明的一些文字,不参与编译,也不参与运行,不会影响程序的运行效率
2.分类:
(1)单行注释: // 只能写一行内容
(2)多行注释: /* 可以写多行内容 */
(3)文档注释: /** 可以写多行内容 */ 基本不用
//这里是定义一个类,class后面的名字必须和文件名保存一致
//public class 是固定写法
public class Demo02ZhuShi {
/*
这里是定义一个方法,名字叫做main,
main方法是程序的入口
public static void 是固定写法
*/
public static void main(String[] args) {
/*
这是输出语句,会把小括号()中双引号""中的内容,
原样输出到控制台
*/
System.out.println("zhushi...");
}
}
~~~
##### 4.2 关键字
~~~
邮箱:@前面: 用户名 @后面: 用的哪家的邮箱
zhangsan@163.com 正确的
nigulasi_zhangsan@163.com 正确的
nigulasi@zhangsan@163.com 错误的
@符号: 在我们邮箱中有特殊含义,不能随便使用,可以理解为邮箱中的关键字
1.概念: 是指在程序中,Java已经定义好的单词,具有特殊含义。
2.注意:
至于说哪些单词是关键字,以及每个关键字的特殊含义和用法是什么,今天不作讲解
3.特点:
(1)单词每个字母都是小写的
(2)在高级编辑器中彩色显示
4.以下代码中有哪些关键字?
public class static void
public class Demo03GuanJianZi {
public static void main(String[] args){
System.out.println("guanjianzi...");
}
}
~~~
### 第五章 常量
##### 5.1 常量的概念和分类
~~~
数学中:
y = x + 8;//数字8是一个整数常数,其值不可以发生改变
b = a + 8.8;//数字8.8是一个小数常数,其值不可以发生改变
数学中的常数对应到java中叫做常量
数学中的常数是有分类的,对应到java中的常量,也有分类,而且java中常量的分类是非常丰富的
1.概念: 在程序执行的过程中,其值不会发生改变的量
2.分类:
(1)整数常量: 100,-200
(2)小数常量: 8.8,-8.8
(3)字符常量:
java中规定,字符常量必须使用单引号引起来,
而且单引号中必须只能有一个(不能没有,也不能有两个及以上)字符
举例:ACE
A: 'a' 正确的
B: '' ''中没有东西 错误的 不能没有字符
C: ' ' ''有一个空格 正确的
D: 'ab' 错误的 不能有两个字符
E: '好' 正确的
F: '女子' 错误的 不能有两个字符
(4)字符串常量:
java中规定,字符串常量必须使用双引号引起来,
而且双引号中可以有多个(0个,1个,2个,3个...)字符
举例:ABCDEF
A: "a"
B: ""
C: " "
D: "hello"
E: "好"
F: "女子"
(5)布尔常量: 只有两个值,外面没有单引号或者双引号
true: 表示对的,正确的,成立的,肯定的
false: 表示不对的,错正确的,不成立的,否定的
(6)空常量:
null 不能直接打印空常量null
3.注意:
System.out.println(xxx)的作用:
是把()中的内容输出到控制台后,并换行但是()中不同类型的数据,书写格式要求不一样
System.out.print(xxx)的作用:
是把()中的内容输出到控制台后,不换行但是()中不同类型的数据,书写格式要求不一样
~~~
##### 5.2 打印不同类型的常量
~~~
/*
打印不同类型的常量
快速复制一行: ctrl + d
*/
public class Demo04ChangLiang {
public static void main(String[] args){
//1.输出整数常量
System.out.println(100);
System.out.println(-200);
System.out.println("--------------------");
//2.小数常量
System.out.println(8.8);
System.out.println(-8.8);
System.out.println("--------------------");
//3.字符常量
System.out.println('a');
//System.out.println('');//错误: ''中不能没有字符
System.out.println(' ');//正确的: ''中只有一个空格
//System.out.println('ab');//错误: ''中不能有2个及以上的字符
System.out.println('好');//正确的:
//System.out.println('女子');//错误: ''中不能有2个及以上的字符
System.out.println("--------------------");
//4.字符串常量
System.out.println("a");
System.out.println("");
System.out.println(" ");
System.out.println("abcd");
System.out.println("好");
System.out.println("女子");
System.out.println("中国好强大");
System.out.println("--------------------");
//5.布尔常量
System.out.println(true);
System.out.println(false);
System.out.println("--------------------");
//6.空常量
//System.out.println(null);//错误: 不能直接打印空常量
}
}
~~~
### 第六章 计算机中的进制与字节【了解了解】
##### 6.1 进制及转换
* 进制
~~~
进制的概念:逢几进一,就是几进制
进制的分类:
十进制: 逢十进一,每位上的数字0-9
二进制: 逢二进一,每位上的数字0-1
八进制: 逢八进一,每位上的数字0-7
十六进制: 逢十六进一,每位上的数字0-9,10(A/a),11(B/b),12(C/c),13(D/d),14(E/e),15(F/f)
~~~
* 转换
~~~
1.十进制转十进制
(十进制数字从右向左,每位数字上隐藏了一个10的多少次方,第一位10的0次方,第二位10的一次方...):
十进制数字1234(x^y: x的y次方):
1234 = 1000 + 200 + 30 + 4
= 1*10^3 + 2*10^2 + 3*10^1 + 4*10^0
2.二进制转十进制(8421编码):
(二进制数字从右向左,每位数字上隐藏了一个2的多少次方,第一位2的0次方,第二位2的一次方...):
1101 = 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0
= 1*8 + 1*4 + 0*2 + 1*1
= 8 + 4 + 0 + 1
= 13
11111 = 1*2^4 + 1*2^3 + 1*2^2 + 1*2^1 + 1*2^0
= 16 + 8 + 4 + 2 + 1
= 31
3.十进制转二进制(除以2去余数,倒过来写):
十进制的13转换成二进制:1101
十进制的75转换成二进制:1001011
~~~
##### 十进制转二进制图解:
![](https://img.kancloud.cn/cc/6f/cc6fc9b32880f5212e52f50159ec8368_1099x371.png)
##### 6.2 计算机中的存储单位(2的10次方就是1024 2^9:512 2^10:1024 2^11: 2048)
~~~
位(bit): 计算机中存储1个二进制数字0或者1占用的空间 简写为b
字节(byte): 8个位就是一个字节 简写为B -------重要-------- 1KM = 1000M
字节是我们常见的计算机中最小存储单元。 1KM = 1000M
1024B = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
//...
~~~
##### 总结
~~~
能够说出JDK,JRE,JVM各自的作用和关系
JVM: Java虚拟机,专门用来运行java程序的,不能独立安装
JRE: Java运行环境,包含JVM和核心类库
JDK: Java开发工具,包含JRE和开发工具
能够完成HelloWorld案例的编写及运行
1.编写HelloWorld.java源文件
public class HelloWorld {
public static void main(String[] args){
System.out.println("HelloWorld");
}
}
2.把HelloWorld.java源程序,编译生成字节码程序
javac HelloWorld.java
3.把HelloWorld.class字节码程序交给JVM执行
java HelloWorld
能够使用注释对程序进行说明
注释: 对程序中的内容进行解释说明的
分类:
单行注释: //
多行注释: /* */
文档注释: /** */
能够知道关键字的特点
关键字: 具有特殊含义和使用格式的英文单词
特点:
(1)所有字母都是小写
(2)高级编辑器中彩色显示
public class static void
能够知道常量的分类
1.整数: 100,-200
2.小数: 6.6,-8.8
3.字符:
必须使用''引起来,而且''中间必须只能有一个字符
4.字符串
必须使用""引起来,而且""中间可以有多个(0个,1个,2个...)字符
5.布尔常量: true,false
6.空常量: null 不能直接打印
~~~