卡码网Java基础课 | 1. A+B问题I

卡码网Java基础课|1. A+B问题I

  • 类和面向对象
  • new关键字
  • 程序基本结构
  • 方法的组成
    • 返回类型ReturnType
    • 函数名methodType
    • 形参列表
    • 方法体
  • 输入输出
    • Scanner类的使用
  • 变量
  • 完整代码
  • 输入:Scanner类的使用
  • private和public

类和面向对象

一个类具有一些“属性”和“方法”:

  • “属性”表示类所具有的特征,我们可以描述为基本状态;
  • “方法”表示类的行为和功能,我们可以描述为动态行为。
Person {// 姓名、性别、年龄等属性name;gender;age;// 吃饭的方法eat() {}// 行走的方法walk() {}
}

new关键字

创建Person实例需要使用new关键字。

  • new Person()创建一个实例
  • 将这个实例起名为xiaoming
  • Person xiaoming表示这是一个Person的实例,xiaoming属于Person这种类型
Person xiaoming = new Person();

程序基本结构

创建一个Main.java,必须包括下面的基本结构:

public class Main {public static void main(String[] args) {}
}
  1. 使用class关键字定义一个public(公开)类,类的名称是Main
public class Main {
}

在Main.java文件中,必须存在一个与该文件同名的类,类要使用class这个关键字里定义,Main是类的名称,类的名称通常以大写字母开头, public表示这个类是公开的,这意味着你可以在任何其他类中访问。

  1. 类中还必须包括一个方法main,Java程序总是从main方法开始执行,表示这是Java程序的入口, 下面的代码是main方法的固定写法。
public static void main(String[] args) {}
  • public是一个访问修饰符, 除了可以修饰class外,也可以修饰方法,表示该方法是公开的,对于main来说,它必须是public的
  • 关键字static是另一个修饰符,它表示静态方法,后面我们会讲解方法的类型,目前,我们只需要知道,Java入口程序规定的方法必须是静态方法
  • void 表示该方法不返回任何值
  • main是方法的名称,作为程序的入口点,而且入口的名称方法名必须为main
  • String[] args:这是 main 方法的参数

方法的组成

一个方法主要包含四个部分:返回类型,方法名,形参列表,方法体

ReturnType methodName(/* 参数列表 */) {// 方法体
}

返回类型ReturnType

方法名之前放置一个关键字表示该方法的返回类型,这个关键字代表的含义是方法执行完毕会返回什么类型的值。
main 方法通常不返回结果,所以用void来修饰,因为它的主要目的是启动程序,而不是返回值。

函数名methodType

一个类可以有很多个方法,每个方法有不同的作用,为了区分这些方法,我们要给不同的方法起不同的方法名称,而且方法命名是有规范的。

形参列表

方法名之后的括号内填充的就是形参列表,它定义了方法在被调用时传递给方法的信息,参数可以有多个,不同参数之间用逗号分隔。
String[] args是 main 方法的参数,它表示的含义是一个字符串数组。

方法体

从左花括号{ }结束,这一部分就是方法体,方法体中可以有很多行代码,方法体中代码的执行产生不同的结果。

输入输出

在Java中,你可以使用标准输入(System.in)进行输入操作,使用标准输出(System.out)来进行输出操作,此外还需要使用到 Scanner 类(Java标准库中的一个类)。

  • System.in 是一个标准的输入流,它允许你从控制台(键盘)获取用户输入的数据。
  • Scanner 是 Java 中的一个类,它位于 java.util 包中,它提供了一种简便的方式来处理输入数据。

Scanner类的使用

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);sc.close(); // 关闭Scanner对象}
}

变量

所以我们首先需要定义两个变量a,b代码这么写:

int a; 
int b;

或者

int a, b; 

在定义变量的时候,也可以给他一个初始值,如果不写初始化值的话,系统会帮助我们设置一个默认值0。

int a = 1; 

现在可以使用一个变量来保存使用Scanner读取的数字了,Scanner使用nextInt()方法读取并返回下一个整数,我们使用该方法读取两个整数,并存放在变量a和变量b中。

int a = sc.nextInt(); 
int b = sc.nextInt(); 

完整代码

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int a = sc.nextInt();int b = sc.nextInt();System.out.println(a+b);sc.close(); }
}

但这样只会运行一次,如果要持续运行得要一个循环。

