变量
int最多10位
float最多小数点后6位
double最多写小数点后16位
package test1;
public class Main{
public static void main(String[] args){
byte a = 127;//表示-128~127 -2^7~2^7-1 (1byte)
short b =32767;// 表示-32768~32767 (2byte)
int c = 2147483647;//表示-2147483648~2147483647 (4byte)
long d =123123123123123L;//结尾加L (8byte)
float e =1.2f; //(4byte)
double f =1.2d;//末尾不加默认双精度 (8byte)
boolean g=true;//false; (1byte)
final char h ='A';//赋常量
// h = 'b';//无法赋值给final变量
//强制类型转化
char x = 'a'; //(2byte)
int y = (int)x;//强制类型转化怎么都可以转
//隐式类型转化
int m = 123;
double n = m;//(隐式转化·只能低精度转到高精度)
//指将字节数小的转化为字节数大的(例如int转double)
}
}
输入的一般写法
package test1;
import java.util.Scanner;//必写
public class Main{
public static void main(String[] args) {
Scanner a = new Scanner(System.in);//必写
// a.next();//读入一个字符串,不包含空格
// a.nextLine();//读入一整行,可以包含空格
// a.nextByte();//读入一个Byte
// a.nextDouble();//读入一个Double
String m = a.nextLine();
System.out.println(m);
}
}
输入的快速写法
package test1;
import java.io.BufferedReader;//必写
import java.io.InputStreamReader;//必写
public class Main{
public static void main(String[] args) throws Exception{//注意抛异常
BufferedReader a = new BufferedReader(new InputStreamReader(System.in));
String m = a.readLine();
int x = a.read();//读入一个字符的ASCLL码
System.out.println(m);
System.out.println(x);
}
}
输出与格式化输出
package test1;
public class Main{
public static void main(String[] args){
System.out.println("Hello World");//自动补回车
//格式化输出
System.out.printf("%.2f\n",3.1415926);//保留两位小数
System.out.printf("%04d",12);//不足四位前面补0
}
}
输出的快速写法
package test1;
import java.io.BufferedWriter;//必写
import java.io.OutputStreamWriter;//必写
public class Main{
public static void main(String[] args) throws Exception{//注意抛异常
BufferedWriter a = new BufferedWriter(new OutputStreamWriter(System.out));
a.write("Hello World");
a.flush();//手动刷新缓存
}
}
BufferedWriter读入整型
package test1;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
public class Main{
public static void main(String[] args) throws Exception{
BufferedReader a = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter b = new BufferedWriter(new OutputStreamWriter(System.out));
int x = Integer.parseInt(a.readLine());//用BufferedWriter 读入整型(字符串转整型)
// b.write(x);
// b.flush();//这样读出错误,为什么?
System.out.println(x);
}
}
如何用BufferedReader读入多个整数
package test1;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main{
public static void main(String[] args) throws Exception{
BufferedReader a = new BufferedReader(new InputStreamReader(System.in));
//读入多个整数
String[] strs = a.readLine().split(" ");//用空格隔开的 分到数组中
int x = Integer.parseInt(strs[0]);//将字符串转化为整数
int y = Integer.parseInt(strs[1]);
System.out.println(x);
System.out.println(y);
}
}