2020.02.24 从一个记事本开始基础语法学习

做一个简易的记事本,无需界面

编程语言大致尤其规律,因此直接从应用开始学习熟练。

学习链接及整理

先记录一下学习过程中遇到的整理比较好的学习链接:
简易记事本 是我用于学习的基础版本,我将在此基础上完善拓展

scanner

java scanner类 用于获取用户输入

import java.util.Scanner;
// next方式以空格为终止符 nextline以回车为终止符
public class ScannerDemo{
	public static void main(String[] args){
		System.out.println("nextLine方式接收");
		Scanner sc = new Scanner(System.in);
		// 判断是否还有输入(但作用不明?)
		if(scan.hasNextLine()){
			String str = sc.nextline();
			System.out.println("输入的数据为: " + str);
		}
		sc.close();
	}
}

注:在多个scanner情况下,关闭一个,会导致system.in关闭 报错为:No line found.
其他scanner类方法:

方法功能
Scanner (InputStream in)用给定的输入流创建一个Scanner对象
String nextLine()读取输入的下一行内容
String next()读取输入的下一个单词
int nextInt()读取并转换下一个表示整数的字符序列
double nextDouble()读取并转换下一个表示浮点数的字符序列
boolean hasNext()检测输入中是否还有其他单词
boolean hasNextInt()检测是否还有表示整数的下一个字符序列
boolean hasNextDouble检测是否还有表示浮点数的下一个字符序列
Scanner(File f)构造一个从给定文件读取数据的Scanner
Scanner(String data)构造一个从给定字符串读取数据的Scanner

格式化输出,沿用了C语言库函数中的printf方法
System.out.printf(“Hello, %s. Next year, you’ll be %d”, name, age);
使用 printf 打印格式化日期:
System.out.printf("%tc", new Date());
可以使用静态的 String.format 方法创建一个格式化的字符串,而不打印输出:
String massage = String.format((“Hello, %s. Next year, you’ll be %d”, name, age);

java.io

Java IO类非常完整详细地进行了InputStream、OutStream、Reader、Writer使用介绍

@test单元测试

java @test 详细介绍了Java单元测试的环境配置及使用方法
首先配置环境:选中一个java工程 右键 -> properties -> Java Build Path -> Libraries -> Add Library -> 选择JUnit , 单击按钮 “Next>” -> 选择最新版JUnit5 -> Finish –> 单击按钮 “OK” 环境配置完毕。
通过导入包org.junit.Test ,可以在不实用main方法的情况下运行测试单个方法。
注:方法权限只能是public,不能用static修饰

static

public、static 介绍了class中 public private protect static 的概念及应用

文件读写

java文件读写 介绍了java文件读写的两种方法 filewriter 和 bufferedwriterl

字符串比较

字符串比较 字符串比较的两种方法

读取文件夹目录

读取指定文件夹目录 读取指定文件路径下的文件目录

代码ver1.0

// 专用于输入的函数
	public static String scanin() {
		
		// 循环输入内容 以"!!!"作为结尾的标志,以"En"作为换行标志
		System.out.println("请输入要保存的内容(以!!!结束 如需换行 请单独输入En): ");
		Scanner sc = new Scanner(System.in);
		String str = sc.nextLine();
		String strs = "";
		while(!("!!!".equals(str))) {
			if("En".equals(str)) {
				strs = strs + "\n" ;
				sc = new Scanner(System.in);
				str = sc.nextLine();
				continue;
			}
			System.out.println(str);
			// String test = "!!!";if("!!!".equals(test)) { System.out.println("ok"); }
			strs = strs + str;
			sc = new Scanner(System.in);
			str = sc.nextLine();
		}
		sc.close();
		return strs;
	}
// 创建一个新文档并增添内容
	public static void creatnew() {
		
		// 声明Writer对象
		Writer writer = null;
		
		System.out.println("为您的新文档起个名吧:");
		Scanner sc = new Scanner(System.in);
		String tname = sc.nextLine();
		//sc.close();
		
		// 创建txt文档
		File file1 = new File(path + "/" + tname + ".txt");
		try {
				// 如果出现路径不对的异常,则抛出异常
				file1.createNewFile();
		} catch (IOException e1) {
				// 出现流异常则抛出路径
				e1.printStackTrace();
		}
		System.out.println("文档创建成功! ");
		
		String strs = scanin();
		System.out.println("您的输入内容为:" + strs);
		
		try {
				// 将内容输出到文件 可能出现文件不存在的异常 抛出
				writer = new FileWriter(file1, true);  // 参数为true时 输入将会添加到后面  false会覆盖原内容
				writer.write(strs);
				
				
		} catch (IOException e){
				e.printStackTrace();
		}finally {
			if(writer != null) {
				try {
						// 关闭流,此时流可能正在使用,抛出异常
						writer.close();
				} catch (IOException e3) {
					
						e3.printStackTrace();
				}
			}
		}
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值