java从入门到放弃--[1.2]java变量及运算符

关键字

Java 语言预先定义好的,有指定意义的标识符,组成程序的基本元素。

1、abstract 表示抽象

2、boolean 基本数据类型

3、break 跳出循环

4、byte 基本数据类型

5、case 与 switch 搭配使用

6、catch 与 try 搭配使用,表示捕获异常

7、char 基本数据类型

8、class 表示一个类

9、continue 跳出循环

10、do 与 while 搭配使用,表示循环

11、double 基本数据类型

12、else 与 if 搭配,流程控制

13、enum 枚举类型

14、extends 继承

15、final 修饰常量

16、float 基本数据类型

17、if 流程控制

18、implements 实现接口

19、import 引入某个类

20、int 基本数据类型

21、interface 表示接口

22、long 基本数据类型

23、native 表示本地方法

24、new 创建对象

25、package 表示包

26、private 私有

27、public 共有

28、return 返回值

29、short 基本数据类型

30、static 表示静态

31、super 表示父类

32、switch 与 case 搭配使用

33、synchronized 线程同步

34、this 表示当前实例

35、throw 抛出异常

36、throws 方法中主动抛出异常

37、try 与 catch 搭配使用

38、void 表示方法没有返回值

39、volatile 保证线程读取到最新值

40、while 表示循环

变量

  • 数据类型

  • 变量名

  • 变量值

基本数据类型+引用数据类型

数值类型:byte 1个字节、int 4个字节、short 2个字节、long 8个字节、float 4个字节、double 8个字节

非数值类型:char 2个字节、boolean 1/8个字节

 //打印类型二进制位数大小  大小除于8得到相应的位数 如byte
 System.out.println("byte 二进制位数:" + byte.SIZE);  
在计算机中,数据只用0和1还种表现形式,一个0或者1占一个“位”,而系统中规定8个位为一个字节。
​
计算机中大小的衡量
K是千 M是兆 G是吉咖 T是太拉 8bit(位)=1Byte(字节) 1024Byte(字节)=1KB 
1024KB=1MB 1024MB=1GB 1024GB=1TB

 

数据类型转换

  • 自动转换

Java 可以自动对某些数据类型进行自动转换。

规则:只能由低字节向高字节进行转换,反之则不行。

byte->short->int->long->float->double

  • 强制类型转换

Java 无法自动转换的数据类型,开发者可以通过强制手段进行转换。

一般来讲强制类型转换可能会造成精度损失。

double num = 10.0;
int num2 = (int)num;

 

运算符

  • 赋值运算符

数据类型 变量名 = 数值/变量;

//1、创建变量用来记录张三的体重
double weight1 = 70.5;
//2、创建变量表示李四的体重
double weight2 = 60.5;
System.out.println("交换之前:张三的体重是"+weight1+",李四的体重是"+weight2);
System.out.println("进行交换");
double temp = weight1;
weight1 = weight2;
weight2 = temp;
System.out.println("交换之后:张三的体重是"+weight1+",李四的体重是"+weight2);



weight2 = (weight1+weight2)-(weight1=weight2)
  • 算术运算符

    • 基本算术运算符

      +、-、*、/、%、++、--

      变量1 + 变量2

      变量1 - 变量2

      变量1 * 变量2

      变量1 / 变量2

      变量1 % 变量2

      变量++、++变量

      变量--、--变量

      变量++:先操作,再运算。

      ++变量:先运算,再操作。

    • 复合算术运算符

      +=、-=、*=、/=、%=

      变量1 += 变量2:先求出变量1和变量2之和,再把计算结果赋值给变量1,变量1 = 变量1 + 变量2

  • 关系运算符

==、!=、>、<、>=、<=

  • 逻辑运算符

逻辑运算符只能用于 boolean 类型的数据运算,判断 boolean 数据之间的逻辑关系,与、或、非。

&(与)、|(或)、!(非)、&&(短路与)、||(短路或)

参与逻辑运算符的变量都是 boolean 的

变量1 & 变量2:只有当变量 1 和变量 2 都为 true,结果为 true,否则为 false。

变量1 | 变量2:变量 1 和变量 2 只要有一个为 true,结果为 true,否则为 false。

!变量1:若变量 1 为 true,结果为 false,若变量 1 为 false,结果为 true。

变量1 && 变量2:只有当变量 1 和变量 2 都为 true,结果为 true,否则为 false。

变量1 || 变量2:变量 1 和变量 2 只要有一个为 true,结果为 true,否则为 false。

//&(与)、|(或)、&&(短路与)、||(短路或)的例子学习  执行效率上的差异
int num1 = 10;
int num2 = 11;
System.out.println((++num1==num2)||(num1++==num2));
System.out.println(num1);
​
int num1 = 10;
int num2 = 11;
System.out.println((++num1==num2)|(num1++==num2));
System.out.println(num1);
​
int num1 = 10;
int num2 = 11;
System.out.println((num1++==num2)&(++num1==num2));
System.out.println(num1);
​
int num1 = 10;
int num2 = 11;
System.out.println((num1++==num2)&&(++num1==num2));
System.out.println(num1);

条件运算符

三元运算符、三目运算符、三元表达式

根据不同的条件给同一个变量赋不同的值,变量 = 条件?值1:值2.

 

位运算符

  • 十进制和二进制的转换

十进制转二进制:目标数除以2,若能除尽,该位记做0,若除不尽,该位记做1,再对商继续除以2,以此类推,直到商为0,然后把每一位的结果反序组合就是对应的二进制。

10:1010

17:10001

二进制转十进制:从目标数的最后侧起,本位的数值乘以本位的权重,权重就是2的第几位的位数减一次方,将每一位的值进行相加,得到的结果就是对应的十进制。

位运算符:&(按位与)、|(按位或)、^(按位异或)、<<(左移)、>>(右移)

变量1 & 变量2:先把变量 1 和变量 2 转为二进制,每一位的数字一一对应,进行比较判断,若都为 1,则该位记做 1,否则记做 0。

变量1 | 变量2:先把变量 1 和变量 2 转为二进制,每一位的数字一一对应,进行比较判断,只要有一个为 1,则该位记做 1,否则记做 0。

变量1 ^ 变量2:先把变量 1 和变量 2 转为二进制,每一位的数字一一对应,进行比较判断,相同记做 0,不同记做 1。

变量1 << 变量2:变量1乘以2的变量2次方

2 << 3 : 2 * 8 = 16

变量1 >> 变量2:变量1除以2的变量2次方

2 >> 3:2/8 = 0

 

运算符的优先级

!>算术运算符>关系运算符>逻辑运算符(&&>||)

 

流程控制

  • if else

用来判断某个条件是否成立,然后执行不同的逻辑运算。

基本语法:

if(判断条件){
  //条件成立的代码
}else{
  //条件不成立的代码
}
  • 多重 if

173 M

173~178 L

178 XL

  • if 后面必须跟条件

  • else 后面不能跟条件

  • else 后面可以根据{},也可以跟 if  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章