zoukankan      html  css  js  c++  java
  • 学习Java的Day02

    知识点

    数组:

    1. 一维数组   声明: 类型[] 数组名;[] 在前后没有影响,一般写在名称前。)
    2. 创建数组  数组名 =  new 类型[数组长度]
    3. 数组索引从0开始。获取数组长度:数组名.length.
    4. 初始化方式:(1int[] arr01={};    2int[]  arr02 = new int[]{1,2,3,4};
    5. 二维数组  int[][]  arr ={{1,2},{3,4}};
    6. 数组遍历
    • 普通for循环遍历(虽然有的麻烦,但是可以对数组进行修改。)
    • 增强for each 遍历(获取数组内容比较方便,但是不能对数组内容进行修改)
    • (注意数组越界异常  ArrayIndexOutOfBoundsExceptio  原因:访问不存在索引 )
    • (空指针异常 NullPointerException  原因:数组已经不在堆内存了,还用数组去访问元素
    1. JVM 的内存划分

    程序计数器

    本地方法栈

    方法栈:执行方法,保存局部变量

    方法区:存储类的信息,静态变量,常量,编译后的代码

    堆:存储对象本身,以及数组。

    1. 数组排序   冒泡排序
    public  void  work02(int n){
        int[] arr = new int[n];
        int temp=0;
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < n; i++) {
            System.out.println("请输入:" + n + "个数字:");
            int num = sc.nextInt();
            arr[i] = num;
        }
        for (int i = 0;i<arr.length-1;i++){
            for (int j = 0;j<arr.length-1-i;j++){
                if (arr[j] > arr[j+1]) {
                    temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
        System.out.println(Arrays.toString(arr));
    }

    选择排序

    public  void  work03(int n){
        int[] arr = new int[n];
        int temp=0;
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < n; i++) {
            System.out.println("请输入:" + (n -i)+ "个数字:");
            int num = sc.nextInt();
            arr[i] = num;
        }
        for (int i = 0 ;i<arr.length;i++){
            for (int j=i+1;j<arr.length;j++){
                if (arr[i]>arr[j]){
                    temp=arr[i];
                    arr[i]=arr[j];
                    arr[j]=temp;
                }
            }
        }
    
        System.out.println(Arrays.toString(arr));
    }
    

       

    1. 冒泡排序和选择排序的排序的原理

        选择排序

     

    • 每次从数组里面取出两个的元素作比较从下标为0的地方开始

    • 每次拿需要排序的第个元素和后面的元素依次作比较,找到最小值
    • 把小值放到第一个元素
    • 第二轮拿第二个元素和后面的元素依次作比较。直到找到最小值
    • 把小值放到第” 个元素的位置上

     

    1. 面向对象OOP特点:继承,封装,多态。
    2. 封装:提高代码安全性 ;把属性私有化,提供公共方法访问私有对象。
    3. 构造函数实现了对象初始化流程的封装。方法封装了操作对象的流程。封装主要是为了隐藏对象的细节,在ava中常用private封装对象数据成员,比如典型的单例模式,使用private修饰构造函数,使得在其他类无法通过new来获取类的对象,只能通过其内部共有的方法来获取类的实例对象。在static区块或方法中不能出现this关键字。static方法中不能使用非static的数据或方法成员。
  • 相关阅读:
    Eclipse安装Hadoop插件
    (转)Ubuntu14.0.4中hadoop2.4.0伪分布模式配置
    Hadoop--DataNode无法启动
    启动与关闭hadoop
    hadoop中执行命令时发生错误
    strings命令
    Deriving data from ElasticSearch Engine
    elasticsearch data importing
    reading words in your computer and changing to female voice, linux festival text2wave saving wav files
    DDNS client on a Linux machine
  • 原文地址:https://www.cnblogs.com/ZhuX-H/p/13184620.html
Copyright © 2011-2022 走看看