华企号 商业模式 大数据基础

大数据基础

大数据:分享大数据之基础语法

1 计算机理论介绍

 

2 编程基础 — 进制分类、进制转换

 

进制

 

就是进位制。指的是我们来表示一个数字的时候进位的制度。

 

进制分类

 

计算机中,常用的进制有以下几种:

 

| 进制      | 描述                            | 示例                     | 备注          |

| ——– | —————————— | ———————– | ———— |

| 二进制    | 使用 0 和 1 来描述所有的自然数      | 0, 1, 10, 11, 100, 101  | 使用 `0b` 开头 |

| 八进制    | 使用 0-7 来描述所有的自然数       | 4, 5, 6, 7, 10, 11, 12  | 使用 `0` 开头   |

| 十进制    | 使用 0-9 来描述所有的自然数       | 6, 7, 8, 9, 10, 11, 12  |              |

| 十六进制 | 使用 0-9, a-f 来描述所有的自然数 | 9, A, B, C, D, E, F, 10 | 使用 `0x` 开头 |

 

进制转换

 

– 十进制转其他进制

– 辗转相除法,用数字除进制,再用商除进制,一直到商为零结束,最后将每一步得到的余数倒着连接

– 其他进制转十进制

– 每一位的数字乘进制的位数 -1 次方,再将所有的结果累加到一起

– 二进制与八进制之间的相互转换

– 每一个八进制位可以等价替换成三个二进制位

– 每一个十六进制位可以等价替换成四个二进制位

 

原码、反码、补码

 

|      | 正数                              | 负数                                    |

| —- | ——————————– | ————————————– |

| 原码 | 由数字直接计算出的二进制表示形式 | 最高位表示符号位 : 0 代表正数 , 1 代表负数 |

| 反码 | 与原码相同                        | 符号位不变 , 其他位按位取反              |

| 补码 | 与原码、反码相同                  | 反码 + 1                               |

 

注意事项:

 

– 数据的存储与运算都是以补码的形式进行的

– 补码与补码运算的结果还是补码

– 对补码再求一次补 , 可以得到原码

 

 

3 什么是 Java

 

Java 是一种面向对象的程序设计语言,可以使用这种语言编写程序,实现我们想要的一些功能。主要分三块 :

 

J2SE: Java 的标准版,用于标准的应用程序开发。

 

J2ME: Java 的微型版,常用于移动端的开发。

 

J2EE: Java 的企业版,用于企业级的应用服务开发。

 

Java 程序的运行,需要先将 .java 源文件编译成 .class 字节码文件,然后由 jvm 虚拟机将这些字节码文件翻译成机器语言,然后执行相应的操作。

 

常用名词解释

 

JDK: Java Development Kit, Java 开发框架 , 开发 Java 程序需要用到的各种工具包。

 

JRE: Java Runtime Envrioment, Java 运行时环境。

 

JVM: Java Virtual Mechine, Java 虚拟机 , 能够运行 Java 程序

 

 

1.2.4 常用 DOS 命令

 

– cd: 切换到指定的路径

 

– dir: 列举当前目录下的所有文件和文件夹

 

– mkdir: 创建文件夹

 

– rmdir: 删除文件夹

 

1.2.5 JDK 的安装与环境变量的配置

 

– JDK 的安装

 

– 找到对应的版本号 , 直接安装即可

– 安装完成后 , 在 jdk 的 bin 目录下 , 有编译运行 Java 程序所需要的指令

 

– 环境变量的配置

 

– 为什么要配置环境变量

 

– 因为我们需要使用 bin 目录下的 javac 和 java 指令来编译和运行程序 , 而使用这两个程序的话 , 就需要先用 cd 切到指定路径下才能执行 , 并且参数需要写 java 文件所在的目录 , 因此在编译和运行程序的时候非常不方便。因此需要将 bin 目录添加到环境变量 , 这样我们就可以在任意的路径下使用 javac 和 java 指令 , 来对我们的程序进行编译和运行。

 

– 怎么配置环境变量

 

– 我的电脑 -> 右键 -> 属性 -> 高级系统设置 -> 环境变量

– 选择系统变量 -> Path -> 编辑