while(sc.hasNextInt()) {int a = sc.nextInt();int b = sc.nextInt();System.out.println(a+b);
}
// 引入Scanner
import java.util.Scanner;public class Main {public static void main(String[] args) {// 创造一个Scanner对象Scanner sc = new Scanner(System.in);// 判断是否还有下一个数据while(sc.hasNextInt()) {// 读取两个整数并将它们存储在变量 a和 b中int a = sc.nextInt();int b = sc.nextInt();// 输出a和b的值System.out.println(a+b);}sc.close(); // 关闭Scanner对象}
}

输入:Scanner类的使用

  • next():读取下一个字符串。
  • nextInt():读取下一个整数。
  • nextDouble():读取下一个双精度浮点数。
  • nextLine():读取下一行文本。
  • hasNext():判断是否还有下一个输入项。如果有,返回 true;否则返回 false。
  • hasNextInt():判断是否还有下一个整数输入项。
  • hasNextDouble():检查是否还有下一个双精度浮点数输入项。

private和public

在程序基本结构中,我们介绍了用public来修饰类, 这里的public是一个访问修饰符,可以用来修饰类、属性或者方法,表示被修饰的成员对于其他所有类都是可见的

除了public外,还有private修饰符和一些其他的修饰符,private表示被修饰的成员只能在包含它的类中被访问, 其他类无法访问类中的 private 成员。这通常用于隐藏类的内部细节。

public class A {private int age;
}
public class B {// 无法在 B 类中直接使用age
}

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

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

相关文章

云卷云舒:【实战篇】云主机/虚拟机迁移

1. 简介 用户原有业务通过不同版本型号、不同操作系统的主机承载,形式上包括物理服务器、虚拟机、公有云主机等。随着业务不断扩张,需要将其业务云化转型,必须保证上云过程数据完整,业务平滑过度。 如果将所有业务系统都重新部署…

以太坊开发者会议回顾:坎昆升级、硬分叉与布拉格

作者:Christine Kim Galaxy研究副总裁 编译:秦晋 碳链价值 2024年1月4日,以太坊开发人员齐聚Zoom for All Core Developers Execution (ACDE) Call #178 上。ACDE电话会议通常由以太坊基金会协议负责人Tim Beiko主持,是一个开发人…

Orchestrator源码解读2-故障失败发现

目录 目录 前言 核心流程函数调用路径 GetReplicationAnalysis 故障类型和对应的处理函数 拓扑结构警告类型 与MHA相比 前言 Orchestrator另外一个重要的功能是监控集群,发现故障。根据从复制拓扑本身获得的信息,它可以识别各种故障场景。Orchest…

Apollo基础 - Frenet坐标系

Frenet与笛卡尔坐标系的转换详细推导见&#xff1a;b站老王 自动驾驶决策规划学习记录&#xff08;四&#xff09; Apollo相关代码&#xff1a; modules/common/math/cartesian_frenet_conversion.h #pragma once #include <array> #include "modules/common/mat…

怎么一边讲PPT一边录视频 如何一边录制PPT一边录制人像 录屏软件免费录屏 PPT录制怎么录制

随着新媒体技术的发展&#xff0c;短视频和直播越来越火。越来越多的小伙伴加入了视频制作的大军&#xff0c;那么你想知道怎么一边讲PPT一边录视频&#xff0c;如何一边录制PPT一边录制人像吗&#xff1f; 一、怎么一边讲PPT一边录视频 我们可以借助PPT本身自带的屏幕录制功能…

Linux的发展历程:从诞生到全球应用

一、前言 Linux作为一个开源操作系统&#xff0c;经历了令人瞩目的发展历程。从最初的创意到如今在全球范围内得到广泛应用&#xff0c;Linux不仅是技术的杰出代表&#xff0c;更是开源精神的典范。本文将追溯Linux的发展历程&#xff0c;深入了解它是如何从一个个人项目演变为…

【docker笔记】Docker容器数据卷

Docker容器数据卷 卷就是目录或者文件&#xff0c;存在于一个或多个容器中&#xff0c;由docker挂载到容器&#xff0c;但不属于联合文件系统&#xff0c;因此能够绕过Union File System提供一些用于持续存储或共享数据的特性 卷的设计目的就是数据的持久化&#xff0c;完全独…

kotlin map{}和mapOf{}

map{}的作用 map 让集合中的每个元素应用给定的转换函数&#xff08;transform&#xff09;&#xff0c;然后生成并返回一个新的 List<R> val numbers listOf(1, 2, 3, 4, 5) //map 让集合中的每个元素应用给定的转换函数&#xff08;transform&#xff09;&#xff0…

VMware Workstation安装以及配置模板机

文章目录 一、VMware Workstation软件下载安装1、下载2、安装 二、CentOS7模板机安装1、创建虚拟机2、安装系统 三、网络配置 一、VMware Workstation软件下载安装 1、下载 下载地址&#xff1a;https://download3.vmware.com/software/wkst/file/VMware-workstation-full-15…

css中的变量和辅助函数

变量 --name 两个破折号加变量名称&#xff08;可以在当前的选择器内定义&#xff09;var(--*) 命名规则 body {--深蓝: #369;background-color: var(--深蓝); } 变量值只能做用属性值&#xff0c;不能用做属性名。变量命名不能包含 $,[,^,(,% 等字符 普通字符局限在只要是数…

软件测试|MySQL逻辑运算符使用详解

简介 在MySQL中&#xff0c;逻辑运算符用于处理布尔类型的数据&#xff0c;进行逻辑判断和组合条件。逻辑运算符主要包括AND、OR、NOT三种&#xff0c;它们可以帮助我们在查询和条件语句中进行复杂的逻辑操作。本文将详细介绍MySQL中逻辑运算符的使用方法和示例。 AND运算符 …

邮政快递单号查询入口,对快递单号进行提前签收分析

一款优秀的快递单号筛选软件能够给你的工作和生活带来极大的便利。通过合理选择和使用该软件&#xff0c;你将能够轻松管理、高效筛选快递单号&#xff0c;提升工作效率和生活品质。不妨试试我们的【快递批量查询高手】&#xff0c;让你的物流管理更加智能、便捷&#xff01; …

FreeRTOS——信号量

学习目标 理解信号量的概念掌握信号量发流程掌握二进制信号量熟悉计数型信号量掌握互斥信号量熟悉递归互斥信号量学习内容 概念 在 FreeRTOS 中,信号量(Semaphore)是一种用于实现任务之间同步和资源共享的机制。它是一种计数型的同步原语,用于控制对共享资源的访问和保护…

Pytest成魔之路 —— fixture 之大解剖!

1. 简介 fixture是pytest的一个闪光点&#xff0c;pytest要精通怎么能不学习fixture呢&#xff1f;跟着我一起深入学习fixture吧。其实unittest和nose都支持fixture&#xff0c;但是pytest做得更炫。 fixture是pytest特有的功能&#xff0c;它用pytest.fixture标识&#xff0c…

Java Servlet 的MIME类型和SpringMVC对其的替代注解

在Java Servlet中&#xff0c;MIME&#xff08;Multipurpose Internet Mail Extensions&#xff09;类型通常用于指定将要发送给客户端的内容的类型。以下是一些常见的MIME类型&#xff0c;可以在Servlet中使用&#xff1a; 1. 文本类型&#xff1a; - **text/plain:** 普通…

9. 回文数(Java)

题目描述&#xff1a; 给你一个整数 x &#xff0c;如果 x 是一个回文整数&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 回文数是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。 例如&#xff0c;121 …

【算法Hot100系列】搜索插入位置

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

运用AI翻译漫画(二)

构建代码 构建这个PC桌面应用&#xff0c;我们需要几个步骤&#xff1a; 在得到第一次的显示结果后&#xff0c;经过测试&#xff0c;有很大可能会根据结果再对界面进行调整&#xff0c;实际上也是一个局部的软件工程中的迭代开发。 界面设计 启动Visual Studio 2017, 创建…

并发程序设计--D10线程池及gdb调试多线程

线程池 概念&#xff1a; 通俗的讲就是一个线程的池子&#xff0c;可以循环的完成任务的一组线程集合 必要性&#xff1a; 我们平时创建一个线程&#xff0c;完成某一个任务&#xff0c;等待线程的退出。但当需要创建大量的线程时&#xff0c;假设T1为创建线程时间&#xf…

贯穿设计模式-中介模式+模版模式

样例代码 涉及到的项目样例代码均可以从https://github.com/WeiXiao-Hyy/Design-Patterns.git获取 需求 购买商品时会存在着朋友代付的场景&#xff0c;可以抽象为购买者&#xff0c;支付者和中介者之间的关系 -> 中介者模式下单&#xff0c;支付&#xff0c;发货&#xff0…