1.前言、入门程序、常量、变量
1.1 java语言发展史
Java语言是美国Sun公司(Stanford University Network),在1995年推出的高级的编程语言。所谓编程语言,是计算机的语言,人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能。
Java语言能做什么
Java语言主要应用在互联网程序的开发领域。常见的互联网程序比如天猫、京东、物流系统、网银系统等,以及服务器后台处理大数据的存储、查询、数据挖掘等也有很多应用。
1.2 计算机进制转换
二进制
计算机中的数据不同于人们生活中的数据,人们生活采用十进制数,而计算机中全部采用二进制数表示,它只包含
0、1两个数,逢二进一,1+1=10。每一个0或者每一个1,叫做一个bit(比特)。
下面了解一下十进制和二进制数据之间的转换计算。
十进制数据转成二进制数据:使用除以2获取余数的方式
二进制数据转成十进制数据:使用8421编码的方式
1.3 计算机存储单元
位(bit):一个数字0或者一个数字1,代表一位。
字节(Byte):每逢8位是一个字节,这是数据存储的最小单位。
1 Byte = 8 bit
1 KB = 1024 Byte
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 1024 GB
1 PB = 1024 TB
1 EB = 1024 PB
1 ZB = 1024 EB
1.4 命令提示符_基本介绍
1.5 命令提示符_常用命令
Java语言的初学者,学习一些DOS命令,会非常有帮助。DOS是一个早期的操作系统,现在已经被Windows系统取代,对于我们开发人员,目前需要在DOS中完成一些事情,因此就需要掌握一些必要的命令。
MS-DOS(Microsoft Disk Operating System)
命令提示符(cmd)
启动: Win+R,输入cmd回车
切换盘符 盘符名称:
进入文件夹 cd 文件夹名称
进入多级文件夹 cd 文件夹1\文件夹2\文件夹3
返回上一级 cd …
直接回根路径 cd
查看当前内容 dir
清屏 cls
退出 exit
1.6 java语言的跨平台性
JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在JVM 之上。
跨平台:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM运行在操作系统上。
如图所示,Java的虚拟机本身不具备跨平台功能的,每个操作系统下都有不同版本的虚拟机。
1.7 jdk,jre与jvm
JRE (Java Runtime Environment) :是Java程序的运行时环境,包含JVM 和运行时所需要的核心类库 。
JDK (Java Development Kit):是Java程序开发工具包,包含JRE 和开发人员使用的工具。
我们想要运行一个已有的Java程序,那么只需安装JRE 即可。
我们想要开发一个全新的Java程序,那么必须安装JDK 。
小贴士:
三者关系: JDK > JRE > JVM
1.8 jdk的下载与安装
小贴士:
安装路径中,不要包含中文和空格。
1.9 环境变量的配置
配置环境变量作用
开发Java程序,需要使用JDK中提供的工具,工具在JDK9安装目录的bin 目录下。
在DOS命令行下使用这些工具,就要先进入到JDK的bin目录下,这个过程就会非常的麻烦。
不进入JDK的bin 目录,这些工具就不能使用,会报错。
为了开发方便,我们想在任意的目录下都可以使用JDK的开发工具,则必须要配置环境变量,配置环境变量的意义在于告诉操作系统,我们使用的JDK开发工具在哪个目录下。
Windows 10 版本
-
文件资源管理器 --> 此电脑鼠标右键 --> 选择属性
-
选择高级系统设置 --> 选择 环境变量
- 点击下方系统变量的 新建 ,创建新的环境变量,变量名输入JAVA_HOME ,变量值输入JDK9的安装目录
D:\02_DevelopTools\Java\jdk-9.0.1
4. 选中Path 环境变量, 双击或者点击编辑
-
点击新建,键入%JAVA_HOME%\bin ,必须是英文格式。选中该行,上移到最上方,点击确定。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bnh4WlKP-1603982131020)(C:\Users\miracle8510\AppData\Roaming\Typora\typora-user-images\image-20201028103433240.png)]
- 环境变量配置完成,重新开启DOS命令行,在任意目录下输入javac 命令。
- 环境变量配置完成,重新开启DOS命令行,在任意目录下输入javac 命令。
- 点击下方系统变量的 新建 ,创建新的环境变量,变量名输入JAVA_HOME ,变量值输入JDK9的安装目录
-
1.10 HelloWorld程序的代码编写
开发环境已经搭建完毕,可以开发我们第一个Java程序了。
Java程序开发三步骤:编写、编译、运行。
// 第一行的第三个单词必须和所在的文件名称完全一样,大小写也要一样
// public class后面代表定义一个类的名称,类是Java当中所有源代码的基本组织单位。
public class HelloWorld {
// 第二行的内容是万年不变的固定写法,代表main方法
// 这一行代表程序执行的起点
public static void main(String[] args) {
// 第三行代表打印输出语句(其实就是屏幕显示)
// 希望显示什么东西,就在小括号当中填写什么内容
System.out.println("Hello, World!!!");
}
}
1.11 HelloWorld程序的编译运行
文件名必须是HelloWorld ,保证文件名和类的名字是一致的,注意大小写。
每个字母和符号必须与示例代码一模一样。
第一个HelloWord 源程序就编写完成了,但是这个文件是程序员编写的,JVM是看不懂的,也就不能运行,因此我们必须将编写好的Java源文件 编译成JVM可以看懂的字节码文件 (.class)。
在DOS命令行中,进入Java源文件的目录,使用javac 命令进行编译。
命令:
javac Java源文件名.后缀名
举例:
javac HelloWorld.java
编译成功后,命令行没有任何提示。打开d:\day01 目录,发现产生了一个新的文件 HelloWorld.class ,该文件就是编译后的文件,是Java的可运行文件,称为字节码文件,有了字节码文件,就可以运行程序了。
Java源文件的编译工具javac.exe ,在JDK安装目录的bin目录下。但是由于配置了环境变量,可以再任意目录下使用。
1.12 HelloWorld的常见问题与Notepad++使用
注意:
java HelloWord 不要写 不要写 不要写 .class
Java程序.class文件 的运行工具java.exe ,在JDK安装目录的bin目录下。但是由于配置了环境变量,可以再任意目录下使用。
1.13 程序注释与HelloWorld说明
编译和运行是两回事
编译:是指将我们编写的Java源文件翻译成JVM认识的class文件,在这个过程中, javac 编译器会检查我们所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。
运行:是指将class文件 交给JVM去运行,此时JVM就会去执行我们编写的程序了。
关于main方法
main方法:称为主方法。写法是固定格式不可以更改。main方法是程序的入口点或起始点,无论我们编写多
少程序,JVM在运行的时候,都会从main方法这里开始执行。
注释:就是对代码的解释和说明。其目的是让人们能够更加轻松地了解代码。为代码添加注释,是十分必须要的,它不影响程序的编译和运行。
Java中有单行注释和多行注释
单行注释以 //开头 换行结束
多行注释以 /开头 以/结束
1.14 关键字的概念与特征
关键字:是指在程序中,Java已经定义好的单词,具有特殊含义。
HelloWorld案例中,出现的关键字有 public 、class 、 static 、 void 等,这些单词已经被
Java定义好,全部都是小写字母,notepad++中颜色特殊。
关键字比较多,不能死记硬背,学到哪里记到哪里即可。
12345@qq.com
javaitcast@163.com
_______@163.com
abc@163.com
abc123@163.com
尼古拉斯·赵四
nigulasi@zhaosi@itcast.cn
@是电子邮箱当中有特殊含义的、被保留的、不能随意使用的字符。
这样的字符被称为关键字。
关键字的特点:
1. 完全小写的字母。
2. 在增强版的记事本当中(例如Notepad++)有特殊颜色。
1.15 标识符的概念与规则
标识符:是指在程序中,我们自己定义内容。比如类的名字、方法的名字和变量的名字等等,都是标识符。
HelloWorld案例中,出现的标识符有类名字HelloWorld 。
命名规则: 硬性要求
标识符可以包含英文字母26个(区分大小写) 、0-9数字 、$(美元符号) 和_(下划线) 。
标识符不能以数字开头。
标识符不能是关键字。
命名规范: 软性建议
类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。
方法名规范: 首字母小写,后面每个单词首字母大写(小驼峰式)。
变量名规范:全部小写。
1.16 常量的概念与分类
常量:在JAVA程序运行期间,固定不变的量。
常量的分类:
-
字符串常量:凡是用双引号引起来的部分,叫做字符串常量。例如:“abc”、“Hello”、“123”
-
整数常量:直接写上的数字,没有小数点。例如:100、200、0、-250
-
浮点数常量:直接写上的数字,有小数点。例如:2.5、-3.14、0.0
-
字符常量:凡是用单引号引起来的单个字符,就做字符常量。例如:‘A’、‘b’、‘9’、‘中’
-
布尔常量:只有量中取值。true、false。
-
空常量:null。代表没有任何数据。
public class Demo01Const {
public static void main(String[] args) {
// 字符串常量
System.out.println("ABC");
System.out.println(""); // 字符串两个双引号中间的内容为空
System.out.println("XYZ");
// 整数常量
System.out.println(30);
System.out.println(-500);
// 浮点数常量(小数)
System.out.println(3.14);
System.out.println(-2.5);
// 字符常量
System.out.println('A');
System.out.println('6');
// System.out.println(''); // 两个单引号中间必须有且仅有一个字符,没有不行。
// System.out.println('AB'); // 两个单引号中间必须有且仅有一个字符,有两个不行。
// 布尔常量
System.out.println(true);
System.out.println(false);
// 空常量。空常量不能直接用来打印输出。
// System.out.println(null);
}
}
1.17 常量的打印输出
/*
变量:程序运行期间,内容可以发生改变的量。
创建一个变量并且使用的格式:
数据类型 变量名称; // 创建了一个变量
变量名称 = 数据值; // 赋值,将右边的数据值,赋值交给左边的变量
一步到位的格式:
数据类型 变量名称 = 数据值; // 在创建一个变量的同时,立刻放入指定的数据值
*/
public class Demo02Variable {
public static void main(String[] args) {
// 创建一个变量
// 格式:数据类型 变量名称;
int num1;
// 向变量当中存入一个数据
// 格式:变量名称 = 数据值;
num1 = 10;
// 当打印输出变量名称的时候,显示出来的是变量的内容
System.out.println(num1); // 10
// 改变变量当中本来的数字,变成新的数字
num1 = 20;
System.out.println(num1); // 20
// 使用一步到位的格式来定义变量
// 格式:数据类型 变量名称 = 数据值;
int num2 = 25;
System.out.println(num2); // 25
num2 = 35;
System.out.println(num2); // 35
System.out.println("===============");
byte num3 = 30; // 注意:右侧数值的范围不能超过左侧数据类型的取值范围
System.out.println(num3); // 30
// byte num4 = 400; // 右侧超出了byte数据范围,错误!
short num5 = 50;
System.out.println(num5); // 50
long num6 = 3000000000L;
System.out.println(num6); // 3000000000
float num7 = 2.5F;
System.out.println(num7); // 2.5
double num8 = 1.2;
System.out.println(num8); // 1.2
char zifu1 = 'A';
System.out.println(zifu1); // A
zifu1 = '中';
System.out.println(zifu1); // 中
boolean var1 = true;
System.out.println(var1); // true
var1 = false;
System.out.println(var1); // false
// 将一个变量的数据内容,赋值交给另一个变量
// 右侧的变量名称var1已经存在,里面装的是false布尔值
// 将右侧变量里面的false值,向左交给var2变量进行存储
boolean var2 = var1;
System.out.println(var2); // false
}
}
1.18 基本数据类型
基本数据类型【今天重点】
整数型 byte short int long
浮点型 float double
字符型 char
布尔型 boolean
引用数据类型(今后学习)
字符串、数组、类、接口、Lambda
注意事项:
- 字符串不是基本类型,而是引用类型。
- 浮点型可能只是一个近似值,并非精确的值。
- 数据范围与字节数不一定相关,例如float数据范围比long更加广泛,但是float是4字节,long是8字节。
- 浮点数当中默认类型是double。如果一定要使用float类型,需要加上一个后缀F。
如果是整数,默认为int类型,如果一定要使用long类型,需要加上一个后缀L。推荐使用大写字母后缀。
1.19 变量的概念与定义格式
变量:常量是固定不变的数据,那么在程序中可以变化的量称为变量。
数学中,可以使用字母代替数字运算,例如 x=1+5 或者 6=x+5。
程序中,可以使用字母保存数字的方式进行运算,提高计算能力,可以解决更多的问题。比如x保存5,x也可以保存6,这样x保存的数据是可以改变的,也就是我们所讲解的变量。
Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型。
数据类型分类
Java的数据类型分为两大类:
基本数据类型:包括 整数、浮点数、字符、布尔。
引用数据类型:包括 类、数组、接口。
基本数据类型
四类八种基本数据类型:
注意:
Java中的默认类型:整数类型是int 、浮点类型是double 。
1.20 变量的基本使用
变量定义的格式包括三个要素: 数据类型 、 变量名 、 数据值 。
格式:
数据类型 变量名 = 数据值;
long类型:建议数据后加L表示。
float类型:建议数据后加F表示。
1.21 变量的注意事项
变量名称:在同一个大括号范围内,变量的名字不可以相同。
变量赋值:定义的变量,不赋值不能使用。
/*
使用变量的时候,有一些注意事项:
-
如果创建多个变量,那么变量之间的名称不可以重复。
-
对于float和long类型来说,字母后缀F和L不要丢掉。
-
如果使用byte或者short类型的变量,那么右侧的数据值不能超过左侧类型的范围。
-
没有进行赋值的变量,不能直接使用;一定要赋值之后,才能使用。
-
变量使用不能超过作用域的范围。
【作用域】:从定义变量的一行开始,一直到直接所属的大括号结束为止。 -
可以通过一个语句来创建多个变量,但是一般情况不推荐这么写。
*/
public class Demo03VariableNotice {
public static void main(String[] args) {
int num1 = 10; // 创建了一个新的变量,名叫num1
// int num1 = 20; // 又创建了另一个新的变量,名字也叫num1,错误!
int num2 = 20;
int num3;
num3 = 30;
int num4; // 定义了一个变量,但是没有进行赋值
// System.out.println(num4); // 直接使用打印输出就是错误的!
// System.out.println(num5); // 在创建变量之前,不能使用这个变量
int num5 = 500;
System.out.println(num5); // 500
{
int num6 = 60;
System.out.println(num6); // 60
}
// int num6;
// System.out.println(num6); // 已经超出了大括号的范围,超出了作用域,变量不能再使用了
// 同时创建了三个全都是int类型的变量
int a, b, c;
// 各自分别赋值
a = 10;
b = 20;
c = 30;
System.out.println(a); // 10
System.out.println(b); // 20
System.out.println(c); // 30
// 同时创建三个int变量,并且同时各自赋值
int x = 100, y = 200, z = 300;
System.out.println(x); // 100
System.out.println(y); // 200
System.out.println(z); // 300
}
}