java基础 day02
- String 类中的常见方法:
①char charAT(int index) 返回指定位置的字符
②int compareto(String other) 如果字符串按照字典顺序在other的前面,返回负数,如果在other的后面则返回正数,相等则返回0;
③boolean endsWith(String suffix) 如果字符串是以suffix结尾的则返回true,否则返回false。
④boolean equals(String other) 如果字符串和other相同则返回true。否则返回false。
⑤boolean equalsIgnoreCase(String other)如果忽略大小写字符串与other相等则返回true,否则返回false。
⑥int indexOf (String str) ;int indexOf(String str,int fromIndex);返回从索引0或者fromIndex开始的与子串str相匹配的第一个字串出现的开始位置。
7、int lastIndexOf(String str); int lastIndexOf(String str,int fromIndex);返回从索引0或者fromIndex开始的与str相匹配的最后一个子串出现的开始位置。
⑧int length();返回字符串的长度。
⑨String replace(char oldChar,char newChar);返回字符串用字符newChar替换oldChar后的字符串。
10、boolean startsWith(String prefix);如果字符串以prefix开头则返回true,否则返回false。
11、String subString(int beginIndex); String subString(int beginIndex,int endIndex);返回源字符串中从beginIndex开始直到串的末尾或者直到endIndex(不包括此位置)之间的所有字符组成的新字符串。
12、String toLowerCase();将源字符串所有的大写字母转化成小写,返回转换后的串。
13、String toUpperCase();将源字符串所有的小写字母转换成大写,返回转换后的串。
14、String trim();将源字符串中开始和结尾所有的空格全部去掉,返回得到的新串。
- 控制台的输入输出: JOptionPane.showInputDialog()返回为String类型,有时候可能需要将String类型利用Integer.parseInt()/Double.parseDouble()转换成数字类型。
- 不管程序什么时候调用了JOptionPane.showInputDialog,都必须以System.exit(0)结束。
- JOptionPane类实在javax.swing包中定义的,只要使用了非java.lang 包中定义的类都要使用import指示字。 Import javax.swing.JOptionPane
- 格式化输出:使用NumberFormat.getNumberInstance()、NumberFormat.getCurrencyInstance()、NumberFormat.getPercentInstance()可获得默认地区的格式化器; 每个方法都返回一个NumberFormat类型的对象,然后对NumberFormat对象应用format方法已得到含格式坏数字的字符串。
如:
package day01;
import java.text.NumberFormat;
public class SetCout {
public static void main(String [] agrs)
{
double x=10000.0/3.0;
NumberFormat formatter= NumberFormat.getPercentInstance();
String s=formatter.format(x);
System.out.println(s);
}
}
- 设定小数或整数部分显示的最少或最多位数,可以使用NumberFormat类中的setMinimumIntegerDigits、setMaximumIntegerDigits、setMinimumFractionDigits、setMaximumFractionDigits方法。
package day01;
import java.text.NumberFormat;
public class SetCout {
public static void main(String [] agrs)
{
double x=10000.0/3.0;
NumberFormat formatter= NumberFormat.getPercentInstance();
formatter.setMaximumFractionDigits(4);
formatter.setMinimumIntegerDigits(6);
String s=formatter.format(x);
System.out.println(s);
}
}
- java中控制流程结构和C++只有两处不同,java中没有goto语句,但是有一个标签化版本的break,用于从嵌套循环中退出。(在C中可能用goto语句来实现这个功能)。
- 在java中不能再嵌套的语句块中声明同名字的变量,这与C++有所区别,在C++中,可以再嵌套的语句块中重定义变量,变量的内部定义会覆盖变量的外部定义。
- 加标签的break: 替代goto语句,用于跳出多重循环。
lable:
while(…)
{
for(….)
{
…………….
if (…) break label;
}
}
- 使用java.math中的BigInteger和BigDecimal可操作任意长度的数字。然而大数字的运算也需要使用相应的大数字类中的add、multiply等方法。
- java中的数组和C++的数组有明显的区别,java中数组的声明定义: int [] a; 数组名为一个引用,
创建数组: int [] a=new int[100]; 可以使用a.length来获得数组的元素个数。
数组的初始化: int [] smallPrimes={2,3,4,5,,6}; 深知可以创建匿名数组: new int []{1,,4,5,67,8,9};
java中数组可以直接由一个数组赋值给另一个数组。Int [] anonymous={12,3,45,6,78}; smallPrimes=anonymous;
数组的拷贝需要使用System类中的arraycopy方法”System.arraycopy(from,fromIndex,to,toIndex,count)
- Java 数组与C++数组在堆栈上很不相同,它在本质上相当于指向C++分配在堆栈中的数组的指针:int [] a=new int [100]; 并不等价于int a[100];而是相当于int *a=new int [100];
- Static void sort(Xxx[] a) 类型为int、long、short、char、byte、boolean、float或者double的数组使用优化的快速排序算法对数组排序。
- Static int binarySearch(Xxx[] a,Xxx b) 利用二分查找算法查找b。如果找到返回其下标值,否则,返回负值r。-r-1为要保持有序数组时应该插入V的位置。
- Static void fill(Xxx[] a,Xxx v) 将数组所有的元素都负值为V。
- Static boolean equals(Xxx[] a,Object other) 如果other是与a类型和长度均相同的数组,而且对应下表所指向的元素也相等,返回true,否则返回false。