Java语言学习笔记1、java基础语法1.1组成元素:1.1-1标识符:(1)作用:起名字,变量、方法、源文件,(2)标识符规则:只能由字母、数字、_、$组成,数字不能打头,java 支持汉字,不推荐使用汉字,尽量见名知意,java严格区分大小写1.1-2关键字:也叫保留字,系统保留的标示符,系统赋予关键字特殊的语法含义,我们不能将关键字当做普通的标示符使用,只能使用系统赋予的语法编程1.1-3数据类型:(1)作用:①、对变量类型严格控制;②、对不同类型变量内存空间进行分配(2)基本类型:①、整数类型:a、byte占8位,[-128,127]b、short占16位,[-2^15,2^15-1]c、int占32位,[-2^31,2^31-1]d、java中整数默认是int类型,如果一个整数超过了int的范围则需要在其后加L(l)将int数据转换为longe、long占64位,[-2^63,2^63-1]f、int a = 5;java中整数支持2进制,8进制和16进制a、2进制整数用0b开头b、8进制整数用0开头c、16进制整数用0x开头d、0x11~~16= a,b,c,d,e,f②、小数类型:也叫浮点型a、浮点型数据有精度的区分float:单精度浮点型,精确位数为6到8位,小数点不占位数。
double:双精度浮点型,精确位数为14到16位。
java中小数默认是double类型,所以必须在使用float时需要在数据后加F(f)将double转换成float类型。
③、字符类型:java采用的是unicode编码方式,使用两个字节对所有字符进行编码范围为[0,65535] (字符编码有:ascii、gbk、gb2312、gb18030、big5、iso-8859-1)char表示单个字符,使用 ' ' 括起来,汉字也是字符转义字符:\;\\:表示\ ;\t:表示tab;\r:表示回车;\n:表示换行。
windows中enter键就是\r\n表示回车换行,linux中使用\n表示换行(3)引用类型:①、类(后面会补充)②、接口(后面会补充)③、数组:存储一组类型相同数据的一种容器a、数组元素:数组中存储的每个数据b、数组长度:元素的个数,每个数组都有一个长度属性(length)c、元素类型:数组中存储的数据类型d、数组下标:元素编号,硬性规定从0开始编制,使用[n]下标运算符查找每个元素,可以使用for语句加强e、数组元素的初始化:I、动态初始化:通过下标索引找到每个元素依次赋值II、静态初始化:使用{}在定义数组时初始化,数组元素由{}里面的数据确定,使用逗号作为元素分隔符III、动静结合:直接例子数组的定义和创建:根据元素类型定义数组int[] a;float[] b;double c[];使用new创建数组,创建数组时需要设置数组长度a=new int[5];数组长度为5a.lengthc=new double[3];byte d[]=new byte[12];d[5]=1; (以上数组的定义与数组的创建使用开头的小写字母是代表数组或是变量)1.1-4、运算符:①算术运算符+,-,*,/,%,++,--++和--前缀时是先改变后使用,后缀时是先使用后改变只能用在变量上,使变量在原来基础上自增或自减1byte a = 5;a++;//a=6byte b=5;b=b+1;a,b???②比较运算符又称为关系运算符>,<,== ,!=,>=,<=运算结果是boolean类型比较运算符都可以用在数值数据上但是其他类型只能用==和!=③逻辑运算符:对逻辑值进行运算的运算符&&,||,!,^与&&:同真为真,有假为假或||:有真为真,同假为假非!:取反,前缀,单目异或^:不同为真,相同为假&&和||支持短路运算,第一个数据能确定整体结果时,第二个数据将不再运算④位运算符:&,|,^,>>,<<&:同1为1,有0为0|:有1为1,同0为0^:不同为1,相同为0&和|既可以位运算也可以逻辑运算且作为逻辑运算时和&&,||结果相同,&,|不支持短路true&&false=falsea>>n a右移n位,等价于a=a/2^na<<n a左移n位,等价于a=a*2^n速度比*和/速度更快⑤赋值运算符:=,+=,-=,*=,/=,%=⑥特殊运算符:(),[],.,instanceof,new,条件运算符 a?b:ca必须是boolean值,如果a是true则返回b否则返回c1.1-5、分隔符:空格,换行,逗号,分号,{}空格,换行没有实际语法含义,只是使代码更加便于阅读shift+ctrl+f代码格式化逗号:1.定义多个变量;2.参数分隔分号:代码的结束{}:块,表示一个整体,一个范围1.1-6数据类型转换:某种类型的数据可以转换成其他类型基本类型之间类型转换是除boolean外其他类型之间的转换①自由类型转换:不需要手动干预,可以自己转换byte->short->int->long->float->doublechar->int->long->float->double不会损失精度,byte,short和char之间没有转换关系,这三者之间会统一转换成int然后再运算;类型不同不能进行任何操作;必须先将类型转换成统一类型后再运算;运算结果的类型就是参与运算的数据类型。
②强制类型转换:需要使用强制转换符强制数据类型转换使用强制类型转换符进行转换double d = 0.9int a = (int)d强制转换时可能会损失精度1.2变量和常量1.2-1变量:可以被改变的量(1)使用原则:先定义后使用使用变量前需赋值(首次赋值叫初始化),注意变量的生命周期(作用域),既变量定义所在块的范围,变量不可以重名。
(2)变量的分类:全局变量:在类体中定义的变量局部变量:在块中定义的变量(3)变量的命名:符合标示符语法,遵循小驼峰原则(4)驼峰原则:首字母大写,如果由多个单词组成则每个单词首字母大写(5)小驼峰:第一个单词首字母小写,其他单词首字母大写1.2.2常量:不可以更改的量(1)字面量常量,6,false,'a'(2)自定义常量,使用final定义常量(3)常量命名规范:全大写,如果由多个单词组成则单词之间用_连接1.3表达式:由操作数和运算符按照运算符的语法结合成的序列称为表达式表达式具有返回值,我们用的都是表达式的返回值如果不符合运算符语法的表达式都是非法表达式,非法表达式会编译错误变量和常量是最简单的表达式1.4流程控制语句:流程控制语句也叫复合语句(1)分支语句①if...elseif(boolean表达式1){分支1}[else if(boolean表达式2){分支2}...else{默认分支}]从上到下依次判断boolean表达式的值,哪个值是true则执行哪个分支体,如果都是false则执行else ,一旦执行了某个分支,则下面的分支将不再判断,else不能单独使用,如果分支体只有一条语句则{}可以省略,省略{}后只有紧跟的第一条语句是分支体语句。
②switch...caseswitch(条件){case v1:分支1;case v2:分支2;...default:默认分支;}switch和case后的条件和值只能是byte,short,int,char,String(从jdk7之后开始支持)类型case后的值不可以重复,某个case和条件匹配成功则默认会依次执行其后所有的分支,可以使用break跳出整个switch,case分支可以不添加{}。
(2)循环语句①whilea、定义条件,用来控制次数b、条件判断,如果条件为true则执行循环体,否则退出循环c、循环体,循环任务d、条件更改int a = 0;//1while(a<10)//2{//3System.out.println("hello world");//4a++;}②forfor(a.条件定义;b.条件判断;d.条件更改){c.循环体} 执行顺序:a,b,c,d,b,c,d,b,c,d....③do...whiledo{循环体}while(条件判断);(3)跳转语句①break跳出switch语句跳出循环,结束整个循环②continue只能用在循环中结束本次循环,继续下次循环③return方法返回和结束方法这是我的学习笔记,第一次用微博发说说,写的不好,请见谅!后面的东西还有,到时候大家一起讨论!。