Java 基础01

▲标识符

由 字母、数字、下划线、美元符号 组成

  • 字母不打头
  • 区分大小写
  • 不能使用关键字

▲常量

  1. 整数 常量
  2. 小数 常量
  3. 布尔型 常量(true/false)
  4. 字符 常量
  5. 字符串 常量
  6. null 常量

整数常量:

    • 十进制:0-9,满10进1
    • 八进制:0-7,满8进1,0开头
    • 十六进制:0-9,A-F,满16进1,0x开头

进制转换:

▲变量

数据类型

基本数据类型:byte、short、int、long、float、double、char、boolean

引用数据类型:类、接口、数组

byte:8位,-128~127,默认值0

short:16位,-32768~32767,默认值0

int:32位,默认值0,整型默认类型

long:64位,默认值0L

float:32位,单精度,默认值0.0d

double:64位,双精度,默认值0.0f,浮点数默认类型

boolean:true/false,默认false

char:16位

 

类型转换

  自动类型提升:

 

低------------------------------------------------------------>高
byte,short,char -->int -->long --> float --> double

 

  强制类型转换:

  • 大容量的数据类型转换为小容量的数据类型,必须强制类型转换。

 

  • System.out.println('a'+1);//98-->a在ASCII表中对应97

System.out.println('A'+1);//66-->A在ASCII表中对应65

  • byte b = 3;

b = (byte) (3 + 2);

 

▲运算符

  • 算术运算符:+ - * /  %(取余) ++ --
  • 关系运算符
  • 位运算符
  • 逻辑运算符:&&  ||  !
  • 赋值运算符
  • 其他运算符

算术运算符:

  ++a:先自增,再进行表达式运算

  a++:先进行表达式运算,再自增

int a = 5;
int b = 5;
int x = 2*++a;
int y = 2*b++;

最后结果:a = 6,b = 6,x = 12,y = 10

 位置运算符:

A = 0011 1100
B = 0000 1101
-----------------------
A&B = 0000 1100  (与;全1为1,有0为0; 0&0=0,0&1=0,1&0=0,1&1=1
A | B = 0011 1101  (或;全0位0,有1为1; 0|0=0,0|1=1,1|0=1,1|1=1)
A ^ B = 0011 0001  (异或;相同为0,不同为1; 0^0=0,0^1=1,1^0=1,1^1=0)
~A= 1100 0011  (非;每一位都取反

逻辑运算符:

短路性

当前后两个结果都为true时,结果才为true。

当第一个结果为false时,结果必然为false。这时候不会再进行第二个操作了。

int a = 5;
boolean b = a < 4 && a++<5;

结果:b为false,a的值还是5。(当进行第一个判断,结果为false后,就不会进行第二个操作了

条件运算符:

// 如果 a 等于 1 成立,则设置 b 为 20,否则为 30

b = (a == 1) ? 20 : 30;

instanceof运算符

运算符左侧变量所指的对象,是否是操作符右侧类或接口(class/interface)的一个对象

 运算符优先级:

(),[] ---- ++,--,~,! ---- */% ---- +,- ---- 位移 ---- 关系运算符 ----  相等 ---- 按位与& ---- 按位异或^ ---- 按位或| ---- 逻辑与& ---- 逻辑或| ---- 条件?: ---- 赋值

int a=2;
System.out.println(--a/2+(++a*2));   结果:4
System.out.println(++a*2+--a/2);  结果:7

 

▲访问控制符

原文地址:https://www.cnblogs.com/jszfy/p/12783074.html