JAVA高级工程师课程笔记整理——(二)JAVA基础

来源:互联网 发布:郑州慧牛网络怎么样 编辑:程序博客网 时间:2024/06/05 16:04
(二)JAVA基础部分
基本数据类型
    java中八大基本数据类型
    byte int(4字节) short long(8字节) double
    float char boolean
    声明和使用
    a、先声明后赋值
        int a;
        a=10;
    b、直接赋值
        int a=20;
    用final 定义的变量 就是常量(值固定不变)
    final int a = 5;
    注意:定义常量,变量名都是大写
          不同单词之间用“_”分隔
          
运算符          
    关系运算符
        = 赋值运算符
        == 关系运算符 ,不等于 !=
        String str2 = new String("你好");//两个对象
    逻辑运算符
        与           或                   非
        &&(短路与)   ||(短路或)            !
        &(非短路与)     |(非短路或)
        int a = 5;
        int b = 4;
        int c = 7;
        b>c && a>b  先判断b>c是否为true,不为true,a>b不判断
        b>c & a>b  先判断b>c是否为true,不为true,再判断a>b是否为true
        优先级:
            !>&&>||
    三元运算符
        条件表达式 ?表达式1:表达式2

Scanner
    键盘输入
    Scanner input = new Scanner(System.in);
    输入字符串:input.next();
    输入整数:input.nextInt();、复合赋值运算符
    += , -= ,*=,/= ,%=
    int a = 9;
    a+=10; // a = a+10;
    i++ 和 ++i的区别
    i++ 先赋值后加1,++i 先加1后赋值
    优先级:
    最高的优先级:( )
    最低的优先级:=
    !> 算术运算符 > 关系运算符 > && > ||    
    
流程控制语句
    if...else..
        if(){
        }else{
        }
        {}建议不省略
        多重if判断  
        if(){
        }else if(){
        }else{
        }
        else是对前面if条件的否定
        字符串判断是否相等用equals();
        equals 和 == 区别
        == 判断的是内存地址是否相等
        equals判断的是两个对象的值是否相等
        "男".equals(sex)
    switch流程控制
        语法结构:
            表达式: int,short,byte,char,枚举,String(jdk1.7之后)
        switch(表达式){
            case 常量1:
                语句;
                break;
            case 常量2:
                语句2;
                break;
            default:
                语句。。;
        }
        default代码块一般放末尾(可省略)
        处理等值条件判断时一般用switch
    循环语句
        int i=1;
        while(i<=100){
            System.out.println("好好学习");
            i++
        }
        双重循环
        break;
        break跳出switch选择结构
        break不能用于if else
        用法:
            break用于switch和循环结构
            break只能跳出当前break所在的循环
        continue
        继续当前循环而不执行后面的代码,
        一般用于循环筛选数据
        return    
        直接结束当前方法执行,退出当前
        方法
        增强for循环(foreach)
        一般用于循环数组或集合
        一、循环控制语句
    1、do while
        do{
        }while();
    先执行程序再判断
    while循环是先判断再执行
    do while循环至少执行一次    
    2、for循环(重点)
        for(int i=0;i<100;i++){
        }
        循环次数固定情况下推荐用
        for循环
        for循环条件中一定有两个;
        for(;;){
            System.out.println("好好学习");
        }
        循环四个必不可少的部分
            初始化变量
            循环条件
            循环体
            迭代部分
        循环次数确定一般用for循环
        循环次数不确定可以用while循环和do while循环
    二重循环
        外层循环控制行数
        内层循环控制列数
    
数组
    存储相同数据类型的一组数据
    数组长度是固定不变的
    创建数组并赋值的方式,必须在一条语句中完成
    声明数组
        int[] score1 = new int[5]
        int score2[]
        String[] names
    边声明边赋值
        int[] array = {4,3,1,10,34};
        int[] array2 = new int[]{4,3,1,10,34};
    怎么判断数组是空数组还是null
        int[] array = {};
        int[] array2 = null;
    数组的常用操作
        排序,求最大值,最小值,插入数字
        a、求数组中的最大值
            for(int i=0;i<scores.length;i++){
            if(scores[i]>max){
                max = scores[i];
                }
            }
        b、插入算法    
            //1、找到要存放的位置下标
            int index = arrays.length-1; //5
            for(int i=0;i<arrays.length;i++){
                if(score>arrays[i]){
                    index = i;
                    break;
                }
            }
            System.out.println("要插入的位置下标:"+index);
            //空出要插入的位置,队伍往后排
            for(int j = arrays.length-1;j>index;j--){
                arrays[j] = arrays[j-1];
            }
        c、排序
            选择排序
            //升序排列
            for(int i=0;i<array.length;i++){
                for(int j=i+1;j<array.length;j++){
                    if(array[i]>array[j]){
                        int temp = array[i];
                        array[i] = array[j];
                        array[j] = temp;
                    }
                }
            }
            冒泡排序(升序)
            int[] arrays = new int[]{16,25,9,90,23};
                每次比较相邻的两个数
                小的交换到前面
                每轮结束后最大的数交换到最后
    Arrays类(工具类)                
        工具类存放java.util.*
        Arrays.sort();//只能进行升序排序
        Arrays.equals(array1,array2)//比较两个数组是否相等
        Arrays.toString();//将数组转为字符串
        Arrays.fill(intArray,50);
        Arrays.copyOf(int[],length)//根据长度复制一个数组
        Arrays.binarySearch(intArray, 9);//先进行升序排序才能查找
    

阅读全文
0 0