Java—基础篇(1)
基础知识点
1.二进制
计算机中只有“0”、“1”,逢2进1,每一个0或每一个1,叫做一个bit(比特,位)。
“16 8 4 2 1 ”二进制与十进制的转换 <电脑计算器的程序员格式下可做进制转换>
2.位与字节
位(bit),每一个0或每一个1,代表一位。
字节(Byte),每逢8位是一个字节,这是数据存储的最小单元。
1 Byte = 1 bit 1KB = 1024 Byte 1MB = 1024 KB
3.命令提示符
win+R 启动命令提示符 cmd (/—正斜线、\——反斜线)
切换盘符 D: / C:
进入文件夹 cd 文件夹名称 进入多级文件夹 cd 文件夹1\文件夹2\文件夹3
返回上一级 cd … 查看当前内容 dir 清除屏幕 cls 退出 exit
4. JDK(编译器等开发工具、JRE(运行类库、JVM))
5.javac
某名字.java(源文件) ——>编译后 .class(字节码文件) ——>
6.类名
public class 后的单词代表定义一个类的名称,类是JAVA当中所有源代码的基本组织单位。类名称和所在文件名必须完全一样。
7.关键字的特点
(1)完全小写的字母。(2)有颜色的
8.标识符
8.1 标识符是指在程序中,自定义的内容,eg类的名字、方法名字、变量的名字
8.2命名规则:(硬性要求) 标识符可以包含英文字母(区分大小写)、0-9数字、$和下划线,不能是关键字,不能以数字开头
8.3类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)
变量名规范:首字母小写,后面每个单词首字母大写(小驼峰式)(方法名规范同)
9.常量
9.1分类:(1)字符串常量:凡是用双引号引起来的部分。eg:“abc”、“Hello”
(2)整数常量:直接写的数字,没有小数点。eg:100、0、-200
(3)浮点数常量:直接写的数字,有小数点。eg:1.34、0.56
(4)字符常量:凡是用单引号引起来的单个字符。 eg:‘a’、‘H’、‘8‘、’中‘ (两个单引号之间必须有且仅有一个字符,没有不行)
(5)布尔常量:只有两种取值。true、false
(6)空常量:null。代表没有任何数据。(不能直接用来打印输出)
10.数据类型
JAVA中数据类型分为两类:
基本数据类型:整数(byte,short,int,long)、浮点数(float,double)、字符(char)、布尔(boolean)
引用数据类型:字符串、类、数组、接口、lambda
10.1基本数据类型
数据类型 | 关键字 | 内存占用 | 取值范围 |
---|---|---|---|
字节型 | byte | 1个字节 | -128~127 |
短整型 | short | 2个字节 | -32768~32767 |
整型 | int(默认) | 4个字节 | -2^31 ~2^31-1(21亿) |
长整型 | long(L) | 8个字节 | -2^63 ~2^63-1 |
单精度浮点数 | float(F) | 4个字节 | 1.4013E-45~3.4028E+38 |
双精度浮点数 | double(默认) | 8个字节 | 4.9E-324~1.7977E+308 |
字符型 | char | 2个字节 | 0~65535 |
布尔型 | boolean | 1个字节 | true,false |
第一章 数据类型转换
1.数据类型转换
当数据类型不一样时,将会发生数据类型转换。
1.1 自动类型转换(隐式)
(1)特点:代码不需要进行特殊处理,自动完成。
(2)规则: 数据范围需得是从小到大。(与数据的字节数不一定相关)
int——>long;float——>double;long——>float(float范围更大一些,符合从小到大的规则,也发生了自动类型转换)
注意事项:(1)对于byte/short/char 这三种类型,如果右侧赋值的数值没有超过范围,那么javac编译器将会自动隐含地为我们 补上一(byte)(short)(char)。【如果没有超过左侧的范围,编译器自动补上强转;如果右侧超过了左侧的范围,那么· 直接编译器报错。】
(2)“编译器的常量忧化”:在给变量进行赋值时,如果右侧的表达式中全都是常量,没有任何变量,编译器Javac将会 直接将若干个常量表达式计算得到结果。short result = 5+8;得到就是的13
1.2 强制类型转换(显式)
(1)特点:代码需要进行特殊处理,不能自动完成。
(2)格式:范围小的类型 范围小的变量名 = (范围小的类型)原本范围大的数据(int num = (int)100L)
long——>int,double——>int
注意事项:1.强制类型转换一般不推荐使用,因为有可能发生精度损失,数据溢出。
2.byte/short/char 这三种类型都可以发生数学,“+”……;运算时都会被首先提升成int类型,然后再计算。(byte+byte-- -->int+int==>int)
3.boolean类型不能发生数据类型转换。
char转数字+0
1.3 ASCII 码表
0–48 A–65 a–97
第二章 运算符
1.四则运算
加+、减-、乘*、除/ 取模(取余数):%
对于一个整数的表达式来说,除是整除,结果只显示商。
只有对于整数的除法来说,取模运算才有余数的意义。
注意事项:(1) 一旦运算当中有不同类型的数据,那么结果将会是数据类型范围大的那种。
- 2 “+” 加号的三种用法:
(1) 对于数值来说,+ 就是加法
(2) 对于字符char类型来说,计算之前,都会被首先提升成int类型,然后再计算。
(3)对于字符串String来说,加号代表字符串连接操作。(任何数据类型和字符串连接的时候,结果都会变成字符串)
1.3 ++ 自增运算符 – 自减运算符
格式:++num,num-- (1)单独使用 (2)混合使用
使用区别:(1)单独使用时,前++和后++没有任何区别
(2)混合使用时,如果是前++,那么变量【立刻马上+1】,然后拿着结果进行使用。【先加后用】
如果是后++,那么首先使用变量本来的数值,【然后再让变量+1】。【先用后加】
注意事项:只有变量才能使用自增、自减。常量不能使用。
2.赋值运算符
基本赋值运算符:就是一个等号“=”,代表将右侧的数据交给左侧的变量。int a = 30;
复合赋值运算符:+= -= *= /= %=(模等)
注意事项:只有变量才能使用自增、自减。常量不能使用。
复合赋值运算符其中隐含了一个强制类型转换。
eg:byte num=30;num+=5; //num=num+5,num=byte+int,num=int+int,num=int,num=(byte)int;
3.比较运算符
== 相等 != 不相等
> 大于 < 小于
>= 大于等于 <= 小于等于
这些运算结果都为boolean值,成立为 true,不成立为 false
不能连续地写成1<x<4,应该是1<x&&x<4
4.逻辑运算符
与(并且)&& 全都是true,才是true;否则就是false
或(或者)|| 至少一个是true,就是true;全都是false,才是false
非(取反)! 本来是true,变成false;本来是false,变成true
与“&&”、或“||”,具有短路效果:如果左边的语句已经可以判断最终结果,那么右边的代码将不再执行。
注意事项:(1)逻辑运算符只能用于boolean值。
(2) 与、或需要左右各自有一个boolean值,但是取反只要有唯一的一个boolean值即可。
(3) 与、或两种运算符,如果有多个条件,可以连续写。
5.三元运算符
一元运算符:取反!、自增++、自减–
二元运算符:加法+、赋值 =
三元运算符:需要三个数据才可以操作的运算符。
格式:数据类型 变量名称 = 条件判断?表达式A:表达式B;
首先判断条件是否成立,如果成立为true,将表达式A赋值给左侧的变量;如果不成立为false,将表达式B赋值给左侧的变量。 二者选其一。
注意事项:必须同时保证表达式A和表达式B都符合左侧数据类型的要求;三元运算符的结果必须被使用。