「单身java代码」java对象代码

博主:adminadmin 2022-11-25 05:15:08 54

本篇文章给大家谈谈单身java代码,以及java对象代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Java程序代码

import java.awt.*;//计算器实例

import java.awt.event.*;

public class calculator

{

public static void main(String args[])

{

MyWindow my=new MyWindow("计算器");

}

}

class MyWindow extends Frame implements ActionListener

{ StringBuffer m=new StringBuffer();

int p;

TextField tex;

Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,jia,jian,cheng,chu,deng,dian,qingling,kaifang;

MyWindow(String s)

{

super(s);

//StringBuffer s2=new StringBuffer();

//String s;

tex=new TextField(18);

b0=new Button(" 0 ");

b1=new Button(" 1 ");

b2=new Button(" 2 ");

b3=new Button(" 3 ");

b4=new Button(" 4 ");

b5=new Button(" 5 ");

b6=new Button(" 6 ");

b7=new Button(" 7 ");

b8=new Button(" 8 ");

b9=new Button(" 9 ");

dian=new Button(" . ");

jia=new Button(" + ");

jian=new Button(" - ");

cheng=new Button(" × ");

chu=new Button(" / ");

deng=new Button(" = ");

qingling=new Button(" 清零 ");

kaifang=new Button(" √ ");

setLayout(new FlowLayout());

add(tex);

add(b0);

add(b1);

add(b2);

add(b3);

add(b4);

add(b5);

add(b6);

add(b7);

add(b8);

add(b9);

add(dian);

add(jia);

add(jian);

add(cheng);

add(chu);

add(kaifang);

add(qingling);

add(deng);

b0.addActionListener(this);

b1.addActionListener(this);

b2.addActionListener(this);

b3.addActionListener(this);

b4.addActionListener(this);

b5.addActionListener(this);

b6.addActionListener(this);

b7.addActionListener(this);

b8.addActionListener(this);

b9.addActionListener(this);

jia.addActionListener(this);

jian.addActionListener(this);

cheng.addActionListener(this);

chu.addActionListener(this);

dian.addActionListener(this);

deng.addActionListener(this);

qingling.addActionListener(this);

kaifang.addActionListener(this);

setBounds(200,200,160,280);

setResizable(false);//不可改变大小

setVisible(true);

validate();

addWindowListener(new WindowAdapter()

{ public void windowClosing(WindowEvent ee)

{ System.exit(0);

}

});

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==b0)

{

m=m.append("0");

tex.setText(String.valueOf(m));

}

if(e.getSource()==b1)

{

m=m.append("1"); tex.setText(String.valueOf(m));

}

if(e.getSource()==b2)

{

m=m.append("2"); tex.setText(String.valueOf(m));

}

if(e.getSource()==b3)

{

m=m.append("3"); tex.setText(String.valueOf(m));

}

if(e.getSource()==b4)

{

m=m.append("4"); tex.setText(String.valueOf(m));

}

if(e.getSource()==b5)

{

m=m.append("5"); tex.setText(String.valueOf(m));

}

if(e.getSource()==b6)

{

m=m.append("6"); tex.setText(String.valueOf(m));

}

if(e.getSource()==b7)

{

m=m.append("7"); tex.setText(String.valueOf(m));

}

if(e.getSource()==b8)

{

m=m.append("8"); tex.setText(String.valueOf(m));

}

if(e.getSource()==b9)

{

m=m.append("9"); tex.setText(String.valueOf(m));

}

if(e.getSource()==jia)

{

m=m.append("+"); tex.setText(String.valueOf(m));

}

if(e.getSource()==jian)

{

m=m.append("-"); tex.setText(String.valueOf(m));

}

if(e.getSource()==cheng)

{

m=m.append("*"); tex.setText(String.valueOf(m));

}

if(e.getSource()==chu)

{

m=m.append("/"); tex.setText(String.valueOf(m));

}

if(e.getSource()==dian)

{

m=m.append("."); tex.setText(String.valueOf(m));

}

String mm=String.valueOf(m);

int p1=mm.indexOf("+");

int p2=mm.indexOf("-");

int p3=mm.indexOf("*");

int p4=mm.indexOf("/");

if(p1!=-1)

{

p=p1;

}

else if(p3!=-1)

{

p=p3;

}

else if(p2!=-1)

{

p=p2;

}

else if(p4!=-1)

{

p=p4;

}

if(e.getSource()==deng)

{

String m1=mm.substring(0,p);

String m2=mm.substring(p+1);

String ch=mm.substring(p,p+1);

//System.out.println(m1);

//System.out.println(m2);

//System.out.println(ch);

if(ch.equals("+"))

{

float n1=Float.parseFloat(m1);

float n2=Float.parseFloat(m2);

float sum=n1+n2;

String su=String.valueOf(sum);

tex.setText(su);

}

if(ch.equals("-"))

{

float n1=Float.parseFloat(m1);

float n2=Float.parseFloat(m2);

float sum=n1-n2;

String su=String.valueOf(sum);

tex.setText(su);

}

if(ch.equals("*"))

{

float n1=Float.parseFloat(m1);

float n2=Float.parseFloat(m2);

float sum=n1*n2;

String su=String.valueOf(sum);

tex.setText(su);

}

if(ch.equals("/"))

{

float n1=Float.parseFloat(m1);

float n2=Float.parseFloat(m2);

float sum=n1/n2;

String su=String.valueOf(sum);

tex.setText(su);

}

}

if(e.getSource()==qingling)

{StringBuffer kk=new StringBuffer();

m=kk;

tex.setText("0");

// System.out.println(mm);

}

if(e.getSource()==kaifang)

{

String t=tex.getText();

float num=Float.parseFloat(t);

double nub=Math.sqrt(num);

tex.setText(String.valueOf(nub));

}

}

}

