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);
    }
}
相关文章
|
1天前
|
存储 Java
Java中的位运算
本文介绍了位运算符的基础知识,包括原码、反码、补码的概念,以及常见的位运算符(如移位运算符 `&lt;&lt;`、`&gt;&gt;`、`&gt;&gt;&gt;` 和逻辑运算符 `&`、`|`、`^`、`~`)的使用方法和规则。通过具体的二进制示例,详细解释了这些运算符的工作原理,帮助读者更好地理解位运算在计算机中的应用。
Java中的位运算
|
2月前
|
Java 程序员 API
Java循环操作哪个快?
本文探讨了Java中stream API与传统for循环在性能上的对比,通过多个示例分析了不同场景下两者的优劣。作者指出,尽管stream API使代码更简洁,但不当使用会降低可读性和性能,特别是在处理大数据量时。实验结果显示,在多数情况下,普通for循环的性能优于stream API,尤其是在单次操作耗时较短但需多次执行的场景中。文章建议开发者在设计初期就考虑全局流程,避免重复使用stream流,以提升代码质量和性能。
Java循环操作哪个快?
|
2月前
|
Java 程序员 API
Java循环操作哪个快?
本文探讨了Java中Stream API与传统for循环的性能对比及适用场景。作者通过实际案例分析,指出在某些情况下,过度使用Stream API会导致代码可读性和维护性下降。测试结果显示,在数据量较小的情况下,普通for循环的性能优于Stream API,尤其是在涉及多次类似操作时。因此,建议在开发中根据具体需求选择合适的遍历方式,以提高代码的可读性和性能。
Java循环操作哪个快?
|
3月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
95 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
3月前
|
算法 Java 测试技术
🧑‍💻Java零基础:Java 的循环退出语句 break
【10月更文挑战第16天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
70 6
|
3月前
|
Java 测试技术 数据安全/隐私保护
📖Java零基础-while循环语句的深度解析
【10月更文挑战第6天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
48 1
|
3月前
|
传感器 Java 测试技术
📖Java零基础-do-while循环语句的深入剖析
【10月更文挑战第5天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
40 1
|
4月前
|
Java
Java循环
Java循环
47 6
|
JSON 算法 Java
聊聊Java中的位运算:与、或、非、异或、左移、右移、无符号右移【小家Java】(上)
聊聊Java中的位运算:与、或、非、异或、左移、右移、无符号右移【小家Java】(上)
聊聊Java中的位运算:与、或、非、异或、左移、右移、无符号右移【小家Java】(上)
聊聊Java中的位运算:与、或、非、异或、左移、右移、无符号右移【小家Java】(下)
聊聊Java中的位运算:与、或、非、异或、左移、右移、无符号右移【小家Java】(下)