一、计算机相关概念
- 时钟速度(主频)越快,给定时间内执行的指令就越多;
- 内存(RAM)中字节的内容永远非空,但是原始内容可能对于程序毫无疑义或有害,所以要养成赋初值的习惯。
二、Java语言相关概念
术语及缩写
- JLS(Java Language Specification)Java 语言规范;
- API(Application Program Interface)应用程序接口。JLS是稳定的,但是API是不断拓展的;
- Java版本:
Java SE(Java Standard Edition)用于开发客户端独立应用程序(桌面开发);
Java EE(Java Enterprise Edition)用于开发服务端应用程序(web开发);
Java ME(Java Mobile Edition)用于开发移动端应用程序(手机开发); - JVM(Java Visual Machine)Java 虚拟机。使用JVM是我为了实现平台无关性,一般的高级语言要在不同平台运行,至少要编译成不同的目标代码,而引入了JVM后,屏蔽了与不同平台相关的信息,使得Java编译程序只需要生成在JVM上运行的字节码,JVM在执行字节码时,把字节码解释成具体平台上的机器指令执行;
- JRE(Java Runtime Envioronment)Java 运行环境,是提供给用户运行的,包含JVM和基础类库;
- JDK(Java Development Kit)Java 开发工具包,如Java SE 6对应JDK 1.6。提供给开发者使用,包括JRE,还包括编译器、调试工具等;
- IDE(Integrated Development Environment)集成开发环境。
Java程序编写运行流程
- 源文件扩展名必须是
.java
,文件名必须与功用类名完全相同,一个源文件只能有一个公共类,其中有main方法; 编译命令:
javac Welcome.java
此命令执行后Java编译器将Java源文件翻译成字节码文件。若没有编译错误,会生成一个扩展名为
.class
的字节码文件。运行命令:
java Welcome
执行Java程序就是运行程序的字节码,此过程就是一次将字节码中单独的一步翻译为目标机器语言代码,而不是将整个程序翻译成单独的一块。翻译完一步之后就立即执行这一步,一句一句地翻译执行。
- 源文件扩展名必须是
三、基本程序设计
命名规则
- 报名时全小写的名词,中间由点分隔;
- 类名首字母大写,通常由多个单词构成,每个单词首字母大写;
- 方法名第一个词为动词,驼峰;
- 变量名全小写;
- 常量名全大写;
-
摘自博客园(花落花相醉著)
数值数据类型及其运算
3.1 数据类型
- byte, 8位带符号数,1字节;
- short, 16位带符号数,2字节;
- int, 32位带符号数,4字节;
- long, 64位带符号数,8字节;
- float, 32位浮点数,4字节;
- double,64位浮点数,8字节;
在标准c++中,int的定义长度要依靠你的机器的字长,也就是说,如果你的机器是32位的,int的长度为32位,如果你的机器是64位的,那么int的标准长度就是64位,比如16位机上,sizeof(int) = 2,而32位机上sizeof(int) = 4;32位机上sizeof(long) = 4,而64位机上sizeof(long) = 8。
但是在32位机器和64机器中int类型都占用4个字节,因为一般编译器可以根据自身硬件来选择合适的大小,但是需要满足约束:short和int型至少为16位,long型至少为32位,并且short型长度不能超过int型,而int型不能超过long型。这即是说各个类型的变量长度是由编译器来决定的,而当前主流的编译器中一般是32位机器和64位机器中int型都是4个字节(例如,GCC)。
3.2 数值类型转换
运算中Java会自动将操作数转化为范围最大类型的操作数的类型。如,
3 * 4.5
即为3.0 * 4.5
,自动转换为浮点值。3.3 注意点
- 若几个变量为同一类型,允许一起声明他们;
- 变量定义要付出之,以避免不必要的麻烦;
- 常量定义要用
fianl
字符; - 为了表示long型整数直接量,需要在其后追加字母
L
; - 浮点型直接量带小数点,默认情况下是double类型的,可以通过在其后追加字母
F
表示该数是float类型; - 用到除法时要特别注意,Java中两数相除为整数,若需要小数要进行类型转换,如
5/9
要写成5.0/9
;
字符数据类型及其运算
4.1 编码
- Java使用Unicode,2个字节表示1个字符,包含ASCII码;
- ASCII码:0(48); A(65); a(97);
4.2 字符数据类型char与数值型数据之间的转换
- 将一个整数转换成char,只用到该数据的低16位,其余部分被忽略;
- 将一个浮点值转化成char时,首先将浮点值转化为int,然后将整数值转化为char;
- char型数据转换成字符型时,这个字符的统一码就被转换成某个特定的数值;
- 所有数值运算都可以用在char型操作数上,如果另一个操作数是数字或字符,则char型操作数自动转换成数字;若另一个操作数是字符串,字符就会与该字符串相连。
运算符优先级
STH
- Unix时间戳
调用System.currentTimeMillis()方法,返回1970年1月1日00:00分开始到当前时刻的毫秒数。 - String类型
引用类型,import java.lang.String
。 - Scanner 对象从控制台读取输入(后面学习)。
- Unix时间戳