基础 与 数值计算Basics and Numbers
输入输出I/O
延伸阅读
针对在高校读书的同学,你们学校大概率在输入输出时,采用 Java 原生态 API
这里给大家列举下 如何 使用原生态的 API。
如果你现在没有在高校里上对应的课程,就可以大概阅读了解一下,就好了
写作业 还用 Jadeite 的 Console
输出
当你想写
1Console.println(x);
时,你需要写
1System.out.println(x);
比如,不写
1 2 int a = 3;Console.println(a);
写
1 2*int a = 3;System.out.println(a);
输入
当你想写下方高亮的部分时
1 2 3 4 5 6 public class Main { public static void main(String[] args) { int value1 = Console.readInt(); int value2 = Console.readInt(); }}
这时候首先在代码中增加这两行(只需要一次)
1+2 3 4+5 6 7 8 9 import java.util.Scanner; public class Main { Scanner scanner = new Scanner(System.in); public static void main(String[] args) { int value1 = Console.readInt(); int value2 = Console.readInt(); }}
注意:
一定要注意上面这些新加的代码的位置,不要加错
然后 把 Console 换掉成
1 2 3 4 5 6*7*8 9 import java.util.Scanner; public class Main { Scanner scanner = new Scanner(System.in); public static void main(String[] args) { int value1 = scanner.nextInt(); int value2 = scanner.nextInt(); }}
小数 字符串同理 比如
1 2 3 4 5 6 7 8 9 10 11 import java.util.Scanner; public class Main { Scanner scanner = new Scanner(System.in); public static void main(String[] args) { int value1 = scanner.nextInt(); int value2 = scanner.nextInt(); double value3 = scanner.nextDouble(); String value4 = scanner.nextLine(); }}
scanner 扫描的一些问题
当你希望用户一行输入数,下一行输入文字时
> >9917zzax
你的代码可能是这个
1 2 3 4 5 6 7 8 9 import java.util.Scanner; public class Main { Scanner scanner = new Scanner(System.in); public static void main(String[] args) { int port = scanner.nextInt(); String name = scanner.nextLine(); }}
但当你打印时,你可能会看到不是预期的效果
1 2 3 4 5 6 7 8 9 10 11 > > < <import java.util.Scanner; public class Main { Scanner scanner = new Scanner(System.in); public static void main(String[] args) { int port = scanner.nextInt(); String name = scanner.nextLine(); System.out.println(port); System.out.println(name); }}9917zzax9917
这里 name 显示不出来是正常的,是因为 scanner 内部缓冲区机制导致的。
所以,每当你 nextInt 或 nextDouble 后,想 nextLine 时
一定要在 nextLine 之前,增加下面这段代码
1 2 3 4 5 6 7+8 9 10 11 12 > > < <import java.util.Scanner; public class Main { Scanner scanner = new Scanner(System.in); public static void main(String[] args) { int port = scanner.nextInt(); scanner.nextLine(); String name = scanner.nextLine(); System.out.println(port); System.out.println(name); }}9917zzax9917zzax
此时才会正常输出
注释Comments
简答题
这个代码运行后的结果是
public class Main { public static void main(String[] args) { // Console.println("哎呦喂"); } }
答案
什么都看不到,因为输出的代码被注释掉了
变量Variables
单选题
下面哪段代码是可以正常运行的
public class Main { public static void main(String[] args) { intvalue = 1; } }
public class Main { public static void main(String[] args) { int value = 1; int value = 2; } }
public class Main { public static void main(String[] args) { int value = 1; Console.println(Value); } }
public class Main { public static void main(String[] args) { int value = 1; int value2 = 2; Console.println(value); } }
代码题
倒数
Q47
数据类型Data Types
单选题
下面的类型中,哪个是 8 大基础类型之一
Integer
String
Double
boolean
解释
可以通过单词开头大小写作为最基本的区别
选项中的 Double
不是 double
,所以不是基础类型
Integer
和 Double
会在 将来 Java 112 课程里介绍
boolean
会在过几节课介绍
数据类型匹配
多选题
下面这几行的代码,会在第几行报错飘红,总共有 4 处。
1 2 3 4 5 6 7 8 9 10 11 12 13 public class Main { public static void main(String[] args) { int v11 = 1; int v12 = 1.0; int v13 = 1.1; int v14 = "1"; double v21 = 1; double v22 = 1.0; double v23 = 1.1; double v24 = "1"; }}
v11 那行
v12 那行
v13 那行
v14 那行
v21 那行
v22 那行
v23 那行
v24 那行
单选题
下面的代码 运行后,你会看到什么
1 2 3 4 5 6 public class Main { public static void main(String[] args) { int value = (int)1.999999; Console.println(value); }}
1
1.99
1.999999
2
会报错,因为类型不匹配
算数运算符Arthmetic Operators
代码题
平均值 基础版
Q48 E01
代码题
先做第一个版本
整数拆分 基础版
Q1 E01
然后改成 下面这个版本
整数拆分 四位数加强版
Q1 E02
综合练习
代码题
温度转换 基础版
Q49 E01
代码题
支付密码生成
Q50