首页 > 编程语言 >Java学习Day2——关于类的概述

Java学习Day2——关于类的概述

时间:2024-04-07 22:59:11浏览次数:26  
标签:Java String int random Day2 length 概述 wordListTwo Math

一、昨天的实践:术语随机生成器

//术语生成器
public class PhraseOMatic
{
	public static void main(String[] args)
	{
		//创建三个词库
		String[] wordListOne = {"24/7", "multi-Tier","30,000 foot","B-to-B","win-win",
								"front-end","web-based","pervasive","smart","six-sigma","critical-path","dynamic"};
		String[] wordListTwo = {"empowered","sticky","value-added","oriented","centric","distributed","clustered",
								"branded","outside-the-box","positioned","networked","focussed","leveraged","aligned",
								"targeted","shared","cooperative","accelerated"};
		String[] wordListThree = {"process","tipping-point","solution","architecture","core competency","strategy",
								"mindshare","portal","space","vision","paradigm","mission"};
								
		//计算词库长度
		int oneLength = wordListOne.length;
		int twoLength = wordListTwo.length;
		int threeLength = wordListThree.length;
		
		//生成随机数
		int rand1 = (int)(Math.random() * oneLength); //Math.random():0~1
		int rand2 = (int)(Math.random() * twoLength);
		int rand3 = (int)(Math.random() * threeLength);

		//生成专家术语
		String phrase = wordListOne[rand1] + " " + wordListTwo[rand2] + " " +wordListThree[rand3];
		System.out.println("What we want is a " + phrase);
	}
}

运行结果:
两次运行结果

二、类

概念

  1. 类(class):像一张蓝图,它定义了要使用什么样的数据以及怎么样使用这些数据。
  2. 方法(method):定义了一些操作,如何使用数据。
  3. 继承(inheritance):子类在“继承”后可以使用父类的方法。
  4. 覆盖(override):子类可以重新定义继承自父类的方法,这个过程叫做覆盖。

使用类的好处

程序变化的时候,只需要修改相关类的相关方法。

类和对象

对象是靠类的模型造出来的。对象包括实例变量(instance variable),它们代表对象的状态;以及方法(methods),它们是对象可以执行的动作。

比如,每个图形都有形状和颜色等特征,但是每个实例不尽相同,有各自的特征。


目前学习的参考书籍是《Head First Java》

标签:Java,String,int,random,Day2,length,概述,wordListTwo,Math
From: https://blog.csdn.net/weixin_42818989/article/details/137432112

相关文章

  • java方法重载
    packagechapter07;abstractclassAnimal{abstractvoideating()}classDogextendsAnimal{@Overridevoideating(){System.out.println("狗吃骨头!");}}classPandaextendsAnimal{@Overridevoideating(){......
  • Java多线程
    Process进程系统资源分配的单位Thread线程CPU调度和执行的单位1.继承Thread类packagedemo01;//创建线程方式一:继承Thread类,重写run()方法,调用start开启线程//线程开启不一定立即执行,由cpu调度publicclassTestThread1extendsThread{@Overridep......
  • 使用JavaScript设置Tab栏自动切换
    在下面代码中设置了tab栏可以进行周期性的切换时间时5秒,也可以鼠标移到相应的位置进行切换。在允许过程中出现:Cannotreadpropertiesofundefined(reading'className')报错,不知道时什么原因还没有解决,希望大佬来指点一下!!!!<!DOCTYPEhtml><htmllang="en"><head><meta......
  • Java并发(二十四)----wait、notify、notifyAll、join区别与联系
    1、join是调用者轮询检查线程alive状态,执行后线程进入阻塞状态。如在线程B中调用线程A的join(),那线程B会进入到阻塞队列,直到join结束或中断线程B才开始进入阻塞队列。可以实现一个线程的顺序执行。t1.join();等价于下面的代码synchronized(t1){  //调用者线程进入t1......
  • 解决bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException
    解决badSQLgrammar[];nestedexceptionisjava.sql.SQLSyntaxErrorException解决SpringBoot中MySQL数据库报错“BadSQLGrammar”的问题目录解决SpringBoot中MySQL数据库报错“BadSQLGrammar”的问题问题描述解决步骤解决方案结论附:MySql常用配置参数及使用场景......
  • Java Tomcat7中使用Quartz2.2实现定时任务项目代码实例(demo)
    ​ 在Java中使用Quartz2.2结合Tomcat7实现定时任务是一种常见的需求,Quartz是一个强大的定时任务库,能够帮助开发者轻松实现复杂的定时任务调度。以下是一个简单的示例,展示如何在JavaWeb应用中集成Quartz来执行定时任务。 详细文档:JavaTomcat7中使用Quartz2.2实现定时任务......
  • Java登陆第四十天——Router路由守卫练习
    需求未登录无法访问除login页面练习1.使用vite创建项目,导入依赖npmcreatevite 选择vue+jsnpmi 导入基本依赖npmvue-router 导入路由依赖2.创建组件,login.vue、home.vue、list.vue仅展示home.vue组件,其他都一样。<scriptsetup></script><template><h3>我是hom......
  • 后端学习记录~~JavaSE篇(day03-流程控制语句-下-----循环语句)
    摘要:循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要通过修改循环变量使得循环判断条件为false,从而结束循环,否则循环将一直执行下去,形成死循环。一.for循环for(初始化语句①;循环条件语句②;迭......
  • java中的栈和队列
    java中的栈和队列栈特点:先进后出插入和删除只能在一段进行(栈顶),另一端称为(栈底)插入和删除的时候时间复杂度都是最理想的O(1)java中提供了一个类:Stack,并且实现了泛型方法:empty()检测栈是否为空peek()查看头部元素,不删除pop()删除头部元素,并返回删除的元素push()将该元素......
  • Java登陆第四十天——Router路由守卫
    路由守卫就是在切换页面的期间,执行的函数。 类似于Vue的钩子函数 类似于Setvlet的Filter(过滤器)路由守卫路由守卫,就是在路由切换期间执的函数。由vue-router提供的两个常见守卫(函数):全局前置守卫beforeEach和全局后置守卫afterEach语法格式如下:/*全局前置守卫beforeEa......