学习笔记(一)

news2024/9/20 13:03:02

前言

一、对象

1、由类建模而成,是消息、数据和行为的组合

2、可以接收和发送消息,并利用消息进行彼此的交互。消息要包含传送给对象接收的信息

3、类的实例化:把类转换为对象的过程叫类的实例化。

4、对象的特性

(1) 对象有状态:对象的状态由对象的各种属性和相应值构成

(2) 对象可以显示行为(即方法),对象的行为使对象可以完成相应世界级

(3) 对象一个唯一的身份

5、类与对象的关系

(1) 类:将对象进行逻辑上的分类后,描述它们具有的共同特征。相当于一个模型

(2) 对象:由模型产生的,具有它所属的类所具有的一切特征

6、小白理解

(1) 某农场游戏中储存在仓库中的物体有若干种,每种物体都有它自己的属性。

(2) 根据仓库中物体的属性,将它们分为三大类:农具类、收获物类、奖励类

(3) 农具类脚本:描述所有农具共有的属性(也可以再细分更小的类)

(4) 由农具类创建出来的某个具体的农具(如锄头)就是对象,它具有工具类描述的所有属性

(5) 创建出锄头之后,你还可以给锄头赋予其他的属性

二、类

1、类由成员变量和成员方法组成。

(1) 成员变量可以用来存储对象的属性值,而成员方法用于定义对象的行为和操作。

(2) 成员变量也可以称为类的属性,而成员方法可以称为类的方法。

(3) 通过类中的成员变量和成员方法,可以描述出对象的特征和功能。

(4) 在C#中,成员变量和成员方法需要在类中进行定义,并且可以通过对象访问和使用。

1、字段

(1) 属性在类的声明中用变量表示,这样的变量称为字段(类中用于描述对象属性的变量)

(2) 在类内部声明,但在方法声明体之外

2、常见的访问权限

(1) private :只允许在类的内部使用

(2) public :类的外部也可以使用

(3) protected :在派生类中使用

3、方法(Method):C#中,所有的变量和方法都存在于类中

4、类的简单实例

(1) 实例和解析

(2) 使用 Hello 类创建一个对象

5、使用类中的方法:

(1) 使用类中的方法之前需要创建一个由这个类产生的对象,再由这个对象使用这个类

(2) 例如:使用 Hello 类中的displayMessage方法

Hello myHello = new Hello();
myHello.displayMessage();

6、通过类名 + .    直接使用的方法

(1) 该方法前有一个关键字static

(2) 只有静态的方法可以直接通过类名调用

(3) 例如Hello类中的 displayMessage 方法所调用的Console类,就是一个静态类

(4) Console类是系统自带的一个静态方法

重点

调用某一个类的方法有两种

① 创建对象后才能调用

Hello myHello = new Hello();
myHello.displayMessage();

② 直接调用(限静态方法)

Console.WriteLine("Hello");//调用Console类中的WriteLine方法
三、命名空间(namespace)

1、标识作用。组织和重用代码的编译单元,避免命名的重复等

2、简单理解:在类名前再加一个名字,以与其他类相区别

3、规定了标识符的可见范围

4、实例:Mis.Hello 类中的 Hello 类只在Mis这个命名空间中可见,

                若在另一个命名空间看到Hello类,则看到的这个Hello类与Mis中的Hello类不是同一种

5、小白理解:

(1) 现有A、B、C、D 四个命名空间,每个命名空间中都有一个名字为 example 的类

      现有赵钱孙李四个家庭,每个家庭都有一个叫小花的女儿

(2) 为区分分别位于四个命名空间中的这四个类,给example添加"A."……这样的前缀

     为区分这四个小花,你依次称她们为:赵小花、钱小花……

(3) 这四个小花不是同一个人,她们有自己的特征

6、引用命名空间

(1) 未引用时:System.Console.WriteLine("Hello");

(2) 使用 Using.System,在后续使用 Console类时,直接写为:Console.WriteLine("Hello");

7、了解

(1) 在每一个新建的C#工程中,系统都会自动把工程中的文件放进一个新的命名空间中

(2) 这个命名空间的名字一般默认为项目的名称

C#程序设计课程中第一个示例

一、实例1

1、启动Visual Studio,新建项目

2、 编辑

3、执行不调试。可以输出"HelloWorld"

4、打开解决方案资源管理器

5、可执行文件地址:\vs\Example01\bin\Debug

二、实例2

1、两个常见的静态类

(1) Console类:控制台类

(2) Convert类:转换类

2、Write和WriteLine的区别:WriteLine可以换行而Write不可以

3、实例:在控制台分两行输入两个整数数字,在第三行显示它们的和

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Example01
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //从控制台读取一行输入,并将其赋值给字符串变量s
            string s = Console.ReadLine();
            //字符串s转换为一个32位(四个字节)的整数
            int x = Convert.ToInt32(s);
            s = Console.ReadLine();
            int y = Convert.ToInt32(s);
            int z = x + y;
            Console.WriteLine(z);
        }
    }
}

