java系列连载1

1. Java基础语法
课程重点:
1. 进制的转换
2. 数字补码的计算
3. 代码的书写规则
4. 数据类型之间的转型
5. 字符类型
6. 运算符
1.1. 计算机理论基础

编程:编写程序。

其实就是操作计算机,让计算机帮我们实现我们想要的需求。

计算机其实是一个非常单一的机器,计算机只认识两个数字: 0 和 1,并且只会做加法。

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

进制:进位制,指的是数字进位的制度。

进制分类

  • 二进制:使用数字0和1来表示所有的自然数,逢2进1位。

    0, 1, 10, 11, 100, 101, 110, 111, 1000, ...

  • 十进制:使用数字0~9来表示所有的自然数,逢10进1位。也是我们生活中使用的最多的进制。

    0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11

  • 八进制:使用数字0~7来表示所有的自然数,逢8进1位。

    0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, ...

  • 十六进制:使用数字0~9, a~f来表示所有的自然数,逢16进1位

    0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, 12

不同进制的数字,在表示的时候是有区别的。
用0b开头,代表一个二进制数字: 0b1100, 0b1001
用0开头,代表一个八进制数字: 012, 076
用0x开头,代表一IG额额十六进制数字: 0x1234, 0xADF4

进制转换

  • 十进制和其他进制之间的相互转换

    • 十进制转其他进制
      • 辗转相除法:用数字除进制,得到的商再除进制,一直到商为0结束,将每一步得到的余数倒着连接起来。
    • 其他进制转十进制
      • 用某一位的数字,乘上进制的位数-1次方,将所有的部分相加。
  • 二进制、八进制和十六进制之间的相互转换

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

      011 001 010 100 100 100 101 010 010

      ->

      312444522

      763662636

      ->

      111 110 011 110 110 010 110 011 110

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

      0011 0010 1010 0100 1001 0101 0010

      ->

      32A4952

      79AD6

      ->

      0111 1001 1010 1101 0110

二进制八进制十六进制
000
111
1021
1133
10044
10155
11066
11177
1000108
1001119
101012A
101113B
110014C
110115D
111016E
111117F
1.3. 原码、反码、补码

数据大小单位转换

每一个二进制位称作一个比特位(bit)
8bit => 1byte
1024byte => 1kb
1024kb => 1mb
1024mb => 1Gb
1024G => 1Tb
1024Tb => 1Pb
1024Pb => 1Eb
1024Eb => 1Zb
1024Zb => 1Yb
1024Yb => 1Bb
1024Bb => 1Nb
1024Nb => 1Db
...

关于负数的表示形式

在一个二进制数字中,最左侧的以为(最高位),不是用来表示数字大小的,而是用来表示数字的符号的。1表示负数,0表示正数。所以,最高位也被称作符号位。

0b1001 1100 -> -28

原反补

所有的数据在计算机中的存储和运算都是以补码的形式进行的。

原码:由一个直接计算得出的二进制表示形式

反码:对正数:和原码相同

​ 对负数:符号位不变,其他为按位取反

补码:对正数:和反码相同

​ 对负数:反码+1

1. 如果在运算的过程中,出现了值溢出的情况,直接将溢出的部分舍去不要。
2. 补码和补码进行运算,得到的结果还是一个补码。
3. 由补码求原码,只需要对这个补码再进行一次求补的操作即可

一个字节能够表示的数据范围是多少?

[-128,127]

[]: 闭区间

(): 开区间

[0, 100] : >= 0 && <= 100

[0, 100) : >= 0 && < 100

1.4. JDK的安装与环境变量的配置
JDK:
	Java Development Kit,Java开发框架,包含了所有的Java开发需要使用的库,以及JRE.
JRE:
	Java Runtime Envrioment,Java运行时环境,提供了Java程序运行所需要具备的各种环境因素,包含了JVM。
JVM:
	Java Virtual Mechine,Java虚拟机。Java程序是运行在Java虚拟机上的。

1、JDK的安装

直接打开安装程序安装即可。但是需要注意: 如果要自定义安装的路径,则在这个路径中不要有中文。

2、环境变量的配置

2.1、为什么要配置环境变量?

​ 希望在任意的工作目录下,都可以直接使用Java相关的命令

2.2、如何配置环境变量?

​ 1、找到你的JDK的安装路径下的bin目录

​ 2、在”我的电脑“上右键,选择”属性“,选择”高级系统设置“,选择”环境变量“

​ 3、在“系统变量”中找到“Path”,并编辑(双击或者点击编辑按钮)

​ 4、将JDK的安装路径粘贴到变量值的最前方,并在路径后添加一个英文半角的分号作为路径分隔符

​ 如果是win10系统,还可以选择“新建”,添加一个新的行,并将JDK的路径粘贴到新的行中,然后上移到最上方

3、如何验证环境变量是否配置成功

打开一个新的DOS窗口,然后输入 javac 指令,如果不是错误提示,表示成功

