java的基本编程结构1.数据类型1.1整数类型Java的整数类型包括四种类型,即intshortlongbyte。取值范围如下图所示。在这里,小编建了一个前端学习交流按钮群:132667127,自己整理的最新前端资料和进阶开发教程。如果愿意,可以进群一起学习交流。1.2浮点类型java中一共提供了两种浮点数据类型,即floatdouble数据类型。具体的内存占用和取值范围如下图所示。1.3Unicode和char类型char类型最初是用来表示单个字符的,但是在Unicode出现后,一些Unicode字符可以用一个char值来表示,而另一些Unicode字符则需要用两个char值来表示。1.4布尔类型布尔类型有两个值,即false和true。另外,整数值和布尔值不能互相转换。2.变量2.1变量初始化变量声明后,在使用前必须进行初始化,否则会编译失败。intvacatonDays;System.out.println(vacatonDays);//错误--变量未初始化其次,变量在java中的任何地方都可以声明,使用过程中尽量声明变量接近第一次使用2.2java中的常量中,关键字final用于表示关键字,声明后不可更改。通常用大写字母表示常量。除了声明常量,还可以声明类常量,表示该常量可以在类的很多方法中使用。通常使用staticfinal来声明一个类常量。3字符串3.1可以从较大的字符串中提取子串,如下所示:Stringgreeting="hello";Strings=greeting.substring(0,3);通过上面的方法创建一个由“hel”组成的字符串子字符串3.2拼接在java中,允许用+号添加两个字符串,如下:Stringa=hello;Stringb=everyone;Stringc=a+b;上面代码c的结果是helloeveryone。另外,当一个字符串被添加到一个非字符串中时,非字符串将被转换为字符串,如下intage=26;Stringstr="myageis";Stringme=str+age;那么上面变量me的结果就是我的年龄是263.3不可变字符串在java中,String字符串对象被称为不可变字符串,不能修改字符串对象。比如字符串“hello”总是这五个字母组成的,你不能修改其中的任何一个字符,但是你可以修改字符串变量。如果想把字符串变量Stringgreeting="hello"的最后一个字符转换成p!,可以通过greeting=greeting.substring(0,3)+"p!",这样就先提取出某个字符串,然后添加。3.4检测字符串是否相等可以用equals方法检测。具体检测方法为s.equals.(t)。当两个字符串相等时返回true,不相等时返回false。上面的s和t既可以是字符串变量,也可以是字符串字面量,比如"hello".equals(greeting)是一种合法的检测方式。忽略字符串字符大小写检查字符串是否相等时,使用equalsIgnoreCase检测,如"Hello".equalsIgnoreCase("hello")3.5空字符串和Null字符串""是长度为0的字符串。检测空字符串的方法如下。if(str.length()==0)orif(str.equals(""))4输入输出4.1读取输入当需要在控制台输入数据时,首先要构造一个Scanner对象,并与“标准输入流”System.in是关联的,具体方式是:Scannerin=newScanner(System.in),然后该对象就可以用于下面的输入。下面的方法Stringname=in.nextline();//输入一个可以包含空格的字符串Stringfirstname=in.next();//输入一个不包含空格的字符串,比如一个单词intage=in。nextInt();//输入一个整数doublepoint=in.nextDoule();//输入一个浮点数4.2格式化输出除了常见的System.out.println("hello")输出方式外,还有格式化输出一些值。例如变量doublex=12345.234,System.out.printf("%8.2f",x),表示输出8个字符和小数点后两个字符的结果。因此,对应的输出结果为12345.23,也可以输出多个参数,如下所示另外,还可以在输出的同时加上各种输出标志,比如逗号标志,代表分组分隔符,可以在输出时用逗号分隔长数字。如System.out.printf("%,.2f",3333.333333);上面的输出结果是3,333.33另外,数据的格式化输出还有很多标志位,如下图所示。您可以使用String类中的静态方法String.format()方法来创建不用于输出的格式化字符串。如下图Stringmessage=String.format("hello,%s.Nextyear,you'llbe%d",nameage)4.3文件输入输出读取文件时,需要使用File对象构造一个Scanner对象,然后读取它,如下图Scannerin=newScanner(Paths.get("myfile.txt"),"UTF-8");//如果文件路径包含反斜杠符号,使用上面的方法有时您需要在每个反斜杠前添加一个额外的反斜杠,例如"C:\\myDictronary\\myFile.txt"Stringfile=in.nextline();写入文件时,需要构造一个PrintWriter对象,在构造函数中提供文件名(如果文件不存在,则创建文件),如下所示PrintWriterout=newPrintWriter("myFile.txt","UTF-8")5array数组声明:int[]a,这一步只声明了一个数组变量a,并没有真正创建数组。创建数组需要new操作符来创建,比如int[]a=newint[100],其次数组的长度不要求是常量。比如newint[number]也可以创建一个数组,获取数组元素的个数。具体实现方法如array.length5.1。foreach循环可以遍历java中的foreach循环。:collection)语句,例子如下:for(intelement:array)System.out.println(element);5.2数组初始化和匿名数组初始化Array1:int[]smallPrimes={1,2,3,4,5};初始化数组2:smallPrimes=newint[]{1,3,5,7,9}5.3数组复制java中第一种复制方法是直接将一个数组变量复制到另一个数组变量中,这种方法会使两个变量使用一个数组,对任何一个的操作都会影响另一个。如下图int[]bigPrimes=smallPrimes;bigPrimes[1]=99;这样会让samllPrimes[1]的值等于99,其实相当于浅拷贝把一个数组的元素值复制到另一个数组,并且操作起来如果互不影响,可以使用copyOf()Array类的方法。具体实现方法如下:int[]copied=Array.copyOf(smallPrimes,smallPrimes.length);该方法中第二个参数为新数组的元素个数,当元素个数大于复制的数组元素个数时,给出剩余元素(整数元素为0,布尔元素为false);反之,当元素个数小于复制的数组元素个数时,只复制第一个数组元素5.4多维数组多维数组的声明,如double[][]数组;初始化,例如array=newdouble[rows][cols];另外,也可以这样初始化:int[][]array={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}}多维数组元素访问,如下图for(double[]row:array)for(intb:row)System.out.println(b);
