周总结
1.水仙花数:三位数每个立方和都是他本身
2.for与while的区别:
1)格式不同:
for(初始化语句;条件表达式;控制体语句){
普通for循环
循环体语句;
}
初始化语句:
while(条件表达式){
循环体语句;
控制体语句;
}
应用场景不同:
for循环:不明确循环次数
for(;;){
//for死循环
}
while:不明确循环次数
while循环时使用 用 break结束循环
3.跳转控制语句
break;(结束循环)
continue:( 在循``环中使用 ,结束当前循环,立即进入下一次循环)
re’turn;(一般配合方法使用)
4.方法
方法就是用{}代码块包起来起一个名字(最好见名知意)
java中定义方法的格式
固定格式:
public static 返回值的类型 方法名(参数,变量){
方法中的业务逻辑代码…
return;结束代码`
}
有具体返回值类型的方法的调用:
1)单独调用(不用它)
2)输出调用:不建议:因为 直接输出,想使用这个结果值进行操作就不可以了
3)赋值调用:推荐
public static void main(String[] args){
//录入两个数据求他们的和
int 20;
int 10;
sum(a,b);//单独调用
System.out.println(sum(a,b));//输出调用
int cann = sum(a,b);
System.out.println(cann);//赋值调用
}
方法使用注意事项:
1.方法和方法是平级关系,不能进行嵌套
在一个方法中不能定义另一个方法
2.在java中定义方法的时候形参得带数据类型;
3.调用方法的时传递的实际参数不用带数据类型了
没有具体返回值类型的定义:
1.针对代码块{}没有具体返回值类型,语法规定得有一个值
固定格式:
public static void 方法名(形参列表){
方法体中内容:直接输出
}
没有具体返回值类型的方法调用:
单调输出:只能单调输出;
输出调用:不可以
赋值调用:不行
方法重载
方法重载() :方法名相同,参数列表不同,与返回值无关!
参数列表不同:
1)参数个数不同
2)参数类型不同(考虑类型的顺序)
public static void open(int i,double b){}
public static void open(double d,int j){}
方法重载的目的:为了让某个功能的扩展性更高一些
数组
数组:引用数据类型(默认值为null)
1.main方法进栈开辟内存空间
2.栈内存中:开辟空间,为数组的变量(int[] arr)
3.在堆内存中:申请空间new int[3];
4.通过系统默认化对元素内容初始化:元素默认int类型,默认值都是0.
5. 默认初始化完毕,就会为当前new int[3] ;产生一个堆内存空间地址值 :十六进数据: 0x001…
6.需要讲堆内存的地址值赋值给栈内存变量arr, 栈内存arr指向堆内存地址值
7.可以显示初始化,给元素内容赋值,将系统默认初始化值给覆盖掉
数组:可以储存多个元素(数据类型必须一致);
定义格式
数据类型[] 数组名称; int[] arr;
数组类型 数组名称[]; int arr[];
初始化:
动态初始化:
数据类型[] 数组名 = new 数据类型[数组长度];
数据类型 数组名称[] = new 数据类型[数组长度];
int[] arr = new int[8];
arr[0] = 10;
静态初始化:给定数组的元素;系统默认给长度
格式
数据类型[] 数组名=new 数据类型[]{元素1.......};
或者简化格式
数据类型[] 数组名={元素........};
数组的遍历:
明确返回值类型:直接输出元素:没有具体 返回值 void
参数类型以及参数格式:int[] arr /1个参数
(遍历的作用就是:将元素内容,获取并且打印)
数组的高级应用:
数组的排序:冒泡,选择,插入排序…
冒泡排序算法:
class ArrayDemo{
public static void main(String[] args){
//创建一个数组:静态初始化
int[] arr = {24,69,87,56,13} ;
System.out.println("排序前:") ;
//遍历数组
printArray(arr) ;
for(int x = 0 ; x < arr.length-1 ; x ++){//外层:比较的次数
for(int y = 0 ;y < arr.length-1-x; y++){ //内层循环:进行比较互换
//判断
if(arr[y] > arr[y+1]){
int temp = arr[y] ;
arr[y] = arr[y+1] ;
arr[y+1] = temp ;
}
}
}
printArray(arr) ;
public static void bubbleSort(int[] arr){
for(int x = 0;x < arr.length-1 ; x ++){//外层:比较的次数
for(int y = 0 ;y < arr.length-1-x; y++){ //内层循环:进行比较互换
//判断
if(arr[y] > arr[y+1]){
int temp = arr[y] ;
arr[y] = arr[y+1] ;
arr[y+1] = temp ;
}
}
}
}
//遍历的功能
public static void printArray(int[] arr){
System.out.print("[") ;
for(int x = 0 ; x < arr.length ; x ++){
//判断
if(x==arr.length-1){
System.out.println(arr[x]+"]") ;
}else{
//中间元素
System.out.print(arr[x] +", ") ;
}
}
}
}
冒泡排序的思想:
两两比较,大的往后放,第一次比较完毕,最大值出现在最大索引处,依次这样比较,就可以得到一个排好序的数组!
每一次比较:都是减少一次
第一次:有0个不比
第二次:有1个不比
第三次:有2个不比
…
比较的次数:就是数组长度-1次 (arr.length-1)
面对对象的思想特点:
1.更改我们生活中的思想习惯
2.让复杂的问题变得简单化;
3.角色发生变化:从执行者变成指挥者
类事物,以及对象
类和事物是-----对应的,
类:描述真是事物的属性和行为
事物中的属性: 成员变量
事物中的行为: 成员方法(得去掉static关键字)
对象:能描述客观存在的事物