(day01)安装JDK、配置环境变量
JDK安装与配置环境变量
java语言平台版本:JAVASE(标准版)、JAVAEE(企业版)、JAVAME(移动版)
jdk、jre、jvm之间的关系
:JDK(java开发者工具集)包含JRE(java运行环境)包含JVM(java虚拟机)
JAVA跨平台性:
JVM是Java语言能够跨平台的前提,但是JVM本身不跨平台
环境变量的配置
首先安装JDK,然后新建JAVA_HOME(变量值输入jdk安装根目录),新建CLASS_PATH(变量值输入jdk根目录下lib目录),在PATH中添加新变量值(jdk根目录下bin目录)。在dos命令窗口输入java -version检查JDK是否安装配置成功
(day02)标识符 关键字 注释 变量 数据类型与类型转换
1.java语法基础
1.1标识符
标识符遵循的规则:
1)标识符可以由字母、数字、下划线(_)、美元符($)组成
2)不能以数字开头。
3)标识符严格区分大小写。
4)标识符的命名最好能反映出其作用,做到见名知意。
5)标识符不能是Java的关键字
1.2关键字
java中被赋予特殊含义的单词,关键字为全小写,关键字不能作为标识符
关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while
有两个保留字:const和goto
特殊直接量三个:true、false、null
1.3变量
结构:变量类型 变量名 = 变量值
1)变量名必须是一个有效的标识符
2)变量名不可以使用java关键字
3)变量名在同一函数中不能重复
2 数据类型
2.1 基本类型介绍(八种)
2.2变量转换
斜相对,首尾相连
t = a;//把a的值交给t来保存
a = b;//把b的值交给a来保存
b = t;//把t的值嫁给b来保存
2.3引用类型
引用类型是一个对象类型,引用类型的值指向内存空间,是一个地址。
3 基本类型的字面值(5条)
3.1 整数字面值是int类型
int x = 99999;//对,右面数据的字面值是int类型
int x = 99999999999;//错,右面数据的字面值是int类型,但是已经超出int的取值范围。
3.2 byte,short,char三种比int小的整数可以用范围内的值直接赋值
byte b1=127;//对,
byte b2=128;//错,超出byte范围
3.3 浮点数的字面值是double类型
double r =3.14;//对
float r =3.14;//错,右面的数据字面值是double,float是4字节存不下double类型的数据
3.4 字面值后缀L D F
long x =99999999999L;//字面值是int类型,需转成long类型的数据,加字面值后缀L即可
float b = 3.0F;//3.0字面值是double类型,加后缀F会变成float类型
double d = 3D;//3字面值是int类型,加后缀D,会变成double类型
3.5 进制前缀
0b - 标识这是2进制 ,如:0b0101
0 - 标识这是8进制, 8进制是三位,如: 023
0x - 标识这是16进制,如: 0x0001
\u -标识这是char类型,属于16进制
4 基本类型的类型转换
箭头开始是小类型,箭头指向大类型
大小指的是对应类型取值范围,不是字节数
boolean 类型特殊,不参与类型转换
口诀:小到大,直接转 大到小,强制转 浮变整,小数没
5 运算规则
1)计算结果的数据类型,与最大数据类型一致
2)byte,short,char三种比int小的整数,运算时会先自动转换成int
3) 整数运算溢出(需要避免)
4) 浮点数运算不精确
5) 浮点数的特殊值 :Infinity 无穷大 3.14/0
NaN not a number 0/0.0 或 0.0/0
(day05)运算符、局部变量、成员变量、方法
1 运算符
1)自增自减:
前缀式,符号在前,先变换,再使用 ++a --a
后缀式,符号在后,先使用,再变化 a++ a–
2)逻辑运算符:
逻辑运算符返回的运算结果为布尔类型
与:表示并且的关系
&单与: 1 & 2 ,结果想要是true,要求1和2都必须是true
&&短路与:1 && 2 ,当1是false时,2会被短路,提高程序的效率
或:表示或者的关系
|单或: 1 | 2,结果想要是true,要求1和2只要有一个为true就可以
||短路或:1 || 2,当1是true时,2会被短路,提高程序效率
3)优先级控制
当一个表达式包含多个运算符时,就需要考虑运算符的优先级,优先级高的运算符先参与运算,
优先级低的运算符后参与运算。在实际的开发中,不需要特别去 记忆运算符的优先级别,也不要
刻意的使用运算符的优先级别,对于不清楚优先级的地方使用小括号辅助进行优先级管理。
2 方法
定义:被命名的代码块,可以含参也可以不含参可以提高代码的复用性
格式:方法修饰符 返回值类型 方法名([参数列表]){方法体}
2.1方法的调用
执行顺序:顺序执行代码,调用指定方法,执行完毕,返回调用位置
调用方法:通过方法名+参数列表的方式来调用方法的功能
格式:method();如果方法想要返回值,必须修改返回值类型,并且return对应类型的结果,如果方法的返回值类型是void,不允许有返回值
2.2方法的重载
方法的重载是指在一个类中定义多个同名的方法,但是每个方法的参数列表不同(也就是指参数的个数和类型不同),程序在调用方法时,可以通过传递给他们的不同个数和类型的参数来决定具体调用哪个方法.
方法的重载可以增加程序的灵活性
3 变量
概念:
可以改变的数,称为变量。在Java语言中,所有的变量在使用前必须声明。
一般通过“变量类型 变量名 = 变量值 ;”这三部分来描述一个变量。如:int a = 3 ;
变量的使用原则:就近原则,即尽量控制变量的使用范围到最小
3.1 局部变量
位置:定义在方法里或局部代码块中
必须手动初始化来分配内存,方法运行完内存就释放
3.2 成员变量
位置:定义在类里方法外
不用初始化也自动被初始化为默认值,类消失内存才释放
(day04)分支结构,循环结构
1 分支结构
顺序结构的程序虽然能解决计算、输出等问题
但不能做判断再选择。对于要先做判断再选择的问题就要使用分支结构
1.1 if语句
//单分支结构
if(判断条件){
//满足执行条件执行代码
}
//多分支结构
if(判断条件){
//满足判断条件执行代码
}else{
//不满足判断条件执行代码
}
//嵌套分支结构
if(判断条件1){
//满足判断条件1执行代码
}else if(判断条件2){
//满足判断条件2执行代码
}else{
//以上条件不满足执行代码
}
1.2 switch语句
1.switch 语句中的变量类型可以是: byte、short、int 、char、String
2.switch 语句可以拥有多个 case 语句
3.每个 case 后面跟一个要比较的值和冒号,且此值的数据类型必须与变量的数据类型一致
4.当变量值与 case 语句值相等时,开始执行此case 语句的内容,执行完会判断此行代码是否有break,如果有,结束执行,如果没有,会继续向后执行穿透所有case,包括default
5.switch 语句可以包含一个 default 分支,该分支一般是写在switch 语句的最后
6.如果在default之前的case有break,则default不会执行
switch(value){
case 1:
break;//可以加也可以不加
case 2:
default://可以加也可以不加
}
2 循环结构
2.1 for循环
.for(开始条件(从哪开始);循环条件(到哪结束);更改条件){ 循环体; }
执行顺序:
1.执行开始条件(只执行一次)
2.判断是否满足循环条件,
3.满足循环条件执行循环体
4.执行更改条件
5.判断更改后的更改条件是否满足循环条件
6.满足循环条件执行循环体(如果不满足跳出循环)
2.2 while、do while
//while 先判断,再执行
while(执行循环条件){
循环体;
}
//do while先执行,再判断,循环体代码保证最少执行一次
do{
循环体;
}
while(执行循环条件);
2.3 嵌套循环
存在至少2层for循环,根据外层的条件,判断里层能否执行
如果能执行,就把里层代码都循环完毕后,再继续判断是否执行外层循环的下一次循环
//嵌套for形式
for(开始条件;循环条件;更改条件){//外层循环
for(开始条件;循环条件;更改条件){//内层循环
循环体;
}
}
外循环执行1次,内循环执行多次
外循环控制行,内循环控制列
3 break与continue
break: 直接结束当前循环,跳出循环体
continue: 跳过本轮循环,继续下一轮循环
(day05)数组、数组工具类
1 数组
数组的标志是[]用于储存多个相同类型数据的集合
想要获取数组中的元素值,可以通过脚标(下标)来获取
数组下标是从0开始的,下标的最大值是数组的长度减1
1.1 创建数组
1.动态初始化
int[] a = new int[5];
2.静态初始化
int[] b = new int[]{1,2,3,4,5};
int[] c = {1,2,3,4,5};
1.2 数组遍历
for(从下标为0的位置开始 ; 下标的取值 <= 数组的长度-1 ; 下标++){
循环体;
}
2.数组工具类
Arrays.toString:把数组里的数据,用逗号连接成一个字符串
Arrays.sort:对数组进行排序
Arrays.copyOf:数组的复制,扩容,缩容