[JAVA]复习第七日JAVA练习案例集合


点击(此处)折叠或打开

  1. /*
  2.     定义方法,实现数组的遍历
  3.     遍历中,输出结果 [11,33,565,66,78,89]
  4.     int[] arr = {3,4,45,7};
  5.     结果包含字符串, [ ] ,
  6.     实现步骤:
  7.      1. 定义方法实现数组的遍历
  8.      2. 先打印[ 中括号
  9.      3. 遍历数组
  10.      输出数组的元素和逗号
  11.         判断是否遍历到了数组的最后一个元素,如果是最后一个元素,输出]中括号
  12. */
  13. public class ArrayMethodTest{
  14.     public static void main(String[] args){
  15.         int[] arr = {11,44,55,33,66};
  16.         printArray(arr);
  17.         
  18.         int[] arr2 = {22,88,99,33,66};
  19.         printArray(arr2);
  20.         
  21.     }
  22.     /*
  23.      定义方法,实现功能
  24.      返回值: void
  25.      方法参数: 数组
  26.     */
  27.     public static void printArray(int[] arr){
  28.         //输出一半中括号,不要换行打印
  29.         System.out.print("[");
  30.         //数组进行遍历
  31.         for(int i = 0 ; i < arr.length ; i++){
  32.             //判断遍历到的元素,是不是数组的最后一个元素
  33.             //如何判断 循环变量 到达 length-1
  34.             if( i == arr.length-1 ){
  35.                 //输出数组的元素和]
  36.                 System.out.print(arr[i]+"]");
  37.             }else{
  38.             //不是数组的最后一个元素,输出数组元素和逗号
  39.              System.out.print(arr[i]+",");
  40.             }
  41.         }
  42.         System.out.println();
  43.     }
  44. }






点击(此处)折叠或打开

  1. /*
  2.    数组的逆序:
  3.      数组中的元素,进行位置上的交换
  4.      逆序 不等于 反向遍历
  5.      就是数组中最远的两个索引,进行位置交换,实现数组的逆序
  6.      使用的是数组的指针思想,就是变量,思想,可以随时变换索引
  7.      反转 reverse
  8.      实现步骤:
  9.      1. 定义方法,实现数组的逆序
  10.      2. 遍历数组
  11.      实现数组的最远索引换位置
  12.          使用临时的第三方变量
  13. */
  14. public class ArrayMethodTest_1{
  15.     public static void main(String[] args){
  16.         int[] arr = {3,5,7,1,0,9,-2};
  17.         //调用数组的逆序方法
  18.         reverse(arr);
  19.         //看到数组的元素,遍历
  20.         printArray(arr);
  21.     }
  22.     
  23.     /*
  24.      定义方法,实现数组的逆序
  25.      返回值: 没有返回值
  26.      参数: 数组就是参数
  27.     */
  28.     public static void reverse(int[] arr){
  29.         //利用循环,实现数组遍历,遍历过程中,最远端换位
  30.         //for的第一项,定义2个变量, 最后,两个变量++ --
  31.         for( int min = 0 , max = arr.length-1 ; min < max ; min++,max--){
  32.             //对数组中的元素,进行位置交换
  33.             //min索引和max索引的元素交换
  34.             //定义变量,保存min索引
  35.             int temp = arr[min];
  36.             //max索引上的元素,赋值给min索引
  37.             arr[min] = arr[max];
  38.             //临时变量,保存的数据,赋值到max索引上
  39.             arr[max] = temp;
  40.         }
  41.     }
  42.     
  43.     /*
  44.      定义方法,实现功能
  45.      返回值: void
  46.      方法参数: 数组
  47.     */
  48.     public static void printArray(int[] arr){
  49.         //输出一半中括号,不要换行打印
  50.         System.out.print("[");
  51.         //数组进行遍历
  52.         for(int i = 0 ; i < arr.length ; i++){
  53.             //判断遍历到的元素,是不是数组的最后一个元素
  54.             //如何判断 循环变量 到达 length-1
  55.             if( i == arr.length-1 ){
  56.                 //输出数组的元素和]
  57.                 System.out.print(arr[i]+"]");
  58.             }else{
  59.             //不是数组的最后一个元素,输出数组元素和逗号
  60.              System.out.print(arr[i]+",");
  61.             }
  62.         }
  63.         System.out.println();
  64.     }
  65. }




