• Java语言基础(7)


    1 for循环

      案例:Demo1
        1+1/2+1/3+1/4+1/5+1/6+...+1/100 = ?
        1/1+1/2+1/3+1/4+1/5+1/6+...+1/100 = ?
        分子都是1,分母是1~100
        首先定义一个double类型变量sum=0,保存累加之和
        第1次:sum = sum + 1/1
        第2次:sum = sum + 1/2
        第3次:sum = sum + 1/3
        第4次:sum = sum + 1/4
        第5次:sum = sum + 1/5
        ...
        第100次:sum = sum + 1/100
        定义变量double i = 0,i的取值1~100,i作为分母
        公式:sum = sum + 1/i
        for(double i=1;i<=100;i++){
          sum = sum + 1/i;
        }
      案例:Demo1
        1/1+1/2+1/3+1/4+1/5+1/6+...+1/100 = ?

    public class Demo1 {
      public static void main(String[] args) {
    	double sum = 0;  
    	for(double i=1;i<=100;i++){
    	  sum = sum + 1/i;	
    	}
    	System.out.println(sum);
      }
    }
    
    public class Demo2 {
    //1+1/3+1/5+1/7+1/9+...1/99 = ? 
    //1/1+1/3+1/5+1/7+1/9+...1/99 = ?
    //规律:分子都是1,分母1~99之间的奇数
      public static void main(String[] args) {
    //1 求出分母
    	double sum = 0;
    	for(double i=1;i<=99;i=i+2){
    //2 累加求和:sum = sum+1/i
    	  sum = sum + 1/i; 
    	}
    	System.out.println("累加之和:"+sum);
      }
    }
    
    //Demo3:
    //1+1/2+1/4+1/6+1/8+1/10+...+1/200 = ?
    public class Demo3 {
    //1+(1/2+1/4+1/6+1/8+1/10+...+1/200) = ?
      public static void main(String[] args) {
    	double sum=1;
    	for(double i=2;i<=200;i=i+2){
    	  sum = sum + 1/i;	
    	}
    	System.out.println("累加之和:"+sum);
      }
    }

    2 break和continue
      1)break:直接退出循环语句。
      2)continue:结束本次循环,继续开始下次循环。
      案例:Demo4

    public class Demo4 {
      public static void main(String[] args) {
    	for(int i=1;i<=30;i++){
    	  if(i==10){
    		break;//直接退出循环  
    	  }	
    	  System.out.println(i);	
    	}
      }
    }
    
    public class Demo5 {
      public static void main(String[] args) {
    	for(int i=1;i<=30;i++){
    	  if(i==10){
    		continue;//结束本次循环,继续开始下次循环  
    	  }	
    	  System.out.println(i);	
    	}
      }
    }
    
    public class Demo6 {
    //使用for循环,求出1~300之间所有的奇数累加之和,
    //如果累加之和一旦超过5000,直接退出for循环,并
    //输出当前的累加之和。
      public static void main(String[] args) {
    	int sum = 0;
    	for(int i=1;i<=300;i=i+2){	
    	  sum = sum + i;	
    	  if(sum>5000){
    		break;  
    	  }
    	}
    	System.out.println(sum);
      }	
    }
    
    //Demo7: 使用for循环,求出1~100之间所有的奇数
    //(2种写法)  
    public class Demo7 {
      public static void main(String[] args) {
    //方法1:
    	for(int i=1;i<=100;i++){
    	  if(i%2!=0){
    		System.out.println(i);  
    	  }	
    	}
    //在for循环中定义的变量i,只在for循环中有效,在
    //for循环外面无效
    //	System.out.println(i);
    	System.out.println();
    //方法2:	
    	for(int i=1;i<=100;i=i+2){
    	  System.out.println(i);	
    	}
      }
    }

    3 循环嵌套
      1)输出内容,不换行
        System.out.print("要显示的内容");
        案例:Demo8

    public class Demo8 {
      public static void main(String[] args) {
    	System.out.print("李斯,");
    	System.out.print("霍光,");
    	System.out.print("房玄龄,杜如晦,");
    	System.out.print("李善长,张居正。");
    	System.out.println();//换行
    	System.out.println("白起");
    	System.out.println("卫青,霍去病");
    	System.out.println("李靖,苏定方");
    	System.out.println("徐达,蓝玉");
      }
    }
    
    public class Demo9 {
      public static void main(String[] args) {
    //*****
    	System.out.println("*****");  
    	for(int i=1;i<=5;i++){
    	  System.out.print("*");
    	}
      }
    }
    
    public class Demo10 {
    //***
    //***
    //***
      public static void main(String[] args) {
    	for(int i=1;i<=6;i++){//行数
    	  for(int k=1;k<=10;k++){//*列数
    		System.out.print("*");  
    	  }	
    	  System.out.println();
    	}	
      }
    }
    
    //Demo11:从控制台输入两个整数,分别作为打印长方形*的
    //行数row和列数col
    //比如:row:2   col:3	
    //***
    //***		
    //外层循环:i=1  i<=3(true)
    //内层循环第1次:k=1  k<=3(true) * k++(k:2)
    //       第2次:	   k<=3(true) * k++(k:3)
    //		  第3次:         k<=3(true) * k++(k:4)
    //	          第4次:         k<=3(false) 退出内层循环
    //换行	
    //								i++(i:2)
    //外层循环第2次:  i<=3(true)
    //内层循环:  *** 
    //换行	
    //								i++(i:3)
    //外层循环第3次:  i<=3(true)
    //内层循环: ***               
    //换行	
    //								i++(i:4)
    //外层循环第4次:  i<=3(false)  退出整个循环
    import java.util.Scanner;
    public class Demo11 {
      public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	System.out.println("请输入行数:");
    	int row = sc.nextInt();
    	System.out.println("请输入列数:");
    	int col = sc.nextInt();
    	for(int i=1;i<=row;i++){//行数
    	  for(int k=1;k<=col;k++){//列数
    		System.out.print("*");
    	  }	
    	  System.out.println();
    	}
      }
    }
    
    public class Demo12 {
    /*
    *
    **
    ***
    ****
    *****
    */
      public static void main(String[] args) {
    	for(int i=1;i<=10;i++){//行数
    	  for(int k=1;k<=i;k++){
    		System.out.print("*");  
    	  }	
    	  System.out.println();
    	}
      }	
    }
    
    //Demo13:从控制台输入一个整数,作为打印直角三角形
    //*的行数row,打印直角三角形*
    //row:3
    //*
    //**
    //***  
    //每行*的个数,跟当前的行数一致(i)。
    //内层循环每次打印i个*,内层循环执行i次
    //控制内层循环执行次数的k的取值:1~i
    import java.util.Scanner;
    public class Demo13 {
      public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	System.out.println("请输入行数:");
    	int row = sc.nextInt();
    	for(int i=1;i<=row;i++){
    	  for(int k=1;k<=i;k++){
    		System.out.print("*");  
    	  }	
    	  System.out.println();
    	}
      }
    }
    
    public class Demo14 {
    //1*1=1
    //1*2=2  2*2=4
    //1*3=3  2*3=6  3*3=9
    //1*4=4	 2*4=8  3*4=12  4*4=16
    //...
    //1*9=9  2*9=18 ...				9*9=81	
      public static void main(String[] args) {
    	for(int i=1;i<=9;i++){
    	  for(int k=1;k<=i;k++){
    		System.out.print(k+"*"+i+"="
    				+i*k+"  ");  
    	  }	
    	  System.out.println();
    	}
      }	
    }

      2)循环嵌套:在一个循环语句的内部,又包含了一个循环语句。外层循环执行一次,内层循环执行所有。
        for(int i=1;i<=3;i++){
          for(int k=1;k<=3;k++){
            System.out.print("*");
          }
          System.out.println();
        }


    4 数组

      把相同类型的数据聚合在一起,使用数组来保存相同类型的多个数据。
      1)创建数组格式:
        数据类型[] 数组名 = new 数据类型[数据个数];
        或者
        数据类型 数组名[] = new 数据类型[数据个数];
        eg:int[] ary = new int[5];
      2)元素:数组中使用元素来保存数据,元素就相当于变量
      3)下标:用来标识数组中的每一个元素,下标的取值从0开始,最后一个元素的下标值(元素总个数-1)
        数组名[下标值] ---> 元素
        eg:ary[0] = 100;    //把100赋值给ary中第1个元素
          ary[1] = 200;
          ary[2] = 300;
          ary[3] = 400;
          ary[4] = 500;
        案例:Demo15

    public class Demo15 {
      public static void main(String[] args) {
    	int[] ary = new int[6];
    	ary[0] = 100;
    //分别把200,300,400,500,600依次的给其他元素赋值
    	ary[1] = 200;
    	ary[2] = 300;
    	ary[3] = 400;
    	ary[4] = 500;
    	ary[5] = 600;
    	System.out.println(ary[0]);
    	System.out.println(ary[1]);
    	System.out.println(ary[2]);
    	System.out.println(ary[3]);
    	System.out.println(ary[4]);
    	System.out.println(ary[5]);
    //	ary[6] = 1000;
    //报错了,ary数组中只能保存6个元素,元素下标的取值
    //0~5,ary[6]中下标的取值超过范围。	
      }
    }
    
    public class Demo16 {
      public static void main(String[] args) {
    	double ary[] = new double[5];
    	ary[0] = 1.6;
    	ary[1] = 2.3;
    	ary[2] = 9.66;
    	ary[3] = 10.55;
    	ary[4] = 100.1;
    //输出每一个元素的值	
    	System.out.println(ary[0]);
    	System.out.println(ary[1]);
    	System.out.println(ary[2]);
    	System.out.println(ary[3]);
    	System.out.println(ary[4]);
      }
    }
    
    public class Demo17 {
      public static void main(String[] args) {
    	String[] ary = new String[6];
    	ary[0] = "徐志摩";
    	ary[1] = "梁思成";
    	ary[2] = "林徽因";
    	ary[3] = "林语堂";
    	ary[4] = "钱钟书";
    	ary[5] = "冰心";
    	System.out.println(ary[0]);
    	System.out.println(ary[1]);
    	System.out.println(ary[2]);
    	System.out.println(ary[3]);
    	System.out.println(ary[4]);
    	System.out.println(ary[5]);
      }
    }

      4)元素的默认值:系统默认给元素赋的值
        案例:Demo18

    public class Demo18 {
      public static void main(String[] args) {
    //整型数组元素的默认值:0
    	int[] ary = new int[100];
    	System.out.println(ary[1]);//0
    	long[] ary2 = new long[100];
    	System.out.println(ary2[99]);//0
    //浮点类型数组元素的默认值:0.0
    	double[] ary3 = new double[500];
    	System.out.println(ary3[10]);//0.0
    //布尔类型数组元素的默认值:false
    	boolean[] ary4 = new boolean[100];
    	System.out.println(ary4[0]);//false
    //引用类型数组元素的默认值:null
    	String[] ary5 = new String[20];
    	System.out.println(ary5[1]);
    //null:用来表示引用类型变量没有值,为空。
      }
    }

        整数类型数组元素的默认值是0
        浮点类型数组元素的默认值是0.0
        布尔类型数组元素的默认值是false
        引用类型数组元素的默认值是null
        null:当前引用类型的变量(元素)没有值,为空。
      5)使用for循环来操作数组中的元素
        分析:数组中通过下标来区分开每一个元素,下标的取值从0~元素总个数-1。通过控制循环次数变量i的取值,来指向数组中的每一个元素,i的取值0~元素总个数-1,作为元素的下标值。
        for(int i=0;i<=元素总个数-1;i++){
          数组名[i] ---> 元素
        }
        案例:Demo19

    public class Demo19 {
    //使用for循环来操作数组中的元素
    //控制循环次数变量i的取值,作为数组元素的下标值
    //for(int i=0;i<=元素总个数-1;i++){
    //	数组名[i] -----> 元素
    //}	
      public static void main(String[] args) {
    //创建一个int类型数组ary,包含100个元素,分别把
    //0~99之间的每一个整数赋值给ary数组中的每一个元素
    //最后输出每一个元素的值
    	int[] ary = new int[100];
    	for(int i=0;i<=99;i++){
    	  ary[i] = i;
    	  System.out.println(ary[i]);
    	}
    
    	
    /*	
    	for(int i=0;i<=99;i++){
    	  System.out.println(ary[i]);	
    	}
    	*/
      }	
    }
    
    public class Demo20 {
    //Demo20:创建一个int类型数组ary,包含了200个元素,
    //把0~199之间每一个整数给ary数组元素依次赋值,输出
    //每一个元素的值。
      public static void main(String[] args) {
    	int[] ary = new int[200];
    	for(int i=0;i<=ary.length-1;i++){
    	  ary[i] = i;
    	  System.out.println(ary[i]);
    	}
      }	
    }
    
    public class Demo21 {
    //创建一个int类型数组ary,包含100个元素,把1~100
    //之间的每一个整数给ary数组中元素依次赋值,最后输出
    //每一个元素的值
    //i     0~99
    //i+1   1~100
      public static void main(String[] args) {
    	int[] ary = new int[100];
    	for(int i=0;i<=99;i++){
    	  ary[i] = i+1;
    	  System.out.println(ary[i]);
    	}
      }  	
    }
    
    public class Demo22 {
    //创建一个int类型数组ary,包含200个元素,把1~200之间
    //每一个整数给ary数组中元素依次赋值
    //1 输出每一个元素的值
    //2 求出所有元素的累加之和
    //	sum = sum + i
    //	sum = sum + ary[i]
      public static void main(String[] args) {
        int[] ary = new int[200];
        for(int i=0;i<=199;i++){
          ary[i] = i+1;	
          System.out.println(ary[i]);
        }
    //累加求和: sum = sum + ary[i]
        int sum = 0;
        for(int i=0;i<=199;i++){
          sum = sum + ary[i];	
        }
        System.out.println("元素累加之和:"+sum);
      }	
    }

      6)数组名.length:返回是数组中元素的总个数
        案例:Demo23

    public class Demo23 {
      public static void main(String[] args) {
    	int[] ary = new int[200];
    	System.out.println(ary.length);//200
      }
    }

        for(int i=0;i<=数组名.length-1;i++){
          数组名[i] ---> 元素
        }

  • 相关阅读:
    Eclipse 3.6 中安装WindowBuilder Pro及使用SWT Designer
    BEC听力训练 方法
    在Eclipse安装Aptana插件
    failed to create JVM 解决办法
    BEC听力训练 方法2
    ATF/Installing
    Eclipse中如何配置SWT
    语音信号 :lms算法麦克风语音降噪
    图像信号 matlab滤波器设计1 :高通滤波器应用和设计
    matlab m文件
  • 原文地址:https://www.cnblogs.com/KalosOwen/p/8410774.html
Copyright © 2020-2023  润新知