狂神说Java
Java基础05:类型转换
运算中,不同类型的数据先转化为同一类型,然后进行运算。
强制类型转换:
(类型)变量名 高-低
int i = 128;
byte b = (byte)i;//内存溢出
自动类型转换:
低–高
注意点:
1、不能对布尔值进行转换
2、不能把对象类型转换为不相干的类型
3、在把高容量转换到低容量的时候,强制转换
4、转换的时候可能存在内存溢出、或者精度问题
操作比较大的数的时候,注意溢出问题
JDK7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
Java基础06:变量、常量、作用域
变量:
可以变化的量
每个变量都必须声明类型
作用域:
- 类变量
- 实例变量
- 局部变量
public class Demo08 {
//属性:变量
//类变量 static
static double slary = 2500;
//实例变量:从属于对象;如果不进行初始化,会设置为这个类型的默认值
//布尔值:默认是false
//除了基本类型,其余的都是null
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量,必须声明和初始化值
int i = 10;
System.out.println(i);
//变量类型 变量名字 = new Demo08();
Demo08 demo08 = new Demo08();
System.out.println(demo08.age);
System.out.println(demo08.name);
//类变量 static
System.out.println(slary);
}
//其他方法
public void add()
{
}
}
常量:
public class Demo09 {
//修饰符,不存在先后顺序
static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
变量的命名规范:
- 见名知意
- 类成员变量和局部变量:首字母小写和驼峰原则:monthSalary
- 常量:大写字母和下划线
- 类名:首字母大写和驼峰原则
- 方法名:首字母小写和驼峰原则
Java基础07:基本运算符
package operator;
public class Demo01 {
public static void main(String[] args) {
//二元运算符
//ctrl + D: 复制当前行到下一行
int a = 10;
int b = 20;
int c = 25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);
}
}
package operator;
public class Demo02 {
public static void main(String[] args) {
long a = 123123123123123L;
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
}
}
package operator;
public class Demo03 {
public static void main(String[] args) {
//关系运算符返回的结果:正确,错误
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);
}
}
Java基础08:自增自减运算符、初识Math类
package operator;
public class Demo04 {
public static void main(String[] args) {
//++ -- 自增,自减 一元运算符
int a = 3;
int b = a++;//执行完这行代码后,先给b赋值,再自增
int c = ++a;//执行完这行代码前,先给c赋值,再自增
System.out.println(a);
System.out.println(a);
System.out.println(b);
System.out.println(b);
System.out.println(c);
//幂运算
double pow = Math.pow(2,3);
System.out.println(pow);
}
}
很多运算,我们会使用一些工具类来操作
Java基础09:逻辑运算符、位运算符
package operator;
//逻辑运算符
public class Demo05 {
public static void main(String[] args) {
//与(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
System.out.println(a && b);
System.out.println(a || b);
System.out.println(! (a && b));
//短路运算
int c = 5;
boolean d = (c < 4)&&(c++ < 4);
System.out.println(d);
System.out.println(c);
}
}
package operator;
public class Demo06 {
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~B = 1111 0010
<< *2
>> /2
*/
}
}