您的位置:首页 > 编程语言 > Java开发

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

2017-05-16 08:34 471 查看
(二)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);//先进行升序排序才能查找

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: