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

CS61B学习 part1

本人选择了2018spring的课程,因为他免费提供了评分机器,后来得知2021也开放了,决定把其中的Lab尝试一番,听说gitlab就近好评,相当有实力,并借此学习Java的基本知识,请根据pku的cswiki做好评分机器准备,请自行下载IJ IDEA,可以选择破解专业版,感谢伯克利大学和Josh Hug开源如此优质知识

根据前人所说,此课程需要200h,我第一个同学花费了约30到40天暑假时间学完了,估算大概一天5-7h的专精学习时间,现在我在学校,希望from9.18大概50day可以完成😭😭😭😭😭

第一二parts简述了学期任务,评估目标与要求,测评方法等等。看看就好.

Java的基础知识

public class HelloWorld{public static void main(String[] args){System.out.println("hello world");}
}
public class HelloWorld{public static void main(String[] args){int x=0;while(x<10){System.put.println(x);x=x+1;}x="horse";}
}

1. Before Java variables can be used, they must be declared.
2. Java variables must have a specific type.
3. Java variable types can never change.
4. Types are verified before the code even runs!!!

public class LargerDemo{
/** Returns the Larger of x and y.*/public static int larger(int x, int y) {if (x > y) {return x;}return y;}public static void main(String[] args){System.out.println(larger(-5, 10));}
}
/*
1. Functions must be declared as part of a class in Java. A function that is part of a cLass is calLed a "method". So in Java, all functions are methods.
2. To define a function in Java, we use "public static". We will see alternate ways of defining functions Later. 
3. ALL parameters of a function must have a decLared type,
and the return value of the function must have a decLared type. Functions in Java return onLy one value!
*/

why在jdk23中要求编译以上文件 C:\Users\eve\IdeaProjects\newprojects\src\Main.java
java: 类 LargerDemo 是公共的, 应在名为 LargerDemo.java 的文件中声明,OK我知道了,只要把文件名修改一下即可

lab1和homework0都很简单。是对Java的简单应用。可能cmd部分很有用,不过你应该在linux部分进行了详细学习,git你也是学习使用过了

发现joshhug.gitbooks.io/hug61b是课程教案一样的东西.

Creating and Defining Classes

我们只在cmd输入ls进入到HelloWorld.java文件中,javac HelloWorld.java即可编译运行,但是得到了class文件,这时我们Java HelloWorld就可以解释运行成功,输出helloworld

public class Dog{public static void makeNoise(){System.out.println("Bark!");}
}
public class DogLauncher{public static void main(String[] args){Dog. makeNoise();}    
}

我们实从类中例一个对象

public class Dog{public int weightInPounds;public /*static*/ void makeNoise(){     if (weightInPounds <10){System.out. println("yip!");} else if (weightInPounds < 30){ System.out. println("bark.");} else{System.out. println("woooof!");}} 
} 

运行后我们按照编译器信息删除static,然后创建一个d的dog.重复,执行

public class DogLaimcher{public static void main (String[] args)Dog d =new Dog();d.weightInPounds=51;d.makeNoise();}
}

构造函数:

public Dog(int w){wewightInPounds=w;
}

这样可以Dog d=new Dog(51);d.makeNoise();成功运行

现在阐述为什么去掉static,因为使用了其中的实例变量,与static冲突,这使编译器感到困惑

 缺少对下面此图片部分笔记

 你可以拥有一个静态和非静态的类,把他们混合

public class Dog{
public int weightInPounds;
public static String binomen="Canis familiaris"
/*创建一个适用于所有狗的变量,可以在对象d,d2或者Dog使用*/public Dog(int w){weightInPounds=w;
}
public void makeNoise(){if (weightInPounds 10){ System.out. println("yip!"); }else if (weightInPounds 30){ System.out. println("bark."); }else{System.out. println("woooof! "); }
}
public static Dog maxDog(Dog d1, Dog d2){ if (dl. weightInPounds d2.weightInPounds) {return d1;}return d2;
}public Dog maxDog(Dog d2){/*非静态方法,因为是由特定的dog进行判断*/if (this.weightInPounds>d2.weightInPound){return this;}return d2;
}
}

在一个类中定义的变量或方法也称为该类的成员.
使用类名访问静态成员,例如Dog.binomen.
不能使用类名调用非静态成员:Dog.makeNoise
静态方法必须通过特定的实例访问实时变量,例如d1.

比如我们删除这个方法Dog maxDog(Dog d2)编译器报错。对于非静态成员,如果只有一个方法的非静态版,就不能用类名来运行函数;如果有一个静态方法,并且想访问某种实例变量,必须指明是哪个实例(比如里面的this.)

回答以下代码会输出什么?

