一。注释、标识符、关键字1。注释(comments)平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己编写的代码,但是当项目结构一旦复杂起来,我们就需要用到注释了!注释并不会被程序执行,是给我们自己写代码的人看的,方便理解书写注释是一个非常好的习惯Java中注释有三种:单行注释(Linecomment)多行注释(blockcomment)文档注释(JavaDoc)找好看的注释:搜索有趣的代码注释三种注释的代码单行注释:只能注释一行,javapublicclassHello{publicstaticvoidmain(String〔〕args){单行注释输出hello一句话!System。out。println(hello);}}多行注释:可以注释一段文字,javapublicclassHello{publicstaticvoidmain(String〔〕args){单行注释输出hello一句话!多行注释这是多行注释这是多行注释这是多行注释System。out。println(hello);JavaDoc:文档注释,javapublicclassHello{publicstaticvoidmain(String〔〕args){文档注释descroptionhelloAuthorzhangSystem。out。println(hello);}} comments:注释 Annotations:注解 Bold:粗体 italic:斜体 description:描述 Author:作者2。标识符Java里面的关键字 Java所有的组成成分都需要名字,类名、变量名以及方法名都被称作标识符。(每个人都有自己的名字,程序也是如此,作为程序员,我们就是上帝造物主,我们要给自己创造的程序命名,这也体现了程序来源于生活!)标识符注意事项所有的标识符首字符都应该以字母(AZ或者az)、美元符()、或者下划线()开始首字符之后可以是字母(AZ或者az)、美元符()、下划线()或者数字的任意字符组合不能使用关键字作为变量名或者方法名标识符是大小写敏感的合法标识符例子:age、salary、value、1value不合法标识符例子:123abc,salary、abc可以使用中文命名,但是一般不推荐怎样去使用,也不建议使用拼音,原则上命名要见名知意文件名与类名保持一致,并且类名首字母大写(默认规范)二。数据类型1。语言类型(安全性与性能)强类型语言:要求变量的使用要严格符合规定,所有的变量都必须先定义后才能使用(安全性高,性能低)弱类型语言:要求变量的使用不需要严格符合规定,所有的变量不需要先定义后才能使用(安全性低,性能高)2。Java的数据类型分为两大类基本类型(Primitivetype)单引号与双引号:‘中’(只能为一个字符或一个字,‘中’或者‘A’等);zahng(可以有多个字符)判断数值类型大小八大基本类型代码:javapublicclassDemo2{八大基本类型整数byteb110;shortb2100;intb31000;longb41000000L;Long类型要在后面加一个L,以示区分与上面不同。浮点数floatc11。1665F;float类型要在后面加一个F,以示区分与double不同。doublec21。45466456;字符类型chard1A;只能写一个字或一个字符String不是基本类型,属于引用类型Stringe1zhang;可以写多个字符boolean:布尔值,其值只有true与falsebooleanf1true;}引用类型(referencetype):除了基本数据类型,都是引用类型!3。变量变量是什么:就是可以变化的量java是一种强类型语言,每个变量都必须声明其类型Java变量是程序中最基本的存储单元,其3要素包括:变量名、类型变量和、作用域javatypevarNamevalue数据类型变量名值;可以使用逗号隔开来声明多个同类型的变量!注意事项:每个变量都有类型,类型可以是基本数据类型,也可以是引用类型(String是引用类型)变量名必须是合法的标识符变量声明是一条完整的语句,因此每一个声明都必须以分号(;)结束4。什么是字节位(bit):是计算机内部数据存储的最小单位,11101110就是一个八位二进制数,习惯上用小写的b表示。字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示1B(byte,字节)8bit(位),也就是说,如果用二进制表示的话,1字节2的(81)次方bit(位)字符:是指计算机中使用的字母、数字、字、和字符单位换算1bit表示1位1byte表示1个字节1B8b(二进制的8次方)【81的次方】1024B1KB1024KB1M1024M1G电脑32位于64位的区别向下兼容,64位的电脑既可以装64位操作系统也可以装32位操作系统,反之不行!位数越高,电脑内存寻址越强,电脑运行速度越快同时,64位电脑,最多可以支持128G内存,32位电脑,最多支持4G内存,所以如果你想加内存条,64位的理论上最多可以加到128G三。类型转换由于Java是强类型语言,所以要进行某些运算时,需要用到类型转换。 java低高byte,short,charintlongfloatdouble小数优先级大于整数运算中,不同类型的数据先转换为同一类型,然后在进行运算高转低需要强制转换,低转高不需要 java强制类型转换:高低intbyte自动转换:低高intdouble强制类型转换(括号里面加上转换类型)【格式:(类型)变量名】 javapublicclassDemo9{publicstaticvoidmain(String〔〕args){ints1128;bytes2(byte)s1;内存溢出System。out。println(s2);}}结果为:128自动类型转换(隐式类型转换) javapublicclassDemo10{publicstaticvoidmain(String〔〕args){ints1128;doubles2s1;System。out。println(s2);}}结果为:128。0常见错误1。转换的结果为负数,原因为超出byte的最大正范围,避免内存溢出 javapublicclassDemo9{publicstaticvoidmain(String〔〕args){ints1128;bytes2(byte)s1;内存溢出System。out。println(s2);}}结果为:1282。不能对boolean值进行转换,boolean是按位来计算大写的,而其他的数据类型单位为字节!!!3。不能把对象类型转换为不相干的类型(人不能转换为一本书)4。在把高容量转换为低容量的时候,强制转换转换的时候可能存在内存溢出,或者精度问题!(浮点数转int时,例如23。7变为23、4。6变为4,丢失精度)char类型javapublicclassDemo11{publicstaticvoidmain(String〔〕args){字符转换chars1a;ints2s11;System。out。println(s2);自动转换System。out。println((char)s2);强制转换}}结果为98b操作比较大的数的时候,注意溢出问题,JDK7新特性,数字之间可以用下划线分割javapublicclassDemo12{publicstaticvoidmain(String〔〕args){数字比较大的时候,注意溢出问题JDK7新特性,数字可以用下划线分割表示ints1100000000;ints2100;ints3s1s2;计算时溢出了longs4s1s2;计算时按默认的int计算,转换为long类型之前就已经错误了System。out。println(s3);System。out。println(s4);}}结果为:451611456564151451611456564151解决上面问题javapublicclassDemo12{publicstaticvoidmain(String〔〕args){数字比较大的时候,注意溢出问题JDK7新特性,数字可以用下划线分割表示ints1100000000;ints2100;ints3s1s2;计算时溢出了longs4s1s2;计算时按默认的int计算,转换为long类型之前就已经错误了longs5s1(long)s2;计算时,先将s2从int转换为long在进行计算,结果就不会出现问题System。out。println(s3);System。out。println(s4);System。out。println(s5);}}四。变量、常量1。变量变量是什么:就是可以变化的量java是一种强类型语言,每个变量都必须声明其类型Java变量是程序中最基本的存储单元,其3要素包括:变量名、类型变量和、作用域javatypevarNamevalue数据类型变量名值;可以使用逗号隔开来声明多个同类型的变量!注意事项:每个变量都有类型,类型可以是基本数据类型,也可以是引用类型(String是引用类型)变量名必须是合法的标识符变量声明是一条完整的语句,因此每一个声明都必须以分号(;)结束2。变量作用域类变量实例变量局部变量javapublicclassDemo13{类变量staticints110;类变量必须要以static修饰实例变量ints2123;没有static修饰为实例变量main方法publicstaticvoidmain(String〔〕args){局部变量ints34546;定义在方法里的变量,局部变量}}详解变量 javapublicclassDemo14{类变量staticints3464;static{代码块,定义属性,在类加载的时候就加载了}实例变量:从属于对象(当前这个类)如果不自行初始化,有默认值基本数据类型:整数默认值为:0,浮点数为:0。0,字符为:U0000(不显示),boolean为:false除了基本数据类型,其余的默认值为nullintage;Stringname;charaddress;doublecat;booleanpet;main方法publicstaticvoidmain(String〔〕args){局部变量:在当前方法有效,作用域为当前main方法必须声明和初始值ints111;System。out。println(s1);实例变量的调用Demo14s2newDemo14();System。out。println(s2。age);System。out。println(s2。name);System。out。println(s2。cat);System。out。println(s2。address);System。out。println(s2。pet);类变量System。out。println(s3);可以直接调用}add方法publicvoidadd(){}}结果为:110null0。0char的默认值false3。常量常量(constant):初始化(initialize)后不能在改变值!!不会改动的值。所谓的常量可以理解为一种特殊的变量,它的值被设定后,在程序运行过程中不允许被修改格式:final常量名值;finaldoublePI3。1415926,变量名默认大写常量名一般使用1大写字符!!修饰符,不存在先后顺序 javapublicclassDemo15{staticpublicintS14;publicstaticvoidmain(String〔〕args){System。out。println(S);}}输出结果为:144。变量的命名规范所有的变量、方法、类名:见名知意类成员变量:首字母小写和驼峰原则:timeLate局部变量:首字母小写和驼峰原则常量:大写字母和下划线:MAXVALUE类名:首字母大写和驼峰原则:Demo,Hello方法名:首字母小写和驼峰原则:add()、run()五。运算符运算符 cast:转换自增、自减,一元运算符, javapublicclassDemo1{publicstaticvoidmain(String〔〕args){自增自减,ints12;ints2s1;先赋值再加ints3s1;先加后赋值System。out。println(s1);System。out。println(s2);System。out。println(s3);}}结果为:424逻辑运算 javapublicclassDemo2{publicstaticvoidmain(String〔〕args){逻辑运算短路运算ints16;booleans2(s15)(s15);前面为false,后面的s1就不会执行!!System。out。println(s2);System。out。println(s1);}}结果为:false6位运算 javapublicclassDemo3{publicstaticvoidmain(String〔〕args){位运算01A00111100B00001101AB:00001100两者都为1,才为1AB:00111101两者只要有一个为1,就为1AB(异或);00110001两个数字一样为0,不同为1B:11110010取反28162222左移右移0000000110001000016System。out。println(23);上面的例子System。out。println(2562);System。out。println(2562);与结果一样}}结果为:166464三元运算符 javapublicclassDemo4{publicstaticvoidmain(String〔〕args){三元运算符x(语句)?y:s如果xtrue,则返回y,否则结果为sints11;ints212?10:5;System。out。println(s2);}}结果为:10优先级:()优先级高,建议多使用!!!六。包机制、javaDoc1。包为了更好地组织类,Java提供了包机制,用于区别类名的命名空间包语句的格式为:packagepkg1; javapackagejava。lang一般利用公司域名倒置作为包名;www。baidu。comcom。baidu。www为了能够使用某一个包的成员,我们需要在Java程序里面导入该包,使用import语句即可完成此功能!importpackage javaimportbase。Demo14;importbase。导入全部表示通配符单词:refactor重构2。JavaDocJavaDoc命令是用来声称自己的API文档的可以加在类上,也可以加在方法上(自动生成一些东西) javapackageoperator;authorzhangversion1。0publicclassDemo4{Stringname;paramargsthrowsExceptionpublicstaticvoidmain(String〔〕args)throwsException{三元运算符x(语句)?y:s如果xtrue,则返回y,否则结果为sints11;ints212?10:5;System。out。println(s2);}}参数信息author作者名version版本号since指明最早使用的JDK版本param参数名return返回值情况throws异常抛出情况生成JavaDoc文档javajavadocencodingUTF8charsetUTF8Demo4。java生成文档 IDEA生成帮助文档javazhCN生成中文文档encodingUTF8charsetUTF8设置编码集 生成JavaDoc帮助文档!