ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 【前言、入门程序、常量】 ##### 今日复习指南 ~~~ 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 不能直接打印 ~~~