java复习(2)
1.函数的重载:在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不相同就可以。
重载与返回值类型无关,只看参数列表。重载方便阅读,优化了程序的设计
eg://返回两个 整数值的和
int add(int x,int y){return x+y;}
//这个地方是返回三个小数的和
int add(int x ,int y , int z){return x+y+z;}
//返回两个小数的和
double add(double x,double y){return x+y;}
2.数组:一维数组
同一种类型数据的集合。数组就是一个容器
数组的好处:可以自动给数组中的元素从0开始进行编号,方便对这些元素进行操作。
格式1:元素类型[] 数组名= new 元素类型[元素个数或者数组的长度]
int[] arr = new int[5];
格式2:元素类型[] 数组名 = new 元素类型[]{元素,元素,。。。。。。。};
int[] arr = new int[]{3,5,1,7};
int[] arr = {3,5,1,7};
二维数组[][]:
格式1:int[][] arr = new int[3][2];
定义了一个二维数组
二维数组中有三个一维数组
每个一维数组中有2个元素
一维数组的名称分别是:arr[0],arr[1],arr[2]
给第一个一维数组1脚标位赋值为78的写法是:arr[0][1]=78;
格式2:int[][] arr = new int[3][];
二维数组中有3个一维数组
每个一维数组默认初始化值为null
可以对这个三个一维数组分别进行初始化
arr[0] = new int[3];
arr[1] = new int[1];
arr[2] = new int[2];
格式3:int[][] arr = {{3,8,2},{2,7},{9,0,1,6}};
定义一个名称为arr的二维数组
二维数组中有3个一维数组
每一个一维数组找那个具有元素也都已经初始化
第一个数组为arr[0] = {3,8,2};
第二个数组arr[1] = {2,7};
第三个数组arr[2]={9,0,1,6}
第三个一维数组的长度表示方式:arr[2].length;
3.我们知道java程序在运行的时候,需要在内存中进行空间的分配。为了提高运算的效率,对内存空间进行区域的划分,以为每一片区域都有特定的数据处理方式和内存的管理方式。
栈内存
------------------------------
用于存储局部变量,当数据使用完的时候,所占用的内存会自动的释放
堆内存
-----------------------------------
用于存放对象和数组,通过new所建立的实例都会存放在堆内存中。
每一个实体都有堆内存地址值
实体中的变量都有默认初始化值
实体不在被使用,会在不确定的时间内被垃圾回收期进行回收
还有方法区、本地方法区以及寄存器
java复习(2)的更多相关文章
- java 复习003 之排序篇
由java 复习003跳转过来的C语言实现版见some-sort-algorithms 快速排序(不稳定 O(n log n)) package vell.bibi.sort_algorithms; ...
- java 复习001
java 复习001 比较随意的记录下我的java复习笔记 ArrayList 内存扩展方法 分配一片更大的内存空间,复制原有的数据到新的内存中,让引用指向新的内存地址 ArrayList在内存不够时 ...
- java复习(1)---java与C++区别
[系列说明]java复习系列适宜有过java学习或C++基础或了解java初步知识的人阅读,目的是为了帮助学习过java但是好久没用已经遗忘了的童鞋快速捡起来.或者教给想快速学习java的童鞋如何应用 ...
- Java复习11. 单例编程
Java复习11. 单例编程 1.最简单的写法,那个方式是线程不安全的 public class Singleton { private static Singleton instance; ...
- Java复习9网路编程
Java 复习9网路编程 20131008 前言: Java语言在网络通信上面的开发要远远领先于其他编程语言,这是Java开发中最重要的应用,可以基于协议的编程,如Socket,URLConnecti ...
- Java复习8.多线程
Java复习8 多线程知识 20131007 前言: 在Java中本身就是支持多线程程序的,而不是像C++那样,对于多线程的程序,需要调用操作系统的API 接口去实现多线程的程序,而Java是支持多线 ...
- Java复习10.Servlet编程
Java复习10. Servlet编程知识 20131008 前言: 之前在大三下的时候,学习了一个月的JSP和Servlet知识,但是没有什么项目经验,把JSP Web开发学习实录看了前面几张,后面 ...
- Java复习6异常处理
Java复习6.异常处理 20131005 前言: Java中的异常处理机制是非常强大的,相比C++ 来说,更加系统.但是我们开发人员没有很好的使用这一点.一些小的程序是没有什么问题的,但是对于大型项 ...
- Java复习4.数组初始化.
Java复习4.Java中的数组声明方式 20131004 1.数组声明和初始化, 数组元素和变量一样,可以在定义的时候i进行初始化.数组元素的初始化工作实在编译阶段完成的,可以减少运行时间. 在初 ...
- Java复习7.输入输出流
Java复习7.输入输出流 20131005 前言: Java中涉及数据的读写,都是基于流的,这一块的知识相当重要,而且在Java中的数据,char字符是16bit的,所以存在字节流和字符流的区别.如 ...
随机推荐
- sqli-labs(39)
0X01 这关和38关一样 ?id= and =1 正确 ?id=1 and 1=2 错误 不需要闭合 构造语法 0X02 ?id=;insert into users values(,"z ...
- IntelliJ IDEA 常用快捷键整理
1. -----------自动代码-------- 常用的有fori/sout/psvm+Tab即可生成循环.System.out.main方法等boilerplate样板代码 例如要输入for( ...
- 顺序表栈C语言实现
/* * SeqStack.h * * Created on: 2019年8月1日 * Author: Administrator */ #ifndef SEQSTACK_H_ #define SEQ ...
- 移动端 iphone手机在中文情况下不执行keyup事件
问题:移动端 在
- html_javascript 基础操作
<!DOCTYPE html> <html> <body> <h1>My Web Page</h1> <p id="demo ...
- jQuery .submit()
.submit() Events > Form Events | Forms .submit( handler )Returns: jQuery Description: Bind an eve ...
- 源码编译apache出错
报错信息如下 exports.c:1572: error: redefinition of `ap_hack_apr_allocator_create' exports.c:177: error: ` ...
- day3_Python基础三
参考:http://www.cnblogs.com/jin-xin/articles/7562422.html 一.数据类型 1.1.int:用于计算,不可变,可哈希 数字主要是用于计算用的: #bi ...
- Android 动态申请权限
AndroidManifest.xml(清单文件)添加需要的权限 <uses-permission android:name="android.permission.ACCESS_CO ...
- mysql--创建表,插入数据,修改表名,删除表,简单查询/内连接、左/右连接
创建表mm: 其中id为主键且自增长 ) primary key not null unique auto_increment, name ) not null, age ), class ) no ...