点击(此处)折叠或打开

  1. /*
  2.   数组的排序: 一般都是升序排列,元素,小到大的排列
  3.   
  4.   两种排序的方式
  5.      选择排序: 数组的每个元素都进行比较
  6.      冒泡排序: 数组中相邻元素进行比较
  7.      规则: 比较大小,位置交换
  8. */
  9. public class ArrayMethodTest_2{
  10.     public static void main(String[] args){
  11.         int[] arr = {3,1,4,2,56,7,0};
  12.         //调用选择排序方法
  13.         //selectSort(arr);
  14.         
  15.         //调用冒泡排序方法
  16.         bubbleSort(arr);
  17.         printArray(arr);
  18.     }
  19.     /*
  20.      定义方法,实现数组的冒泡排序
  21.      返回值: 没有
  22.         参数: 数组
  23.     */
  24.     public static void bubbleSort(int[] arr){
  25.         for(int i = 0 ; i < arr.length - 1; i++){
  26.             //每次内循环的比较,从0索引开始, 每次都在递减
  27.             for(int j = 0 ; j < arr.length-i-1; j++){
  28.                 //比较的索引,是j和j+1
  29.                 if(arr[j] > arr[j+1]){
  30.                     int temp = arr[j];
  31.                     arr[j] = arr[j+1];
  32.                     arr[j+1] = temp;
  33.                 }
  34.             }
  35.         }
  36.     }
  37.     
  38.     /*
  39.      定义方法,实现数组的选择排序
  40.         返回值: 没有
  41.         参数: 数组
  42.         实现步骤:
  43.          1.嵌套循环实现排序
  44.          外循环,控制的是一共比较了多少次
  45.             内循环,控制的是每次比较了多少个元素
  46.          2. 判断元素的大小值
  47.          小值,存储到小的索引
  48.     */
  49.     public static void selectSort(int[] arr){
  50.         for(int i = 0 ; i < arr.length - 1; i++){
  51.             //内循环,是每次都在减少,修改变量的定义
  52.             for(int j = i+1 ; j < arr.length ; j++){
  53.                 //数组的元素进行判断
  54.                 if(arr[i] > arr[j]){
  55.                     //数组的换位
  56.                     int temp = arr[i];
  57.                     arr[i] = arr[j];
  58.                     arr[j] = temp;
  59.                 }
  60.             }
  61.         }
  62.     }
  63.     
  64.     /*
  65.      定义方法,实现功能
  66.      返回值: void
  67.      方法参数: 数组
  68.     */
  69.     public static void printArray(int[] arr){
  70.         //输出一半中括号,不要换行打印
  71.         System.out.print("[");
  72.         //数组进行遍历
  73.         for(int i = 0 ; i < arr.length ; i++){
  74.             //判断遍历到的元素,是不是数组的最后一个元素
  75.             //如何判断 循环变量 到达 length-1
  76.             if( i == arr.length-1 ){
  77.                 //输出数组的元素和]
  78.                 System.out.print(arr[i]+"]");
  79.             }else{
  80.             //不是数组的最后一个元素,输出数组元素和逗号
  81.              System.out.print(arr[i]+",");
  82.             }
  83.         }
  84.         System.out.println();
  85.     }
  86. }