1.5. eclipse的使用

IDE的选择: eclipse、IDEA。

1.6. 数据类型

Java中的数据类型分为两种: 基本数据类型引用数据类型

基本数据类型分为四种:

数据类型标识符大小取值范围
字节型byte1byte[-2^7^, 2^7^-1]
短整型short2byte[-2^15^, 2^15^-1]
整型int4byte[-2^31^, 2^31^-1]
长整型long8byte[-2^63^, 2^63^-1]
单精度浮点型float4byte-
双精度浮点型double8byte-
布尔型boolean1bytetrue、false
字符型char2byte\u0000 ~ \uffff
1.7. 标识符

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

命名规则

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

  2. 不能以数字做开头。

  3. 不能与系统关键字或保留字重复。

    关键字与保留字都是满足以上两点要求的字符序列。只不过这些字符序列被系统占用了,我们就不能继续使用。

    某些字符序列已经被赋予了特殊含义,这些字符序列,称作--关键字

    某些字符序列暂时还没有被赋予特殊含义,但是可能在后续的版本中被赋予特殊含义。这些字符序列被称作--保留字

  4. 标识符是区分大小写的。

命名规范

  1. 望文知意
  2. 遵守驼峰命名法
    1. 大驼峰命名法
      1. 组成一个标识符的所有单词,首字母都大写。
    2. 小驼峰命名法
      1. 首个单词除外,从第二个单词开始,每个单词的首字母大写。
1.8. 变量、常量

在程序运行的过程中,某些数据可以发生改变,某些数据不能发生改变。

可以改变值的数据,被称作--变量

不可以改变的数据,被称作--常量

1.9. java程序的编译和运行

1、编辑java程序,并保存,java源程序文件后缀名是 .java

2、打开DOS窗口,使用 javac 对源文件进行编译

3、使用 java 指令,对编译后生成的 .class 文件进行执行

备注:
1. 一个文件中可以写多个类,但是只有和文件名同名的类可以用public来修饰。
2. 如果一个文件中写了多个类,则编译后会生成多个.class文件(每个类都会生成一个.class文件)
在一个定义了3个类和2个方法的java文件编译后,会生成( D	)
A、1个字节码文件,以.java为后缀名
B、1个字节码文件,以.class为后缀名
C、3个字节码文件,以.java后缀名
D、3个字节码文件,以.class为后缀名
1.10. 注释

一个Java源文件中的所有的代码都会被编译到字节码文件中,被虚拟机执行。但是某些时候,我们希望对某一段程序进行一个备注,方便日后查看这段程序。

我们可以使用注释,对某段程序进行描述,并且不用担心描述的内容会有语法错误的问题。因为注释部分不会被编译。

注释可以分为:单行注释、多行注释 和 文档注释

单行注释:以 // 开头,这一行后面所有的内容都是注释
多行注释:以 /* 开头,以 */ 作为结尾,中间所有的内容都被注释
文档注释:以 /** 开头,以 */ 作为结尾,中间所有的内容都被注释
        文档注释中可以添加某些变量描述等信息,并且这些信息描述是可以作用到IDE上,被解析

1.11. 各种数据类型的使用

详见代码 Syntanx2.java

1.12. 数据类型转换

一个变量在定义完成后,所开辟的空间大小是不能发生改变的。一个变量是不能修改类型的。

所谓的数据类型转换,其实是定义一个需要转型到的类型的新的变量,然后将变量原来值给这个新的变量进行赋值。

自动类型转换

一般情况下,是由取值的范围小的数据类型转型到取值范围大的数据类型。

这个转型一定会成功,不需要做任何额外的操作,只需要一个简单的赋值即可。

因为没有任何额外操作,自动类型转换也被称作是--隐式转换

强制类型转换

一般情况下,是由取值的范围大的数据类型转型到取值范围小的数据类型。

这个转型不一定会成功,需要强制操作。

因为需要强制执行,强制类型转换也被称作是--显式转换

注意事项

byte、short、char类型的变量在参与运算的时候,会自动的将结果转型为int类型。

1.13. 转义字符

\

1.14. 字符类型 char

char与整型之间的相互转换

字符集

1.15. 常用运算符
1.15.1. 算术运算符
+   -   *   /   %    
++ --

1.15.2. 赋值运算符
=
+=  -=  *=  /=  %=

1.15.3. 关系运算符
>  <  >=  <=  == !=

1.15.4. 逻辑运算符
&  |  !  ^  &&  ||

1.15.5. 位运算符
&  |  ^  ~
<<  >>  >>>

1.15.6. 三目运算符
?:

1.15.7. 运算符的优先级
2. 流程控制
2.1. 分支流程控制
2.1.1. if-else
2.1.2. switch-case
2.2. 循环流程控制
2.2.1. for
2.2.2. while

转载于:https://my.oschina.net/u/4153849/blog/3066108

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值