JavaEE学习日志持续更新----> 必看!JavaEE学习路线(文章总汇)

Java学习日志(八)

  • 可变参数
  • debug断点调试
  • 静态导入
  • 集合嵌套

可变参数

JDK1.5之后的新特性

作用:当我们定义方法的时候,方法参数的数据类型已经确定,但是参数的个数不确定,就可以使用可变参数

格式

修饰符 返回值类型 方法名(数据类型...变量名){方法体;
}

底层原理
数据类型…变量名,传递参数个数可以是任意个(0,1,2,…n),会根据传递参数的个数,创建一个对应的数字,来存储这些参数,可以把可变参数看成一个数组,只是这个数组会根据参数个数产生变化

示例

public class Demo01 {public static void main(String[] args) {//int sum = getSum();//int sum = getSum(10);//int sum = getSum(10,20);int sum = getSum(10,20,30,40,50,60,70,80,90,100);System.out.println(sum);}//getSum(),会创建一个长度为0的数组,存储参数int[] arr = new int[]{}//getSum(10),会创建一个长度为1的数组,存储参数int[] arr = new int[]{10}//getSum(10,20),会创建一个长度为2的数组,存储参数int[] arr = new int[]{10,20}//getSum(10,20,30,40,50,60,70,80,90,100),会创建一个长度为10的数组,存储参数int[] arr = new int[]{10,20,30,40,50,60,70,80,90,100}private static int getSum(int... arr) {//System.out.println(arr);//[I@5fd0d5ae//System.out.println(arr.length);//定义一个变量,初始值为0,记录累加求和int sum = 0;for (int i : arr) {//累加和求sum += i;}return sum;}
}

注意事项

  1. 一个参数列表中,只能包含一个可变参数
public static void method(int...a,int...b){}//报错
  1. 参数列表中有多个参数,可变参数需要写在末尾
public static void method(int a,String b,double d,int...arr){}
  1. 可变参数终极写法
public static void method(Object...o){}

debug断点调试

作用:

  1. 查找程序执行的流程
  2. 调试程序运行过程中出现的一些问题

使用步骤:

  1. 在行号的左边,鼠标左键单击增加一个断点
  2. 右键debug执行
  3. 程序就会停止到添加的第一个断点处

快捷键:

  • F8:逐行执行代码
  • F7:进入到方法中
  • Shift+F8:跳出方法
  • F9:跳到下一个断点,没有下一个断点,程序结束
  • Ctrl+F2:停止debug,也会停止程序
  • console:切换到控制台
  • variables:显示程序中所有变量的区域

静态导入

JDK1.5新特性,静态导入

作用:减少开发的代码量

标准写法:导入包的时候才能使用
import static java.lang.System.out;最末尾(out),必须是一个静态成员

示例

import java.util.ArrayList;import static java.util.Collections.sort;
import static java.lang.System.out;
public class Demo01 {public static void main(String[] args) {out.println(1);//System.out.println(1);out.println(2);ArrayList<Integer> list = new ArrayList<>();list.add(2);list.add(1);list.add(3);sort(list);//Collections.sort(list);out.println(list);}
}

集合嵌套

集合可以随意嵌套(Map可以嵌套Collection,Collection也可嵌套Map)

示例

public class Demo01 {public static void main(String[] args) {//定义一个存储省份名称和城市的Map集合Map<String, ArrayList<String>> map = new HashMap<>();//创建存储城使的ArrayList<String>集合ArrayList<String> hb = new ArrayList<>();hb.add("石家庄");hb.add("张家口");hb.add("承德");hb.add("邯郸");ArrayList<String> nmg = new ArrayList<>();nmg.add("呼和浩特");nmg.add("包头");nmg.add("赤峰");nmg.add("锡林郭勒");ArrayList<String> gd = new ArrayList<>();gd.add("深圳");gd.add("广州");gd.add("东莞");gd.add("赤峰");//添加到map中map.put("河北省",hb);map.put("内蒙古",nmg);map.put("广东省",gd);//遍历map集合:keySet+增强forSet<String> set = map.keySet();for (String key : set) {//通过key获取valueArrayList<String> value = map.get(key);//遍历ArrayList集合for (String cityName : value) {System.out.println(key+"-->"+cityName);}}}
}

Java学习日志(八): 可变参数,debug断点调试,静态导入,集合嵌套相关推荐

