JavaDay05
2021/9/7 17:36:15
本文主要是介绍JavaDay05,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
方法
Java方法是语句的集合,它们在一起执行一个功能。
- 方法是解决一类问题的步骤的有序组合
- 方法包含于类或者对象中
- 方法在程序中被创建,在其他地方被引用
一个方法只完成一个功能,这样有利于我们后期的扩展
方法的定义
- 修饰符:是可选的,告诉编译器如何调用改方法。定义了该方法的访问类型。(public static final)
- 返回值类型:方法可能会返回值。returnvalueType是方法返回值的数据类型。有些方法执行所需的操作,没有返回值,用void。
- 方法名:方法的实际名称。
- 参数类型:参数是一个占位符。
- 方法体:方法体包含具体的语句,定义该方法的功能
方法调用
- 调用方法:对象名.方法名(实参列表)
- 当方法返回一个值时,方法调用通常被当作一个值
- 如果方法返回值时void,方法调用一定时一条语句
值传递(Java)和引用传递
方法的重载
重载就是在一个类中,有相同的函数名称,但形参不同的函数。
方法重载的规则:
- 方法名称必须相同。
- 参数列表必须不同。(个数不同,类型不同)
- 方法的返回类型可以相同也可以不同。
- 仅返回类型不同不足以成为方法的重载。
package com.Java.code.method; public class Test01 { //main方法 public static void main(String[] args){ //实际参数:实际调用传递给他的参数 int sum = add( 1,2,3); System.out.println(sum); } //加法 //形式参数:用来定义作用的 public static int add(int a,int b,int c){ return a+b+c; } public static int add(double a,double b){ return (int)(a+b); } public static int add(int aaa,int bbb){ return aaa+bbb; } }
可变参数
- 在方法声明中,在指定参数类型后加一个省略号(...)。
- 一个方法只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。
递归
自己调用自己
递归结构包括两个部分
- 递归头:什么时候不调用自己方法。如果没有头,将陷入死循环
- 递归体:什么时候需要调用自身方法。
数组
数组的定义
- 数组是相同类型数据的有序集合
- 数组描述的是相同类型的若干个数据,安装一定的先后次序排列组合而成。
- 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下表来访问他们。
数组的声明:
package com.Java.code.array; public class Test01 { public static void main(String[] args) { int[] nums;//声明一个数组 nums = new int[10];//创建一个数组 nums[0]=1; nums[1]=2; nums[2]=3; nums[3]=4; nums[4]=5; nums[5]=6; nums[6]=7; nums[7]=8; nums[8]=9; nums[9]=10; int sum = 0; for (int i = 0; i <nums.length ; i++) { sum=sum+nums[i]; } System.out.println(sum); } }
java.lang.ArrayIndexOutOfBoundsException
数组下标越界。
数组初始化
静态初始化
//静态初始化:创建+赋值 int[] a = {1,2,3,4,5,6,7,8}; System.out.println(a[0]);
动态初始化
//动态初始化 包含默认初始 int[] b = new int[10]; b[0]=10; System.out.println(b[0]);
数组的使用
普通的for循环
public class Test03 { public static void main(String[] args){ int[] arrays = {1,2,3,4,5,6,7,8,9,10}; //打印全部的数组元素 for (int i = 0; i <arrays.length ; i++) { System.out.println(arrays[i]); } System.out.println("==================="); //计算所有元素的中和 int sum = 0; for (int i = 0; i <arrays.length ; i++) { sum = sum+arrays[i]; } System.out.println(sum); System.out.println("===================="); //查找最大元素 int max = arrays[0]; for (int i = 1; i <arrays.length; i++) { if(arrays[i]>max){ max = arrays[i]; } } System.out.println("max="+max); } }
增强型for循环
数组.for
int[] arrays = {1,2,3,4,5}; //JDK1.5 没有下表 // for (int array : arrays) { // System.out.println(array); // }
作为数组方法
public static void Arrays(int arrays[]){ for (int i = 0; i <arrays.length ; i++) { System.out.println(arrays[i]+" "); } }
数组做返回值
public class Test04 { public static void main(String[] args) { int[] arrays = {1,2,3,4,5}; //JDK1.5 没有下表 // for (int array : arrays) { // System.out.println(array); // } int[] reverse = reverse(arrays); Arrays(reverse); } //打印数组元素 public static void Arrays(int[] arrays){ for(int i = 0; i <arrays.length ; i++) { System.out.println(arrays[i]+" "); } } //反转数组 public static int[] reverse(int[] arrays){ int[] result = new int[arrays.length]; for (int i = 0,j=result.length-1; i < arrays.length; i++,j--) { result[j]=arrays[i]; } return result; } }
多维数组
int[][] a = new int[3][5]; int[][] b = {{1,2},{3,4},{5,6}};
Arrays类
package com.Java.code.array; import java.util.Arrays; public class Test06 { public static void main(String[] args) { int[] a = {1,2,3,4,5664,233,678}; System.out.println(a); //[I@1b6d3586 //打印数组元素 System.out.println(Arrays.toString(a));//[1, 2, 3, 4, 5664, 233, 678] Arrays.sort(a);//排序 升序 System.out.println(Arrays.toString(a)); Arrays.fill(a,0); System.out.println(Arrays.toString(a)); } }
冒泡排序
package com.Java.code.array; import java.util.Arrays; public class Test07 { public static void main(String[] args) { int[] array = {1,2,2,2,523,23,234,123}; int[] a = sort(array); System.out.println(Arrays.toString(a)); } //冒泡排序 //1.比较数组中,两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置 //2.每一次比较,都会产生出一个最大,或者一个最小的数字。 //3.下一次,可以少一次排序。 public static int[] sort(int[] array){ int temp; for(int i = 0; i< array.length-1;i++){ for (int j = 0; j <array.length-1-i; j++) { if(array[j+1]>array[j]) { temp = array[j+1]; array[j+1] = array[j]; array[j] = temp; } } } return array; } }
这篇关于JavaDay05的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-11有哪些好用的家政团队管理工具?
- 2025-01-11营销人必看的GTM五个指标
- 2025-01-11办公软件在直播电商前期筹划中的应用与推荐
- 2025-01-11提升组织效率:上级管理者如何优化跨部门任务分配
- 2025-01-11酒店精细化运营背后的协同工具支持
- 2025-01-11跨境电商选品全攻略:工具使用、市场数据与选品策略
- 2025-01-11数据驱动酒店管理:在线工具的核心价值解析
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide
- 2025-01-11不得不了解的高效AI办公工具API