java转jar转exe

java转jar转exe
java转jar转exe

一、JAVA程序转化为JAR(无包)

以下用法必须保证机器中安装JDK或JRE

1、jar命令用法:

在cmd命令窗口下输入jar,回车,就会提示改命令的用法:

2、在d:/led目录下(或其他目录)新建一个JAVA文件(例:dailable.java)

3、编译运行此JAVA文件,在d:/led目录下生成两个.Class文件

(dailable.class和dailable$1.class)

4、d:/led目录下新建文件“manifest”(没有后缀名):

Main-Class: HelloWorld

注:Main-Class:后面有一个空格,最后要有个空行

5、打包:输入D:\led\jar cvmf manifest dailable.jar dailable.jar dailable.class dailable$1.class, 在d:/led目录下生成“dailable.jar”。

6、执行:输入D:\led\java -jar dailable.jar屏幕回显结果。

7、双击d:/led目录下生成“dailable.jar”同样会运行出结果。

二、JAR转换为EXE

1、下载exe4j Wizard(最好找个注册码:L-g782dn2d-1f1yqxx1rv1sqd)

2、将安装完的JRE放在d:/led目录下(这样可以保证生成的.exe可以在任何环境下运行,不用每台机器都安装jdk)

3、进入exe4j的Welcome页面,点击“Change License”按钮,输入注册码。

4、点击“Next”进入project type,选择第二个“Jar in exe mode”

5、点击“Next”进入“APPLIcaTION info”第一个空随便填写,第二个空填生成的EXE文件存放的位置

6、点击“Next”进入“Executable info”,Executable type选择第一个“GUI application”,Executable name输入即将生成的EXE文件的名字,如果想要给这个EXE文件弄个图片可以用iCON FILE进行上传(但图片必须是.ico格式的)

7、点击“Next”进入“JAVA inVOCATION”

(1)第一步先按Class path下的加号,选择刚刚生成的Jar文件(2)第二步选择General下Main class按后面的按钮,会自动找到

8、点击“Next”进入JRE

(1)在“Java version”中输入最大最小版本(2)点即“Advance Opinion”选择第一个

(3)选完后出现如下对话框点右面的加号选择JRE

9、剩下几步一直按“NEXT”就能生成想要得EXE文件了

java对象转换String类型的三种方法

北大青鸟中关村 java对象转换String类型的三种方法在很多情况下我们都需要将一个对象转换为String类型。一般来说有三种方法可以实现:Object.toString()、(String)Object、String.valueOf(Object)。下面对这三种方法一一分析 一、采用Object.toString() toString方法是https://www.360docs.net/doc/ad625380.html,ng.Object对象的一个public方法。在java中任何对象都会继承Object 对象,所以一般来说任何对象都可以调用toString这个方法。这是采用该种方法时,常派生类会覆盖Object里的toString()方法。 但是在使用该方法时要注意,必须保证Object不是null值,否则将抛出NullPointerException 异常。 二、采用(String)Object 该方法是一个标准的类型转换的方法,可以将Object转换为String。但是在使用该方法是要注意的是需要转换的类型必须是能够转换为String的,否则会出现CalssCastException异常错误。 代码代码如下: Object o = new Integer(100); String string = (String)o; 这段程序代码会出现https://www.360docs.net/doc/ad625380.html,ng.ClassCastException: https://www.360docs.net/doc/ad625380.html,ng.Integer cannot be cast to https://www.360docs.net/doc/ad625380.html,ng.String。因为将Integer类型强制转换为String类型,无法通过。 三、String.valueOf(Object) 上面我们使用Object.toString()方法时需要担心null问题。但是使用该方法无需担心null值问题。因为在使用String.valueOf(Object)时,它会判断Object是否为空值,如果是,则返回null。下面为String.valueOf(Object)的源码: 代码代码如下: public static String valueOf(Object obj) { return (obj == null) ? "null" : obj.toString(); } 从上面我们可以看出两点:一是不需要担心null问题。二是它是以toString()方法为基础的。但是一定要注意:当object为null时,String.valueOf(object)的值是字符串对象:"null",而不是null!!!

Java中常见异常类型及分析

