Java环境变量:
PATH = %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
CLASSPATH = .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
File -> Switch Workspace -> other; window -> preferences -> general -> editors -> text editors -> show line numbers
file -> import -> general -> existing project into workspace;
Eclipse移除server windows--preferrnces--server--runtime environment 1111 server--删除 项目奠基运行时环境 可以选择Tomcat版本
值类型->基本类型(四类8种)
整数类型:--byte 1字节-128~127 --short 2字节 --int 4字节 --long 8字节;
浮点类型--float 单精度(小数后面必须加f) 4字节 --double 双精度; 8字节
字符类型 --char 单引号内,或者数字(值必须加引号):Char a =‘A‘; 2字节
波尔类型 --boolean true 真的,对的 false 假的 , 错的; 1字节
枚举
结构体;
引用数据类型 --字符串 String 值存放在双引号之间; 当变量名所引用的值进行某个方法时,所对应的值不会变 是值传递不是引用
--数组 Array Arrays.sort(a);
System.out.println(Arrays.toString(a));
索引(下标)Index : 某个个体在集体中的位置
下标值是0开始,步长为1,连续的不能间断,不能重复
取值范围:0~长度-1
数组
类
接口;
变量名命名规则(用户字符)是由数字,字母,下划线(_)和美元符号($)组成的。
2.数字不能开头。
3.变量名不能和Java关键字重复。
4.变量名不能重复
5.使用变量之前一定要赋值(int day = 0;)
6.见名知意
7.驼峰命名法 String userName ; int userAge;
常量
关键字 final
final 数据类型 常量名;final String NAME = "张三";
常量名:大写字母,不使用驼峰命名法;
byte/char/boolean < short < int < long < float < double;
隐式转换(自动转换);
显示转换(强制转换);
将大的数据放到小的变量中
(目标类型) 源数据;
/运算符
两边只要有一个浮点类型数据,做精确的除法 Math.round((a/b*100))/100.0;取两位小数!
两边都是整数类型,做除法取商
%运算符 做除法取余
算术运算符 > 条件运算符 > 逻辑运算符 > 赋值运算符
() (==)、不等于(!=) || && =
前运算符
*、/、%
+、-
后运算符
3.字符串拼接和转义符 ----\t tab----\n 换行---- \\ -> \---- \" -> "
Math.PI 圆周率
Math.abs(-2) 绝对值
Math.ceil(3.000001) 天花板函数 向上取整
Math.floor(3.999999) 地板函数 向下取整
Math.round(3.9f) 四舍五入
Math.max(10, 40) 最大值
Math.min(10, 40) 最小值
Math.sqrt(4) 平方根
Math.random() 随机数 [0,1)
== 数字比较时使用
String.equals(String) 字符串比较时使用
字符串判断大小:
String.compareTo(String)
结果 0 比较对象两个一样
<0 比较对象A < 比较对象B
>0 比较对象A > 比较对象B
for循环
while(boolean 判断依据){ 判断依据为true时,执行的指令段 }
do{ 指令段 } while(判断依据 );
传值赋值;
传引用(地址)赋值;
字符串类型 String (引用数据类型)
String字符串类型数据是一个拥有值类型特色的引用数据类型
1)创建时不需要使用new关键字
2)赋值运算时,做传值运算。
1).冒泡排序:两两比较,满足条件就交换
double[] xx={1,5.9,5,7.5,1.9,8,7.4,50,0.5};
double temp =0;
for(int i=0;i<xx.length-1;i++){
for(int j =0;j<xx.length-1-i;j++){
if(xx[j]>xx[j+1]){
temp = xx[j];
xx[j]=xx[j+1];
xx[j+1]=temp;
}
}
}
System.out.println(Arrays.toString(xx));
2).选择排序:每次查找当次最大/小的数,按大小顺序依次存放入数组相应的位置
for(int i=0;i<xx.length-1;i++){
for(int j=i+1;j<xx.length;j++){
if(xx[i]>xx[j]){
temp =xx[i];
xx[i]=xx[j];
xx[j]=temp;
}
}
}
for(double v:xx){
System.out.println(v+"\t");
}
3).插入排序:是从数组的第一个元素开始,将数组中的每一个元素按照规则插入到一排好序的数组中。
for(int i=0;i<xx.length-1;i++){
temp=xx[i+1];
for(int j=i;j>=0;j--){
if(temp<xx[j]){
xx[j+1]=xx[j];
xx[j]=temp;
}
else{ break;
}
}
}
System.out.print(Arrays.toString(xx));
迭代遍历和for循环的区别
1)迭代遍历只能正向的,不可逆的,挨个的遍历数组中每一个元素
2)迭代遍历不能修改数组中元素的值
3)迭代遍历运行速度比for循环快
二分查找:
二维数组的定义
数据类型[][] 变量名=new 数据类型[长度][];
定义函数
访问修饰符 静态 返回类型 函数名( 形参列表 )
public static void main(String[] args) {
函数体
}
形参(形式参数):在设计函数的时候,用来代替实参的变量
实参(实际参数):在设计函数的时候,实际参与函数体运算的值
1)传值调用函数:
形参的改变,不会影响实参
实参是以传值赋值的形式,赋值给了形参。
形参和实参是值数据类型或者字符串。
2)传引用调用函数:
形参的改变,会影响实参
实参是以传引用赋值的形式,赋值给了形参。
形参和实参是引用数据类型,除了字符串。
1)局部变量:
在函数体中定义的变量。
局部变量只能在当前函数使用。
2)全局变量:
在函数体外定义的变量
全局变量可以在任何函数中被使用
注:如果在函数中定义了一个名称和全局变量相同的局部变量,那么在该函数中默认使用局部变量。