一.循环:
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:
本来今天想把面向对象也整理了的,慢慢的天就亮了,该睡觉了~
我收回那次说的面向对象不难的话,难的我要站不起来了:)
听的全懂,一下手啥也不是…
今天老师跟我们说了一个练习的好方法,等我整理面向对象的时候再发出来~
道阻且长,行则将至!
—每天一碗鸡汤送给自己