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. netty库包冲突问题

    参考 http://www.yayihouse.com/yayishuwu/chapter/1603 报错信息:Caused by: java.lang.NoSuchFieldError: netty ...

  2. 【项目记录】1:一些没有一次安装成功地Python模块

    记录一下,下次查找方便. 1.PIL包 PIL名称已经换成了Pillow 所以使用: pip3 install pil 会报错. 正确方法是: pip3 install pillow 2.win32c ...

  3. Linux 格式化 挂载 Gdisk

    对磁盘进行格式化mkfs 创建文件系统 xfs ext4/2/3 mkfs -b 设定数据区块(block)占用空间大小,目前支持1024.2048.4096 bytes每个块.默认4K mkfs - ...

  4. ES5及ES6的新增特性

    介绍 es表示ECMASCript ,他是从es3,es5,es6,es5是2009.12月发布的,es6是2015.6月发布的.vue2完全支持es5的(vue3完全支持es6的),react完全支 ...

  5. 决策树(DecisionTree)(附源码)

    决策树(DecisionTree)   决策树所属类别:监督学习,分类 优点:直观易懂,算法简单 缺点:容易过拟合,对连续型数据不太容易实现 实现方案:ID3,CART,C4.5 详细的资料见连接:别 ...

  6. jjencode|JS混淆手工解析编码过程以及自定义混淆变体改装

    此前发布过关于aaencode的混淆编码,此篇文章继续说同作者的jjencode混淆编码的具体过程. 介绍 首先是jjencode的作者提供的编码测试页:http://utf-8.jp/public/ ...

  7. Angular 管道和路由

    管道pipe: 要在HTML模板中指定值转换,请使用管道运算符(|). {{interpolated_value | pipe_name}} 您可以链接管道,发送一个管道功能的输出以被另一个管道功能转 ...

  8. SQL Network Interfaces, error: 50 - 发生了 Local Database Runtime 错误。无法创建自动实例

    1. sqllocaldb delete MSSQLLocalDB 2. sqllocaldb create

  9. kubeadm部署单master Kuberntes集群

    本文参考kubernetes docs 使用kubeadm创建single master的Kuberntes集群 虚机两台Centos75 Kubernetes Yum Repo采用国内阿里源 版本 ...

  10. 转帖:GitBook 从懵逼到入门

    是什么? 在我认识 GitBook 之前,我已经在使用 Git 了,毋容置疑,Git 是目前世界上最先进的分布式版本控制系统.   我认为 Git 不仅是程序员管理代码的工具,它的分布式协作方式同样适 ...