Java常见异常类型及原因分析 这里介绍几种常见的异常并对原因进行分析,包括: ●NullPointException异常; ● ClassCastException异常; ● ArrayIndexOutOfBoundsException异常; ●UnsupportedClassVersionError错误; ●NumberFormatExceptio异常 ●堆栈溢出和内存溢出。 1 NullPointException异常 顾名思义,NullPointerException是空指针异常。但是在Java中没有指针,怎么会有空指针异常呢? 在C++中,声明的指针需要指向一个实例(通过new方法构造),这个指针可以理解为地址。 在Java中,虽然没有指针,但是有引用(通常称为对象引用,一般直接说对象),引用也是要指向一个实例对象(通过new方法构造)的,从这种意义上说,Java中的引用与C++中的指针没有本质的区别,不同的是,处于安全的目的,在Java中不能对引用进行操作,而在C++中可以直接进行指针的运算,例如book++等。 所以这里的NullPointerException虽然不是真正的空指针异常,但本质上差不多,是因为引用没有指向具体的实例,所以当访问这个引用的方法的时候就会产生这种异常。例如下面的代码: String str = "这是一个测试用的字符串!"; System.out.println(str.length()); 这段代码没有问题,但是如果改成下面的代码: String str ; System.out.println(str.length()); 就会产生NullPointerException异常了,当然一般人不会犯这样低级的错误。 那这种异常通常是如何产生的呢?比较多见的是下面的两种情况: 1)把调用某个方法的返回值直接赋值给某个引用,然后调用这个引用的方法。在这种情况下,如果返回的值是null,必然会产生NullPointerException异常。例如: String userName=request.getParameter("userName"); if(userName.length()==0) ...... else ...... 如果request.getParameter("userName")的结果为null,则这里就会产生这种异常。 2)在方法体中调用参数的方法。这种情况下,如果调用方法的时候传递进来的值是null,也要产生NullPointerException异常。 要解决这种异常,只需要检查异常出现在第几行(通常在集成开发环境中会提示用户错误发生在第几行),然后查看调用了哪个对象的方法,然后检查这个对象为什么没有赋值成

简析JAVA中int、String间类型转换

初学Java,对于类型转换以及强制类型转换还是没什么难度的,但是初学者往往在涉及到String类型的转换时,就会抛出问题了。这里收集整理了下,仅供参考。 int 转String int i=12345; String s=”"; 第一种方法:s=i+”"; 第二种方法:s=String.valueOf(i); 这两种方法有什么区别呢?作用是不是一样的呢?是不是在任何下都能互换呢? String转int s=”12345″; int i; 第一种方法:i=Integer.parseInt(s); 第二种方法:i=Integer.valueOf(s).intValue(); 这两种方法有什么区别呢?作用是不是一样的呢?是不是在任何下都能互换呢? 以下是答案:

3.) String s = “” + i; 注: Double, Float, Long 转成字串的方法大同小异. JAVA数据类型转换这是一个例子,说的是JAVA中数据数型的转换.供大家学习package shenmixiaozhu; import java.sql.Date; public class TypeChange { public TypeChange() { } //change the string type to the int type public static int stringToInt(String intstr) { Integer integer; integer = Integer.valueOf(intstr); return integer.intValue(); } //change int type to the string type public static String intToString(int value) { Integer integer = new Integer(value); return integer.toString(); } //change the string type to the float type public static float stringToFloat(String floatstr) { Float floatee; floatee = Float.valueOf(floatstr); return floatee.floatValue(); } //change the float type to the string type public static String floatToString(float value) { Float floatee = new Float(value); return floatee.toString(); } //change the string type to the sqlDate type public static java.sql.Date stringToDate(String dateStr) { return java.sql.Date.valueOf(dateStr); } //change the sqlDate type to the string type

Java(1-4)复习题

《使用Java理解程序逻辑》1-4章阶段测试 一课后选择题 二、选择题 1、下列语句中,( BD )正确完成整形变量的声明和赋值。 A). int count,count=0; B). int count=0; C). count=0; D). int count1=0,count2=1; 2、在JAVA中,用于向控制台打印输出信息的语句是(A)。 A). System.out.println() B). System.println() C). Out.println() D). Print.println() 3、给定某Java程序的main方法如下所示,该程序的运行结果是( A)。Public static void main(String[] args){ int i=0; System.out.println(i ); } (选择一项)A A). 输出0 B). 输出1 C). 编译错误 D). 运行时出现异常 4、在Java 中,下列代码的远行结果是(D )。 public static void main(String[] args) { int a=1,b=2,c=3; if(a<0) if(b<0) c=10;

c=20; System.out.println(c); } A). 输出:10 B). 输出:20 C). 输出:3 D). 编译报错 5、在Java中,源文件Test.java中包括如下代码段,则程序编译运行结果是(b)。 public class Test{ public static void main(String[]args){ system.out.print(“Hello!”); } } A). a) 输出:Hello! B). b) 编译出错,提示“无法解析system” C). c) 运行正常,但没有输出任何内容 D). d) 运行时出现异常 6、在Java中,Scanner类提供从控制台获取键盘输入的功能,下列语句( b)能够正确实例化Scanner类的对象,用于获得键盘输入的数据。 A). Scanner input = new Scanner(System.out) B). Scanner input = new Scanner(System.in) C). Scanner input = new Scanner(System) D). Scanner input = new Scanner() 7、下面程序的执行结果是( c) public class Weather { public static void main(String[] args) { int shiDu=45; if(shiDu>=80){ System.out.println("要下雨了"); }else if(shiDu>=50){ System.out.println("天很阴"); }else if(shiDu>=30){ System.out.println("很舒适"); }else if(shiDu>=0){ System.out.println("很干燥");

Java语言基本数据类型、转换及其封装

Java语言基本数据类型、转换及其封装Java语言基本数据类型、转换及其封装 1. 逻辑类型 ·常量 true,false。 ·变量的定义 使用关键字boolean来定义逻辑变量: boolean x; boolean tom_12; 也可以一次定义几个: boolean x,tom,jiafei,漂亮 x,tom,jiafei,漂亮都是变量的名字。定义时也可以赋给初值: boolean x=true,tom=false,漂亮=true,jiafei 2.整数类型 ·常量123,6000(十进制),077(八进制),0x3ABC(十六进制)。 ·整型变量的定义分为4种: 1.int 型 使用关键字int来定义int型整形变量 int x int tom_12 也可以定义几个: int x,tom,jiafei,漂亮 x,tom,jiafei,漂亮都是名字。定义时也可以赋给初值: int x=12,tom=-1230,漂亮=9898,jiafei 对于int型变量,分配给4个字节byte,一个字节由8位(bit)组成,4个字节占32位(bit)。bit 有两状态,分别用来表示0,1。这样计算机就可以使用2进制数来存储信息了。内存是一种特殊的电子元件,如果把内存条放大到摩天大

楼那么大,那么它的基本单位——字节,就好比是大楼的房间,每个房间的结构都是完全相同的,一个字节由8个能显示两种状态的bit组成,就好比每个房间里有8个灯泡,每个灯泡有两种状态——亮灯灭灯。 对于 int x=7; 内存存储状态如下: 00000000 00000000 00000000 00000111 最高位:左边的第一位,是符号位,用来区分正数或负数,正数使用原码表示,最高位是0,负数用补码表示,最高位是1。例如: int x=-8; 内存的存储状态如下: 11111111 11111111 11111111 11111000 要得到-8的补码,首先得到7的原码,然后将7的原码中的0变成1,1变成0,就是-8的补码。 因此,int型变量的取值范围是-2^31~2^31-1。 2. byte型 使用关键字byte来定义byte型整型变量 byte x ; byte tom_12; 也可以一次定义几个: byte x,tom,jiafei,漂亮 x,tom,jiafei,漂亮都是名字。定义时也可以赋给初值: byte x=-12,tom=28,漂亮=98,jiafei 注:对于byte型变量,内存分配给1个字节,占8位,因此byte型变量的取值范围是: -2^7~2^7-1。

Java语言基础

孙燮华编著《Java软件编程实例教程》清华大学出版社 第2章Java语言基础 本章主要学习Java语言的基本语法,包括标识符,数据类型、表达式、语句和数组等。 2.1标识符与关键词 2.1.1 标识符 1.标识符的定义规则 在Java中,对变量、类、接口和方法等进行命名所使用的字符串称为标识符。一个合法的标识符要满足以下的规则: ◆以英文大小写字母、下划线“_”、或“$”开始的一个字符序列。 ◆数字不能作为标识符的第1个字符。 ◆标识符不能是Java的关键词。 ◆标识符大小写敏感且长度没有限制。 例如,下面的字符串都是合法的标识符: USERNAME, _sys_VAR, $change, thisOne, 学生, a教授但下面的标识符是非法的: 3student, %name, -num, !_not, *ptr, @email

2.标识符风格约定 为了使命名更为规范,Java对标识符还有如下一些约定。 ◆对于变量名和方法名,不能用下划线“_”、和“$”作为标识符的第1个字符。因为这两个字符对于Java内部类具有特殊意义。 ◆类名、接口名、变量名和方法名采用大小写混合形式,每个英文单词的首字母用大写,其余用小写, 无空格连接。例如,HelloWorldFromJava。但变量名和方法名的首字母用小写,如firstVariableName。类名和接口名的首字母用大写,如类名HelloWorld。 ◆常量名完全用大写,且用下划线“_”作为标识符中每个单词的分隔符,例如,MAX_SIZE。 ◆方法名应使用动词,类名和接口名使用名词。 ◆变量名应有一定的意义,尽量不使用单个字符作为变量名。但临时性的变量,如循环控制变量可以用i, j, k等。 2.1.2 关键词 关键词是Java的保留字。Java编译器在词法扫描时需要区分关键词和一般的标识符。因此,用户自定义的标识符不能与这些关键词重名,否则会出现编译错误。另外,true, false和null虽然不是关键词,但也被保留,同样不能用来定义标识符。表2-1列出了Java的关键词。

Java知识总结完整版

第1章 Java概述 Java语言的特特点 一种面向对象的语言;一种平台无关的语言;一种健壮的语言,吸收了C/C++的优点,但去掉了其影响程序健壮性的部分(如:指针、内存的申请与释放等) Java的两种核心机制 Java虚拟机(Java Virtual Machine) 垃圾回收机制(Garbage Collection) 源程序(*.java文件)→Java编译器→字节码(*.class文件)→类装载器→字节码校验器→解释器→操作系统平台 一次编译,随处运行 Java是一种解释型语言 JDK(Java Development Kit)软件开发工具包 JRE(Java Runtime Environment)运行时环境 开发需要JDK;用户只需JRE PATH:WINDOWS系统执行命令时要搜寻的路径(如javac.exe,java.exe)CLASSPATH:Java在编译和运行时要找的class所在路径(“.”代表当前路径) java:运行java程序 javac:编译java程序

java –version 一个源文件最多只能有一个public类,其他类数量不限,源文件名必须与public 类名一致 Java应用程序的执行入口时main()方法:public static void main(String[] args){…} Java语言中严格区分大小写 编译后,每一个类都对应一个class文件 第2章基础语法 标示符由字母、下划线”_”、美元符”$”或数字组成 标示符应以字母、下划线、美元符开头 Java标示符对大小写敏感,长度无限制,注意“见名知意”且不能与Java语言关键字重名 goto和const虽然未使用,但也被作为Java的关键字保留

Java数据类型转换:强制类型转换 自动类型转换28

数据类型的转换是在所赋值的数值类型和被变量接收的数据类型不一致时发生的,它需要从一种数据类型转换成另一种数据类型。数据类型的转换可以分为隐式转换(自动类型转换)和显式转换(强制类型转换)两种。 隐式转换(自动类型转换) 如果以下 2 个条件都满足,那么将一种类型的数据赋给另外一种类型变量的时,将执行自动类型转换(automatic type conversion)。 ?两种数据类型彼此兼容 ?目标类型的取值范围大于源数据类型(低级类型数据转换成高级类型数据) 当以上 2 个条件都满足时,拓宽转换(widening conversion)发生。例如 byte 类型向 short 类型转换时,由于 short 类型的取值范围较大,会自动将 byte 转换为 short 类型。 在运算过程中,由于不同的数据类型会转换成同一种数据类型,所以整型、浮点型以及字符型都可以参与混合运算。自动转换的规则是从低级类型数据转换成高级类型数据。转换规则如下: ?数值型数据的转换:byte→short→int→long→float→double。 ?字符型转换为整型:char→int。 以上数据类型的转换遵循从左到右的转换顺序,最终转换成表达式中表示范围最大的变量的数据类型。 例 1 顾客到超市购物,购买牙膏 2 盒,面巾纸 4 盒。其中牙膏的价格是 10.9 元,面巾纸的价格是5.8 元,求商品总价格。实现代码如下: 1.public static void main(String[] args) { 2. float price1 = 10.9f; // 定义牙膏的价格 3. double price2 = 5.8; // 定义面巾纸的价格 4. int num1 = 2; // 定义牙膏的数量 5. int num2 = 4; // 定义面巾纸的数量 6. double res = price1 * num1 + price2 * num2; // 计算总价 7. System.out.println("一共付给收银员" + res + "元"); // 输出总价 8.} 上述代码中首先定义了一个 float 类型的变量存储牙膏的价格,然后定义了一个 double 类型的变量存储面巾纸的价格,再定义两个 int 类型的变量存储物品的数量,最后进行了乘运算以及和运算之后,将结果储存在一个 double 类型的变量中进行输出。 程序执行结果如下图 1 所示:

java数据类型转换

一些初学JAVA的朋友可能会遇到JAVA的数据类型之间转换的苦恼,例如,整数和float,double 型之间的转换,整数和String类型之间的转换,以及处理、显示时间方面的问题等。下面笔者就 开发中的一些体会介绍给大家。 我们知道,Java的数据类型分为三大类,即布尔型、字符型和数值型,而其中数值型又分为整型和浮点型;相对于数据类型,Java的变量类型为布尔型boolean;字符型char;整型byte、short、int、long;浮点型float、double。其中四种整型变量和两种浮点型变量分别对应于不同的精度和范围。此外,我们还经常用到两种类变量,即String和Date。对于这些变量类型之间的相互转换在我们编程中经常要用到,在下面的论述中,我们将阐述如何实现这些转换。 1 数据类型转换的种类\r java数据类型的转换一般分三种,分别是: (1). 简单数据类型之间的转换 (2). 字符串与其它数据类型的转换 (3). 其它实用数据类型转换 下面我们对这三种类型转换分别进行论述。 2 简单数据类型之间的转换 在Java中整型、实型、字符型被视为简单数据类型,这些类型由低级到高级分别为 (byte,short,char)--int--long--float--double 简单数据类型之间的转换又可以分为: ●低级到高级的自动类型转换 ●高级到低级的强制类型转换 ●包装类过渡类型能够转换 2.1自动类型转换 低级变量可以直接转换为高级变量,笔者称之为自动类型转换,例如,下面的语句可以在Java 中直接通过: byte b;int i=b;long l=b;float f=b;double d=b; 如果低级类型为char型,向高级类型(整型)转换时,会转换为对应ASCII码值,例如\r char c='c'; int i=c; System.out.println("output:"+i); 输出:output:99; 对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用下述的强制类型转换。 short i=99;char c=(char)i;System.out.println("output:"+c); 输出:output:c; 但根据笔者的经验,byte,short,int三种类型都是整型,因此如果操作整型数据时,最好统一使用int型。

java第三章上机练习题

习题1. 数据类型转换应用 【案例简介】下例说明了整型、浮点型、字符串型之间的相互转换。 【案例目的】掌握Java中两个不兼容类型能够的数据格式之间的转换。 【技术要点】高精度到低精度的数据转换时候需要进行强制转换,低精度向高精度进行转换的时候的会自动进行,字符串到其他类型的转换需要用到特定的方法。 【代码分析】 public class Conversation { public static void main(String [] args) { String str = "123"; int j; byte b; int i=257; double d = 323.142; System.out.println("\nConversion of int to byte."); //i强制转换成byte型 System.out.println("i and b "+ i + " "+b); System.out.println("\nConversion of double to int."); //d强制转换成int型 System.out.println("d and i "+ d + " "+i); //d强制转换成byte型 System.out.println("d and b "+ d + " "+b); j=Integer.parseInt(str); //str转换成int型 System.out.println("j="+j); } } 【相关知识】 数据类型转换 (1)简单数据类型中各类型数据间的优先关系和相互转换 不同类型数据间的优先关系如下 低----------------------------------------------->高 byte->short->char-> int -> long -> float -> double 自动类型转换规则 整型,实型,字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级。 (2)强制类型转换 高级数据要转换成低级数据,需用到强制类型转换,如: int i; byte b=(byte)i; //把int型变量i强制转换为byte型 (3)其他转换 数字变为字符串 用如下方法转换相应类型的数字: Double.toString(double); Float.toString(float);

java基本数据类型之间的转换.

java 基本数据类型之间的转换 - fishinhouse的专栏 - CSDNBlog fishinhouse的专栏做一件事,最难的是开始,最重要的是坚持。如果坚持,就会达到目的! 登录注册全站当前博客空间博客好友相册留言wl ID:fishinhouse java 基本数据类型之间的转换收藏新一篇: 常用log4j配置 | 旧一篇: java代码编写的30条建议我们知道,Java的数据类型分为三大类,即布尔型、字符型和数值型,而其中数值型又分为整型和浮点型;相对于数据类型,Java的变量类型为布尔型boolean;字符型char;整型byte、short、int、long;浮点型float、double。其中四种整型变量和两种浮点型变量分别对应于不同的精度和范围。此外,我们还经常用到两种类变量,即String和Date。对于这些变量类型之间的相互转换在我们编程中经常要用到,在下面的论述中,我们将阐述如何实现这些转换。 1 数据类型转换的种类 java数据类型的转换一般分三种,分别是: (1. 简单数据类型之间的转换 (2. 字符串与其它数据类型的转换 (3. 其它实用数据类型转换下面我们对这三种类型转换分别进行论述。 2 简单数据类型之间的转换在Java中整型、实型、字符型被视为简单数据类型,这些类型由低级到高级分别为(byte,short,char--int--long--float--double 简单数据类型之间的转换又可以分为:●低级到高级的自动类型转换●高级到低级的强制类型转换●包装类过渡类型能够转换 2.1自动类型转换低级变量可以直接转换为高级变量,笔者称之为自动类型转换,例如,下面的语句可以在Java中直接通过:byte b; int i=b; long l=b; float f=b; double d=b; 如果低级类型为char型,向高级类型(整型)转换时,会转换为对应ASCII码值,例如r char c='c'; int i=c; System.out.println("output:" i; 输出:output:99; 对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用下述的强制类型转换。 short i=99;char c=(chari;System.out.println("output:" c; 输出:output:c; 但根据笔者的经验,byte,short,int三种类型都是整型,因此如果操作整型数据时,最好统一使用int 型。 2.2强制类型转换将高级变量转换为低级变量时,情况会复杂一些,你可以使用强制类型转换。即你必须采用下面这种语句格式: int i=99;byte b=(bytei;char c=(chari;float f=(floati; 可以想象,这种转换肯定可能会导致溢出或精度的下降,因此笔者并不推荐使用这种转换。 2.3包装类过渡类型转换在我们讨论其它变量类型之间的相互转换时,我们需要了解一下Java的包装类,所谓包装类,就是

黑马程序员Java教程:变量待拆

变量 1.5.1 变量的概念 定义:内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型),该区域的数据可以在同一类型范围内不断变化。 特点:变量其实就是将不确定的数据进行存储,也就是需要在内存中开辟一个空间。 为什么要定义变量? 用来不断的存放同一类型的常量,并可以重复使用。 定义变量的格式: 数据类型变量名 = 初始化值; 例如:byte b = 3; P.S. 1、格式是固定的,记住格式,以不变应万变。 2、变量的作用范围(一对{}之间有效)。 3、变量只能存放某一类型的数据。 理解:

变量就如同数学中的未知数X。 1.5.2 Java语言的数据类型 Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间: byte 1个字节 short 2个字节 int 4个字节 long 8个字节 float 4个字节 double 8个字节 char 2个字节 Java语言的数据类型包括8种基本类型,3种引用类型。

P.S. 1、整数默认类型:int类型,小数默认类型:double类型。 2、double类型的小数精度比float类型的小数更高。 1.5.3 常见错误 错误示例一: 1.class VarDemo 2.{ 3. public static void main(String[] args){ 4. byte b = 3; 5. byte b = 8; 6. } 7.} 运行结果: 错误原因:变量定义一次以后,不能再重新定义一次。

错误示例二: 1.class VarDemo 2.{ 3. public static void main(String[] args){ 4. long l = 123456789123; 5. System.out.println(l); 6. } 7.} 运行结果: 错误原因:由于整数默认类型是int类型,如果数值超过了int类型的范围,那么就会报如上错误。即使是赋值给long类型的变量,但是由于后面的常量已经超过了int类型的范围,同样会报错。 解决方法:在数值后面加上一个“l”,就可以让编译器知道后面的常量是long 类型。 代码如下: 1.class VarDemo 2.{ 3. public static void main(String[] args){ 4. long l = 123456789123l;

13. Java中的多态和类型转换(难点)

Java中的多态和类型转换 一、Java中的多态 1.多态的进一步理解,多态可以理解为两个方面: (1)父类型的引用可以指向子类型的实例或对象, (2)接口类型的引用可以指向实现该接口的类的实例或对象(instance)。 由此来看,以后一提到多态,应该马上映射到向上转型。 2.接口就是一种特殊的抽象类,关键字interface,实现用implements。例如:结合数组定 义: interface Interface1 implements Bb { } Interface1[] = new Interface1[]{Bb(),Bb()};//数组 3.对象的多态一般就是两种形态:父类形态与本类形态。 子类的对象就在这两种形态之间相互转换。 (1)向上转型是把子类对象转成父类形态,限制子类的特有方法; (2)向下转型是把子类对象从父类形态转成本类形态(向下转型的前提是先进行向上转型)。 4.Parent p = new Child();(1)当使用多态的方式调用方法时,首先检查父类中是否有此 方法,如果没有,则会出现编译出错,如果有则可编译通过,包括子类和父类都有此方法,子类的把父类的覆盖,调用的是子类中的此方法,如果子类中不存在此方法,直接调用父类的方法。因此编译时要看父类中是否存在此方法,调用时具体要看所指向对象的中的方法,先看子类方法的重写,若没有再调用从父类继承下来的方法。此规律仅限于成员方法。(2)*****对于成员变量,则只看引用所属类中是否有此变量,调用的也是父类中的变量值,与子类中的变量没有一点儿关系。 5.类类型的引用可以指向本类及其子类的对象;接口类型的引用可以用于指向 实现接口的子类的对象。这就是多态的体现。 6.这样让父类引用或接口引用作为形参,就可以接收很多子类的对象,拓展性 比较强。 7.多态:某一类事物的多种存在形态。 8.在java中多态的体现在: (1)父类的引用可以指向本类及其子类的对象;

Java期末复习题全

第一部分 Java语言概述 1选择题 1-1在下列概念中,Java语言只保留了。 A. 运算符重载 B. 方法重载 C. 指针 D. 结构和联合 1-2下列关于Java语言特征的描述中,错误的是。 A. 支持多线程操作 B. Java 程序与平台无关 C. Java程序可以直接访问Internet上的对象 D. 支持但继承和多继承 1-3 下列关于Java Application 程序在结构上特点的描述中,错误的是。 A. Java程序是由一个或多个类组成的 B. 组成Java程序的若干个类可以放在一个文件中,也可以放在多个文件中 C. Java 程序的文件名要与某个类名相同 D. 组成Java程序的多个类中,有且仅有一个主类 1-4Java程序经过编译后生成的文件的后缀是。 A..obj B..exe C. .class D. .java 1-5下列关于运行字节码文件的命令行参数的描述中,正确的是。 A.第一个命令行参数(紧跟命令字的参数)被存放在args[0]中。 B.第一个命令行参数被存放在args[1]中。 C.命令行的命令字被存放在args[0]中。 D.数组args[]的大小与命令行参数的个数无关。 2.判断题 1-1Java语言是在C++语言之前问世的。() 1-2Java语言具有较好的安全性和可移植性及与平台无关等特性。() 1-3Java语言中取消了联合概念,保留了结构概念。() 1-4Java语言中数据类型占内存字节数与平台无关。() 1-5Java语言中可用下标和指针两种方式表示数组元素。() 1-6Java语言的源程序不是编译型的,而是编译解释型的。() 1-7操作系统中进程和线程两个概念是没有区别的。() 1-8Java语言既是面向对象的又是面向网络的高级语言。() 1-9Java程序分为两大类:一类是Application 程序,另一类是Applet程序。前者又称Java应用程序,后者又称Java小应用程序。() 1-10JavaApplication程序是由多个文件组成的,其中可以有也可以没有主文件。() 1-11组成JavaApplication的若干类中,有且仅有一个主类,只有主类中含有主方法main( )_。() 1-12JavaApplication程序中,必有一个方法main( ),该方法有没有参数都可以。() 1-13Java程序中是不区分大小写字母的。() 1-14下列两个命令:javac 和java是不同的,编译时用前者,运行时用后者。() 1-15Java程序编译后生成的是字节码文件,其后缀是 .exe。() 1-16字节码文件机器是不能直接识别的,它要经过解释器,边解释边执行。() 1-17在Java程序中,使用import语句引入类是在解释器中实现的。() 1-18在运行字节码文件时,使用java命令,一定要给出字节码文件的扩展名 .class 。() 1-19如果一个Java程序中有多个类,编译后只生成一个字节码文件,其名字同主类名。() 1-20Java程序中出现的输出方法println( )和print ( ) 是完全一致的。() 1.B 2.D 3.C 4.C 5.A 1.错 2.对 3. 错 4. 对 5. 错 6. 对 7. 错 8. 对 9. 对 10.错 11. 对 12. 对 13. 错 14. 对 15.错 16. 对 17. 对 18.错 19. 错 20. 错

JAVA

JAVA:面向对象 1.目录的树形结构 2.路径:windows、Dos(不区分大小写)用\分隔,linux、unix用/分隔 3.可执行文件:exe,bat,com 4.JAVA源代码经过编译,形成的.class文件,是中间代码,需要进一步翻译成特定的软硬件, 通过JVM(JAVA虚拟机)(有不同版本适应不同软硬件)进行翻译和执行。 5.java程序的运行速度相较c慢; java的.class文件,可以在任意地方运行; 与网络的无缝连接。 6.java的特点 强力排错性(错误的低容忍程度):java没有指针,不支持多重继承; 面向对象(java,c++,VB); 适用面相当宽(GUI图形用户界面、网络、数据库、手机安卓…); 7.对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。 8.类:类是一个模板,它描述一类对象的行为和状态。 方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。 9.实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。 10.第一个java程序

文件名与类名一致 变量名与C变量名命名方式相同 classmyFirstJava { public static void main (String[] shashadouxing) { System.out.println(“哈哈哈哈哈”); } } 在命令行编译: javac myFirstJava.java回车 运行的方式: java myFirstJava回车 11.书写java程序所需要注意的基本问题 主文件名同时也是java类名称,必须满足变量名原则,严格区分大小写; main()左侧的public static void都是不得有任何不同的。 对于所有的类来说类名的首字母都应该大写,如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。 12.java修饰符 像其他语言一样,Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:?访问控制修饰符: default, public , protected, private ?非访问控制修饰符: final, abstract, strictfp

java的基本数据类型

byte(字节) 8 -128 - 127 0 shot(短整型) 16 -32768 - 32768 0 int(整型) 32 -2147483648-2147483648 0 long(长整型) 64 -9233372036854477808-9233372036854477808 0 float(浮点型) 32 -3.40292347E+38-3.40292347E+38 0.0f double(双精度) 64 -1.79769313486231570E+308-1.79769313486231570E+308 0.0d char(字符型) 16 ‘ \u0000 - u\ffff ’ ‘\u0000 ’ boolean(布尔型) 1 true/false false 1. Java的简单类型及其封装器类 Java基本类型共有八种,基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double。JAVA中的数值类型不存在无符号的,它们的取值范围是固定的,不会随着机器硬件环境或者操作系统的改变而改变。实际上,JAVA 中还存在另外一种基本类型void,它也有对应的包装类https://www.360docs.net/doc/ad625380.html,ng.Void,不过我们无法直接对它们进行操作。8 中类型表示范围如下: byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。 short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。 int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。 long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。 float:32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。 double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。 boolean:只有true和false两个取值。 char:16位,存储Unicode码,用单引号赋值。 Java决定了每种简单类型的大小。这些大小并不随着机器结构的变化而变化。这种大小的不可更改正是Java程序具有很强移植能力的原因之一。下表列出了Java中定义的简单类型、占用二进制位数及对应的封装器类。

JAVA初级知识点大总结

第一章 Java编程环境 1、什么是java,java的诞生? Java是一种革命性的程序设计语言,用它编写的程序可以在不同类型的计算机上运行。用java语言可以编写applet小程序,可以将这些小程序嵌入到网页中,也可以编写大型应用程序,编写GUI实用程序,编写网络应用程序。 Java的诞生,1941年java的创始人是SUN MicroSystem公司的Jame Gosling 、Bill joe等人创始的,真正形成是在1942年。 2、java 的语言特点 简单性、面向对象、分布式、解释执行、健壮、安全、体系结构中立、可移植、高性能、多线程、动态性。 3、java程序 用Java可以编写两类程序:一类是嵌入到网页的程序,叫做java applet(java小程序),另一类是通常的对立应用程序,叫做java application(java应用程序)。Java应用程序进一步细分为:一时控制台应用程序(concole application)。它仅支持将字符输出到计算机的屏幕;另一个是窗口式应用程序(windowed application),它能建立和管理多个窗口。 4、java三大平台 J2SE:针对普通pc应用,是java的基础,另外两个领域都以这个为基础,可实现基于操作系统的应用程序。 J2EE:java 2企业版,是一套面向企业应用的体系结构,适用于开发分布式、多层式,以组件为基础,为WEB为基础的应用程序。 J2ME:java版本中最小的一个,目的是作为小型数字设备上开发及部署的应用平台,针对嵌入式设备的,如:手机、股票机等。 5、java环境 Java平台由两部分组成:一是用于实现软件的假想计算机,叫做java虚拟机(JVM);另一个叫做java应用程序编程接口(java API),它是一个软件组件的集合。 Java编译器:将java源代码转换成由字节代码组成的二进制程序,这些字节码是虚拟机的机器指令。Java解释器:检查并解释该程序的源代码,以确定该字节码的未曾被篡改过。并可以顺利执行,然后在执行字节代码在虚拟机内规定的动作。 Java字节代码执行的两种方式:一是interpreter解释方式;二是 just-initiative-time即时编译。

相关主题
相关文档
最新文档