黑马程序员___java5.0新特性

 ----------- android培训、java培训、java学习型技术博客、期待与您交流! ---------

1.       静态导入

Import static  java.lang.*.*;

2.       可变参数

可变参数的特点:相当于一个可边长度的数组。

1.只能出现在参数列表的最后

2.位于变量类型和变量名之间,前后有无空格都可以。

3.调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。

在调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。

例子:

Public static int  add(int x,int… args)

{

           Int sum=x;

           For(int i=0;i<args.length;i++)

                    {

                             Sum+=args[i];

}

}

3.       增强for循环

语法:for(type 变量名:集合变量名)

                    {

                             ………..

}

         注意事项:迭代变量必须在()中定义,集合变量可以是数组或实现了Iterable接口的集合类。

例子:

Public static int  add(int x,int… args)

{

           Int sum=x;

           For(int arg: args)

                    {

                             Sum+=arg;

}

}

高级for循环和传统for循环的区别:?

高级for循环在使用时,必须要明确被遍历的目标。这个目标,可以是Collection集合或者数组,如果遍历Collection集合,

在遍历过程中还需要对元素进行操作,比如删除,需要使用迭代器。 

 

如果遍历数组,还需要对数组元素进行操作,建议用传统for循环因为可以定义角标通过角标操作元素。

如果只为遍历获取,可以简化成高级for循环,它的出现为了简化书写。

 

高级for循环可以遍历map集合吗?

不可以。但是可以将map转成set后再使用foreach语句。

1)、作用:对存储对象的容器进行迭代: 数组  collection  map 

2)、增强for循环迭代数组: 

String[] arr = {"a", "b", "c"};//数组的静态定义方式,只适用于数组首次定义的时候 

for(String s : arr)

{ 

    System.out.println(s); 

  }

3)、单列集合 Collection: 

List list = new ArrayList();

list.add("aaa"); 

//增强for循环, 没有使用泛型的集合能不能使用增强for循环迭代?

 

能

for(Object obj : list) 

{

  String s = (String) obj;

   System.out.println(s); } 

 

4)、双列集合 Map: 

Map map = new HashMap(); 

map.put("a", "aaa"); 

// 传统方式:必须掌握这种方式 

Set entrys = map.entrySet();

 

 //1.获得所有的键值对Entry对象

iter = entrys.iterator(); 

 

//2.迭代出所有的entry 

 

while(iter.hasNext()) { 

Map.Entry entry = (Entry) iter.next();

 

String key = (String) entry.getKey();

 

 //分别获得key和value

 

String value = (String) entry.getValue();

System.out.println(key + "=" + value); } 

 

// 增强for循环迭代:原则上map集合是无法使用增强for循环来迭代的,因为增强for循环只能针对实现了Iterable接口的集合进行迭代;

Iterable是jdk5中新定义的接口,就一个方法iterator方法,只有实现了Iterable接口的类,才能保证一定有iterator方法,

java有这样的限定是因为增强for循环内部还是用迭代器实现的,而实际上,我们可以通过某种方式来使用增强for循环。

 

 for(Object obj : map.entrySet())

 { 

     Map.Entry entry = (Entry) obj; // obj 依次表示Entry 

    System.out.println(entry.getKey() + "=" + entry.getValue()); } 

 

5)、集合迭代注意问题:在迭代集合的过程中,不能对集合进行增删操作(会报并发访问异常);

   可以用迭代器的方法进行操作(子类listIterator:有增删的方法)。

6)、增强for循环注意问题:在使用增强for循环时,不能对元素进行赋值;

   

    int[] arr = {1,2,3};

    for(int num : arr) { 

    num = 0; //不能改变数组的值 

    } 

 

    System.out.println(arr[1]);  

 

 

4.       基本数据类型的自动拆装箱

自动装箱:

Integer iobj=3;

自动拆箱:

                 System.Out.print(iobj+12);

      java中数据类型分为两种 :

基本数据类型

引用数据类型(对象)

在 java程序中所有的数据都需要当做对象来处理,针对8种基本数据类型提供了包装类,如下:

int --> Integer 

byte --> Byte 

short --> Short

long --> Long 

char --> Character 

double --> Double

float --> Float 

boolean --> Boolean 

jdk5以前基本数据类型和包装类之间需要互转:

 

基本---引用 Integer x = new Integer(x); 

引用---基本 int num = x.intValue(); 

1)、Integer x = 1; 

    x = x + 1;经历了什么过程 装箱----拆箱----装箱; 

2)、为了优化,虚拟机为包装类提供了缓冲池,Integer池的大小-128~127 一个字节的大小;

