【homework】类与对象的基础应用(Student类)
【题目】
定义一个Student类,包含的内容如下:
成员变量:学号、姓名、数学成绩、语文成绩;
成员方法:求成绩总分,求平均分
编程实现这个类,并调用相应的方法计算总分和平均分
类和对象基本概述
1、对象
①定义:在现实世界中,是客观世界中的一个实体
在计算机世界中,是一个可表示的存储区域
②对象具有唯一性
③对象具备特征:属性、行为
2、类
①定义:具有共同属性和行为的对象集合
②属性:变量
③行为:方法
3、类是对象的抽象(模板),对象是类的实例
建立Student类
1.命名规则
类的声明:[public] class 类名{}
成员变量命名规则:[修饰符] 变量类型 变量名 = [初始值];
成员方法命名规则:返回值类型 方法名(参数列表){方法体}
2.命名规范
变量方法名:首字母小写、驼峰原则
常量:大写字母、下划线
类名:首字母大写、驼峰规则
3.成员变量相关
无论成员变量在哪声明,作用域均为整个类体
成员变量可声明赋值,也可在方法中赋值
成员变量不可以在声明和方法之间赋值
4.成员变量默认规则
//局部变量无默认初始值,使用之前要赋值
boolean——false
byte、short、int、long——0
float、double——0.0
char——空字符
引用类型——null
5.修饰符
作用域 | 同一个类 | 同一个包 | 子孙类 | 所有类 |
public | √ | √ | √ | √ |
protected | √ | √ | √ |
× |
friendlly(default) | √ | √ | × | × |
private | √ | × | × | × |
final:最终成员变量
static:静态成员变量
6.static(类变量)
类变量不属于任何一个类的具体对象
是保存在类的内存区的公共存储单元
任何一个类的对象访问它,得到的都是相同的值
任何一个类的对象修改它,都是对同意内存单元进行操作
7.实例变量
没有用static修饰的变量是实例变量,必须实例化该类才可以使用实例变量
该类的不同对象都各自拥有自身的实例变量的版本
long num ;//学号
String name;//姓名
int gradeMath;//数学成绩
int gradeCh;//语文成绩
//定义成员方法
int total(int a,int b) {
return (a+b);
}
double averge(int a,int b) {
return((a+b)/2);
}
建立对象(数组——数量由输入端决定)
1.创建对象
①类名 对象名
对象名 = new 类名()
②类名 对象名 = new 类名()
2.访问对象
①对象名.变量名
②对象名.方法名
Scanner sc_all = new Scanner(System.in);
int all = sc_all.nextInt();
//创建学生数组
Student[] st = new Student[all];
//创建学生对象
for(int i=0;i<all;i++) {
st[i] = new Student();
}
从输入端接收信息——由学号进行演示
System.out.println("请输入该学生的学号:");
System.out.println("学号即为序号,请勿超过之前所输入的人数(从1开始)");
Scanner sc_num = new Scanner(System.in);
st[i].num = sc_num.nextLong();//i由for循环定义
从输入端接收学号,并输出相应数据——由总成绩进行演示
System.out.println(st[search].total(st[search].gradeMath, st[search].gradeCh));
全部代码
1.Student类
public class Student { //定义成员变量long num ;//学号String name;//姓名int gradeMath;//数学成绩int gradeCh;//语文成绩//定义成员方法int total(int a,int b) {return (a+b);}double averge(int a,int b) {return((a+b)/2);}
}
2.text类
import java.util.Scanner;public class text {public static void main(String[] args) {System.out.println("请先输入相关信息");System.out.println("请输入想要输入信息的人数:");Scanner sc_all = new Scanner(System.in);int all = sc_all.nextInt();//创建学生数组Student[] st = new Student[all];//创建学生对象for(int i=0;i<all;i++) {st[i] = new Student();}//输入信息部分for(int i=0;i<all;i++) {//输入学号System.out.println("请输入该学生的学号:");System.out.println("学号即为序号,请勿超过之前所输入的人数(从1开始)");Scanner sc_num = new Scanner(System.in);st[i].num = sc_num.nextLong();//输入姓名System.out.println("请输入该学生的姓名:");Scanner sc_name = new Scanner(System.in);st[i].name = sc_name.next();//输入数学成绩System.out.println("请输入该学生的数学成绩:");Scanner sc_gradeMath = new Scanner(System.in);st[i].gradeMath = sc_gradeMath.nextInt();//输入语文成绩System.out.println("请输入该学生的语文成绩:");Scanner sc_gradeCh = new Scanner(System.in);st[i].gradeCh = sc_gradeCh.nextInt();//由输入端判断循环是否结束System.out.println("若结束信息输入输入1,若继续输入2:");Scanner sc_pd = new Scanner(System.in);int pd = sc_pd.nextInt();if(pd==1) {break;}}//根据学号查询信息部分System.out.println("请输入查询学生的学号");Scanner sc_search = new Scanner(System.in);int search = sc_search.nextInt()-1;System.out.println(st[search].total(st[search].gradeMath, st[search].gradeCh));System.out.println(st[search].averge(st[search].gradeMath, st[search].gradeCh));}}
运行结果
请先输入相关信息
请输入想要输入信息的人数:
2
请输入该学生的学号:
学号即为序号,请勿超过之前所输入的人数(从1开始)
1
请输入该学生的姓名:
a
请输入该学生的数学成绩:
150
请输入该学生的语文成绩:
150
若结束信息输入输入1,若继续输入2:
1
请输入查询学生的学号
1
300
150.0
【homework】类与对象的基础应用(Student类)相关推荐
- java组合类,对象组合,定义一个点类,将圆的圆心用点类的对象表示,则圆类定义为一个组合类,仍然能计算圆的面积和周长,并能对圆进行移动。
对象组合的概念 如果一个对象中的域是其他类的对象,则称这个对象是组合对象,组合对象所在的类是组合类.例如计算机是由其他部件(对象)组成的.通过组合的方式,可以简化对象的创建过程,提高对象的创建效率.从 ...
- C++模板学习02(类模板)(类模板语法、类模板与函数模板的区别、类模板中的成员函数创建时机、类模板对象做函数参数、类模板与继承、类模板成员函数类外实现、类模板分文件编写、类模板与友元)
C++引用详情(引用的基本语法,注意事项,做函数的参数以及引用的本质,常量引用) 函数高级C++(函数的默认参数,函数的占位参数,函数重载的基本语法以及注意事项) C++类和对象-封装(属性和行为作为 ...
- Python的类和对象的介绍,定义类和对象,定义实例方法和属性以及Python中的魔法方法
Day09新手小白学python 第九节 Python的类和对象的介绍,定义类和对象,定义实例方法和属性以及Python中的魔法方法 目录 Day09新手小白学python 前言 一.面向对象介绍 二 ...
- 【Java 19】反射 - 反射机制概述、获取Class实例、类的加载与ClassLoader的理解、创建运行时类的对象、获取运行时类的完整结构、调用运行时类的指定结构、动态代理
反射机制概述.获取Class实例.类的加载与ClassLoader的理解.创建运行时类的对象.获取运行时类的完整结构.调用运行时类的指定结构.动态代理 反射 1 Java反射机制概述 1.1 Java ...
- 类与对象——python基础datawhale组队学习
类与对象 1. 对象 = 属性 + 方法 对象是类的实例.换句话说,类主要定义对象的结构,然后我们以类为模板创建对象.类不但包含方法定义,而且还包含所有实例共享的数据. 封装:信息隐蔽技术 我们可以使 ...
- (四)nodejs循序渐进-函数,类和对象(基础篇)
上一篇文章讲到了基本数据类型和运算符,相信大家都能做简单的运算,本篇文章将讲述函数,类,对象. 函数 在nodejs中,一个函数可以作为另一个函数的参数.我们可以先定义一个函数,然后传递,也可以在传递 ...
- java类和对象的基础(笔记)
在Java类的设计中,有时希望一个类在任何时候只能有一个实例.这时可以将该类设计为单例模式(singleton).要将一个类设计为单例模式,需要把类的构造方法的访问修饰符声明为private,然后在类 ...
- 6.java中什么是类_类、对象(java基础知识六)
1.Java约定俗成 java约定俗成1,类名接口名 一个单词首字母大写,多个单词每个单词首字母都大写2,方法名和变量名 一个单词全部小写,多个单词从第二个单词首字母大写 建议:如果能用英语尽量用英语 ...
- java类和对象的基础特性
目录 点击传送>>> 前言: 1.面向对象概述 2.类和对象 1.对象 2.类 3.类的定义格式 1.成员变量(静态部分) 2.成员方法(动态部分) 3.实例化 3.权限修饰符 1. ...
- OC基础语法(1)—类和对象OC基础语法…
01-第一个OC程序 // main.m #include #import #import "One.h" #import "Two.h" // OC和C语言 ...
最新文章
- python拿来干嘛-Python是什么 Python的用处
- python文件运行问题
- VS2013导入opencv320配置属性文件
- 教你从0到1搭建秒杀系统-抢购接口隐藏与单用户限制频率
- [读书笔记]鸟哥的LINUX私房菜 十三章 shell scripts
- flask get 参数_Python web 用它5分钟以后,我放弃用了四年的 Flask
- 寻找指定型别的父控件
- [渝粤教育] 九江学院 妇产科护理学 参考 资料
- 日光能和电池两用计算机,为什么太阳照射的光可以给太阳能转化为电,而我们的日光灯却不行?...
- 首席架构师的领导力和管理能力
- 60后刘备聘用80后诸葛亮的启示
- 【IoT】5.Business Strategy 商业战略
- 计算机python实验报告_Python实验报告六:函数
- 《Context Contrasted Feature and Gated Multi-Scale Aggregation for Scene Segmentation》论文阅读
- 【防火墙篇】01. 映射 Web 服务器 ❀ WatchGuard 防火墙
- 【python】小技巧-判断一个字典中是否包含另一个字典的值,即实际结果中是否包含预期结果
- echarts中国地图散点实现自定义动画
- linux开机自动挂载群晖,群辉开机加载磁盘分区引导脚本
- 互联网日报 | 6月21日 星期一 | 小米成立手机电影工作室;每日优鲜零售云业务正式亮相;高德打车上线助老暖心车站...
- cannot be cast to linux 环境,[Redis] ** cannot be cast to java.lang.String
热门文章
- 论文翻译——Skin Lesion Synthesis with Generative Adversarial Networks
- 工作缺点和不足及措施_个人工作存在的不足和改进措施_个人工作存在问题和整改方案...
- 微软Win8Server2012各版本安装密匙序列号
- Delphi为什么都不用了?公司CTO不向老板推荐使用Delphi的13 个真实原因
- 网口扫盲三:以太网芯片MAC和PHY的关系
- 计算机DNS怎么配置,dns设置,教您怎么设置dns地址
- Ubuntu设置dns
- EasyExcel模板数据填充
- 公司企业邮箱开通使用,收不到邮件怎么办?
- 简单易懂的现代魔法——Play Framework攻略2