首页 > 编程语言 >Java基础(For循环/While循环/一维数组/二维数组)

Java基础(For循环/While循环/一维数组/二维数组)

时间:2024-07-14 13:54:50浏览次数:17  
标签:初始化 Java int System 循环 数组 println out

for循环语句

for循环语句中两个分号是绝对不能少的,其他不可以没有,此时for循环就成了死循环。

public  class ForDemo
{

	public static void main(String[] args)
	{
		
		//死循环
		for(;;)
		{
			System.out.println("for---");
		}

	}


}

while循环语句

格式:
初始化部分
while(循环条件部分)
{
循环体部分;
迭代部分;
}
备注:当型循环语句,当循环条件为true时,才执行循环体部分和迭代部分。

public  class WhileDemo
{

	public static void main(String[] args)
	{
		
		//初始化部分
		int a = 10;
		int b = 2;
		//循环条件部分
		while(a > b)
		{
			//循环体部分
			System.out.println(a+" > "+b);
			//迭代部分
			//a--;
			b++;
		}
		
		System.out.println(a+" > "+b);//10>10
		
		//当循环条件为true时就是死循环了
		/*while(true)
		{
			//循环体部分
			System.out.println(" --> ");
		}*/
		
		//该循环一次也不执行,没有意义的代码
		/*while(false)
		{
			//循环体部分
			//System.out.println(" --> ");
		}*/
		
	}


}

dowhile循环语句

格式:
初始化部分;
do
{
循环体部分;
迭代部分;
}while(循环条件部分);
备注:该循环是一个直到型的循环,直到循环条件为false时,才停止循环。

public  class DoWhileDemo
{

	public static void main(String[] args)
	{
		
		//初始化部分
		int a = 6;
		do
		{
			//循环体部分
			System.out.println("a = "+a);
			//迭代部分
			a--;
		}while(a < 3);//循环条件部分
		
		System.out.println("a ---> "+a);//5

	}


}

循环嵌套

for/while/dowhile根据条件都是可以相互嵌套的。
break 结束switch语句,结束当前循环语句。
continue 结束本次循环,继续下一次循环。
return 结束当前方法,如果当前方法需要返回值,将返回值返回给调用者。

public  class TwoXhDemo2
{

	/**
	void表示没有返回值类型,即该方法什么也不返回。
	*/
	public static void main(String[] args)
	{
		
		//外层循环
		for(int i = 0;i < 9;i++)
		{
			//初始化while循环用到的变量
			int a = 9;
			//内层循环
			while(a > 3)
			{
				//迭代部分
				a--;
				if(a == 6)
				{
					//如果a的值等于6,则结束while循环语句
					//break;
					
					//如果a的值等于6,则结束本次循环,继续下一次循环
					//continue;
					
					//如果a的值等于6,则结束当前main方法
					return;
				}
				System.out.println("i = "+i+"\t a="+a);
				
			}
			
			System.out.println("i --- "+i+"\t a --- "+a);
			
		}
		
	}

}
public  class TwoXhDemo3
{

	public static void main(String[] args)
	{
		
		//标记/标号
		bh:for(int i = 0;i < 9;i++)
		{
			for(int j = 0;j < 6;j++)
			{
				if(j == 3)
				{
					//break bh;
					continue bh;
					//return关键字后面不能使用标号/标记
					//return bh;
				}
				
				System.out.println("i = "+i+"\t j = "+j);
			}
			//break;
		}
	}


}

数组

1.1、定义
数组就是类型统一且有序的数据组合而成的数据结构。
1.2、数组分为
数组分为一维数组和二维数组。
数组的下标/索引是从0开始的,到数组长度-1结束。
数组一旦初始化,长度是无法改变的。

1.3、一维数组

1.3.1、定义/声明
一维数组的定义:
格式:
数据类型[] 数组名; —推荐
数据类型 数组名[];
1.3.2、初始化
初始化分为:
静态初始化:
格式:
数组名 = new 数据类型[]{value1,…,valueN};
数据类型[] 数组名 = {value1,…,valueN}; —这一种必须是定义和初始化一起使用
动态初始化:
格式:
数组名 = new 数据类型[数组的长度];

