今日目标
- 能够计算二进制和十进制数之间的互转
- 能够使用常见的DOS命令
- 理解Java语言的跨平台实现原理
- jvm是运行java程序的假想计算机,所有的java程序都运行在它上面。java编写的软件可以运行在任何操作系统上,这被称为java跨平台特性,是由jvm实现的,java程序运行在jvm上,jvm运行在操作系统上
- 理解JDK和JRE的组成和作用-
jre是java程序的运行环境,jdk是程序开发工具包,包含了jre和开发工具
能够配置环境变量JAVA_HOME
能够编写HelloWorld程序编译并执行
理解关键字的含义
理解标识符的含义
能够定义出所有类型的常量
理解Java中的基本数据类型分类
能够定义8种基本数据集类型的变量
1.Java语言概述
- 什么是java?
- java是一门面向对象编程语言,吸收了C/C++的优点,摒弃了C/C++复杂的指针等内容,也不需要用户手动释放内存空间。java本身还具备了很强的可移植性,通过将源代码编译成二进制字节码,然后通过不同平台的java虚拟机来解释执行字节码,从而实行了“一次编译,到处执行”的跨平台特性。
- java语言能做什么?
Java语言主要应用在互联网程序的开发领域。常见的互联网程序比如天猫、京东、物流系统、网银系统等,以及服 务器后台处理大数据的存储、查询、数据挖掘等也有很多应用。
2.计算机基础知识
- 二进制,计算机全部采用二进制来表示
- 二进制转换为十进制:使用除以2获取余数的方式,但是从下面读取数据
- 十进制转换为二进制:使用8421编码
- 字节:计算机中最小的存储单元,8个bit为1个字节,表示为1byte或者1B
8 bit = 1 B
1024 B =1 KB
1024 KB =1 MB
1024 MB =1 GB
1024 GB = 1 TB
3.常用DOS命令(命令行窗口命令)
- 命令 操作符号
- 盘符切换命令 盘符名:
- 查看当前文件夹 dir
- 进入文件夹命令 cd 文件夹名
- 退出文件夹命令 cd..
- 退出到磁盘根目录 cd\
- 清屏 cls
4.java虚拟机--JVM
- JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的 运行环境,是Java 具吸引力的特性之一。我们编写的Java代码,都运行在 JVM 之上。
- 跨平台:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系 统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM 运行在操作系统上。
5.JRE和JDK
- JRE (Java Runtime Environment) :是Java程序的运行时环境,包含 JVM 和运行时所需要的 核心类库
- JDK (Java Development Kit):是Java程序开发工具包,包含 JRE 和开发人员使用的工具。
- 三者关系: JDK > JRE > JVM
6.程序开发步骤
- java程序开发三步骤:编写、编译、运行
7.入门程序说明
- 编译和运行的区别
- 编译:是指将我们编写的Java源文件翻译成JVM认识的class文件,在这个过程中, javac 编译器会检查我们 所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。
- 运行:是指将 class文件 交给JVM去运行,此时JVM就会去执行我们编写的程序了。
- 关于main方法
main方法:称为主方法。写法是固定格式不可以更改。main方法是程序的入口点或起始点,无论我们编写多 少程序,JVM在运行的时候,都会从main方法这里开始执行。
8.添加注释comment
- 注释:就是对代码的解释和说明。其目的是让人们能够更加轻松地了解代码。为代码添加注释,是十分必须 要的,它不影响程序的编译和运行
- Java中有单行注释和多行注释
- 单行注释以 //开头 换行结束
- 多行注释以 /*开头 以*/结束
9.关键字keywords和标识符
- 关键字:是指在程序中,Java已经定义好的单词,具有特殊含义。 HelloWorld案例中,出现的关键字有 public 、 class 、 static 、 void 等,这些单词已经被 Java定义好,全部都是小写字母,
- 标识符:是指在程序中,我们自己定义内容。比如类的名字、方法的名字和变量的名字等等,都是标识符。 HelloWorld案例中,出现的标识符有类名字 HelloWorld 。
- 命名规则: 硬性要求
- 标识符可以包含 英文字母26个(区分大小写) 、 0-9数字 、 $(美元符号) 和 _(下划线) 。
- 标识符不能以数字开头。
- 标识符不能是关键字。
- 命名规范: 软性建议
类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。
方法名规范: 首字母小写,后面每个单词首字母大写(小驼峰式)。
变量名规范:全部小写。
10. 常量
- 什么是常量:是指在Java程序中固定不变的数据。
- 分类
11.变量和数据类型
- 变量概述:在程序中可以变化的量称为变量。Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型。
- 数据类型
- 数据类型分类
- 基本数据类型:包括 整数 、 浮点数 、 字符 、 布尔 。
- 引用数据类型:包括 类 、 数组 、 接口 。
- 基本数据类型
变量的定义
变量定义的格式包括三个要素: 数据类型 、 变量名 、 数据值 。
格式:数据类型 变量名 = 数据值
注意:
变量名称:在同一个大括号范围内,变量的名字不可以相同。
变量赋值:定义的变量,不赋值不能使用。
12.课后练习
# 基础题目:
## 第一题
* 按步骤编写代码,效果如图所示:
![](img\1.jpg)
* 编写步骤:
1. 定义类 Test1
2. 定义 main方法
3. 控制台输出5行字符串类型常量值
4. 控制台输出5行字符类型常量值
* 参考答案:
```java
public class Test1 {
public static void main(String[] args) {
// 控制台输出任意5行字符串类型常量值
System.out.println("善学如春起之苗");
System.out.println("不见其增,日有所长");
System.out.println("假学如磨刀之石");
System.out.println("不见其损,年有所亏");
System.out.println("加油吧!少年");
// 控制台输出任意5行字符类型常量值
System.out.println('J');
System.out.println('A');
System.out.println('V');
System.out.println('A');
System.out.println('!');
}
}
```
## 第二题
* 按步骤编写代码,效果如图所示:
![](img\2.jpg)
* 编写步骤:
1. 定义类 Test2
2. 定义 main方法
3. 控制台输出5行整数类型常量值
4. 控制台输出5行小数类型常量值
* 参考答案:
```java
public class Test2 {
public static void main(String[] args) {
// 控制台输出任意5行整数类型常量值
System.out.println(-2147483648);
System.out.println(-100);
System.out.println(0);
System.out.println(100);
System.out.println(2147483647);
// 控制台输出任意5行小数类型常量值
System.out.println(-100.0);
System.out.println(-10.0);
System.out.println(0.0);
System.out.println(10.9);
System.out.println(100.9);
}
}
```
## 第三题
- 按步骤编写代码,效果如图所示:
![](img\3.jpg)
- 编写步骤:
1. 定义类 Test3
2. 定义 main方法
3. 控制台输出所有布尔类型常量值
- 参考答案:
```java
public class Test3 {
public static void main(String[] args) {
// 控制台输出所有布尔类型常量值
System.out.println(true);
System.out.println(false);
}
}
```
## 第四题
- 按步骤编写代码,效果如图所示:
![](img\4.jpg)
- 编写步骤:
1. 定义类 Test4
2. 定义 main方法
3. 定义2个 byte类型变量,分别赋byte类型范围内最大值和最小值,并输出在控制台.
4. 定义2个 short类型变量,分别赋short类型范围内的值,并输出在控制台.
5. 定义2个 int类型变量,分别赋int类型范围内的值,并输出在控制台.
6. 定义2个 long类型变量,分别赋超过int类型范围的值,并输出在控制台.
- 参考答案:
```java
public class Test4 {
public static void main(String[] args) {
// 定义2个 byte类型变量,分别赋byte类型范围内最大值和最小值,并输出在控制台.
byte num1 = -128;
byte num2 = 127;
System.out.println(num1);
System.out.println(num2);
// 定义2个 short类型变量,分别赋short类型范围内的值,并输出在控制台.
short num3 = -32768;
short num4 = 32767;
System.out.println(num3);
System.out.println(num4);
// 定义2个 int类型变量,分别赋int类型范围内的值,并输出在控制台.
int num5 = -2147483648;
int num6 = 2147483647;
System.out.println(num5);
System.out.println(num6);
// 定义2个 long类型变量,分别赋超过int类型范围的值,并输出在控制台.
long num7 = -2147483649L;
long num8 = 2147483648L;
System.out.println(num7);
System.out.println(num8);
}
}
```
## 第五题
- 按步骤编写代码,效果如图所示:
![](img\5.jpg)
* 编写步骤:
1. 定义类 Test5
2. 定义 main方法
3. 定义2个 float类型变量,分别赋值,并输出在控制台.
4. 定义2个 double类型变量,分别赋值,并输出在控制台.
* 参考答案:
```java
public class Test5 {
public static void main(String[] args) {
// 定义2个 float类型变量,分别赋值,并输出在控制台.
float num1 = -3.14F;
float num2 = 3.14F;
System.out.println(num1);
System.out.println(num2);
// 定义2个 double,分别赋值,并输出在控制台.
double num3 = -3.4;
double num4 = 3.4;
System.out.println(num3);
System.out.println(num4);
}
}
```
## 第六题
- 按步骤编写代码,效果如图所示:
![](img\6.jpg)
- 编写步骤:
1. 定义类 Test6
2. 定义 main方法
3. 定义5个 char类型变量,分别赋值,并输出在控制台.
4. 定义2个 boolean类型变量,分别赋值,并输出在控制台.
* 参考答案:
```java
public class Test6 {
public static void main(String[] args) {
// 定义5个 char类型变量,分别赋值,并输出在控制台.
char ch1 = '9';
char ch2 = 'J';
char ch3 = 'a';
char ch4 = ' ';
char ch5 = '@';
System.out.println(ch1);
System.out.println(ch2);
System.out.println(ch3);
System.out.println(ch4);
System.out.println(ch5);
// 定义2个 boolean类型变量,分别赋值,并输出在控制台.
boolean b1 = true;
boolean b2 = false;
System.out.println(b1);
System.out.println(b2);
}
}
```
## 第七题
- 按步骤编写代码,效果如图所示:
![](img\7.jpg)
- 步骤图解:
![](img\71.jpg)
- 开发提示:定义变量不赋值的格式
```java
// 数据类型 变量名 ;
int temp;
```
- 编写步骤:
1. 定义类 Test7
2. 定义 main方法
3. 定义两个整数变量a,b并赋值
4. 控制台输出变量a,b互换前的值
5. 定义一个第三方变量temp,不赋值
6. 利用第三方变量temp使a,b的值互换
7. 控制台输出变量a,b互换后的值
- 参考答案:
```java
public class Test7 {
public static void main(String[] args) {
// 定义两个整数变量a,b并赋值
int a = 10;
int b = 20;
// 控制台输出变量a,b的值
System.out.println("互换前:");
System.out.println(a);
System.out.println(b);
// 定义一个第三方变量,不赋值.
int temp;
// 利用第三方变量,是a,b的值互换.
temp = a ;
a = b;
b = temp;
// 控制台输出变量a,b的互换后的值.
System.out.println("互换后:");
System.out.println(a);
System.out.println(b);
}
}
```