java 基础总结_新手如何学习Java?附Java常见知识点与学习心得

知识点总结

关于变量、方法、类这些基本概念就不总结了。

常用数据类型

基本数据类型一般就是数值、字符串、布尔数值——int、double、long……

字符串——String

布尔——boolean

然后就是一些容器,数组、集合……数组——Arrays

集合——List、ArrayList

……

而在这些基础上,还有一些根据这些加以扩展的类型,常见的就是时间类、操作类、计算类……时间——LocalDate、LocalDateTime……

操作——DateFormat(格式化操作)……

计算——Duration(计算)……

……

数据类型的一些操作

字符串String

(下面的例子里,str、str1、str2是String的对象)求长度——str.length()

取字符——str.charAt(index)【index代表字符在字符串中的下标,从0开始】

去空格——str.trim()【①只会去除开头和结尾两边的空格 ②不会改变str的值,而是返回一个新的值】

查子串——str.indexOf(str1, index)【从str下标为index(默认值为0)开始查找str1在str中出现时的第一个字符的下标,如果存在则返回该下标,否则返回-1】

截子串——str.substring(index1, index2)、str.substring(index1)

判开头——str.startsWith(str1)

判结尾——str.endsWith(str1)

判相等——str.equals(str1)【注意不要用==判断】

替换——str.replaceAll(str1, str2)【将str中所有的str1替换为str2】

分隔——str.split(str1)【将str1作为分隔符把str分隔成若干个字符串然后生成一个String[](字符串数组),其中"."、"|"、"*"要用"\\."、"\\|"、"\\*"进行转义】

全部大小写——str.toUpperCase()、str.toLowerCase()【不会改变str的值】

字符串转数字——Integer.parseInt(str)

数字转字符串——①str+数字 ②String.valueOf(数字)

集合的操作

(下面的例子里list、list1是集合对象,item可以作为集合list的元素、arr是数组、str是字符串)增——list.add(item)

删——list.remove(index)【index为下标,从0开始】

改——list.set(index, item)【index为下标,从0开始】

查——list.get(index)【index为下标,从0开始】

合并——list.addAll(list1)

截子列表——list.subList(begin, end)【begin/end分别为开始/结束的下标,从0开始,不会改变原来列表的值】

排序——Collection.sort(list, new Comparator??>(){具体比较方法自己定义})【会改变list的值】

数组转集合——Arrays.asList(arr)

集合转数组——list.toArray(arr)

集合转字符串——String.join(str, list)【str是分隔每个元素的分隔符】

还有很多数据类型的基本操作,这里就不整理了。

其实在时间高度充裕的情况下,都整理一遍还是蛮好的,加深自己印象,也方便自己查找;但是如果时间不多,那就得学会如何去找自己想要的操作方法。【建议看看心得体会里面如何通过搜索引擎解决问题】

其实类似的像是上面两种数据类型的操作,在很多语言中都有体现。(比如List就是作为一个容器类,容器类基本都有很多相似之处,比如增删改查等等)

一个已经熟悉另外一门语言的人,基本都会知道一些数据类型会有哪些操作,在学一门新的语言的时候,一般会知道有这些操作,但是不知道怎么使用。

这个时候也就考验我们利用搜索引擎的能力了。

心得体会

我是在学校里学过一年C++的人,所以现在学Java还算是蛮轻松的,毕竟不同语言还是有许多相似之处的。

我认为学习一门新的语言,需要掌握以下能力

多思考、多动手/提问、多总结

有时候,我们确实需要多思考、多探索,才能对我们所学习的东西有一个更加深入的理解。

前天我在做类和对象设计的时候,突然想到一个问题。

一个类A里有个List的属性list,我对A的一个对象a通过get把他get出来的同时add(1),那么a的属性list会是原来的值,还是加上1后的值呢?

为此,我们需要自己写一份代码来测试

package com.youkeda.test;

import java.util.ArrayList;

import java.util.List;

public class Test {

private List list;

public List getList() { return list; }

public void setList(List list) { this.list = list; }

public static void main(String[] args) {

List test = new ArrayList<>();

test.add(1);

test.add(2);

Test t = new Test();

t.setList(test);

System.out.println("添加前:");

System.out.println(t.getList());

t.getList().add(3);

System.out.println("添加后:");

System.out.println(t.getList());

}

}

我们运行一下,就可以知道我们想要的答案了——答案是get出来的集合同时add会改变对象的属性值。

问题虽然解决了,但是我们仍然可以再深入思考一步——为什么会是这样?

仔细地思考一下,问问老师,就会知道,上述代码中,List对象test就是一个引用,get里return了test,就是返回引用。

我们就可以总结出——类中get返回集合List??>属性的时候,返回的不是List对象的拷贝,而是List对象的引用。

会搜索

在学编程的时候,我们一定会遇到很多问题。

如果全部都去问问老师,那显然自己会很不好意思、老师会很累。

所以还要学会如何到网上搜到能真正帮助到自己的内容。

比如你想要知道Java的List的增删改查操作要如何实现,可以去搜索“Java List增删改查”,得到以下结果

到这些里面找找适合自己的博客看看。(关于适合是什么概念,还得看个人,每个人的感觉都会有所不同,多去搜搜看,下次搜的时候就会很快知道道哪些是适合自己的、哪些不适合自己,这样搜索效率就能提高了)

在我看来,会自学是学计算机的人很重要的一个能力,而会搜索也是会自学的核心了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值