java SE 基础概念梳理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java SE 基础概念梳理相关的知识,希望对你有一定的参考价值。
(一)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的下载和安装
- 从官网上下载并安装JDK。(注意设置环境变量)
- 验证安装是否成功:打开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类的使用
- import导包:import java.util.Scanner;
- 创建对象 Scanner sc = new Scanner(System.in);
- 读取键盘录入的一个整数:int enterNumber = sc.nextInt();
- 读取键盘录入的字符串 : String enterString = sc.next();
Random随机数类的使用
- import导包:import java.util. Random;
- 创建实例:Random rd = new Random ();
- nextInt(int maxValue) 产生[0,maxValue)范围的随机数,包含0不包含maxValue
- nextDouble() 产生[0,1)范围的随机数
流程控制语句(if语句、while语句、do-while语句、for语句、switch语句)
- if语句对比三元运算符
- 判断条件多,使用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] );
}
}
以上是关于java SE 基础概念梳理的主要内容,如果未能解决你的问题,请参考以下文章