【左京淳的JAVA学习笔记】第一章 JAVA基础

阿姆斯壮的一小步-準备好装备

在网路上搜寻、下载并安装好最新的JDK(JAVA编辑器套装)

设定系统path 让JAVA在任何路径下都能直接启动
- 点选win开始选单->输入「环境变数」进行搜寻
- 在环境变数中找到Path变数,将JAVA资资料夹中的bin资料夹新增进Path变数里面
例:C:\Program Files\Java\jdk-11.0.1\bin

确认步骤1和2设定成功
- 点选win开始选单->输入「cmd」开启命令提示字元视窗
- 输入javac -version,若画面显示版本号码即设定成功

新手任务导览-JAVA档案的执行流程如下

程式码档案(source file)->编译后档案(class file)->JVM(JAVA虚拟机)执行
※source file的本质是个文件档,可以用任何文书软体编辑。只要副档名指定为.java,就能被JAVA的编译器识别。
class file记录了二进位的内容,是给JVM看的档案,由JVM再翻译成电脑可以执行的语言。

文法上的错误在编译时就会报错其他的错误在执行时会报错最后程式的逻辑与预想的是否一致,则要通过测试来确认测试就是比较以下两者的输出文件是否一致
输入文件->手动编辑->输出文件(预测值)
输入文件->自动执行(跑程式)->输出文件(实际结果)

蹲马步-Java程式的基本构造

新建一个记事本档案,命名为Sample1_1.java
※window环境下预设文件副档名为txt,无法直接修改为java。
这时候需要开一个新的资料夹把档案放进去,然后点选「检视」->「附档名」并加以修改。

档案内容如下

  class Sample1_1 {    public static void main(String[] args) {      System.out.println("Hello!");    }  }
一个java档里至少需有一个class(代表一个物件)。物件里可以存放资料(静态),也可以设定方法(动作)。class名称通常与档名一致。public static void main(String[] args) {}这个方法称为main方法,是JAVA程式开始执行的入口处。其中public static void都是固定的修饰词,后面的String首字大写也是固定的。
这句芝麻开门一般的咒语,多打几次自然就会记起来。

main方法里面写了System.out.println("Hello!");
表示调用System模组里的out物件,并执行println(意指print line)方法
在画面上显示出「Hello!」字串
每个方法的结尾须使用「;」作结。

用「javac」指令进行编译

在档案上点选右键确认档案所在路径
例:C:\Users\userXXX\Desktop\java
- 点选win开始选单->输入「cmd」开启命令提示字元视窗
- 输入 cd C:\Users\userXXX\Desktop\java(请输入自己的档案路径) ,移动到档案所在位置。
- 输入javac Sample1_1.java进行编译。※注意大小写
成功的话资料夹内会出现Sample1_1.class档案。

用「java」指令执行程式(class档案)

在命令提示字元视窗输入java Sample1_1
画面出现Hello!即表示程式成功执行了。

以上就是最简单的java程式,依此类推可以把任何逻辑写到java档里并执行。

延伸1-关于class档的自动命名

写一个Sample1_2.java,里面放一个空的class

  class Foo {}

※Foo是範例常用的名称,并没有特殊意义。也可以取任何自己喜欢的名称。
依照之前的步骤编译Sample1_2.java档案
编译后会得到Foo.class档案,档名与class名称相同。

延伸2-一个java档里写多个class

  class Bar {}  class Sample1_3 {    public static void main(String[] args) {      System.out.println("Hello!");    }  }

依照之前的步骤编译Sample1_3.java档案
编译后会得到Bar.class和Sample1_3.class两个档案。
其中Sample1_3.class里面有main方法,所以可以执行。
但Bar.class里面没有main方法,执行会报错。
试着执行以下指令
java Sample1_3
java Bar

延伸3-public修饰子

虽然一个java档内可以放入多个class
但是public class只能有一个,而且这个class的名字必须与java档名一样。

延伸4-数字与文字列

在java档里面可以用//符号写注释

  class Sample1_4 {    public static void main(String[] args) {      System.out.println(123.45);         //10进位      System.out.println(0b11111111);     //0b开头为2进位表示法      System.out.println(0xff);           //0x开头为16进位表示法      System.out.println('A');            //''单一字母或Unicode      System.out.println('\u3012');       //''单一字母或Unicode      System.out.println("Hello");        //""文字列    }  }

依照之前的步骤编译Sample1_4.java档案
由于这次java档案里有中文字母,如果出现类似以下报错,表示此文件的编码和JAVA编译程式时採用的编码(MS950)不一致。
unmappable character (0x97) for encoding x-windows-950

发生错误时可直接把错误讯息贴到google搜寻解答
假设文件的编码採用utf-8,可以用以下的指令解决。
javac -encoding utf-8 Sample1_4.java

编译成功后执行java Sample1_4,可以发现在显示结果时,各种数字都被转换为10进位,Unicode字码也被转换为英文字母表示。

延伸5-变数的初期化

建立Sample1_5.java文件

  class Sample1_5 {    public static void main(String[] args) {      int num1 = 10;      long num2 = 30;      long num3 = 10000000000;      float num4 = 10.0;    }  }

在java里面,整数预设被当成int类型的资料,小数被预设当成double型资料。
因此,num3会报错,因为10000000000超过了int类型所能保存的数值
num也会报错,因为10.0先被存成double(64 Bit)资料,在放入num4变数(float, 32 Bit)时放不进去。

所以在初始化long及float类型的变数时,需要加注符号让JAVA理解。正确写法如下:

  class Sample1_5 {    public static void main(String[] args) {      int num1 = 10;      long num2 = 30;      long num3 = 10000000000L;      float num4 = 10.0F;    }  }

延伸6-变数的可用範围(Scope)

在方法内宣告的变数,只在该方法内可以被使用。

  class Sample1_6 {    public static void main(String[] args) {      int x = 10;      x = 20;    }      x = 30;  }

x变数由于是在main方法里被宣告的,在此方法範围外不能使用,因此x=30这行会报错

以上 是关于JAVA的学习笔记,一共有八章,这是第一章。
整理笔记一方面是为自己釐清思绪,同时也留给需要的人参考用。

参考教材: JAVAプログラマSilver SE8 - 山本 道子


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章