跳至主要內容

基本概念

mozzie大约 6 分钟JavaJava

基本概念

Java基本概念,从安装Java环境到运算符的优先级,覆盖了Java程序开发中的关键内容。

1、安装 Java 环境

  • 编写 Java 代码

  • 编译 Java 代码,成为字节码文件 16 进制

    javac 文件名(带后缀)

  • 让 JVM 执行字节码文件,运行程序 java 文件名(不带后缀)

IDE:集成开发环境

Eclipse、IDEA

2、注释

注释就是用通俗易懂的语言对代码进行描述解释,方便自己和他人阅读。

  • 单行注释:
//注释内容
  • 多行注释:
/*注释内容
注释内容
注释内容
*/
  • 文档注释:
/**注释内容
*注释内容
*注释内容
*/

3、关键字

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

abstract表示抽象
boolean基本数据类型
break跳出循环
byte基本数据类型
case与 switch 搭配使用
catch与 try 搭配使用,表示捕获异常
char基本数据类型
class表示一个类
continue跳出循环
do与 while 搭配使用,表示循环
double基本数据类型
else与 if 搭配,流程控制
enum枚举类型
extends继承
final修饰常量
float基本数据类型
if流程控制
implements实现接口
import引入某个类
int基本数据类型
interface表示接口
long基本数据类型
native表示本地方法
new创建对象
package表示包
private私有
public共有
return返回值
short基本数据类型
static表示静态
super表示父类
switch与 case 搭配使用
synchronized线程同步
this表示当前实例
throw抛出异常
throws方法中主动抛出异常
try与 catch 搭配使用
void表示方法没有返回值
volatile保证线程读取到最新值
while表示循环

4、变量

  • 数据类型
  • 变量名
  • 变量值
基本数据类型`+`引用数据类型

5、使用变量

1、声明变量的数据类型和变量名(包含数字、字母、下划线、$,不能包含空格、运算符,不能用关键字命名,不能以数字开头),大小写可以混用,首单词应该小写,后续单词的首字母大写。

userId、studentName (驼峰式命名法)

2、给内存空间赋值,该值就是变量值。

6、Java 的数据类型

  • 基本数据类型

byte、int、short、long、float、double、char、boolean

数值类型(整数、小数)

byte 1 个字节 (8位)

int 4 个字节(32位)

short 2 个字节(16位)

long 8 个字节(64位)

float 4 个字节(32位) 单精度浮点型

double 8 个字节(64位)双精度浮点型

非数值类型(文本)

char 2 个字节(16位)

boolean 1 个字节(8位)、判断逻辑是否成立 true 1/false 0

  • 引用数据类型

7、数据类型转换

  • 自动转换

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

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

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

  • 强制类型转换

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

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

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

8、运算符

  • 赋值运算符

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

//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);
  • 算术运算符

    • 基本算术运算符

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

      变量1 + 变量2

      变量1 - 变量2

      变量1 * 变量2

      变量1 / 变量2

      变量1 % 变量2

      变量++、++变量

      变量–、--变量

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

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

    • 复合算术运算符

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

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

  • 关系运算符

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

  • 逻辑运算符

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

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

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

1、变量1 & 变量2:只有当变量 1 和变量 2 都为 true,结果为 true,否则为 false。 【A & B AB都会执行】

2、变量1 | 变量2:变量 1 和变量 2 只要有一个为 true,结果为 true,否则为 false。【A | B AB都会执行】

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

4、变量1 && 变量2:只有当变量 1 和变量 2 都为 true,结果为 true,否则为 false。 【A && B 若A为false,B不执行】

5、变量1 || 变量2:变量 1 和变量 2 只要有一个为 true,结果为 true,否则为 false。【A || B 若A为true,B不执行】

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);

9、条件运算符

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

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

10、位运算符

  • 十进制和二进制的转换

十进制转二进制:

目标数除以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

11、运算符的优先级

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

贡献者: du