变量
注:变量使用时,范围越小越好
局部变量: 局部变量在类中函数(方法)内,作用范围为 方法内。局部变量需赋值才能使用
成员变量:成员变量在类中函数(方法)外,作用范围为 整个类中。
就近原则:当局部变量与成员变量同名时,优先使用局部变量
public class Test1{
int a; // 成员变量
public static void main(String[] args){
int i;
//System.out.println(i); // error,局部变量需赋值才可使用
int a = 10; // 局部变量
System.out.println(a); // 10 当成员变量和局部变量同名时,使用局部变量
int b = 8;
b = b++;
System.out.println(b); // 8
}
}
成员变量无需赋值也可使用,系统为成员变量完成自动初始化。初始化值如下所示:
byte 0
short 0
int 0
long 0
float 0.0f
double 0.0d
boolean false
char \u0000 (打印时显示 [] )
public class Test2{
static byte a;
static short b;
static int c;
static long d;
static float e;
static double f;
static boolean g;
static char h;
public static void main(String[] args){
System.out.println(a); // 0
System.out.println(b); // 0
System.out.println(c); // 0
System.out.println(d); // 0
System.out.println(e); // 0.0
System.out.println(f); // 0.0
System.out.println(g); //false
System.out.println(h); // []
}
}
函数
函数由 函数修饰符 、返回值、函数名、参数列表组成。
方法修饰符 方法返回值 方法名([参数列表]){
java代码/方法体
}
函数调用
public class Test3{
public static void main(String[] args){
method(); // "method......"
}
// 注 与c++ 不同,c++中若调用方法在main 函数后面,需在main 函数前面先声明 函数,而 java 不用
public static void method(){
System.out.println("method......");
}
}
参数列表
函数中参数列表可以没有参数,也可有一个或多个参数。参数列表内参数的数据类型应与函数调用时传入的参数数据类型保持一致
public class Test4{
public static void main(String[] args){
method(10); // 10
method2(10,5); // 15
method3(10,5,"java"); //15java
}
public static void method(int a){
System.out.println(a);
}
public static void method2(int a,int b){
System.out.println(a + b);
}
public static void method3(int a,int b,String c){
System.out.println(a+b+c); // 两个整数时连接表示 两数相加
}
}
返回值
函数返回值应与函数调用时 接收数据类型保持一致
public class Test5{
public static void main(String[] args){
int sum = method(10,5); // 15
String s = method2(10,5,"java"); // 15java
}
public static int method(int a,int b){
return a + b; // return 关键字将函数结果返回给调用函数
}
public static String method2(int a,int b, String c){
return a + b + c;
}
}
函数重载
函数重载指在同一个类内,函数名相同但参数列表(参数个数或参数类型)不同,则此函数之间形成函数重载关系。
注:与返回值类型无关
public class Test6{
public static void main(String[] args){
print(0);
print("0");
print(10,5,"java");
print("java",10,5);
}
public static void print(int a){
System.out.println(a);
}
public static void print(String a){
System.out.println(a);
}
public static void print(int a,int b,String c){
System.out.println(a+b+c);
}
public static void print(String a,int b,int c){
System.out.println(a+b+c);
}
}
数组(一)
数组Array是用于储存多个相同类型数据的集合。
想要获取数组中的元素值,可以通过元素的下标来获取,下标是从0开始的。
数组的定义有两种方式:
(1)动态初始化: int[] a = new int[5];
a[0] = 0; a[1] = 1;a[2] = 2; a[3] = 3; a[4] = 4;
(2)静态初始化: int[] a = new int[]{0,1,2,3,4};
int[] a = {0,1,2,3,4};
int[] a; a 为引用类型变量,存储数组的地址。可通过 下标 [ ] 访问数组中元素
数组一旦定义不可改变数组的长度,length属性 可获取数组的长度,数组的长度可以为 0
将 hello 存入数组
注: 打印 char 类型数组名时,打印的是数组内容,打印其他类型数组名时,
打印出数组在内存中的地址值
public class Test7{
public static void main(String[] args){
//动态初始化
char[] a = new char[5];
a[0] = 'h'; a[1] = 'e'; a[2] = 'l'; a[3] = 'l'; a[4] = 'o';
//静态初始化
char[] b = new char[]{'h','e','l','l','o'};
char[] c = {'h','e','l','l','o'};
System.out.println(a);
System.out.println(b);
System.out.println(c); // hello
System.out.println(c.length)// 5
}
}`