3)、String池:Java为了优化字符串操作  提供了一个缓冲池;

 ----------- android培训、java培训、java学习型技术博客、期待与您交流! ---------

转载于:https://www.cnblogs.com/miaozy/p/3740340.html

【花雕学编程】Arduino ESP32 SPP 之使用Servo库控制360度舵机正反转 使用 Servo 库控制 360 度舵机的正反转是 Arduino ESP32 SPP 应用中的一个重要案例,具有简易控制接口、灵活速度调节和高兼容性等特点,广泛应用于机器人、自动化装置和动态艺术等领域。在第三个案例中,使用map()函数将用户输入的速度参数(范围0-100)映射到舵机控制的角度(0-180),使得用户能够以更人性化的方式控制舵机速度。5、创新:Arduino可以让你用电子的方式来表达你的创意和想象,你可以用Arduino来制作各种有趣和有用的项目,如机器人、智能家居、艺术装置等。 阅读详情

相关推荐

【Agora 本地录制最全总结- 基于Java SDK】

Agora 本地服务端录制

lizhengze1117的博客 1790

黑马程序员——JAVA学习笔记——Jdk5.0新特性

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- Jdk5.0新特性: 1、JAVA新特性对数组的支持 1.1   可变参数: 以往:调用一个方法时,必须根据方法的定义传递指定的参数 新特性:方法中可以接收的参数不再固定,可以随意。 定义格式: 返回值类型  方法名称(类型…参数名称){} 注意:此时向方法中传递可变参数后,其中

tubao1991的专栏 496

DANN实战:用Python手把手教你实现对抗迁移学习(附完整代码)

本文通过Python实战教程,手把手教你实现DANN对抗迁移学习模型,以解决领域偏移问题。文章详细解析了领域对抗神经网络的核心机制,包括梯度反转层和领域判别器的构建,并提供了从数据准备、模型搭建到训练评估的完整代码,帮助开发者快速掌握这一强大的无监督领域自适应技术。

net55的博客 317

黑马程序员_java jdk5.0新特性和枚举的学习笔记

------- android培训、java培训、期待与您交流! ----------   1.Jdk5.0新特性: Collection在jdk1.5以后,有了一个父接口Iterable,这个接口的出现的将iterator方法进行抽取,提高了扩展性。 2.增强for循环   格式:    for(数组或集合中的元素类型 变量名 : 数组或者Collection集合)

gsdimz的专栏 633

ComfyUI 的 LoRA 训练:素材打标签与调优全攻略

标签是 LoRA 训练的"地基"——地基打不牢,后续调参再精细也难出好效果。记住:标签要"少而精",聚焦独特点,用触发词控效果。下一篇我们将讲解参数设置,让你的优质标签发挥最大价值~

2301_78150483的博客 3098

C# 【WebService编写调用】

😹 觉得博主文章写的不错的话,希望大家三连(✌关注,✌点赞,✌评论),多多支持一下!!!

只有登上山顶,才能看到那边的风光 1173

黑马程序员_张孝祥高级技术java5.0新特性

Eclipse的使用技巧 ---------------------- android培训、java培训、期待与您交流! ---------------------- Eclipe和Myeclipese的关系  MyEclipses是eclipse的一个插件,他是用java开发的,所以在启动的时候也是启动java虚拟机,所以的启动的时候也有点慢。 Eclipse是IDE开发工具,IDE的全

longqiankun的专栏 5376

complier lab2

只需支持定义 main 函数即可不带参数 int main(){...}带参数 int main(int argc, int argv){...}

qq_43581843的博客 904

黑马程序员----------java基础知识之JDK5.0新特性总结

----------------------android培训、java培训、期待与您交流! ---------------------- 下面简单总结

zixue793938813的专栏 538

海德汉机床采集数据

海德汉数控系统我一般在高端机床上见得比较多。有好多五轴加工精度比较高的机床都用的是海德汉的系统。市面上常见的有530和640等型号。海德汉的采集还是有点难度的,需要对SDK有深度的了解。

若云流风的专栏 1526

【低照度图像增强系列】使用MSRCR(Multi-Scale Retinex with Color Restoration)算法对低照度图像进行增强处理

【低照度图像增强系列】使用MSRCR(Multi-Scale Retinex with Color Restoration)算法对低照度图像进行增强处理

静谧、淡雅 648

黑马程序员_Java基础加强(上)_eclipse及5.0新特性_26

------- android培训、java培训、期待与您交流!----------   1、课程价值与目标介绍 l  在这个行业中有没有前途就看你的基础怎么样,但是不学高级也不行,高级可以促进我们的基础。用人单位判断你的能力如何,也是看重你对这些基础知识的深入程度,看重你学习新知识的能力。   2、eclipse及IDE开发工具介绍 l  myeclipse是eclipse开发jav