– win10: 新建一个变量 , 将 jdk 下面的 bin 目录粘贴进去 , 并上移到最上方

– win7/8: 将 jdk 下面的 bin 目录的路径粘贴到所有路径的最前方 , 然后添加一个路径分隔符 ;

 

– 怎么验证环境变量是否配置成功

 

– 新建一个 DOS 窗口 , 输入指令 javac, 如果没有错误提示就是是成功

 

1.2.6 注释

 

注释是对代码的描述, 是开发者写给自己或者别人看的 , 相当于我们记录的一些笔记 , 或者备忘录。 注释部分的内容不会被编译 , 因此没有语法上的要求。

 

注释可以分为三类:

 

– 单行注释 : 以两个 // 开头 , 后面的一行内容会被注释

– 多行注释 : 以一个 /* 开头 , 以一个 */ 结尾。中间所有的内容都会被注释

– 文档注释 : 以 /** 开头 , */ 结尾。文档注释中可以添加一些标签 , 更方便的记录程序的信息

 

 

1.2.7 数据类型

 

在程序中, 我们需要操作各种各样的数据 , 这些数据都有各自不同的类型。

 

Java 中 , 所有的数据可以分为两大类 : 基本数据类型和引用数据类型

 

引用数据类型, 又叫做引用类型。在后面课程中具体说明。

 

基本数据类型, 又叫做值类型 , 在 Java 中有以下分类 :

 

– 整型

 

– 就是整数 , 按照占用空间大小 , 分为四种

– 字节型 : byte, 1byte, [-128, 127]

– 短整型 : short, 2byte, [-2^15^, 2^15^-1]

– 整型 : int, 4byte, [-2^31^, 2^31^-1]

– 长整型 : long, 8byte, [-2^63^, 2^63^-1]

 

– 浮点型

 

– 就是小数 , 按照占用空间大小 , 分为两种

– 单精度浮点型 : float, 4byte

– 双精度浮点型 : double, 8byte

– 双精度浮点型可以比单精度浮点型精确更多的小数点后面的位数

 

– 布尔型

 

– 用来描述程序中不是对的就是错的 , 不是真的就是假的数据

– boolean, 1byte

– 只有两个值 : true / false

 

– 字符型

 

– 用来描述组成一个文本的最小单元

– char, 2byte

– 字符型的数据 , 需要用单引号括起来 , 单引号中只能有一个字符 , 不能多也不能少

 

1.2.8 标识符

 

由若干个字符组成的一个有序的序列, 用来描述程序中的一个数据

 

命名规则

 

– 只能由字母、数字、下划线和 $ 符号组成

– 不能以数字作为开头

– 不能与关键字和保留字同名

– 关键字 : 系统占用的 , 已经被赋予了特殊含义的字符序列

– 保留字 : 系统占用的 , 暂时还没有特殊含义 , 但是后续可能会用到的字符序列

 

命名规范

 

– 望文知意 : 应该可以从标识符的命名中看出想表述的数据含义

 

– 遵循驼峰命名法

 

– 大驼峰命名法 : 所有的单词首字母都大写

– 小驼峰命名法 : 首单词除外 , 从第二个单词开始 , 每个单词的首字母都大写

 

1.2.9 变量和常量

 

变量: 在程序运行的过程中 , 数值可以发生改变的数据

 

常量: 在程序运行的过程中 , 数值不可以发生改变的数据

 

在程序中的声明

 

– 变量

– 数据类型 标识符 ;

– 数据类型 标识符 = 初始值 ;

– 数据类型 标识符 1, 标识符 2, …;

– 数据类型 标识符 1 = 初始值 , 标识符 2, 标识符 3 = 初始值 , …;

– 常量

– final 数据类型 标识符 = 初始值 ;

– final 数据类型 标识符 ; 标识符 = 初始值 ;

– Java 允许在声明常量的时候不赋值初始值 , 可以延迟赋值。但是赋值只能进行一次。

 

 

1.2.10 转义字符

 

一个特殊的字符\, 主要有两个作用

 

– 可以将某些具有特殊含义的字符转成普通字符

 

– 单引号 , 用来匹配一个字符的开始和结尾 , 转义字符可以使其成为一个普通的单引号

