2020.9.29收获

今日收获:

1、对编程的精义有了更深层次的理解

首先我们面对的是原始的需求,正是因为存在问题,所以才要想解决问题的办法。

有了想要解决问题的想法,而个人能力有限,因此需要寻找伙伴,及项目中的团队,需要进行有效的项目沟通。

确立了团队成员后,需要确立项目目标,即在对问题进行实际考量后确定想要达到的最大程度,编程的全过程均是为了这个目标而服务。

最后需要程序员执行的就是确定解决问题的方法,具体问题具体分析,确立最适合此问题的合理方案。

2、简单理解了什么叫优秀的编程思维

编程思维并不是编写程序的技巧,而是一种高效解决问题的思维方式。所谓编程思维,就是理解问题找出路径的思维过程,它有分解、识别模式、抽象、算法四个步骤组成。

其中分解思想尤为关键,在处理问题的过程中,绝大多数问题并不能简单明了的处理完成。要想更有效零更合理的完成项目,就要有分而治之的思想,即把一个复杂的大问题拆解成更可执行,更好理解的小步骤。

以上次ATM程序为例:

第一次分解,我们要确定两个类,一个是数据类Account类,另一个是执行类AccountManager类;

第二次分解,我们要对AccountManager进行更加细化的分解,分为主界面方法、存款方法、取款方法、转账方法、修改密码方法、查询账户等多种方法,完成程序所需要的各种要求。

第三次分解,我们再对不同的方法板块进行执行步骤的细分,例如取款方法中应包含取款选择、取款验证、取款成功或失败跳转等步骤。

 

3、对Java语法基础进行了进一步的回顾

1)Java的基本运行单位是 类

2)String 是一个类,不是数据类型

3)明确规范标识符的重要性:规范的命名体现了一个软件开发者的素质,标识符起名应该尽量做到“望名知意”。

4)利用关键字 final 声明常量,对于全局的常量(即在整个项目中都可用),通常按以下模式声明:public static final int MAX_VALUE=512

5) String.valueof():将基本数据形态转换成String 的static方法

6)foreach 使用方法 和 枚举使用方法:  https://blog.csdn.net/u012827205/article/details/22197695?utm_source=app

7)Java中除了int 、float等少数几个数据类型,其余的数据类型都用来引用对象,int、float 等这些数据类型称为“原始数据类型”。

8)变量与内存

每个变量都有一个名字、数据类型、所占内存单元数和一个值

名字对应于内存中的位置、数据类型决定了它所占用的内存单元数量、值表示变量所占用的内存单元中所保存的数据。

变量的读写:当新值被赋给变量时,老值将被取代,仅从内存中读数据不会破坏数据。

在实际开发中,一般使用变量来存储用户在程序运行时输入的数据,变量在使用前应保证它有确切的值。

变量的作用域:每个变量都有一个“有效”的区域(称为“作用域”),出了这个区域,变量将不再有效。

*********************************************************************************

 四则运算

(1)生成30道随机的两个数的四则运算

package day02;
import java.util.Random;
public class Test {
    public static void main(String args[]) {
        for (int i = 0; i < 30; i++) {
            Random rand = new Random();
            int first = rand.nextInt(101);
            int second = rand.nextInt(101);
            String[] fuhao = new String[] { "+", "-", "*", "/" };
            String fh = fuhao[rand.nextInt(4)];
            System.out.println(first + fh + second + "=");
        }
    }
}

(2)题目避免重复

package day02;
import java.util.Random;
public class Test {
    public static void main(String args[]) {
        Random rand = new Random();
        boolean [] bool=new boolean[100];
        String[] fuhao = new String[] { "+", "-", "*", "/" };
        int first=0;int second=0;String fh=" ";
        for (int i = 0; i < 30; i++) {
            do {
            first = rand.nextInt(101);
            second = rand.nextInt(101);
            fh = fuhao[rand.nextInt(4)];
            }while(bool[first]&&bool[second]);
            bool[first]=true;
            bool[second]=true;
            System.out.println(first + fh + second + "=");
        
        }
        
    }
}

其中用布尔变量数组来存储是否生成了该数字,生成后,该数字作为布尔数组下表的对应布尔值变成了true,下一次生成该数字就会再次进入do...while循环生成数字直到产生没有生成过的数字。

 

 

原文地址:https://www.cnblogs.com/ltw222/p/13752473.html