java 3年后_工作近3年后学习Java,崎岖求学路。

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

day4:Random类和数组(引用类型)

1.Random类讲解(随机数)

——Random 的使用步骤:

-1.导包:java.util.Random;

-2.创建对象

-3.调用nextInt(int n);方法

——格式:Random rnd = new Random();

——int d = rnd.nextInt(10);~0-9的随机数。

——生成随机数后,可以强转成char,即验证码案例。

2.猜数字游戏讲解

——三步骤生成一个1-100的随机数

——创建键盘输入对象

——while(true){};死循环体判定输入的值与随机数的大小,大了提示大了,小了提示小了,直到相等的时候提示,您猜对了,并结束循环。

3.数组概念介绍和定义格式

——定义:

A.任何已有的类型,添加一组方括号就变成数组类型。;数组元素的类型,是数组类型去掉一组方括号。

B.格式:

数组中要保存的数据类型[] 数组名 =new 数组中要保存的数据类型[数组长度];

——创建数组对象(数组初始化)

A.静态初始化。

-1.常用写法:new 类型[]{元素1,元素2,元素3,……};

不指定长度,只指定每个元素

-2.静态初始化简化语法:{元素1,元素2,元素3……}只能在定义数组变量指定初始值的时候使用。(不建议使用)。

B.动态初始化

new 类型[n];

只指定长度,不指定元素。

——使用数组:

A.数组都有一个length属性,还属性返回数组的长度。(数组一旦创建,其长度是固定的,"堆内存中的数组对象长度不变,但是引用型变量可以指向另外一个数组")

B.每个数组元素,就相当于一个变量。数组元素的类型,就是数组类型去掉一组方括号。访问数组元素:

数组变量[索引]--索引从0开始。

4.数组的好处

——一次性在内存中开辟多个空间

——可以对多个空间统一管理

——每个定义好的数组,每个空间都有唯一的编号,我们操作数组的时候,需要通过该数组的统一名称和对应的下标来操作数组中的每个空间。

——数组的下标从0开始,到(长度-1)结束。如果操作的下标不在这个范围内,下标越界程序报错。

——数组有.length属性,可以获取数组长度。

5.java内存分配介绍

——java程序必须要使用虚拟机才能运行

——命令窗口java -Xms256m -Xmx1024m

设定堆内存初始内存大小,最高内存大小。

——堆(heap)内存:java虚拟器启动时分配的一块永久的,很大的内存区。(说明堆是和虚拟机关联的)

——栈(stack)内存:

a.每次方法运行分配一块临时、很小的内存区。(说明栈是和方法关联的)

b.每个方法都有自己对应的栈区,方法结束时,对应的栈区就会被回收。

——在方法中定义的、局部变量(不管什么类型),都放入对应的方法栈

——new出来的东西(对象),都在堆内存。

堆内存中的对象,如果没有引用变量指向它,那它就成了垃圾,等待VM(虚拟机)的垃圾回收器来回收它。

——变量赋值区别:

a.基本类型变量赋值:直接将该值存入变量所在内容

b.引用类型的赋值:将该对象所在的第一个内存单元的编号(内存地址)存入变量。

6.数组内存分配

——引用数据类型保存的是地址,遇到new就是在堆内存中开辟空间,堆内存中的变量有默认初始值。

7.数组越界异常

——使用的下标index超出数组长度,就会导致ArrayIndexOutOfBoundsException(数组索引越界异常);

8.空指针异常

——数组赋值为null时,访问数组的元素将会报空指针异常。

9.数组遍历(依次使用每个元素)

——使用for循环遍历。

——使用foreach循环遍历

for(元素类型 变量名:数组名)

{

可通过变量名访问每个元素

}

数组有几个元素,该循环就执行几次,变量会自动、依次等于每个元素。

foreach遍历缺点,只能访问,不能修改。(永远不要在foreach遍历中修改循环计数器的值)

10.求数组最值问题

——假设第一位为最大值,遍历数组,比较如果比假设的值还要大,覆盖掉即可。

11.二维数组

——只有一维数组,二维数组是不存在的。一维数组中还有一维数组。二维数组的本质,是数组元素为一维数组的数组。

——格式:

数据类型[][] 数组名 = new 数据类型[行的长度][列的长度];

——初始化:

a.动态初始化

——int[][] arr = new int[3][6];

b.静态初始化

——int[][] arr = new int[][]{

new int[]{22,3,19},

new int[]{5,2},

new int[]{5,90,300,213}

};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值