点击(此处)折叠或打开

  1. /*
  2.    数组的查找功能
  3.      在一个数组中,找一个元素,是否存在于数组中,如果存在,就返回索引
  4.     
  5.      普通查询:
  6.      找到元素在数组中出现的索引,如果没有这个 元素,结果就是负数
  7.         
  8. */
  9. public class ArrayMethodTest_3{
  10.      public static void main(String[] args){
  11.          int[] arr = {1,3,5,7,9,11,15};
  12.          int index = binarySearch(arr,10);
  13.          System.out.println(index);
  14.         
  15.      }
  16.     
  17.      /*
  18.      定义方法,实现,折半查找
  19.          返回值: 索引
  20.          参数: 数组,被找的元素
  21.          实现步骤:
  22.          1. 需要的变量定义
  23.          三个,三个指针
  24.             
  25.          2. 进行循环折半
  26.          可以折半的条件 min <= max
  27.         
  28.          3. 让被找元素,和中间索引元素进行比较
  29.          元素 > 中间索引 小指针= 中间+1
  30.              元素 < 中间索引 大指针= 中间-1
  31.              元素 == 中间索引 找到了,结束了,返回中间索引
  32.             
  33.          4. 循环结束,无法折半
  34.              元素没有找到 ,返回-1
  35.      */
  36.      public static int binarySearch(int[] arr, int key){
  37.          //定义三个指针变量
  38.          int min = 0 ;
  39.          int max = arr.length -1 ;
  40.          int mid = 0;
  41.          //循环折半,条件 min<=max
  42.          while( min <= max){
  43.              //公式,计算中间索引
  44.              mid = (min+max)/2;
  45.              //让被找元素,和中间索引元素进行比较
  46.              if(key > arr[mid]){
  47.                  min = mid + 1;
  48.              }else if (key < arr[mid]){
  49.                  max = mid - 1;
  50.              }else{
  51.                  //找到元素,返回元素索引
  52.                  return mid;
  53.              }
  54.          }
  55.          return -1;
  56.      }
  57.     
  58.     /*
  59.      定义方法,实现数组的普通查询
  60.      返回值: 索引
  61.      参数: 数组, 被找的元素
  62.     
  63.      实现步骤:
  64.      1. 遍历数组
  65.          2. 遍历过程中,使用元素和数组中的元素进行比较
  66.          如果相同,返回元素在数组中的索引
  67.             如果不同,返回负数
  68.     */
  69.     public static int search(int[] arr, int key){
  70.         //遍历数组
  71.         for(int i = 0 ; i < arr.length ; i++){
  72.             //数组元素,被查找的元素比较
  73.             if(arr[i] == key){
  74.                 //返回索引
  75.                 return i;
  76.             }
  77.         }
  78.         return -1;
  79.     }
  80. }



点击(此处)折叠或打开

  1. /*
  2.     ASCII编码表演示
  3.     字符Java 数据类型,char
  4.     整数Java 数据类型,int
  5.     
  6.     int 类型和 char 数据类型转换
  7.     char 两个字节, int 四个字节
  8.     
  9.     char转成int类型的时候,类型自动提示,char数据类型,会查询编码表,得到整数
  10.     int转成char类型的时候,强制转换,会查询编码表
  11.     
  12.     char存储汉字,查询Unicode编码表
  13.     
  14.     char可以和int计算,提示为int类型, 内存中两个字节
  15.     char取值范围是0-65535, 无符号的数据类型
  16. */
  17. public class ASCIIDemo{
  18.     public static void main(String[] args){
  19.         char c = 'a';
  20.         int i = c + 1;
  21.         System.out.println(i);
  22.         
  23.         int j = 90;
  24.         char h = (char)j;
  25.         System.out.println(h);
  26.         
  27.         System.out.println( (char)6 );
  28.         
  29.         char k = '你';
  30.         System.out.println(k);
  31.         
  32.         
  33.         char m = -1;
  34.     }
  35. }




点击(此处)折叠或打开

  1. /*
  2.    要求:
  3.      计算1-100之间的所有的奇数和
  4.      1+3+5+7...+99
  5.     
  6.      有1个数据,从0变到100 循环 int =0 <= 100 ++
  7.      从0-100,范围内,找到奇数 数%2==1 奇数
  8.      所有的奇数求和计算
  9.      需要变量,保存奇数的求和
  10.     
  11.      实现步骤:
  12.      1. 程序可以使用到的数据,预先定义好变量
  13.      需要奇数和
  14.      2. 利用循环,让变量从0变化到100
  15.      3. 判断变量的变化情况是不是奇数
  16.      4. 如果是奇数,和预先定义好的变量,求和
  17. */
  18. public class LoopTest{
  19.     public static void main(String[] args){
  20.         // 定义变量,保存求和
  21.         int sum = 0;
  22.         // for循环,循环中的变量, 0-100
  23.         for(int i = 0 ; i <= 100 ; i++){
  24.             //对循环的变量,进行奇数的判断, %2==1
  25.             if(i % 2 == 1){
  26.                 //对奇数求和
  27.                 sum += i;
  28.             }
  29.         }
  30.         System.out.println(sum);
  31.         
  32.         //sum = 0;
  33.         
  34.          /*for(int i=1 ; i <=100; i+=2) {
  35.              sum +=i;
  36.          }
  37.         System.out.println(sum);*/
  38.     }
  39. }





