美文网首页
java面试题

java面试题

作者: 果芽软件 | 来源:发表于2017-12-21 09:51 被阅读154次

    一、for循环

    1. 递增变量

    1. 初始值
    2. 最大值
    3. 增量
    4. 变量存储
    int[] nums=new int[]{3,2,1,4}
    for( int i=0 ; i< 10 ; i++){
      /*
        1. 初始值:0
        2. 最大值:10
        3. 增量:++,即自增,每次+1
        4. 变量存储:int i
      */
      System.out.println(nums[i]);
    }
    

    2. for each方式

    1. 集合:数组、list等
    2. 变量:变量类型、变量名
    int[] nums=new int[]{3,2,1,4}
    for(int i : nums){
        System.out.println(i);
    }
    

    二、冒泡排序

    image.png

    2个数字交换位置(引入一个临时变量)


    image.png
    
    package com.guoyasoft;
    
    public class Java {
        public static void main(String[] args) {
            int[] nums=new int[]{5,1,3,7,2};
    
            //第1步:循环多少轮,每一轮确定1个数字
            for(int i=0;i<nums.length-1;i++){
                //第2步:每一轮,循环比较多少次,总个数-1-轮数
                for(int j=0;j<nums.length-i-1;j++){
                    //第3步:判断是否交换位置
                    if(nums[j]>nums[j+1]){
                        //第4步:引入一个临时变量,前后两个数字交换位置
                        int k=nums[j+1];
                        nums[j+1]=nums[j];
                        nums[j]=k;
                    }
                }
            }
            
            //打印结果
            for(int a:nums){
                System.out.print(a);
            }
        }
    }
    

    三、打印1-1500之间3的倍数

    package com.guoyasoft;
    
    public class Java {
        public static void main(String[] args) {
                    //最小值:0;最大值:1500;增量:3;存储变量:int i
            for(int i=0;i<=1500;i=i+3){
                System.out.println(i);
            }
    
                  for(int i=0;i<=1500;i++){
                     if(i%3==0){
                System.out.println(i);
                    }
    
            }
        }
    }
    

    四、webdriver切换窗口

    public void switchToTitleWindow(String windowTitle) {
            // 将页面上所有的windowshandle放在入set集合当中
            Set<String> handles = driver.getWindowHandles();
            for (String s : handles) {
                driver.switchTo().window(s);
                // 判断title是否和handles当前的窗口相同
                if (driver.getTitle().contains(windowTitle)) {
                    break;// 如果找到当前窗口就停止查找
                }
            }
        }
    

    五、常用容器和区别

    容器类 类名 用途 语法
    数组 类型[] 固定大小,用下标取值 数组[下标]=
    list ArrayList 变动大小,用下标取值 list.add(value); list.get(下标);
    map HashMap 变动大小,键值对,用key取value map.put(key,value); map.get(key);

    六、面向对象三个特征

    1. 封装:把过程和数据封装成对象
    2. 继承:复用父类的代码,extends
    3. 多态:一个接口或父类有多个实现类,同一个方法,不同的子类或实现类,可以接受相同的请求
    

    七、接口与抽象类的区别

    接口:接口是一种约定,所有方法都不实现,通过implements实现
    抽象类:用于继承extends,里面可以有实现方法,也可以有未实现的方法
    

    相关文章

      网友评论

          本文标题:java面试题

          本文链接:https://www.haomeiwen.com/subject/rqpowxtx.html