java中的单例模式的代码怎么写

我从我的博客里把我的文章粘贴过来吧,对于单例模式模式应该有比较清楚的解释:

单例模式在我们日常的项目中十分常见,当我们在项目中需要一个这样的一个对象,这个对象在内存中只能有一个实例,这时我们就需要用到单例。

一般说来,单例模式通常有以下几种:

1.饥汉式单例

public class Singleton {

private Singleton(){};

private static Singleton instance = new Singleton();

public static Singleton getInstance(){

return instance;

}

}

这是最简单的单例,这种单例最常见,也很可靠!它有个唯一的缺点就是无法完成延迟加载——即当系统还没有用到此单例时,单例就会被加载到内存中。

在这里我们可以做个这样的测试:

将上述代码修改为:

public class Singleton {

private Singleton(){

System.out.println("createSingleton");

};

private static Singleton instance = new Singleton();

public static Singleton getInstance(){

return instance;

}

public static void testSingleton(){

System.out.println("CreateString");

}

}

而我们在另外一个测试类中对它进行测试(本例所有测试都通过Junit进行测试)

public class TestSingleton {

@Test

public void test(){

Singleton.testSingleton();

}

}

输出结果:

createSingleton

CreateString

我们可以注意到,在这个单例中,即使我们没有使用单例类,它还是被创建出来了,这当然是我们所不愿意看到的,所以也就有了以下一种单例。

2.懒汉式单例

public class Singleton1 {

private Singleton1(){

System.out.println("createSingleton");

}

private static Singleton1 instance = null;

public static synchronized Singleton1 getInstance(){

return instance==null?new Singleton1():instance;

}

public static void testSingleton(){

System.out.println("CreateString");

}

}

上面的单例获取实例时,是需要加上同步的,如果不加上同步,在多线程的环境中,当线程1完成新建单例操作,而在完成赋值操作之前,线程2就可能判

断instance为空,此时,线程2也将启动新建单例的操作,那么多个就出现了多个实例被新建,也就违反了我们使用单例模式的初衷了。

我们在这里也通过一个测试类,对它进行测试,最后面输出是

CreateString

可以看出,在未使用到单例类时,单例类并不会加载到内存中,只有我们需要使用到他的时候,才会进行实例化。

这种单例解决了单例的延迟加载,但是由于引入了同步的关键字,因此在多线程的环境下,所需的消耗的时间要远远大于第一种单例。我们可以通过一段测试代码来说明这个问题。

public class TestSingleton {

@Test

public void test(){

long beginTime1 = System.currentTimeMillis();

for(int i=0;i100000;i++){

Singleton.getInstance();

}

System.out.println("单例1花费时间:"+(System.currentTimeMillis()-beginTime1));

long beginTime2 = System.currentTimeMillis();

for(int i=0;i100000;i++){

Singleton1.getInstance();

}

System.out.println("单例2花费时间:"+(System.currentTimeMillis()-beginTime2));

}

}

最后输出的是:

单例1花费时间:0

单例2花费时间:10

可以看到,使用第一种单例耗时0ms,第二种单例耗时10ms,性能上存在明显的差异。为了使用延迟加载的功能,而导致单例的性能上存在明显差异,

是不是会得不偿失呢?是否可以找到一种更好的解决的办法呢?既可以解决延迟加载,又不至于性能损耗过多,所以,也就有了第三种单例:

3.内部类托管单例

public class Singleton2 {

private Singleton2(){}

private static class SingletonHolder{

private static Singleton2 instance=new Singleton2();

}

private static Singleton2 getInstance(){

return SingletonHolder.instance;

}

}

在这个单例中,我们通过静态内部类来托管单例,当这个单例被加载时,不会初始化单例类,只有当getInstance方法被调用的时候,才会去加载

SingletonHolder,从而才会去初始化instance。并且,单例的加载是在内部类的加载的时候完成的,所以天生对线程友好,而且也不需要

