Java学习代码合集

article/2025/8/18 20:23:36

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

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

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

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位运算:

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");}
}

同心圆:

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));}
}

 

下面呢是一个常见的简陋的登陆界面,这个程序是这个两个类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);}}

程序结果如下 :

简单的加法器:

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");  //输入框1input_pane2 = JOptionPane.showInputDialog("Please input the second number"); //输入框2n1 = 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);  //终结图形用户界面程序必须的}}

结果如下:

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

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

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

 


http://chatgpt.dhexx.cn/article/DFBndtd4.shtml

相关文章

Java开发常用代码

一.获取UUID UUID uuid UUID.randomUUID(); String str uuid.toString(); // 去掉“-” String s str.replaceAll("-", "");二.获取固定格式的时间字符串 第一种 //获取当前时间对象 Date d new Date(); //创建日期格式化类对象,”yyyy/MM/dd HH:mm…

一个简单的Java例程

编写一个程序&#xff0c;输出如下&#xff1a; 1.在IDEA中新建一个helloworld类&#xff0c;注意Java中严格区分大小写 2.在文件中添加如下代码&#xff1a; 源代码如下&#xff1a; public class helloworld{public static void main(String[] args){System.out.println(&q…

Python3读取大文件的方法

Python3读取大文件的方法 1. 方法一&#xff1a;利用yield生成器2. 方法二&#xff1a;利用open()自带方法生成迭代对象&#xff0c;这个是一行一行的读取3. 二者的比较 1. 方法一&#xff1a;利用yield生成器 def readPart(filePath, size1024, encoding"utf-8"):w…

大文件处理(上传,下载)思考

文件处理一直都是前端人的心头病&#xff0c;如何控制好文件大小&#xff0c;文件太大上传不了&#xff0c;文件下载时间太长&#xff0c;tcp直接给断开了&#x1f631;&#x1f631;&#x1f631;等 效果 为了方便大家有意义的学习&#xff0c;这里就先放效果图&#xff0c;如…

python拆分大文件(大文件分割)

python拆分大文件 前言实现过程实验结果 前言 在工作中常常会遇见一些大文件&#xff0c;由于内容太多&#xff0c;使用比如记事本、notePad等软件也打不开&#xff0c;无法查看内容&#xff0c;最好是将整个文件进行拆分&#xff0c;分开处理&#xff0c;现在处理的文件原本是…

如何快速地向服务器传大文件,大文件如何快速传输

在这个互联网时代&#xff0c;信息更新速度逐渐加快。用户在进行文件传输时&#xff0c;一定是希望既稳定又快速的&#xff0c;并且还能够保证安全。但是通常来讲&#xff0c;FTP文件传输并不能同时实现这三点的&#xff0c;特别是上传大文件时&#xff0c;FTP上传文件速度明显…

Linux - 怎么实现大文件传输

一 前言 博文《PageCache》中介绍了 PageCache 的优缺点&#xff0c;其实在处理大文件中 PageCache 作用反而没有那么好。所以本文介绍 Linux 是怎么处理大文件的。 二 起因 首先看一下一个 read() 系统调用流程发生了什么&#xff0c;如下图&#xff1a; 当调用 read 方法时…

如何快速传输大文件:4 种大文件传输有效的方法

文件大小正在爆炸式增长&#xff0c;随之而来的挑战是如何仍然以快速、安全的方式发送。从这个意义上说&#xff0c;弄清楚如何快速传输大文件似乎是一项几乎不可能完成的任务。随着工作流程不断适应数字化&#xff0c;这对于自由职业者、业余视频编辑、后期制作公司和广播公司…

win 10计算机查找大文件,教你如何在Win10系统中查找大文件?

Win10系统如何查找大文件&#xff1f;Win10系统内置有搜索功能&#xff0c;可以帮助用户快速找到所需文件&#xff0c;一般我们都是输入名称进行查找文件的。当然也有其他的搜索方式&#xff0c;比如按照文件大小搜索&#xff0c;相信大家比较少见吧。那么在Win10系统中该如何查…

如何进行大文件传输?

