JAVA增强for循环

JAVA增强for循环增强for循环为什么需要增强for循环呢?简化数组和集合的遍历。想要使用增强for循环必须先要了解它的格式增强for循环的格式for(数据类型变量名:数组或者集合对象){ //循环体,变量即元素}下边我们通过案例演示一下://需求通过增强for遍历list集合。publicstaticvoidmain(String[]args){ //复习一下如何创建List集合 //1.创建元素对象 Listlist=newArrayList(); }…

大家好,又见面了,我是你们的朋友全栈君。

增强for循环

为什么需要增强for循环呢?
简化数组和集合的遍历。
想要使用增强for循环必须先要了解它的格式
增强for循环的格式

for(数据类型  变量名 : 数组或者集合对象){ 
   
		//循环体,变量即元素
}

注意:
增强for的底层依赖的是迭代器。
也就是说增强for就是迭代器的简写形式。
下边我们通过案例演示一下:

//需求通过增强for遍历list集合。
public static void main(String[]args){ 
   
	//复习一下如何创建List集合
	//1.创建元素对象
	List list = new ArrayList();
	//添加元素
	list.add(10);
	list.add(20);
	list.add(30);
	list.add(40);
	list.add(50);
	//遍历集合
	for(Object obj : list ){ 
   
	System.out.println(obj);
	}
}//结果: 10,20,30,40,50

泛型

概念:即泛指任意类型,又叫参数化类型,对具体的使用起到辅助作用,类似于方法的参数。
集合一般只和集合一起使用

集合类泛型的解释:

表示该集合中存放指定类型的元素。
泛型的好处:
1. 类型安全(将错误提前到编译时期)
2. 避免了类型转换

package cn.heima.collection;

import java.util.ArrayList;
import java.util.List;

public class Test { 
   
	public static void main(String[] args) { 
   
		//不使用泛型的集合
		//1.创建集合对象
		List list = new ArrayList();
		//2.创建元素对象
		//3.将元素对象添加到集合中
		list.add("a");
		list.add("b");
		list.add("c");
		//list.add(10);这里运行时会报类型转换异常
		//遍历集合
		for (Object object : list) { 
   
			String s = (String) object;//想要通过String类型接收必须先强制类型转换
			System.out.println(s);//结果a b c
		}
		//需求:使用泛型
		//1.创建集合对象
		//从jdk1.7开始后边的泛型可以省略不写
		List<String> list2 = new ArrayList<>();
		//2.创建元素对象
		//3.将元素对象添加到集合对象中
		list2.add("abc");
		list2.add("bac");
		list2.add("cba");
		//list2.add(10);这里在写的时候就会出现编译不通过
		for (String string : list2) { 
   
			System.out.println(string);
			//结果:abc bac cba

		}
	
}
/* 总结:泛型一般和集合结合使用。 泛型是jdk1.5的新特性,但是从jdk1.7对泛型进行了优化,集合中后边的泛型可以默认不写。 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148898.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 完美解决VMware Tools一直灰色 无法安装问题!从问题分析 到成功安装 !保姆级教学!!

    完美解决VMware Tools一直灰色 无法安装问题!从问题分析 到成功安装 !保姆级教学!!我不知道你使用的版本是啥,请耐心看完其余版本我不知道务必对号入座:记录日期:2020/12/15Ubantu:ubuntu-20.04.1-desktop-amd64.iso(到现在为止最新版)Vmware:VMware-workstation-full-16.1.0-17198959.exe(到现在为止最新版)问题描述:新手想安装VMwaretools与主机进行文件共享虚拟机(M)–>安装VMwareTools(T)一直显示灰色按键一直不好使尝试了很多次什么

    2022年5月25日
  • QDialog show

    QDialog类exec()与show()的区别

    2022年4月9日
  • java中的全局变量和局部变量_JVM中基本变量放在哪

    java中的全局变量和局部变量_JVM中基本变量放在哪正在使用NetBeans做一个稍大点的程序,刚刚学习使用,感觉程序中需要用到全局变量(其实java中是没有全局变量这个概念的)。在网上查了不少的资料,得到一点点体会:首先,java中是没有全局变量这个概念的,java程序中不能像C++那样在类外定义全局变量,因为JAVA当初出现的初衷就是为了安全性和跨平台性,所以去掉了类似C、C++中的全局变量的概念。JAVA中不应该有所谓全局变量的概念,全局变量…

    2022年8月21日
  • getopt使用

    getopt使用参考:http://www.gnu.org/software/libc/manual/html_node/Example-of-Getopt.htmlhttp://en.wikipedia.org/wiki/Getopthttp://www.lemoda.net/c/getopt/http://www.ibm.com/developerworks/aix/library/au-un…

    2022年5月4日
  • Django(52)APIView详解[通俗易懂]

    Django(52)APIView详解[通俗易懂]APIView视图类在DRF中,推荐使用类视图,因为类视图可以通过继承的方式把一些重复性的工作抽取出来,而使得代码更加简洁。当然如果你不想使用类视图,那么就用@api_view装饰器包裹一下就可以。

    2022年7月29日
  • 图像处理5:Sobel边缘检测算子(C++)[通俗易懂]

    图像处理5:Sobel边缘检测算子(C++)[通俗易懂]voidCMFCworkDlg::OnBnClickedButton7(){ //TODO:在此添加控件通知处理程序代码 //Sobel算子边缘检测 Matimage=imread(“ema.jpg”,1); Matimage_gray=gray_img(image); Matgradx,grady; gradx.create(image.size(),CV_8UC1); grady.create(image.size(),CV_8UC1); for..

    2022年7月15日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号