Z的Java之旅5--循环和数组

一.循环:

1.1 while:当山峰没有棱角的时候,我才和你分开
while(boolean结果){
我才和你分开
}
* 1.当条件成立,内部的业务一直执行

	int i=5;
	while(i>8){
		System.out.println("今天又是补博客的一天...");
	}

1.2 do…while(先do再while)
* 2.先执行,再判定条件 ---->摸奖:先摸再看是否中奖,扑克牌的游戏
* 3.至少执行一次
* 4.直到…才

	int i=6
	do{
		//先执行的业务
		System.out.println("我在执行");
		i++;
	}while(i<10);

1.3 for

*   for(初始条件1;判定条件2;变化条件3){
*   	业务4
*   }
*  顺序:1243 243 243 243  243
*   1.限制向初始条件1
*   2.判定是否满足
*   3.满足执行内部代码
*   4.进行变化

花式乘法口诀表:

案例1:

	int num=0;
	//1 243 243 243
	for(int j=1;j<=5;j++){
		num=num+j;
	}
	System.out.println("num:"+num);

案例2
1+2+3+4+5…100+…10000+…10000000=?

	int a=1;
	int sum=0;//最终的结果
	while(a<=100){
		sum =a+sum;
		//加一次以后
		a++;
	}
	System.out.println(sum);

二. 数组:

1.定义数组:

 1>  	类型[] 名称=new 类型[10];
 	   定义数组1:表示构建一个长度为10的int类型数组,默认的值都是0
int[] ary=new int[10];
 2>     类型[] 名称={值1,值2,值3};//类型和值必须一致
          定义数组2:设置固定值,长度和数据的个数一致
int[] ary={1,2,3};
 3>     类型[] 名称=new 类型[]{值1,值2,值3};
          定义数组3:
int[] ary=new int[]{1,2,3};

2.访问数组:
2.1:使用Arrays工具类去访问(工具类Arrays打印)
Arrays.toString(数组名)

System.out.println(Arrays.toString(ary));

2.2根据数组的下标取访问元素
注意:
数组下标越界异常—ArrayIndexOutOfBoundsException–>当数组的下标不在[0,数组的长度-1],就会出现

	int[] ary4={11,10,9,7,5};
	System.out.println("根据数组的下标访问:"+ary4[3]);//7

2.3关于数组的长度
数组名.length表示数组的长度

System.out.println("数组的长度:"+ary4.length);//5个长度

2.4访问多个元素,遍历出所有的数组元素
顺序 1 243 243

	for(int i=0;i<ary4.length;i++){//从0开始 
		//i<=ary4.length-1
		System.out.println("for打印:"+ary4[i]);
	}

3.其他类型

	char[] chs=new char[10];//''
	double[] fs=new double[10];//0.0
	System.out.println(Arrays.toString(chs));

4.数组的长度的变化
4.1 想把ary4的长度+1
扩容语法:Arrays.copyOf(被复制的数组名,复制以后的新长度);
扩容的前提:数组的长度已经不满足我们的需求
Arrays提供工具

	ary4=Arrays.copyOf(ary4, ary4.length+1);
	System.out.println("拷贝后的长度:"+Arrays.toString(ary4));//[11, 10, 9, 7, 5, 0]

数组的最后一项可以怎样描述

	ary4[ary4.length-1]=99999;
	System.out.println("拷贝后的长度:"+Arrays.toString(ary4));//[11, 10, 9, 7, 5, 99999]
	System.out.println("数组的最后一项:"+ary4[ary4.length-1]);//99999

4.2 截取数组:只要其中一部分
语法固定格式:
System.arraycopy(从那个数组截取,从什么位置截取,
放到哪个数组,放到什么位置,截取的长度)

	int[] ary5=new int[10];
	System.arraycopy(ary4,2,ary5,0,3);					
	System.out.println("截取后的新数组内容:"+Arrays.toString(ary5));//[9, 7, 5, 0, 0, 0, 0, 0, 0, 0]

5.获得指定的元素

	String[] goddness={"周迅","高圆圆","佟丽娅","宋茜"};
	for(int i=0;i<goddness.length;i++){	
		//System.out.println(goddness[i]);
		 if(goddness[i].equals("周迅")){
		    System.out.println("找到了!");
		 }
	}

6.排序:系统自带的排序
语法:Arrays.sort(数组名)

	Arrays.sort(ary4);
	System.out.println("排序后的结果:"+Arrays.toString(ary4));//[5, 7, 9, 10, 11, 99999]

7.拓展
ascii码:0-127
A-65 B-66…a-97 b-98…
简称:每一个字符都有对应的一个unicode码

	System.out.println((int)'苏');//33487
	int a='苏';//char[0-65535]
	int b=a+1314;//恋爱大挑战,两个姓有缘
	System.out.println((char)b);//强转//蟱
	//[\u4e00,\u9fa5]汉字的范围	

数组知识杂且碎(对于刚入门的我来说),以后在练习中慢慢掌握吧!
ps:
本来今天想把面向对象也整理了的,慢慢的天就亮了,该睡觉了~
我收回那次说的面向对象不难的话,难的我要站不起来了:)
听的全懂,一下手啥也不是…
今天老师跟我们说了一个练习的好方法,等我整理面向对象的时候再发出来~
道阻且长,行则将至!
—每天一碗鸡汤送给自己

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值