20145237 《Java程序设计》第三周学习总结
20145237 《Java程序设计》第3周学习总结
教材学习内容总结
第四章主要讲了Java基本类型中的类类型,如何定义类、构造函数、使用标准类、基本类型打包器、数组复制、字符串等内容查询API文档。
首先确定两个基本的概念:
对象(Object):存在的具体实体,具有明确的状态和行为
类(Class):具有相同属性和行为的一组对象的集合,用于组合各个对象所共有操作和属性的一种机制。
要产生对象必须先定义类,类是对象的设计图,对象是类的实例,建立实例要用new。
数组对象
数组在Java中就是一个对象。声明一维数组用int[],在一维数组中可以用数组的length属性获得数组元素的个数。声明二维数组用int[][] ,通过.length的指数组有几列,通过[x].length得知每列有几个元素。
数组作为一个对象,每个类型都有初始值,另外数组的索引从0开始,使用new建立数组后,每个索引元素都有确定值,而且数组一旦建立,长度就确定了,我们需要注意的是在使用的时候不能超过其索引范围,否则会出现ArrayIndexOutOfBoundsException的错误。 ·在java中数组是对象,数组的长度属性可回去的数组长度,可以用for循环一次取出数组中的每个值 语法:
for(int score:scores){
System.out.printf(“分数:%d ”,score);
}
public class Score { public static void main(String[] args) {
int[] score = {88, 81, 74, 68, 78, 76, 77, 85, 95, 93};
for (int i = 0;i < score.length; i++) {
System.out.printf("学生分数:%d %n",score[i]);
}
}
}
字符串对象
字符串本质是打包字符数组的对象,是java.lang.String类的实例。需要注意到是以“”包括的字符串,只要内容完全相同,则只会建立一个String实例,并在字符串池中维护。
字符串对象一旦建立,就无法更改对象中的任何内容。使用“+”连接字符串可以产生新的String实例。 Java中字符串的本质是打包字符数组的对象,是Java.lang.String的实例。
import java.util.Scanner;
public class Sum
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
long sum = 0;
long number = 0;
do
{
System.out.print("输入数字:");
number = Long.parseLong(scanner.nextLine());
sum += number;
}
while(number != 0);
System.out.println("总和为:"+sum);
}
}
教材学习中的问题和解决过程
在看书时我刚开始分不清类与对象的关系,因此在之后的学习中我感到十分的困难,后来看了老师博客里的指导并且问了一些同学,差不多明白了此问题。还有基本类型的打包和装箱拆箱的实质不太理解。
代码调试中的问题和解决过程
本周我都是在按照书上的代码进行练习,但不是全部都懂,有很多问题。例如:在练习书本p109页的题目时,我就出现了问题。
public class Average {
public static void main(String[] args){
long sum=0;
for(String arg:args){
sum+=Long.parseLong(arg);
}
System.out.println("平均:"+(float)sum/args.length);
}
}
代码托管如下图:
其他(感悟、思考等,可选)
本周要进行两章的学习,任务还是比较重的,我觉得自己还是有很多地方没有理解,再加上通过上周的考试我知道,我对于上周学习的知识也没有完全弄懂,我得花更大功夫,用更多的时间去学习java才能跟上同学们的脚步。另外我之前没有把自己的代码托管,打算这周向会的同学学习,将自己的代码托管,以便更好的学习。
学习进度条
代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 3500行 15篇 400小时
第一周 30/30 2/2 20/20
第二周 100/130 1/3 18/38
第三周 100/230 1/4 22/60