点击(此处)折叠或打开

  1. /*
  2.    要求: 计算出水仙花数
  3.      三位数 100-999 个位数的立方+十位数的立方+百位数的立方 = 自己本身
  4.      153 = 1*1*1 + 5*5*5 + 3*3*3
  5.      已知三位数 123 获取出每个数位 利用 除法,取模运算
  6.     
  7.     实现步骤:
  8.      1. 定义变量才存储 三个数位上的整数
  9.      2. 利用循环,循环中的变量,从100变化到999
  10.      3. 循环中得到三位数,利用算法,拆解成三个单独数位
  11.      4. 将三个数位立方的求和计算, 计算后的求和,和他自己进行比较判断
  12.      想同,就是水仙花
  13. */
  14. public class LoopTest_1{
  15.     public static void main(String[] args){
  16.         //定义三个变量
  17.         int bai = 0;
  18.         int shi = 0;
  19.         int ge = 0 ;
  20.         
  21.         //循环,循环变量从100-999
  22.         for(int i = 100 ; i < 1000 ; i++){
  23.             //对i,进行计算,获取出三个数位
  24.             //获取百位
  25.             bai = i / 100;
  26.             //获取十位
  27.             shi = i / 10 % 10;
  28.             //获取个位
  29.             ge = i % 10;
  30.             //对三个数位进行立方求和
  31.             if(bai * bai * bai + shi * shi *shi + ge * ge *ge == i){
  32.                 System.out.println(i);
  33.             }
  34.         }
  35.     }
  36. }



点击(此处)折叠或打开

  1. /*
  2.      利用循环,输出字母包含大写小写,52个
  3.      输出A-Z a-z
  4.      利用编码表实现,字母和数字的对应关系
  5.      A-Z 65-90
  6.      a-z 97-122
  7.     
  8.      实现步骤:
  9.      1. 定义变量,保存小写a,大写A
  10.      2. 循环26次,输出定义好的变量
  11.      每次循环,变量++
  12. */
  13. public class LoopTest_2{
  14.     public static void main(String[] args){
  15.         //定义变量,保存2个字母
  16.         char xiaoXie = 'a';
  17.         char daXie = 'A';
  18.         //定义循环,次数26次
  19.         for(int i = 0 ; i < 26 ;i++){
  20.             //输出保存字母的变量
  21.             System.out.println(xiaoXie+" "+daXie);
  22.             daXie++;
  23.             xiaoXie++;
  24.         }
  25.     }
  26. }



点击(此处)折叠或打开

  1. /*
  2.     利用嵌套for循环,实现99乘法表示
  3.     实现步骤:
  4.      1. 定义外循环控制行数
  5.      2. 内循环控制个数,个数,每次都在递增
  6.      3. 循环中输出,乘法表的格式 1*3=3
  7. */
  8. public class LoopTest_3{
  9.     public static void main(String[] args){
  10.         print99(6);
  11.     }
  12.     
  13.     public static void print99(int n){
  14.         //定义外循环,循环9次
  15.         for(int i = 1; i <= n; i++){
  16.             //定义内循环,每次递增,循环条件, <=i
  17.             for(int j = 1; j <= i ;j++){
  18.                 //按照标准格式,输出打印
  19.                 System.out.print(j+"*"+i+"="+i*j+"\t");
  20.             }
  21.             System.out.println();
  22.         }
  23.     }
  24. }



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31537584/viewspace-2156560/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31537584/viewspace-2156560/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值