- 浏览: 248641 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
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 10662最近用到Json传输对象交互,整理一个简单的方法. ... -
JDBC编程
2010-05-13 20:03 4121数据库简介 数据库(DB,Data Base) 数据库管理 ... -
应用程序国际化
2010-05-12 20:44 1513基本概念 国际化(Internationalization, ... -
网络编程
2010-05-09 16:46 1800计算机网络基础 什么是计算机网络 把分布在不同地理区域的计 ... -
线 程
2010-05-08 16:22 1447线 程 线程是一个程序内部的顺序控制流 线程和进程 每 ... -
泛 型
2010-05-05 12:42 1732什么是泛型 泛型(Gernerics)机制自java se ... -
Java I/O编程
2010-05-04 20:58 6872java i/o原理 基本概念: I/O(Input/O ... -
集合与映射
2010-05-02 20:22 2326集合框架概述 集合就是将若干用途,性质相同或相见的数组合 ... -
java常用类
2010-04-29 16:33 5009Object类 java.lang.Object类是所有ja ... -
异常的处理
2010-04-27 18:46 1958异常 异常(Exception)是程序运行过程中发生的事件 ... -
高级类特性
2010-04-26 21:42 997说了开始复习基础了, ... -
java.lang包错误概述
2010-04-15 20:07 2290接口 java.lang.Appendable可追加(app ... -
java对日期的操作技巧
2010-03-30 15:52 1443这篇文章是很早很早存机子上的...也是在哪里看到的然 ... -
MyEclipse6.5安装SVN插件的三种方法
2010-03-18 16:06 1588一、安装方法: 方 ... -
关于java打包问题
2010-03-09 20:25 23021、怎么把一个java文件打包到当前目录 javac ... -
关于MyEclipse/Eclipse汉化问题
2010-03-07 19:23 1273这个是关于MyEclipse/Eclips ... -
Could not find the main class. Program will exit
2010-03-06 21:07 11318虽然说 ...
相关推荐
在本章《第4章 控制台应用程序设计》中,我们将深入学习C#编程的基础,特别是关于控制台应用程序的开发。本章的教学目标旨在帮助读者理解命名空间的概念及其使用,掌握System.Console类和System.Convert类的应用,...
推选文档第十章控制台应用程序设计图文PPT.ppt
本文将深入探讨使用C#编程语言开发的控制台应用程序版学生管理系统的核心概念、设计思路以及实现细节。 一、C#语言基础 C#是微软公司推出的一种面向对象的编程语言,它以其简洁、高效和类型安全的特点,广泛应用于...
C#电话本 控制台应用程序 软件项目课程设计 1.文件破坏处理, 若文件破坏则重新初始化 2.管理员账号保存,一个电话簿文件中内置管理员账号,一一对应。删除电话簿必须正确输入管理员账号。//管理员为第【0】条记录 ...
3.掌握控制台应用程序的设计方法 三、实验要求: 1.编写控制台程序:输入矩形的长和宽,输出矩形的面积和周长。 2. 编写控制台应用程序,输入正整数n,输出 s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的计算结果。 3. ...
在IT领域,Win32控制台应用程序是一种基于微软Windows操作系统平台的程序,它直接与Win32 API(应用程序接口)交互,提供一个简单的文本界面,通常用于教学、实验或者小型实用工具的开发。在这个场景中,我们看到的...
编写一个控制台应用程序项目Proj7-19,假设图书馆的图书类Book包含书名和编号和作者属性,读者类Reader包含姓名和借书证属性,每位读者最多可借5本书,设计它们的公共基类BClass。要求列出所有读者的借书情况
在Windows编程环境中,控制台应用程序通常不直接处理用户界面(UI)事件,因为它们主要设计为命令行交互。然而,如果你需要一个控制台程序能够接收并处理UI消息,比如按钮点击,就需要用到一些特殊的技巧。这个场景...
1 实验一 1.1 实验环境与工具: (1) 计算机及操作系统:PC机,WindowsXP (2) 程序开发平台:Visual Studio 2005/2008/2010 1.2 实验目的 ...2 实验二:窗体应用程序设计 等等,已做好工程文件,可以直接运行
本项目聚焦于创建一个简单的控制台应用程序,用于模拟手机充值的过程。在控制台应用程序中,用户通常通过命令行界面与程序交互。下面将详细讨论这个"C# 控制台应用程序"的设计、功能和实现方式。 首先,控制台应用...
在本文中,我们将深入探讨如何使用C#编程语言创建一个控制台应用程序,模拟中国的双色球彩票游戏。双色球游戏是一种流行的游戏,玩家需要选择6个红球和1个篮球,然后等待官方开奖,匹配号码后可以获得相应的奖金。...
设计一个控制台程序Proj3-10,声明一个学生结构类型Stud,包含学号、姓名和出生日期成员,定义Stud结构的两个学生变量s1和s2并赋值,求它们出生在星期几以及它们出生相差的天数
通过分析和实践这样的项目,初学者能够深入理解C#的基础知识,进阶者也能巩固对控制台应用程序设计和面向对象编程的理解。同时,这也是一个很好的机会来学习如何在旧版的开发环境中(如VS2005)工作,这对于了解软件...
本篇文章将详细解析一个名为“商品销售管理系统”的控制台应用程序,它是一个适用于初学者理解Java编程基础以及业务逻辑处理的优秀实例。 该系统的主要目标是模拟一个实际的商品销售流程,包括商品的添加、销售、...
在IT领域,尤其是在软件开发中,控制台应用程序是基础且重要的组成部分。它们通常是无图形用户界面(GUI)的,通过命令行与用户交互。然而,有时候我们可能希望为控制台应用添加一些图形元素,比如表单,以提供更...
一个简单的Java控制台应用程序通常由一个或多个类组成,其中包含`main`方法,这是程序执行的入口点。例如: ```java public class HelloWorld { public static void main(String[] args) { System.out.println(...
在C#编程中,控制台应用程序是一种不依赖图形用户界面(GUI)而是通过命令行交互的程序。用户通过输入命令与程序进行交互,这使得开发过程相对简单,适合初学者学习基础编程概念。 该软件的核心功能包括点名和抽奖...
### Delphi控制台应用程序开发详解 #### 一、Delphi简介 Delphi 是一种基于Object Pascal的集成开发环境(IDE),由Borland公司在1995年首次发布。它以其快速的应用程序开发能力而闻名,并且广泛应用于Windows平台上...
描述日期换算的一个类的实现,采用C++控制台程序实现。方便初学者调试研究、学习借鉴!
该工具充分利用了Roslyn C#编译器的强大功能,使开发者能够便捷地对.NET Framework控制台应用程序或库进行编译,无论是在Windows、Linux还是macOS等操作系统上。 首先,让我们深入了解.NET Core。这是一个开放源...