Java学习笔记

Posted by Daryl on January 3, 2018

个人认为,学习一门语言就是学习环境配置及运行、语法和内置库等工具 1-3创建

Java学习笔记

在大一暑假的时候也对着唐大仕的Java书学过一遍,当时写了个2048之后就没有继续深入下去。最近稍微有点空闲(真的吗),再加上下学期想选Java课,于是现在开始复习Java。

环境配置及运行

Java的环境配置可以说是十分简单的,而且也不像python有什么历史负担,其他的历史背景知识可以了解一下,不过说实话没什么卵用。
其他的话,Java的文件名xxx.java必须和该源代码里定义的public类一样。
javac命令编译Java代码成字节码。 java开启Java虚拟机加载程序并运行。

Java语法

Java变量中没有无符号数(可以避免一些很坑爹的性质)
Java的字符char占两个字节,采用的是Unicode编码
<<>>分别是左移和右移,>>>是无符号右移

数组的定义:int[] score;
数组分配空间:score = new int[20]; 多维数组:

int a[][] = new int[2][];
a[0] = new int[8];
a[1] = new int[5];

super指父类,this指自己

package机制:可以起到类似于C里面链接的功能。
把需要引用的代码和被引用的代码写到同一个package中,编译成字节码的时候用-d命令,编译顺序和链接相关(待验证)。运行的时候要带上package名字运行。

接口和使用: 用implements去实现一个接口
接口定义用interface关键字,定义一系列函数。

下面就都是内置工具的使用方法了

基本输入输出

import java.io.*;
System.in.read()读入一个字符,会抛出IOException
System.out.print()输出一个字符串,System.out.println()输出一个字符串并换行,System.out.printf()输出一个格式串

除此之外,还可以用Scanner类:import java.util.Scanner;
构造一个Scanner对象:Scanner s = new Scanner(System.in);
用next()方法可以读入一个词(被空格隔开),nextInt()读入一个整数,nextDouble()读入一个浮点数。

传统的方法是:将System.in包装成InputStreamReader对象,进一步构造出一个BufferedReader对象,该对象有一个readLine()方法,可以读入一个字符串,如有需要,自己解析(好傻啊…)。

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String s = in.readLine();
...

在图形化界面中,IO相对比较简单,基本根据组件来实现的。

To be continued…