................

TASHUOTAHENFOXI 2022-12-11 11:27:42

1. 梳理总结学习过的知识点(自行总结,内容不限于下列)
    1.1 数据类型、表达式

:基本数据类型:byteshortintlongfloatdoublecharboolean 

    :引用数据类型: 数组、类、接口。

级别从低到高为:byte,char,short(这三个平级)——>int——>float——>long——>double

    自动类型转换:从低级别到高级别,系统自动转的;

    强制类型转换:把一个高级别的数赋给一个别该数的级别低的变量;

三:运算符号:

    、算术运算符。

      +  —  *  /  %   

      %:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。

      +:连接符。

      ++,——

    、赋值运算符。

      =   +=  —=  *=  /=  %=

    、比较运算符。

      特点:该运算符的特点是:运算完的结果,要么是true,要么是false 

    、逻辑运算符。

      &   |   ^   !    &&    ||

      逻辑运算符除了 !  外都是用于连接两个boolean类型表达式。

      &: 只有两边都为true结果是true。否则就是false

      |:只要两边都为false结果是false,否则就是true

      ^:异或:和或有点不一样。

         两边结果一样,就为false

         两边结果不一样,就为true.

      & &&区别: & :无论左边结果是什么,右边都参与运算。

               &&:短路与,如果左边为false,那么右边参数不参与运算。

      | || 区别: |:两边都运算。

             ||:短路或,如果左边为true,那么右边不参与运算。

    、位运算符:用于操作二进制位的运算符。

      &  |  ^ 

      <<  >>   >>>(无符号右移)
    1.2 程序结构

一:Java程序的基本结构大体可以分为包、类、main()主方法、标识符、关键字、语句和注释等等。

二:注释:可以提高程序的可读性,注释包含的文字不会对程序产生任何影响,在Java中,代码注释主要有以下几种:

1. 单行注释  

 

  “//”为单行注释标记,从“//”开始到换行为止的所有内容均被注释而被编译器忽略。

 