synchnoized关键字,可以说是兼具了以上的两个优点。

4.总结

一般来说,上述的单例已经基本可以保证在一个系统中只会存在一个实例了,但是,仍然可能会有其他的情况,导致系统生成多个单例,请看以下情况:

public class Singleton3 implements Serializable{

private Singleton3(){}

private static class SingletonHolder{

private static Singleton3 instance = new Singleton3();

}

public static Singleton3 getInstance(){

return SingletonHolder.instance;

}

}

通过一段代码来测试:

@Test

public void test() throws Exception{

Singleton3 s1 = null;

Singleton3 s2 = Singleton3.getInstance();

//1.将实例串行话到文件

FileOutputStream fos = new FileOutputStream("singleton.txt");

ObjectOutputStream oos =new ObjectOutputStream(fos);

oos.writeObject(s2);

oos.flush();

oos.close();

//2.从文件中读取出单例

FileInputStream fis = new FileInputStream("singleton.txt");

ObjectInputStream ois = new ObjectInputStream(fis);

s1 = (Singleton3) ois.readObject();

if(s1==s2){

System.out.println("同一个实例");

}else{

System.out.println("不是同一个实例");

}

}

输出:

不是同一个实例

可以看到当我们把单例反序列化后,生成了多个不同的单例类,此时,我们必须在原来的代码中加入readResolve()函数,来阻止它生成新的单例

public class Singleton3 implements Serializable{

private Singleton3(){}

private static class SingletonHolder{

private static Singleton3 instance = new Singleton3();

}

public static Singleton3 getInstance(){

return SingletonHolder.instance;

}

//阻止生成新的实例

public Object readResolve(){

return SingletonHolder.instance;

}

}

再次测试时,就可以发现他们生成的是同一个实例了。

java简单代码

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

String str = "";

System.out.println("请输入指令:");

while(true){

str = sc.next();

if(str.equals("add")){

System.out.println("执行两数相加");

} else if(str.equals("sub")){

System.out.println("执行两数相减");

} else if(str.equals("help")){

System.out.println("add:两数相加  sub:两数相减");

} else {

System.out.println("请输入正确指令:");

}

}

}

你看看这段行不行

一个简单的Java程序代码?

package com.zpp;public class Charge {

public static void main(String [] args) {

if(args.length ==0) {

System.out.println("parameter error!");

System.out.println("java com.zpp.Charge [int]");

return;

}

int min = Integer.parseInt(args[0]);

double money = 0.0;

if (min = 0) {

money =0.0;

System.out.println("not money");

} else if (min = 60) {

money = 2.0;

} else {

money = 2.0 + (min - 60) * 0.01;

}

System.out.println("please pay: " + money);

}

} 编译:javac -d . Charge.java运行:java com.zpp.Charge 111

Java语言编写代码

代码如下

/**

 * Author: zhyx

 * Date:2017/11/30

 * Time:8:56

 */

public abstract class Contailner {

    double r;

    abstract double volume();

}

/**

 * Author: zhyx

 * Date:2017/11/30

 * Time:8:57

 */

public class Cube extends Contailner {

    public Cube(double r) {

        this.r=r;

    }

    @Override

    double volume() {

        return r*r*r;

    }

}

/**

 * Author: zhyx

 * Date:2017/11/30

 * Time:9:01

 */

public class Sphere extends Contailner {

    public Sphere(double r) {

        this.r=r;

    }

    @Override

    double volume() {

        return 4/3*Math.PI*r*r*r;

    }

}

/**

 * Author: zhyx

 * Date:2017/11/30

 * Time:9:02

 */

public class Tiji {

    public static void main(String[] args) {

        Cube cube=new Cube(4);

        System.out.println("立方体体积为:"+cube.volume());

        Sphere sphere= new Sphere(4);

        System.out.println("球体体积为:"+sphere.volume());

    }

}

求一个简单java程序代码,谢谢

public class TestStar {

public static void main(String[] args) {

String star = "*";

for (int i = 0; i 5; i++) {

if (i == 0) {

System.out.print(" " + star);

System.out.println();

}

if (i == 1) {

for (int z = 0; z 4; z++) {

System.out.print(" " + star);

}

System.out.println();

}

if (i == 2) {

System.out.print(" ");

for (int x = 0; x 3; x++) {

System.out.print(" " + star);

}

System.out.println();

}

if (i == 3) {

for (int y = 0; y 2; y++) {

System.out.print(" " + star + " ");

}

}

}

}

}

是好使的 但是我没找到画五角星有什么规律(五角星好象不是正规图形吧?)如果还有什么要求的话 补充问题(如果是用*填充所有的东西 不包括 “ ”的话 我可以重新再给你写一个)

关于单身java代码和java对象代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-25,除非注明,否则均为首码项目网原创文章,转载请注明出处。