java基础01

1. Java基础语法
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[-27, 27-1]
短整型short2byte[-215, 215-1]
整型int4byte[-231, 231-1]
长整型long8byte[-263, 263-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类型。

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值