重生之我在地球Online当程序员2

3、循环&数组&遍历&数据筛选
一、循环

循环:可以重复的执行某些事务

举例:每年都给老婆表白一次!

image-20240509094820716

循环输出0-100的所有数值

public class NumberPrint {
    public static void main(String[] args) {
        for(int i = 0; i <= 100; i = i ++){
            System.out.println(i);
        }             
    }
}
二、数组

数组:就是一个装东西的大容器

问题:假如我有多个数值,都需要让程序存储起来,怎么办?

解决方案:使用数组

数组也就是一个特殊的变量,只不过这个变量的空间是连续的!

数组的语法:

数据类型[] 变量名 = {数据1,数据2,数据3……};
或
数据类型 变量名[] = {数据1,数据2,数据3……};

例如:

public class ArrayDemo {    
    public static void main(String[] args) {        
        //变量的语法   数据类型 变量名 = 初值;
        int[] arr1 = {1,2,3,4,5};        
        double[] arr2 = {1.1,1.2,1.3};        
        //字符串类型的数组        
        String[] names = {"张三","李四","王五"};    
    }
}

那是否可以根据下标获取数据呢?

public class ArrayDemo {
    public static void main(String[] args) {
        String[] names = {"张三","李四","王五"};
        //数组下标范围:0 到 length - 1        
        System.out.println(names.length);        
        System.out.println(names[0]);        
        System.out.println(names[names.length - 1]);    
    }
}

三、数组遍历

遍历:使用循环,将集合/数组中的每一个元素 都访问到

For循环的语法结构:

for(初始变量;控制语句;变量的改变){    
    //循环的内容
}
public class ArrayDemo {    
    public static void main(String[] args) {
        String[] names = {"张三","李四","王五"};
        for(int i = 0;i < names.length;i++){
            //输出下标            
            System.out.println(i);            
            //输出具体的值            
            System.out.println(names[i]);        
        }    
    }
}

死循环:

//死循环
for(;;){    
    System.out.println("略略略");
}

从整数数组中,筛选出 > 20的数据

后台:

1、从前端获取数据,将数据存储到数据库中

2、从数据库中将数据,读取到集合/数组中,并做一定的筛选

public class ArrayDemo {
    public static void main(String[] args) {
        //定义一个数组        
        int[] nums = {1,21,22,12,11};        
        // 找到 大于 20 的数据        
        for(int i = 0; i < nums.length; i ++){            
            //判断数据是否大于 20,大于20 的就输出出来            
            if(nums[i] > 20){                
                System.out.println(nums[i]);            
            }        
        }    
    }
}
1、IF 流程控制

if 可以帮我们做 数据筛选

语法:

if(条件){    
    //满足条件,就执行{}中的代码
}

数值判断符号

>大于 <小于 >=大于等于 <=小于等于 ==等于 !=不等于


例1:

int[] nums = {1,2,3,4,5};
//从上述的数组中,筛选并打印出 不等于 3的数据
public class ArrayDemo {
    public static void main(String[] args) {
        int[] nums = {1,2,3,4,5};        
        //遍历        
        for(int i = 0; i < nums.length; i ++){
            //筛选            
            if(nums[i] != 3){                
                //输出                
                System.out.println(nums[i]);            
            }        
        }    
    }
}

例2:

int[] nums = {2,3,4,5,6};
//从上述的数组中,筛选并打印出 所有的偶数,偶数条件提醒:nums[i] 取模2 等于 0
public class ArrayDemo {    
    public static void main(String[] args) {        
        int[] nums = {2,3,4,5,6};        
        //遍历        
        for(int i = 0; i < nums.length; i ++){            
            //筛选            
            if(nums[i] % 2 == 0){                
                //输出                
                System.out.println(nums[i]);            
            }        
        }    
    }
}

例3:

int[] nums = {1,2,3,4,5};
//从上述的数组中,筛选并打印出 所有的奇数,奇数条件提醒:nums[i] 取模2 不等于 0
public class ArrayDemo {    
    public static void main(String[] args) {
        int[] nums = {1,2,3,4,5};        
        //遍历        
        for(int i = 0; i < nums.length; i ++){ 
            //筛选            
            if(nums[i] % 2 != 0){                
                //输出                
                System.out.println(nums[i]);            
            }        
        }    
    }
}

例4:

int[] nums = {1,2,-3,4,-5};
//从上述的数组中,筛选并打印出 所有的负数
public class ArrayDemo {    
    public static void main(String[] args) {        
        int[] nums = {1,2,-3,4,-5};        
        //遍历        
        for(int i = 0; i < nums.length; i ++){            
            //筛选            
            if(nums[i] < 0){                
                //输出                
                System.out.println(nums[i]);            
            }        
        }    
    }
}

2、统计

统计下 有多少个负数,统计结束之后,打印输出结果

public class ArrayDemo {    
    public static void main(String[] args) {
        int[] nums = {1,2,-3,4,-5};        
        //计数器        
        int count = 0;        
        //遍历        
        for(int i = 0; i < nums.length; i ++){           
            //筛选         
            if(nums[i] < 0){        
                //计数器 + 1        
                count ++;            }  
        }//for循环结束,代表:统计工作到此结束     
        //输出    
        System.out.println("小于0的数据有:[ " + count + " ] 个!");   
    }
}

例5:

int[] nums = {1,2,-3,4,-5};
//统计下,上述的数组中,有多少可以被2整除的数据
public class ArrayDemo {    
    public static void main(String[] args) {
        int[] nums = {1,2,-3,4,-5};
        //计数器
        int c = 0;   
        //遍历 
        for (int i = 0; i < nums.length; i++) {  
            //筛选          
            if(nums[i] % 2 == 0){
                c ++;
            }
        }
        //遍历结束  
        //输出 
        System.out.println("能被2整除的数据有 " + c + "个!");  
    }
}

3、累加和
public class ArrayDemo {    
    public static void main(String[] args) {    
        int[] nums = {1,2,-3,4,-5};
            int sum = 0;     
        //遍历    
        for (int i = 0; i < nums.length; i++) {     
            sum += nums[i];      
        }
        //输出  
        System.out.println(sum); 
    }
}

例1:计算0到100的累加和

public class ArrayDemo {
    public static void main(String[] args) { 
        int sum = 0;    
        //计算0到100的累加和 
        for (int i = 0; i <= 100; i++) {   
            sum += i;    
        }       
        //累加结束,输出  
        System.out.println("sum = " + sum);   
    }
}

例2:计算0到100的偶数累加和

public class ArrayDemo {   
    public static void main(String[] args) {   
        int sum = 0;     
        //计算0到100的累加和   
        for (int i = 0; i <= 100; i++) {   
            if (i % 2 == 0) {    
                sum += i;       
            }  
        }    
        //累加结束,输出  
        System.out.println("sum = " + sum); 
    }
}
四、字符串数组
String[] names = {"张三","李四","王五","赵六"};
//需求:使用for循环遍历上述的数组
public class ArrayDemo {   
    public static void main(String[] args) {    
        //需求:使用for循环遍历下面的数组    
        String[] names = {"张三", "李四", "王五", "赵六"};      
        for (int i = 0; i < names.length; i++) {      
            System.out.println(names[i]);   
        }  
    }
}

从数组中筛选出姓”张“的人

public class ArrayDemo {   
    public static void main(String[] args) {    
        //需求:使用for循环遍历下面的数组     
        String[] names = {"张三", "李四", "王五", "赵六"};     
        for (int i = 0; i < names.length; i++) {     
            String name = names[i];      
            //判断 字符串 是否 以某个其它字符串开头       
            if(name.startsWith("张")){           
                System.out.println(name);       
            }  
        }   
    }
}

字符串前期的方法介绍:

public class ArrayDemo { 
    public static void main(String[] args) {     
        String name = new String("张三");   
        //判断是否以“张”开头
        System.out.println(name.startsWith("张"));
        //判断是否以“三”开头//     
        System.out.println(name.endsWith("三"));
        //判断是否包含“三”
        System.out.println(name.contains("三"));   
        //字符串判断是否相等,不能使用 ==,应该使用equals()       
        System.out.println(name.equals("张三疯"));   
    }
}
总结

1、循环:周而复始的做相同的或类似的事情,解决方案:for 循环

2、循环可以帮我们遍历 数组

3、数组:是一个可以帮我们装很多数据的容器,特点:空间是连续的,元素类型相同,数组长度固定的

4、遍历数组,使用for循环;挑选数据,使用if条件判断;统计数据,使用计数器;

5、startsWith() endWith() contains() equals() length()

6、字符串的比较,不能使用 ==,需要使用equals() ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值