Java基础
1.注释
//单行注释
/*
多行注释
*/
/**
文档注释可显示内容
*/
命名规范
所有变量、方法、类名:见名知意
类成员变量:首字母小写和驼峰原则: monthSalary除了第一个单词以外,后面的单词首字母大写lastname lastName
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则: Man, GoodMan
方法名:首字母小写和驼峰原则: run(), runRun(
2.标识符和关键字
标识符
所有的标识符都应该以字母(A-Z 或者 a-z),美元符($),或者下滑线(_)开始
首字符之后可以是字母(A-Z或者a-z),美元符($),下划线(_)或数字的任何字符组合
不能使用关键字作为变量名或方法名。
标识符是大小写敏感的
合法标识符举例:age,$asly,_value,__1_value
非合法标识符举例:123abc,-saly,#abc
可以使用中文命名,但不建议,也不建议用拼音命名
关键字
byte short int long float double char boolean
package public private void new if else for while break final finally do class
abstract assert case catch const continue default enum extends goto implement import
instanceof interface native protected return strictfp static super switch synchronized this
throw throws transient try volatile ......
3.数据类型
Java的数据类型分为基本类型(primitive type)和应用类型(reference type)
基本类型(Primitive Type)
byte、short、int、long、float、double、char、boolean
级别 底 byte,short,char -> int -> long -> float -> double 高
底转高 自动转换
高转底 需强制转 (类型)变量名
int i = 128;
byte b =(byte)i; //内存溢出
/*
把高容量转底容量的时候,强制转换
转换的时候可能存在内存溢出,精度问题
*/
//JDK7 新特性,数字之间可以用下滑线分割
int money = 1_000_0000;
int y = 20;
long = money*((long)y);
第一类、整数类型
byte:8 位,于表示最小数据单位,符号的,以二进制补码表示的整数 -128~127
short:16 位,符号的以二进制补码表示的整数 -32768 ~ 32767
int:32 位,常用,符号的以二进制补码表示的整数 -2147483648~2147483647 (正负21亿)
long:64 位,常用,符号的以二进制补码表示的整数需要在后面加L
第二类、浮点数类型
float:单精度类型,32 位,后缀 F 或 f,1 位符号位,8 位指数,23 位有效尾数。
double:双精度类型,64 位,最常用,后缀 D 或 d,1 位符号位,11 位指数,52 位有效尾数。
第三类、字符类型
char:是一个单一的16位,java字符使用Unicode编码,
第四类、布尔类型
boolean:true 真 和 false 假 布尔值
记忆方式
8位:byte(字节型)
16位:short(短整型)、char(qa)(字符型)
32位:int(整型)、float(单精度型/浮点型)
64位:long(lo)(长整型)、double(da bo)(双精度型/浮点型)
最后一个:boolean(布尔类型)
位(bit) :是计算机内部数据储存的最小单位,11001100是一个八位二进制数。
字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示,1B (byte,字节) = 8bit(位)
字符:是指计算机中使用的字母、数字、字和符号
1bit表示1位
1Byte表示一个字节 1B=8b
1024B=1KB 1024kB=1M 1024M=1G 1024G=1TB
整数扩展: 进制 二进制0b 十进制 八进制0 十六进制0x
int i = 10;
//输出结果:10
int i1 = 010; //八进制0
//输出结果:8
int i2 = 0x10; //十六进制0x 0~9 A~F 16
//输出结果:16
BigDecimal数学工具类
引用数据类型(Reference Type)
类
接口
数组
转义字符(待补充)
\t 制表符
\n 换行
\u Unicode 字符编码转义
4.运算符
算术运算符:+,-,*,/,%,++,–
int a = 10;
int b = 20;
int c = 21;
System.out.println(a+b);//30
System.out.println(a-b);//-10
System.out.println(a*b);//200
System.out.println(a/(double)b);//作用范围不同需强转 0.5
System.out.println(a%b);//取模 1
---------------------------------------------------------
//++ -- 自增 自减 一元运算符
int a =3;
int b =a++;//a++ a=a+1 执行这行代码先给b赋值,再执行a++
System.out.println(a);//4
int c =++a;//++a a=a+1 先执行++a,再就行赋值
System.out.println(a);//5
System.out.println(b);//3
System.out.println(c);//5
---------------------------------------------------------
//幂运算 2^3 2*2*2=8 很多运算都会用到工具类
doubli pow = Math.pow(3,2);
System.out.println(pow);//9.0
赋值运算符:=
int a = 10; //赋值
关系运算符:>,<,>=,<=,==,!=,instanceof
//关系运算符返回结果布尔值Boolean
int a = 10;
int b = 20;
System.out.println(a>b);//false
System.out.println(a<b);//true
System.out.println(a>=b);//false
System.out.println(a<=b);//false
System.out.println(a==b);//false
System.out.println(a!=b);//true
逻辑运算符:&&,||,!
// &&与(and) ||或(or) !非(取反)
boolean a = true;
boolean b = false;
System.out.println(a&&b);//false 两个结果为真结果为true,有短路功能如第一个为false则不会计算后面结果
System.out.println(a||b);//true 两个结果有一个为真,结果为true
System.out.println(!(a&&b));//true 假为真,真为假
位运算符:&,|,^,~,>>,<<,>>>(需了解)
/*
A = 0011 1100
B = 0000 1101
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~B = 1111 0010
2*8 = 16 2*2*2*2
计算最快效率高
<< *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
条件运算符: ? :
//三元运算符 X ? Y : Z 如果x==true,则结果为y,否则为z
int x = 80;
String cj= x<60 ?"不及格":"及格";
System.out.println(cj);//及格
扩展赋值运算符:+=,-=,*=,/=
a+=b;//a=a+b
a-=b;//a=a-b
a*=b;//a=a*b
a/=b;//a=a/b
-------------------------
//字符串连接符 + ,String
System.out.println(""+a+b);//则全会变字符串拼接
System.out.println(a+b+"");//先计算再拼接
运算符优先级
优先级 | 运算符 | 结合性 |
---|---|---|
1 | ()、[]、{} | 从左向右 |
2 | !、+、-、~、++、– | 从右向左 |
3 | *、/、% | 从左向右 |
4 | +、- | 从左向右 |
5 | «、»、>>> | 从左向右 |
6 | <、<=、>、>=、instanceof | 从左向右 |
7 | ==、!= | 从左向右 |
8 | & | 从左向右 |
9 | ^ | 从左向右 |
10 | | | 从左向右 |
11 | && | 从左向右 |
12 | || | 从左向右 |
13 | ? : | 从右向左 |
14 | =、+=、-=、*=、/=、&=、|=、^=、~=、«=、»=、>>>= | 从右向左 |
5.包机制,JavaDoc生成帮助文档
//包的本质就是文件夹
package