JAVA 变量、运算符、表达式、输入与输出
基础语法
类型 | 字节数 | 举例 |
---|---|---|
byte | 1 | 123 |
short | 2 | 12345 |
int (2*109) | 4 | 123456789 |
long (9*1018) | 8 | 1234567891011L |
float | 4 | 1.2F |
double(遇到float的一般都写double) | 8 | 1.2, 1.2D |
boolean(和c++ python写法不同) | 1 | true, false |
char | 2 | ‘A’ |
常量(相当于c++ const)
```
final int N = 110;
```
类型转化:(区别于c++ 和 python)
-
显示转化:
int x = (int)'A';
-
隐式转化:
double x = 12, y = 4 * 3.3;
输入
方式1,效率较低,输入规模较小时使用。
import java.util.Scanner; public class Main { //第一个Main,M大写且不带括号() public static void main(String[] args){ Scanner sc = new Scanner(System.in); String str = sc.next(); // 读入下一个字符串 int x = sc.nextInt(); // 读入下一个整数 float y = sc.nextFloat(); // 读入下一个单精度浮点数 double z = sc.nextDouble(); // 读入下一个双精度浮点数 String line = sc.nextLine(); // 读入下一行 } }
方式2,效率较高,输入规模较大时使用。注意需要抛异常。
import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); System.out.println(str); } }
输出
方式1,效率较低,输出规模较小时使用。
public class Main { public static void main(String[] args){ System.out.println(123); // 输出整数 + 换行 System.out.println("Hello World"); // 输出字符串 + 换行 System.out.print(123); // 输出整数 System.out.print("yxc\n"); // 输出字符串 System.out.printf("%04d %.2f\n", 4, 123.456D); // 格式化输出,float与double都用%f输出,用法和c++一样 //java printf 中,int和long 输出都是%d; } }
方式2,效率较高,输出规模较大时使用。注意需要抛异常。
import java.io.BufferedWriter; import java.io.OutputStreamWriter; public class Main { public static void main(String[] args) throws Exception { BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); bw.write("Hello World\n"); bw.flush(); // 需要手动刷新缓冲区 } }
Scanner API
hasNext()
或hasNextInt()
等,可用于while
循环判断是否还有下一个输入。