IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> java面向对象入门之 汉诺塔,同名方法 等练习笔记 -> 正文阅读

[Java知识库]java面向对象入门之 汉诺塔,同名方法 等练习笔记

使用书籍《java从门到精通》,《java经典编程300例》

访问包位置privateprotectedpublic
本类可见可见可见
同包其他类或子类不可见可见可见
其他包的类或子类不可见不可见可见

this关键字用于表示本类当前的对象,当前对象不是某个new出来的实体对象,而是当前正在编辑的类。this关键字只能在本类中使用。

  1. 入门练习--自定义图书类?
package bb;

public class ss {
	private String bookname;
	private String author;
	private int price;
	public ss(String a,String b,int c)
	{
		this.bookname=a;
		this.author=b;
		this.price=c;
		
	}
	public String get1()
	{
		return bookname;
	}
	public String get2()
	{
		return author;
	}
	public int  get3()
	{
		return price;
	}
public static void main(String[] args)
{
	ss p1=new ss("小杰学java","小杰",50);//新建对象,并初始化
	System.out.println("书名: "+p1.get1());
	System.out.println("人:  "+p1.get2());
	System.out.println("价格:  "+p1.get3());
	
}
}
	
	
书名: 小杰学java
人:  小杰
价格:  50

?小白笔记:一个类,通常包括域和方法两部分。域表示对象的状态,方法表示对象的行为。使用new关键字可以创建类的对象。通常情况下,不同的对象状态是有差别的。可以使用构造方法在创建对象时就设置状态,也可以使用方法在创建对象后修改对象的状态。

?2.入门练习--汉诺塔问题求解

问题描述:有A,B,C,3根柱子,在A从上往下按照从小到大的顺序放着64个圆盘,以B为中介,把盘子全部移动到C上。移动过程中,要求任意盘子的下面要么没有盘子,要么只能有比它大的盘子。

  • 下面以3个盘子为例
  • package bb;
    
    public class ss {
    	public static void move(int level,char p1,char p2,char p3)//p2做中间的盘子,level代表几个盘子
    	{
    		if(level==1)
    		{
    			System.out.println("从"+p1+"移动盘子 1 号到"+p3);
    			
    		}
    		else
    		{
    			move(level-1,p1,p3,p2);//把levle-1个盘子从A移动到B
    			System.out.println("从"+p1+"移动盘子 "+level+"号到"+p3);
    			move(level-1,p2,p1,p3);//把level-1个盘子从B移动到C
    			
    		}
    	}
    	public static void main(String[] args)
    	{
    		int level=3;
    		move(level,'A','B','C');
    	}
    	}
    	
    	

    为了将第N个盘子从A移动到C,需要先将第N个盘子上面的N-1个盘子移动到B上,这样才能将第N个盘子移动到C上。同理,为了将第N-1个盘子从B移动到C上,需要将N-2个盘子移动到A上,这样才能将第N-1个盘子移动到C上。?

    3.入门练习——编写同名的方法

  • 在C语言中,如果要在一个文件内定义两个同名的函数(方法)会报告错误,这种情况在弄具有相似功能不同参数的方法非常不利,在java种可使用重载技术来实现这个需求

定义一个方法,分别求2个Int,double,long型数据的和

public static int get1(int a,int b)
{
return a+b;
}
public static double get1(double a,double b)
{
return a+b;
}
public static long get1(long a,long b)
{
return a+b;
}

例如下面的加鸡蛋问题:

public class egg{
int egg1;
public egg(int p)
{
this.egg1=p;
}
public egg()
{
this(1);
}
public static void main(String[] args)
{
egg cake1=new egg();
System.out.println("顾客不要求加鸡蛋,饼里会有"+cake1.egg1+"个鸡蛋");
egg cake2=new egg(2);
System.out.println("顾客要求加2个鸡蛋,饼里有"+cake2.egg1+"个鸡蛋");
}
}
顾客不要求加鸡蛋,饼里会有1个鸡蛋
顾客要求加2个鸡蛋,饼里有2个鸡蛋

?面向对象入门笔记(1),厚积薄发,一步一个脚印!

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-11 15:35:19  更:2021-12-11 15:35:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:34:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码