1.数组:若干个相同数据类型元素按照一定顺序排列的集合
2.JAVA语言内存分为栈内存和堆内存
3.方法中的一些基本类型变量和对象的引用变量都在方法中
的栈内存中分配
4.堆内存用来存放new运算符创建的数组或对象,在堆中存放的内存
由java虚拟机的垃圾回收器来自动管理
5.在堆中创建一个数组或对象后,同时还在栈中定义一个特殊的变量,
让栈中的这个变量的取值等于数组或对象在堆内存中的首地址,栈中
的这个变量就成了 数组或对象的引用变量,引用变量实际上保存的是
数组或对象在堆内存的首地址(也称为对象的句柄),以后就可以
在程序中使用栈的引用变量来访问堆中的数组或对象
6.引用变量是普通的变量,定义时在栈中分配,引用变量在程序运行
到其作用域之外后被释放。而数组或对象本身在堆内存中分配,即使
程序运行到使用new运算符创建数组或对象的语句所在代码块之外,
数组或对象本身占据的内存也不会释放,数组或对象在引用变量没有
指向它时,会变成垃圾,不能再被使用,但依然占用内存空间不放
在随后一个不确定的时间被垃圾回收站收走(释放掉),这也是java
比较占内存的原因
7.数组特点:
1)数组是相同数据类型元素的集合
2)数组中的各元素是先后有序的,它们在内存中按照这个先后顺序
连续存放一起
3)数组元素用整个数组的名字和自己在数组中的顺序位置来表示。
例如,a[0]表示名字为a的数组中的第一个元素,a[1]表示数组中的
第二个元素,以此类推。
8.一维数组定义三步骤:
1)声明数组
2)分配空间
3)创建数组元素并赋值
数据类型 []数组名;
数组名 = new数据类型[个数];
9.举例子说明数组定义:
第一种:int []x;
x = new int[10];
第二种,声明数组时也可以同时分配空间:
数据类型 []数组名 =new 数据类型[个数]
int []a =new int[10]
10.数组的引用方式:数组名[下标]
下标可以是整型或整型表达式,如a[3+i].JAVA语言下标从0开始
与C/C++不同的是JAVA语言对数组元素要进行越界以确保安全性
11.对每个数组都有一个属性length指明它的长度
如x.lengt指出数组x所包含的元素个数
12.注意:Java程序中声明数组时,无论用何种方式定义数组,
都不能指定其长度。
13.foreach语句:只需要提供三个数据
1)元素类型
2)循环变量名字(用于存储连续的元素)
3)用于检测元素的数组
for(type element:array){
输出语句;
}
功能是每次从数组array中取出一个元素,自动赋给element,用户不用判断
是否超出了数组的长度
14.需要注意:element的类型必须是与数组array中元素的类型相同
15.二维数组声明和内存分配:
数据类型[][]数组名;
数组名=new数据类型[行数][列数];
或者数据类型[][]数组名=new 数据类型[行数][列数]
16.JAVA语言的二维数组不一定是规则的矩形
例如:int[][]x=new int[]
17.JAVA语言中的二维数组可以看成是多个一维数组
int [][]x=new int[3][]
数组x有三个元素,每个元素都是int[]类型的一维数组
18.如果数组是一个规则矩阵
在二维数组中如果想获得二维数组的行数,只要在数组后面添加一个.length属性即可
若想获得数组中某行元素的个数,则需在数组名和后加上该行的下标,再加上.length
属性
例如:x.length//计算数组的行数
x[0].length//计算数组x第一行元素个数
x[3].length//计算数组x第三行元素个数
19.注意:二维数组要求必须指向高层维数
int [][]array = new int[1][];
int [][]array = new int[2][5];
错误申请:int[][]array = new int [][5];
int[][]array = newint [][];
20.二维数组赋初值:数据类型[][]数组名 = {{第一行初值},
{第二行初值},
{第三行初值}
{第n行初值}}
21.程序中可以用到的字符串可以分为两大类:
1)创建之后不会做修改和变动的字符串变量
2)创建之后允许再做修改和变动的字符串变量
22.字符串变量创建:
String 变量名
变量名=new String("字符串");

