java 基础
方法(Method)
public static 数据类型 Method(数据类型 参数,...){
方法体;
return ...;
}
package com.smithbee.day01;
/*
题目描述
用一个方法判断两个数字是否相同
*/
public class Demo03JudgNumIfSame {
public static void main(String[] args) {
ifSame(1,10);
System.out.println("============");
System.out.println(numSame(10,20));
}
public static void ifSame(int num1,int num2){
if(num1 == num2){
System.out.println("输入的两个数字相同");
}else {
System.out.println("输入的两个数字不相同");
}
}
public static boolean numSame(int num1,int num2){
//第一种方法
/* boolean same ;
if(num1 == num2){
same = true;
}else {
same = false;
}*/
//第二种方法
// boolean same = num1 == num2 ? true : false;
//第三种方法
// boolean same = num1 == num2;
//第四种方法
return num1 == num2;
}
}
方法重载(Overload)
- 格式:指在同一个类中,允许存在1个以上的同名方法,只要他们的参数列表不同即可,与修饰符和返回值类型无关。
- 参数列表:
- 数据类型不同
- 示例:
package com.smithbee.day01;
/*
方法重载练习:
用方法重载实现println这个实例
*/
public class Demo06MethodOverLoad {
public static void main(String[] args) {
achievePrint(10);
achievePrint(19.3);
achievePrint('a');
achievePrint(true);
}
//定义相同的achievePrint
public static void achievePrint(byte a){
System.out.println(a);
}
public static void achievePrint(short a){
System.out.println(a);
}
public static void achievePrint(int a){
System.out.println(a);
}
public static void achievePrint(long a){
System.out.println(a);
}
public static void achievePrint(float a){
System.out.println(a);
}
public static void achievePrint(double a){
System.out.println(a);
}
public static void achievePrint(char a){
System.out.println(a);
}
public static void achievePrint(boolean a){
System.out.println(a);
}
}
- IDEA小技巧:
- 使用快捷键,shift + F6 可以选中更改相同的字段
- 按住ctrl ,点击Java中的方法,可以查看源码
- for循环,快捷键 次数.fori 直接生成
数组
定义
- 定义格式:
- 动态:数据类型[] 数组名字 = new 数据类型[长度];
- 静态:数据类型[] 数组名字 = new 数据类型[]{元素1,元素2,…};
- 静态的省略形式:数据类型[] 数组名字 = {元素1,元素2,…};
- 示例:
package com.smithbee.day01;
public class Demo07ArrayDefine {
public static void main(String[] args) {
//第一种方式定义数组,动态
int[] num = new int[2];
//第二种方式定义数组,静态
String[] idea = new String[]{"I am a student.","I like java.","I am a programmer."};
//第三种方式定义数组,静态的省略
int[] num1 = {1,2,3};
//前两种定义的分开形式
int[] num7;
num7 = new int[7];
String[] idea1;
idea1 = new String[]{"come","on","baby!"};
}
}
- 注意事项:
- 数组一旦确定,长度则不可变。
- 动态和静态定义的格式,可以写成两个语句,而静态的省略形式则不行,在上面的是示例中会展示。
- array.fori 循环的快捷键
数组的访问
package com.smithbee.day01;
public class Demo08ArrayUse {
public static void main(String[] args) {
//数组的访问
int[] array = new int[]{10,20,30};
System.out.println(array); //[I@1e643faf 这是内存地址哈希值
System.out.println(array[0]);//10
System.out.println("==================");
//动态定义数组,访问
int[] array1 = new int[3];
System.out.println(array1[0]);//0 系统默认值
System.out.println(array1[1]);//0
System.out.println(array1[2]);//0
//系统默认值:初始化数组时,系统会赋值默认值
/*
整数:0
浮点数:0.0
字符型:“\u0000”
布尔型:false
引用型:null
*/
//静态定义数组时也有默认值的过程,只不过系统自动将默认值转化为{}内的具体数值了
}
}
数组用作方法的参数类型的区别
package com.smithbee.day01;
public class Demo11Result {
public static void main(String[] args){
int a = 1;
int b = 2;
System.out.println(a); //1
System.out.println(b); //2
change(a,b);
System.out.println(a); //1
System.out.println(b); //2
}
public static void change(int a,int b){
a = a + b;
b = b + a;
}
}
package com.smithbee.day01;
public class Demo12Result01 {
public static void main(String[] args) {
int[] arr = new int[]{1,3,5};
System.out.println(arr[0]); //1
System.out.println("====================");
change(arr);
System.out.println(arr[0]); //100
}
public static void change(int[] arr){
arr[0] = 100;
}
}
- 总结:方法的参数为基本类型时,传递的是数据值;方法的参数为引用类型时,传递的是地址值。