本文首发微信公众号&#xff1a;码上观世界 网络文件传输的应用场景很多&#xff0c;如网络聊天的点对点传输、文件同步网盘的上传与下载、文件上传到分布式文件存储器等&#xff0c;其传输速度主要受限于网络带宽、存储器大小、CPU处理速度以及磁盘读写速度&#xff0c;尤其是…

大文件分片上传

前言 前端进行文件大小分割 &#xff0c;按10M分割进行分片上传&#xff0c;使用的项目还是前面文档介绍的poi同一个项目 另一篇poi导出文章,使用的同一个项目 poi的使用和工具类&#xff08;一&#xff09; 开发 1、maven依赖 <!--文件分片上传使用到依赖 start --&g…

HTTP传输大文件

一 概述 早期网络传输的文件非常小&#xff0c;只是一些几K大小的文本和图片&#xff0c;随着网络技术的发展&#xff0c;传输的不仅有几M的图片&#xff0c;还有可以达到几G和几十G的视频。 在这些大文件传输的情况下&#xff0c;100M的光纤或者4G移动网络都会因为网络压力导致…

使用python读取大文件

读取文件时&#xff0c;如果文件过大&#xff0c;则一次读取全部内容到内存&#xff0c;容易造成内存不足&#xff0c;所以要对大文件进行批量的读取内容。 python读取大文件通常两种方法&#xff1a;第一种是利用yield生成器读取&#xff1b;第二种是&#xff1a;利用open()自…

前端必学 - 大文件上传如何实现

前端必学 - 大文件上传如何实现 写在前面问题分析开始操作一、文件如何切片二、得到原文件的hash值三、文件上传四、文件合并 技术点总结【重要】一、上传文件&#xff1f;二、显示进度三、暂停上传四、Hash有优化空间吗&#xff1f;五、限制请求个数六、拥塞控制&#xff0c;动…

Linux如何快速生成大文件

微信搜索&#xff1a;“二十同学” 公众号&#xff0c;欢迎关注一条不一样的成长之路 dd命令 dd if/dev/zero offile bs1M count20000 会生成一个20G的file 文件&#xff0c;文件内容为全0&#xff08;因从/dev/zero中读取&#xff0c;/dev/zero为0源&#xff09;。 此命令可…

java 处理大文件

目的&#xff1a; 前几天在开发过程中遇到一个需求: 读取一个大约5G的csv文件内容&#xff0c;将其转化为对象然后存储到redis中, 想着直接开大内存直接load 进入到内存中就行了&#xff0c;结果可想而知,5G的文件 &#xff0c;Xmx 开到10G都没有解决&#xff0c;直接out of Me…

5、Linux:如何将大文件切割成多份小文件

最近&#xff0c;在做数据文件的导入操作时&#xff0c;发现有些文本文件太大了&#xff0c;需要将这样的大文件切分成多个小文件进行操作。那么&#xff0c;Linux 中如何将大文件切割成许多的小文件呢&#xff1f;在此记录一下。 Linux 提供了 split 命令可以轻松实现大文件的…

大文件传输有哪些方式可用?大文件传输有哪些方式?

大文件传输有哪些方式可用&#xff1f;大文件传输有哪些方式&#xff1f;互联网时代&#xff0c;速度决定效率。在企业生产过程中需要进行信息数据交换、搬运。这时就需要进行大文件传输。方方面面的行业都要涉及到大文件传输。例如影视行业需要每天进行视频素材的传输&#xf…

简道云-第5章-流程

title: 简道云-第5章-流程 date: 2022-06-13 22:21:29 tags: 简道云 categories: 简道云 简道云-第5章-流程 背景介绍 简道云三个基本项目表单、流程以及仪表。关于它们的介绍可以参照官方文档表单 vs 流程表单 vs 仪表盘。 「流程表单」&#xff1a;填报数据&#xff0c;并带…

阿里云【达摩院特别版·趣味视觉AI训练营】笔记2

阿里云【趣味视觉AI训练营】笔记2 一、笔记说明二、正文2.1 人体分割实验2.2 图像人脸融合实验 三、转载说明 一、笔记说明 本博客专栏《阿里云【达摩院特别版趣味视觉AI训练营】》的所有文章均为趣味视觉AI训练营的学习笔记&#xff0c;当前【达摩院特别版趣味视觉AI训练营】…