1、基本定义

import java.util.*;
import java.io.*;
public class Main
{
public static void main(String[] args)
{
Scanner cin1 = new Scanner(System.in);
Scanner cin2 = new Scanner(new BufferedInputStream(System.in));
}
}

使用cin2进行输入的时候可能会比cin1快一些。

2、输入具体数据

  • (1)输入一个整数:int n = cin.nextInt();

  • (2)输入一个字符串:String s = cin.next();

  • (3)输入一个浮点数:double f = cin.nextDouble();

  • (4)读入一整行:String s = cin.nextLine();

判断是否有下一个输入,可以用cin.hasNext()或cin.hasNextInt()或cin.hasNextDouble()等进行判断。

3、基本输出

  • (1)System.out.print(); //类似于cout<<…….;

  • (2)System.out.println(); //类似于cout<<……<<endl;

  • (3)System.out.printf(); //类似于C中printf的功能

样例:

import java.io.*;
import java.math.*;
import java.util.*;
import java.text.*; public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(new BufferedInputStream(System.in));
int a;
double b;
a = 12345;
b = 1.234567;
System.out.println(a + " " + b);
System.out.printf("%d %10.5f\n", a, b);
// 输入b为字宽为10,右对齐,保留小数点后5位,四舍五入.
}
}

输出结果:

12345 1.234567

12345 1.23457

4、要求具体精度的输出

  • (1)可以使用上面介绍的System.out.printf();

  • (2)对于输出浮点数要保留几位小数的问题,可以使用DecimalFormat类解决

import java.util.*;
import java.text.*; public class Main {
public static void main(String[] args) {
DecimalFormat f = new DecimalFormat("#.00#");
DecimalFormat g = new DecimalFormat("0.000");
// 这里的0指一位数字,#指除0以外的数字
double a = 123.456789, b = 0.123456;
System.out.println(f.format(a));
System.out.println(f.format(b));
System.out.println(g.format(a));
System.out.println(g.format(b));
}
}

输出结果:

123.457

.123

123.457

0.123

5、字符串的处理

  • (1)String

Java中字符串String是不可以修改的,要修改只能转换为字符数组。

String st = "abcdefg";

char[] ch;

ch = st.toCharArray(); // 字符串转换为字符数组.

6、高精度问题

7、大数问题

Java中有两个类BigDecimal(表示浮点数)和BigInteger(表示整数)

使用这两个类的时候需要加上import java.math.*;

  • Ⅰ基本函数:

    (1)valueOf(parament); 将参数转换为指定类型

例如:

int a = 3;

BigInteger b = BigInteger.valueOf(a);

即b = 3

String s = “1234”;

BigInteger b = BigInteger.valueOf(s);

即b = 1234

(2)add(); //大数加法

例如:

BigInteger a = new BigInteger(“11”);

BigInteger b = new BigInteger(“22”);

a.add(b);

即a = 33

(3)substract(); //减法

(4)multiply(); //乘法

(5)divided(); //相除取整

(6)remainder(); //取余

(7)pow(); //a.pow(b) = a ^ b

(8)gcd(); //最大公约数

(9)abs(); //绝对值

(10)negate(); //取反数

(11)mod(); //a.mod(b) = a % b = a.remainder(b)

(12)max(); min();

(13)public int compareTo(); //比较

(14)boolean equals(); //比较是否相等

(15)BigIntergerde 构造函数

一般用到以下两种:

BigInteger(String val);

将指定字符串转换为十进制表示形式;

BigInteger(String val,int radix);

将指定基数的 BigInteger 的字符串表示形式转换为 BigInteger

例如:

BigInteger b = new BigInteger(“1010”,2);

System.out.println(b);

输出:10

  • Ⅱ.基本常量:

A=BigInteger.ONE //=1

B=BigInteger.TEN //=10

C=BigInteger.ZERO //=0

  • Ⅲ.基本操作

    1. 读入:
while(cin.hasNext()) //等同于!=EOF
{
int n;
BigInteger m;
n=cin.nextInt(); //读入一个int;
m=cin.BigInteger();//读入一个BigInteger;
System.out.print(m.toString());
System.out.print(m);
}
  • Ⅳ.运用

    四则预算:
