方法
其实就是C中的函数
修饰符 返回值 方法名(参数类型1 参数1, 参数类型2 参数2....){
方法体
}
方法的几种情况
- 有参有返回
- 无参无返回
- 无参有返回
- 有参无返回
package com.myc.day01;
public class Method01 {
public static void main(String[] args) {
// 调用方法
int result = caculateNum(50);
System.out.println(result);
sayHello();
}
// 方法名要用小驼峰
// 1 ~ num 累加和
public static int caculateNum(int num){
int sum = 0;
for (int i = 0; i <= num; i++) {
sum += i;
}
System.out.println(sum);
return sum;
}
// 最最简单的方法
public static void sayHello(){
System.out.println("hello");
}
}
方法的重载
// 方法的重载 overload : 同名不同参
package com.myc.day01;
import javax.crypto.Mac;
import java.util.Random;
public class Method02 {
public static void main(String[] args) {
System.out.println(compare(100, 100)); //true
System.out.println(compare(100, 101)); // false
System.out.println(compare(100.0, 101.1)); // false
System.out.println(compare(100));
System.out.println(compare());
}
// 两个数进行比较 相等返回true 不等返回false
public static boolean compare(int a, int b){
if (a == b)
return true;
else
return false;
}
public static boolean compare(double a, double b){
if (a == b)
return true;
else
return false;
}
// 方法的重载 overload : 同名不同参
// 参数类型和个数不同 , 与返回值无关
public static boolean compare(int b){
return true;
}
public static boolean compare(){
return false;
}
}
数组
package com.myc.day01;
public class ArrayDemo01 {
public static void main(String[] args) {
// 方式一
// 数组存储的类型[] 数组名 = new 数组存储数据类型[长度]
int[] arr1 = new int[10];
double[] arr2 = new double[10];
char[] arr3 = new char[10];
// 方式二
// 数组存储的类型[] 数组名 = new 数组存储数据类型[]{元素1, 元素2,元素3,}
int[] arr4 = new int[]{1, 2, 3, 4, 5};
// 方式三
// 数组存储的类型[] 数组名 {元素1, 元素2,元素3,}
int[] arr5 = {1, 2, 3, 4, 5};
// 数组的访问: 索引访问
// 数组会自带一个 length 属性 (属性后面没有括号)
// System.out.println(arr1.length);
// System.out.println(arr2.length);
// 遍历 数组
System.out.println(arr5); // 数组不会返回具体的值 [I@1b6d3586
for (int i = 0; i < arr1.length ;i++) {
System.out.print(arr1[i] + "\t");
}
System.out.println("赋值之后的arr1");
for (int i = 0; i < arr1.length ;i++) {
arr1[i] = i + 1; // 赋值
System.out.print(arr1[i] + "\t");
}
}
}
数组举例
求数组中的最大值
package com.myc.day01;
import java.util.Random;
public class ArrayDemo02 {
public static void main(String[] args) {
int[] arr = new int[10];
Random random = new Random();
for (int i = 0; i < arr.length; i++) {
int num = random.nextInt(100); // [0, 100) 直接的任意整数
arr[i] = num;
}
// 看一下数组里面的值
for (int i = 0; i < arr.length ; i++) {
System.out.print(arr[i] + "\t");
}
// 调用方法
int max = selectMaxValue(arr);
System.out.println("max = " + max);
}
// 编写一个方法求数组中最大的值并返回
public static int selectMaxValue(int[] array){
// 假设第一个元素是最大的
int max = array[0];
for (int i = 0; i < array.length; i++) {
if (array[i] > max)
max = array[i];
}
return max;
}
}
数组反转
package com.myc.day01;
public class ArrayDemo03 {
public static void main(String[] args) {
// 数组反转
int[] arr = {1, 2, 3, 4, 5, 6};
for (int minIndex=0, maxIndex = arr.length-1; minIndex<=maxIndex ; minIndex++, maxIndex--){
// 交换值
int temp = arr[minIndex];
arr[minIndex] = arr[maxIndex];
arr[maxIndex] = temp;
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + "\t");
}
}
}
网友评论