Java范例集锦(四)

范例1. 对矩陈进行转置运算

  所谓对矩陈的转置就是将矩陈的行列互换。示例代码如下:

public class ArrayRowColumnSwap {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int arr[][]=new int[][]{{10,11,12},{20,21,22},{30,31,32}};    //创建二维数组
        System.out.println("******转置前的矩陈是:******");
        printArray(arr);        //输出二维数组
        int arr2[][]=new int[arr.length][arr.length];
        for(int i=0; i<arr.length;i++) {        //调整数组行列数据
            for(int j=0;j<arr[i].length;j++) {
                arr2[j][i]=arr[i][j];
            }
        }
        System.out.println("******转置后的矩陈是:******");
        printArray(arr2);
    }
    public static void printArray(int[][] arr) {
        for(int i=0;i<arr.length;i++) {    //遍历数组
            for(int j=0;j<arr.length;j++) {
                System.out.print(arr[i][j]+"\t");
            }
            System.out.println();
        }
    }

}

  其执行结果如下:

******转置前的矩陈是:******
10    11    12
20    21    22
30    31    32
******转置后的矩陈是:******
10    20    30
11    21    31
12    22    32    

范例2. 求方陈的迹
  方陈的迹,即方陈主对角线上所有元素的和。示例代码如下:

public class Trace {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int arr[][]= {                        //创建二维数组
                {5,10,15,20},
                {10,15,20,25},
                {15,20,25,30},
                {20,25,30,35}
        };
        int tr=0;
        System.out.println("********方陈arr[][]是:********");
        for(int i=0;i<arr.length;i++) {                        //遍历数组
            for(int j=0;j<arr[i].length;j++) {
                System.out.print(arr[i][j]+"\t");
            }
            System.out.println();
        }
        for(int i=0;i<arr.length;i++) {
            tr+=arr[i][i];
        }
        System.out.println("方陈arr[][]的迹是:"+tr);
    }

}

  执行结果是:

********方陈arr[][]是:********
5    10    15    20
10    15    20    25
15    20    25    30
20    25    30    35
方陈arr[][]的迹是:80

范例3. 遍历数组
  3.1. 遍历一

public class GetDay {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int day[]= {31,28,31,30,31,30,31,31,30,31,30,31};    //创建并初始化一维数组
        for(int i=0;i<day.length;i++) {                        //利用fou循环将信息输出
            System.out.print((i+1)+"月有"+day[i]+"天"+"\t\t");
            if((i+1)%3==0) {                                //如果i+1之和求余为零
                System.out.print("\n");                        //输出回车
            }
        }
    }

}

  执行结果显示如下:

1月有31天        2月有28天        3月有31天
4月有30天        5月有31天        6月有30天
7月有31天        8月有31天        9月有30天
10月有31天        11月有30天        12月有31天    

  3.2. 遍历二维数组,示例代码如下:

public class Trap {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("*****利用for循环遍历二维数组*****");
        int arr[][]=new int[][] {
            {10,20},
            {12,13,14,15,16},
            {17,18,19}
        };                                    //创建二维数组
        for(int i=0;i<arr.length;i++) {
            for(int j=0;j<arr[i].length;j++) {    //遍历二维数组中的每个元素
                System.out.print(arr[i][j]+" ");
            }
            System.out.println();
        }

        System.out.println("*****使用foreach语句遍历二维数组*****");
        for(int[] x:arr) {                        //外层循环变量为一维数组
            for(int y:x) {                        //循环遍历每一个数组元素
                System.out.print(y+" ");
            }
            System.out.println();
        }
    }

}

  执行结果为:

*****利用for循环遍历二维数组*****
10 20
12 13 14 15 16
17 18 19
*****使用foreach语句遍历二维数组*****
10 20
12 13 14 15 16
17 18 19 

  

时间: 2024-11-11 10:36:20

Java范例集锦(四)的相关文章

Java范例集锦(二)

