JavaSe基础
Java基础
注释
多行注释: /*注释内容 */
单行注释 :// 注释内容
标识符的规范
- 标识符的开头都应该是大小写字母,美元符$,或者下划线_开始的
- 标识符大小写敏感
- 标识符不能和关键词相同
数据类型
Java是一个强类型语言:要求变量的使用严格符合规定,所有的变量都必须先定义后才能使用
- 基本类型:
- 整数:byte 占一个字节,short占2个字节,int占四个字节,long占八个字节。
- 浮点数:float占四个字节 double占八个字节
- 字符:char占两个字街
- boolean占一位 只有true和false两个值
- 引用类型: 类,接口,数组
byte num0=10;
int num1=1000; // 最常用
short num2=10;
long num3=10000L;// long类型后面要加L
// 小数:
float num4=50.1F;
double num5=3.141548414742174;
char name='a';
//String是一个类不是关键字
String num6="dajduiahuda";
// 布尔值只有是非
boolean num7=false;
数据类型的常见问题
整数扩展: 进制问题 :
- 二进制 用 0b
- 十进制常规输入就行
- 八进制用0开头
- 十六进制用0x开头
// 整数扩展: 进制 二进制0b 十进制 八进制0 十六进制0x
int i1 =10;
int i2 =0b10;
int i3 = 010;
int i4 = 0x10;
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
输出结果如下:

浮点数的扩展
浮点数扩展: 银行业务怎么表示?
// BigDecimal 数学工具类
// float 有限的 离散的 舍入误差 接近但不等于
// 最好完成使用浮点数进行比较
float f=0.1f;
double d=1.0/1;
System.out.println(f==d); //false
System.out.println(f);
System.out.println(d);
float d1=215181214515f;
float d2=d1+1;
System.out.println(d1==d2);//true
输出结果如下所示:

字符扩展
所有的字符本质都是数字,主要使用的Unicode表来转换
char c1='a';
char c2='中';
char c3='6';
char c4='\u0061';
System.out.println(c1);
System.out.println((int)c1);
System.out.println(c2);
System.out.println((int)c2);
System.out.println(c3);
System.out.println(c4);
输出如下所示

转义字符
\t 是制表符
\n 是换行
等等
类型转换
Java是强类型的语言,所以涉及到不同类型的数据计算时,要先进行数据转换
// 强制转化:高到低 (类型)变量名
// 自动转换;低到高
int i =1;
byte b= (byte)i;
int i2= 128;
byte c=(byte)i2;
double d=10.6;
int a= (int)d;
char c1='a';
int i3=c1;
System.out.println(i);
System.out.println(b);
System.out.println(i2);
System.out.println(c);
/*
注意:
不能转化boole
不能将对象转化为不相干类型
转换的时候需要注意精度问题和内存溢出问题
*/
System.out.println(d);
System.out.println(a);
System.out.println(c1);
System.out.println(i3);
输出结果:

变量
变量就是可以变化的量,java是一种强类型的语言,每个变量都必须声明其类型,变量是程序中最基本的存储单位,其要素为:变量名,变量类型,和作用域;
注意:
-
每个变量都有类型,类型可以是基本类型也可以是引用类型
-
变量名必须是合法的标识符
-
变量声明是一条完整的语句 ,因此每个声明都必须以分号结束
public class Demo03 {
static int i=1; // 类变量
String s="实例变量"; //实例变量 从属于对象的 使用时需要先初始化对象再调用
public void method(){
int i =3; // 局部变量 必须声明和初始化值
System.out.println(i);
}
}
实例变量如果不初始化初始值为0或者0.0
布尔值初始值为false
常量
常量:初始化后不能再改变值!不会变化的值;
常量名一般使用大写字符
// 修饰符 不存在先后顺序
static final double PI=3.14;
public final int LONG =1;
private final int WITH=3;
变量的命名原则
所有变量,方法,类名要见名知意
类成员变量:首字母小写和驼峰原则:monthSalary 除第一个单词以外,后面的单词首字母大写
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_LONG
类名:首字母大写和驼峰原则:People,Studennt
方法名:首字母小写和驼峰原则: test testDemo
运算
运算符
Java语言支持如下的运算符:
- 算数运算符:+ ,-,*,/,%,++,--
- 赋值运算符:=
- 关系运算符:>,<.>=,<=,!=,instanceof
- 逻辑运算符:&&,||,!
- 位运算符:&,|,^,~,>>,<<,>>>
- 条件运算符: ?:
- 扩展赋值运算符:+=,-+,/=
二元运算
//二元运算符
int a=10;
int b=20;
int c=30;
int d=40;
int e=50;
System.out.println(a+b);
System.out.println(a*b);
System.out.println(a/(double)b);
System.out.println(a%b);
结果如下所示:

关系运算
//关系运算符的返回结果:正确或者错误 是一个布尔值
int a=10;
int b=20;
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);
结果如下所示:

自增自减
int a=1;
int b=a++; //先将a赋值给b 所以b=1 然后a自增为2 a=2 b=1
int c=++a; //a先自增为3然后将a的值赋值给c a=3 b=1 c=3
int d=c--;// 先将c的值赋值给d所以d=3 然后c自减 a=3 b=1 c=2 d=3
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
结果如下所示

很多运算我们会使用工具类来进行运算;
逻辑运算符
//&&与 ||或 !非
boolean a=true;
boolean b=false;
System.out.println(a&&b); //两个变量全为真则结果为真
System.out.println(a||b); // 两个变量有一个为真则结果为真
System.out.println(a&&!b);
// 短路运算:例如 a为假 当判断a&&(b-a)时 后面b-a没有运算 直接判断为假
int a1=1;
int b1=2;
System.out.println(a1<0&&b1++>0);
System.out.println(b1);
System.out.println(a1>0&&b1++>0);
System.out.println(b1);
结果如下所示:

位运算
& | ^
A = 0001 1010
B = 0101 0100
A&B=0001 0000 与运算的意思为 当对应的数都为1时则结果为1
A|B=01011110 或运算表示当对应的数有一个为一时结果为1
A^B=01011110 当对应的数一样时为0 其余为1
如何计算2*8最快: 因为2化为二进制数为0000 0010 8化为二进制数为 0000 1000 所以
2*8可以看做是2<<3 即 2向左移动三位
三元运算符
int a=10;
int b=20;
System.out.println(a+=b); // a=a+b
System.out.println(a-=b); //a=a-b
System.out.println(""+a+b);
System.out.println(a+b+"");
// x?y:z 如果x为true 则输出y 如果x为false 则输出Z
int score =60;
String s=score>=60?"及格":"不及格";
System.out.println(s);
结果如下所示


浙公网安备 33010602011771号