import javax.swing.*;
创新互联专注于沈河网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供沈河营销型网站建设,沈河网站制作、沈河网页设计、沈河网站官网定制、微信小程序开发服务,打造沈河网络公司原创品牌,更为您提供沈河网站排名全网营销落地服务。
import java.awt.*;
import java.awt.event.*; //导入包
public class TestCheckBox extends JFrame implements ItemListener
{
private JCheckBox jchkBold,jchkItalic;//新建jchkBold,jchkItalic复选按钮
private JTextField jtf=new JTextField("Hello");//新建文本域jtf
public static void main(String[] args)
{
TestCheckBox frame=new TestCheckBox(); //实例化TestCheckBox
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置 窗口的默认关闭模式
frame.setSize(200,100);//设置 窗口大小为长200宽100
frame.setVisible(true);//设置 窗口为可视状态
}
public TestCheckBox() //重写构造函数
{
setTitle("复选框"); //设置 窗口标题
JPanel p=new JPanel(); //新建一个面板p
p.setLayout(new FlowLayout()); //设置面板p的布局方式为FlowLayout
p.add(jchkBold=new JCheckBox("加粗"));
p.add(jchkItalic=new JCheckBox("斜体")); //在p面板中添加实例化后的复选按钮
getContentPane().add(jtf,BorderLayout.NORTH); //将文本域jtf放在窗口的上方
getContentPane().add(p,BorderLayout.CENTER); //将面板p放在窗口中部
jchkBold.addItemListener(this);
jchkItalic.addItemListener(this); //为复选按钮添加事件侦听
}
public void itemStateChanged(ItemEvent e) //重载状态改变方法
{
if(e.getSource()instanceof JCheckBox) //判断是否摁下复选按钮
{
int selectedStyle=0; //新建int类型selectedStyle
if(jchkBold.isSelected()) //判断是否摁下jchkBold按钮
selectedStyle=selectedStyle+Font.BOLD; //字体加粗
if(jchkItalic.isSelected()) //判断是否摁下jchkItalic按钮
selectedStyle=selectedStyle+Font.ITALIC; //字体为斜体
jtf.setFont(new Font("serif",selectedStyle,20)); //设置字体
}
}
}
import java.io.*; //导入jar包
import java.util.zip.*; //导入jar包
public class UnZip {
static final int BUFFER = 2048; //声明并初始化静态常量BUFFER
public static void main (String argv[]) {
try {
BufferedOutputStream dest = null; //声明 BufferedOutputStream 对象dest
FileInputStream fis = new FileInputStream(argv[0]); //实例化FileInputStream对象 fis
ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis)); //用fis实例化ZipInputStream
ZipEntry entry; //声明ZipEntry对象
while((entry = zis.getNextEntry()/*通过getNextEntry()方法获得entry*/) != null) { //如果entry不为空执行下面的语句
System.out.println("Extracting: " +entry); //打印
int count;
byte data[] = new byte[BUFFER]; //实例化BUFFER长度的byte类型的数组
// write the files to the disk
FileOutputStream fos = new FileOutputStream(entry.getName()); //实例化FileOutputStream对象fos
dest = new BufferedOutputStream(fos,BUFFER); //用fos对象实例化dest
while ((count = zis.read(data, 0,BUFFER)) != -1) { //执行read()方法,将返回值放到data中,读取长度为BUFFER,当读到文件末或者读不到一个data数组是跳出循环
dest.write(data, 0, count); //将读到data数组输出
}
dest.flush(); //清空dest
dest.close(); //关闭流
}
zis.close(); //关闭流
} catch(Exception e) {
e.printStackTrace();
}
}
}
深圳远标(ITJOB)帮你:
Java代码规范之一 ——标识符命名规范
转载 2015-08-19 12:06:22
1. 标识符命名规范
1.1 概述
标识符的命名力求做到统一、达意和简洁。
1.1.1
统一
统一是指,对于同一个概念,在程序中用同一种表示方法,比如对于供应商,既可以用supplier,也可以用provider,但是我们只能选定一个使用,至少在一个Java项目中保持统一。统一是作为重要的,如果对同一概念有不同的表示方法,会使代码混乱难以理解。即使不能取得好的名称,但是只要统一,阅读起来也不会太困难,因为阅读者只要理解一次。
1.1.2
达意
达意是指,标识符能准确的表达出它所代表的意义,比如: newSupplier,
OrderPaymentGatewayService等;而 supplier1,
service2,idtts等则不是好的命名方式。准确有两成含义,一是正确,而是丰富。如果给一个代表供应商的变量起名是
order,显然没有正确表达。同样的,supplier1, 远没有targetSupplier意义丰富。
1.1.3
简洁
简洁是指,在统一和达意的前提下,用尽量少的标识符。如果不能达意,宁愿不要简洁。比如:theOrderNameOfTheTargetSupplierWhichIsTransfered 太长,
transferedTargetSupplierOrderName则较好,但是transTgtSplOrdNm就不好了。省略元音的缩写方式不要使用,我们的英语往往还没有好到看得懂奇怪的缩写。
1.1.4
骆驼法则
Java中,除了包名,静态常量等特殊情况,大部分情况下标识符使用骆驼法则,即单词之间不使用特殊符号分割,而是通过首字母大写来分割。比如:
SupplierName, addNewContract,而不是 supplier_name,
add_new_contract。
首先理解public boolean addBook(Book book )这句话的含义是创建一个大家都能使用的公共方法(public的作用),该方法返回一个布尔类型的值(boolean的作用),该方法的名字是addBooke(调用方法需要名字啊,没名字怎么用它),这个方法需要的参数是一个Book类型的对象book(Book book的作用);
每一个方法都有一个方法签名:方法签名就是方法名和参数列表(在这里就是 addBook(Book book))通过方法签名我们就能正确的找到并执行该方法;
方法名,顾名思义就是方法的名字,一个类中可以有很多相同方法名的方法,就拿addBook来所,是添加书,添加书的渠道很多,可以通过书名添加,也可以通过id添加,只不过执行的逻辑和需要的参数不同;所以一个类中可以有很多的同名方法,那么程序如何区分这些方法呢?那就是通过方法签名的另一个元素——参数列表,在java中称方法名相同,参数列表不同的情况为方法的重载;
这位大哥问的就是参数列表的问题,参数列表中需要的是参数的数据类型,和一个引用来临时在方法中保存用户给的数据;这里Book就是数据类型,book就是一个临时的引用在方法体内可以代表用户给的数据的;这里有需要有栈桢和堆的概念了,在没有这些基础知识的时候我们只要知道,book是一个引用,在方法体中我么可以使用book来操作一个不属于我们的外部对象;
纯手打望采纳;
就从denglu(...)方法开始讲了,这个方法在声明的时候标识了会throws Exception,表示这个方法中的某些代码可能会抛出异常。
UserDenglu resultUser = null; 构造一个名叫 UserDenglu的类的对象 resultUser,值为null表示没有实例化(只是声明了一个模型,没有在内存中占用位置)。
String sql = ... 这名是定义一个字符串变量,它的值是一个sql语句;语句的意思是: 查询t_denglu表中字段userName值(?为暂留空,后面填)并且password值为(?为暂留空,后面填);
PreparedStatement pstmt = con.prepareStatement(sql); 将sql语句传给con对象(数据库连接对象)的prepareStatement方法得到返回值为 pstmt对象;
pstmt.setString(1, user.getUserName()); 把sql语句中的第一个?参数替换成 user.getUserName()方法的返回值;
pstmt.setString(2, user.getPassword()); 意义与上句类同,替换第二个?参数。
ResultSet rs = pstmt.executeQuery(); 执行数据库查询语句,将查询结果放入rs对象中;
if(rs.next()) 如果rs结果集中还有下一条的话
resultUser = new UserDenglu(); 实例化resultUser对象;
resultUser.setUserName(rs.getString("username"));将数据库结果集中查询到的列名为username的列的值传入 resultUser.setUserName()方法中;
resultUser.setPassword(rs.getString("password"));与上句类同,将password列的值传入到resultUser的setPassword()方法中。
========================================================
这个做的是用户登录功能,该方法中接收一个包含用户输入的用户名和密码的UserDenglu对象,然后用它们来查询数据库中是否有对应用户名和密码对的结果,如果有的话,就登录成功,如果没有,就登录失败。登录失败,该方法返回的是null,如果登录成功,返回的是一个包含数据库中查询出来的用户名和密码的UserDenglu对象。调用这个方法时,可以判断它返回值是否为null来判断是否登录成功(用户名和密码正确)。