疯狂Java讲义中的知识点03

疯狂java讲义03

(出处:根据李刚老师《疯狂java讲义》视频中的知识点于此记录下来)

循环嵌套

循环里面再次放置循环,此时里层循环相当于外层循环的一条语句。

【例】

public static void main(String[] args) {

for(int i=0;i<10;i++){
	int j = 0;
	while (j<10)
	{
		System.out.println("i:"+i+",j:"+j);
		j++;
	}
}
	
}

=====================
九九乘法表

public static void main(String[] args) {

	for (int i=1;i<=9;i++){
		//第i行总共打印i坨
		for(int j=1 ; j<=i; j++){
		System.out.print(j+"*" +i+ "=" +(j*i)+ "   ");
	}
		//打印完一行之后,再换行
		System.out.println();
	}
}
}

===================================================

流程控制:
if分支
switch分支
while循环
do while循环
for循环
循环嵌套

===============

break
结束循环,跳出循环
break还可以带标签,用于结束标签所代表的循环

======

continue
忽略本次循环continue后面的语句,重新开始执行下一次循环
所以,不带continue语句,如果是循环体的最后一行,那是没有任何意义的。
continue还可以带标签,用于忽略标签所代表的循环的剩下的语句,重新开始下一次标签所代表的循环

========

return
结束方法
循环总是位于方法中的,return既然可以结束方法,无论它在多深的循环里,它可以直接结束

=======================================

29,数组和数组的初始化

1、数组(Array简称arr):

数组:可以一次定义,就可以得到很多个类型相同、功能相似的变量。

数组类型

→ 基本类型:8个
java类型
→ 引用类型:数组、类、接口、枚举

数组其实就是一种引用类型

任何已有的类型,添加一组方括号就变成数组类型

元素类型 数组类型
int -> int[]
long -> long[]
String -> String[]
double -> double[]
int[] -> int[][]
long[][] -> long[][][]

数组元素的类型:是数组类型去掉一组方括号。

数组类型 元素类型
int[] --> int
long --> long

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

A:静态初始化

new 类型【】 {元素1,元素2,元素3,…}

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

静态初始化简化语法:(元素1,元素2,元素3,…) 只能在定义数组变量指定初始值的时候使用!

B:动态初始化。

new 类型[]{元素1,元素2,元素3,…}

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

系统会自动为每个元素分配初始值,其分配规则是:
–所有数组元素为数值类型时,数组元素的初始值为0;
–所有数组元素为boolean类型时,数组元素的初始值为false;
–所有数组元素为引用类型时,数组元素的初始值为null;


使用数组

A:数组都有一个length属性,该属性返回数组的长度。
数组一旦创建,其长度是固定(它在内存中位置也是固定的)!

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

访问数组元素:
数组变量[索引] ------索引从0开始。最后一个元素的索引是length-1

使用的元素超出数组长度,就会导致ArrayIndexOutOfBoundsException(数组索引越界异常)

C:遍历数组 - 一次使用每个元素

D:使用foreach循环遍历数组。

      for(元素类型   变量名 : 数组名)
	{
		//可通过变量名访问每个元素
	}

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

foreach遍历只能访问数组元素的值,不能修改数组元素的值 。

建议:永远不要在foreach循环中修改循环计数器的值!


【循环遍历数组】

public class foreach循环遍历数组 {

public static void main(String[] args) {
	//静态
	int[] iArr = new int[]{20,10,50,-3,-9};
	//foreach遍历
	for(int a : iArr)
	//for{元素类型 	变量名 : 数组名 }
	{		
		System.out.println(a);
		//可通过变量名访问每个元素
	}
	int[] Arr = new int[]{20,10,50,-3,-9};
	for(int a : Arr)
	{
		System.out.println(a);
	}

	
}

}

int[] myArr = 2;	//是错的
int double	->基本类型
int int[] 完全不同,int是基本类型,int[]是引用类型

【数组变量】

public class 数组变量 {

public static void main(String[] args) {
	//静态初始化:只指定元素,不指定长度
	int[] iArr = new int[]{3,5,50,-19,87};
	System.out.println(iArr.length);
	System.out.println("第一个元素为:" + iArr[0]);
	iArr[0] = 100;
	System.out.println("第一个元素为:" + iArr[0]);
	iArr[0] = iArr[1]*4;
	System.out.println("第一个元素为:" + iArr[0]);
	//五个元素
	
	//只指定长度,不指定元素
	double[] dArr = new double[4];
	System.out.println(dArr.length);
	System.out.println("第一个元素为:" + dArr[0]);
	dArr[0] = 2.4;
	System.out.println("第一个元素为:" + dArr[0]);
	dArr[0] = dArr[1] + iArr[2];
	System.out.println("第一个元素为:" + dArr[0]);
	
	//(dArr.length)也可以理解为(dArr的长度,.=的)
	
	//静态
	long[] arr = new long[]{2,5,100,330L};
	System.out.println(arr.length);
	
	//动态
	String[] strArr = new String[3];
	System.out.println(strArr.length);
	
	//静态
	String[] sArr = new String[]{"Spring","shuaige"};
	System.out.println(sArr.length);
	
	//动态
	int[] inArr = new int[4];
	System.out.println(inArr.length);
	

}

}

【遍历数组】

public class 遍历数组 {

public static void main(String[] args) {
	
	//静态
	int[] iArr = new int[]{20,10,50,-3,-9};
	
	//依次访问每一个
//		System.out.println(iArr[0]);
//		System.out.println(iArr[1]);
//		System.out.println(iArr[2]);
//		System.out.println(iArr[3]);
//		System.out.println(iArr[4]);
	
	for (int i = 0; i < iArr.length; i++)
	{
		System.out.println(iArr[i]);
	}
	
	int[] bArr  = new int[4];
	//依次访问每一个元素
	for (int i = 0; i<bArr.length; i++)
	{
		System.out.println(bArr[i]);
	}
	bArr[1] = iArr[0] + iArr[2];//20+50=70
	bArr[2] = iArr[1] * iArr[3]/3;//10*3/(-3)=-10
	//依次访问每一个元素
	for(int i = 0; i<bArr.length; i++)
	{
		System.out.println(bArr[i]);
	}
	

}

}

==================
练习题:定义一个长度为10的 int[] 数组,用Random对象的nextInt(100)方法生成10个随机数存入数组中,计算他们的平均值。

import java.util.Random;

public class 平均值 {

public static void main(String[] args) {
	//定义一个长度为10的 int[] 数组,用Random对象的nextInt(100)方法生成10个随机数存入数组中,计算他们的平均值。

	int LEM = 100;
	int[] arr = new int[LEM];
	Random rnd = new Random();
	for(int i=0;i<LEM;i++)
	{
		arr[i] = rnd.nextInt(100);//生成0~100的随机数
	}
	//计算总和
	int sum = 0;
	for(int it : arr)
	{
		sum += it;
	}
	System.out.println("平均数:" + sum / LEM);
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_L_J_H_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值