# 开发命令行程序
# 1. 输入输出
输入:
- 由使用者告诉程序要操作的数据
System.in
/new Scanner(System.in)
输出:
- 由程序向使用者展现执行的结果
System.out
示例:
# System.in 不是很方便
jshell> System.in.read()
a
$5 ==> 97
jshell> var scanner = new Scanner(System.in)
scanner ==> java.util.Scanner[...]
jshell> var in = scanner.nextLine()
abc
in ==> "abc"
jshell> in
in ==> "abc"
jshell> System.out.println(in)
abc
# 2. 字符运算
字符值:
有且仅有一个字符,单引号界定
如:
'a' '中'
字符串值:
可以有N个字符,双引号界定
如:
"abc" "abc" + "de"; //=> "abcde"
文本块值:
多行文本,三个双引号界定
如:
""" abc 123 """
转义字符:
特殊含义,以
\
打头如:
jshell> System.out.println('\'') ' jshell> System.out.println("\"") " jshell> System.out.println("\\") \ jshell> System.out.println("12\n34") 12 34 jshell> System.out.println("12\b34") // 退格 134 jshell> System.out.println("12\r34") // 回车,从头开始 34 jshell> System.out.println("12\t34") 12 34
# 3. 数学运算
类型:
数字类型:
定义变量:
例:
int num = 10; // num ==> 10 double salary = 12000.00 // salary ==> 12000.0 char ch = 'a'; // ch ==> 'a' String name = "张三"; // name ==> "张三" var scanner = new Scanner(System.in); String in = scanner.nextLine(); // abc // in ==> "abc" int in2 = scanner.nextInt(); // 123 // in2 ==> 123
运算符:
例:
1 + 1; //==> 2 2 - 1; //==> 1 2 * 2; //==> 4 5 / 3; //==> 1 5.0 / 3; //==> 1.6666666666666667 5 / 0; //| 异常错误 java.lang.ArithmeticException:/ by zero //| at (#14:1) 5.0 / 0; //==> Infinity 5 % 3; //==> 2
数字的货币格式化:
java.text.NumberFormat.getCurrencyInstance(Locale.US)
.format(123456789.123456789);
//==> "$123,456,789.12"
# 4. 条件语句
示例:
if (score >= 90) {
// A
} else if (score >= 80) {
// B
} else if (score >= 60) {
// C
} else {
// D
}
逻辑运算符:
优化:
// 一个入口,一个出口
if (c) {
// 分支 1
} else {
// 分支 2
}
//==> 一个入口,多个出口
if (!c) {
// 分支 2
return;
}
// 分支 1
# 5. 循环语句
语法:
for (初始化变量 (1); 终止条件 (2); 更新变量 (3)) {
// 循环体 (4)
}
顺序:
1 -> 2 -> 4 -> 3 ->
2 -> 4 -> 3 ->
2 -> 4 -> 3 ->
...
示例:
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
System.out.println(sum);
# 6. 方法使用
语法:
定义:
[修饰符] [static] 结果类型 方法名([类型1 参数1, 类型2 参数2, ...] ) {
代码
return [返回结果];
}
调用:
方法名([实参1, 实参2, ...])
作用:
- 隐藏实现细节
- 减少重复代码
# 7. package
通过 package 来划分名称空间
通过 import 导入非不同名称空间的类
java.lang.*
不需要额外导入,如 java.lang.String
# 8. jar
配置 Artifacts:
执行 artifact:
运行 jar:
java -jar C:\dev\...\module1.jar
上一篇: 下一篇:
本章目录