4、输入的每行中含有多个数据(用空格分割)

(1) double 和float

双精度浮点数(double)是一种数据类型,用于表示带有小数点的数值,并且具有更高的精度和范围。它可以存储更大范围的数值和更多的小数位数。在C#中,双精度浮点数的关键字是 double

单精度浮点数(float)也可以用来表示带有小数的数值,但它的精度和范围相对较低。单精度浮点数的关键字是 float

在字符串转换为数字时分别使用 Convert.ToDouble() 和 Convert.ToSingle()

(2) 实例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Example01
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //在一行中输入多个数据
            string s2 = Console.ReadLine();
            string[] ss2 = s2.Split( ' ' );

            double[] a = new double[ss2.Length];
            double sum = 0;
            for ( int i = 0; i < ss2.Length; i++)
            {
                a[i] = Convert.ToDouble(ss2[i]);
                sum = sum+ a[i];
            }
            Console.WriteLine(sum);
        }
    }
}

(3) 解析

string[] ss2 = s2.Split( ' ' );

将字符串 s2 以空格字符(' ')为分隔符拆分成一个字符串数组
并将其存储在字符串数组 ss2 中。每个子字符串都将作为数组的一个元素

double[] a = new double[ss2.Length];

创建一个与 ss2 数组长度相同的新的双精度浮点数数组 a,用于稍后存储转换后的双精度浮点数值
数组中的每个元素都代表来自 ss2 数组的一个转换后的双精度浮点数值。

(5)

(1)

(2)

(3)

(4)

(5)

(1)

(2)

(3)

(4)

(5)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2140574.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

架构师知识梳理(七):软件工程-工程管理与开发模型

软件工程概述 软件开发生命周期 软件定义时期&#xff1a;包括可行性研究和详细需求分析过程&#xff0c;任务是确定软件开发工程必须完成的总目标&#xff0c;具体可分成问题定义、可行性研究、需求分析等。软件开发时期&#xff1a;就是软件的设计与实现&#xff0c;可分成…

解决VSCode文件的中文GBK和UTF-8编码之间乱码问题

NOTE&#xff1a;近日笔者在使用VSCode编码环境的时候&#xff0c;出现了中文和UTF-8两者之间乱码的问题&#xff0c;特编写本片文章&#xff0c;以作学习记录。 1.需求 用VSCode打开外部的GBK2312编码文件&#xff0c;想在VSCode中统一以UTF-8编码查看&#xff08;笔者推荐U…

作文网源码 范文论文网模板 带会员系统+支付接口+整站数据

织梦CMS仿某中国作文网源码,文章类网站源码数据采集&#xff0c;采集可能会失效哦&#xff0c;非常漂亮的模板程序。模板divcss设计&#xff0c;符合W3C标准&#xff0c;已做好SEO优化&#xff0c;收录爆增&#xff0c;排名好&#xff0c;模板清爽&#xff0c;漂亮。本站修复了…

Java | Leetcode Java题解之第405题数字转换为十六进制数

题目&#xff1a; 题解&#xff1a; class Solution {public String toHex(int num) {if (num 0) {return "0";}StringBuffer sb new StringBuffer();for (int i 7; i > 0; i --) {int val (num >> (4 * i)) & 0xf;if (sb.length() > 0 || val …

力扣每日一题 公交站间的距离

环形公交路线上有 n 个站&#xff0c;按次序从 0 到 n - 1 进行编号。我们已知每一对相邻公交站之间的距离&#xff0c;distance[i] 表示编号为 i 的车站和编号为 (i 1) % n 的车站之间的距离。 环线上的公交车都可以按顺时针和逆时针的方向行驶。 返回乘客从出发点 start 到目…

五、Kubernetes中的存储

目录 一 configmap 1.1 configmap的功能 1.2 configmap的使用场景 1.3 configmap创建方式 1.3.1 字面值创建 1.3.2 通过文件创建 1.3.3 通过目录创建 1.3.4 通过yaml文件创建 1.3.5 configmap的使用方式 1.3.5.1 使用configmap填充环境变量 1.3.5.2 通过数据卷使用c…

深度学习自编码器 - 引言篇

序言 在深度学习的浩瀚星空中&#xff0c;自编码器&#xff08; Autoencoder \text{Autoencoder} Autoencoder&#xff09;以其独特的魅力闪耀着光芒。作为一种无监督学习技术&#xff0c;自编码器通过构建输入数据的压缩表示&#xff08;编码&#xff09;及其重构&#xff08…

鸿蒙开发之ArkTS 基础八 联合类型

联合类型 是一个变量可以存储不同的数据类型 形式灵活 使用场景&#xff0c;比如&#xff0c;考试&#xff0c;结果有两种形式&#xff0c;一种是给出具体的多少分&#xff0c;一种是是给出A、B、C、D、这种等级&#xff0c;在之前的变量中&#xff0c;只能存储要么分数&#…