public class DogLoop {public static void main(String[] args) {Dog smallDog = new Dog(5);Dog mediumDog = new Dog(25);Dog hugeDog = new Dog(150);Dog[] manyDogs = new Dog[4];manyDogs[0] = smallDog;manyDogs[1] = hugeDog;manyDogs[2] = new Dog(130);int i = 0;while (i < manyDogs.length) {Dog.maxDog(manyDogs[i], mediumDog).makeNoise();i = i + 1;}}
public static class Dog {/* Size of the dog in standard dog size units. */public int size;/* This is a constructor. It tells us how to construct* dogs from our ideal notion of dogness. */public Dog(int s) {size = s;}public void makeNoise() {if (size < 10) {System.out.println("hideous yapping");} else if (size < 30) {System.out.println("bark!");} else {System.out.println("woof!");}}/* Return the larger of dog d1 and dog d2. */public static Dog maxDog(Dog d1, Dog d2) {if (d1.size > d2.size) {return d1;}return d2;}   }
}

这是一个java可视化网站    Java Visualizer (uwaterloo.ca)对以上问题做出回答!

一点扩展在creating and defining classes9/10中0.0-2.20的话

现在要求创建一个程序ArgsSum,打印出命令参数的总和,假设他们是数字

public class ArgsSum {public static void main(String[] args) {int N = args.length;int i = 0;int sum = 0;while (i < N) {sum = sum + Integer.parseInt(args[i]);/*string to int的方法*/i = i + 1;}System.out.println(sum);}
}

Libraries库的使用 推荐使用stackoverflow

普林斯顿大学library,请做project0?

相关文章:

CS61B学习 part1

本人选择了2018spring的课程&#xff0c;因为他免费提供了评分机器&#xff0c;后来得知2021也开放了&#xff0c;决定把其中的Lab尝试一番&#xff0c;听说gitlab就近好评&#xff0c;相当有实力&#xff0c;并借此学习Java的基本知识&#xff0c;请根据pku的cswiki做好评分机…...

我Github的问题解决了!

看的这篇&#xff0c;解决使用git时遇到Failed to connect to github.com port 443 after 21090 ms: Couldn‘t connect to server_git couldnt connect to server-CSDN博客 之前想推送的能推送了&#xff0c;拉取的也能取了。 一、如果是在挂着梯子的情况下拉取或者推送代码…...

Pytorch构建神经网络多元线性回归模型

1.模型线性方程y W ∗ X b from torch import nn import torch#手动设置的W参数&#xff08;待模型学习&#xff09;&#xff0c;这里设置为12个&#xff0c;自己随意设置weight_settorch.tensor([[1.5,2.38,4.22,6.5,7.2,3.21,4.44,6.55,2.48,-1.75,-3.26,4.78]])#手动设置…...

如何基于Flink CDC与OceanBase构建实时数仓,实现简化链路,高效排查

本文作者&#xff1a;阿里云Flink SQL负责人&#xff0c;伍翀&#xff0c;Apache Flink PMC Member & Committer 众多数据领域的专业人士都很熟悉Apache Flink&#xff0c;它作为流式计算引擎&#xff0c;流批一体&#xff0c;其核心在于其强大的分布式流数据处理能力&…...

ActiveMQ、RabbitMQ 和 Kafka 在 Spring Boot 中的实战

在现代的微服务架构和分布式系统中&#xff0c;消息队列 是一种常见的异步通信工具。消息队列允许应用程序之间通过 生产者-消费者模型 进行松耦合、异步交互。在 Spring Boot 中&#xff0c;我们可以通过简单的配置来集成不同的消息队列系统&#xff0c;包括 ActiveMQ、Rabbit…...

火语言RPA流程组件介绍--获取关联元素

&#x1f6a9;【组件功能】&#xff1a;获取指定元素的父元素、子元素、相邻元素等关联信息 配置预览 配置说明 目标元素 支持T或# 默认FLOW输入项 通过自动捕获工具捕获(选择元素工具使用方法)或手动填写网页元素的css,xpath&#xff0c;指定对应网页元素作为操作目标 关联…...

【2024研赛】【华为杯E题】2024 年研究生数学建模比赛思路、代码、论文助攻

思路将在名片下群聊分享 高速公路应急车道紧急启用模型 高速公路拥堵现象的原因众多&#xff0c;除了交通事故外&#xff0c;最典型的就是部分路段出现瓶颈现象&#xff0c;主要原因是车辆汇聚&#xff0c;而拥堵后又容易蔓延。高速公路一些特定的路段容易形成堵点&#xff0…...

Linux——K8s集群部署过程

&#xff11;、环境准备 &#xff08;1&#xff09;配置好网络ip和主机名 control: node1: node2: 配置ip 主机名的过程省略 配置一个简单的基于hosts文件的名称解析 [rootnode1 ~]# vim /etc/hosts // 文件中新增以下三行 192.168.110.10 control 192.168.110.11 node1 1…...

二.Unity中使用虚拟摇杆来控制角色移动

上一篇中我们完成了不借助第三方插件实现手游的虚拟摇杆&#xff0c;现在借助这个虚拟摇杆来实现控制角色的移动。 虚拟摇杆实际上就给角色输出方向&#xff0c;类似于键盘的WSAD&#xff0c;也是一个二维坐标&#xff0c;也就是(-1,1)的范围&#xff0c;将摇杆的方向进行归一化…...

