1.1 软件
1.1.1 定义:是一系列按照特定顺序组织的计算机数据和指令的集合。
1.1.2 分类:系统软件和应用软件。
1.2 人机交互
1.2.1 交互方式
图形化界面:如windows
命令行方式:如DOS、Linux的终端
1.2.2 命令行
常用命令:
dir:显示当前目录下的所有文件和文件夹
md:创建目录
rd:删除目录(保证文件夹是空的)
del:删除文件(不走回收站)
cd:进入指定目录
cd..:退回到上一级目录
exit:退出
1.3 java概述
java语言是SUN在1995年推出的一门高级编程语言,一种面向Internet的编程语言。
1.3.1 java分类
javaEE企业版:针对企业
javaSE标准版:针对桌面
javaME小型版:针对电子产品和嵌入式设备
1.3.2 java的特点
跨平台:在不同的操作系统上都可以运行,java的程序是基于JVM虚拟机的,所以只要在操作系统上安装一个JVM虚拟机,就可以让java在该系统中运行。
1.4 java的环境搭建
1.4.1 什么是JRE、JDK?
说实话,我用这么久java,搭建环境无数次,还真是第一次弄清他们的含义,以前就知道下呼呼的拿来用就行。
JRE(Java Runtime Environment)java运行环境,包括JVM虚拟机和java程序所需的核心类库。如果仅仅是想要运行一个java程序,只需要安装JRE即可。
JDK(Java Development Kit)java开发工具包,这是提供给开发人员用的。其中包含了java开发工具,开发的时候一定需要运行,所以也包含了JRE。其中的开发工具包括:编译工具(javac.exe)和打包工具(jar.exe)等
下载地址:www.oracle.com 现在已经更新到1.8版本了
1.4.2 环境变量配置
首先在我的电脑右键――>属性――>高级系统设置――>高级选项卡――>点击环境变量
在系统变量中找到Path,点击编辑,将安装的JDK的bin文件夹的目录(D:\Study\Java\jdk\bin)放进去。
问题来了:配置好之后,你今后可能更改JDK的盘符、路径和文件夹名称,每一次的改动都需要修改Path,这样不仅麻烦,还有肯能将Path中系统的环境变了修改了。
所以对环境变量的配置改进一下:
新建一个环境变量
然后将Path中的之前配置的D:\Study\Java\jdk\bin改为%JAVA_HOME%\bin,这样以后只需要修改JAVA_HOME中的值就可以了。
1.4.3 java编码体验:
先用记事本编写一段代码
class Hell{
public static void main(String[] args){
System.out.println("Hello Java!");
}
}
然后保存,后缀名.java,这个文件称之为源文件。
编写完后,想要运行它,需要将它转化为机器认识的语言,也就是要将源文件翻译成执行文件,这就用到了javac编译工具。用命令行来完成:
这时可以看到文件夹中多出了一个.class文件,这个就是java运行文件。
编译完后,就要运行一下,这就需要java工具,这时候就会调用虚拟机。用命令行来完成:
1.4.4 常见错误:
1. javac:找不到文件
可能路径D:\WorkSpace\java0826错了;
可能文件名h.java错了。
2. 找不到活无法加载主类
可能路径D:\WorkSpace\java0826错了;
可能类名错了。
1.4.5 classpath配置
刚才编译好的java文件,只能在文件的当前目录下运行,但是我想让它在任何目录下都能执行,怎么去做呢?
将文件夹路径配置到环境变量中就可以,新建变量,名称classpath,值D:\WorkSpace\java0826
1.4.6 注释
主要是对程序进行解释说明
单行注释://
多行注释:/**/
1.5 java语言基础组成
关键字
标识符
注释
常量和变量
运算符
语句
函数
数组
1.5.1 标识符
1. 组成:由英文字母、数字、_和$
2. 规则:
不能以数字开头
不能使用关键字
3. java的命名规范
包名:所有字母都小写。xxyyy
类名:所有单词的首字母大写。XxxYy
变量名和函数名:第一个单词首字母小写,之后的每个单词首字母都大写。xxYyyZz
常量名:所有字母都大写,多个单词用下划线连接。XXX_YY
1.5.2 常量和变量
1. 常量:不能改变的数值
分类:
整数常量
小数常量
布尔类型常量
字符常量
字符串常量
null常量
2. 变量
(1)定义:在内存中开辟一块空间,来存储不确定的数据。
(2)定义变量的格式:
数据类型 变量名 = 初始值;
int a = 3;
(3)数据类型:
1.5.3 类型转换
分类:
自动类型转换(隐式类型转换)和强制类型转换(显示类型转换)
1. 自动类型转换:对于数值型低精度自动转换为高精度
int a = 3;
double b;
b = a + 4;
注:字符型会自动提升为int型。
2. 强制类型转换
int a;
a = (int)3.14;
1.5.4 转义字符
通过\来改变后面的字母或符号的含义
\n:换行
\t:制表符
\r:回车。Linux中可以用\r表示回车,在Windows中的回车用\r\n表示。
\d:退格
\\:表示\
\":表示"
1.5.5 运算符
算术运算符
赋值运算符
比较运算符
逻辑运算符
位运算符
三元运算符
1. 算术运算符
包括:+、-、*、/(取商)、%(取余)、++(自加)、--(自减)
5/2 = 2;
5%2 = 1;
2. 赋值运算符:
包括:=、+=、-=、*=、/=、%=
例:
x+=6;――>x=x+6;
short s=4;
s = s + 4;//编译出错,两步运算,s + 4算完会提升为int类型。
s+=4;//成功,一步运算,内部有一个自动转换。
3. 比较运算符:
包括:==(相等于)、!=(不等于)、<、>、<=、>=
比较运算符的结果是boolean类型,不是true就是false。
4. 逻辑运算符:
包括:&(与)、|(或)、^(异或)、!(非)、&&(短路与)、||(短路或)
(1)&(与):
true & true = true;
true & false = false;
false & true = false;
false & false = false;
只要有一个为false,结果就是false;
只有两个都是true,结果才是true。
(2) |(或):
true | true = true;
true | false = true ;
false | true = true ;
false | false = false;
只要有一个为true,结果就是true;
只有两个都是false,结果才是false。
(3)^(异或):
true ^ true = false;
true ^ false = true ;
false ^ true = true ;
false ^ false = false;
两个都一样,结果是false;
两个都不同,结果是true;
(4) !(非):
!true = false;
!false = true;
(5) &&(短路与):
int a = 2;
a > 3 && a < 6;
因为a > 3为false,所以后面a < 6不再判断,结果一定为false。
左边为false时,右边不运算。
(6)||(短路或):
原理和&&(短路与)一样;
当左边为true时,右边不运算。
5. 位运算符:
包括:<<(左移)、>>(右移)、>>>(无符号右移)、 &(与)、|(或)、^(异或)、~(反码)
(1)<<(左移):
3<<2:
先把3写成二进制0000-0000 0000-0000 0000-0000 0000-0011,然后左移2位
00-0000 0000-0000 0000-0000 0000-001100 = 12;
左移相当于*2的位数次幂
3<<2 ――> 3 * 4 = 12;
3<<2 = 12;
(2)>>(右移):
6>>2=1;
0000-0000 0000-0000 0000-0000 0000-0110
――> 000000-0000 0000-0000 0000-0000 0000-01
右移相当于/2的位数次幂
6>>2 ――> 6 * 4 = 1;
(3)>>>(无符号右移):
>>缺少位由原有数据的最高位的值而定;
如果最高位为0,右移后用0补齐空位;
如果最高位是1,右移后用1补齐空位。
>>>无论最高位是什么,都用0补空位。
(4)&(与):
6 & 3:
110
&011
----
010 = 2;
6 & 3 = 2;
把0当作false,1当作true,进行&运算即可;
(5)|(或):
6 | 5:
110
|101
____
111 = 7;
6 | 5 = 7;
(6)^(异或):
6 ^ 5:
110
^101
____
011 = 3;
6 ^ 5 = 3;
一个数异或同一个数两次,结果还是原数。
(7)~(反码):
~6:
~000...110
----------
111...001 = -7
~6 = -7;
6. 三元运算符:
格式:
(条件表达式)?表达式1:表达式2;
如果条件为true,结果是表达式1;
如果条件为false,结果是表达式2;
例:
int x = 3, y = 4, z;
z = (x > y)?x : y;
z存储的是两个数的最大的一个