1、基本框架
 
   import java.oi.*;
 
   import java.util.*
 
   public class Main
 
   {
 
   public static void main(String args[])
 
   {
 
   Scanner cin = new Scanner(System.in));
 
   }
 
   }
 
   2、Java的输入
 
   读一个整数: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(…);
 
   判断是否有下一个输入可以用 cin.hasNext() 或 cin.hasNextInt() 或 cin.hasNextDouble()
 
   3、Java的输出
 
   输出一般可以直接用 System.out.print() 和 System.out.println(),前者不输出换行,而后者输出。
 
   System.out.printf()的使用方法类似于C语言的printf();
 
   4、浮点数输出
 
   import java.text.*;
 
   public class Main
 
   {
 
   public static void main(String[] args)
 
   {
 
   DecimalFormat g = new DecimalFormat("0.00");
 
   double a = 123.45678;
 
   System.out.println(g.format(a));
 
   }
 
   }
 
   //输出为123.46
 
   5、Java的高精度
 
   import java.math.* // 需要引入 java.math 包
 
   BigInteger a = BigInteger.valueOf(100);
 
   BigInteger b = BigInteger.valueOf(50);
 
   BigInteger c = a.add(b) // c = a + b;
 
   //主要有以下方法可以使用:
 
   BigInteger add(BigInteger other)
 
   BigInteger subtract(BigInteger other)
 
   BigInteger multiply(BigInteger other)
 
   BigInteger divide(BigInteger other)
 
   BigInteger mod(BigInteger other)
 
   int compareTo(BigInteger other)
 
   static BigInteger valueOf(long x)
 
   切记:
 
   BigInteger类不可进行+-这样的运算,要调用其成员函数进行运算。
 
   另外BigInteger类不是int 的扩展类型,所以不能把int类型值直接赋值给BigInteger.
 
   BigInteger类型有自己的常量 www.lefeng123.com
 
   BigInteger.zero
 
   BigInteger.one
 
   6、Java的字符串
 
   String 类用来存储字符串,可以用charAt方法来取出其中某一字节,计数从0开始:
 
   String a = "Hello"; // a.charAt(1) = 'e'
 
   用substring方法可得到子串,如上例
 
   System.out.println(a.substring(0, 4)) // output "Hell"
 
   注意第2个参数位置上的字符不包括进来。这样做使得 s.substring(a, b) 总是有 b-a个字符。
 
   字符串连接可以直接用 + 号,如
 
   String a = "Hello";
 
   String b = "world";
 
   System.out.println(a + ", " + b + "!"); // output "Hello, world!"
 
   不可以通过charAt方法改变某一单个字符
 
   7、Java的数组
 
   数组的定义:
 
   int[] a = new int[100];
 
   数组的初始化
 
   Arrays.fill(a,0);
 
   相当于C语言中的 memset(a,0,sizeof(a));
 
   8、一些注意事项
 
   使用Netbeans写Java程序的时候用自动添加package main;交题的时候要去掉这句话。
 
   主类必须命名为 Main
 
   虽然Java功能很强大,但不能完全依赖他,毕竟C/C++还是ACM/ICPC的主流语言。有些题目无论Java怎么写都会超时,可以用Java计算出结果然后用C/C++打表提交。
 
   交题时,你的代码应该是如下框架 www.qcwy123.com
 
   import ……//相当于c++的include
 
   public class Main {
 
   public static……//一些自己定义的函数
 
   public static void main(String[] args) {
 
   Scanner cin = new Scanner(System.in);
 
   }
 
   }
 
   Java的语法与c/c++还是很相似的,所以放心写吧
 
   /*
 
   Java输入加速
 
   用BufferedReader和StringTokenizer代替Scanner
 
   */
 
   import java.io.*;
 
   import java.util.*;
 
   public class Main {
 
   public static void main(String[] args) throws IOException {
 
   Reader Reader =new Reader(System.in);
 
   double x = Reader.nextDouble();
 
   int n = Reader.nextInt();
 
   String str = Reader.next();
 
   }
 
   }
 
   class Reader {
 
   final BufferedReader reader;
 
   StringTokenizer tokenizer;
 
   public Reader(InputStream input) {
 
   reader = new BufferedReader(new InputStreamReader(input));
 
   tokenizer = new StringTokenizer("");
 
   }
 
   public String next() throws IOException {
 
   while (!tokenizer.hasMoreTokens())
 
   tokenizer = new StringTokenizer(reader.readLine());
 
   return tokenizer.nextToken();
 
   }
 
   public int nextInt() throws IOException {
 
   return Integer.parseInt(next());
 
   }
 
   public double nextDouble() throws IOException {
 
   return Double.parseDouble(next());
 
   }
 
   }

