Java学习代码合集

Java学习代码合集其实我学习java最根本的原因是:我是一个挺关注外在的人,虽然是个程序员,所以我很喜欢写出那些带有漂亮的界面的程序,因为C总是控制台,我不是很喜欢,在这份java代码合集中,我会记录自己学习Java界面化编程的点点滴滴。更新:因为C/C++是我主要使用语言,所有后来写界面主要用Qt写了,但我java也会继续学的。我只是给想学界面gui的同志一个思路。可以参考这篇文章Qt5计算器的实现可能…

大家好,又见面了,我是你们的朋友全栈君。

其实我学习java最根本的原因是:我是一个挺关注外在的人,虽然是个程序员,所以我很喜欢写出那些带有漂亮的界面的程序,因为C总是控制台,我不是很喜欢,在这份java代码合集中,我会记录自己学习Java界面化编程的点点滴滴。

更新:因为C/C++是我主要使用语言,所有后来写界面主要用Qt写了,但我java也会继续学的。我只是给想学界面gui的同志一个思路。可以参考这篇文章Qt5 计算器的实现

可能会有java初学者,我也是,说明,java是一个工程里可以有很多java类class,每一个类class都可以单独运行,不像C语言里只能有一个main()函数可以运行,这是我的代码合集程序结构:

Java学习代码合集

helloworld:

class Javahelloworld {
    public static void main(String args[]){
        System.out.println("hello world\n");
    }
}

基本输入输出:

import java.util.Scanner;
public class ScannerTest {
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        System.out.print("请输入一个数");
        int a=scanner.nextInt();
        System.out.printf("%d的平方是%d\n",a,a*a);
    }
}

Java图形化界面求数的平方:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;/**包含JFrame*/
public class AppGraphInOut {
    public static  void main(String args[]){
        new AppFrame();
    }
}

class AppFrame extends  JFrame
{
    JTextField in=new JTextField(10);
    JButton btn=new JButton("求平方");
    JLabel out=new JLabel("用于显示平方结果的标签");
    public AppFrame()
    {
        setLayout(new FlowLayout());
        getContentPane().add(in);
        getContentPane().add(btn);
        getContentPane().add(out);
        btn.addActionListener(new BtnActionAdapter());
        setSize(400,100);
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        setVisible(true);
    }

    class BtnActionAdapter implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
        {
            String s=in.getText();
            double d=Double.parseDouble(s);
            double sq=d*d;
            out.setText(d+"的平方是:"+sq);
        }
    }
}

Java学习代码合集Java学习代码合集

Java位运算:

public class BitwiseOperators {
    public static  void main(String args[]){
        int a=0b1100;
        int b=0b1010;
        print("a    ",a);
        print("b    ",b);
        print("a&b  ",a&b);
        print("a|b  ",a|b);
        print("a^b  ",a^b);
        print("~a   ",~a);
        print("a<<2 ",a<<2);
        print("a>>2 ",a>>2);
        print("a>>>2    ",a>>>2);
    }
    static void print(String prefix,int n){
        String s=Integer.toBinaryString(n);
        while(s.length()<4)s="0"+s;
        System.out.print(prefix+" "+s+"\n");
    }
}

Java学习代码合集

同心圆:

import java.awt.*;
import javax.swing.*;

public class Circle99Frame extends JFrame {
    public static void main(String args[])
    {
        JFrame frame=new Circle99Frame();
        frame.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        frame.setSize(600,600);
        frame.setVisible(true);
    }
    public void paint(  Graphics g)
    {
        g.drawString("circle 99",20,20);
        int x0=getSize().width/2;
        int y0=getSize().height/2;
        for(int r=0;r<getSize().height/2;r+=10)
        {
            g.setColor(getRandomColor());
            g.drawOval(x0-r,y0-r,r*2,r*2);
        }
    }
    Color getRandomColor()
    {
        return new Color(
                (int)(Math.random()*255),//random本身只产生(0~1)之间的小数,
                (int)(Math.random()*255),
                (int)(Math.random()*255)
        );
    }
}

Java学习代码合集

 

下面呢是一个常见的简陋的登陆界面,这个程序是这个两个类class共同组成的程序,先看代码:


import javax.swing.JFrame;

import javax.swing.JPanel;

public class DemoFrame extends JFrame{

    public DemoFrame(DemoPanel panel)

    {

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        this.setSize(300, 200);

        this.setTitle("Frame Demo");

        this.add(panel);

        this.setResizable(false);

        this.setVisible(true);

    }



    public static void main(String[] args)

    {

        DemoPanel panel = new DemoPanel();

        DemoFrame Frame = new DemoFrame(panel);

    }

}  
import java.awt.GridLayout;



import javax.swing.JButton;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JPasswordField;

import javax.swing.JTextField;



public class DemoPanel extends JPanel{



    private JLabel labelUser, labelPassWd;            //标签      用户名,密码

    private JButton buttonLogin, buttonReset;         //按钮      登录,重置

    private JTextField textFieldUserName;             //文本框  用户名输入

    private JPasswordField passWdField;               //密码框  密码输入

    private JPanel panelUserName;

    private JPanel panelPassWd;

    private JPanel panelLoginButton;



