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代码初体验

  上个月27日安装好了Java8和Tomcat9,就一直没有时间接触Java,时间一晃就快一个月过去了。

  今天必须开始了,不然总这样拖着就慢慢又放弃了。

  1、先体验一下文本编辑和编译运行

  新建一个文件:JavaDemo.java,在记事本里写下代码:

public class JavaDemo {
	public static void main(String[] args) {
	System.out.println("学习 Java !");
	}
}

  保存,编译,运行:

G:\Java>javac JavaDemo.java

G:\Java>java JavaDemo
瀛︿範 Java !

G:\Java>

  乱码,查资料有两种解决办法。

  ① 在记事本里另存时选择ANSI格式;

  ② 编译时加编码,如下:

G:\Java>javac -encoding utf-8 javaDemo.java

G:\Java>java JavaDemo
学习 Java !

  2、依照Java语法写一个工厂模式文件

  Customer.java代码:

class Factory {
	public BaseObj CreateFactory(String SType){
		switch(SType){
			case "A":
				return new ProductA("A类型的产品");
			case "B":
				return new ProductB("B类型的产品");
			default:
				break;
		}
		return null;
	}
}

abstract class BaseObj{
	protected String ProductName;
	public void SelfIntroduction(){
		System.out.println("我是"+ this.ProductName);
	}
}

class ProductA extends BaseObj{
	public ProductA(String Name){
		super.ProductName=Name;
	}
}

class ProductB extends BaseObj{
	public ProductB(String Name){
		super.ProductName=Name;
	}
}

public class Customer{
	public static void main(String[] args) {
		Factory F=new Factory();
		BaseObj A=F.CreateFactory("A");
		BaseObj B=F.CreateFactory("B");
		A.SelfIntroduction();
		B.SelfIntroduction();		
	}
}

  保存、编译、运行:

G:\Java>javac Customer.java

G:\Java>java Customer
我是A类型的产品
我是B类型的产品

G:\Java>

  3、用Java写设计模式的访问者模式

class DesignModeVistor {
	public static void main(String[] args) {
        System.out.println("系统执行:");
        Intergrator II = new Intergrator();
        II.Run();

        System.out.println("系统接收访问者1的指令:");		
        Visitor V1 = new Visitor1();
        II.Accept(V1);
        II.Run();
		
        System.out.println("系统接收访问者2的指令:");
        Visitor V2 = new Visitor2();
        II.Accept(V2);
        II.Run();
	}
}

//定义受访者的抽象类
abstract class Interviewee{
	protected String CommandStr="";//指令

	public void UpdateCommand(String CommStr){
		this.CommandStr=CommStr;
	}
	
	public void Run(){
		System.out.println("执行命令:" + this.CommandStr);
	}
	
	public abstract void Accept(Visitor V);
}

//受访问者A
class IntervieweeA extends Interviewee {
	public IntervieweeA(String CommStr){
		super.CommandStr=CommStr;
	}
	
	public void Accept(Visitor V){
		V.VisitIntervieweeA(this);
	}
}

class IntervieweeB extends Interviewee {
	public IntervieweeB(String CommStr){
		super.CommandStr=CommStr;
	}
	public void Accept(Visitor V){
		V.VisitIntervieweeB(this);
	}
}

//集成者:集成受访问者A和受访问者B
class Intergrator{
	private IntervieweeA IA = new IntervieweeA("");
	private IntervieweeB IB = new IntervieweeB("");
	public Intergrator(){
		IA.UpdateCommand("执行初始化命令A");
		IB.UpdateCommand("执行初始化命令B");
	}
	
	public void Run(){
		IA.Run();
		IB.Run();
	}
	
	public void Accept(Visitor V){
		IA.Accept(V);
		IB.Accept(V);
	}
}

interface Visitor{
	public void VisitIntervieweeA(IntervieweeA IA);
	public void VisitIntervieweeB(IntervieweeB IB);
}

class Visitor1 implements Visitor{
    public void VisitIntervieweeA(IntervieweeA IA){
        IA.UpdateCommand("访问者1的新命令A");
    }
    public void VisitIntervieweeB(IntervieweeB IB){
        IB.UpdateCommand("访问者1的新命令B");
    }	
}

class Visitor2 implements Visitor
{
    public void VisitIntervieweeA(IntervieweeA IA){
        IA.UpdateCommand("访问者2的新命令A");
    }
    public void VisitIntervieweeB(IntervieweeB IB){
        IB.UpdateCommand("访问者2的新命令B");
    }
}

  输出:

G:\Java>javac DesignModeVistor.java

G:\Java>java DesignModeVistor
系统执行:
执行命令:执行初始化命令A
执行命令:执行初始化命令B
系统接收访问者1的指令:
执行命令:访问者1的新命令A
执行命令:访问者1的新命令B
系统接收访问者2的指令:
执行命令:访问者2的新命令A
执行命令:访问者2的新命令B

  4、使用IntelliJ IDEA Community Edition进行编辑(2022.1.1版本)

  连接数据库,这里有MS SQL Server2014数据库,里面有数据。

  成功了,不过Idea操作有点麻烦,后面要熟练一下。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-06-25 17:56:45  更:2022-06-25 18:01:01 
 
开发: 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/23 16:27:47-

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