- 浏览: 245747 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
javatozhang:
讲解的的确不错。很实用。
Hibernate数据拦截与事件监听 -
sjx19871109:
更正一个地方:<event type="pos ...
Hibernate search -
xifan:
你好,楼主。
mutable="false 好像是 ...
Hibernate持久化对象生命周期 -
leo_cao:
很好,很实用
Hibernate数据拦截与事件监听 -
fehly:
47816778 写道你这样不会出现number 的精度问题吗 ...
Hibernate Annotations
命令行参数
- 在启动时java控制台应用程序,可以一次性地向程序中传递零至多个字符串参数,这些参数被称为命令行参数.
- 用法格式:
- java <应用程序类名> [<命令行参数>]*
- 命令行参数将被系统接收并静态初始化为一个一维的String数组对象,然后将之作为实参传给应用程序入口方法main()
- 命令行参数须使用空格符及双引号分隔
public class TestCommandLineArgs{ public static void main(String[] args){ for(int i=0;i<args.length;i++){ System.out.println(args[i]); } } }
使用下述命令运行程序: java TestCommandLineArgs Lisa "Billy" "Mr Brown" "a""b" 输出结果: Lisa Billy Mr Brown a"b
系统属性
- java系统属性以"键-值"对的形式存在——由属性名称、属性值两部分组成,均为字符串形式,记录了当前操作系统和JVM等相关的环境信息。
- 可使用System.getProperties()方法获得Properties类的对象,其中包含了所有可用的系统属性信息
- 可使用System或Properties类的getProperty(String)方法获得特定系统属性的属性值
- 可使用System或Properties类的setProperty(String,String)方法添加新的属性信息
- 在命令行运行java程序时,可使用-D属性添加新的系统属性
import java.util.Properties; import java.util.Enumeration; public class TestSystemProperties { public static void main(String[] args) { Properties ps = System.getProperties(); ps.setProperty("*****myName*****","*****myValue*****"); Enumeration pn = ps.propertyNames(); while ( pn.hasMoreElements() ) { String pName = (String) pn.nextElement(); String pValue = ps.getProperty(pName); System.out.println(pName + "----" + pValue); } } }
也可以使用下述命令在运行程序时添加新的系统属性 C:\Test> java -Dmmmm=vvvv TestSystemProperties
标准输入/输出
控制台输入/输出时应用程序的基本功能:
- System.out提供向"标准输出"写出数据的功能(java.io.PrintStream类型)
- System.in提供从"标准输入"读入数据的功能(java.io.InputStream类型)
- System.err提供向"标准错误输出"写出数据的功能(java.io.PrintStream类型)
PrintStream类的主要方法:
- print()/println()方法被进行了多次重载(boolean,char,int,long,float,double以及char[],Object和String)
import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.IOException; public class TestStandardInput{ public static void main (String args[]) { String s; InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); try { s = br.readLine(); while (!s.equals("")) { System.out.println("Read: " + s); s = br.readLine(); } br.close(); } catch (IOException e) { e.printStackTrace(); } } }
文件输入输出
- java.io包中定义与数据输入、输出功能有关的类,包括提供文件操作功能的File类
- 创建File类对象
-
File f; f=new File("Test.java"); f=new File("E:\\test\\","Test.java")
- 在java中,将目录也当作文件处理File类中提供了实现目录管理功能的方法
-
File path=new File("C:\\test\\"); File f=new File(path,"Test.java")
File类主要方法
关于文件/目录操作
- String getName()
- String getPath()
- String getAbsolutePath()
- String getParent()
测试操作
- boolean exists()
- boolean canWrite()
- boolean canRead()
- boolean isFile()
- boolean isDirectory()
- boolean isAbsolute()
获取常规文件信息操作
- long lastModified()
- long length()
设置和修改操作
- boolean delete()
- void deleteOnExit()
- boolean createNewFile()
- setReadOnly()
- boolean rennameTo(File dest)
目录操作
- boolean mkdir()
- String[] list()
- File[] listFiles()
import java.io.File; import java.util.Date; public class TestFile{ public static void main(String[] args) { File f1 = new File("a.jpg"); File f2 = new File("D:\\temp\\","moved.jpg"); File f3 = new File("D:\\temp\\b.txt"); File f4 = new File("D:\\ex\\"); System.out.println("Name: " + f1.getName()); System.out.println("Path: " + f1.getPath()); System.out.println("AbsolutePath: " + f1.getAbsolutePath()); System.out.println("Parent: " + f1.getParent()); System.out.println("lastModified: " + new Date(f1.lastModified())); System.out.println("length: " + f1.length()); System.out.println("exists: " + f1.exists()); System.out.println("canRead: " + f1.canRead()); System.out.println("canWrite: " + f1.canWrite()); System.out.println("isFile: " + f1.isFile()); System.out.println("isHidden: " + f1.isHidden()); System.out.println("isDirectory: " + f1.isDirectory()); System.out.println("isAbsolute: " + f1.isAbsolute()); System.out.println("length: " + f1.length()); f3.delete(); try{ System.out.println("createNewFile: " + new File("c.txt").createNewFile()); }catch(java.io.IOException e){ e.printStackTrace(); } f1.setReadOnly(); f1.renameTo(f2); System.out.println("createNewFile: " + new File("D:\\newPath\\").mkdir()); System.out.println("listFiles:"); for(File f : f4.listFiles()){ System.out.println(" -" + f.getName()); } } }
文件I/O有关类型
- java.io.FileReader类——:提供read()方法以字符为单位从文件中读入数据。
- java.io.FileWriter类——:提供write()方法以字符为单位向文件写出数据
- java.io.BufferedReader类——:提供readLine()方法以行为单位读入一行字符
- java.io.PrintWriter类——:提供print()和println()方法为行为单位写出数据
读取文件信息
import java.io.File; import java.io.FileReader; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.IOException; public class ReadFile{ public static void main (String[] args) { String fname = "test.txt"; File f = new File(fname); try { FileReader fr = new FileReader(f); BufferedReader br = new BufferedReader(fr); String s = br.readLine(); while ( s != null ) { System.out.println("读入: " + s); s = br.readLine(); } br.close(); } catch (FileNotFoundException e1) { System.err.println("File not found: " + fname); } catch (IOException e2) { e2.printStackTrace(); } } }
输入信息到文件
import java.io.*; public class TestWriteFile{ public static void main (String[] args) { File file = new File("tt.txt"); try { InputStreamReader is = new InputStreamReader(System.in); BufferedReader in=new BufferedReader(is); PrintWriter out = new PrintWriter(new FileWriter(file)); String s = in.readLine(); while (!s.equals("")) {// 从键盘逐行读入数据输出到文件 out.println(s); s = in.readLine(); } in.close(); // 关闭BufferedReader输入流. out.close(); // 关闭连接文件的PrintWriter输出流. }catch (IOException e) { e.printStackTrace(); } } }
可变参数方法
- java语言允许在定义方法时指定使用任意数量的参数,其格式是在参数类型后加"..."。
- 可变长度参数必须放在参数列表的最后,而且一个方法最多只能包含一个可变长度参数。
import java.util.Date; public class TestVarargs{ public static void main(String[] args){ TestVarargs tv = new TestVarargs(); tv.myprint("china",5000,new Integer(54),new Date(),5,7.89); } public void myprint(String s,int i,Object... objs){ System.out.println(s.toUpperCase()); System.out.println(100 * i); for(Object o: objs){ System.out.println(o); } } }
过时API
- 过时API是指那些过去定义的,现已不提倡使用的API,包括类,属性和方法等。
- 过时API存在在相应的替代物,这些替代者可能采用了更标准化的命名惯例,或功能更使用
- 在移植java代码是,可使用 -Xlint:deprecation选项进行编译以获得相关详细信息
import java.util.*; public class TestDeprecation{ public static void main(String[] args){ Date now = new Date(); int hour = now.getHours(); System.out.println(hour); } }
编译程序时输出提示信息: 注意:D:\test\TestDeprecation.java使用或覆盖了已过时的API 注意:要了解详细信息,请使用 -Xlint:deprecation重新编译
用户自定义过时API
在过时的成分前添加第三种形式的注解,并在其中使用"@deprecated"标记标明此成分已过时,同时还可以给出简要的说明信息。
public class A{ /** @deprecated 本方法不推荐使用,这里只是用于测试用途。 */ public void ma(){ System.out.println("In class A,just for test!"); } }
public class TestMyDeprecation{ public static void main(String[] args){ A a = new A(); a.ma(); } }
注解
- 注解不直接影响程序的语义,然而开发和部署工具可以对其读取并以某种形式处理。
- 本质上,注解就是可以添加到代码中的一种类似于修饰符的成分,可以用于声明包,类,构造方法,方法,属性,参数和变量等场合。
- java语言采用了一类新的数据类型来描述注解——注解类型相当于类或接口,每一条注解相当于该类的一挂实例
- 注解类型采用"@interface"标记声明
Override注解
java.lang.Override类型注解用于指明被注解的方法重写了父类中的方法,如果不是合法的方法重写则会报错
//import java.lang.Override; public class Person{ private String name; public Person(String name){ this.name = name; } public void setName(String name){ this.name = name; } public String getName(){ return name; } @Override public String tostring(){ return "Name: " + name; } }
Deprecated注解
Deprecated注解的作用也是标记过时API
SuppressWarnings注解
使用SuppressWarnings注解可以关闭编译器对指定的一种或多种问题的提示/警告功能
import java.util.*; //import java.lang.SuppressWarnings; @SuppressWarnings(value={"deprecation"}) public class TestSuppressWarnings{ public static void main(String[] args){ Date now = new Date(); int hour = now.getHours(); System.out.println(hour); } }
语法格式
- @SuppressWarnings(value={"deprecation"})
- @SuppressWarnings(value={"deprecation","unchecked"})
- @SuppressWarnings("deprecation")
- @uppressWarnings({"deprecation","unchecked"})
归档工具
- java归档工具是JDK中提供的一种多用途的存档及压缩工具,可以将多个文件或目录合并/压缩为单个的Java归档文件(jar,java archive).
- jar文件的主要作用:
- 发布和使用类库
- 作为程序组件或者插件程序的基本部署单位
- 用于打包与组件相关联的资源文件
D:\test>jar -cvf Test.jar *.*
--------------------------------------------------------->
jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files..
发表评论
-
Json将对象转换成字符串
2010-11-26 22:41 10614最近用到Json传输对象交互,整理一个简单的方法. ... -
JDBC编程
2010-05-13 20:03 4088数据库简介 数据库(DB,Data Base) 数据库管理 ... -
应用程序国际化
2010-05-12 20:44 1478基本概念 国际化(Internationalization, ... -
网络编程
2010-05-09 16:46 1757计算机网络基础 什么是计算机网络 把分布在不同地理区域的计 ... -
线 程
2010-05-08 16:22 1403线 程 线程是一个程序内部的顺序控制流 线程和进程 每 ... -
泛 型
2010-05-05 12:42 1699什么是泛型 泛型(Gernerics)机制自java se ... -
Java I/O编程
2010-05-04 20:58 6829java i/o原理 基本概念: I/O(Input/O ... -
集合与映射
2010-05-02 20:22 2295集合框架概述 集合就是将若干用途,性质相同或相见的数组合 ... -
java常用类
2010-04-29 16:33 4981Object类 java.lang.Object类是所有ja ... -
异常的处理
2010-04-27 18:46 1932异常 异常(Exception)是程序运行过程中发生的事件 ... -
高级类特性
2010-04-26 21:42 972说了开始复习基础了, ... -
java.lang包错误概述
2010-04-15 20:07 2258接口 java.lang.Appendable可追加(app ... -
java对日期的操作技巧
2010-03-30 15:52 1416这篇文章是很早很早存机子上的...也是在哪里看到的然 ... -
MyEclipse6.5安装SVN插件的三种方法
2010-03-18 16:06 1560一、安装方法: 方 ... -
关于java打包问题
2010-03-09 20:25 22741、怎么把一个java文件打包到当前目录 javac ... -
关于MyEclipse/Eclipse汉化问题
2010-03-07 19:23 1233这个是关于MyEclipse/Eclips ... -
Could not find the main class. Program will exit
2010-03-06 21:07 11286虽然说 ...
相关推荐
推选文档第十章控制台应用程序设计图文PPT.ppt
按键十分垃圾就罚进了房间激发就发啦及发酵法及发酵法垃圾房间啊福建阿里激发案件发垃圾法拉激发垃圾了房间啊垃圾发酵
C#电话本 控制台应用程序 软件项目课程设计 1.文件破坏处理, 若文件破坏则重新初始化 2.管理员账号保存,一个电话簿文件中内置管理员账号,一一对应。删除电话簿必须正确输入管理员账号。//管理员为第【0】条记录 ...
3.掌握控制台应用程序的设计方法 三、实验要求: 1.编写控制台程序:输入矩形的长和宽,输出矩形的面积和周长。 2. 编写控制台应用程序,输入正整数n,输出 s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的计算结果。 3. ...
编写一个控制台应用程序项目Proj7-19,假设图书馆的图书类Book包含书名和编号和作者属性,读者类Reader包含姓名和借书证属性,每位读者最多可借5本书,设计它们的公共基类BClass。要求列出所有读者的借书情况
1 实验一 1.1 实验环境与工具: (1) 计算机及操作系统:PC机,WindowsXP (2) 程序开发平台:Visual Studio 2005/2008/2010 1.2 实验目的 ...2 实验二:窗体应用程序设计 等等,已做好工程文件,可以直接运行
设计一个控制台程序Proj3-10,声明一个学生结构类型Stud,包含学号、姓名和出生日期成员,定义Stud结构的两个学生变量s1和s2并赋值,求它们出生在星期几以及它们出生相差的天数
《C++高级语言程序设计案例与实践辅导(北京市高等教育精品教材立项项目配套教材)》彩色控制台应用程序-俄罗斯方块游戏
描述日期换算的一个类的实现,采用C++控制台程序实现。方便初学者调试研究、学习借鉴!
C#编写的学生信息管理系统(控制台应用程序)。包括基本的学生信息添加删除查询等等。
简单学生成绩管理(C#版控制台程序文档设计)
建立 Win32 控制台应用程序,完成如下要求: (1)声明抽象基类及其派生类,设计类及其成员变量和成员函数,利用虚 函数实现对三种形状(如圆、正方形、三角形)的面积和周长的计算。在主函数 中可以调用类的成员...
使用 Python 的控制台应用程序中的 Uno 纸牌游戏特征 基本 GUI 该项目包含显示应用程序实际图像的基本 GUI。 基本功能 此项目包含使应用程序按预期工作的基本功能。 用户友好的界面 这个项目是在一个简单的用户友好...
C#开发控制台应用程序,21点游戏的代码,仅供参考。
用C++写的控制台程序,实现了任意年份的日历输出,生肖等的输出
简单可运行学生信息管理系统(c#控制台程序)很简单但是交作业绝对可以
2.编写一个控制台应用程序,程序中有两个类定义,一个是创建程序时系统自动创建的类Class1,一个是用户自定义的Student类,要求该类包含私有字段:学号(字符串)、姓名(字符串)和性别(字符),具有三个属性:学号...
该员工管理系统是一个基于C++语言开发的控制台应用程序,实现了对员工信息的管理和操作。系统通过多态的设计,支持不同类型的员工,包括普通职工、经理和老板。用户可以进行增加、显示、删除、修改、查找、排序、...
本控制台是基于c/os-ii开发,使用户可以对开发板进行直接方便的交互。包含有需求分析文档、编程规范、设计文档、用户使用手册、移植代码、完整代码等等,由四川大学锦城08级嵌入式方向全部同学共同完成。代码或文档...
这是一个简单的C++控制台程序,运用了队列的思想对杨辉三角进行打印和数据的管理,也具有实际意义。