我家桂花香 763

【制作100个unity实战之2】实现一款简单的FPS游戏

你将学到: fps武器脚本 基础瞄准功能 僵尸敌人AI 巡逻范围 攻击间 搜寻半径 追击 枪声吸引周围的僵尸 击中僵直效果

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 3550

黑马程序员——Java5的新特性

------- android培训、java培训、期待与您交流! ---------- Java5的新特性 1、静态导入 使用静态导入可以使被导入类的所有静态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名。 import 语句可以导入一个类或某个包中的所有类。 import static 语句导入一个类中的某个静态方法或所有静态方法。 例如: impor

chenweizuo的专栏 436

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

黑马程序员_JDK1.5新特性总结

-------http://www.itheima.com/"">android培训、<a href="http://www.itheima.com/" ">java培训期待与您交流!----------

javamu的专栏 757

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

黑马程序员-java高新之1.5新特性

--------------------- android培训、java培训、java学习型技术博客、期待与您交流! -------------------

liaoxuan21的专栏 457

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

黑马程序员——Java中JDK1.5的一些新特性

------- android培训、java培训、期待与您交流! -------   Java语言的升级,带来了许多的好处,提供了许多的便利,JDK1.5的新特性有静态导入,可变参数,枚举,注解,增强for循环,内省等,下面对这些新特性做了一些总结:   静态导入: 例如:Import  static  java.lang.Math.*;   可变参数的特点: (1)    只

InsistOwn的博客 548

黑马程序员---5.0新特性

本篇主要是对java 5.0后的新特性进行讲解,面试中也经常问起。   静态导入:是5.0过后的新特性           import static java.lang.Math.*;导入类下所有的静态方法。      import static java.lang.Math.Max;导入类下某一个的静态方法            方法使用:       import static

start_zhang的专栏 635

黑马程序员 Java1.5的新特性简介

“JDK1.5”的一个重要主题就是通过新增一些特性来简化开发,这些特性包括泛型,for-each 循环,自动装包/拆包,枚举,可变参数, 静态导入 。使用这些特性有助于我们编写更加清晰,精悍,安全的代码。 一. 首先简单介绍一下各种特性及其使用 1.泛型(Generic) C++通过模板技术可以指定集合的元素类型,而Java在1.5之前一直没有相对应的功能。一个集合可以放任何类型的对

jwx555的专栏 416

黑马程序员_JAVA8新特性

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

873

黑马程序员——java高新---JDK1.5新特性和反射

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一、JDK1.5新特性   ——>静态导入   import和import static之间的区别:     1、import是导入一个类或某个包中所有的类。     2、import static是导入一个类中的某个静态成员或所有的静态成员。     注意: ...

Sa916487698的博客 412

黑马程序员——Java 5新特性

黑马程序员——Java 5新特性 ---------------------- android培训、java培训、期待与您交流! ---------------------- 一、静态导入 import static java.lang.Math.*; public class StaticImport { public static void main(String

冯焱 569

黑马程序员——JDK5.0新特性

------- android培训、java培训、期待与您交流! ---------- 现在首先摘录一部分网上的总结,自己会在下面加上自己写的例子。 1.泛型(Generic)   C++通过模板技术可以指定集合的元素类型,而Java在1.5之前一直没有相对应的功能。一个集合可以放任何类型的对象,相应地从集合里面拿对象的时候我们也不得不对他们进行强制得类型转换。猛虎引入了泛型,它允许指定集合

xiaoao7jianghu7的专栏 1391

黑马程序员——java基础---JDK1.5新特性

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- Jdk1.5新特性 一,自动装箱与拆箱 Java有基本数据类型,在这些基本数据类型周围又有包装类。通常,我们需要将一种类型转换成另一种。 自动装包:基本类型自动转为包装类(int> Integer) 自动拆包:包装类自动转为基本类型(Integer > int) 在J

Smile_Dark的博客 580

黑马程序员_java学习笔记16—java5的新特性

------- android培训、java培训、期待与您交流! ---------- Java 5中的新特性 一、静态带入 (1) import语句可以导入一个类或某个包中的所有类     (2 )import static语句导入一个类中的某个静态方法或所有静态方法 语法举例:  import static java.lang.Math.sin; import stati

gawain1990的专栏 2337

黑马程序员——其他4:JDK1.5新特性介绍

基本数据对象包转类及其方法介绍

axr1985lazy的专栏 456
上一篇: 黑马程序员___java反射机制
下一篇: 黑马程序员___java注解小结
alg89136
博客等级 码龄12年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值