第一章java语言基础_第一章 java语言基础

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在该系统中运行。

14af31f18682fb2e52fadd1b9bd0479a.png

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)放进去。

546474af8d3f89798104987ce82d8da7.png

问题来了:配置好之后,你今后可能更改JDK的盘符、路径和文件夹名称,每一次的改动都需要修改Path,这样不仅麻烦,还有肯能将Path中系统的环境变了修改了。

所以对环境变量的配置改进一下:

新建一个环境变量

75de32adde66f3cc75f83ecebd886d2f.png

然后将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编译工具。用命令行来完成:

10d9cbc11bdd71cb33fe047e5c8e8432.png

这时可以看到文件夹中多出了一个.class文件,这个就是java运行文件。

ad8da83b42917cc3b55a39f4f273e8b9.png

编译完后,就要运行一下,这就需要java工具,这时候就会调用虚拟机。用命令行来完成:

e2e9204d3a45965abbf93bd447c1649c.png

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)数据类型:

bf8909fde002cd634051931503937aac.png

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存储的是两个数的最大的一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值