3.9 文件输入输出

3.9.1 文件输入

文件分隔符:不同系统间用法不同,建议使用 File.pathSeparator 代替,也可使用双斜杠『\\』.


public class Main {
public static void main(String[] args) throws FileNotFoundException {
PrintWriter pw = new PrintWriter("ext"+File.pathSeparator+"A.txt");
pw.println("Hello PrintWriter!");
pw.println("You are so kind of me.");
pw.println("(*^▽^*)");
pw.close();

Scanner sc = new Scanner(new File("ext"+File.pathSeparator+"A.txt"));
while


《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(5)_java

 

相对路径:从一个路径到达另一个路径所需经过的路径。如『F:/a/b』中,『F:/a』在向下层查找一个b,则找到目录b,所以从路径『F:/a』查找子目录 『b』的相对路径是『b』

绝对路径:所有路径相对于根路径所需经过的路径。其中 Windows 是以盘符开始,如『F:/a』,『F:/a/b』都是绝对路径;Linux是以根路径斜杠开始,如[/mnt/device/a]

3.10 流程控制

 3.10.1 块

:使用一对花括号包裹起来的区域

特殊规则:不能在嵌套的两个块中,外层块优先定义变量,然后内层块重复定义相同的变量。这部分我的描述和作者略有不同,作者的描述是『不能在嵌套的两个块中声明同名的变量。』,这一块我认为作者写的不够准确。

《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(5)_后端_02

《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(5)_开发语言_03

 

 首先这个例子是没问题的。但是,假如把外层的变量放在下面定义呢?

《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(5)_后端_04

 它就不报错了啊!

原因是上方的作用域是重叠的,而下方不重叠,如下:

《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(5)_后端_05

《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(5)_java_06

 

对于Java来说,作用域不发生重叠的情况,可以重复定义变量。 

3.10.2 条件语句

格式:


if(condition){
statement
}


其实很简单,这其实是个语文题,请用:如果...就...造句。咱把它格式化一下变成:如果①就②,那①的部分就是condition,②的部分就是statement

多条件:


if(condition){
statement1
}else if(condition2){
statement2
}else if(condition3){
statement3
}else{
statement4
}


同样语文题:

使用:如果①就②,否则如果③就④,如果⑤就⑥,其他情况就⑦。造句,填写数字中的空格。

例句:如果考了90-100分就很优秀,否则如果考了80-89分就良好,如果考了60-79分就及格了,其他情况就不及格。


public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int score = sc.nextInt();
if(score>=90&&score<=100){
System.out.println("很优秀");
}else if(score>=80&&score<=89){
System.out.println("良好");
}else if(score>=60&&score<=79){
System.out.println("及格");
}else{
System.out.println("不及格");
}
}
}


就写出来了,(*^▽^*)

switch,与 if 不同的是,它只用于特定有限值的处理,优点是不用写那么多大括号,缺点是每个 case 最后要加 break 


switch(value){
case value1:
statement1
break;
case value2:
statement2
break;
default:
statement3
}


public class Main {
public static void main(String[] args){
final int BLUE = 1;
final int RED = 2;
final int YELLOW = 3;
final int BLACK = 4;
final int WHITE = 5;
Scanner sc = new Scanner(System.in);
switch (sc.nextInt()){
case BLUE:
System.out.println("蓝色");
break;
case RED:
System.out.println("红色");
break;
case YELLOW:
System.out.println("黄色");
break;
case BLACK:
System.out.println("黑色");
break;
case WHITE:
System.out.println("白色");
break;
default:
System.out.println("未知");
}
}
}


 系列内容:

​《Java 核心技术 卷1》 笔记:第一章 Java程序设计概述​

​《Java 核心技术 卷1》 笔记:第二章 Java程序设计环境​

​《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(1)​

​《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(2)​

​《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(3)​

​《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(4)​

喜欢的话,点个赞吧~!平时做题,以及笔记内容将更新到公众号。

关注公众号,互相学习:钰娘娘知识汇总

《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(5)_java_07