初次听到Java这个词,还是在读高中的时候,大概是08、09年那样子。当时只是认识那个咖啡的图标,我记得好像是在诺基亚手机上看到的,打开游戏的过程很慢,界面只有一个冒着热气的咖啡杯。
一晃多年,Java日益强大。这里,我打算利用博客这个平台将之前所学,现在所学,以及将来所学,随时做一些总结,以加深对知识的理解,并让脑子里的东西更系统,有逻辑一些。
工欲善其事必先利其器,进行Java程序的开发第一件事就是jdk的安装,和环境变量的配置。
JDK的安装
第一步,从甲骨文官网下载jdk1.8,安装到磁盘上,路径不要有空格和中文字符;
第二步,右键我的电脑→属性→高级系统设置→环境变量,
1,在系统变量新增变量名:JAVA_HOME 变量值(jdk所在路径):D:DevToolsjdk1.8.0_162
2,编辑Path→新建:%JAVA_HOME%in
环境变量配置好了之后,打开命令行,分别输入java、javac进行确认,显示一大堆字符,就代表jdk及环境变量配置成功。
HelloWorld
毫不客气的说,每个程序员所接触的第一个程序必然是HelloWord,没啥说的,这里我就不写了。
一些名词解释
JVM (Java Virtual Machine):Java虚拟机,Java语言的跨平台性就是靠这JVM。
JRE (Java Runtime Environment):是Java程序的运行时环境,包含 JVM 和运行时所需要的 核心类库 。
JDK (Java Development Kit):是Java程序开发工具包,包含 JRE 和开发人员使用的工具。
Java的语法
之前在网上看毕向东的视频,通常学习一门高级的程序设计语言需要掌握以下几个关键内容:
关键字:该种语言中被赋予特殊含义的单词
标识符:拥有标识数据表达式的符号,通常可以理解为在程序中自定义的名称。比如变量名,函数名。
注意:
1),数字不可以开头。
2),不可以使用关键字。
3),标识符可以包含 英文字母26个(区分大小写) 、 0-9数字 、 $(美元符号) 和 _(下划线)
注释:注解说明解释程序。用于调试程序
单行// 多行/**/ 文档/**
变量:用于标示内存中一片空间。用于存储数据,该空间中的数据可以是变化的。
java是强类型语言,变量声明时必须指明变量类型。
基本数据类型:byte、short、int、long、float、double、char、boolean。
long类型:建议数据后加L表示。
float类型:建议数据后加F表示。
引用数据类型:抛去基本数据类型的类型都是引用数据类型,如String及自定义类。
类型转换:范围小的类型向范围大的类型提升, byte、short、char运算时直接提升为 int
注意:
浮点转成整数,直接取消小数点,可能造成数据损失精度。
int 强制转成 short 砍掉2个字节,可能造成数据丢失。
运算符:可以让数据进行运算的符号。(算术、比较、逻辑、位)
语句:用于对程序的运行流程进行控制的表达式。(if switch 循环 等等)
函数:用于对功能代码进行封装,便于提高复用性。
数组:对多数据进行存储,便于操作。就是传说中的容器。
对象:只要是基于对象的语言,或者面向对象的语言,就存在着对象的概念,对象就是一个封装体。既可以封装数据,又可以封装函数。
这些都是高级程序设计语言具备的共性内容,只不过各种语言对这些内容的表现形式有所不同,但是使用的基本思想是一致的。简单回忆了一下,一些细节的东西没有考虑进去,后面遇到值得推敲的知识点再详细总结。
下面的程序有问题吗?
public static void main(String[] args){ byte b1=1; byte b2=2; byte b3=1 + 2; byte b4=b1 + b2; System.out.println(b3); System.out.println(b4); }
分析:
b3 = 1 + 2 , 1 和 2 是常量,为固定不变的数据,在编译的时候(编译器javac),已经确定了 1+2 的结果并没有超过byte类型的取值范围,可以赋值给变量 b3 ,因此 b3=1 + 2 是正确的。反之, b4 = b2 + b3 , b2 和 b3 是变量,变量的值是可能变化的,在编译的时候,编译器javac不确定b2+b3的结果是什么,因此会将结果以int类型进行处理,所以int类型不能赋值给byte类型,因此编译失败。