复学day04

关于数据

int i = 128;
byte b = (byte) i;  //此时强制转换便发生了内存溢出的情况(高到低)
System.out.println(i);//128
System.out.println(b);//-128   

关于数据转换需注意的点:

1、不能堆布尔值进行转换

2、不能把对象类型转换为不相干类型

3、在把高容量转换到低容量的时候,强制转换

4、转换的时候可能存在内存溢出,或者精度问题

相关学习代码:

int money =10_0000_0000;
int years =20;
int total = money*years;//计算时数据溢出
long total2 = money*years;//默认为int格式,数据溢出后转换为long格式,所以结果依旧不对
long total3 = money*((long)years);//先将一个参数格式转换为long格式,计算时发生自动数据转换,所以结果为期望数据

关于变量

变量

作用域

上图中标识出变量作用域的属性,其中实例变量从属于对象,定义在类中、方法之外,其有默认初始数据0/null/false;目前实例变量与类变量的区别在于关键字static,后续内容学习后补充;局部变量定义在方法内,使用时必须先将其初始化。

关于常量

常量

关于命名规范

命名

关于运算符

运算符

PS:除开运算符,后续进行高级计算时,我们可以使用Math计算工具类来进行高级计算

double pow = Math.pow(3,2); // 幂运算 3^2   3*3=9
System.out.println(pow);  //9.0

关于位运算符

  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
 由于计算机内部只能识别2进制,所以位运算涉及到底层效率高(2*8如何运算效率最高)
  0000 0000   0
  0000 0001   1    
  0000 0010   2  
  //0000 0011   3
  0000 0100   4 
  0000 1000   8
  0001 0000   16    

关于条件运算符

//x ? y : z
//如果x==true,结果为y,否则为z

扩展小知识

包

简单理解,包可等同于一个文件夹

jdk帮助文档 API

posted @ 2020-11-12 23:58  何安生  阅读(57)  评论(0)    收藏  举报