范例1. Swich语句 Switch语句中表达式必须是整型或字符型,常量值1~常量值n必须也是整型或字符型.同一个switch语句,case的常量必须互不相同. 在switch语句中,case语句后常量表达式的值可以为整数,但绝不可以是实数:常量表达式可以是字符,但一定不可以是字符串. 1.1. 示例代码如下: import java.util.Scanner; public class GetSwitch { public static void main(String[] args) {

java入门第四步之应用服务器的安装(Tomcat)【转】

首先打开myeclipse,在myeclipse菜单栏下面有两个按钮: 左边的按钮是进行项目的部署的(即将项目部署到服务器上),右边的按钮是进行服务器的启动的,如果你安装了tomcat服务器,那你就可以在右边按钮点击的下拉框中 找到对应的服务器, 下面我来介绍下Tomcat服务器的安装(也不能叫安装,就是引入下): 点击菜单栏的Window---->选择Preferences----->在左边的菜单栏中选择MyEclipse---->servers----->tomcat 然后根据

一大波Java来袭(四)String类、StringBuilder类、StringBuffer类对比

本文主要介绍String类.StringBuffer类.StringBuilder类的区别  : 一.概述 (一)String 字符串常量,但是它具有不可变性,就是一旦创建,对它进行的任何修改操作都会创建一个新的字符串对象. (二)StringBuffer 字符串可变量,是线程安全的,和StringBuilder类提供的方法完全相同. 区别在于StringBuffer每个方法中前面添加了"synchronized",保证其是线程安全的. (三)StringBuilder 字符串可变量,

java基本数据类型四类八种

第1类:整型:byte.short.int.long 第2类:浮点型:float.double 第3类:逻辑型:boolean 第4类:字符型:char 字节长度从小到大: boolean型: 1/8 byte字节类型:1 char字符型:2 一个字符能存储一个中文汉字 short短整型:2 int整数类型:4 float浮点类型(单精度):4 long长整型:8 double双精度类型(双精度)8 注:java中默认的整数类型是int类型,若要定义为float型,加上l或L; 默认的浮点型也是

java提高篇(四)_理解java的三大特性之多态 转自 http://cmsblogs.com

多态就是指程序中定义 的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该 引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定.因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让 引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个 运行状态,这就是多态性 一. 向上转型

java排序集锦

java实现排序的一些方法,来自:http://www.javaeye.com/topic/548520 1 package sort; 2 3 import java.util.Random; 4 5 /** 6 * 排序测试类 7 * 8 * 排序算法的分类如下: 1.插入排序(直接插入排序.折半插入排序.希尔排序): 2.交换排序(冒泡泡排序.快速排序): 9 * 3.选择排序(直接选择排序.堆排序): 4.归并排序: 5.基数排序. 10 * 11 * 关于排序方法的选择: (1)若n较

JAVA中的四种引用以及ReferenceQueue和WeakHashMap的使用示例

简介: 本文主要介绍JAVA中的四种引用: StrongReference(强引用).SoftReferenc(软引用).WeakReferenc(弱引用).PhantomReference(虚引用)的作用.同时我们还将介绍ReferenceQueue和WeakHashMap的功能和使用示例. 欢迎探讨,如有错误敬请指正 如需转载,请注明出处 http://www.cnblogs.com/nullzx/ 1. JAVA中的四种引用 四种引用中,软引用.若引用.虚引用都需要相关类来创建.创建的时候

深入Java基础(四)--哈希表(1)HashMap应用及源码详解

继续深入Java基础系列.今天是研究下哈希表,毕竟我们很多应用层的查找存储框架都是哈希作为它的根数据结构进行封装的嘛. 本系列: (1)深入Java基础(一)--基本数据类型及其包装类 (2)深入Java基础(二)--字符串家族 (3)深入Java基础(三)–集合(1)集合父类以及父接口源码及理解 (4)深入Java基础(三)–集合(2)ArrayList和其继承树源码解析以及其注意事项 文章结构:(1)哈希概述及HashMap应用:(2)HashMap源码分析:(3)再次总结关键点 一.哈希概

跟阿根一起学Java Web开发四:邮件发送与短信发送的实现

邮件发送与短信发送常见于用户注册认证以及系统消息提示功能模块,但实现代码过于繁琐:使用JSPGen后,深感其对邮件发送.短信发送的封装让复杂活变得简单很多. 一.基础配置 1.jspgen-config.xml 在框架基础配置文件中,找到mail节点及sms节点,按如下配置: <!-- 邮件服务 --> <mail status="true"> <smtp> <!-- 发送类型(SMTP MX) --> <type>SMTP&