当前位置: 首页 > 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.zskr.cn/news/1455777.html

相关文章:

  • 智能设计整合失效的3个隐性陷阱(92%设计师正在踩坑却浑然不觉)
  • 解决各种疑难杂症,OpenClaw 稳定安装实战方案
  • 百考通:AI智能化一键生成文献综述,让学术梳理高效又专业
  • Kali更新后黑屏只剩命令行?别慌,手把手教你用阿里云源重装XFCE桌面(附乱码修复)
  • 告别限速烦恼:LinkSwift网盘直链下载助手,轻松获取九大网盘高速下载地址
  • 重新定义macOS光标定制:Mousecape让个性化鼠标指针触手可及
  • 手柄映射神器AntiMicroX:如何让任何游戏手柄秒变键盘鼠标控制器?
  • 通用视觉工具模块设计
  • Vosk API实战:如何构建高精度印度英语离线语音识别模型
  • 一键去水印用什么工具?免费一键去水印工具软件有哪些? 实测推荐清单 - 工具软件使用方法推荐
  • 如何用fduthesis LaTeX模板告别复旦论文格式烦恼
  • KDiff3终极指南:免费开源的文件比较与合并工具完全手册
  • 13ft Ladder终极指南:3分钟自建付费墙绕过工具,免费阅读任何付费内容
  • 混沌博弈算法(CGO)实战:5个步骤教你优化机器学习模型超参数
  • Mermaid Live Editor终极指南:零安装的实时图表代码化神器
  • Nanobrowser完整指南:免费AI浏览器自动化工具终极教程
  • Nintendo Switch帧率解锁终极指南:FPSLocker完全配置手册
  • 终极指南:用Path of Building 2轻松打造流放之路2完美角色
  • CLIP-ReID:突破性视觉-语言模型在无文本标签图像重识别中的创新应用
  • 链游开发“黄金三角”:NFT系统、智能合约与合规架构如何让项目存活率提升300%
  • 从无人机照片到土方量报告:手把手教你用Virtual Surveyor 6.3搞定施工监测全流程
  • BMP180气压传感器与Arduino实战:从原理到精准海拔测量
  • 如何用Vosk API快速构建离线语音识别应用:终极免费指南
  • 揭秘AI教材编写技巧,低查重AI写教材工具助力高效完成30万字教材!
  • 英伟达全模态Cosmos 3:一个模型搞定物理智能看、想、做、演
  • 2026年潮汕凤凰单丛茶与鸭屎香品牌哪家好?深度对比告诉你答案 - 智鸥科技
  • VSC-HVDC系统鲁棒控制与优化控制策略【附仿真】
  • “AI说人话,但不说真话”——揭秘3类高危幻觉话术及5种实时拦截策略(已落地保险电销场景)
  • 3分钟打造你的AI游戏瞄准助手:零基础完整指南
  • 如何优雅地打造个人网易云音乐库?这款开源工具让你轻松拥有无损音乐收藏