一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。
下面看一个简单的Java程序,它将输出字符串HelloWorld
下面将逐步介绍如何保存、编译以及运行这个程序:
你将会在窗口看到HelloWorld
$javacHelloWorld.java$javaHelloWorldHelloWorld如果遇到编码问题,我们可以使用-encoding选项设置utf-8来编译:
javac-encodingUTF-8HelloWorld.javajavaHelloWorldGif图演示:
编写Java程序时,应注意以下几点:
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
关于Java标识符,有以下几点需要注意:
像其他语言一样,Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:
在后面的章节中我们会深入讨论Java修饰符。
Java5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的bug。
例如,我们为果汁店设计一个程序,它将限制果汁为小杯、中杯、大杯。这就意味着它不允许顾客点除了这三种尺寸外的果汁。
下面列出了Java关键字。这些保留字不能用于常量、变量、和任何标识符的名称。
注意:Java的null不是关键字,类似于true和false,它是一个字面常量,不允许作为标识符使用。
类似于C/C++、Java也支持单行以及多行注释。
注释中的字符将被Java编译器忽略。
空白行或者有注释的行,Java编译器都会忽略掉。
在Java中,一个类可以由其他类派生。如果你要创建一个类,而且已经存在一个类具有你所需要的属性或方法,那么你可以将新创建的类继承该类。
利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。被继承的类称为超类(superclass),派生类称为子类(subclass)。
在Java中,接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。
接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。
如下图所示:
下一节介绍Java编程中的类和对象。之后你将会对Java中的类和对象有更清楚的认识。
Android
297***4077@qq.com
标识符可以用来标识变量名、类名、类中的方法名和文件名等。
命名规则:
关键字:都是小写的,jdk1.2多了strictfp(经准浮点型),关键字jdk1.4多了assert(断言)关键字,jdk1.5多了enum(枚举)关键字。
true、false、null严格说不应该算关键字,应称其为保留字更合适。
习惯:
常用的转义字符:
amy
143***9399@qq.com
Java的八种基本类型:(按字节来分)
boolean布尔型1个字节8bit(8位)
byte字节类型1个字节
char字符类型2个字节
short短整型2个字节
int整型4个字节
float浮点型(单精度)4个字节
long长整型8个字节
double双精度类型8个字节
Java中默认的整数类型是int,如果要定义为long,则要在数值后加上L或者l
默认的浮点型是双精度浮点,如果要定义float,则要在数值后面加上f或者F
一个字节等于8位,1个字节等于256个数。2^8
一个英文字母或者阿拉伯数字占一个字节
一个汉字占2个字节
jinling
103***5512@qq.com
一、命名规范
1、项目名全部小写
2、包名全部小写
3、类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写。如:publicclassMyFirstClass{}
4、变量名、方法名首字母小写,如果名称由多个单词组成,每个单词的首字母都要大写。如:
intindex=0;publicvoidtoString(){}5、常量名全部大写
如:
publicstaticfinalStringGAME_COLOR="RED";6、所有命名规则必须遵循以下规则:
二、注释规范
1、类注释
在每个类前面必须加上类注释,注释模板如下:
在每个属性前面必须加上属性注释,注释模板如下:
/**提示信息*/privateStringstrMsg=null;3、方法注释在每个方法前面必须加上方法注释,注释模板如下:
/***类方法的详细使用说明**@param参数1参数1的使用说明*@return返回结果的说明*@throws异常类型.错误代码注明从此类方法中抛出异常的说明*/4、构造方法注释
在每个构造方法前面必须加上注释,注释模板如下:
/***构造方法的详细使用说明**@param参数1参数1的使用说明*@throws异常类型.错误代码注明从此类方法中抛出异常的说明*/5、方法内部注释
在方法内部使用单行或者多行注释,该注释根据实际情况添加。
ycxchkj
xch***163.com
Java编程规范
package的命名:package的名字由全部小写的字母组成,例如:com.runoob。
class和interface的命名:class和interface的名字由大写字母开头而其他字母都小写的单词组成,例如:Person,RuntimeException。
class变量的命名:变量的名字用一个小写字母开头,后面的单词用大写字母开头,例如:index,currentImage。
class方法的命名:方法的名字用一个小写字母开头,后面的单词用大写字母开头,例如:run(),getBalance()。
staticfinal变量的命名:staticfinal变量的名字所有字母都大写,并且能表示完整含义。例如:PI,PASSWORD。
参数的命名:参数的名字和变量的命名规范一致。
数组的命名:数组应该总是用这样的方式来命名:byte[]buffer。
养成良好的编程习惯,是一个合格程序员必备的条件!加油!
你看见我ID了
112***0112@qq.com
一个完整的Java。源程序应该包括下列部分:
例如:
packagejavawork.helloworld;/*把编译生成的所有.class文件放到包javawork.helloworld中*/importjavaawt.*;//告诉编译器本程序中用到系统的AWT包importjavawork.newcentury;/*告诉编译器本程序中用到用户自定义的包javawork.newcentury*/publicclassHelloWorldApp{...}/*公共类HelloWorldApp的定义,名字与文件名相同*/classTheFirstClass{...};//第一个普通类TheFirstClass的定义interfaceTheFirstInterface{......}/*定义一个接口TheFirstInterface*/package语句:由于Java编译器为每个类生成一个字节码文件,且文件名与类名相同因此同名的类有可能发生冲突。为了解决这一问题,Java提供包来管理类名空间,包实提供了一种命名机制和可见性限制机制。
admin
125***7748@qq.com
数据类型的溢出
在Java中,只有数字类型才能参与运算。但是每个数据类型都有他的取值范围。
例如byte数据类型,它的取值范围为-128-127。
当我们使用byteb=128;时,肯定会报错。
但是使用byteb=127+1;并不会报错。
而且运算的结果为-128。
我们可以向数据类型的取值范围看作是一个圆,每多一个数据向前移动一个,当数据达到最大值时,我们再加1,可以就会变成最小值,这就是数据的溢出。
hhh
945***651@qq.com
byte取值范围
Java中,byte占一个字节,取值范围为何是-128~127?(-2^7~2^7-1)
计算机是用二进制来表示数据的,一个字节也就是8个比特位,其中最高位表示符号位(0正1负)。
故byte的取值范围为10000000到01111111。
在Java中,是采用补码来表示数据的。
正数的补码和原码相同,负数的补码是在原码的基础上各位取反然后加1。
1000000是补码,减一然后按位取反得到其原码10000000。(减一得01111111,再按位取反得10000000)
因为是负数,所以最小的byte值为-2^7=-128。
01111111的十进制为2^7-1=127(等比序列求和)。
byte是一个字节,共有2^8=256种可能性,也就是-128~127。
其他基本数据类型同理:
char没有负值,占两个字节,所以取值范围是0~2^16-1(65535)。
璀璨流星雨
198***6202@qq.com
throw和throws的区别:
throw则是用来抛出一个具体的异常类型。
throw就是自己处理一个异常,有两种方式要么是自己捕获异常try...catch代码块,要么是抛出一个异常(throws异常)。
cxy
597***644@qq.com
1、java文件通过java编译器把.java文件编译为.class文件
2、.class文件通过java虚拟机(JVM)传送指令给解释器
3、解释器将指令翻译成特定机器上的目标机器码,进行运行
恋未遂
170***3913@qq.com
补充一下,其实自己在进行编译的时候,标识符是可以用中文的,如下所示的类名就可以为中文: