【java】codegym学习笔记【语法篇】

【java】codegym学习笔记【语法篇】,第1张

【java】codegym学习笔记【语法篇】

在代码块中(for,if,try…catch)中定义的变量,无法在代码块外访问
String 属于class类,int double char才属于基础变量
判断相等:int double char等可以直接使用 ==
Object 关键词,可以储存任意类型的元素
String只能使用this_str.equals(other_str);
一维数组:Arrays.equals(nums1, nums2)
多维数组:Arrays.deepEquals(nums1, nums2)
数组排序:Arrays.sort(nums);
构造函数中,需要传递多个参数时候,使用:
对象类型…变量名,(原:对象类型 变量名,)


要在方法中访问 带有 static 关键字的 成员变量 需要类名来引导 --> 类名.成员变量名
要在方法中访问 没有 static 关键字的 成员变量 需要 this 关键字来引导 --> this.成员变量名



基类,子类相关变量调用顺序

static 可以直接使用类名访问,非static必须创建对象后,使用对象引用访问
static 变量和方法不能访问非static的变量和方法


集合只支持对象存储,int是基础数据类型
需要在其包装类声明泛型,如int->Integer double->Duble



Integer和int的区别

1、Integer是int提供的封装类,而int是Java的基本数据类型;

2、Integer默认值是null,而int默认值是0;

3、声明为Integer的变量需要实例化,而声明为int的变量不需要实例化;

4、Integer是对象,用一个引用指向这个对象,而int是基本类型,直接存储数值。



addAll()详解:https://www.runoob.com/java/java-arraylist-addall.html


使用for-each循环时无法 *** 作arraylist(添加或者删除元素),要 *** 作数组仍然可以使用常规循环。只需要自己管理索引,或者使用java迭代器

【java迭代器】https://codegym.cc/groups/posts/20-deleting-an-element-from-an-arraylist





map迭代器版

map for-each简写版

仍然注意,foreach循环中无法 *** 作元素
Hashmap详解https://www.runoob.com/java/java-hashmap.html


Arraylist 是数组,linklist是双向列表



从map删除元素

    public static void removeItemFromMapByValue(Map map, String value) {
        HashMap copy = new HashMap(map);
        for (Map.Entry pair : copy.entrySet()) {
            if (pair.getValue().equals(value)) {
                map.remove(pair.getKey());
            }
        }
    }

ArrayList类属于Collections类,该类有几种通用方法:
Collections.sort(ArrayList); //排序
Collections.reverse(ArrayList); //翻转
Collections.shuffle(bingoDrum); //随机化序列(打乱顺序)
Collections.swap(solarSystem, solarSystem.indexOf(对象名), solarSystem.indexOf(对象名)); //交换元素
Collections.disjoint(solarSystemPart1, solarSystemPart2)//检查两个集合是否相交,即它们是否具有至少一个相同的元素。则返回 true/false
Collections.addAll(arr1,arr2)//将arr2的全部元素合并进arr1


linkedList与ArrayList共有的方法:

add(),remove(),indexOf(),clear(),contains()(指示项目是否在列表中),set()(替换现有元素)size()

linkedList独有的方法:

addFirst(), addLast(): 这些方法用于将元素添加到列表的开头/结尾peekFirst(), peekLast(): 方法返回列表中的第一个/最后一个元素。如果列表为空,返回null。pollFirst(), pollLast(): 这些方法返回列表中的第一个/最后一个元素并将其从列表中删除。如果列表为空,则返回 nulltoArray():此方法返回一个包含列表项的数组(转换成ArrayList)

linkedList仅作为了解,实际工程中使用ArrayList更好。linkedList与ArrayList对比文章:点这里


HashMap相关方法

map.put (212133, “Bridget Logan”);//插入map.get(212133);//根据key值获取value,有返回值map.remove(162348);//根据key值删除对象map.containsKey(11111) //判断key值对象是否存在,返回true/falsemap.containsValue(“Donald John Trump”)//判断value值对象是否存在,返回true/falsemap.keySet()//返回所有键的单独列表map.values()//返回所有值的单独列表map.size()//返回对象数量map.clear()//清空mapmap.isEmpty()//判断是否为空,返回true/falsemap1.putAll(map2);//将第二个map的所有对象合并到map1

foreach迭代器的组成方法:

for (Map.Entry entry: passportsAndNames.entrySet()) {
   System.out.println(entry);
}

Map.Entry表示字典中的键值对
entrySet()返回我们的所有对的列表
因此形成迭代器


set删除指定位置的元素:
cats.remove(cats.toArray()[0]);//先转换成arraylist,再指定对象位置


stackTraceElement[0].getMethodName(); name: getStackTracestackTraceElement[1].getMethodName(); name: 他自己的名称stackTraceElement[2].getMethodName(); name: 调用它的方法的名称…以此类推


Java中的异常,原文章:https://codegym.cc/groups/posts/exceptions-in-java

在 Java 中,异常分为两种:已检查和未检查(即必须捕获的异常和不必捕获的异常)。默认情况下,必须捕获所有异常

未检查示例:

    public void method1() {
        throw new NullPointerException();
    }

    public void method2() {
        throw new IndexOutOfBoundsException();
    }

    public void method3() {
        throw new NumberFormatException();
    }

区别:已检查的意思是,在函数方法上就已经写明了异常类型



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5721754.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存