当前位置: 首页 > news >正文

【Java 第四篇章】流程控制、容器

一、流程控制

1、概念

    //1.if//2.if...else//3.if...else if...else...//4.switch//5.跳出循环体:break和continue

2、语法

    //1. ifif(条件表达式){//执行代码块}//2.if...elseif(条件表达式){//条件表达式为真执行的代码块} else {//条件表达式为假执行的代码块}//3.if...else if...else...if(条件表达式){//条件表达式符合条件执行的代码块} else if(条件表达式) {//条件表达式符合条件执行的代码块} else {//默认执行的代码块}//4.switchswitch(expression){case value ://语句break; //可选case value ://语句break; //可选//你可以有任意数量的case语句default : //可选//语句}

3、案例

    public static void main (String[] args) {int a = 15;//1.ifif(a<6){System.out.println("简单的判断语句");}//2.if...else...if(a<6){System.out.println("if...else... 条件表达式为真");} else {System.out.println("if...else... 条件表达式为假");}//3.if...else if...else...if(a<6){System.out.println("if...else if...else... 条件表达式为真");} else if(a==6){System.out.println("if...else if...else... 条件表达式为假");} else {System.out.println("默认执行的代码块");}//4.switchint a = 10;switch(a){case 1:System.out.println("得分" + a); break;case 2:System.out.println("得分" + a); break;case 3:System.out.println("得分" + a); break;case 4:System.out.println("得分" + a); break;case 5:System.out.println("得分" + a); break;case 6:System.out.println("得分" + a); break;default:System.out.println("没获取得分"); }

二、单列集合和双列集合

1、Java 中单列集合的组成方式由下面的方式构成

在这里插入图片描述

  • HashSet 的底层数据结构是哈希表,哈希表主要由 hashCode()equals() 两个方法保证唯一性的,首先判断 hashCode() 的值是否相同,如果相同继续执行 equals() 方法,(看返回的结果:如果返回 true:不添加,返回 false:添加)。如果返回不同,直接存入。
  • LinkedHashSet 的底层数据结构是链表和哈希表组成,链表保证元素的有序;哈希表保证元素的唯一性。
  • TreeSet 底层数据结构是红黑树。
  • ArrayList 底层数据结构是数组,查询速度快,增删慢,但是线程不安全,效率高。数据是有序、可重复。
  • Vector 底层数据结构是数组,查询快,增删慢。线程安全、效率低。数据是有序、可重复。
  • LinkedList 底层数据结构是链表,查询慢,增删快。存储数据的特点是数据有序、可重复。

2、Java 中双列集合的组成方式由下面的方式构成

在这里插入图片描述

  • Map 双列集合的特点是数据结构只对 key 值有效和值无关。存储的形式是以 键值 对的形式存储元素的, 是唯一的, 可能会重复。
  • HashMap 底层数据结构是哈希表,线程不安全、效率高。哈希表主要依赖的两个方法:hashCode()equals() 执行的顺序是首先判断 hashCode() 值是否相同。如果相同继续执行 equals() 然后再看返回结果, 如果返回 true 说明元素重复,不添加;如果返回 false 就直接添加到集合.
  • LinkedHashMap 底层数据结构是链表和哈希表组成,链表保证元素的有序;哈希表保证数据的唯一性。
  • Hashtable 底层数据结构是哈希表,线程安全,效率低。
  • TreeMap 底层数据结构是红黑树。

三、声明数组

//数组://语法:type [] arrayName;或者type arrayName [];//初始化://静态初始化://方式1int [] arr = new int[]{5, 6, 7, 8, 9};System.out.println(arr[1]);//方式2int [] arrName = {1, 2, 3, 4, 6};//动态初始化:int [] arrs = new int[5];//存值&获取值://获取值arrayName[索引位置]//存值arrayName[索引位置] =;
//循环// 1.whilewhile( 布尔表达式 ) {//循环内容}//2.do...while...//循环至少执行一次do {//循环内容} while(条件表达式);//3.普通for循环for(初始化; 布尔表达式; 更新) {//执行代码块}//4.增强forfor(声明语句 : 表达式) {//执行代码块}

四、容器的声明和遍历

    //HashSetpackage com.tsing.extend.demo9;import java.util.HashSet;public class DemoHashSet {public static void main(String[] args) {HashSet<String> hs = new HashSet<String>();//addhs.add("测试1");hs.add("测试1");hs.add("测试2");hs.add("测试3");//deletehs.remove("测试2");//update//这个需要配合查询需要删除的元素,然后执行删除操作,最后将新的数据添加进去。//searchfor (String str : hs) {System.out.println(str);}}}//TreeSetpackage com.tsing.extend.demo9;import java.util.TreeSet;public class DemoTreeSet {public static void main(String[] args) {TreeSet<String> ts = new TreeSet<String>();//addts.add("ceshi1");ts.add("ceshi2");ts.add("ceshi3");ts.add("ceshi3");ts.add("ceshi4");//deletets.remove("ceshi4");//update//这个需要配合查询需要删除的元素,然后执行删除操作,最后将新的数据添加进去。//searchfor (String str : ts) {System.out.println(str);}}}//ArrayListpackage com.tsing.extend.demo9;import java.util.ArrayList;public class DemoArrayList {public static void main(String[] args) {ArrayList<String> al = new ArrayList<String>();//addal.add("ceshi1");al.add("ceshi2");al.add("ceshi3");al.add("ceshi3");al.add("ceshi4");//deleteal.remove("ceshi1");al.remove(2);//根据索引删除//update//这个需要配合查询需要删除的元素,然后执行删除操作,最后将新的数据添加进去。//searchfor (String str : al) {System.out.println(str);}}}//Vectorpackage com.tsing.extend.demo9;import java.util.Vector;public class DemoVector {public static void main(String[] args) {Vector<String> v = new Vector<String>();//addv.add("ceshi1");v.add("ceshi2");v.add("ceshi3");v.add("ceshi4");v.add("ceshi4");//deletev.remove("ceshi1");v.remove(3);//根据索引删除数据//update//这个需要配合查询需要删除的元素,然后执行删除操作,最后将新的数据添加进去。//searchfor (String str : v) {System.out.println(str);}}}//LinkedListpackage com.tsing.extend.demo9;import java.util.LinkedList;public class DemoLinkedList {public static void main(String[] args) {LinkedList<String> ll = new LinkedList<String>();//addll.add("ceshi1");ll.add("ceshi2");ll.add("ceshi3");ll.add("ceshi4");ll.add("ceshi5");//deletell.remove(0);ll.remove("ceshi5");//updatell.set(2, "测试2");//searchfor (String str : ll) {System.out.println(str);}}}//HashMappackage com.tsing.extend.demo9;import java.util.HashMap;import java.util.Map;import java.util.Set;public class DemoHashMap {public static void main(String[] args) {HashMap<String,String> map = new HashMap<String, String>();//addmap.put("1", "值1");map.put("2", "值2");map.put("3", "值3");map.put("4", "值4"); //这个覆盖掉map.put("4", "值5"); //deletemap.remove("1");//updatemap.put("2", "修改后的值2");//searchSet<Map.Entry<String,String>> en = map.entrySet();for (Map.Entry<String, String> entry : en) {System.out.println("key: " + entry.getKey() + " value: " + entry.getValue());}}}//HashTablepackage com.tsing.extend.demo9;import java.util.Hashtable;import java.util.Map;import java.util.Set;public class DemoHashtable {public static void main(String[] args) {Hashtable<String, String> hb = new Hashtable<String, String>();//addhb.put("1", "值1");hb.put("2", "值2");hb.put("3", "值3");hb.put("4", "值4"); //这个覆盖掉hb.put("4", "值5"); //deletehb.remove("1");//updatehb.put("2", "修改后的值2");//searchSet<Map.Entry<String,String>> en = hb.entrySet();for (Map.Entry<String, String> entry : en) {System.out.println("key: " + entry.getKey() + " value: " + entry.getValue());}}}//TreeMappackage com.tsing.extend.demo9;import java.util.Map;import java.util.Set;import java.util.TreeMap;public class DemoTreeMap {public static void main(String[] args) {TreeMap<String, String> tm = new TreeMap<String, String>();//addtm.put("1", "值1");tm.put("2", "值2");tm.put("3", "值3");tm.put("4", "值4"); //这个覆盖掉tm.put("4", "值5"); //deletetm.remove("1");//updatetm.put("2", "修改后的值2");//searchSet<Map.Entry<String,String>> en = tm.entrySet();for (Map.Entry<String, String> entry : en) {System.out.println("key: " + entry.getKey() + " value: " + entry.getValue());} }}//循环//1.whilepublic static void main (String[] args) {int x = 10;while(x < 20) {System.out.print("value of x : " + x );x++;System.out.print("\n");}}//2.do...while...public static void main (String[] args) {int x = 10;do{System.out.print("value of x : " + x );x++;System.out.print("\n");} while (x < 12);}//3.forpublic static void main (String[] args) {for(int i = 0; i <= 10; i++){System.out.println("执行了第" + i + "次");}}//4.增强forpublic static void main (String[] args) {String[] names = { "李栋", "王彦舒", "老子恨你" };for( String name : names ) {System.out.println(name);};}
http://www.lryc.cn/news/415823.html

相关文章:

  • 华为云全域Serverless技术创新:全球首创通用Serverless平台被ACM SIGCOMM录用
  • 除自身以外数组的相乘 C++
  • Element UI 如何配置文件来设置全局的语言选项。
  • Windows 常用命令集锦
  • 第一阶段面试问题(后半部分)
  • 【AIGC】ComfyUI入门-使用ComfyUI_MagicClothing插件在生成图片时候出现的问题
  • 巴黎奥运会8K转播科技为国产品牌自主研发设计
  • 【Material-UI】Button 组件中的图标和标签按钮(Buttons with Icons and Label)详解
  • K个一组翻转链表(LeetCode)
  • 2-56 基于matlab的图像融合增强技术
  • 序列化定义以及使用和注意事项
  • 吴恩达机器学习COURSE1 WEEK3
  • 白骑士的PyCharm教学高级篇 3.1 性能分析与优化
  • swiper横向轮播(阶梯式滚动轮播)未生效
  • 基于arcpro3.0.2的北斗网格生成简介
  • 网络流算法:最大流问题
  • C++从入门到入土(四)--日期类的实现
  • 【香橙派系列教程】(七)香橙派下的Python3安装
  • 贝叶斯优化算法(Bo)与门控循环单元(GRU)结合的预测模型(Bo-GRU)及其Python和MATLAB实现
  • 人工智能时代,程序员当如何保持核心竞争力?
  • LMDrive 端到端闭环自动驾驶框架
  • P2045 方格取数加强版
  • 【Bigdata】OLAP的衡量标准
  • 关于DDOS攻击趋势及防护措施
  • Apache Flink:一个开源流处理框架
  • Nginx 学习笔记
  • 软甲测试定义和分类
  • Vue 3+Vite+Eectron从入门到实战系列之(二)一Elementplus及VueRouter的配置
  • STL-list
  • 2024 7.29~8.4 周报