Java从入门到精通02
一、开发工具(idea)
注意:开发工具只是开发更具,我们学习Java应该把重心转到Java知识点上,不需要死磕idea一些功能,有时候这些所谓的工具不适合我们这些这种初学者,容易让我们背离初心。
1.开发工具简述
IDEA 全称 IntelliJ IDEA,是java编程语言的集成开发环境。IntelliJ在业界被公认为最好的Java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Java,Kotlin等少数语言。
这里可以看出idea的强大和全面,但是这并不利于我们学习(因为啥都有了,思考的就少了)!!!
2.IDEA安装
傻瓜式安装,教程我不写了,注意的是我们去网上找绿色版本,不要去官网下载(懂的自然懂)。
3.创建项目和模块
- 创建项目,并选择磁盘路径
- 创建模块
- 模块创建成功
4.编写代码
编写Helloworld案例
public class Demo1 {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
5.IDEA项目目录
.idea:和我们开发无关,是IDEA工具自己使用
out:目录是存储编译后的.class文件
Demo01:模块所在文件夹
6.idea常用快捷键
快捷键 | 功能 |
---|---|
Alt+Enter | 导入包,自动修正代码 |
Ctrl+Y | 删除一行 |
Ctrl+D | 快速复制一行 |
Ctrl+Alt+L | 格式化代码 |
Ctrl+/ | 单行注释 |
Ctrl++Shift+/ | 多行注释 |
Alt+Shift+上下箭头 | 移动当前代码行 |
Ctrl+Shift+N | 快速查询当前项目下的所有文件 |
Ctrl+N | 快速查询当前项目的所有类 |
必会:放大 缩写字体、 复制当前行、注释、
二、计算机内存原理
1.计算机内存单元
计算机内存单元是计算机中存储数据的最小单位,也称为存储单元或字节。通常一个内存单元可以存储8个二进制位(即1个字节)的数据,而计算机的内存容量则通常用字节(B)、千字节(KB)、兆字节(MB)、吉字节(GB)等单位来衡量。计算机的内存单元可以被操作系统或应用程序读取和写入,以实现数据的存储和处理。
1B(字节) = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1PB = 1024TB
2.进制
经过上一节的讲解,我们知道了计算机使用的是二进制运算规则,能够读懂二进制语言,那么究竟什么是进制,二进制又是怎么转变成我们熟悉的十进制的呢,今天我们就来详细的了解一下。
进制也就是进位计数制,是人为定义的带进位的计数方法。 对于任何一种进制—X进制,就表示每一位置上的数运算时都是逢X进一位。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。
3.常见进制
二进制由0和1组成,逢2进1
八进制由0~7组成,逢8进1
十进制由0~9组成,逢10进1
十六进制由0 ~ 9和a ~ f(不分大小写)组成
4.进制前缀
通过给数据加上前缀,我们就可以很好地区分它到底是一个什么进制的数据,就解决了数据混乱的问题
5.进制间的转换
十进制转换任意进制
除基取余 直到商为0,余数取反
任意进制转换十进制
位权展开法
系数:每一位对应的数值
基数:X进制到十进制转换,基数就为X
权:我们对每一位从右向左开始编号,并且编号是从0开始的,就得到了每一位上的”权“
每一组的数据=系数*基数^权
然后我们再将每一组数据加起来,就完成了转换!
三、Java数据类型
1.Java数据类型分类
2.基本数据类型
3.常量与类型
Java默认的整型是int,默认的浮点型是double
4.定义变量
什么是变量:存数的最基本单位
格式:数据类型 变量名 = 数据值;(数据类型根据存储的数值而确定!)
5.变量使用注意事项
- 变量定义后可以不赋值,使用时再赋值。不赋值不能使用
-
变量使用时有作用域{}的限制
-
变量不可以重复定义
四、数据类型转换
1.数据类型转换
原则:
范围小的数据类型值(如byte),可以直接转换为范围大的数据类型值(如int)
范围大的数据类型值(如int),不可以直接转换为范围小的数据类型值(如byte)
注意:byte -> short -> int -> long -> float -> double
为啥说从int转换到byte类型会有可能损失,下面演示!
计算机存的是补码!
2.数据类型转换方式
自动类型转换
范围小的数据类型转换成范围大的数据类型,这种方式称为自动类型转换
格式:范围大的数据类型 变量 = 范围小的数据类型值;
强制类型转换
范围大的数据类型转换成范围小的数据类型,这种方式称为强制类型转换
格式:范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值;
注意:慎用,容易丢失数值精度(上面刚刚举完例子)
3.数据类型转换原理(了解一下就好)
原----反----补----底层存的是二进制补码形式
正数:
原 反 补 一样,就是该数本身
负数:
原码:本身二进制
反码:最高位符号位不变,其它位逐位取反
补码:符号位不变,加1
五、运算符
1.算术运算符
什么是运算符==》运算符是用来计算数据的符号。数据可以是常量,也可以是变量。被运算符操作的数我们称为操作数。
常用的运算符有:
我们在使用算术运算符时,记得要注意下列事项:
1.加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。
2.除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除。
3.“%”为整除取余符号,小数取余没有意义。结果符号与被取余符号相同。
4.整数做被除数,0不能做除数,否则报错。
2.算数运算符++、- -的使用
- 自增、自减
- 单独使用时不分前后,++a与a++效果一样
- 参与运算
(1).当++,–运算符参与运算操作时,前置++,–的作用:++,–运算符前置时,先将变量a的值自增1或者自减1,然后使用更新后的新值参与运算操作。
(2).当++,–运算符参与运算操作时,后置++,–的作用:++,–运算符后置时,先使用变量a原有值参与运算操作,运算操作完成后,变量a的值自增1或者自减1;
3.赋值运算符
常用的有:
=的作用:将右侧的值赋给左侧
a+=4 <====> a=a+4
注意:诸如+=这样形式的赋值运算符,会将结果自动强转成等号左边的数据类型。
4.比较运算符
比较运算符,又叫关系运算符,它是用来判断两个操作数的大小关系及是否相等关系的,结果是布尔值true或者false。
赋值运算符的 = 符号,是用来将 = 符号右边的值,赋值给 = 符号左边的变量。
比较运算符的 = = 符号,是用来判断 = = 符号 左右变量的值是否相等的。
5.逻辑运算符
逻辑运算符,它是用于布尔值进行运算的,运算的最终结果为布尔值true或false
逻辑运算符通常连接两个其他表达式计算后的布尔值结果
当使用短路与或者短路或时,只要能判断出结果则后边的部分就不再判断
规律:
短路与&&:参与运算的两边数据,有false,则运算结果为false;
短路或||:参与运算的两边数据,有true,则运算结果为true;
逻辑非! : 参与运算的数据,原先是true则变成false,原先是false则变成true。3
注意:
&&第一个结果为false,不执行第二个判断;
||第一个条件为true,不执行第二个判断。
6.三元运算符
三元运算符也称为条件运算符,它是一种简短的 if-else 语句的替代形式。
格式:(条件表达式)?表达式1:表达式2;
规则:先判断条件表达式的值,若为true,运算结果为表达式1;若为false,运算结果为表达式2。
7.运算符优先级
下图是每种运算符的优先级,按照运算先后顺序排序(优先级相同的情况下,按照从左到右的顺序依次运算)