小白Java入门基础笔记总结
JAVA数据类型及其扩展
最近开始了Java的学习,作为一个刚入门Java的小白,用博客来记录自己爹学习笔记,便于回顾,我是跟着狂神在b站上进行学习的,狂神讲的特别细致,基础什么的基本全覆盖了,感兴趣的友友可以一起学习哦。
目录
1.数据类型
JAVA数据类型分为数值型,boolean类型和引用型。
数值型分为整数类型,浮点类型和字符类型。
整数类型
| 类型 | 字节范围 | 字节(B) |
|---|---|---|
| byte | -128~127 | 1 |
| short | -32768~32767 | 2 |
| int | -2147483648~2147483647 | 4 |
| long | -9223372036854775808~9223372036854775807 | 8 |
//整数类型
byte b = 0; //java是强类型语言,变量必须定义赋值后再存在
int i=10;
short s=20;
long l=1000L;//long类型数据要在后面加L,在编译的时候知道是long类型的
浮点数类型
| 类型 | 字节(B) |
|---|---|
| float | 4 |
| double | 8 |
//小数 浮点数
float num5=5.3F;//float在后面要加一个F
double num6=45522.3;
字符类型
| 类型 | 字节(B) |
|---|---|
| char | 2 |
//字符
char num7='A';//只能有一个字符
System.out.println(a);
boolean类型
boolean类型占 1位并且只有True和False两个。
boolean a8=true;//只有两个值 true or false
引用类型
对象,类,数组。后期会补充。
2.数据类型扩展
整数扩展
整数表示可用二进制,十进制,八进制,十六进制表示。
//整数扩展
int i=10;//十进制
int i2=010;//八进制0 三位对应一个二进制数,向前补零
int i3=0x10;//十六进制 0x前缀表示为十六进制,四位对应一个二进制数,不够向前补零
System.out.println(i);
System.out.println(i2);//对应十进制数为8
System.out.println(i3);//对应十进制数为16
运行结果如下:

浮点数扩展
//浮点数扩展 浮点数存在舍入误差,所以尽量避免使用浮点数进行比较
//BigDecimal 数学工具类,可用来进行高精度计算,银行计算都用这些
float f=1.1F;
double d=1.0/10; //表示为0.1
System.out.println(f==d);//输出为flase
float d1=1556224565444f;
float d2=d1+1;//d1精度超出范围 所以+1也无反应,仍为原来的样子
System.out.println(d1==d2);//此时输出为true,可以敲代码测试一下
运行结果如下:

字符扩展
char a9='A';
char a10='中';
System.out.println(a9);
System.out.println((int)a9);//强制转换类型 转换成int
System.out.println(a10);
System.out.println((int)a10);//强制类型转换为int
运行输入结果如下:

布尔值扩展
boolean b1=true;
if(b1){ //等同于 if(b1==true)
}
可用该方法来简化代码,提升代码质量。
//所有字符本质是数字
//编码 Unicode 表:97是a,65是A 2字节,大小0-65536
char c3='\u0061';
System.out.println(c3);
运行输入结果如下:

二 .变量和运算符
变量和常量
变量分为类变量,类变量,实例变量,局部变量 三种;
常量标识符为 final,常量名一般用大写字母表示
public class demo4 {
static double salary =2500; //static 标识的变量为静态变量,可以直接输出,不需要用创建对象引用
//实例变量 作用域更大,从属于对象
String name;
int age;
//常量 final 常量名一般使用大写字母来写
//final static double PI=3.14; ① 修饰符不分前后①和②代码作用相同
static final double PI=3.14; ②
// main方法
public static void main(String[] args) {
//局部变量,必须声明和初始化值,只在main里面有作用
int i=10;
System.out.println(i);
//变量类型,变量名字=new demo4();
demo4 demo4=new demo4();
System.out.println(demo4.name);
System.out.println(demo4.age);
System.out.println(salary);//在静态方法中可以直接访问静态变量
System.out.println(PI);
System.out.println("---------------------------------------------------");
//命名规则遵循驼峰
}
//其他方法
public void add() {
}
}
操作符和运算符
1.二元运算符
二元运算符有:"+","-","*","/"
public class Demo1 {
public static void main(String[] args) {
//二元运算符
int a=10;
int b=20;
int c=30;
int d=25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);//注意作用范围,此时输的是小数0.5
System.out.println(a/b);//注意作用范围,因为a,b均为int类型,因此输出为整数0
}
}
[!NOTE]
只要有一个数值为long 那么结果就为long 其他情况结果全为int cast 转换
算数混合运算中 最低精度为int 低于这个的都为int
public class demo2 {
public static void main(String[] args) {
long a=4554444455445L;
int b=123;
short c=10;
byte d=8;
System.out.println(a+b+c+d); //输出结果为long
System.out.println(b+c+d);//输出结果为int
System.out.println(c+d);//输出结果为int
//只要有一个数值为long 那么结果就为long 其他情况结果全为int cast 转换
//算数混合运算中 最低精度为int 低于这个的都为in他、
}
}
2.关系运算符
关系运算符有: "<",">","==","<=",">=","!=''
public class Demo3 {
public static void main(String[] args) {
//关系运算符, 返回结果要么为正确,要么为错误 布尔值
int a=10;
int b=20;
int c=21;
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);
System.out.println(c%a);//取余操作 模运算
}
}
3.自增自减运算符
a++表示a自增,a--表示a自减
public class Demo4 {
public static void main(String[] args) {
//++,-- 自增 自减 一元运算符
int a=10;
System.out.println(a);
int b=a++;//可分解为a=a+1; b=a;
int c=++a;//可分解为c=a+1;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
[!NOTE]
补充 幂运算,一般会用到很多工具类来操作
//幂运算 2^3 很多运算会使用工具类来操作
double pow= Math.pow(2,3);
System.out.println(pow);//输出为2*2*2=8
4.逻辑运算符
public class Demo5 {
public static void main(String[] args) {
boolean a= true;
boolean b=false;
System.out.println("a&&b:"+(a&&b));
System.out.println("a||b:" + (a||b));
System.out.println("!(a&&b):"+!(a&&b));
}
}
[!NOTE]
补充:短路运算
//短路运算
int c=5;
boolean d=(c<4)&&(c++<4);//也就是说 与运算如果第一个条件就不满足 后面条件不会执行
System.out.println(d);
System.out.println(c);
5.位运算
A&B A和B均为1是为1
A|B 都是0为0 否则全是1 同或
A^B 相同为0 不同为1 异或
~B 非
右移 <<左移
//位运算
public class Demo6 {
public static void main(String[] args) {
/*
A=00111100
B=00001101
//左移右移操作
*/
System.out.println(2<<3); // 10向左移动3位
}
}
6.三元运算符
三元运算符 x?y:z
如果x==true 结果为y。否则为z
public class Demo8 {
public static void main(String[] args) {
//三元运算符 x?y:z
//如果x==true 结果为y。否则为z
int score=80;
String out=score<60?"不及格":"及格";
System.out.println(out);
}
}
这是学习的笔记,可能有遗漏错误之处,欢迎各位友友指正交流!!!!
浙公网安备 33010602011771号