Java在ACM中的使用的更多相关文章

  1. Java在ACM中的应用

    Java在ACM中的应用 —. 在java中的基本头文件(java中叫包) import java.io.*; import java.util.*; //输入Scanner import java. ...

  2. java在acm中常用基础技巧方法

    java在acm中常用基础技巧方法 如果学到了新的技巧,本博客会更新~ input input-std @Frosero import java.util.*; public class Main { ...

  3. [原创]浅谈JAVA在ACM中的应用

    由于java里面有一些东西比c/c++方便(尤其是大数据高精度问题,备受广大ACMer欢迎),所以就可以灵活运用这三种来实现编程,下面是我自己在各种大牛那里总结了一些,同时加上自己平时遇到的一些jav ...

  4. Java基础__Java中常用数学类Math那些事

     测试 package Cynical_Gary; public class Cynical_Text { public static void main(String[] args){ System ...

  5. ACM中Java的应用

    先说一下Java对于ACM的一些优点吧: (1) 对于熟悉C/C++的程序员来说Java 并不难学,两周时间基本可以搞定一般的编程,再用些时间了解一下Java库就行了.Java的语法和C++非常类似, ...

  6. 【经验总结】Java在ACM算法竞赛编程中易错点

    一.Java之ACM易错点 1. 类名称必须采用public class Main方式命名 2. 在有些OJ系统上,即便是输出的末尾多了一个“ ”,程序可能会输出错误,所以在我看来好多OJ系统做的是非 ...

  7. ACM中使用 JAVA v2. 1

    ACM中使用JAVA v2.1 严明超 (Blog:mingchaoyan.blogbus.com Email:mingchaoyan@gmail.com) 0.前 言 文前声明:本文只谈java用于 ...

  8. Java中的BigInteger在ACM中的应用

    Java中的BigInteger在ACM中的应用 在ACM中的做题时,常常会遇见一些大数的问题.这是当我们用C或是C++时就会认为比較麻烦.就想有没有现有的现有的能够直接调用的BigInter,那样就 ...

  9. ACM中java的使用

    ACM中java的使用 转载自http://www.cnblogs.com/XBWer/archive/2012/06/24/2560532.html 这里指的java速成,只限于java语法,包括输 ...

随机推荐

  1. [Java] 垃圾回收 ( Garbage Collection ) 的步骤演示

    关于 JVM 垃圾回收机制的基础内容,可参考上一篇博客 垃圾回收机制 ( Garbage Collection ) 简介 上一篇博客,介绍了堆的内存被分为三个部分:年轻代.老年代.永生代.这篇博文将演 ...

  2. 使用 Docker 容器应该避免的 10 个事情

    当你最后投入容器的怀抱,发现它能解决很多问题,而且还具有众多的优点: 第一:它是不可变的 – 操作系统,库版本,配置,文件夹和应用都是一样的.您可以使用通过相同QA测试的镜像,使产品具有相同的表现. ...

  3. eclipse 错误: 找不到或无法加载主类

    在src文件夹上移除Source Folder,再点右键-Build Path-Use as Source Folder,重新进行编译,一切正常了.

  4. Gradle构建Java Web应用(转)

    转自:http://www.blogjava.net/jiangshachina/archive/2014/02/03/409285.html 本文是发布在java.net上的一篇摘自于<Gra ...

  5. 通过jdbc取得数据库表结构信息

    做制作开发平台时,首要的一点是如何取得数据库表结构信息.一般通用的做法就是通过JDBC中的ResultSetMetaData类来进行操作,当你取得了数据库表结构信息后,比如说表的每个字段名称,字段类型 ...

  6. SKPhysicsBody类

    继承自 NSObject 符合 NSCodingNSCopyingNSObject(NSObject) 框架  /System/Library/Frameworks/SpriteKit.framewo ...

  7. C primer plus 读书笔记第五章

    本章的标题是运算符,表达式和语句.主要研究如何处理数据. 示例代码展示了一个使用简单的while循环的代码,难度不大. 下面简单介绍本章的基本概念. 1.基本运算符. 基本运算符有:赋值运算符(C语言 ...

  8. [Angular 2] Dispatching Action with Payloads and type to Reducers

    While action types allow you tell your reducer what action it should take, the payload is the data t ...

  9. 设计模式--迪米特法则(Lod/LKP)

    迪米特法则:(Law of Demeter, LoD),也称最少知识原则(Least Knowledge Principle, LKP) 理解:      假设两个类不必彼此直接通信,那么这两个类就不 ...

  10. make文件中静态连接库在command里面的位置

    linux软件第一次调用动态连接库的时候要延迟几秒,怀疑在突然掉库的时候动态库加载耗费了时间,所以造成延时,遂改为静态库方式,原来的makefile文件是 testmac:         cp $( ...