JAVA基础(01)数据类型和运算符

一、其他

1、注释

(1)单行注

(2)多行注

(3)文档注

2、标识符

(1)标识符其它部分可以是字母、下划线、美元符和数字的任意组合,数字不能开头;

(2)Java 标识符大小写敏感;

(3)java 采用 unicode 字符集,标识符可以包含汉字,但是不建议使用;

3、关键字

(1)java 里面有 goto 但是已经不使用了;

二、变量

1、变量的本质和分类

(1)变量本质

  • 是一个容器,装什么和装多少是核心问题;
  • 变量必须先初始化才能使用,只有静态变量会默认初始化;

(2)变量分类:局部变量 、成员变量、 静态变量

       

2、常量

(1)具体的数字、字符、字符串、true、false 都是常量,就是不可更改的量;

(2)变量加 final 修饰也可以转换成常量;

(3)常量通常这么写:MAX_VALUE;

3、基本数据类型

(1)三大类八小类

    

  • 进制:二进制 0b 开头;八进制 0 开头;十六进制 0x 开头; 

(2) 整型

  • byte 类型的范围 -128到127
  • 默认 int,long 型赋值后面要加 L;

(3)浮点型

  • 默认 double,float 后面要加 F;
  • 在 java 里浮点数都是不精确的,不能进行比较;
  • 涉及更精确的计算,可以使用 BigInteger 和 BigDecimal;
  • float 的精度只有7位,double 的精度是他的两倍;

(4)字符型

  • 'a' 和 "a" 不是一样的:前者是字符,后者是字符串;
  • 字符单引号中有且只能有 1 个,不能为空;
  • 字符型占两个字节的原因,java 采用的是 unicode 字符集;
  • String 的实质是字符序列;

(5)布尔型

  • 占一位,而不是一个字节;
  • 不能用0和非0来表示;
  • 流程判断时,建议这么用:flag=true;if(flag){}

4、类型转换

(1)自动转换:小的转大的,不会有精度的损失;

(2)强制转换:大的转小的,可能会有精度的损失;

(3)转换问题

  • 转换的特例:可以将整型常量直接赋值给 byte、 short、char 等类型变量,而不需要进行强制类型转换,只要不超出其表数范围即可;
  • char 和 int 的相互转换通过查码表来实现;

三、运算符

1、运算符分类

2、算术运算符:加减乘除

(1)整数运算

  • 整数的运算结果有 long 型的话最后的结果就是 long,其他的情况都是 int;

(2)浮点运算

  • 只要有一个 double 结果就是 double;

(3)取模运算

  • 余数的符号和左边的操作数一样:-7%3=-1,7%-3=1;

(4)一元运算符 ++ 与 --

3、赋值运算符:等于

(1)a*=b+3 相当于 a=a*(b+3)

4、关系运算符:大小判断

(1)= 是赋值运算符,== 判断是否相等

(2)==、!= 是所有(基本和引用)数据类型都可以使用;其他的符号仅针对数值类型;

5、逻辑运算符:与或非

(1)逻辑与(&);逻辑或(|);逻辑非(!);逻辑异或(^);异或的逻辑是异一

(2)短路与(&&);短路或(||);从左到右判断,有一个不满足就不用继续判断了;

6、位运算符:二进制位的运算

(1)概览

       

(2)注意:& 和 | 既是逻辑运算符,也是位运算符。如果两侧操作数都是boolean类型,就作为逻辑运算符;如果两侧的操作数是整数类型,就是位运算符;

7、三目条件运算符

(1)x ? y : z ------------------ x为true执行y,否则执行z;

8、运算符的优先级

(1)不用记,提升优先级可以用小括号来实现;

(2)逻辑与、逻辑或、逻辑非的优先级(逻辑非>逻辑与>逻辑或);

***简单的键盘输入和输出:scanner 类和 nextline() 方法

猜你喜欢

转载自blog.csdn.net/stanwuc/article/details/82895164