2013年8月13日、 重载|数组|内存的划分|栈内存、堆内存
2013-08-13 23:10
363 查看
/*
需求:函数的重载。
*/
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
}
}
需求:函数的重载。
*/
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
}
}
相关文章推荐
- 重载(overload)+数组 内存的划分
- 黑马程序员_JavaSE基础04 之 循环嵌套 函数重载 数组 内存空间划分
- 黑马程序员——2.2.基础语法(函数、重载、数组、内存划分,进制转换)
- 牛客网Java刷题知识点之内存的划分(寄存器、本地方法区、方法区、栈内存和堆内存)
- Java基础(数组-内存空间的划分)
- 数组的定义与内存的划分
- 数组的定义与内存的划分
- 数组的定义与内存的划分
- java内存(堆内存、栈内存)
- Android For JNI(四)——C的数组,指针长度,堆内存和栈内存,malloc,学生管理系统
- day03循环结构,for嵌套打印三角星,函数(方法),重载,数组概念,内存
- 数组的定义与内存的划分
- Java把内存划分成两种:一种是栈内存,一种是堆内存。
- javaSE_第二部分 数组及内存浅析_方法的重载
- 数组的定义与内存的划分
- 数组的定义与内存的划分
- 我担心数组存放在栈内存,函数结束后内存被释放,不知道是不是这样?
- Java笔记1 Java编程基础<2>循环语句、函数(重载)、变量和数组的内存结构
- C++内存分区以及堆内存和栈内存
- 函数的重载与覆盖的区别+数组定义方式+java内存的划