package com.wlx.day03;

public class OneArrayDemo {

	public static void main(String[] args) {

		//定义int类型的一维数组a
		int[]  a;
		//定义double类型的一维数组d
		double   d[];
		
		//静态初始化一维数组a
		a = new int[]{12,26,36,46};
		//获取数组a中下标为1处的元素值
		System.out.println("a[1] = "+a[1]);
		//获取数组a的长度
		System.out.println("数组a的长度:"+a.length);
        //获取数组a的地址值
		System.out.println("a的地址值是:"+a);
		//获取数组a中46这个元素
		System.out.println("a[3] = "+a[3]);
		//遍历数组a中的元素
		for(int i = 0;i < a.length;i++)
		{
			System.out.println("a["+i+"] = "+a[i]);
		}
		
		//定义一个boolean类型的一维数组b,并初始化
		boolean[]  b = {true,false};
		
		//动态初始化一维数组d
		d = new  double[3];
		d[0] = 2.6;
		d[1] = 6.3;
		d[2] = 6.5;
		//遍历数组d中的元素
		for(int i = 0;i < d.length;i++)
		{
			System.out.println("d["+i+"] = "+d[i]);
		}

		
		
		
		
	}

}

1.3.3、foreach

格式:
for(数据类型 变量名 : 数组/字符串/集合/枚举)
{
循环体部分;
}

package com.wlx.day03;

public class ForEachDemo {

	public static void main(String[] args) {

		String[]  carinfo = new String[]{"坦克300","坦克500","坦克600","坦克700","坦克800"};
		
		//使用foreach遍历数组carinfo
		for(String s : carinfo)
		{
			System.out.println(s);
		}
		
	}

}

1.4、二维数组

1.4.1、定义
格式:
数据类型[][] 数组名; —推荐使用
数据类型[] 数组名[];
数据类型 数组名[][];
1.4.2、初始化
初始化分为:
静态初始化:
格式:
数组名 = new 数据类型[][]{{value1,…,valueN},…,{value1,…,valueN}};
数据类型[][] 数组名 = {{value1,…,valueN},…,{value1,…,valueN}}; —这一种必须是定义和初始化一起使用
动态初始化:
格式:
数组名 = new 数据类型[第一维的长度][第二维的长度];
第一维的长度其实就是二维数组中有几个一维数组,这个长度必须要写。
第二维的长度其实就是二维数组中的每一个一维数组的长度,这个长度可以不写。

package com.wlx.day03;

public class TwoArrayDemo {

	public static void main(String[] args) 
	{

		//定义/声明一个int类型的二维数组a
		int[][]  a;
		//定义/声明一个boolean类型的二维数组b
		boolean[]  b[];
		//定义/声明一个String类型的二维数组s
		String  s[][];
		
		
		//分别初始化二维数组
		//静态初始化数组a
		a = new int[][] {{12,26,22},{56,66,76}};
		//获取数组a[0]的地址值
		System.out.println("a[0]地址值:"+a[0]);
		//获取数组a[1]的地址值
		System.out.println("a[1]地址值:"+a[1]);
		//获取数组a中的12
		System.out.println("a[0][0] = "+a[0][0]);
		//获取数组a中的56
		System.out.println("a[1][0] = "+a[1][0]);
		//获取数组a中的46
		System.out.println("a[0][4] = "+a[0][4]);
		//获取数组a下标为0的一维数组的长度
		System.out.println("数组a下标为0的一维数组的长度:"+a[0].length);
		//获取数组a下标为1的一维数组的长度
		System.out.println("数组a下标为1的一维数组的长度:"+a[1].length);
		//遍历数组a中的元素值
		//遍历第一维的元素,即每一个一维数组
		for(int i = 0;i < a.length;i++)
		{
			//遍历第二维的元素,即二维数组中的实际的元素值
			for(int j = 0;j < a[i].length;j++)
			{
				System.out.println("a["+i+"]["+j+"] = "+a[i][j]);
			}
		}
		
		//动态初始化数组b
		b = new  boolean[2][3];
		
		//动态初始化数组s
		s = new String[2][];
		s[0] = new String[] {"aa","bb"};
		s[1] = new String[] {"hello","world","hi"};
		
		
	}

}

