java学习(三)
学号 20189214 《Java程序设计》第三周学习总结
教材学习内容总结
核心类
java.lang.Object
- 所有的类都直接派生自这个类。
java.lang.String
- String对象可以包含任意多个字符。
- String对象是一个常量,不可修改。
创建String对象:
- String s = "Java "
- String message = new String ("Java")
两种方法的区别:当采用new关键字时,JVM会创建String的一个新实例。当采用字符串字面值的时候,你会得到相同的一个String对象。(如之前已经创建了,该对象可能来自于一个池)。
比较字符串
String s1 = "java"
String s2 = "java"
String s3 = new String ("java")
if(s1 == s2){
...
输出True
}
if (s1 == s3)
{
...
#输出False
# ==比较的是两个对象引用的地址
}
if (s1!=null&s1.equals("java"))
return true
#equal比较两个对象的值是否相同
if("java".equals(s1))
return true
字符串字面值
- String s1 = "String"+3
- 如果连接一个对象和一个String,调用前者的toString方法。
java.lang.StringBuffer和java.lang.StringBuilder
- String对象是不可变的。
- StringBuffer适合在多线程环境中使用;StringBuilder是Buffer的异步版本。
- StringBuilder未指定大小的时候会拥有16个字符的大小。如果了16个字符,对象会自动增加。
基本类型包装器
- java.lang.Integer
- java.lang.Boolean
- java.lang.Character
java.lang.Class
- 每次JVM创建一个对象时,也创建一个java.lang.Class对象来描述该对象的类型。
- 同一个类的所有实例,都共享一个Class对象。
可调用对象的getClass方法来获取Class对象
可调用对象的getName方法,返回对象表示类的完全限定名称。
- forName和newInstance
java.lang.System
System类是一个final类
System.out
System.in
System.err
System.arraycopy
System.setProperty("password","ttt")
System.getProperty("password")
java.util.Scanner
Scanner scanner = new Scanner (System.in)
String input = scanner.nextLine()
错误处理
- 运行错误
try...catch...finally... - 编译错误
教材学习中的问题和解决过程
- 问题1:java.lang.Object方法中toString返回对象的说明和getClass的区别
- 问题1解决方案:toString返回对象的toString方法,未重写的toString方法返回@hashcode值;而getClass返回对象的名称。
代码调试中的问题和解决过程
- 问题1:从方法中抛出异常的两种方法的顺序
- 问题1解决方案:
public static void main(String[] args) throws IOException
try...catch ...
1. 在接口的实现类中,如果定义的接口抽象方法中没有抛出异常,在重写的抽象方法中是不能通过throws这种方式抛出异常的,因为父类没有抛出异常,子类是不能抛出异常的。
2. 当通过try catch这种方法抛出异常的时候要注意抛出异常的顺序,异常范围小的放在前面,异常范围大的放在后面
代码托管

