java SE 基础概念梳理(一)

时间:2021-02-26 12:51:06

 (一)First

摘要:Java概述、Java开发环境搭建、程序开发流程

Java概述

  •  Java的应用

开发QQ、迅雷程序(桌面应用软件)
开发淘宝、京东(互联网应用软件)

  • Java的擅长

互联网:电商、P2P等等
企业级应用:ERP、CRM、BOS、OA等等

  • Java语言平台

JavaSE(标准版)
JavaEE(企业版)

Java开发环境搭建

  • 常用的DOS命令

win+r--cmd--回车:   打开Dos控制台   
cd.. :        退回到上一级目录
cd\ :         退回到根目录
d: :          回车 盘符切换
dir :         列出当前目录下的文件以及文件夹
cls :         清除屏幕
ipconfig:       查看本机的相关网络配置

  • JDK的下载和安装
    1. 从官网上下载并安装JDK。(注意设置环境变量)
    2. 验证安装是否成功:打开Dos控制台输入javac,如果正常显示一些内容,说明安装成功。
  • JDK和JRE和跨平台

    JDK与JRE的关系

JDK:它是Java开发运行环境;
JRE:它是Java运行环境(Java Runtime Environment);( JDK包含了JRE)

    跨平台特性

平台指的是操作系统 (如:Windows,Linux,Mac)。
Java程序可以在任意操作系统上运行,一次编写到处运行。实现跨平台需要依赖Java的虚拟机 JVM 。

程序开发流程

  • Java代码的编写执行过程

源文件:编写Java源文件(我们也称之为源代码文件),它的扩展名为.java;
编译:然后通过编译器把源文件编译成字节码文件,字节码文件扩展名为.class;
运行:最后使用解释器来运行字节码文件。

  • Java注释注意点

1:对于单行和多行注释,被注释的文字,不会被JVM解释执行
2:对于文档注释,可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档
3:单行注释可以嵌套使用,多行注释不能嵌套使用

  • 一般命名习惯:

类名&接口名:大驼峰式 HelloWorld
变量名&方法名:小驼峰式 helloWorld
常量名:使用_连接HELLO_WORLD

  • Java数据类型

基本数据类型:整数(byte、short、int、long)、小数(float、double)、字符类型(char)、布尔类型(boolean)
引用数据类型:数组、类、接口


 (二)Second

摘要:变量、运算符、引用类型、流程控制语句

变量

  • 数据类型四类八种

整型  byte    -128~127
    short 
    int 
    long 
浮点型 float
    double
字符型 char 表示一个字符
布尔型 boolean只有两个值true与false

整形常量默认是int类型
小数常量默认是double类型
定义长整形数据如果值超过int取值范围后面要加"L"
定义float类型的数据后面一定要加"f" 

String 是引用数据类型

  • 自动转换

范围大的数据类型 变量 = 范围小的数据类型值;  如:int i = 1;double j = i;

  • 强制转换

范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值;  如:int i = (int)6.718; //i的值为6

运算符

  • 算数运算符
  • 逻辑运算符

& 与     false&true False
| 或      false|true True
^ 异或     true^flase True
! 非      !true Flase
&& 短路与   false&&true False
|| 短路或   false||true True

短路与&&:  参与运算的两边数据,有false,则运算结果为false;
短路或||:    参与运算的两边数据,有true,则运算结果为true;

  • 三元运算符

    (条件表达式)?表达式1:表达式2;==>不能嵌套使用

  • 运算符优先级

优先级 描述 运算符
1 括号 ()、[]
2 正负号 +、-
3 自增自减,非 ++、--、!
4 乘除,取余 *、/、%
5 加减 +、-
6 移位运算 <<、>>、>>>
7 大小关系 >、>=、<、<=
8 相等关系 ==、!=
9 按位与 &
10 按位异或 ^
11 按位或 |
12 逻辑与 &&
13 逻辑或 ||
14 条件运算 ?:
15 赋值运算 =、+=、-=、*=、/=、%=
16 位赋值运算 &=、|=、<<=、>>=、>>>=

引用类型

  • 引用数据类型的定义格式

    数据类型 变量名 = new 数据类型();

例如:

Scanner类的使用

    1. import导包:import java.util.Scanner;
    2. 创建对象 Scanner sc = new Scanner(System.in);
    3. 读取键盘录入的一个整数:int enterNumber = sc.nextInt();
    4. 读取键盘录入的字符串 : String enterString = sc.next();

Random随机数类的使用

    1. import导包:import java.util. Random;
    2. 创建实例:Random rd = new Random ();
    3. nextInt(int maxValue) 产生[0,maxValue)范围的随机数,包含0不包含maxValue
    4. nextDouble() 产生[0,1)范围的随机数

流程控制语句(if语句、while语句、do-while语句、for语句、switch语句)

  • if语句对比三元运算符
    1. 判断条件多,使用if;  2.三元运算符必须有结果的, if 可以没有结果的;
  • switch语句

      关键字: switch case default break

      case穿透问题

      switch语句中的表达式的数据类型

JDK1.0 - 1.4 数据类型接受 byte short int char
JDK1.5 数据类型接受 byte short int char enum(枚举)
JDK1.7 数据类型接受 byte short int char enum(枚举), String


 (三)Third

摘要:数组

数组

  • JVM内存划分(划分为5个区域)

寄存器:         内存和CUP之间
本地方法栈:       JVM调用了系统中的功能
方法和数据共享:      运行时期class文件进入的地方
方法栈:        所有的方法运行的时候进入内存
堆:          存储的是容器和对象

 

  • 一维数组的定义

      数据类型[] 数组名 = new 数据类型[元素个数或数组长度];  如:int[] x = new int[10];

  • 一维数组初始化

动态初始化 : 在定义数组时只指定数组的长度,由系统自动为元素赋初值的方式称作动态初始化。
1、类型[] 数组名 = new 类型[长度];
int[] arr = new int[4];
静态初始化: 在初始化数组时还有一种方式叫做静态初始化,就是在定义数组的同时就为数组的每个元素赋值。
2、类型[] 数组名 = new 类型[]{元素,元素,……};
int[] arr = new int[]{1,2,3,4};
3、类型[] 数组名 = {元素,元素,元素,……};
int[] arr = { 1, 2, 3, 4 };

  • 二维数组的定义

第一种定义格式:
int[][] arr = new int[3][4];

第二种定义格式
int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};

第三种定义格式(不常用)
int[][] arr = new int[3][];
第三种方式和第一种类似,只是数组中每个元素的长度不确

  • 二维数组的例子

class ArrayDemo {
public static void main(String[] args){

//定义二维数组的方式
int[][] arr = new int[3][4];
System.out.println( arr );
System.out.println("二维数组的长度: " + arr.length);
//获取二维数组的3个元素
System.out.println( arr[0] );
System.out.println( arr[1] );
System.out.println( arr[2] );

System.out.println("打印第一个一维数组的元素值");
System.out.println( arr[0][0] );
System.out.println( arr[0][1] );
System.out.println( arr[0][2] );
System.out.println( arr[0][3] );

System.out.println("打印第二个一维数组的元素值");
System.out.println( arr[1][0] );
System.out.println( arr[1][1] );
System.out.println( arr[1][2] );
System.out.println( arr[1][3] );

System.out.println("打印第三个一维数组的元素值");
System.out.println( arr[2][0] );
System.out.println( arr[2][1] );
System.out.println( arr[2][2] );
System.out.println( arr[2][3] );
}
}