循环结构
(1)for循环结构(需要使用重复的代码)
for(){
System.out.println();}
for(int i=1;i<=10;i++){
System.out.println("HelloWorld");
断线联网问题:
for (int i=1;i<=5;i++){
System.out.println("第"+i+"次执行断线重连的业务逻辑:");
求和(累加思想)
int sum=0;
for(int i=1;i<=5;i++){
//System.out.println(i);
sum=sum+i;
}
System.out.println(sum);
求和1-100之间数所有偶数的和:
int sum=0;
for(int i=1;i<=100;i++) {
if(i%2==0) {
System.out.println(i);
sum=sum+i;
}
}
System.out.println(sum);
(2)while语句的循环流程
初始化语句;
while(条件判断句){
循环体语句;
条件控制语句;
}
注意!!:1.初始化语句只执行一次。2。判断语句为true,循环继续。3.判断语句为false,循环终止。
打印1-100
int i=1;
while(i<=100) {
System.out.println(i);
i++;
}
for和while的区别
在语法来看,能用for循环的语句一定能用while循环。能用while循环的语句一定能用for循环
for循环:知道循环的次数或者循环的范围
while循环:不知道循环的次数或者循环的范围,只知道循环的结束条件。
打印折叠纸的次数
double height=8844430;
double paper=0.1;
int count=0;
while(paper<height) {
paper=paper*2;
count++;
}
System.out.println(count);
回文数(正着读和倒着读一样)
int i=12345;
int ge=i%10;
int shi=i/10%10;
int bai=i/100%10;
int qian=i/1000%10;
int wan=i/10000%10;
int result=ge*10000+shi*1000+bai*100+qian*10+wan*1;
System.out.println(result);
改进后的:
int x=1234;
int temp=x;
int num=0;
while(x!=0) {
int ge=x%10;//4
x=x/10;
num=num*10+ge;
}
System.out.println(num);
System.out.println(x);
System.out.println(num==temp);
不用除法求余数和商:
int dividend=100;
int divisor=37;
int count=0;
while(dividend>=divisor) {
dividend=dividend-divisor;
count++;
}
System.out.println("余数为:"+dividend);
System.out.println("商为:"+count);
}
}
do...while循环结构(先执行后判断):
初始化语句;
do{
循环体语句;
条件控制语句;
}while(条件判断语句);
(3)循环高级综合练习:
1.无限循环:循环一直停不下来
小老虎吃包子:
for(int i=1;i<=5;i++) {
if(i==3) {
continue;
}
System.out.println("小老虎在吃第"+i+"个包子");
}
注意!!:1.continue:跳过本次循环,继续执行下次循环
2.break:结束整个循环
逢7过:
for(int i=1;i<=100;i++) {
if(i%10==7||i/10%10==7||i%7==0){
System.out.println("过");
continue;
}
System.out.println(i);
}
求算数平方根
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个数字:");
int number=sc.nextInt();
for(int i=1;i<=number;i++) {
if(i*i==number) {
System.out.println(i+"就是"+number+"的算术平方根");
break;
}
else if(i*i>number){
System.out.println((i-1)+"就是"+number+"的整数部分");
break;
}
数组
特点:类型相同,长度固定
初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器的过程 eg.int类型的数组容器(byte int short)
简化格式:数据类型[]数组名={元素1,元素2,元素3...};
int[]arr1=new Int[]{11,22,33};
int[]arr2=new Int[]{11,22,66};
double[] arr1={1.93,1.65,1.85};
System.out.println(arr1);
输出结果:
[D@15db9742
[:表示当前是个数组
D:表示当前数据里的元素都是double类型的
@:表示一个间隔符号(固定格式)
15db9742:才是数组中真正的地址值(十六进制)
数组元素访问
格式:数组名(索引);
索引:也叫做下标,角标。
索引的特点:从0开始,逐一增加,连续不断
int[] arr={0};
System.out.println();
数组遍历:遍历就是指取出数据的过程,不要局限于遍历就是打印
标识符:
1.英文.中文.数字.下划线(-)
A、 javac翻译
B、 javah转化为C
C、 javadoc生成程序
D、 jar打包