写JAVA
src 新建java-> class
输入psvm 生成main方法快捷键
输入sout 生成System.out.println方法快捷键
注释
注释并不会执行,他是给人看的
单行注释 //
多行注释 /* */
文档注释JavaDoc
/**
*/
平时写代码注意注释规范
建空白工程
标识符
关键字
![关键字](D:\关键字2021-05-12 230234.png)
Java所有的组成部分都需要名字。类名,变量名以及方法名都成为标识符
- 所有的标识符都应该以字母(大小写都可),美元符或下划线开头
- 首字符之后可以是字母(大小写都可),美元符,下划线或者数字任意组合
- 不能使用关键字作为变量名或方法名
- 标识符是区分大小写的
- 合法标识符举例
- 可以使用中文命名,但是一般不建议,也不建议拼音,90丶很low,hhhhh
数据类型Demo2
强类型语言
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用,更安全但是速度慢
弱类型语言
和强类型相反,要求变量的使用要严格符合规定
数据类型
基本类型
引用类型:除了基本类型,其他的都是引用类型
类(String,byte等),接口,数组
字节
什么是字节
位:计算机内部数据储存的最小单位,11001100是一位八位二进制数
字节:计算机中数据处理的基本单位,一般用B表示
字符:计算机中使用的字母,数字,字和符号
1B(byte,字节)=8bit(位)
1bit表示1位
1 byte = 8 b
1024 B = 1 KB
1024 KB = 1 M
1024 M = 1 G
1024 G = 1 TB
思考题:电脑的32位和64位的区别?
CPU,寻址能力,内存
拓展
整数
二进制:0b开头的
十进制:就正常看到的
八进制:0开头的
十六进制:0x开头的
浮点数
银行业务怎么表示,不建议用float和double
float 有限 离散 舍入误差 大约 近似但不等于
double
最好完全避免使用浮点数进行比较
因此现在比较时应该用BigDecimal类,这是一种数学工具
字符类
所有字符本质上还是数字
编码 Unicode 2字节 最多表示65536个字符(Excel表格的长度最大到达2^16)
unicode编码从U0000一直到UFFFF
转义字符
\t 制表符
\n 换行符
类型转换
低----------------------------------------------------------------------------高
byte,short,char ----> int ----> long ----> float ----> double
强制类型转换
从低到高
自动类型转换
从高到低
注意点
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换成低容量的时候,强制类型转换,反之,自动转换
- 转换的时候可能存在内存溢出,或者精度问题
变量
变量是什么
-
Java是一种强类型语言,每个变量都必须声明其类型
-
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
注意事项:
- 每个变量都有类型,可以是基本类型也可以是引用类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个生命都必须以分号结束
- 不建议一行命名好几个变量
变量作用域
类变量 static
实例变量 和类变量很像但是不用static
局部变量
常量
final 放前放后都可以
final 变量类型 变量名 = 变量值
变量常量命名规范
- 所有的变量,方法,类名: 见名知意
- 类成员变量:首字母小写和驼峰原则:除了第一个单词后面的单词首字母大写
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:
- 方法名:首字母小写和驼峰原则
运算符
逻辑运算符
与或非
与 &&:都真才真
或|| :都假才假
非!
短路运算
//短路运算
int c = 5 ;
boolean d = (c<4)&&(c++<4);//因为与运算的第一项已经为false,则不会在进行后面的运算之后再去判断,称为短路运算
System.out.println(d);
System.out.println(c);
输出结果
false
5
位运算符
与或非等运算
与&,或|,非~(取反),异或^
就是对对应的每一位都取与或非等运算。
a = 0011 1100
b = 0000 1101
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001 //相同时取0,不同时取1
~b = 1111 0010
左移右移
左移<< :相当于乘以2
右移>> :相当于除以2
箭头指向哪边就是向哪边移动,这个左右移有点像进制上的左右移
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
System.out.println(2<<3);
运行结果
16
位运算效率高
扩展赋值运算符
+=
-=
*=
/=
字符串连接符
在加号运算符的两边,任意一边出现String类型,他就会把另外一个操作数或者其他操作数变成String类型,然后进行连接
int A = 10 ;
int B = 20 ;
System.out.println(""+A+B);
System.out.println(A+B+"");
运行结果
1020
30
字符串连接符也满足那个符号的运算顺序,好好理解。
三元运算符
条件运算符
?:
例如:x ?y :z
如果x==true,则结果为y;否则结果为z
int score = 80 ;
String result = score < 60 ? "不及格" : "及格" ;//返回结果为String类型
System.out.println(result);