java-day05
数组概念
是一种容器,能够存放多个数据值
特点
多个数据值类型必须统一
是一种引用数据类型
程序运行时,数组长度不可改变
数组初始化
动态初始化格式
数据类型[] 数组名称 = new 数据类型[数组长度]
静态初始化格式
数据类型[] 数组名称 = new 数据类型[]{元素1,元素2,...}
省略初始化格式:
数据类型[] 数组名称 = {元素}
Java虚拟机内存分化
1.栈(Stack)
存放的都是方法中的局部变量,方法的运行一定是在栈中
局部变量:方法的参数,或是方法{}中的内部变量
作用域:一旦超出作用域,立刻从栈中消失
2.堆(Heap)
凡是new出来的东西,都存放在堆中
堆内存里面的东西都有一个地址值:16进制
堆里面的数据都有默认值
整型 0
浮点型 0.0
字符型 \u0000
布尔型 false
引用型 null
3.方法区(Method Area)
存储.class相关信息,包含方法的信息
4.本地方法栈(Native Method Stack)
与操作系统相关
5.寄存器(pc Register)
与CPU相关
一个数组内存图

两个数组内存图

两个变量指向一个数组

获取数组长度
数组名称.length
数组越界异常
访问数组元素时,索引编号并不存在。ArrayIndexOutOfBoundException.
空指针异常
数组必须进行new初始化才能使用其中的元素,如果只是赋值了一个null,没有进行new的初始化,就会报空指针异常
数组遍历
for(int i = 0;i < array.length;i++){
System.out.println(array[i]);
}
数组获取最大值元素
int[] array = new int[]{1, 2, 15, 30, 40, 50, 6};
int max_num = array[0];
for (int i = 1; i < array.length; i++) {
if (array[i] > max_num) {
max_num = array[i];
}
}
System.out.println(max_num);
数组反转
int[] array = {10, 20, 30, 40, 50};
for (int min = 0,max = array.length - 1;min < max;min++,max--){
int temp = array[min];
array[min] =array[max];
array[max] = temp;
}
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
数组可以作为方法的参数
向方法传递的是数组的地址值
方法想返回多个返回值,可使用数组作为返回值类型即可
java-day05的更多相关文章
- java - day05 - Array
/* 生成随机数组,寻找最大值 */ package day05; public class ArrayGuess { public static void main(String args[]) { ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 2017-2018-1 JAVA实验站 冲刺 day05
2017-2018-1 JAVA实验站 冲刺 day05 各个成员今日完成的任务 小组成员 今日工作 完成进度 张韵琪 进行工作总结 100% 齐力锋 找按钮音乐 100% 张浩林 写博客 100% ...
- 复制D:\\day05目录下的所有文件到D:\\copy,并将.txt文件改为.java文件。
**解题思路: 1.首先定义一个静态的refile方法,参数传入两个文件路径 2.要复制目录下的所有文件,首先查询File类的方法,可以使用listFiles方法得到目录下的文件 3.想到这问题基本就 ...
- Java学习day05
Java学习day05 [switch]属于选择结构,分支语句 语法结构: /* switch(int或string类型字面值或变量) { case int或string类型字面值或变量 : java ...
- day05 java JDBC案例—Android小白的学习笔记
1.要从键盘录入用户名与密码我们需要使用Scanner类完成操作 2.接收到用户名与密码后,我们需要调用jdbc程序根据用户名与密码查询数据库 User.java package com.superg ...
- Java基础毕向东day05 对象与对象的区别,匿名内部类,函数的执行流程。
1.Car c = new Car(); Car c2 = new Car(); 1> c 和 c2之间的区别? public static void main(String[] args) { ...
- day05 Java基础
1.数组初始化:为数组开辟内存空间,并为每个数组元素赋予值.数组初始化方式: 方式一:动态初始化:初始化时只指定数组长度,由系统为数组分配初始值. 格式:数组类型[] 数组名称=new 数组类型[数组 ...
- day05<Java语言基础--数组>
Java语言基础(数组概述和定义格式说明) Java语言基础(数组的初始化动态初始化) Java语言基础(Java中的内存分配以及栈和堆的区别) Java语言基础(数组的内存图解1一个数组) Java ...
- java 多线程 day05 线程范围内的数据共享
import java.util.HashMap;import java.util.Map;import java.util.Random;/** * Created by chengtao on 1 ...
随机推荐
- C# 与 C/C++ 网络传输字符串解决方案
{ 不管你的数据加没加密,只要有中文,请转16进制后再处理,把16进制再转为GB2312的byte再发送, 接收的话同样 c++ 发送时转16进制再发送,c#16进制转字符串后再转GB2312就可以了 ...
- Delphi获取句柄
Delphi获取句柄发布时间:2011-06-16转载文章请标明出处: http://code.01yun.com/asp0dm/asp0net0dm/20110616/55395.html查找另外一 ...
- NX二次开发-调系统命令UF_load_library[UFUN调DLL]
此函数可以调DLL,可以调宏,当然也可以调其他内部函数(知道哪个内部函数怎么用的前提下). #include <uf.h> void UFUN_API_Call_DLL(char* dll ...
- word2vec中关于霍夫曼树的
再谈word2vec 标签: word2vec自然语言处理NLP深度学习语言模型 2014-05-28 17:17 16937人阅读 评论(7) 收藏 举报 分类: Felven在职场(86) ...
- PAT_A1099#Build A Binary Search Tree
Source: PAT A1099 Build A Binary Search Tree (30 分) Description: A Binary Search Tree (BST) is recur ...
- 运行mybatis项目,运行测试类,点击test后,出现Cannot start compilation: the output path is not specified for module "前......
Cannot start compilation: the output path is not specified for module "前 后来发现是在pom.xml右击,有个+号,把 ...
- 通过Python SDK 获取tushare数据
导入tushare import tushare as ts 这里注意, tushare版本需大于1.2.10 设置token ts.set_token('your token here') 以上方法 ...
- [USACO11OPEN]玉米田迷宫Corn Maze
题目描述 This past fall, Farmer John took the cows to visit a corn maze. But this wasn't just any corn m ...
- c++ socket 出现绑定失败的一个特殊原因。Bind failed Error:10049
这个问题,客户那边出现这种情况已经将近一年时间, 一直都得不到很好的解决,我提供出去的动态库可以确保没有问题,因为除了这家公司,其他有好几家公司都在用的,都是很正常的,但是这家公司很奇怪,不,应该说这 ...
- CSS 命名规范将省下调试时间
我听说很多开发者厌恶 CSS.而在我的经验中,这往往是由于他们并没有花时间来学习 CSS. CSS 算不上是最优美的『语言』,但迄今二十多年来,它都是美化 web 举足轻重的工具.从这点来说,也还算不 ...