1.变量、运算符、输入输出
跟C一样,先把必须写的框架写出来:
package org.example;
public class Main{public static void main(String[] args){//在里面写实际的代码}
}
变量
必须先定义,才能使用。与C、C++差不多。
没有赋初值的变量无法去输出。跟C语言还是有一点区别。
内置类型:
常量用final
关键字修饰,类似于C++里面的const
:
final int a = 110;
//修饰后无法修改,报错:a = 11;
类型转化也差不太多:
- 显式转化
int a = (int)'a';
- 隐式转化
double x = 12, y = 4 * 3.3; //4:int->double
运算符
跟C完全一样。无需赘述。
举例为整型变量的自增,++i
和i++
跟C++完全一样。
package org.example;
public class Main{public static void main(String[] args){int a = 1;int b = a ++;System.out.println(a + " + " + b); //输出:2 + 1int c = ++ a;System.out.println(a + " + " + c); //输出:3 + 3}
}
输入
方式1:Scanner
效率较低,数据规模较小时可以使用。
package org.example;
import java.util.Scanner; //引入头文件
public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in); //使用ScannerString str = sc.next(); //读入字符串:遇到空白字符(空白回车制表符)就会结束int x = sc.nextInt(); //读入整数float y = sc.nextFloat(); //读入单精度浮点数double z = sc.nextDouble(); //读入双精度浮点数String line = sc.nextLine(); //读入一行System.out.println(str);}
}
方式2:BufferedReader
效率较高,规模较大时采用,注意:需要抛异常。
对异常的详细使用方法见9.
package org.example;
//头文件
import java.io.BufferedReader;
import java.io.InputStreamReader;//注意抛异常
public class Main{public static void main(String[] args) throws Exception{//使用方式BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));String str = bf.readLine(); //只有这一种操作,也即是读取一行System.out.println(str);}
}
读入的是一个字符串,如果读取一行中的多个整数,需要:按照空格分割、字符串转化为int
,举例:
package org.example;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main{public static void main(String[] args) throws Exception{BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));String strs[] = bf.readLine().split(" ") ;//分割为若干个字符int x = Integer.parseInt(strs[0]); //转化为intint y = Integer.parseInt(strs[1]);//输入:3 4System.out.println(x + ", " + y);//输出:3 , 4}
}
输出
方式1:System.out
效率较低,输出规模较小时使用。
//第一种:输出不带回车
System.out.print("hello ");
System.out.print("world ");
//第二种:输出带回车
System.out.println("hello world");
//第三种:跟C中的printf一样
//%04d是不足4位补0,%4d是占4位(不足的用空格补),%-4d是在后面补齐4位
System.out.printf("%04d, %.2f", 4, 123.4);
方式2:BufferedWriter
效率较高,在规模较大时使用,注意:需要抛出异常。
package org.example;
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 sky");bw.flush(); //需要刷新缓冲区才会有显示}
}