标签:初始化,Java,int,System,循环,数组,println,out
From: https://blog.csdn.net/HTDiiii/article/details/140415796

相关文章

  • 动态数组
    vector类说明:不强制类实际元素具有唯一性的集合;基本上是个数组,可以调大小扩大数组的过程:开始默认开辟一个单元大小,当扩大时,在内存上开辟一块空间比刚开始的大,再把之前的复制过来,再删掉旧的数组;基本使用代码示例:intmain(){std::vector<vertex>a;//把vertex存在一段内存......
  • Java零基础-集合:集合框架中的工具类
    哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。  我是一名后端开发爱好者,工作日常接触到最多的......
  • 记录些Java题集(1)
    接口防刷机制接口被刷指的是同一接口被频繁调用,可能是由于以下原因导致:恶意攻击:攻击者利用自动化脚本或工具对接口进行大量请求,以消耗系统资源、拖慢系统响应速度或达到其他恶意目的。误操作或程序错误:某些情况下,程序错误或误操作可能导致接口被重复调用,例如循环调用或者定时......
  • Java 异常艺术:自定义异常的魔力——解锁编程的新维度
    超越常规的错误管理在编程的宇宙中,错误和异常如同星云般存在,既神秘又充满挑战。Java的异常处理机制,尤其是自定义异常,为我们提供了驾驭这一领域的强大工具。本文将引领你深入自定义异常的奥秘,不仅从基础讲起,还将通过一系列详尽案例和扩展讨论,展现其在实际开发中的无限可能......
  • Java并发编程 - ReentrantLock
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、ReentrantLock是什么?二、基本使用2.1基本语法2.2经典案例-取款问题2.2.1不加锁情况2.2.2使用ReentrantLock三、特性3.1可重入3.2可打断3.2.1无竞争3.2.2有竞争-获取不到锁3.3.3......
  • 微信小程序源码-基于Java后端的医院体检管理系统毕业设计(附源码+论文)
    大家好!我是程序员一帆,感谢您阅读本文,欢迎一键三连哦。......
  • 【Java】文件压缩实现过程
           在Java中,文件压缩的实现主要依赖于java.util.zip包中的类,如ZipOutputStream和ZipEntry。这些类提供了创建和操作ZIP格式压缩文件的功能。下面将详细分析Java中文件压缩的实现过程:一、创建Zip文件 创建ZipOutputStream实例:要创建一个新的ZIP文件,首先需要......
  • 【Java】压缩包解压实现过程
        在Java开发中,处理压缩文件(如ZIP、RAR等)是一项常见的任务,特别是在需要处理大量数据、备份或分发应用程序时。Java标准库(JavaSE)提供了对ZIP格式的原生支持,通过java.util.zip包中的类来实现压缩和解压功能。本文将重点介绍如何使用Java来解压ZIP或RAR压缩包。一、解......
  • [0079]基于JAVA的专线物流智慧管理系统的设计与实现
    毕业设计(论文)开题报告表姓名学院专业班级题目基于JAVA的专线物流智慧管理系统的设计与实现指导老师(一)选题的背景和意义随着信息技术的发展和互联网的普及,物流行业正面临着一场深刻的变革。传统的物流管理模式已经无法满足现代企业的需求,因此开发一......
  • Java NIO SocketChannel
    JavaNIOSocketChannel用于将通道与TCP(传输控制协议)网络套接字连接。它相当于网络编程中使用的Java网络套接字(Socket)。JavaNIO中有两种可用于创建SocketChannel的方法:当传入连接到达ServerSocketChannel时,可以创建它。打开一个SocketChannel,并在网络上与服务器连接。......