循环(for)语句,数组的遍历(java)

这篇博客详细介绍了Java中的for循环语法,包括逻辑表达式可选的情况,并通过实例展示了如何使用for循环输出九九乘法表。此外,文章还讲解了二维数组的定义和遍历方式,提供了一维和二维数组的遍历示例,以及通过for和foreach两种方式实现。文章还涉及了数组中值的互换方法,包括使用中间变量、简单代数运算和位运算,并讨论了冒泡排序法的实现。最后,讨论了位运算在数值交换中的应用,以及Java中不同进制的表示方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

for循环
for语句的语法格式是:

for (初始语句;逻辑表达式;迭代语句)
语句;
//循环体

初始语句和迭代语句中可以含有多个语句,各语句间以逗号相隔。for语句括号内的三部分是可选的,逻辑表达式为空时,默认规定为恒真。

例1.运用for语句,输出九九乘法表

package 实验;

public class for循环 {

	public static void main(String[] args) {
		//九九乘法表
for(int i=1;i<=9;i++) {
	for(int j=1;j<=i;j++) {
		System.out.print(j+"*"+i+"="+j*i+" ");	}
	System.out.println();
}
	}

}

多维数组
1.对于一维数组,这里就不多说了,以二维数组为主。
二维数组的定义格式如下:

1.type arrayName[][];
2.type[][]arrayName;

与一维数组一样,定义时对数组元素也没有分配内存空间,同样要使用运算符new来分配内存,然后才可以访问每个元素。

2.由于矩阵数组是最长见的格式,所以java提供了创建矩阵数组的简化方式。二维矩阵数组的一般说明格式为:

type arrayName[][]=new type[length1][length2];

arrayName是数组名,length1和length2分别为数组各维的大小,type是数组元素的类型。

例2.实现数组的遍历
*(每一种遍历方式我用了两种方法for和foreach) *
一维数组

package 实验;

public class array {

	public static void main(String[] args) {
		// 一维数组
		int arr1[]= {1,2,3};
		int arr2[];
		arr2=new int[4];
		arr2[0]=10;
		arr2[1]=20;
		arr2[2]=30;
		arr2[3]=40;
		for(int i=0;i<arr2.length;i++) {
			System.out.println(arr2[i]);
		}
		System.out.println("=========");
		//foreach语句
		for(int x:arr1) {
        	System.out.println(x);}
	}

}

运行结果如下:
在这里插入图片描述
二维数组:

package 实验;

public class 二维数组 {

	public static void main(String[] args) {
		// 实现二维数组的遍历
		int list1[][]= {{1,2,3},{4,5,6}};
        int list2[][]=new int [3][4];
        for(int i=0;i<list1.length;i++) {
        	for(int j=0;j<list1[i].length;j++) {
        		System.out.println(list1[i][j]);
        	}
        }
	
	//foreach语句
        System.out.println("=========");
	for(int arr[]:list1) {
		for(int x:arr)
		{
			System.out.println(x);
		}
	}
	}
}

执行结果如下:
在这里插入图片描述
例3.定义等长的一维数组,进行值的互换(引入中间变量)

package 实验;

public class 值的互换 {

	public static void main(String[] args) {
		// 定义两个等长的一维数组,进行值的互换
        System.out.println("==============");
        int li1[]= {1,2,3,4};
        int li2[]= {5,6,7,8};
        int temp=0;
        for(int i=0;i<li1.length;i++) {
        	//引入中间变量
        	temp=li1[i];
        	li1[i]=li2[i];
        	li2[i]=temp;
        	System.out.println(li1[i]);
        }

	}

}

定义等长的一维数组,进行值的互换(简单代数运算)

package 实验;

public class 值的互换2 {

	public static void main(String[] args) {
		// 简单代数运算 只适用于数值型
		int li1[]= {1,2,3,4};
        int li2[]= {5,6,7,8};
        for(int i=0;i<li1.length;i++) {
		li1[i]=li1[i]+li2[i];
		li2[i]=li1[i]-li2[i];
		 li1[i]=li1[i]-li2[i];
		  System.out.println(li1[i]);}

	}

}

定义等长的一维数组,进行值的互换(位运算)

package 实验;

public class 值的互换3 {

	public static void main(String[] args) {
		// 简单代数运算 只适用于数值型
		int li1[]= {1,2,3,4};
        int li2[]= {5,6,7,8};
        for(int i=0;i<li1.length;i++) {
        	li1[i]=li1[i]^li2[i];
	        li2[i]=li1[i]^li2[i];
	        li1[i]=li1[i]^li2[i];
	        System.out.println(li1[i]);	}

	}

}

例4.实现冒泡排序法

package 实验;

public class 冒泡排序法 {

	public static void main(String[] args) {
		// 冒泡排序法
		 int listarr[]= {12,54,35,91,55,49,78,83};
	        for(int i=0;i<listarr.length;i++) {
	        	for(int j=0;j<listarr.length-1;j++) {
	        		if(listarr[i]<listarr[j]) {
	        			listarr[i]=listarr[i]^listarr[j];
	        			listarr[j]=listarr[i]^listarr[j];
	        			listarr[i]=listarr[i]^listarr[j];
	        		}
	        	
	        	}
	        }
	        for(int x:listarr) {
	        	System.out.println(x);}
	}

}

  • 简单代数运算(只适用于数值型)

  • a=1,b=2;

  • a=a+b; a=3,b=2

  • b=a-b; b=1,a=3

  • a=a-b; a=2,b=1

  • ^按位异或(只适用于整形)

  • 将数字转换为二进制进行比较,相同为0,不同为1

  • 注意java中二进制的表示方式

  • 二进制:0b开头

  • 八进制:0开头

  • 十进制:默认十进制

  • 十六进制:0x开头

  • 作用:1.是某些特定的位翻转
    2.实现两个值的交换,而不必使用临时变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值