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. 盒模型属性-width height-padding-border-margin

    宽度 width: 作用:设置可以添加元素内容的区域的宽度. 属性值:  特殊应用: • 如果一个元素不添加width 属性,默认属性值为auto,不同的元素浏览器会根据其 特点自动计算出实际宽度,例 ...

  2. linux查看所有的用户和组信息

    1.cat /etc/passwd    查看所有用户 2.cat /etc/passwd|grep 用户名,用于查找某个用户 3.cat /etc/group查看所有组信息 4.cat /etc/g ...

  3. 十大经典排序之快速排序(C++实现)

    快速排序 通过一趟排序将待排序列分割成两部分,其中一部分记录的关键字均比另一部分记录的关键字小.之后分别对这两部分记录继续进行排序,以达到整个序列有序的目的. 思路: (1)选择基准:从数列中挑出一个 ...

  4. apache axis2 生成客户端实体类

    打开控制台,cd至压缩包(见下方网盘链接)的bin目录下执行如下命令.只用到了axis2-1.4.1-bin.zip. war目前不知道有什么用,因为资源不好找,留着备用吧 WSDL2Java -ur ...

  5. C# 高精度定时器

    https://blog.gkarch.com/2015/09/high-resolution-timer.html https://www.cnblogs.com/samgk/articles/57 ...

  6. C# Nilakantha级数逼近PI算法

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. NX二次开发 拔模增量计算工具

    在塑胶模具设计行业拔模增量计算经常都需要用到,平常都是利用计算器工具或者外部的计算工具去算.曾经有一个模具设计的培训老师把拔模增量计算工具称为模具设计的神器,好吧,我也造个神器.-_-! VS2019 ...

  8. Conda简单教程 - 搬运

    Conda简单教程 转自:https://www.cnblogs.com/nuccch/p/15046969.html 目录 什么是Conda 安装Conda 虚拟环境管理 模块管理 何时使用Cond ...

  9. day1 第一个程序“Hello world!”

    程序运行机制 源程序(.java文件)->java编译器->字节码(.class文件)->类装载器->字节码校验器->解释器->操作系统平台Java源码后缀名:.j ...

  10. 接口自动化之request几种常见请求及响应方法

    request 的几种常见方法 1.request.get() 发送get请求 2.request.post() 发送post请求 3.request.delete() 发送delete请求 4.re ...