// 这是一条单行注释

 

  2. 多行注释

 

  “/* /”为多行注释标记,符号“/”“/”之间的所有内容均为注释内容,可以换行。

 

/ 注释内容1 注释内容2 … /

 

  3. 文档注释

 

  “/* /”为文档注释标记。符号“/**”“/”之间的内容均为文档注释内容。格式与多行注释相同。

条件语句(If语句,If...else if...语句)

switch语句

switch(表达式){
case1{}

case2{}

}

:(如需跳出用break)

三:循环语句

1.

while(条件){
}

2.

do {
}

while(条件)

3.

for(条件){
}

四:跳转语句

 

1.break

 

结束循环,break可以用于循环,switch选择结构,函数

 

2.continue

 

立即跳出本次循环,继续下一次循环。

 

五:循环嵌套

  • 循环可以相互嵌套,内存循环放在外层循环的{}内部
  • 外层循环变量走一次,内层循环的变量要从头到尾走一次


    1.3 数组应用

一:数组的定义

数组是可以保存一组数据的一种数据结构,它本身也会占用一个内存地址,因此数组是引用类型。定义数组的语法格式如下:

数据类型[] 数组名;

对于数组的声明也可用另外一种形式,其语法格式如下:

数据类型 数组名[];

二: 静态初始化

两种方式,具体示例如下:

int[] arr;                              // 声明一个int类型数组

arr = new int[]{1,2,3,4,5};        // 静态初始化数组

int[] arr = new int[]{1,2,3,4,5};  // 声明并初始化数组

对于数组的静态初始化也可简写,具体示例如下:

int[] arr= {1,2,3,4,5}; // 声明并初始化一个

 

静态初始化数组,其中大括号包含数组元素值,元素值之间用逗号“,”分隔。

动态初始化

动态初始化是指由程序员在初始化数组时指定数组的长度,由系统为数组元素分配初始值。

数组动态初始化的具体示例如下:

int []arr=new int [5]  //动态初始化数组

数组声明的同时分配一块内存空间供该数组使用,数组长度是5.

四:数组长度与遍历

长度:数组名.length

遍历:for(int i=0;i<数组名.length;i++) {

System.out.println(数组名[i]);

}

四:二维数组

二维数组的声明:

int[][] arr;

int arr[][];

二维数组动态初始化的实例如下:

arr=new int[2][2];    // 动态初始化2*2的二维数组

arr[0]={1, 2}; // 初始化二维数组的第一个数组的元素

arr[1]={3, 4}; // 初始化二维数组的第二个数组的元素

二维数组静态初始化:

arr=new int[][]{

{1},

{2, 3},

{4}

};

 

 

 


    1.4 类、方法

一:面向对象思想

面向对象思想是人类最自然的一种思考方式,它将所有预处理的问题抽象为对象,同时了解这些对象具有哪些相应的属性以及展示这些对象的行为,以解决这些对象面临的一些实际问题,这样就在程序开发中引入了面向对象设计的概念,面向对象设计实际上就是对现实世界的对象进行建模操作。

面向对象的特点主要可以概括为封装性、继承性和多态性

  1. 方法的定义

Java中的方法定义在类中,一个类可以声明多个方法。方法的定义由方法名、参数、返回值类型以及方法体组成。

2.方法的调用

方法在调用时执行方法中的代码,因此要执行方法,必须调用方法。如果方法有返回值,通常将方法调用作为一个值来处理。如果方法没有返回值,方法调用必须是一条语句。

2. PTA实践总结
选择不少于两个程序示例进行说明,需要发布源代码、测试用例。
谈一下在线刷题的个人感受。
    2.1示例1

import java.util.Scanner;

public class Main{

    public static void main(String[]age){

        int a;

        Scanner sc=new Scanner(System.in);

        int b=0;//正数

        int c=0;//负数

        int d=0;//

        int count=0;

        while(true){

            a=sc.nextInt();

            if(a==0){

                break;

            }else if(a>0){

                b++;d=d+a;

            }else {

                c++;d=d+a;

            }count++;

          

        }

        double e=d/(double)(count);

        System.out.println(b);

 

        System.out.println(c);

        System.out.println(d);

        System.out.println(String.format("%.2f",e));

    }

}  

测试用例

1 2 3 -1 -2 -3 0

运行结果

3

3

0

0.00

以上是输入若干个(1个以上)整数,以0结束,统计读入的正数以及负数的数量,并计算输入的数值的总和及平均值(不对0计数)。

首先定义主方法

运用各种代码进行运算得到想要的结果

然后打印出来

 2.2示例2
    ... import java.util.Scanner;

public class Main{

    public static void main(String[]args){

        Scanner sc=new Scanner(System.in);

        int a=sc.nextInt();

        int A=a;

        int b=0;

        while(true){a=a/10;

                    b++;

            if(a==0){break;}

        }

        int c=0;

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

            int d=A%10;

            A=A/10;

            c=c*10+d;

        }System.out.println(c);

       

    }

}

测试用例

5236

运行结果

6325

以上是输入一个正整数,按数字的相反顺序输出。


    2.5在线评测系统使用感受

能够非常方便实时将自己编写的程序代码进行运行测试,检测自己的代码是不是可以符合题目要求,如果符合便可以直接提交,感觉不方便的就是不能知道自己错哪里了,导致有时候会因为不知道哪个测试点而去修改代码,但却查不出错误的地方,有时候非常浪费时间,但总体来说还是非常方便实用的。

3. 改进学习方法、措施落实情况(内容可扩展,至少包括以下项)

 

3.1 除课堂外,遇到不会的问题时会到哪个平台搜索

 

百度,qq平台询问老师,bilibili

 

3.2 根据记录2个月的每天代码时长,利用excel绘制统计表

平均每天一个小时,节假日后会出现松懈,会出现几天不想敲代码的心情低落感。

 

3.3 感觉个人的哪些方法还存在不足?哪些方面需要改进?等

   ...知识点不够丰富,做作业有一点拖拉,敲代码不够细心,上课应该提前预习并且下课后进行课外拓展,在面对题型的时候不能够快速理解题目要求,着落点不能够快速切入

 

4. 你知道csdn么,结合使用情况表述他的优点与不足

 

知道,上面有很多的大神对java知识点进行讲解,通俗易懂,也可以与他们实时交流问题,解答自己的困惑,暂时没有感到有什么地方不好用

 

4.1 csdn给你的直观感受是什么?

 

大神多,有不会的问题可以去查找

 

4.2 csdn你感觉最不舒服的地方是什么?

 

有许多种语言代码,有时候会分不清

 

4.3 你还利用了哪些平台学习编程知识,他们是哪些网站或资源,优点是什么?

 

哔哩哔哩,有博主进行视频讲解,可以更方便的理解java,可以帮助自己理解上课没听懂的知识点和错过的知识点

 

5. 你认为影响你学习编程的主要阻力是什么?如何克服!

 

自身的懒惰和拖延症,学习java应该勤奋敲题目,才能够面对难题时临危不乱。

 

6. 其它(针对课程的学习,请发挥)

 

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

147

社区成员

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

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