    public DemoPanel(){

        this.labelUser = new JLabel("用户名");

        this.labelPassWd = new JLabel("密    码");

        this.buttonLogin = new JButton("登录");

        this.buttonReset = new JButton("重置");

        this.textFieldUserName = new JTextField(10);

        this.passWdField = new JPasswordField(10);

        this.panelPassWd = new JPanel();

        this.panelUserName = new JPanel();

        this.panelLoginButton = new JPanel();



        this.setLayout(new GridLayout(3, 1));  //网格式布局



        this.panelUserName.add(this.labelUser);

        this.panelUserName.add(this.textFieldUserName);

        this.panelPassWd.add(this.labelPassWd);

        this.panelPassWd.add(this.passWdField);

        this.panelLoginButton.add(buttonLogin);

        this.panelLoginButton.add(buttonReset);



        this.add(this.panelUserName);

        this.add(this.panelPassWd);

        this.add(this.panelLoginButton);

    }

}

程序结果如下 :

Java学习代码合集

简单的加法器:

package TEST;



import javax.swing.JOptionPane;  //导入类



public class TEST

{

    public static void main(String args[])

    {

        String input_pane1,input_pane2;

        int n1,n2,sum;

        input_pane1 = JOptionPane.showInputDialog("Please input the first number");  //输入框1

        input_pane2 = JOptionPane.showInputDialog("Please input the second number"); //输入框2

        n1 = Integer.parseInt(input_pane1); //获取输入框中输入数据的整数类型

        n2 = Integer.parseInt(input_pane2);//获取输入框中输入数据的整数类型

        sum = n1+n2;

        JOptionPane.showMessageDialog(null, "The sum is: "+sum,"Adding Device",JOptionPane.PLAIN_MESSAGE);

        //第1个参数:null 显示在中央

        //第2个参数:要显示的字符

        //第3个参数:标题栏信息

        //第4个参数:对话框类型

        System.exit(0);  //终结图形用户界面程序必须的

    }

}

结果如下:

Java学习代码合集Java学习代码合集Java学习代码合集

说到这里,我其实有些感触,记得上学期,我们做课程设计,当时一个同学的题目是写一个带界面的大数乘除运算器,关于大数乘除的方法,我有时间再总结一下,但是这个界面当时同学其实是不会的,但是现在看,如果单纯实现界面还是比较简单的,首先看我修改的第一个拙劣的界面版本模板:

Java学习代码合集

这样其实就好了很多,起码可以看到加数是哪些了,代码很简单,只需要在输出那行添加上n1和n2的信息就可以了。

JOptionPane.showMessageDialog(null, n1+"+"+n2+" The sum is: "+sum,"Adding Device",JOptionPane.PLAIN_MESSAGE);

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140260.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DetailsView使用DropDownList1

    DetailsView使用DropDownList1 DetailsView使用DropDownList1类型”>012300112233在插入(DetailsView1_ItemInserting)或更新(DetailsView1_ItemUpdating)事件中加入代码:stringstr=((DropDownList)DetailsView1.Rows[3].Cells[1].FindControl(“DropDownList1”

    2022年7月18日
    16
  • vs 注释快捷键_VS2010快捷键

    vs 注释快捷键_VS2010快捷键在VisualStudioIDE中使用快捷键注释代码,无论是行注释还是块注释,第一步一定是选中要注释的内容(取消注释同样要先选中)!当然,如果是行注释,不必选取整行,将光标定位到该行即可!下面整理一下VisualStudioIDE中行注释和块注释的快捷键,以及快捷键的查看与修改。行注释行注释有以下两种方式!方式一:注释:Ctrl+K,Ctrl+C取消:Ctrl+K,Ctrl+U方式二:注释和取消都是这组快捷键:Ctrl+K,Ct…

    2022年8月15日
    4
  • 矩阵的秩(Rank)[通俗易懂]

    矩阵的秩(Rank)[通俗易懂]定义一个矩阵A的列秩是A的线性无关的纵列的极大数目。类似地,行秩是A的线性无关的横行的极大数目。矩阵的列秩和行秩总是相等的,因此它们可以简单地称作矩阵A的秩。通常表示为r(A),rank(A)或rk(A)。可替代定义用行列式定义设A为m*n矩阵,若A至少有一个r阶非零子式,而其所有r+1阶子式全为零,则称r为A的秩。性质m×n矩阵的秩不大于m且不大于n的一个非负整数,表示为rk(A)≤min(m,n)。有尽可能大的秩的.

    2022年5月7日
    217
  • Idea激活码最新教程2019.3.1版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2019.3.1版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2019 3 1 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2019 3 1 成功激活

    2025年5月24日
    1
  • mysql 按位取反_按位与,按位异或,按位取反「建议收藏」

    mysql 按位取反_按位与,按位异或,按位取反「建议收藏」**&按位与,相同的不变,否则都算成0|按位或,^按位异或,不相同的都算成1**PHP按位与或(^、&)运算也是很常用的逻辑判断类型,有许多的PHP新手们或许对此并不太熟悉,今天结合一些代码对PHP与或运算做些介绍,先说明下,在PHP中,按位与主要是对二进制数操作:$a=1;$b=2;$c=$a^b;echo$c//3?>十进制1换算成二进制为:0…

    2022年8月14日
    4
  • python分苹果问题_给大家分享一个「Python算法题」分苹果

    python分苹果问题_给大家分享一个「Python算法题」分苹果今天刷到一道算法题,分享一下果园里有堆苹果,N(1<N<9)只熊来分。第一只熊把这堆苹果平均分为N份,多了一个,它把多的一个扔了,拿走了一份。第二只熊把剩下的苹果又平均分成N份,又多了一个,它同样把多的一个扔了,拿走了一份,第三、第四直到第N只熊都是这么做的,问果园里原来最少有多少个苹果?可以先尝试一下再往下看(N=5的时候,答案是3121)。先简单分析一下这道题目,假设当第k个熊取完之后还有M个…

    2022年10月10日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号