第一个简单java程序
首先介绍两个命令(工具):java和javac
javac 是java语言编程编译器。全称javacompilation.javac工具读由java语言编写的类和接口的定义,并将它们编译成字节代码的class文件。javac 可以隐式编译一些没有在命令行中提及的源文件。用 -verbose 选项可跟踪自动编译。当编译源文件时,编译器常常需要它还没有识别出的类型的有关信息。对于源文件中使用、扩展或实现的每个类或接口,编译器都需要其类型信息。这包括在源文件中没有明确提及、但通过继承提供信息的类和接口。
java -classpath, 设定要搜索的类的路径,可以是目录,jar文件,zip文件(里面都是class文件),会覆盖掉所有的CLASSPATH的设定。
由于所要执行的类也是要搜索的类的一部分,所以一定要把这个类的路径也放到-classpath的设置里面。
表现在,在要执行的类的路径里面执行java时,一定要添加上点号(.)标示本目录也要搜索。
另外使用windows编写java代码,并使用命令行执行,最好将编辑器设置为ANSI编码。
/* 第一个Java程序*/ public class HelloWorld { public static void main(String []args) { System.out.println("Hello World"); // 打印 Hello World } }
java的程序入口是public static void main(String []args) : public是该方法的访问权限;static表示该方法为静态方法:(c++中无需创建类即可使用,且只能使用static变量)在Java中,在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。
每一个.java文件都有且只有一个public class,但可以有多个class,且public class的名称必须和文件名保持一致,否则在“java className”时,className得指定为public class 的类名。public class为该.java文件的主类。
类名:驼峰命名法......
方法名:首单词的首字母消息,其后单词的首字母小写,除此之外全部小写。
标识符规定:与c++相同,除了[标识符可以以美元符开始](java真不愧是面向工资编程)。
java变量:有类变量(即c++中的静态变量同样有static修饰)、块变量(存在与方法的‘{}’且无static修饰)、成员变量(类的成员变量,创建了对象时才能访问,又叫实例变量)。
下面是java的关键字(真想横过来):
| 访问控制 | private | 私有的 |
| protected | 受保护的 | |
| public | 公共的 | |
| 类、方法和变量修饰符 | abstract | 声明抽象 |
| class | 类 | |
| extends | 扩允,继承 | |
| final | 最终值,不可改变的 | |
| implements | 实现(接口) | |
| interface | 接口 | |
| native | 本地,原生方法(非Java实现) | |
| new | 新,创建 | |
| static | 静态 | |
| strictfp | 严格,精准 | |
| synchronized | 线程,同步 | |
| transient | 短暂 | |
| volatile | 易失 | |
| 程序控制语句 | break | 跳出循环 |
| case | 定义一个值以供switch选择 | |
| continue | 继续 | |
| default | 默认 | |
| do | 运行 | |
| else | 否则 | |
| for | 循环 | |
| if | 如果 | |
| instanceof | 实例 | |
| return | 返回 | |
| switch | 根据值选择执行 | |
| while | 循环 | |
| 错误处理 | assert | 断言表达式是否为真 |
| catch | 捕捉异常 | |
| finally | 有没有异常都执行 | |
| throw | 抛出一个异常对象 | |
| throws | 声明一个异常可能被抛出 | |
| try | 捕获异常 | |
| 包相关 | import | 引入 |
| package | 包 | |
| 基本类型 | boolean | 布尔型 |
| byte | 字节型 | |
| char | 字符型 | |
| double | 双精度浮点 | |
| float | 单精度浮点 | |
| int | 整型 | |
| long | 长整型 | |
| short | 短整型 | |
| null | 空 | |
| 变量引用 | super | 父类,超类 |
| this | 本类 | |
| void | 无返回值 | |
| 保留关键字 | goto | 是关键字,但不能使用 |
| const | 是关键字,但不能使用 |
(很高心看到了很多熟悉的关键字,至少之前掌握的一些可以在这里复用)
注释和c++一致。
继承:基类被称为超类,派生类被称为子类。
接口:c++的接口用抽象类实现,Java呢?这不和c++一样么。
java应该算半编译型语言,需要编译成字节码后Java虚拟机(是吗)解释执行。
这是别人记的笔记:
boolean 布尔型 1个字节 8bit(8位)
byte 字节类型 1个字节
char 字符类型 2个字节
short 短整型 2个字节
int 整型 4个字节
float 浮点型(单精度)4个字节
long 长整型 8个字节
double 双精度类型 8个字节
Java中默认的整数类型是int,如果要定义为long ,则要在数值后加上L或者l
默认的浮点型是双精度浮点,如果要定义float,则要在数值后面加上f或者F
除了char编程2个字节外,还行。能理解。
class HaHa { public static void sizeChar() { // System.out.printf("sizeof char = %d\n",sizeof(char)); System.out.println("sizeof char = " + Character.SIZE); } }
验证了下还真是。

浙公网安备 33010602011771号