首页 > 编程语言 >cs61b-java

cs61b-java

时间:2024-08-28 20:03:59浏览次数:4  
标签:map set java cs61b System lst println out

java

类和函数

下面两端代码定义在dog类中,所不同的是一个是静态方法,一个是非静态方法。

public static void makenoise()
{
	System.out.println("bark!");
}
public  void makethenoise()
{
	if(weight<10)
	{
	System.out.println("wuwuwu!");
	}
	eles if(weight<30)
	{
	System.out.println("bark!");
	}
	else
	{
	System.out.println("aroooo!");
	}
}

java中的静态方法,含义是所有的对象都可以使用,即可以使用类直接调用dog.makenoise(),就如同C++中的静态方法。DOG::makenoise()。静态方法不属于一个具体的对象,也不属于一个具体的类,而是属于所有能够看见静态方法的地方,因此可以在任意一个地方调用。而非静态方法,往往和类绑定,需要通过类实例化一个对象才能使用非静态方法。

cs61b上将静态方法比喻成类的蓝图,即使用抽象的方法来描述,不使用具体的狗来描述

总结一下,静态的本质在于通用和抽象。

数据类型

cs61b的homework做了很好的介绍
java的数据类型分为基本类型,包括 boolen int double char 另一种则是引用类型,一般用大驼峰命名法标注。
包括String List Sets Maps 等等。
基本类型也有对应的引用类型Boolen Integer Character Double

//List
List<String> lst = new ArrayList<>();
lst.add("zero");
lst.add("one");
lst.set(0, "zed");
System.out.println(lst.get(0));
System.out.println(lst.size());
if (lst.contains("one")) {
    System.out.println("one in lst");
}
for (String elem : lst) {
    System.out.println(elem);
}
//Set
Set<Integer> set = new HashSet<>();
set.add(1);
set.add(1);
set.add(2);
set.remove(2);
System.out.println(set.size());
if (set.contains(1)) {
    System.out.println("1 in set");
}
for (int elem : set) {
    System.out.println(elem);
}
//map
Map<String, String> map = new HashMap<>();
map.put("hello", "hi");
map.put("hello", "goodbye");
System.out.println(map.get("hello"));
System.out.println(map.size());
if (map.containsKey("hello")) {
    System.out.println("\"hello\" in map");
}
for (String key : map.keySet()) {
    System.out.println(key);
}

java中的map和 set提供了Tree和Hash两种实现方式。

标签:map,set,java,cs61b,System,lst,println,out
From: https://www.cnblogs.com/coreSoul/p/18361664

相关文章

  • JavaEE-TCP协议
    上篇文章介绍了TCP可靠传输主要依靠的确认应答和超时重传机制,超时重传是确认应答的重要补充,还介绍了TCP的连接管理机制。本篇文章补充上一篇文章的TCP十个常用核心机制的其他七个。目录滑动窗口窗口大小流量控制拥塞控制延时应答捎带应答面向字节流异常情况 滑动......
  • java+vue计算机毕设物业信息管理系统【源码+开题+论文】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着城市化进程的加速和居民生活水平的提高,物业管理作为现代社区管理的重要组成部分,其复杂性和重要性日益凸显。传统的人工物业管理方式已难以满足当......
  • java+vue计算机毕设同城跑腿平台【源码+开题+论文】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展和人们生活节奏的加快,同城服务需求日益增长,特别是在快节奏的城市生活中,人们对于即时、便捷的服务需求愈发强烈。传统的快递......
  • java+vue计算机毕设图书馆自习室管理系统【源码+开题+论文】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着高等教育的普及与知识经济的蓬勃发展,图书馆作为知识传播与学术交流的重要场所,其服务功能日益多元化与精细化。近年来,图书馆自习室因其安静的学习......
  • javascript(js)入门指南
    JavaScript常用知识点全面指南1.变量声明在JavaScript中,变量用于存储数据。你可以使用var、let或const来声明变量。var:早期使用的变量声明方式,有函数作用域。声明的变量可以在其所在的函数内任何地方访问,存在变量提升。varx=10;let:推荐的声明方式,有块级......
  • Java中final关键字的学习
    final关键字目录final关键字1.修饰变量2.修饰方法3.修饰类4.修饰方法参数注意事项示例在Java编程语言中,final关键字是一个非常重要的概念,它用于表示一个变量、方法或类是不可变的或不能被进一步修改的。以下是final关键字的几种常见用法:1.修饰变量常量:final修饰的变量......
  • Java设计模式之工厂模式详细讲解和案例示范
    在Java的设计模式中,工厂模式(FactoryPattern)是最常见和最有用的一种创建型模式。工厂模式的核心思想是将对象的创建与使用分离,从而提供了一种灵活的方式来创建不同类型的对象。这种模式尤其适用于复杂对象的创建过程,并且可以很好地应对对象类型的变化。本文将详细讲解工厂模......
  • Java 入门指南:Java Socket 网络通信编程
    SocketSocket(套接字)是用于网络通信的编程接口、网络通信的基础,通过它可以实现不同计算机之间的数据传输,应用程序可以通过它发送或接收数据;就像操作文件那样可以打开、读写和关闭。它提供了一种机制,使得计算机之间可以进行数据的发送和接收。套接字允许应用程序将I/O应用......
  • Java实现学生、班级、年级管理系统
    分层思想DAO层:主要做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此Service层:主要负责业务模块的应用逻辑设计,设计接口、实现类等,Service层的业务层具体要调用已经定义的DAO层接口Controller层:负责具体的业务模块流程的控制,要调用Service层的接口来控制业务流程......
  • java.util.UUID
    概述Aclassthatrepresentsanimmutableuniversallyuniqueidentifier(UUID).一个不可变的通用的唯一标识符的classAUUIDrepresentsa128-bitvalue.一个uuid代表一个128位的值 UUID的版本UUID有多个版本,每个版本有不同的生成方式。常用的......