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的数据或方法成员。
  • 相关阅读:
    nginx+tomcat负载均衡
    一个tomcat部署多个应用实例
    多级菜单存在同一张表,一次性把所有关系取出来
    关于ajax post请求,参数过大产生的问题解决 Java
    nginx 的 proxy_cache 缓存配置
    nginx 安装 lua_nginx_module 模块(nginx——lua 学习笔记1)
    nginx 反向代理
    nginx的共享字典项api(操作方法)
    sed 常用命令 网址
    Django之 数据库ORM
  • 原文地址:https://www.cnblogs.com/ZhuX-H/p/13184620.html
Copyright © 2011-2022 走看看