1、Java的文法和C++幾乎相同 2、Java在執行計算密集任務的時候并不比C/C++慢多少,隻是IO操作較慢而已 3、Java簡單而功能強大,有些東西用Java實作起來更為友善 a、比如輸入輸出 b、字元串解析 c、高精度 4、Java不易犯細微的錯誤 5、C/C++中的指針 6、“if (n = m) ... ” 7、Java與Eclipse
import java.util.*; //需要導入的包
public class Main{//main方法
publicstatic void main (String[] args) {
method1();
Scanner cin = new Scanner(System.in);
method2(cin.nextInt());
…
}
staticvoid method1(){//方法
}
staticint method2(int a){//方法
}
…
}
1、JavaI/O a、JDK1.5.0新增的Scanner類很适合用于AMC/ICPC的輸入 吧、使用Scanner類的一般步驟 F1.導入Scanner類
importjava.util.Scanner;
F2.建立Scanner類的對象
Scannercin=new Scanner(System.in); //從标準輸入讀入資料
Scannercin=new Scanner(“12 30”)); //從字元串讀入資料
F3.使用Scanner類的對象讀入各種類型的資料
cin.nextInt()
cin.nextDouble();
Scanner類的用法
1、讀入資料
int n = cin.nextInt(); scanf("%d",&n); cin>>n;
String s = cin.next(); scanf("%s",s); cin>>s;
double t = cin.nextDouble scanf("%lf",&t); cin>>t;
String s = cin.nextLine(); gets(s); cin.getline();
BigDecimal b = cin.nextBigDecimal();
2、判斷是否還有資料
cin.hasNext()或cin.hasNextInt()或cin.hasNextDouble();
Scanner類的用法
//TOJ-1001
importjava.util.*;
publicclass Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
char ch=(char)sc.nextInt();
System.out.print(ch);
}
}
}
1、輸出 a、用DecimalFormat類控制浮點數小數位數 b、import java.text. DecimalFormat; c、控制方法 2、構造特定的DecimalFormat對象
DecimalFormatf=new DecimalFormat(“#.00#”);
構造函數中的參數是模式字元串,0指一位數字,#指除0以外的數字
n使用DecimaFormat對象格式化需要輸出的浮點數
System.out.println(f.format(12.1234));
舉例
importjava.text.*;
publicclass decimalformat{
public static void main(String[] args){
DecimalFormat f = newDecimalFormat("#.00#");
DecimalFormat g = newDecimalFormat("0.000");
double a = 123.4509, b = 0.12;
System.out.println(f.format(a));//123.451
System.out.println(g.format(a));//123.451
System.out.println(f.format(b));//.12
System.out.println(g.format(b));//0.120
}
}
1、格式化輸出的另一種方法是利用System.out.printf(“格式字元串”,…),其用法和c的printf基本一緻
inta=10;
floatb=2.35f;
System.out.printf("%d%10.5f\n", a, b);
2、字元串(String) a、String類常用方法 b、構造字元串 1》String s=“abcde”; 2》char[] chs={‘a’,’b’,’c’,’d’,’e’};
Strings=new String(chs);
c、取得字元串中某個字元 1》char ch=s.charAt(1); //ch=‘b’; 3求子串 a、System.out.println(s.substring(0,3)) // output “abc" b、System.out.println(s.substring(1,3)) // output “bc" c、System.out.println(s.substring(1))// output “bcde"
1、String類常用方法 a、拆分字元串
Strings=“123:34:55”;
String[]ss = s.split(“:”);
for(inti=0;i<ss.length;i++) System.out.println(ss[i]);
b、替換字元串
Strings=“2009-07-26”;
System.out.println(s.replace(‘-’,’//’) ); //輸出2009/07/26
Strings=“0.123456”;
System.out.println(s.replaceAll(“^0”,””) ); //輸出.123456
BigDecimal類常用方法 BigDecimaladd(BigDecimal augend) “+” BigDecimalsubtract(BigDecimal subtrahend) “-” BigDecimalmultiply(BigDecimal multiplicand) “*” BigDecimaldivide(BigDecimal divisor) “/” BigDecimalremainder(BigDecimal divisor) “%” BigDecimalpow(int n) “求幂” StringtoPlainString() 傳回不帶指數的字元串表示 StringtoString() 傳回帶指數的字元串表示