Java循环结构有三种,for循环,while循环,do-while循环,循环就是在条件成立时循环做某件事,while循环实例如下:package cn.jbit.output;
public class xunhuan {
public static void main(String[] args) {
// TODO Auto-generated method stub
int num=105;
while(num>=10){num=num-5;
System.out.println("输出"+num);
}
}
}
其中while后面的就是条件,while括号里面的就是代码块,只要条件成立,就会一直num-5并且打印(“输出”+num);
循环结构要避免出现死循环,所以要设置停止循环的条件,上面代码如果没有num=num-5就会出现死循环,加上这个就是设置了停止条件。
而do-while就是先执行一遍操作再判断循环条件,他跟while循环的区别在于他会先执行一遍,代码如下:package cn.jbit.output;
public class xunhuan2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i=0;
int num=1;
do{
if(num%7==0){i=i+num;
}
num++;
}while(num<50);
System.out.println("和为:"+i);
}
}
无论条件成不成立,他都会先执行if以及if的条件。
而for循环相比while来说更加简洁,比如:package cn.jbit.output;
import java.util.Scanner;
public class for_Demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i=1; //星期几
double time;//学习时间
double avg; //平均分
double sum=0;
Scanner input=new Scanner(System.in);
for(;i<6;i++){
System.out.println("请输入周"+i+"学习时间");
time=input.nextDouble();
sum=sum+time;
}
avg=sum/(i-1);
System.out.println("平均分为"+avg);
}
}
for循环中,可以使用break跳出循环以及continue跳出本次循环,比如:
package cn.jbit.output;
public class for_Demo2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int tu = 0;
for(int chiken = 0; chiken <= 35; chiken++){
tu = 35 - chiken;
if(2*chiken + 4*tu == 94){
System.out.println("鸡有 " +chiken+ "只,兔子有 " +tu+ " 只");
break;
}
}
}
}
package cn.jbit.output;
public class for_Demo3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
for (int i = 1; i <= 100; i++) {
System.out.println(i);
if (i % 3 != 0 && i % 5 != 0) {
continue;
}
System.out.println("FlopFilp" + i);
if (i % 3 != 0) {
continue;
}
System.out.println("Flop" + i);
if (i % 5 != 0) {
continue;
}
System.out.println("Flip" + i);
}
}
}
这其中break等于结束这个循环,而continue只会结束本次循环开启下一次循环。
Java数组:
Java数组就是一个变量,将相同数据储存在这个变量里面就是数组,比如三十个人的成绩,如果要一一打印,每一个都用int声明一下就会很麻烦,而用数组就会很方便。比如:
package lenovo_8;
import java.util.Arrays;
public class Demo_2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
char[] fu=new char[8];
fu[0]='a';
fu[1]='c';
fu[2]='u';
fu[3]='b';
fu[4]='e';
fu[5]='p';
fu[6]='f';
fu[7]='z';
for(int b=0;b<fu.length;b++){
System.out.print(fu[b]);
}
Java有个自带的算法可以给数组排序:Arrays.sort可以给数组排序,他是按从小到大的顺序排的,可以用这个办法搭配循环求数组大小或者插入数据。实例如下:
package lenovo_8;
import java.util.Scanner;
public class Demo_1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int jin[]=new int[5];
System.out.println("请输入会员本月的消费记录");
for(int i=0;i<jin.length;i++){
Scanner input=new Scanner(System.in);
System.out.print("请输入第"+(i+1)+"笔购物金额:");
jin[i]=input.nextInt();
}System.out.println("");
System.out.println("序号\t\t金额(元)");
for(int a=0;a<jin.length;a++){
System.out.println((a+1)+"\t\t"+jin[a]);
}
}
}
package lenovo_8;
public class Demo_3 {
public static void main(String[] args) {
char fu[]=new char[9];
fu[0]='a';
fu[1]='b';
fu[2]='c';
fu[3]='e';
fu[4]='f';
fu[5]='p';
fu[6]='u';
fu[7]='z';
int x=0;
System.out.print("原字符排列:");
System.out.println(fu);
char cha='m';
System.out.println("待插入的字符是:"+cha);
for(int i=0;i<fu.length;i++){
if(cha<fu[i]){
x=i;
System.out.println(i);
break;}
}
for(int b=fu.length-1;b>x;b--){
fu[b]=fu[b-1];
}fu[x]=cha;
System.out.println("插入字符的下标是:"+x);
System.out.print("插入后的字符序列是: ");
for(int u=0;u<fu.length;u++){
System.out.print(fu[u]);
}
}
}
循环结构还能使用双重循环,即循环中再嵌套一个循环:package lenovo9;
import java.util.Scanner;
public class Demo_3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// Scanner input=new Scanner(System.in);
// int a=input.nextInt();
int random = (int) (Math.random() * 100);
System.out.println("行数为:" + random);
for (int i = 1; i <= random; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + (j * i) + "\t");
}
System.out.println("");
}
}
}