欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

学习日记1.0 —— Java基础巩固

程序员文章站 2022-03-20 18:03:47
...

数组

创建方式

int[] arr = new int[5];
int[] arr = {1,2,3,4,5};
int[] arr= new int[]{1,2,3,4,5}

数组遍历

for (int i : arr) {
     System.out.println(i);
 }

数组排序

// 冒泡排序
int temp;
    for(int i = 0; i<arr.length; i++){
        //j是数组的最后一个角标
        for (int j = arr.length-1; j > i; j--) {
            if (arr[j] < arr[j - 1]) {
               temp = arr[j - 1];
               arr[j - 1] = arr[j];
               arr[j] = temp;
            }
        }
   }
   for(int i : arr){
      System.out.println(i);
   }
}

集合

Map 存储键值对
Collection(父类接口)存储一组不唯一,无序的对象
List 存储一组不唯一,有序(插入顺序)的对象
Set 存储一组唯一,无序的对象
Collections是集合中一个工具类,包装类,包含排序、搜索、线程安全等操作

方法重载与重写

重写:子类重写父类的方法,发生在子类和父类之间,体现运行时的多态性。要求父子方法参数必须相同,访问修饰符的限制一定要大于被重写方法的访问修饰符。
重载:定义相同的方法名,发生在一个类中,体现编译时的多态性。对返回类型和访问修饰符没有要求,重载的参数列表(个数,类型,顺序)可以不同

传递

(1)在Java里面,当调用方法时,如果传入的数值为基本数据类型+String类型,形式参数的改变对实际参数不影响,就是值传递。

(2)在Java里面,当调用方法时,如果传入的数值为引用数据类型(String类型除外),形式参数的改变对实际参数有影响,就是引用传递。

递归

自己调用自己;
能不用递归就不用递归,面对深度过大的程序需要采用其他算法,否则极易发生栈溢出异常
-*Exception

面试小题

2*8 如何进行高效率的快速运算?
使用位运算=> 2<<3
基于二进制的计算方式,效率极高,这个式子相当于2 * 23
左移看成是 * 2,右移看成是 /2.

String的小细节

1.String是引用数据类型
2.底层是char数组
3.字符串连接

int a = 10int b = 20System.out.prinln(""+a+b);
//输出结果为1020
System.out.prinln(a+b+"");
//输出结果为30

String类型放在前面则所有类型转换为String进行拼接。

小句子

当正义得不到长久的伸张,当受害者得不到应有的同情,荒谬也就变成真理。

小故事

地球表面的影像停止了移动一个人仰起的面孔充满了画面,在微弱的光线里无法看清这张面孔的细部,只能看出他的眉骨和颧骨很高,嘴唇长而薄。镜头继续拉近这似乎已不可能再近的距离,一双深陷的眼睛充满了画面,黑暗中的瞳仁中有一些银色的光斑,那是映在其中的变形的星空。 图像定格,一声尖利的鸣叫响起,排险者告诉人们,预警系统报警了。
“为什么?”总工程师不解地问。 “这个原始人仰望星空的时间超过了预警阀值,已对宇宙表现出了充分的好奇,到此为止,已在不同的地点观察到了十例这样的超限事件,符合报警条件。” “如果我没记错的话,你前面说过,只有当有能力产生创世能级能量过程的文明出现时,预警系统才会报警。” “你们看到的不正是这样一个文明吗?” 人们面面相窥,一片茫然。 排险者露出那毫无特点的微笑说:“这很难理解吗?当生命意识到宇宙奥秘的存在时,距它最终解开这个奥秘只有一步之遥了。
看到人们仍不明白,他接着说:“比如地球生命,用了四十多亿年时间才第一次意识到宇宙奥秘的存在,但那一时刻距你们建成爱因斯坦赤道只有不到四十万年时间,而这一进程最关键的加速期只有不到五百年时间。如果说那个原始人对宇宙的几分钟凝视是看到了一颗宝石,其后你们所谓的整个人类文明,不过是弯腰去拾它罢了。” 丁仪若有所悟地点点头:“要说也是这样,那个伟大的望星人!”

当原始人仰望星空开始,人类的发展只不过是为了完成他的愿望而已。

相关标签: 学习日记 java