Java基础知识补充(一)

环境变量配置

jdk与jre区别:
        jdk:开发工具包(jre+开发工具包)
        jre:Java运行环境(jvm+核心类库)

path与classpath的区别:
        path环境变量里面记录的是可执行文件,如.exe文件,对可执行文件先在当前路径去找,如果没有找到就去path环境变量中配置的路径去找
        classpath环境变量里记录的是Java类的运行文件所在的目录

数据类型

基本数据类型:

类型 所占字节 取值范围
byte 1 -128~127
short 2 -215~215-1
int 4 -231~231-1
long 8 -263~263-1
float 4
double 8
char 2 0~65535
boolean 未规定

’'中必须放的是单个字符,10代表的是1字符和0字符
''中什么也不放也不可以,因为什么都代表不了
用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号
float的取值范围大于long

标识符命名:

  1. 可以包含数字,字母,下划线(_),美元符号($),但不能以数字开头
  2. 严格区分大小写
  3. 不能包含Java关键字和保留字
  4. 最好能做到见名知意

方法和变量名的命名规则:

  1. 满足标识符命名规则
  2. 符合驼峰法命名规范(如果是一个单词,每个字母都小写,如果是多个单词,从第二个单词开始首字母大写)
    尽量简单,做到见名知意
  3. 变量名的长度没有限制

类或接口的命名规则:
      满足Pascal命名法规范(一个单词首字母大写,多个单词,每个单词的首字母大)

包:
        包名要求全部小写,一般是公司的域名倒着写
常量:
        如果是一个单词,所有字母大写,如果是多个单词也是所有字母大写,但是用_分开

类型转换

二进制:以0b开头
八进制:以0开头,包括0-7的数字
十六进制:以0x或0X开头,包括0-9的数字,及字母a-f或A-F

例:

byte b1=3;
byte b2=4;
byte b3=b1+b2;		(编译错误)

byte与byte(或short,char)进行运算的时候会提升为int,两个int类型相加的结果也是int类型
b1和b2是两个变量,变量存储的值是变化,在编译的时候无法判断里面具体的值,相加有可能会超出byte的取值范围

byte b4=4+3;			(编译正常)

java编译器有常量优化机制

进行混合运算的时候,byte,short,char不会相互转换,都会自动将类型提升为int类型,其他类型进行混合运算的是小的数据类型提升为大的
byte,short,char—int—long—float—double

int x=4;
int y=(x++)+(++x)+(x*10);		//x=6;y=70;

byte b=10;
b++;							//b++等价于b=(byte)(b+1);	正确
b=b+1;							//错误

short s=1;
s=s+1;			//报错,不兼容的类型: 从int转换到short可能会有损失
s+=1;			//正确,等价于s=(short)(s+1);

运算符

^逻辑异或:相同为false,不同为true。

位运算符

  • &:有0则0
  • |:有1则1
  • ^:相同则0,不同则1
  • ~:按位取反

位异或运算符的特点:
^的特点:一个数据对另一个数据位异或两次,该数本身不变。

System.out.println(5^10^10);			//5
System.out.println(5^10^5);				//10

实现两个整数变量的交换:
1.定义一个第三方变量 (开发推荐)
2. int x=10; (但是有弊端,两数相加可能会)
int y=5;
x=x+y;
y=x-y;
x=x-y;
3.不需要第三方变量,通过^来做 (面试推荐)

x=x^y;			//10^5
y=x^y;			//10^5^5		y=10
x=x^y;			//10^5^10		x=5

<<:
左移,左边最高位丢弃,右边补齐0
左移,向左移动几位就是乘以2的几次幂
>>:
右移,最高位是0,左边补齐0;最高位是1,左边补齐1
右移,向右移动几位就是除以2的几次幂
>>>:
无符号右移,无论最高位是0还是1,左边补齐0

猜你喜欢

转载自blog.csdn.net/github_38247751/article/details/82814447
今日推荐