Java基础进阶结合foreach循环和位运算

简介: Java基础进阶结合foreach循环和位运算

1、集合使用foreach循环


语法:


for(元素类型 变量名 : 数组或集合){
    System.out.println(变量名);
}


foreach循环遍历方式又称增强for循环

foreach有一个缺点:没有下标。在需要使用下标的循环中,不建议使用增强for循环。


示例代码01:


/*
JDK5.0之后推出了一个新特性:叫做增强for循环,或者叫做foreach
 */
public class ForeachTest01 {
    public static void main(String[] args) {
        // int类型数组
        int[] arr = {1,5,8,5,4,6,2,8};
        // 遍历数组(普通for循环)
        for(int i=0;i< arr.length;i++){
            System.out.println(arr[i]);
        }
        System.out.println("====================");
        // 增强for(foreach)
        // 以下是语法
        /*for(元素类型 变量名 : 数组或集合){
            System.out.println(变量名);
        }*/
        //foreach循环遍历方式
        // foreach有一个缺点:没有下标。在需要使用下标的循环中,不建议使用增强for循环。
        for(int data : arr){
            // data就是数组中的元素(数组中的每一个元素。)
            System.out.println(data);
        }
    }
}


运行结果:


0a2653c851af460fa595bd959398a8f1.png


集合中使用foreach循环


示例代码02:


//集合使用foreach循环
public class ForeachTest02 {
    public static void main(String[] args) {
        //创建List集合
        List<String> myList = new ArrayList<>();
        myList.add("hello");
        myList.add("world");
        myList.add("kitty");
        //使用迭代器遍历
        Iterator<String> it = myList.iterator();
        while(it.hasNext()){
            String s = it.next();
            System.out.println(s);
        }
        //使用数组下标遍历
        for(int i=0;i<myList.size();i++){
            System.out.println(myList.get(i));
        }
        //使用foreach循环遍历
        for(String s : myList){//因为泛型使用的是String类型,s代表集合中的字符串元素
            System.out.println(s);
        }
        List<Integer> i1 = new ArrayList<>();
        i1.add(100);
        i1.add(200);
        i1.add(300);
        //foreach循环遍历输出
        for(Integer i : i1){//i代表集合中的Integer元素
            System.out.println(i);
        }
    }
}


运行结果:


2d65d23f6d4748949b924e4057485923.png


2、位运算


代码:


package com.newstudy.javase.list;
//进制位运算
public class BinaryTest01 {
    public static void main(String[] args) {
        //5
        //>> 1 二进制右移1位
        //>> 2 二进制右移2位
        //10的二进制位是00001010【10】
        // 10的二进制位右移一位是:00000101【5】
        System.out.println(10 >> 1);//右移一位就是除以2
        // 二进制位左移1位
        // 10的二进制位是:00001010  【10】
        // 10的二进制左移1位:00010100 【20】
        System.out.println(10 << 1);
    }
}
相关文章
|
2月前
|
Java
Java编程:理解while循环的使用
总结而言, 使用 while 迴圈可以有效解决需要多次重复操作直至特定條件被触发才停止執行任务场景下问题; 它简单、灵活、易于实现各种逻辑控制需求但同时也要注意防止因邏各错误导致無限迁璇発生及及時處理可能発生异常以确保程序稳定运作。
259 0
|
6月前
|
Java 数据安全/隐私保护 计算机视觉
Java位运算的详解
总的来说,Java位运算是一种强大的工具,它可以让我们直接操作整数的二进制位,实现各种复杂的功能。但是,位运算也是一把双刃剑,如果不正确地使用,可能会导致各种难以预料的问题。因此,使用位运算时,一定要小心谨慎,确保理解了每个运算的含义和效果。
164 24
|
7月前
|
传感器 安全 Java
《从头开始学java,一天一个知识点》之:循环结构:for与while循环的使用场景
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问&quot;`a==b`和`equals()`的区别&quot;,大脑突然空白
210 22
|
9月前
|
Java
Java快速入门之判断与循环
本文介绍了编程中的流程控制语句,主要包括顺序结构、判断结构(if语句和switch语句)以及循环结构(for、while和do...while)。通过这些语句可以精确控制程序的执行流程。if语句有三种格式,分别用于简单条件判断、二选一判断和多条件判断。switch语句适用于有限个离散值的选择判断,而循环结构则用于重复执行某段代码,其中for循环适合已知次数的情况,while循环适合未知次数但有明确结束条件的情况,do...while则是先执行后判断。文中还提供了多个示例和练习,帮助读者理解并掌握这些重要的编程概念。
|
9月前
|
Java
Java中的控制流语句:if、switch、for、foreach、while、do-while
Java中的控制流语句包括条件判断语句 `if`和 `switch`,以及循环语句 `for`、增强型 `for`(`foreach`)、`while`和 `do-while`。这些语句提供了灵活的方式来控制程序的执行流程,确保代码逻辑清晰且易于维护。掌握这些基本语法,对于编写高效和可读的Java程序至关重要。
324 15
|
10月前
|
存储 Java
Java中的位运算
本文介绍了位运算符的基础知识,包括原码、反码、补码的概念,以及常见的位运算符(如移位运算符 `&lt;&lt;`、`&gt;&gt;`、`&gt;&gt;&gt;` 和逻辑运算符 `&`、`|`、`^`、`~`)的使用方法和规则。通过具体的二进制示例,详细解释了这些运算符的工作原理,帮助读者更好地理解位运算在计算机中的应用。
154 2
Java中的位运算
|
11月前
|
Java 程序员 API
Java循环操作哪个快?
本文探讨了Java中Stream API与传统for循环的性能对比及适用场景。作者通过实际案例分析,指出在某些情况下,过度使用Stream API会导致代码可读性和维护性下降。测试结果显示,在数据量较小的情况下,普通for循环的性能优于Stream API,尤其是在涉及多次类似操作时。因此,建议在开发中根据具体需求选择合适的遍历方式,以提高代码的可读性和性能。
249 5
Java循环操作哪个快?
|
11月前
|
Java 程序员 API
Java循环操作哪个快?
本文探讨了Java中stream API与传统for循环在性能上的对比,通过多个示例分析了不同场景下两者的优劣。作者指出,尽管stream API使代码更简洁,但不当使用会降低可读性和性能,特别是在处理大数据量时。实验结果显示,在多数情况下,普通for循环的性能优于stream API,尤其是在单次操作耗时较短但需多次执行的场景中。文章建议开发者在设计初期就考虑全局流程,避免重复使用stream流,以提升代码质量和性能。
281 1
Java循环操作哪个快?
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
836 37