1. Java语言概述

java语言的特性:①面向对象性 ②健壮性 ③跨平台性(write once ,run anywhere)—JVM

河床好比操作底层,jdk好比是河水,java应用程序好比是船。

JVM (Java Virtual Machine) : 解决了不同操作系统之间的差异;
JRE (Java Runtime Environment) : 包括java虚拟机 + 解释器;
JDK (Java Development Kit) : 包括java开发工具包 + JRE
在这里插入图片描述

安装JDK之后,在Dos命令窗口输入:javac ,即可查看JDK常用命令。

2. 关键字 & 标识符

关键字:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
标识符:凡是自己可以起名字的地方都叫标识符
命名的规则:(一定要遵守,不遵守就会报编译的错误)

  1. 由26个英文字母大小写,0-9 ,_或 $ 组成 ;
  2. 数字不可以开头;
  3. 不可以使用关键字和保留字,但能包含关键字和保留字;
  4. Java中严格区分大小写,长度无限制
  5. 标识符不能包含空格

Java中的名称命名规范:(不遵守,也不会出现编译的错误)

  • 包名:多单词组成时所有字母都小写:xxxyyyzzz
  • 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
  • 变量名、方法名:首个单词首字母小写,第二个单词首字母大写:xxxYyyZzz
  • 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

转义字符
在这里插入图片描述

3. 变量

变量的分类

  • 按照数据类型的不同:基本数据类型(8种) & 引用数据类型(数组 类 接口)
  • 按照声明的位置的不同:成员变量 & 局部变量

成员变量和局部变量区别
相同点:

  1. 遵循变量声明的格式: 数据类型 变量名 = 初始化值();
  2. .都有作用域

不同点:

  1. 声明的位置的不同 :成员变量:声明在类里,方法外;局部变量:声明在方法内,方法的形参部分,代码块内
  2. 成员变量的修饰符有四个:public private protected 缺省;局部变量没有修饰符,与所在的方法修饰符相同。
  3. 成员变量:如果在声明的时候,不显式的赋值,那么不同数据类型会有不同的默认初始化值 ; 局部变量:一定要显式的赋值。(局部变量没有默认初始化值)
  4. 二者在内存中存放的位置不同:成员变量存在于堆空间中;局部变量:栈空间中

变量的运算
①自动类型转换:容量小的数据类型自动转换为容量大的数据类型。

short s = 12;
int i = s + 2;
注意:byte short char之间做运算,结果为int型!

②强制类型转换:是①的逆过程。使用“()”实现强转。

4. 运算符

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
算术运算符
注意:i++:先+1,后运算 i++:先运算,后+1

赋值运算符
= += -= *= /= %=

比较运算符(关系运算符)
== > < >= <= instanceof

逻辑运算符(运算符的两端是boolean值)
&(and 逻辑与) && (and 短路与) | || ^ !

“&&”运算符,符号的两边都为true时,结果为true。只要有一边不为true,结果即为false。
“||”运算符,符号的两边只要有一边为true,结果就为true,如果都为false,结果即为false。

三元运算符
(条件表达式)? 表达式1 : 表达式2;
1)既然是运算符,一定会返回一个结果,并且结果的数据类型与表达式1,2的类型一致
2)表达式1与表达式2 的数据类型一致。
3)使用三元运算符的,一定可以转换为if-else。反之不一定成立。
比如:

 		//4 < 3表达式的结果为true和false的其中一个。
        boolean n = (4 < 3) ? true : false;
        //打印并显示结果
        System.out.println(n);//会输出 false
 		//按位与运算符,两个数同位都为1的时候即为1,
 		//有一边不是1的话就为0,即结果为false。
        int a = 4 & 3;
        System.out.println(a);//输出:0
        //按位或运算符,两个数同位有一个为1的时候即为1。
        int b = 4 | 3;
        System.out.println(b);//输出:7
        //按位异或运算符,两个数同位都为1的时候即为0。有一个为1即为1
        int c = 4 ^ 3;
        System.out.println(c);//输出:7

        //右移运算符“>>”是把操作数转换成二进制数向右移动指定的位数。
        // 右移运算符是有符号的,如果为正数就补0,如果为负数就补1。
        int d = 7 >> 2 ;
        System.out.println(d);//输出:1

        //无符号右移运算符“>>>”是把操作数转换成二进制数向右移动指定的位数。
        // 无符号右移运算符全在最高位上补0。
        int e = 15 >>> 2 ;
        System.out.println(e);//输出:3

5. 流程控制

1.顺序结构:程序从上往下的顺序执行

2.分支结构:

  • if-else
  • switch-case

3.循环结构:

  • while(){}
  • do{}while()
  • for( ; ; ){}

在这里插入图片描述
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