java代码的基本格式,java编写软件工具
今天给各位分享java代码的基本格式的知识,其中也会对java编写软件工具进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
JAVA几种常见的编码格式
ASCII码学过计算机的人都知道 ASCII码,总共有 128个,用一个字节的低 7位表示,0~31是控制字符如换行回车删除等;32~126是打印字符,可以通过键盘输入并且能够显示出来。
ISO-8859-1(扩展ASCII编码)128个字符显然是不够用的,于是 ISO组织在 ASCII码基础上又制定了一些列标准用来扩展 ASCII编码,它们是 ISO-8859-1~ISO-8859-15,其中 ISO-8859-1涵盖了大多数西欧语言字符,所有应用的最广泛。ISO-8859-1仍然是单字节编码,它总共能表示 256个字符。
GB2312它的全称是《信息交换用汉字编码字符集基本集》,它是双字节编码,总的编码范围是 A1-F7,其中从 A1-A9是符号区,总共包含 682个符号,从 B0-F7是汉字区,包含 6763个汉字。
GBK(扩展GB2312)全称叫《汉字内码扩展规范》,是国家技术监督局为 windows95所制定的新的汉字内码规范,它的出现是为了扩展 GB2312,加入更多的汉字,它的编码范围是 8140~FEFE(去掉 XX7F)总共有 23940个码位,它能表示 21003个汉字,它的编码是和 GB2312兼容的,也就是说用 GB2312编码的汉字可以用 GBK来解码,并且不会有乱码。
GB18030(兼容GB2312)全称是《信息交换用汉字编码字符集》,是我国的强制标准,它可能是单字节、双字节或者四字节编码,它的编码与 GB2312编码兼容,这个虽然是国家标准,但是实际应用系统中使用的并不广泛。
Unicode编码集UTF-16统一采用两个字节表示一个字符,虽然在表示上非常简单方便,但是也有其缺点,有很大一部分字符用一个字节就可以表示的现在要两个字节表示,存储空间放大了一倍,在现在的网络带宽还非常有限的今天,这样会增大网络传输的流量,而且也没必要。而 UTF-8采用了一种变长技术,每个编码区域有不同的字码长度。不同类型的字符可以是由 1~6个字节组成。
UTF-8有以下编码规则:
UTF-16具体定义了 Unicode字符在计算机中存取方法。UTF-16用两个字节来表示 Unicode转化格式,这个是定长的表示方法,不论什么字符都可以用两个字节表示,两个字节是 16个 bit,所以叫 UTF-16。UTF-16表示字符非常方便,每两个字节表示一个字符,这个在字符串操作时就大大简化了操作,这也是 Java以 UTF-16作为内存的字符存储格式的一个很重要的原因。
ISO试图想创建一个全新的超语言字典,世界上所有的语言都可以通过这本字典来相互翻译。可想而知这个字典是多么的复杂,关于 Unicode的详细规范可以参考相应文档。Unicode是 Java和 XML的基础,下面详细介绍 Unicode在计算机中的存储形式。
UTF-16
UTF-8
如果一个字节,最高位(第 8位)为 0,表示这是一个 ASCII字符(00- 7F)。可见,所有 ASCII编码已经是 UTF-8了。
如果一个字节,以 11开头,连续的 1的个数暗示这个字符的字节数,例如:110xxxxx代表它是双字节 UTF-8字符的首字节。
如果一个字节,以 10开始,表示它不是首字节,需要向前查找才能得到当前字符的首字节
详情传送门至:网页链接
C++、C、或者java,这些语言写代码时应该要怎么规范格式,
C/C++源代码书写规范1.在.h/.cpp的开头应有一段格式统一的说明,内容包括:a.文件名(FileName);b.创建人(Creator);c.文件创建时间(Date);d.简短说明文件功能、用途(Comment)。例:////////////////////////////////////////////// FileName: GetVersion.h// Creator: Liu Haifeng// Date: 2002-10-28// Comment: Get file version information////////////////////////////////////////////2.对于主要功能函数应有注释说明。内容包括:功能、入口/出口参数,必要时还可有备注或补充说明,对于函数中的主要功能代码,也应有注释说明。注释以英文为主。例://////////////////////////////////////////////Remarks:// Check file whether exist////Parameters:// LPCTSTR lpszPathName: Input full path name////Return values:// int: Non-zero means success// Zero means failure////////////////////////////////////////////3.每列代码的长度推荐为80列,最长不得超过120列;折行以对齐为准。例:HANDLE KSOpenFile(const char cszFileName[],int nMode);或者:BOOL KSReadFile(HANDLE hFile,void*pvBuffer,int nReadSize,int*pnReadSize);4.循环、分支代码,判断条件与执行代码不得在同一行上。例:正确:if(n==-2)n= 1;elsen= 2;不得写做:if(n==-2) n= 1;else n= 2;5.指针的定义,*号既可以紧接类型,也可以在变量名之前。例:可写做:int* pnsize;也可写做:int*pnsize;但不得写做:int* pnsize;6.在类的成员函数内调用非成员函数时,在非成员函数名前必须加上"::"。例:::Sleep(2000);7.函数入口参数有缺省值时,应注释说明。例:BOOL KSSaveToFile(const char cszFileName[],BOOL bCanReplace/*= TRUE*/);或者:BOOL KSSaveToFile(const char cszFileName[],BOOL bCanReplace//= TRUE);8. else if必须写在一行。9.与‘{’、‘}’有关的各项规定:9.1‘{’、‘}’应独占一行。在该行内可有注释。例:正确:for(i= 0; i< cbLine; i++){//.....printf("Line%d:", i);printf("%s\n", pFileLines);}不得写做:for(i= 0; i< cb; i++){ printf("Line%d:", i);printf("%s\n", pFileLines);}9.2‘{’必须另起一行,‘{’之后的代码必须缩进一个Tab。‘{’与‘}’必须在同一列上。例:正确:if(i> 0){m= 1;n++;}不得写做:if(i> 0){m= 1;n++;}例外:if(i== 0){ ASSERT(FALSE); return;}9.3在循环、分支之后若只有一行代码,虽然可省略‘{’、‘}’,但不推荐这么做。若省略后可能引起歧义,则必须加上‘{’、‘}’。例:正确:if(n==-2)n= 1;elsen= 2;或者:if(n==-2){ n= 1;}else if(n!= nTemp){ n= 2;}else{ n= 3;}不得写做:if(n==-2)n= 1;else if(n!= nTemp)n= 2;elsen= 3;不推荐:if(i< 1){ n= 1;}else{if(i== 1){ n= 2;}else{if(i> 1){ n= 3;}}}10.与空格有关的各项规定。10.1在所有两目、三目运算符的两边都必须有空格。在单目运算符两端不必空格。但在‘->’、‘::’、‘.’、‘[’、‘]’等运算符前后,及‘&’(取地址)、‘*’(取值)等运算符之后不得有空格。例:正确:int n= 0, nTemp;for(int i= nMinLine; i<= nMaxLine; i++)不得写做:int n=0, nTemp;for( int i=nMinLine; i<=nMaxLine; i++)10.2 for、while、if等关键词之后应有1个空格,再接‘(’,之后无空格;在结尾的‘)’前不得有空格。例:正确:if(-2== n)不得写做:if(-2== n)或if(-2== n)等等。10.3调用函数、宏时,‘(’、‘)’前后不得有空格。例:正确:printf("%d\n", nIndex);不得写做:printf("%d\n", nIndex);printf("%d\n", nIndex);等等。10.4类型强制转换时,‘(’‘)’前后不得有空格例:可写做:(KSFile*)pFile;也可写做:(KSFile*)pFile不得写做:( KSFile*)pFile( KSFile*) pFile11.与缩进有关的各项规定11.1缩进以 Tab为单位。1个 Tab为 4个空格11.2下列情况,代码缩进一个 Tab:1.函数体相对函数名及'{'、'}'。例:int Power(int x){return(x* x);}2. if、else、for、while、do等之后的代码。3.一行之内写不下,折行之后的代码,应在合理的位置进行折行。若有+-*/等运算符,则运算符应在上一行末尾,而不应在下一行的行首。11.3下列情况,不必缩进:switch之后的 case、default。例:switch(nID){case ID_PLAY:......break;case ID_STOP:......break;default:......break;12.对于涉及到系统的功能调用,要求使用系统提供的宏,不得直接使用具体的数值。例: char szSystemPath[MAX_PATH]={0};正确char szSystemPath[260]={0};错误13.关于函数编写的规定13.1除了非常简单的函数或者没有必要,函数需要有返回值,并且推荐返回值的类型为int,成功时为 true,失败时为false。不推荐直接使用1和0来表示。13.2在函数内部变量定义全部放在函数的开始处,不能在代码中间出现变量定义。变量定义需要初始化值,一般是0、false、NULL等。13.3程序员自行编写的函数不推荐使用DWORD等指明字节长度的变量类型,推荐使用unsigned long等变量类型。对于ULONG等vc系统定义的变量类型,推荐使用unsigned long来代替。如果调用系统API,在MSDN中已经指明了是DWORD等类型,则可以使用。13.4推荐使用int nResult作为函数自身的返回值变量,int nRetCode、BOOL bRetCode作为调用其他函数的返回值变量。13.5推荐使用goto语句来统一函数出口,goto语句一般只能跳转到一个函数出口,最多只能有两个,出口标识必须命名为Exit0和Exit1。在出口处必须显式检查曾经申请过的系统资源(如内存),并且进行释放。13.6如果编写DLL,除非特殊情况,导出函数的调用类型必须是__stdcall,便于多模块协同工作。附录:1.函数编写示范///////////////////////////////////////////////////////////////////////// Remarks:// Get file version information//// Parameters:// [in] const char cszPathName: Input file path name// [out] PVERSION_INFO*pVersionInfo: File version information//// Return values:// int: Non-zero means success, zero means failure///////////////////////////////////////////////////////////////////////int GetFileVersion(const char cszPathName, PVERSION_INFO*pVersionInfo){int nResult= false;int nRetCode= false;char szSystemPath[MAX_PATH]={0};nRetCode= IsFileExist(cszPathname);if(!nRetCode)goto Exit0;//Others code herenResult= true;Exit0:return nResult;}以前你的习惯可能是我定义一个函数,通过传递参数去实现这个函数的功能。面向对象编程要体现三个特点“封装、继承、多态”;比如你写一个飞这个函数,你需要在这里传递参数飞机。换个角度,你定义一个类是飞机,那这个飞机在封装的过程就有飞。降落等这功能(函数)。你想要用飞这个功能(函数)的时候,你只需调用飞机这个类“飞”这个成员函数。
java语言基础的问题
java是现在流行的高级语言的一种。它的特点是支持面向对象、可移植性、安全性都比较好。一个java程序首先通过编译器把源代码编译为字节码(bytecode)的机器语言,然后在虚拟机中解释执行。为了方便移植,java是不生成exe(windows下的excecutable可执行文件)的,这样就可以在windows之外的系统中运行。至于游戏,和普通的程序是一样的。它的特点就是前面所讲的一般java程序的特点。
你还问到关于面向对象的概念。你已经接触过重载、覆盖,接口这类概念,它们都是出自面向对象的。面向对象简单讲就是支持类、对象的操作。类和对象概念的引入也是为了简化代码,让程序员能够比较好地对代码进行组织架构。这是两个面向对象当中最基本的概念。
下面给你描述一下:
类可以说是用来描述一个概念。你自己写的类(就是class后面的程序段)包含你这个概念的名称、它具有的属性、能够实现的方法。
对象是类的实例化。举个例子说,人是一个类,那么你,我都是“人类”的实例化的对象。我们描述一个人,通常是他的姓名、性别、身高、体重。。。那么我和你都有这些属性。我们说人会吃饭、走路,那么这就是“人”这个类中的方法。你我也都有这些方法。
再说下继承:还是举人这个例子。人是动物。动物的共有属性比如有性别、体重,共有方法比如生老病死。那么对于人这些属性、方法都有,对于猫这些属性、方法也都有。因此我们可以定义“动物”为父类,“人”、“猫”为两个子类,其中“人”有特殊的属性和方法,比如人有个属性是“职业”,特有方法“会算术计算”;而“猫”会“抓老鼠”……。那么说人和猫都是从“动物”继承来的,有着“动物”的共有属性和方法,以及除此之外的特有属性和方法。
关于java代码的基本格式到此分享完毕,希望能帮助到您。