JVM JRE JDK
JVM是java虚拟机(JVM Java Virtual Machine),java程序需要运行在虚拟机上,不同平台有自己的虚拟机,因此java语言可以跨平台
JRE包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。
环境变量配置
创建新的变量名称:JAVA_HOME
计算机-右键属性-高级系统设置-高级-环境变量-系统变量
为JAVA_HOME添加变量值:JDK安装目录
在path环境变量最前面添加如下内容
%JAVA_HOME%\bin;
注释
A: 什么是注释
–用于解释说明程序的文字
B: Java中注释分类
单行注释
–格式: //注释文字
多行注释
–格式: /* 注释文字 */(可以嵌套)
文档注释
–格式:/** 注释文字 */ (不可以嵌套)
C: 注释的作用
a:解释说明程序
b:帮助我们调试错误
常量
常量概述
–在程序执行的过程中,其值不可以发生改变的量
常量分类
–字符串常量 用双引号括起来的内容(“HelloWorld”)
–整数常量 所有整数(12,-23)
–小数常量 所有小数(12.34)
–字符常量 用单引号括起来的内容(‘a’,’A’,’0’)
–布尔常量 较为特有,只有true和false
–空常量 null(数组部分讲解)
数据类型概述和分类
A:为什么有数据类型
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间
B:Java中数据类型的分类
基本数据类型(四类八种)
引用数据类型
标识符概述
A 作用
–给包,类,方法,变量等起名字
B 组成规则
–由字符,下划线_,美元符$组成
?这里的字符采用的是unicode字符集,所以包括英文大小写字母,中文字符,数字字符等。
–注意事项
–不能以数字开头
–不能是Java中的关键字
C : 命名原则:见名知意
数据类型转换
隐式数据类型转换
取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算
强制类型数据转换
强制转换的格式
* b = (byte)(a + b);?
强制转换的注意事项
* 如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同?
算数运算符
运算符
对常量和变量进行操作的符号称为运算符
表达式
用运算符把常量或者变量连接起来符号java语法的式子就可以称为表达式。不同运算符连接的式子体现的是不同类型的表达式。
定义两个int类型的变量a,b,做加法(a + b)
常用运算符
算术运算符(+,-,*,/,%,++,--)(++ -- 在数据后面 先用数据做其他操作在加减赋值)
赋值运算符(=,+=,-=,*=,/=,%=)
关系运算符(==,!=,>,>=,<,<= 关系运算符的结果都是boolean型,也就是要么是true,要么是false。=是赋值运算符不是关系运算符)
逻辑运算符(&,|,^,!,&&,|| )(&&,||有短路效果所以效率更高)
三元运算符(格式(关系表达式)?表达式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语句的格式
if语句第一种格式:
if(关系表达式) {
语句体
}
if语句第二种格式:
if(关系表达式) {
语句体1;
}else {
语句体2;
}
if(关系表达式1) {
语句体1;
}else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
switch语句的格式及执行流程
格式解释:
switch表示这是switch语句
表达式的取值:byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是String
case后面跟的是要和表达式进行比较的值
语句体部分可以是一条或多条语句
break表示中断,结束的意思,可以结束switch语句
default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
执行流程
首先计算出表达式的值
其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
(没有break会发生case穿透)
循环语句
for循环语句格式
for(初始化语句;判断条件语句;控制条件语句) {
循环体语句;
}
(for循环结束数据会被内存回收,提高内存的使用效率)
while循环语句格式
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
for,while循环语句执行流程
A:执行初始化语句
B:执行判断条件语句,看其结果是true还是false
如果是false,循环结束。
如果是true,继续执行。
C:执行循环体语句
D:执行控制条件语句
E:回到B继续
do…while循环语句格式
初始化语句;
do {
循环体语句;
控制条件语句;
} while((判断条件语句);
(do…while循环至少会执行一次循环体)
A:执行初始化语句
B:执行循环体语句
C:执行控制条件语句
D:执行判断条件语句,看其结果是true还是false
如果是false,循环结束。
如果是true,继续执行。
E:回到B继续
控制语句
Break的使用场景和作用
break的使用场景:
在选择结构switch语句中
在循环语句中
离开使用场景的存在是没有意义的
break的作用:
跳出单层循环
continue的使用场景:
在循环语句中
离开使用场景的存在是没有意义的
continue的作用:
单层循环对比break,然后总结两个的区别
break 退出当前循环
continue 退出本次循环 |
|