1:Java语言的发展
1995年Sun公司发布
2:Java运行机制
java虚拟机JVM:一次编译,到处运行
.java文件-->.class字节码文件-->JVM-->OS(每个操作系统有相应的JVM)
JDK>jre>JVM
3:注释
//:单行注释
/* */:多行注释
/** */:文档注释,通过javadoc命令生成一个解释性文档
4:java中语言中的两大类型
1):八大基本数据类型
byte:1字节
short:2字节
int:4字节
long:8字节
float:4字节
double:8字节
char:2字节
boolean:1字节
2):引用类型
5:变量的命名规则:
1):变量名由数字、字母、下划线和$组成,数字不能开头
2):不能时java关键字
3):遵守驼峰命名法:名字由多个单词组成时,从第二个单词开始首字母大写
4):尽量做到见名知意
5):可以使用汉字,但是不建议使用
6:变量的使用规则
1):变量必须先声明,再赋值
2):变量可以重复赋值,不能重复声明
3):变量有自己的作用域
7:基本数据类型——类型转换
1):小类型的变量赋值给大类型,会自动转换
2):大类型的变量赋值给小类型,强制转换
语法:在变量前添加要转换的类型
reg:int int = -1;
short s = (short)i;
字面量的类型:
整数类型:int
特殊:int 给byte、short、char赋值字面时,只要不超过其范围,
可以直接赋值,不需要强制转换
浮点数类型:double
double d = 4.5D/d;
float f = 4.5F/f;
8:运算符
1):字符串拼接符号 +
字符串类型的值都要加""
+号前或者后只要有一个是字符串类型的值,就要做拼接操作,结果仍然是字符串类型
2):算数运算符
+,-,*,/,%,++,--
在运算时,当参与运算的变量,是byte,short,char,int时,运算结果就是int类型
当参与运算的变量里,类型不同时,运算结果是大类型
当参与运算的数据都是整数类型,做取整操作
%:取模,取余。在做除法运算时,商几,余几,结果时取余数部分
++/--:自增/自减运算符,与变量连用,变量会做自动+1/-1运算
***(当++/--在变量前时,先运算,然后把新值赋给表达式)
***(当++/--在变量后时,先把变量的值给表达式,再做元素)
3):关系运算符
两个数据的关系
>,>=,<,<=,==,!=
4):逻辑运算符
与:&& &
或:|| |
非:!
规则:与运算,一假则假,全真为真
或运算,一真则真,全假位假
非运算,非假即真,非真即假
***(&,|单个的与或运算符:前后两个条件都要进行判断)
***(&&,||:又叫短路运算符,当第一个条件就能确定整个结果时,不判断第二个条件)
5):赋值运算符
扩展:+=,-=,*=,/=,%=
6):三目运算符(三元运算符)
格式:boolean表达式? 值1:值2;
翻译:如果条件成立,结果为值1,否则为值2。值1和值2必须是同一类型。
9:java程序的流程结构
1):顺序结构
2):分支结构
(1)if语句
(2)switch语句
break:在switch-case里用来结束分支语句,在循环体里用来结束所在的那层循环
continue:打断当次循环,进入下一次循环
3):循环结构
(1)while循环
while(boolean表达式){
循环体
}
(2)do-while循环
do{
循环体
}while(boolean表达式)
(3)for循环
for(循环变量的声明和初始化;循环条件;循环变量的改变)
循环体
}
区别:while和do-while适合不知道次数的循环;for适合知道次数的循环
10:数组
概念:一组相同类型的数据
1):数组的声明
int[] arr
2):数组的初始化
静态初始化:int[] arr = {1,2,3,4,5};
动态初始化:int[] arr1 = new int[5];//{0,0,0,0,0}
int[] arr2 = new int[]{};
我们数组按照数组的维度:
分为
一维数组
二维数组
...
多维数组
何声明一个数组:
格式1:一维数组的静态声明
类型[]对象名称 = {数据1,数据2,...,数据n};
注意:[]代表数组的标志,一个[]代表一维数组,两个[][]代表二维数组。。。。
数组的有序:
指的是数组的下标有序,数组下标永远从0开始到数组的长度-1结束。每次+1
注意:数组的长度一旦指定了,就不能更改了。
数组中的每一个元素,都可以当做一个变量来使用。
如何获取数组中的某一个元素:
格式:
数组名称[下标]
数组如何遍历:
我们可以使用for循环去遍历数组
注意:数组取值的时候,下标不能超出界限,也就是下标取值不能比长度大或者是等于长度
for-each循环遍历数组:
此种循环遍历数组,只能从数组的第0位到最后一位进行遍历,不能按照下标位置进行控制。
for-each循环的格式:
for(数组类型 变量名称:数组名称){
循环体
}
注意:变量名称代表数组中的每一个元
数组的复制:
格式2:数组的静态创建2
类型[] 数组名称 = new 类型[]{数据1,数据2,...,数据n};
格式3:数组的动态创建
类型[] 数组名称 = new 类型[长度];
注意:数组的长度在创建的时候,必须制定。
数组的默认值:
byte short int :0
long:0L;
float:0.0f
double:0.0
boolean : false
char:'\u0000'
引用数据类型:null