– 双引号 , 用来匹配一个字符串的开始和结尾 , 转义字符可以使其成为一个普通的双引号

 

– 可以配合某些普通字符使用 , 使其没有特殊含义

 

– n 本身是一个普通字符 , 配合转义字符使用 : \n 表示换行

– t 本身是一个普通字符 , 配合转义字符使用 : \t 表示 tab

– r 本身是一个普通字符 , 配合转义字符使用 : \r 表示 return

 

1.2.11 数据类型转换

 

一个变量声明完成后, 在内存中已经开辟好了空间 , 此时是不允许调整空间大小的 , 也就是说这个变量的数据类型是不允许改变的。这里说的数据类型转换 , 指的是声明一个新的指定类型的变量 , 将原来变量中的值拷贝到新的变量中。

 

数据类型转换可以分为两种:

 

– 自动类型转换

– 又叫做 ** 隐式转换 **, 一般是由取值范围小的数据类型 , 向取值范围大的数据类型转换

– 转换过程不需要任何额外操作

– 转换后 , 没有任何精度丢失情况

– 强制类型转换

– 又叫做 ** 显式转换 **, 一般是由取值范围大的数据类型 , 向取值范围小的数据类型转换

– 转换过程需要强制操作 , 不能自动完成

– 转换后 , 可能会出现精度丢失的情况

 

java

byte a = 10;

int b = a;    // 由 byte 类型转型为 int 类型 , 自动完成 , 不需要任何额外操作

 

int c = 128;

byte d = (byte)c; // 由 int 类型转型为 byte 类型 , 强制操作 , 会存在精度丢失

 

 

 

额外说明

 

– byte, short, char 类型的数据在进行运算的时候 , 会自动的转型为 int 类型

– 浮点型转整型 , 会舍去小数点后面所有的内容 , 只保留整数部分

 

 

1.2.12 常用运算符

 

算术运算符

 

用来做基础的算术计算, + – * / % ++ —

 

其中:

 

– \+ \- \* % 和数学计算中没有区别

– 两个整型的数据进行除法 , 结果还是整型 , 会将计算的浮点结果强转成整型

– 自增运算符 ++, 用在变量前 , 表示是前取变量值 , 后对这个变量进行 +1 操作

– 自增运算符 ++, 用在变量后 , 表示是先对这个变量进行 +1 操作 , 然后再取变量值

– 自减同自增

 

> int a = 10;

>

> int b = a++;    // b 的值是 10

>

> int c = ++b;    // c 的值是 11

 

 

赋值运算符

 

=: 将等号右边的值 , 给左边的变量进行赋值

 

+=, -=, *=, /=, %=: 组合运算符 , 对一个变量进行运算

 

> a += 10; 等价于 a = a + 10

 

 

关系运算符

 

\> < >= <= == !=

 

 

逻辑运算符

 

& : 与 and

 

| : 或 or

 

! : 非 not

 

^ : 异或 xor, 计算逻辑 : 两个相同为 false, 两个不同为 true

 

&& :

 

短路与, 结果与逻辑与相同 . 区别在于 : 如果前面的结果可以决定整体的运算结果 , 后面的表达式不参与运算

 

|| :

 

短路或, 结果与逻辑或相同 . 区别在于 : 如果前面的结果可以决定整体的运算结果 , 后面的表达式不参与运算

 

位运算

 

位运算操作的是两个整型的数字, 计算的逻辑就是将两个整型的数字求出补码 , 再对补码的每一位做类似于逻辑运算的操作 , 其中 1 相当于 true, 0 相当于 false

 

 

三目运算符

 

condition ? expression1 : expression2

 

condition 是一个 boolean 类型的变量 , 或者一个 boolean 结果的表达式 . 如果 condition 为 true, 最终整体的结果取 expression1, 否则 , 结果取 expression2

作者: 华企网通王鹏程序员

我是程序员王鹏,热爱互联网软件开发和设计,专注于大数据、数据分析、数据库、php、java、python、scala、k8s、docker等知识总结。 我的座右铭:"业精于勤荒于嬉,行成于思毁于随"
上一篇
下一篇

发表回复

联系我们

联系我们

028-84868647

在线咨询: QQ交谈

邮箱: tech@68v8.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部