四月十号java知识点的更多相关文章

  1. 学Android开发,入门语言java知识点

    学Android开发,入门语言java知识点 Android是一种以Linux为基础的开源码操作系统,主要使用于便携设备,而linux是用c语言和少量汇编语言写成的,如果你想研究Android,就去学 ...

  2. 给Java新手的一些建议----Java知识点归纳(Java基础部分)

    写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给 ...

  3. java知识点梳理

    网络搜索结果,出处不详,仅供参考 对于刚刚接触Java的人,java基础知识技术点繁多,那么gkstk小编为大家汇总最全java知识点如下,仅供大家参考学习! 1. JVM相关(包括了各个版本的特性) ...

  4. 自己整理的所有java知识点(不断迭代中)

    1. 自己整理的所有java知识点(不断迭代中) 画图工具注册 https://www.processon.com/i/599d35fae4b00d97d7f9bb17 1.1. Java整体知识架构 ...

  5. Java知识点-判断null、空字符串和空格

    Java知识点-判断null.空字符串和空格 // 判断headerKey是否为null,空字符串或者空格 if (headerKey != null && headerKey.len ...

  6. typora中文版官方免费快速下载以及Markdown的一些常用语法、Java知识点

    typora下载 链接:https://某度云盘的域名/s/1geD1APxnyV3gogYW3E08bQ 密码:8fdp 把某度云盘的域名进行替换 1.标题 # 标题1 ## 标题2 ### 标题3 ...

  7. 给Java新手的一些建议——Java知识点归纳(Java基础部分)

    原文出处:CSDN邓帅 写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些Java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行 ...

  8. 给Java新手的一些建议——Java知识点归纳(Java基础部分)

    写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给 ...

  9. Java知识点脑图

    做服务器开发有十几年了,其中大部分用到的都是Java服务器开发,从JDK1.4到现在的JDK1.8,从基本的Java Application到 J2EE(JBOSS,Glassfish),OSGI,到 ...

  10. 给Java新手的一些建议----Java知识点归纳(J2EE and Web 部分)

    J2EE(Java2 Enterprise Edition) 刚出现时一般会用于开发企业内部的应用系统,特别是web应用,所以渐渐,有些人就会把J2EE和web模式画上了等号.但是其实 J2EE 里面 ...

随机推荐

  1. 字典:求和计数(return知识巩固)

    野餐用品计数 之前写过一段,字符在字符串中出现次数的代码 import pprint message = 'It was a bright cold day in April, ' \ 'and th ...

  2. File类----> FileFilter接口:实现方法

    1创建一个类 继承 FileFilter接口 在类中重写boolean accept方法 写出要实现的条件2在main方法中创建File对象 代表了D盘File file = new File(&qu ...

  3. FlexPaperViewer跨服务器\跨域访问swf不显示问题

    做在线预览办公文档时,遇到了使用flexpaper访问文件服务器swf不显示问题. 假想1: swf文件有问题? 实验1: 直接访问swf文件在文件服务器的地址,浏览器可以正常访问,但是放在flexp ...

  4. 【js】js执行机制-js单线程-同步和异步

    js是单线程 即同一个时间只能做一件事,JavaScript是为处理页面中用户的交互,以及操作DOM而诞生的.比如我们对某个DOM元素进行添加和删除操作,不能同时进行.应该先进行添加,之后在进行删除. ...

  5. 使用Python+Appium+夜神模拟器,并连接uiautomatorviewer

    本文不介绍安装步骤,实在是太多博文了 一.安装 Python:3.8 Appium:1.22.3 夜神模拟器 node JDK1.8 SDK 二.成功连接模拟器 PytCharm代码如下: # cod ...

  6. ubuntu下删除U盘文件到回收站无法清空问题的解决

    Ubuntu可以自动加载U盘 每当,拷贝新的文件,而空间不足的时候,就会删除原有的文件. 可是,它不是彻底删除,而是放在垃圾箱中(/home/mrc/.local/share/Trash/files) ...

  7. webpack之loader与plugin

    loader与plugin的区别 loader的作用是将代码进行转换,比如less转成css,一个loader就是一个函数,接收的参数是上一个loader的返回值,loader进行一系列处理后 返回新 ...

  8. Log4j日志框架使用

    Log4j是Apache下的一款开源的日志框架,能够满足我们在项目中对于日志记录的需求.一般来讲,在项目中,我们会结合slf4j和log4j一起使用.Log4j提供了简单的API调用,强大的日志格式定 ...

  9. celery 使用

    celery 1.celery介绍 celery能用来做什么: 1.异步任务 2.定时任务 3.延迟任务 1.1 理解celery的运行原理 1.可以不依赖任何服务器 通过自身命令 启动服务 2.ce ...

  10. Javaweb学习笔记第七弹

    Maven依赖范围 对于Maven的安装配置等环境准备问题,可详细参考我的前几篇博客, 网址1:https://www.cnblogs.com/liuzijin/p/16654344.html 网址2 ...