java特性:简单性,面向对象oop,分布式,健壮性,安全性,动态,高性能,解释型,可移植
关于java常见误解,java不是html的扩张,java是一种程序设计语言,xml是描述数据的方式,java不容易学习,JavaScript与java是两种语言
基本数据类型,int,double,boolean,float,byte,char,注意它们不是类,知识基本数据类型,String是类。每个基本类型都有对应的对象包装器如int–Integer
基本数据类型默认值。数值-0,boolean-false。
在声明一个变量后要对其赋默认初值,这是一个好习惯,千万不要使用未初始化的变量。除了全局变量,声明变量的地方应该尽量靠近第一次使用的地方。
关键字final声明常量,类似c++的define。这个变量一旦赋值无法更改,常量名一般全大写。
常见math类的静态方法。Math.sqrt(数字);平方根,Math.pow(x,a);x的a次幂。Math.PI。静态方法:类名.方法名()。动态:类变量.方法名()。
小—大,直接用。大—小,强制转换。但是注意,试图将一个数值强制转化为另一个类型,但又超出目标类型,其值不可预测。如byte(300)=44;
字符串拼接原创 “”+数据=String。.toString();。最好在每个类中都重写Object类中的toSting方法。 空串”” :有对象,但长度为0,内容为空。Null串,无对象。 charAt(n):n~~0----S.length()-1之间,取字符。 toLowerCase(),toUpperCase()大小写转换。 其中println()的机制就是使用祖先类的toString()方法转换为字符串打印
自增自减运算符 ++ – 前缀后缀都可使变量加1或减1。但用在表达式中不一样。前缀是先加1再计算。后缀是先计算再加1。
标准输入流Scanner 用法:Scanner in = new Scacnner(System.in);调用终端输入方法。 nextLine()读取一行,回车结束。next()空格结束。nextInt()读取整数。nextDouble() 读取单个字符char,先输入一个字符串对象,然后用charAt()取第一个字符。
有一种带标签的brake语句,一般用于跳出多重循环,直接跳到语句块的末尾。如read_break: {多重循环;break read_break;}直接跳到标签之外。continue重新开始循环,while循环直接重新开始,for循环跳到控制变量变化的地方。
大数类,BigInteger BigDecimal 无法直接使用加减乘除运算符。BigInteger a=BigInteger.value(大数整数);。BigInteger add(BigInteger other);加。substract() 减 。multiply乘 。divide 除。mod 取模。compareTo 比较大小。相等返回0 大于返回正数,小于返回负数。
数组需要注意的地方。Java数组不同与c++可用赋值变量作为定义数组长度,而c不行。数组中常用的方法。 获得数组长度array.length。注意这是个实力域,不是方法。 String toString(type[] a) 静态方法Arrays.sort(数组);快速排序。由小到大。 Math.random返回一个0—1之间的随机数。 static void binarySearch(thye[] a,int start ,int end, type v);采用二分法查找v。 static void fill(type[] a , type v);将数组所有元素用v填充。 static boolean equals (type[] a,type[] b);比较两个数组是否相等。 多维数组可以看作数组的数组。
命令行参数,主函数中都有一个String args[]。这个参数表明main方法将接收一个字符串数组,也就是命令行参数。`
public class Test { public static void main(String args[]){ if(args.length == 0 || args[0].equals("-h")) System.out.println("Hello,"); else if(args[0].equals("-g")) System.out.println("Goodbye,"); for(int i=1; i<args.length; i++) System.out.print(args[i]); } }如果使用下面这种形式运行这个程序:java Test -g cruel world 那么将输出Goodbye,cruel world。args.length = 3; args[0] = -g; args[1] = cruel。主要用于在命令行将参数传递给这个程序。
java随机数机制,Math.random(),这个方法将返回一个0到1之间的包含0不包含1的随机浮点数。用乘n的方法就可以得到0到n-1之间的随机数了。如int r = (int )(Math.random()*n);
String API java.lang.string 1.0 |char charAt(int index)|返回index的字符 | |int compareTo(String other)|按字典顺序比较两个字符串,之前返回负数,之后返回整数,相等返回0| | boolean equals(String other) | 两字符串相等返回true | |boolean endsWith(String suffix)|如果字符串以suffix结尾返回true,对应有stratsWith(String suffix) | |int length()|返回字符串长度| | String toLowerCase() |返回一个新字符串,全部小写。toUpperCase()全部大写 |
Arrays API java.util.Arrays常用方法 | String toString(type[] a)|将a转化为字符串 | |static void sort(type[] a)|快速排序| |static int binarySearch(type a[], int start, int end, type v) |采用二分法查找v,成功返回下标,否则返回负数 | |static void fill(type[] a, type v)|将数组所有元素设置为v | | boolean equals(type a[], type b[])|如果两个数组下标相同,且对应下标元素相等,则返回true|