Docker简介在Centos和Ubuntu环境下安装Docker

文章目录 1.Docker简介2.Docker镜像与容器3.安装Docker3.1 Centos环境3.2 Ubuntu环境 1.Docker简介 Docker 是一个开源的应用容器引擎&#xff0c;它允许开发者将应用程序及其依赖项打包到一个可移植的容器中&#xff0c;然后发布到任何流行的 Linux 或 Windows 操作系统上。D…

强制类型转换有哪几种?

目录 1.static_cast 2.dynamic_cast 3.const_cast 4.reinterpret_cast 每种类型转换操作符都有其特定的应用场景和限制&#xff0c;应根据实际需求选择合适的转换方式。特别是 reinterpret_cast&#xff0c;由于它的类型安全性很低&#xff0c;使用时需格外小心。 1.static…

芜湖小孩自闭症寄宿制学校:释放潜能,开启未来

在探索儿童成长的无限可能中&#xff0c;有一群特别的孩子&#xff0c;他们以自己的节奏和方式感知着这个世界&#xff0c;那就是自闭症儿童。自闭症&#xff0c;一个逐渐为社会所熟知的领域&#xff0c;其背后承载着无数家庭的期望与挑战。在广州这座充满温情与活力的城市中&a…

成立LDAR检测公司的条件和投资额度(扩项)-泄漏检测与修复CMA认证

一、成立检验检测机构 1&#xff09;独立法人&#xff1a;营业执照&#xff08;经营范围包括检验检测机构服务的相关内容&#xff0c;不得有影响其检验检测活动公正性的经营项目&#xff0c;如&#xff1a;生产&#xff0c;销售等&#xff09; 2&#xff09;内设机构&#…

比传统机器学习更先进的深度学习神经网络的二分类建模全流程教程

比传统机器学习更先进的深度学习神经网络的二分类建模全流程分析教程 深度学习介绍和与传统机器学习的区别 深度学习&#xff08;Deep Learning&#xff09;是一种机器学习的分支&#xff0c;基于多层神经网络模型&#xff0c;能够自动从大量数据中学习特征并进行预测。深度学…

MES生产执行管理

技术架构&#xff1a; 基于RuoYi前后端分离版本开发 有需要该项目的小伙伴可以添加我Q&#xff1a;598748873&#xff0c;备注&#xff1a;CSDN 功能描述&#xff1a; 系统管理、主数据、物料产品管理、工作站设置、生产管理、生产排产、质量管理、生产排班、节假日/工作日…

自动驾驶自动泊车场景应用总结

自动泊车技术是当前智能驾驶技术的一个重要分支,其目标是通过车辆自身的感知、决策和控制系统,实现车辆在有限空间内的自主泊车操作。目前自动泊车可分为半自动泊车、全自动泊车、记忆泊车、自主代客泊车四种产品形态,其中, 根据搭载传感器和使用场景的不同,全自动泊车又可…

Redis Universe: 探索无边界的数据处理星系

目录 引言 一、NoSQL的崛起 - 数据处理的新纪元 1.1 关系型数据库与NoSQL数据库概述 1.2 NoSQL数据库的兴起 1.3 RDBMS与NoSQL的比较 二、Redis星系导论 2.1 Redis的定义与历史 2.2 Redis的特性 2.3 Redis的应用场景 2.4 Redis缓存实现流程 三、构建你的第一座数据库…

yolo-word复现

github下载代码&#xff1a;https://github.com/AILab-CVC/YOLO-World 配置环境&#xff1a; 官方的方式 当然也可以按照官方给的配置方式去安装库&#xff0c;我也试了&#xff0c;出现小问题了。 我这边是从我本身的yolov8的环境克隆过来的&#xff0c;然后安装我环境里没有…

java坏境搭建

目录 安装 步骤1 步骤2 步骤3 步骤4 环境变量 1、在桌面“计算机”或“此电脑”图标上右键&#xff0c;选择“属性”&#xff0c;进入控制面板的计算机系统页面后&#xff0c;点击“高级系统设置”&#xff0c;不同操作系统可能界面不同&#xff1a; 2、点击“环境变量”…

C++基础知识7 list

list 1. list的介绍及使用1.1 list的介绍1.2 list的使用1.2.1 list的构造1.2.2 list iterator的使用1.2.3 list capacity1.2.4 list element access1.2.5 list modifiers1.2.6 list的迭代器失效 2.1 模拟实现list 1. list的介绍及使用 1.1 list的介绍 1.2 list的使用 1.2.1 l…

三步设置NAS的内网穿透

现在的NAS很多&#xff0c;NAS中可以提供的dock服务也很多&#xff0c;博主也试了一下&#xff0c;可以把家里的服务提供到公网上&#xff1a; 1、博主有一个“终身免费的花生壳域名”&#xff1a; 2、博主家有一个华为的AX3 PRO路由器&#xff0c;在路由器中设置花生壳域名的…