最近在关注java有关的知识,就分享一下,也有做一个java知识系列的打算,这是开篇的java知识基础,与软件应用,后面着重讲java的web开发与后端开发,以及spring架构等。
目录
02.计算机进制转换.flv
二进制转化,辗转相除法
直到商为0为止
学会使用工具-科学程序员计算器
然后选择一个进制输入,切换进制会改变表示方式
win+r notepad会自动创建一个新的txt文件
03_计算机存储单元
最小的存存储文件的单位最小是字节
05_命令提示符_常用命令
Table可以多个选择,另一方面能够自动补全
06_Java语言的跨平台性
根源在于jvm屏蔽了不同的平台差异,java虚拟机
jre是java运行环境,包含jvm和必要的核心类库
jdk是java开发工具包,包含jre和开发所需要的工具
如果仅仅需要运行java程序,jre足够
如果开发,则需要jdk提供开发工具
07_JDK、JRE与JVM
10_HelloWorld程序的代码编写
这里使用java9,这是java的一次大范围更新
在安装的时候路径不要有中文和空格,否则后期会产生一些问题
公共jre安装时可以不必安装,因为jdk已经自带
对于java文件,需要先用javac编译成class文件
然后使用java文件执行class文件
使用notepad++编辑java源代码更好,对于关键字的解析需要进行一番设置如下
对于注释,注意单行注释//和多行注释/**/
14_关键字的概念与特征
15_标识符的概念与规则
16_常量的概念与分类(1)
常量:字符串常量 整数 小数 字符常量 布尔常量 空常量
空常量不能打印输出,需要其他方法
18_基本数据类型
四类八种,表示范围与占用字节不一定相关,float科学计数法
后面的e代表10的多少次方,同样是4个字节,float表示的数据远大于int,科学记数法省空间
浮点数有精确位数,大部分情况下只能表示近似值
浮点数默认double,如果要使用float,可以在数字后面加f,推荐大写,大小写皆可
同理int,如果使用long,需要加L,推荐大写
一:对于正数,原码和反码,补码都是一样的,都是正数本身。
对于负数,原码是符号位为1,数值部分取X绝对值的二进制。
例如:
+21,其二进制表示形式是00010101,则其补码同样为00010101
-21,按照概念其绝对值为00010101,各位取反为11101010,再加1为11101011,即-21的二进制表示形式为11101011
这意味着byte正数最大表示为01111111,127,负数最大也支持到-127,然而事实是-128,只是进行了一次负0的重利用
反码是符号位为1,其它位是原码取反。
补码是符号位为1,其它位是原码取反,未位加1。
也就是说,负数的补码是其反码未位加1。
负数补码为其除符号为后数值的绝对值各位取反加1;
java是用补码来表示数据的
步骤:
1、byte为一字节8位,最高位是符号位,即最大值是01111111,因正数的补码是其本身,即此正数为01111111
十进制表示形式为127
2、最大正数是01111111,那么最小负是10000000(最大的负数是11111111,即-1,此为补码,恢复到反码为11111110,,原码为10000001)
3、10000000是最小负数的补码表示形式,我们把补码计算步骤倒过来就即可。10000000减1得01111111然后取反10000000,得到原码,对-0重利用
因为负数的补码是其绝对值取反,即10000000为最小负数的绝对值,而10000000的十进制表示是128,所以最小负数是-128
4、由此可以得出byte的取值范围是-128到+127
计算机数值运算与存储常识
为了提高空间使用率,将负值的范围强行加1
对于整数来说,变成二进制挺简单的
对于小数,使用的方法是乘2取整数法
比如0.625
0.625x2=1.25 1
0.25x2=0.5 0
0.5x2=1 1
从上向下,就是101
1.01x2^-1
浮点类型flaot与double的精度原理,表示范围原理,以及如何在计算机中存储的。以及存储的形式转换
单精度浮点数(float)、多精度浮点数(double)的区别,精度和范围和什么有关系_LEOX-CSDN博客_单精度浮点数范围
单精度浮点数的取值,表示以及相关_每天get√新知识-CSDN博客_单精度浮点数表示范围
只要不是四类八种就是引用类型
21_变量的注意事项
02_数据类型转换_强制转换
对于float转int,小数位会丢失,直接截断
对于char强转为int,会变成数字
数据截断
自动转换
byte相加会首先被提升为int,左侧如果是byte会报错
变量的值是可能变化的,在编译的时候,编译器javac不确定b1+b2的结果是什
么,因此会将结果以int类型进行处理,所以int类型不能赋值给byte类型,因此编译失败。
既然,结果类型被自动提升为int,那么强转为byte即可,然而会造成数据丢失
数据已经超限了,因此虽然运行但是结果错误
ASCII表格
48 0
65 A
97 a
Tcp协议的过程
TCP的三次握手与四次挥手理解及面试题(很全面)_lucky_jun-CSDN博客_三次握手四次挥手
java数据类型
05_算术运算符_四则与取模运算
加法使用
赋值运算符
隐藏强制类型转换
+= 是一个运算符,只运算一次,并最后带有强制转换的特点,最后num仍为byte类型,和a=a+b有区别,
逻辑运算符
三元运算符
方法的使用
脚本工具jshell
什么时候会用到 JShell 工具呢,当我们编写的代码非常少的时候,而又不愿意编写类,main方法,也不愿意去编译和运
行,这个时候可以使用JShell工具。
退出尤为注意
强制转换
强制转换
三目运算符
数据类型 变量名 = 布尔类型表达式?结果1:结果2
流控制语句
if语句
if {}else{}
if {} else if{}
Switch-case使用
for循环
for(初始化表达式①; 布尔表达式②; 步进表达式④){
循环体③
}
①负责完成循环变量初始化
②负责判断是否满足循环条件,不满足则跳出循环
③具体执行的语句
④循环后,循环条件所涉及变量的变化情况
while循环
初始化表达式①
while(布尔表达式②){
循环体③
步进表达式④
}
①负责完成循环变量初始化。
②负责判断是否满足循环条件,不满足则跳出循环。
③具体执行的语句。
④循环后,循环变量的变化情况。
do...while循环格式
初始化表达式①
do{
循环体③
步进表达式④
}while(布尔表达式②);
①负责完成循环变量初始化。
②负责判断是否满足循环条件,不满足则跳出循环。
③具体执行的语句
④循环后,循环变量的变化情况
循环语句的区别
for 和 while 的小区别:
控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,
但是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。
在已知循环次数的时候使用推荐使用for,循环次数未知的时推荐使用while。
break结束循环
continue进入下一次循环
Ide开发
包是一组文件夹名称,.代表区分一个文件夹
Psvm快捷键创建,回车
自动保存,要哭了
Sout
Duplicat