什么是跨平台?
平台:指的是操作系统(Windows,Linux,Mac)
跨平台:Java程序可以在任意操作系统上运行,一次编写到处运行
原理:实现跨平台需要依赖Java的虚拟机 JVM (Java Virtual Machine)
什么是JVM?
JVM是java虚拟机(JVM Java Virtual Machine),java程序需要运行在虚拟机上,不同平台有自己的虚拟机,因此java语言可以跨平台
什么是JRE?
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等
什么是JDK?
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了
DK,JRE,JVM的作用和关系
JDK包含JRE 和开发工具包
JRE 包含 核心类库和JVM
环境变量配置
程序的编译和执行需要使用到javac和java命令,所以只能在bin目录下写程序
实际开发中,不可能把程序写到bin目录下,所以我们必须让javac和java命令在任意目录下能够访问
如何配置
创建新的变量名称:JAVA_HOME
为JAVA_HOME添加变量值:JDK安装目录
在path环境变量最前面添加如下内容 %JAVA_HOME%\bin;
注释的作用
a:解释说明程序
b:帮助我们调试错误
关键字
被Java语言赋予特定含义的单词
组成关键字的字母全部小写
常用的代码编辑器,针对关键字有特殊的颜色标记
常量
在程序执行的过程中,其值不可以发生改变的量
字符串常量,整数常量,小数常量,字符常量,布尔常量,空常量
变量
在程序执行的过程中,在某个范围内其值可以发生改变的
格式:数据类型 变量名 = 初始化值
数据类型
基本数据类型和引用数据类型
基本数据类型分为四类八种:byte,short,int,long,float,double,char,boolean
标识符
给包,类,方法,变量等起名字,由字符,下划线_,美元符$组成
运算符
对常量和变量进行操作的符号称为运算符
算术运算符,赋值运算符,关系运算符,逻辑运算符,三元运算符
表达式
用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式
算数运算符
就是对常量和变量进行操作的符号 * +,-,*,/,%,++,--
关系运算符
关系运算符的结果都是boolean型,也就是要么是true,要么是false ==,!=,>,>=,<,<=
逻辑运算符
逻辑运算符一般用于连接boolean类型的表达式或者值 &,|,^,!,&&,||
三元运算符
(关系表达式)?表达式1:表达式2
如果条件为true,运算后的结果是表达式1
如果条件为false,运算后的结果是表达式2
键盘录入的基本步骤
实际开发中,数据值肯定是变化的,所以,把数据改进为键盘录入,提高程序的灵活性
A:导包(位置放到class定义的上面)
import java.util.Scanner;
B:创建对象
Scanner sc = new Scanner(System.in);
C:接收数据
int x = sc.nextInt();
顺序结构
按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的
If语句格式1及执行流程
if语句第一种格式:
if(关系表达式) {
语句体
}
执行流程:
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体
如果是false就不执行语句体
if语句第二种格式:
if(关系表达式) {
语句体1;
}else {
语句体2;
}
执行流程
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体1
如果是false就执行语句体2
if语句第三种格式:
if(关系表达式1) {
语句体1;
}else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
执行流程
首先判断关系表达式1看其结果是true还是false
如果是true就执行语句体1
如果是false就继续判断关系表达式2看其结果是true还是false
如果是true就执行语句体2
如果是false就继续判断关系表达式…看其结果是true还是false
…
如果没有任何关系表达式为true,就执行语句体n+1
switch语句的格式及执行流程
switch表示这是switch语句
表达式的取值:byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是String
case后面跟的是要和表达式进行比较的值
语句体部分可以是一条或多条语句
break表示中断,结束的意思,可以结束switch语句
default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
首先计算出表达式的值
其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中, 遇到break就会结束。
最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉
for循环的格式及基本使用
for(初始化语句;判断条件语句;控制条件语句) {
循环体语句;
}
A:执行初始化语句
B:执行判断条件语句,看其结果是true还是false
如果是false,循环结束。
如果是true,继续执行。
C:执行循环体语句
D:执行控制条件语句
E:回到B继续
while循环的格式及基本使用
基本格式
while(判断条件语句) {
循环体语句;
}
扩展格式
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
do…while循环的格式及基本使用
基本格式
do {
循环体语句;
}while((判断条件语句);
扩展格式
初始化语句;
do {
循环体语句;
控制条件语句;
} while((判断条件语句)
三种循环的区别
虽然可以完成同样的功能,但是还是有小区别:
do…while循环至少会执行一次循环体。
for循环和while循环只有在条件成立的时候才会去执行循环体
for循环语句和while循环语句的小区别:
使用区别:控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。
控制跳转语句break
break的使用场景:在选择结构switch语句中在循环语句中,离开使用场景的存在是没有意义的
break的作用:跳出单层循环
控制跳转语句continue
在循环语句中,离开使用场景的存在是没有意义的
continue的作用:
单层循环对比break,然后总结两个的区别
break 退出当前循环
continue 退出本次循环
产生整数随机数
作用:
用于产生一个随机数
使用步骤(和Scanner类似)
导包
import java.util.Random;
创建对象
Random r = new Random();
获取随机数
int number = r.nextInt(10);
产生的数据在0到10之间,包括0,不包括10。
括号里面的10是可以变化的,如果是100,就是0-100之间的数据
数组的定义格式
数组是存储同一种数据类型多个元素的容器。
数组既可以存储基本数据类型,也可以存储引用数据类型
格式1:数据类型[] 数组名;
格式2:数据类型 数组名[];
注意:这两种定义做完了,数组中是没有元素值的
动态初始化:
初始化时只指定数组长度,由系统为数组分配初始值
格式:数据类型[] 数组名 = new 数据类型[数组长度];
数组长度其实就是数组中元素的个数。
静态初始化:
初始化时指定每个数组元素的初始值,由系统决定数组长度
二维数组
二维数组其实就是一个元素为一维数组的数组
数据类型[][] 数组名;
数据类型 数组名[][]; 不推荐
数据类型[] 数组名[]; 不推荐
初始化方式
数据类型[][] 变量名 = new 数据类型[m][n];
数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}};
简化版格式:数据类型[][] 变量名 = {{元素…},{元素…},{元素…}};
方法定义格式及格式解释
方法就是完成特定功能的代码块,在很多语言里面都有函数的定义 , 函数在Java中被称为方法
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
函数体;
return 返回值;
}
方法格式解释
修饰符 目前记住 public static
返回值类型 用于限定返回值的数据类型
方法名 一个名字,为了方便我们调用方法
参数类型 用于接收调用方法时传入的数据的类型
参数名 用于接收调用方法时传入的数据的变量
方法体 完成功能的代码
return 结束方法,把返回值带给调用者
定义方法注意事项
写一个方法首先有两点需要明确
返回值类型 明确功能结果的数据类型
参数列表 明确有几个参数,以及参数的类型
方法重载的概述
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
方法重载特点
与返回值类型无关,只看方法名和参数列表
在调用时,虚拟机通过参数列表的不同来区分同名方法
方法的形式参数为基本数据类型
方法的参数是基本类型的时候:
形式参数的改变不影响实际参数。
形式参数:用于接收实际数据的变量
实际参数:实际参与运算的变量
方法的形式参数为引用数据类型
方法的参数是引用类型的时候:
形式参数的改变直接影响实际参数
Eclipse断点调试概述
Eclipse的断点调试可以查看程序的执行流程和解决程序中的bug
Eclipse断点调试常用操作:
A:什么是断点:
就是一个标记,从哪里开始。
B:如何设置断点:
你想看哪里的程序,你就在那个有效程序的左边双击即可。
C:在哪里设置断点:
哪里不会点哪里。
目前:我们就在每个方法的第一条有效语句上都加。
D:如何运行设置断点后的程序:
右键 -- Debug as -- Java Application
E:看哪些地方:
Debug:断点测试的地方
在这个地方,记住F6,或者点击也可以。一次看一行的执行过程。
Variables:查看程序的变量变化
ForDemo:被查看的源文件
Console:控制台
F:如何去断点:
再次双击即可
找到Debug视图,Variables界面,找到Breakpoints,并点击,然后看到所有的断点,最后点击那个双叉。
|