147
社区成员
发帖
与我相关
我的任务
分享1. 梳理总结学习过的知识点
1.1 数据类型、表达式
基本数据类型是指Java固有的数据类型,是编译器本身能理解的,可以分为数字型、布尔型和字符型。
数字型基本数据类型有6种
–boolean 布尔
–byte 字节
–short/int/long 短整数/整数/长整数
–float/double 浮点数
–char 字符
布尔型表示一个逻辑量,只有两个值true和false,它们不对应任何整数值。
字符型数据(char)用于存储单个自符,字符以代码形式存储。Java字符型数据类型是16位的,最小值0,最大值65535。
表达式由一系列的变量、运算符和方法调用构成,用于计算、对变量赋值,以及作为程序控制的条件。表达式的值由其中的各个元素决定,可以是基本数据类型也可以是对象类型。
1.2 程序结构
分支/选择结构是根据条件的成立与否决定要执行哪些语句的一种结构。
Java提供了两种分支结构语句:if语句和switch语句。其中if语句使用布尔表达式或布尔值作为分支条件来进行分支控制;而switch语句用于对多个整数值进行匹配,从而实现多分支控制。
循环结构是程序中的另一种重要结构。在实际应用中,当碰到需要多次重复地执行一个或多个任务的情况时,应考虑使用循环结构来解决。循环结构的特点是在给定条件成立时,重复执行某个程序段。通常称给定条件为循环条件,称反复执行的程序段为循环体。
Java程序设计中引入了循环语句。循环语句总共有三种常见的形式:while 循环语句、do-while循环语句和for循环语句。
1.3 数组应用
数组是一组具有相同类型或者类型兼容数据的集合,方便数据的管理和使用,是一种引用数据类型。简单来说数组是可以保存一组数据的一种数据结构,它本身也会占用一个内存地址,因此数组是引用类型。
一维数组声明格式常用:数据类型[ ] 数组名 或 数据类型 数组名[ ]
Java 语言中数组的使用非常灵活。按照所支持数据维度的不同,数组可以分为一维数组和多维数组(数组的维度可以简单理解为有几对中括号,例如:一维数组在声明的时候有一对中括号[],二维数组在声明的时候有两对中括号[][],以此类推);按照每一维数据的个数是否相同,数组可以分为规则数组和非规则数组(锯齿数组)。
数组中的5个重要概念:
数组的名称(name),又称为数组名,代表一个数组。如a等。
数组中的元素(element),数组中的每一个数据,数据在数组中有序排列。
数组的类型(type),数组中每个数据的类型,通常是相同的类型。如int等。
数组的索引(index),访问数组中元素的序号,序号的索引位置从0开始。
数组的长度(length),数组中的元素个数,通过数组名.length 获取。
注意:索引是非负的整型常数或表达式,数组的索引从0开始,到数组的长度减1结束。如果索引小于0或者大于数组的长度减1时,则会出现运行时数组索引越界异常 ArrayIndexOutOfBoundsException。该索引也被称为元素在数组中的偏移位置。
数组中可以存放声明中的数据类型或者比声明数据类型小的类型,但是在使用数组中的元素时、都以声明中的数据类型操作数据。例如,在本例中,int类型或者比int类型小的数据类型数据(byte.short,char)可以放在该数组中,但是在使用时会自动转型成int类型后使用。
声明数组时,不能指定数组的长度(即数组中元素的个数):int[3]a是错误的。
一维数组
声明数组之后,数组中能存放多少个数据还不能确定,因为 Java 虚拟机(JVM)还没有为存储数组中的元素分配内存空间。
根据数组内存空间分配的不同方式,可以分为静态创建方式(int[ ] array =new int[ ]{1,2,3,4,5};//声明并初始化一个int类型的数组)和动态创建方式(int[ ] array = new int[10];)
静态初始化是指由程序员在初始化数组时为数组每个元素赋值,由系统决定数组的长度。
动态初始化是指由程序员在初始化数组时指定数组的长度,由系统为数组元素分配初始值。声明动态初始化数组时,其元素会根据它的数据类型被设置为默认的初始值。
1.4 类、方法
类实质上就是封装对象属性和行为的载体,而对象则是类抽象出来的一个实例。
类的定义:在类中,属性是通过成员变量体现的,而行为是成员函数(又称为方法)实现的,下面为大家演示Java中定义类的通用格式,其语法格式如下:
class 类名{
属性类型 成员变量名; // 成员变量(对象属性)
…
修饰符 返回值类型 方法名([参数列表]) { // 成员方法(对象行为)
// 方法体
return 返回值;
}
}
构造方法:如果想改变默认的初始化,让系统创建对象时就为该对象的成员属性显式地指定初始值,可以通过构造方法来实现。构造方法是类中一个特殊的成员方法,用于为类中属性初始化。
构造方法的定义:构造方法是在创建一个对象使用new关键字时被调用的。
构造方法有三个特征:
如果类未定义任何构造方法,系统会自动提供一个默认构造方法,又称缺省构造方法。如果已存在带参数的构造方法,则系统将不会提供缺省构造方法。
每次定义类的构造方法时,应预先定义一个无参的构造方法,有参的构造方法可以根据需求再定义。
构造方法的重建:由于系统提供的默认构造方法通常不能满足需求,这时就需要多个构造方法,与普通方法一样,只要每个构造方法的参数列表不同,即可实现重载。这样在创建对象时,就可以通过调用不同的构造方法为不同的属性赋值。
2. PTA实践总结
选择不少于两个程序示例进行说明,需要发布源代码、测试用例。
谈一下在线刷题的个人感受。
2.1示例1
给出三个整数,请你设计一个程序,求出这三个数的和、乘积和平均数。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
int a , b , c , num1 ,num2 ;
double average;
a = sc.nextInt();
b = sc.nextInt();
c = sc.nextInt();
num1 = a + b + c;
num2 = a * b * c;
average =(a + b + c) / 3.0;
System.out.print(num1 + " " + num2 + " ");
System.out.printf("%.2f",average);
sc.close();
}
}
2.2示例2
作品评分系统:能自动去掉一个最高分和一个最低分,求出平均分。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
int n;
n = sc.nextInt();
double num,sum = 0,avg = 0;
double maxValue=Integer.MIN_VALUE;
double minvalue=Integer.MAX_VALUE;
for(int i =1;i <=n;i++){
String str = sc.next();
num = Double.parseDouble (str);
sum = sum + num;
if(num>maxValue){
maxValue = num;
}
if(num<minvalue){
minvalue = num;
}
}
avg = (sum - minvalue - maxValue)/(n-2);
System.out.printf("%.2f",avg);
sc.close();
}
}
2.3在线评测系统使用感受
还行 一般出现错误会复制到eslipse进行测试再改正至正确 但有时会碰到非零返回和运行超时的情况不太会处理,之后会加强练习。
3. 改进学习方法、措施落实情况(内容可扩展,至少包括以下项)
3.1 除课堂外,遇到不会的问题时会到哪个平台搜索
CSDN、百度
3.2 根据记录2个月的每天代码时长,利用excel绘制统计表
没有准确的记录,平均下来每天一两个小时,比较少,在之后的时间里包括假期会加强练习,进行更长时间的练习提升。
3.3 感觉个人的哪些方法还存在不足?哪些方面需要改进?等
需要多加练习,不应止于概念和作业方面,要多实践多学习
4. 你知道csdn么,结合使用情况表述他的优点与不足
4.1 csdn给你的直观感受是什么?
很适合学习计算机这方面的人群使用
4.2 csdn你感觉最不舒服的地方是什么?
有时候找不到搜索的内容吧 但是正常
4.3 你还利用了哪些平台学习编程知识,他们是哪些网站或资源,优点是什么?
哔哩哔哩
5. 你认为影响你学习编程的主要阻力是什么?如何克服!
心理 觉得好像比较难学会 还有就是懒惰没有花足够的更多的时间在上面
改变心态 多加练习 树立目标
6. 其它(针对课程的学习,请发挥)
暂无 老师教的挺用心的 基本每次上课前都会说说最近的一些同学反映的情况 会采取的一些改进措施等 很耐心的解释原因 感觉课程自己提前预习会更好跟上一些