《程序设计基础》第一学期学习总结

信管1222赵昶 2022-12-11 23:52:07

《程序设计基础》第一学期学习总结

1.梳理总结学习过的知识点

1.1数据类型、表达式

Java中存在int,float,double,long,char,string,boolean,byte八种类型的数据。在我的平时作业中最常用的类型为int、double和string。

表达式形如a+b=c,Java中常用的运算符有+ - * / % == != ++ -- || &&

 

1.2程序结构

Java有三大程序结构:顺序结构、选择结构、循环结构

顺序结构

   是Java程序的基本结构,语法从上到下一句一句执行,是最简单的算法结构

选择结构

       当我们需要判断一个条件时,需要使用选择结构,选择结构的关键词有if、else if、

       switch。if常用于两个选项,配合上else if可实现多个选项、switch通常用于有限个结果的场景。

      循环语句

       循环语句是在特定情况下,反复执行循环内的代码,循环的次数应该时有限的。

 

1.3 数组应用

   Java数组是提供给我们的一个储存数据的容器,常用的数组有一维数组和二维数组,三维及以上的数组很少使用。

   数组在创建时应该指定数据类型和长度。

   通过数组,我们可以实现诸如排序等需求,本学期我们只学习的最基本的冒泡排序。

   冒泡排序的基本原理:从第一位数字开始,依次与下一位数字进行比较,若后面的数字大于前者,则维持原状,否则交换位置,以此类推,直至所有数据排列完成。鉴于冒泡排序的低效,我一般使用Arraylist.sort方法。

1.4 类、方法

   Java中类是十分常见的,可以说,Java是由一个个类组成的。类可以理解为为了完成任务所设计的工具包。如使用十分频繁的Scanner类,它可以帮助我们实现从键盘录入数据。

   Java方法是一段可以重复调用的代码,其存在的目的是为了简化代码,提高可读性。

 

  1. PTA实践总结

2.1示例1 求定积分

   本题题干极为复杂,给初学编程的我留下了深刻的印象。但在仔细分析后,代码部分倒也不难实现,源码如下:

import java.util.Scanner;

public class Main {

    public static void main(String[] args){

        Scanner input = new Scanner(System.in);

        do{

           double down=input.nextDouble();

           double up=input.nextDouble();

           double n=input.nextDouble();

           double fxup,fxdown,out=0;

           for(int i=0;i<n;i++){

               fxdown=Math.pow(down+((up-down)/n)*i,2);

               fxup=Math.pow(down+((up-down)/n)*(i+1),2);

               out+=((fxup+fxdown)*((up-down)/n))/2;

           }System.out.println(String.format("%.3f",out));

        }while(input.hasNext());

    }

}

简单来说,就是按照输入要求将所求函数分为n份,再使用for循环一一将每份梯形的面积算出来,最后相加得到总面积,保留三位小数后输出。

 

2.2示例2 模拟计算器

这题本身也不难,但是是第一次接触续写题,把完整代码复制上去后无法通过,百思不得其解。源码如下:

private static int sum(int a,int b){

        int out =a+b;

        return out;

    }

    private static int sub(int a,int b){

        int out =a-b;

        return out;

    }

    private static int mul(int a,int b){

        int out =a*b;

        return out;

    }

    private static int div(int a,int b){

        int out =a/b;

        return out;

    }

定义 private static 后简单填写运算符即可完成。

 

2.3在线测评系统使用感受

    最让人不适应的一点是某些题目无法粘贴,在IDEA编写完成还要手动誊写到PTA且过程中经常出错,带来额外的时间消耗。

 

  1. 改进学习方法,措施落实情况

3.1一般是在百度搜索

3.2没有记录,无法绘制

3.3其实这个学期学的挺蒙的,有很大部分时间都是边写代码边学习,趁着寒假,我打算在B站寻找网课并划分时间学习

  1. 关于CSDN

4.1社区氛围很好,基本问题都有现成的答案

4.2 有些资源需要付费

4.3 B站,优点是免费和详细,可以找到具体的章节教学

5.主要阻力还是在数学上,程序算法往往都异想天开,数学差很难理解。我认为还是要多写代码,多多实践,不能止于观摩

 

...全文
61 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

147

社区成员

发帖
与我相关
我的任务
社区描述
广东海洋大学 数学与计算机学院 信息管理与信息系统专业 《程序设计基础》 JAVA入门
java 高校 广东省·湛江市
社区管理员
  • CheXQ_gdou
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