上周考试错题总结
如果有以下程序代码:
String[] strs=new String[5];
以下描述正确的是
A .产生5个String 实例
B .产生1个String 实例
C .产生0个String 实例
D .编译失败
(1)用new 语句创建对象,这是最常用的创建对象方法。
(2)运用反射手段,调用Java.lang.Class或者 java.lang.reflect.Constructor类的newInstance()实例方法。
(3)调用对象的clone()方法。
(4)运用反序列化手段,调用java.io.ObjectInputStream对象的readObject()方法。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 150/200 | 2/2 | 20/20 | |
| 第二周 | 200/400 | 1/3 | 20/40 | |
| 第三周 | 100/500 | 1/4 | 10/50 |
计划学习时间:15小时
实际学习时间:10小时
参考资料
java学习(三)的更多相关文章
- 《java学习三》并发编程 -------线程池原理剖析
阻塞队列与非阻塞队 阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞.试图从空的阻塞队列中获取元素的线程将会被阻塞,直到 ...
- 《java学习三》jvm性能优化------jconsul
利用jconsul检测线程死锁, 死锁的线程,会有 已锁定 三个字 visualVm 也在jdk里 VisualVM 是一款免费的,集成了多 ...
- 《java学习三》jvm性能优化-------调优
常见参数配置 -XX:+PrintGC 每次触发GC的时候打印相关日志 -XX:+UseSerialGC 串行回收 -XX:+PrintGCDetails 更详细的GC日志 -X ...
- JAVA学习<三>
1.Java中运算符的优先级: 2.条件语句If: 如果 if 条件成立时的执行语句只有一条,是可以省略大括号滴!但如果执行语句有多条,那么大括号就是不可或缺的. public class Hello ...
- java学习(三) java 中 mongodb的各种操作
一. 常用查询: 1. 查询一条数据:(多用于保存时判断db中是否已有当前数据,这里 is 精确匹配,模糊匹配 使用 regex...) public PageUrl getByUrl(String ...
- java学习三 小数默认为double
前++,后++在独立运算时候 直接计算出值 当后加加和减减和其他代码在一行的时候先使用加加和减减之前的值, 如果不在同一行,后面的一行就会得到加加或减减后的值 &&是逻辑运算符,逻辑运 ...
- 20145304 Java第三周学习报告
20145304 <Java程序设计>第三周学习总结 教材学习内容总结 1.定义类: 类定义时使用class关键词,建立实例要使用new关键词. 代码如下: /*定义类 书上例子 衣服的型 ...
- 第三周java学习总结
学号 20175206 <Java程序设计>第三周学习总结 教材学习内容总结 本周为第四章的学习,分为以下几个方面: 1.包与代码组织 2.String类 3.对象创建 4.包装类 经过代 ...
- Android JNI学习(三)——Java与Native相互调用
本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Nati ...
随机推荐
- PostgreSQL模式(schema)介绍
一个PostgreSQL数据库集群包含一个或多个已命名数据库.用户和用户组在整个集群范围内是共享的,但是其它数据并不共享.任何与服务器连接的客户都只能访问那个在连接请求里声明的数据库. 注意: 集群中 ...
- 深入理解Java虚拟机读书笔记2----垃圾收集器与内存分配策略
二 垃圾收集器与内存分配策略 1 JVM中哪些内存需要回收? JVM垃圾回收主要关注的是Java堆和方法区这两个区域:而程序计数器.虚拟机栈.本地方法栈这3个区域随线程而生,随线程而灭,随着方 ...
- azkaban用户管理及权限配置
参考:https://blog.csdn.net/zlx510tsde/article/details/52287931 官网:https://azkaban.readthedocs.io/en/la ...
- 盘点一下Github上开源的Java面试/学习相关的仓库,看完弄懂薪资至少增加10k
最近浏览 Github ,收藏了一些还算不错的 Java面试/学习相关的仓库,分享给大家,希望对你有帮助.我暂且按照目前的 Star 数量来排序. 本文由 SnailClimb 整理,如需转载请联系作 ...
- 新装 Win7 系统装完驱动精灵,一打开到检测界面就卡死——原因与解决方案
1.现象: 重装系统后,鼠标反应慢,且不能上网.因此装了个驱动精灵,准备更新下驱动,但驱动精灵一打开到检测界面就卡死(换驱动人生.鲁大师也一样). 2.原因: Win7 系统 iso 中自带的驱动程序 ...
- 如何清空css 的默认边距
在网页开发中,html的元素,有部分元素默认是有内外边距的,例如body 元素,是有默认边距的 所以在通常情况下,我们都要先清空元素的内外边距:使用通配符选择器* 清空元素的内边距和外边距 ;; } ...
- 把nginx当完全tcp端口转发器
在nginx.conf里加入 stream { server { listen 18443; proxy_pass 58.xxx.xxx.xxx:8443; ...
- 吴裕雄 python 机器学习——回归决策树模型
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets from sklearn.model_s ...
- python,ModuleNotFoundError,is not a package
Traceback (most recent call last): File "/home/lll/zzz/work/video/zzz/generate.py", line 7 ...
- python day09 函数(第一篇)
2019.4.9 S21 day09笔记总结 一.三元运算 三元运算又叫三目运算.(是为了赋值的) v = 前面 if 条件 else 后面 #条件为真,v取if前面的值:条件为假,v取if后面的值 ...