当前位置: 首页 > news >正文

6月3日笔记

6月3日笔记

  1. 面向过程和面向对象的差异
    面向对象围绕现实事物展开,定义事物自身属性;面向过程侧重程序编写,按执行步骤编码。

是抽象模板,定义一类事物共有:属性(特征)+方法(行为)

对象根据类实例化出来实实在在的个体

  1. 类和对象的关联
    类包含成员变量、成员方法两部分:
    成员变量:用来定义事物特征

​ 修饰符 class 类名{
​ 修饰符 数据类型 变量名;
}

​ 成员方法:用来定义事物行为

修饰符 class 类名{
修饰符 返回值类型 方法名(参数列表){
}
}

代码练习

public class Main {public static void main(String[] args) {Student stu = new Student();stu.name = "常志遥";stu.id = 723410605;stu.age = 22;stu.study();stu.exam();stu.displayInfo();}
}
class Student {String name; int id;int age;public void study() {System.out.println(name + " 正在学习");}public void exam() {System.out.println(name + " 正在考试");}public void displayInfo() {System.out.println("姓名: " + name + ", 学号: " + id + ", 年龄: " + age);}
}
import java.util.ArrayList;
import java.util.Scanner;public class Main {static ArrayList<User> userList = new ArrayList<>();static ArrayList<News> newsList = new ArrayList<>();static User currentUser = null;static Scanner scanner = new Scanner(System.in);public static void main(String[] args) {while (true) {System.out.println("\n====== 微头条主菜单 ======");System.out.println("1. 注册");System.out.println("2. 登录");System.out.println("3. 查看新闻列表");System.out.println("4. 发布新闻");System.out.println("5. 退出");System.out.print("请选择:");int choice = scanner.nextInt();scanner.nextLine();switch (choice) {case 1:register();break;case 2:login();break;case 3:showNewsList();break;case 4:publishNews();case 5:System.out.println("再见!");scanner.close();return;default:System.out.println("无效选择!");}}}static void register() {System.out.print("用户名:");String name = scanner.nextLine();for (User u : userList) {if (u.getUsername().equals(name)) {System.out.println("用户名已存在!");return;}}
//对比后发现不存在就可以设置密码了System.out.print("密码:");String pwd = scanner.nextLine();// 创建User对象并添加到userList集合中userList.add(new User(name, pwd));//创建了一个新的User对象,需要看User定义System.out.println("注册成功!");}// 登录方法static void login() {System.out.print("用户名:");String name = scanner.nextLine();System.out.print("密码:");String pwd = scanner.nextLine();// 遍历userList,查找匹配的用户名和密码for (User u : userList) {if (u.getUsername().equals(name) && u.getPassword().equals(pwd)) {currentUser = u;  // 记录当前登录的用户对象,为什么?System.out.println("登录成功!");return;   // 登录成功,结束方法}}// 未找到匹配的用户System.out.println("用户名或密码错误!");}// 发布新闻方法static void publishNews() {// 检查是否已登录if (currentUser == null) {System.out.println("请先登录!");return;}System.out.print("标题:");String title = scanner.nextLine();System.out.print("内容:");String content = scanner.nextLine();// 创建News对象,自动生成发布时间,并添加到newsList集合中newsList.add(new News(title, content));System.out.println("发布成功!");}// 查看新闻列表方法static void showNewsList() {System.out.println("\n====== 新闻列表 ======");// 遍历newsList,按顺序显示每条新闻的标题和发布时间for (int i = 0; i < newsList.size(); i++) {News n = newsList.get(i);// 编号从1开始,所以用(i+1)System.out.println((i+1) + ". " + n.getTitle() + " (" + n.getPublishTime() + ")");}}
}
import java.text.SimpleDateFormat;
import java.util.Date;public class News {private String title;private String content;private String publishTime;public News(String title, String content) {this.title = title;this.content = content;this.publishTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());}public String getTitle() {return title;}public String getPublishTime() {return publishTime;}}
public class User {private String username;private String password;public User() {}public User(String username, String password) {this.username = username;this.password = password;}public String getUsername() { return username; }public void setUsername(String username) { this.username = username; }public String getPassword() { return password; }public void setPassword(String password) { this.password = password; }
}
http://www.jsqmd.com/news/944312/

相关文章:

  • 【RT-DETR实战】125、模型安全与对抗攻击:当目标检测开始“看走眼”
  • 大厂私有化部署实录:如何用开源AI工具+自研推送引擎替代百万级商业SaaS,成本直降68%
  • 如何用OpenArk解决Windows热键冲突:新手的完整指南
  • 5个关键问题解析:如何通过本地化技术实现网盘直链下载的技术方案
  • 智能设计整合失效的3个隐性陷阱(92%设计师正在踩坑却浑然不觉)
  • 如何3步搞定Umi-OCR在Linux桌面的无缝集成:告别繁琐启动,文字识别触手可及
  • 解决各种疑难杂症,OpenClaw 稳定安装实战方案
  • PhotoGIMP:3分钟快速上手,让GIMP秒变Photoshop的终极免费方案
  • 别再只调sklearn参数了!手把手教你用Python从零实现Adaboost(附完整代码)
  • Kali更新后黑屏只剩命令行?别慌,手把手教你用阿里云源重装XFCE桌面(附乱码修复)
  • 5个PDF处理难题,用这个工具一键搞定
  • 告别限速烦恼:LinkSwift网盘直链下载助手,轻松获取九大网盘高速下载地址
  • 百考通:AI智能化一键生成文献综述,让学术梳理高效又专业
  • AI工具响应延迟超800ms?紧急修复手册:基于eBPF的实时反馈流追踪与毫秒级干预策略
  • Input Leap:一套键盘鼠标控制多台电脑的终极免费方案
  • 重新定义macOS光标定制:Mousecape让个性化鼠标指针触手可及
  • AI量化跟单2.0时代:区块链如何让交易策略像智能合约一样自动执行
  • 手柄映射神器AntiMicroX:如何让任何游戏手柄秒变键盘鼠标控制器?
  • 破除数据中台落地困境:2026数据治理平台差异化能力与选型决策指南
  • 通用视觉工具模块设计
  • 终极指南:如何让老旧Mac焕发新生,突破苹果系统限制
  • 从割裂到共生:AI工具与人类员工协同效率提升217%的5步重构法
  • Vosk API实战:如何构建高精度印度英语离线语音识别模型
  • 抖音怎么无水印保存视频?抖音无水印保存视频方法教程盘点,最新实测分享 - 工具软件使用方法推荐
  • 2026年Web3终极形态:当区块链学会“思考”,开发者如何赢下AI时代?
  • EOF分析前,为什么你的气象数据必须去除季节信号?一个SLP实例讲清楚
  • Arduino DS1307 RTC模块实战:硬件连接、时间设置与高级应用
  • 思源宋体TTF:免费专业中文字体完整使用指南
  • 终极Windows任务栏美化指南:如何用RoundedTB打造个性化桌面体验
  • Czkawka:终极跨平台磁盘清理解决方案,12种智能工具释放存储空间