一.java基本的程序设计结构
1.
java中字符串更像是char*,可共享,内存自动进行垃圾回收。java数组与c++数组在堆栈上有很大不同,但与分配在堆上的数组指针一样。
java中的[]运算符被定义为检查数组边界,且没有指针运算,即不能通过a+1来得到数组的下一个元素。
命名CamelCase,substring(0,3)表示复制0,1,2,equals(),equalsIgnoreCase()
遍历字符串,依次查看每个代码点:int cp=sentence.codePointAt(i); if(Character.isSupplementaryCodePoint(cp))i+=2;else i++
StringBuilder:字符串构造器 ,每次需要添加一部分内容,调用append,然后用builder.append(Str)得到一个string对象。
字符串API:文档
2.
读取输入Scanner in = new Scanner(System.in);String name = in.nextLine()读取下一行/in.next()下一个单词/in.nextInt()下一个数字
java SE6引入console类实现从控制台读取密码:Console console= System.console(); String username = cons.readline("User name:");char[] passwd = cons.readPassword("Password:") 返回密码放在一位数组中,密码使用后立即用一个填充值覆盖数组元素。
formatTo格式转换
带标签的break ,跳转至带标签的语句块末尾;continue将循环转移到最内层循环的首部,带标签的continue可以跳到与标签匹配的循环首部。
3.
大数值:java中没有提供运算符重载功能,使用java.math包中的两个类BigInteger和BigDecimal,如b.add(BigInteger.valueOf(2))
4.
数组:int[] a = new int[100] ,
for(int element : a) ..循环a中每一个元素
一个简单方法打印数组中所有值 Arrays.toString(a)
数组拷贝 copyOf() 排序 sort(a)
命令行参数 String[] args中不存储程序名
4.2
二维数组:arrays.deepToString(a)打印二维数组的数据元素列表 ;
二维数组balances[i][j]中,balances[i]表示引用第i个子数组,即二维表第i行 ,可以交换两行,balances[i]和balances[i+1]
还可以方便的构造一个不规则数组,即每一行长度不同。