  1. Java学习第十二天----方法参数类型以及返回值类型问题、链式编程、package包、权限修饰符、内部类、成员内部类

    Java学习第十二天----方法参数类型以及返回值类型问题.链式编程.package包.权限修饰符.内部类.成员内部类 1.方法参数类型: (1)类名作为形式参数: public class MyTe ...

  2. 题解,java学习日志(3)

    题解 U - 速算24点 D - Bank(标记) E.2xN Grid C.Findand Replace D.Odd Queries 搜索题组 U - 速算24点 思路:map映射将特定字符转化成 ...

  3. python中debug断点调试

    python Debug 断点调试 断点(break point)是指在代码中指定位置,当程序运行到此位置时变中断下来,并让开发者可查看此时各变量的值.因断点中断的程序并没有结束,可以选择继续执行. ...

  4. Java基础笔记 – 枚举类型的使用介绍和静态导入

    Java基础笔记 – 枚举类型的使用介绍和静态导入 本文由 arthinking 发表于404 天前 ⁄ Java基础 ⁄ 暂无评论 ⁄ 被围观 1,433 views+ 1.枚举(Enum): JD ...

  5. java 使用反射调用可变参数方法

    使用反射操作对象-调用可变参数方法 要把可变参数都当做是其对应的数组类型参数; 如 show(XX... is)作为show(XX[] is)调用; 若可变参数元素类型是引用类型: JDK内部接收到参 ...

  6. Java方法4:可变参数

    可变参数 这是从 JDK 1.5才开始有的特性(Java支持传递同类型的可变参数给一个方法) 在方法声明中在指定的参数类型后面加三个点(-) public static void main(Strin ...

  7. JAVA学习第八周总结

    CSS定位属性 <!DOCTYPE html> <html><head><meta charset="utf-8" /><ti ...

  8. 【Java学习笔记八】包装类和vector

    包装类 在Java语言中,每一种基本的数据类型都有相应的对象类型,称为他们基本类型的包装类(包裹类). 字节byte:Byte.短整数型short:Short 标准整数型int:Integer.长整数 ...

  9. java周志第二周_第二周JAVA学习日志

    从这周老师讲的东西中,我了解了许多以前不懂得东西.这周老师布置的作业,对我来说真的有点困难.通过上课的学习和下来翻书,勉强完成了一个登录界面的制作.这周学习的事件处理和swing组建以及swing组建 ...

最新文章

  1. 【delphi】Byte数组与String类型的转换
  2. [ARM-assembly]-ARMv8-A64指令集总结和学习
  3. unresolved external symbol怎么解决_收藏!用Kubernetes和PKS 1.5解决Windows Server2008的问题...
  4. python中的引用类型_Python 中的引用和类属性的初步理解
  5. 传递function_boost库function与bind
  6. 跟益达学Solr5之使用Tika从PDF中提取数据导入索引(转字:http://www.tuicool.com/articles/JfUfaey)
  7. Anaconda python3.6版本下载
  8. 有关计算机科学导论的说法,计算机科学导论__练习题_汇总.docx
  9. java 单向链表 双向链表_java 单向链表与双向链表的实现
  10. python if elif else
  11. ACM-ICPC 2018 南京赛区网络预赛Sum,线性筛处理积性函数
  12. LaTex中“图片引用失败,显示(??)”的解决办法
  13. 日历的java包_java11教程--包java.time.chrono介绍
  14. 34个非常实用的JS一行代码
  15. 数据分析案例-电影数据分析
  16. 服务器数据库只读怎么修改权限,设置mysql数据库为只读权限
  17. java jks 转pfx_JKS、BKS、PFX证书格式之间转换
  18. Spring错误——Spring 注解——factory-bean reference points back to the same bean definition
  19. 用D3.js绘制完整的流程图demo
  20. Windows下的gotoxy 函数

热门文章

  1. 有一种游戏(从妄撮谈起)
  2. 2022/6/30 学习日志
  3. 《步步为营》 封装 Win7 教程 - 第一节
  4. win7天翼live
  5. Java UI组件和多媒体
  6. Phpstorm2018 使用破解补丁永久激活
  7. Word怎样将图片设置插入艺术效果?分享技巧!如何把word图片操作添加艺术效果?
  8. ISO/IEC 14496
  9. 2016年4月Mac OS 10.11安装文档
  10. 什么是QinQ, QinQ基础,VLAN双层TAG