基于SpringBoot的旅游管理系统

系统展示 用户前台界面 管理员后台界面 系统背景 近年来&#xff0c;随着社会经济的快速发展和人民生活水平的显著提高&#xff0c;旅游已成为人们休闲娱乐、增长见识的重要方式。国家积极倡导“全民旅游”&#xff0c;鼓励民众利用节假日外出旅行&#xff0c;探索各地自然与人…...

Linux套接字

目录标题 套接字套接字的基本概念套接字的功能与分类套接字的使用流程套接字的应用场景总结套接字在不同操作系统中的实现差异有哪些&#xff1f;如何优化套接字编程以提高网络通信的效率和安全性&#xff1f;原始套接字&#xff08;SOCK_RAW&#xff09;的具体应用场景和使用示…...

软件测试面试题(5)——二面(游戏测试)

没想到测试题做完等了会儿就安排面试了&#xff0c;还以为自己会直接挂在测试题&#xff0c;这次面试很刺激。测试题总体来说不算太难&#xff0c;主要是实操写Bug那里真没经历过&#xff0c;所以写的很混乱。 我复盘一下这次面试的问题&#xff0c;这次面试是有两个面试官&…...

C#基于SkiaSharp实现印章管理(8)

上一章虽然增加了按路径绘制文本&#xff0c;支持按矩形、圆形、椭圆等路径&#xff0c;但测试时发现通过调整尺寸、偏移量等方式不是很好控制文本的位置。相对而言&#xff0c;使用弧线路径&#xff0c;通过弧线起始角度及弧线角度控制文本位置更简单。同时基于路径绘制文本时…...

信通院发布首个《大模型媒体生产与处理》标准,阿里云智能媒体服务作为业界首家“卓越级”通过

中国信通院近期正式发布《大模型驱动的媒体生产与处理》标准&#xff0c;阿里云智能媒体服务&#xff0c;以“首批首家”通过卓越级评估&#xff0c;并在9大模块50余项测评中表现为“满分”。 当下&#xff0c;AI大模型的快速发展带动了爆发式的海量AI运用&#xff0c;这其中&a…...

AI学习指南深度学习篇-Adam的Python实践

AI学习指南深度学习篇-Adam的Python实践 在深度学习领域&#xff0c;优化算法是影响模型性能的关键因素之一。Adam&#xff08;Adaptive Moment Estimation&#xff09;是一种广泛使用的优化算法&#xff0c;因其在多种问题上均表现优异而被广泛使用。本文将深入探讨Adam优化器…...

08_React redux

React redux 一、理解1、学习文档2、redux 是什么吗3、什么情况下需要使用 redux4、redux 工作流程5、react-redux 模型图 二、redux 的三个核心概念1、action2、reducer3、store 三、redux 的核心 API1、getState()2、dispatch() 四、使用 redux 编写应用1、求和案例\_redux 精…...

2024华为杯研究生数学建模竞赛(研赛)选题建议+初步分析

难度&#xff1a;DE<C<F&#xff0c;开放度&#xff1a;CDE>F。 华为专项的题目&#xff08;A、B题&#xff09;暂不进行选题分析&#xff0c;不太建议大多数同学选择&#xff0c;对自己专业技能有很大自信的可以选择华为专项的题目。后续会直接更新A、B题思路&#…...

001.从0开始实现线性回归(pytorch)

000动手从0实现线性回归 0. 背景介绍 我们构造一个简单的人工训练数据集&#xff0c;它可以使我们能够直观比较学到的参数和真实的模型参数的区别。 设训练数据集样本数为1000&#xff0c;输入个数&#xff08;特征数&#xff09;为2。给定随机生成的批量样本特征 X∈R10002 …...

Relations Prediction for Knowledge Graph Completion using Large Language Models

文章目录 题目摘要简介相关工作方法论实验结论局限性未来工作 题目 使用大型语言模型进行知识图谱补全的关系预测 论文地址&#xff1a;https://arxiv.org/pdf/2405.02738 项目地址&#xff1a; https://github.com/yao8839836/kg-llm 摘要 知识图谱已被广泛用于以结构化格式表…...

2024年中国研究生数学建模竞赛D题思路代码分析——大数据驱动的地理综合问题

地理系统是自然、人文多要素综合作用的复杂巨系统[1-2]&#xff0c;地理学家常用地理综合的方式对地理系统进行主导特征的表达[3]。如以三大阶梯概括中国的地形特征&#xff0c;以秦岭—淮河一线和其它地理区划的方式揭示中国气温、降水、植被、土壤及生态环境在水平和垂直方向…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块&#xff0c;用于对本地知识库系统中的知识库进行增删改查&#xff08;CRUD&#xff09;操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 &#x1f4d8; 一、整体功能概述 该模块…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...