Java基础知识点

Dear小七 软件测试工程师  2019-02-28 11:21:49
1.Java语言的特点 (1)Java语言是一种面向对象的编程语言 (2)简单、高效、稳定、安全性高 (3)Java语言是一种与平台无关的编程语言,因为其自身提供程序运行的解 释环境 (4)支持多线程处理 (5)Java语言是一种面向网络的高级语言 2.ava两种核心机制 Java虚拟机JVM(Java Virtual Machine) 垃圾回收机制(Garbage Collection) 3.JDK是整个Java的核心,其中 包括Java的运行环境(Java Runtime Envirnment),一堆Java工具和Java基础类库(rt.jar) 4.JDK的基本组件包括: (1) .javac — 编译器,将源程序转为字节码; (2) .jar — 打包工具,将相关的类文件打包成一个文件; (3) .javadoc — 文档生成器,从源码注释中提取文档; (4) .jdb — debugger,查错工具; (5) .java — 运行编译后的Java程序(后缀为.class)使用dir命令可查看D盘中的所有文件运行javac HelloWorld.java命令java HelloWorld 第二章 JAVA语法 1.类名、变量名以及方法名都被称为标识符 2.关于Java标识符,有以下几点需要注意: (1)所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划 线(_)开始 (2) 首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或 数字的任何字符组合 (3)关键字不能用作标识符 (4)标识符是大小写敏感的 3.所有java关键字都是小写英文 goto和const虽然从未被使用,但是作为java关键字保留起来。 4.Java语言中的数据类型分为两大类:(1)基本数据类型: 共有4类8种,分别是整数型(byte型、short型、int型、long型) 浮点型(float型、double型)、字符型(char型)和布尔型(boolean型)。(2)引用数据类型,又称为复合数据类型: 包括数组(array)、类(class)、接口(interface)和字符串(String)。 注意:String 不是基本数据类型,是引用数据类型,它是Java提供的一个类 5.数据在进行类型转换时遵循以下几个原则: (1) boolean(布尔)型的数据不能与其他数据类型进行相互转换; (2) 自动类型转换发生在容器小的类型转换为容器大的类型的情况下; (3) 数据类型按容器大小排序为: Byte,short,char->int->long->float->double (4) Byte,short,char之间不会相互转换,他们三者在计算时首先会转换成int类型 (5) 容器大的类型转换成容器小的类型时,要加上强制转换符,但可能造成精度降低或者溢出, 使用时要格外小心; (6)多种数据类型混合运算时,系统首先将所有的数据转换成容器最大的那个类型,然后再进行计算 6. Java变量的分类 (1)按被声明的位置划分: 局部变量:方法或语句块内部定义的变量 成员变量:方法外部,类的内部定义的变量 注意:类外面(与类对应的大括号外面)不能有变量的声明 (2)按所属的数据类型划分: 基本数据类型变量 引用数据类型变量 7. 使用变量的步骤 第一步:声明变量,根据数据类型在内存申请空间 第二步:赋值,将数据存储至对应的内存空间 第三步:使用变量,获取数据值 数据类型 变量名; 变量名 = 数值; 数据类型 变量名 = 数值; 注:第一步和第二步可以合并 int amount; money = 200; 等价于int money = 200;8. 常量:final <数据类型> <常量名> =<初始值> final double PI=3.149. 单目运算符包括! ~ ++ --,优先级别高 (1)优先级别最低的是赋值运算符 (2)可以通过()控制表达式的运算顺序,()优先级最高 (3)从右向左结合性的只有赋值运算符、三目运算符和单目运算符 (4)算术运算符 > 关系运算符 > 逻辑运算符 三目运算符:三元运算符 int min; min = 5 < 7 ? 5 : 7; //条件?表达式1:表达式2,。判断条件,为真则执行表达式1,为假则执行表达式2. System.out.println(min); min = 10 < 7 ? 10 : 7; System.out.println(min); 10.运算符的优先级 :最高的优先级:( ) 最低的优先级:= 优先级顺序!> 算术运算符 > 比较运算符 > && > || 11. while(): 特点:先判断,再执行 do while(): 特点:先执行,再判断 12. 区别1:语法 区别2:执行顺序 (1)while 循环: 先判断,再执行(初始情况不满足循环条件时,一次都不会执行) (2)do-while循环:先执行,再判断((初始情况不满足循环条件时,至少执行一次)) (3)for循环: 先判断,再执行 区别3:适用情况 (1)循环次数确定的情况,通常选用for循环 (2)循环次数不确定的情况,通常选用while和do-while循环 continue:作用是略过当次循环中剩下的语句 13,比较switch 和多重if选择结构: 相同点:都是用来处理多分支条件的结构 不同点:switch选择结构:只能处理等值条件判断的情况 。 多重if选择结构:适合某个变量处于某个连续区间时的情况 14, 流程 控制语句- break:改变程序控制流:用于do-while、while、for循环中。需要在某种条件出现时,强行终止结束循环,而不是等到循环条件为false时终止 。(可用于switch结构和循环结构中),(终止某个循环,程序跳转到循环块外的下一条语句) continue :只能在循环中使用,continue只是中止本次循环,接着开始下一次循环 第三章 数组 1. 数组是Java语言中常见的一种引用数据类型,它是具有相同数据类型的一组数据的集 2. 数组基本要素(1) 标识符:数组的名称,用于区分不同的数组; (2) 数组元素:向数组中存放的数据; (3) 元素下标:对数组元素进行编号,从0开始,数组中的每个元素都可以通过下标来访问; (4) 元素类型:数组元素的数据类型。 3. 数组都具有以下主要特征 (1) 数组是由若干个相同数据类型的元素所组成的集合; (2) 数组中的元素在内存中是按照一定的顺序进行存放的,实际上数组是一个简单的线性序列; (3) 数组元素是通过数组名与其所在数据的索引(即下标)所确定的,数组的索引从0开始; (4) 数组是具有一定长度的,数组的长度表示该数组能够存储数组元素的个数; (5) 正是因为数组是固定长度的集合,所以Java语言中对数组的初始化、赋值及使用的过程中都会进行边界判定的校验。 Out of bound exception “”引上的都是String类型 4. 一维数组声明的语法格式如下: (1)数据类型[] 数组名;(2)数据类型 数组名[]; 例:int[] a; int a[] (3)数组元素类型[] 数组名 = new 数组元素类型[数组长度]; 例:String[] week = new String[7];int[] B = new int[5]; 5. 使用数组四步走: 1、定义数组 int[ ] a; 2、分配空间 a = new int[7]; 3、赋值 a [0] = 2; 4、数据处理 a [0] = a[0] * 4; 6,定义数组并赋值的两种方式: 静态赋值 int[ ] array = {25, 54, 80, 65, 33}; int[ ] array = new int[ ]{25, 54, 80, 65, 33}; 动态赋值 Scanner input = new Scanner(System.in); int arrary[] = new int[6]; for(int i=0; i<arrary.length; i++){ arrary[i] = input.nextInt(); } 7,常用的数组操作 : (1) 遍历 :a,一维数组的 遍历- - for循环 int[] a = new int[]{1,3,5,7,9}; for(int i = 0;i<a.length;i++) { System.out.println("a["+i+"]="+a[i]); } b, 一维数组的遍历- - 增强型 for 循环: for(声明语句 : 表达式) { //代码句子 } 如: int[] a = new int[]{1,3,5,7,9}; for(int i : a) {System.out.println(i); } c,二维数组的遍历 int[][] arr = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; System.out.println(" 遍历二维数组:"); for (int i = 0; i < arr.length; i++) { // 第一层循环 for (int j = 0; j < arr[i].length; j++) { // 第二层循环 System.out.print(arr[i][j] + " "); sum += arr[i][j]; } sytem.out.println(); } (2) 排序 :(从小到大排序) 快速排序; int[] a = new int[]{2,4,3,6,2,8,1}; Arrays.sort(a); //a数组名 for(int i:a){System.out.print(i+"\ t");} 冒泡排序;运用数组的遍历 int[] a = new int[]{3,43,25,16,31,57,8}; for (int i = 0; i < a.length; i++) { for (int j = i+1; j < a.length; j++) { if(a[i]>a[j]){ int k = a[i]; a[i]=a[j]; a[j]=k; } } 选择排序;将数组的第一个数作为最大值或最小值,然后通过循环比较, 达到数组排序的目的。 for (int i = 0; i < a.length- - 1; i ++) { int min = i i; ; for (int j = i+1; j < a.length ; j++ ) { if (a[min]>a[j]){ min=j; } } if(min!=i i ){ int temp = a[i i ]; a[ i ] = a[min]; a[min] = temp; } } 插入排序:插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。 for ( int i = 1; i < a.length ; i ++) { { for ( int j = i i ; j > 0; j -- ) { if (a[j] < a[j - - 1]) { int temp = a[j - - 1]; a[j - - 1] = a[j]; a[j ] = temp; } else break; } } (3) 复制 :a ,运用循环语句逐个复制数组中的元素;(简单的for循环或增强for循环) b ,使用System类中的静态方法arrayCopy()。 c,使用Arrays类的静态方法copyOf()方法和copyOfRange()方法来实现数组的复制; c条本质也是调用了System类的静态方法arraycopy() (4)替换:fill(数组名,替换的值); Arrays.fill(a, 5); fill(数组名,起始下标,结束下标,替换的值); Arrays.fill(a,1,3,5);
...全文
264 1 收藏 2
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
聪头 2019-03-01
回复
十八道胡同 2019-02-28
回复
相关推荐
发帖
非技术区
创建于2007-09-28

2.3w+

社区成员

Java 非技术区
申请成为版主
帖子事件
创建了帖子
2019-02-28 11:21
社区公告
暂无公告