import java.util.Scanner;
import java.math.*;
import java.text.*; public class Main {
public static void main(String args[]) {
Scanner cin = new Scanner(System.in);
BigInteger a, b;
int c;
char op;
String s;
while (cin.hasNext()) {
a = cin.nextBigInteger();
s = cin.next();
op = s.charAt(0);
if (op == '+') {
b = cin.nextBigInteger();
System.out.println(a.add(b));
} else if (op == '-') {
b = cin.nextBigInteger();
System.out.println(a.subtract(b));
} else if (op == '*') {
b = cin.nextBigInteger();
System.out.println(a.multiply(b));
} else {
BigDecimal a1, b1, eps;
// 浮点数
String s1, s2, temp;
s1 = a.toString();
a1 = new BigDecimal(s1);
b = cin.nextBigInteger();
s2 = b.toString();
b1 = new BigDecimal(s2);
c = cin.nextInt();
// 接收精度控制,即保留几位小数的问题
eps = a1.divide(b1, c, 4);
if (c != 0) {
temp = "0.";
for (int i = 0; i < c; i++)
temp += "0";
DecimalFormat gd = new DecimalFormat(temp);
System.out.println(gd.format(eps));
} else
System.out.println(eps);
}
}
}
}

ACMer需要的 java基本知识的更多相关文章

  1. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  2. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  3. Java基础知识系列——String

    最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...

  4. 学习Spring必学的Java基础知识

    [1] Java反射知识-->Spring IoC :http://www.iteye.com/topic/1123081 [2] Java动态代理-->Spring AOP :http: ...

  5. 学习android学习必备的java基础知识--四大内部类

    学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...

  6. JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)

    本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...

  7. java基础知识梳理

    java基础知识梳理 1 基本数据类型

  8. java基础知识回顾之---java String final类普通方法

    辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      ...

  9. java基础理论知识的一些总结

    在学习Java初期,由于我们是刚开始接触Java,我们不仅需要牢牢掌握Java的基础理论知识,来为我们后面对Java更深层次的学习打好基础,而且我们需要养成编程人的思想习惯.来我们一起来探索Java基 ...

随机推荐

  1. FDMemTable的详细使用方法

    unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Var ...

  2. CentOS 7下安装Logstash ELK Stack 日志管理系统(上)

    介绍 The Elastic Stack - 它不是一个软件,而是Elasticsearch,Logstash,Kibana 开源软件的集合,对外是作为一个日志管理系统的开源方案.它可以从任何来源,任 ...

  3. [Rust] Setup Rust for WebAssembly

    In order to setup a project we need to install the nightly build of Rust and add the WebAssembly tar ...

  4. POJ 2545+2591+2247+1338简单水题

    [题意简述]:就是有这种一个序列.就拿当p1 = 2,p2 = 3, p3 = 5,来举例.由这三个数为基准组成的序列是: 2,3,4,5,6,8,9,10,12--如今给你这个序列数组的下标,让你求 ...

  5. Android Client and PHP Server

    1 FEApplication https://github.com/eltld/FEApplication https://github.com/eltld/FE-web https://githu ...

  6. ReLu(修正线性单元)、sigmoid和tahh的比较

    不多说,直接上干货! 最近,在看论文,提及到这个修正线性单元(Rectified linear unit,ReLU). Deep Sparse Rectifier Neural Networks Re ...

  7. IIS+Asp.Net Mvc必须知道的事(解决启动/重启/自动回收站点后第一次访问慢问题)

    问题现象: Asp.net Mvc站点部署在IIS上后,第一个用户第一次访问站点,都会比较慢,确切的说是访问站点的Action页面(即非静态页面,因为静态页面直接由IIS处理返回给用户即完成请求,而A ...

  8. 【iOS系列】-xib封装使用

    [iOS系列]-xib封装使用 Xib文件可以用来描述某一块局部的UI界面 Xib文件的加载 修改xib文件的大小size(Freeform) 第一: NSArray *objs = [[NSBund ...

  9. 2016/2/25 1、<表单验证<form></form> 2、正则表达式 3、事件

    1.<表单验证<form></form> (1).非空验证(去空格) (2).对比验证(跟一个值对比) (3).范围验证(根据一个范围进行判断) (4).固定格式验证:电 ...

  10. mysql数据库存放路径

    在你的my.ini 文件中定义的参数 datadir 指定的目录中. SQL code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 mysql> select @@da ...