/*
需求:函数的重载。
*/
class FunctionDemo
{
public static void main(String[] args)
{
// add(4,6,9);
// System.out.println("Hello World!");
printCFB(7);
}
/*
函数的重载。
1,同一个类,
2,同名。
3,参数个数不同。or 参数类型不同。
4,函数重载和返回值类型无关。
5,java是严谨性语言,如果函数出现的调用的不确定性,会编译失败。
*/
//加法运算。两个整数的和。
public static int add(int a,int b)
{
return a+b;
}
//加法运算。两个小数的和。
public static double add(double a,double b)
{
return a+b;
}
//加法运算,三个整数的和。
public static int add(int a,int b,int c)
{
return add(a,b)+c;
}
/*
打印乘法表。
*/
public static void printCFB(int num)
{
for(int x=1; x<=num; x++)
{
for(int y=1; y<=x; y++)
{
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}
}
/*
打印标准乘法表。
*/
public static void printCFB()
{
printCFB(9);
}
}
————————————————————————
class ArrayDemo
{
public static void main(String[] args)
{
//元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
{//局部代码块。限定局部变量的生命周期。
int age = 3;
System.out.println(age);
}
int[] arr = new int[3];
// arr[0] = 89;
System.out.println(arr[0]);
for(int x=0; x<4; x++){}
}
}
/*
内存的划分:
1,寄存器。
2,本地方法区。
3,方法区。
4,栈内存。
存储的都是局部变量。
而且变量所属的作用域一旦结束,该变量就自动释放。
5,堆内存。
存储是数组和对象(其实数组就是对象) 凡是new建立在堆中。
特点:
1,每一个实体都有首地址值。
2,堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同。整数是0,小数0.0或者0.0f,boolean false char '\u0000'
3,垃圾回收机制。
--------说明java的内存转换机制比C++手动处理好!
*/
——————————————————————————————————————————————————————-
class ArrayDemo2
{
public static void main(String[] args)
{
int[] arr = new int[3];
// System.out.println(arr[3]);//ArrayIndexOutOfBoundsException:
//当访问到数组中不存在的角标时,就会发生该异常。
// arr = null;
// System.out.println(arr[0]);//NullPointerException
// 当引用型变量没有任何实体指向时,还在用其操作实体。就会发生该异常。
// System.out.println(arr);// [I@c17164
}
}