黑马程序员—java基础复习—基础知识
来源:互联网 发布:gameloft足球java 编辑:程序博客网 时间:2024/06/05 23:47
——- android培训、java培训、期待与您交流! ———-
第一部分、DOS命令
1、java常用文件目录操作
a.硬盘的切换,如切换到e盘E:b.进入指定目录cd+路径c.浏览当前路径下目录 dird.cd..返回到上一级目录e.cd/返回到根目录f.del删除文件g.rd删除目录h.md创建目录i.exit退出dos命令行
2、指定path
a、查看当前path,输入pathb、设定path,path=新增路径;%path%
此种方式只在当前dos窗口有效
3、java编译运行命令
编译:javac+java文件名.java带包名时,将生成的class文件存于指定路径: javac -d 指定路径 java文件名.java运行:java+java文件名
4、java打架包
首先,在DOS命令行中进入到class文件包所在的目录下,然后输入: Jar -cvf 所要生成的架包名.jar class文件包名
第二部分、数据类型及内存
1、概念
数据类型:
数据类型
常量:
表示不能改变的字符。包括整数常量、小数常量、布尔常量(true和false)、字符常量、字符串常量、null常量(空)。
变量:
在内存中有自己的内存区域,有自己的名称和类型且可在同一类型的范围内变化,变量的作用范围为(一对{}之间有效)。分类:- 静态变量:作用于公共类中,任何地方可以直接调用。- 成员变量:类里面声明的变量,作用于整个类
转义字符
通过\来转变后面的字符或符号的含义如制表符\t,换行符、\n,退格符\b等。
2、Java中的名称规范
包名:多单词组成时所有字母都小写。 xxxyyyzzz类名接口名:多单词组成时,所有单词的首字母大写。 XxxYyyZzz变量名和函数名:多单词组成时,第一个单词首字母小写,第二 个单词开始每个单词首字母大写。 xxxYyyZzz常量名:所有字母都大写。多单词时每个单词用下划线连接。 XXX_YYY_ZZZ
3、数据类型的转换
- 自动类型转换(也叫隐式转换)正向过程:由低字节向高字节自动转换byte->short->int->long->float->double- 强制类型转换(也叫显示类型转换)逆向过程:使用强制转换,可能丢失精度如:int a=(int)5.33;
4、进制的转换
对于整数java有三种表现形式:十进制:0-9,满10进1八进制:0-7,满8进1,用0开头十六进制:0-9,A-F满16进1,用0x开头
十进制转二进制
原理:对十进制进行除2运算,其相除所得的余数倒序排列就是其对应的二进制数。二进制转换为十进制,将对应位分别乘以2的N次幂(n从低位对应0开始依次递增),然后将各位上所有的乘积相加,即为对应的十进制数。
二进制转换为十六进制
每四个二进制位表示一个十六进制位,将每四位二进制数对应的十六进制数计算出来依次排列,并在前面加上0x,即为所得的十六进制数。
二进制转换为八进制
每三位二进制数表示一个八进制位,将每三位二进制数对应的八进制数计算出来依次排列,并在前面加上0,即为所得的八进制数。
负数的二进制
将其所对应的正数的二进制数取反加1,负数的最高位都是1。
5、内存
java程序在运行时,需要在内存中分配空间,为了提高效率,又对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据的方式和内存管理方式。- 栈内存:用于存储局部变量,当数据使用完,其所用的空间会自动释放。- 堆内存:数组和对象,通过new建立的实例都存放于堆内存中,每个实体都有内存地址,实体中的变量都有默认的初试化值,实体在不使用是,会在不确定的时间内被垃圾回收器回收。- 方法区、本地方法区、寄存器
第三部分、位运算
<< 左移:
<<n(n为正整数)二进制数向左移动n位,相当于乘以2的n次幂,右边用0补位。
>> 右移:
>>n(n为正整数)二进制数向右移动n位,相当于除以2的n次幂。最高位补什么是由原有数据的最高位值而定,最高位为1则补1,为0则补0。
>>> 无符号右移:
无论最高位是1还是0,右移后都用0补。
& 与运算:
低位对齐,1&1=1,其他均为0。
| 或运算:
低位对其,0|0=0,其他均为1。
^ 异或运算:
低位对齐,所对应位上的值不同为1,相同为0。一个数以后同一个数两次,结果还是那个数。可用于两个数据的交换,当时要注意数据过大容易超出int的范围。
~ 反码:
0为1,0为1。
第四部分、数组及排序
1、定义
一维数组
a、不进行初始化元素类型[] 数组名= new 元素类型[元素个数或数组长度];示例:int[] arr = new int[5];b、创建是进行初始化元素类型[] 数组名= new 元素类型[]{元素,元素,……};int[] arr = new int[]{3,5,1,7};int[] arr = {3,5,1,7};
二维数组
a、int[][] arr = new int[3][2];定义了名称为arr的二维数组二维数组中有3个一维数组,每一个一维数组中有2个元素一维数组的名称分别为arr[0], arr[1], arr[2]给第一个一维数组1脚标位赋值为78写法是:arr[0][1] = 78;b、int[][] arr = new int[3][];二维数组中有3个一维数组,每个一维数组都是默认初始化值null可以对这个三个一维数组分别进行初始化arr[0] = new int[3];arr[1] = new int[1];arr[2] = new int[2];c、定义并初始化int[][] arr = {{3,8,2},{2,7},{9,0,1,6}};定义一个名称为arr的二维数组二维数组中的有三个一维数组每一个一维数组中具体元素也都已初始化第一个一维数组arr[0] = {3,8,2};第二个一维数组arr[1] = {2,7};第三个一维数组arr[2] = {9,0,1,6};第三个一维数组的长度表示方式:arr[2].length;
2、排序
A、选择排序
依次用第一个,第二个……N个,与其后面的数进行比较交换。
for(int i=0;i<arr.length-1;i++){ for(int j=i+1;j<length;j++){ if(arr[i]<arr[j]){ m=arr[i]; arr[i]=arr[j]; arr[j]=m; } }}
B、冒泡排序
依次用第一个,与第二;第二个与第三个,每两两相邻的数进行比较,最大的数依次后移。
for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-1-i;j++){ if(arr[j]<arr[j+1]){ m=arr[j]; arr[j]=arr[j+1]; arr[j+1]=m; } }}
3、Arrays.sort(arr);
使用数组工具类,对数组进行排序。
4、使用TreeSet()
将数据存入TreeSet中,TreeSet会对存入其中的数据进行默认的排序,但是要注意,TreeSet会自动在重复的数据删除。
5、常用的工具类方法
a、Arrays.asList(T… a)将一个数组转换为List集合
b、Array.sort(arr)对数组进行升序排列
c、Array.binarySearch(arr,key)使用二分搜索法来收索指定值,返回下标
第五部分、函数
1、定义
函数也叫方法,即一段被封装的有特定功能的小程序
函数的格式:
修饰符 返回值类 型函数名(类型 参数1,....类型 参数n){ 执行语句; return 返回值;}
修饰符:即public、private等
返回值类型:函数运行后的结果的数据类型。
参数类型:是形式参数的数据类型。
形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。
return:用于结束函数,当没有返回值,其在最后一行时也可省略
返回值:该值会返回给调用者。
注意:在函数内部可以调用其他函数,但是不能定义其他函数。
2、函数的重载
在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。即同名,参数不同即可。例:
int puls(int i,int j){}int puls(int i,int j,int k){}double puls(double i,double j){}
1 0
- 黑马程序员—java基础复习—基础知识
- 黑马程序员——Java基础 数组 (复习)
- 黑马程序员——Java基础 异常机制 (复习)
- 黑马程序员——java基础 多线程(复习)
- 黑马程序员——java基础 集合 (复习)
- 黑马程序员——Java基础 IO流 (复习)
- 黑马程序员——Java 基础 正则表达式(复习)
- 黑马程序员——java基础 反射 (复习)
- 黑马程序员—java基础复习—面向对象
- 黑马程序员—java基础复习—继承和接口
- 黑马程序员—java基础复习—异常
- 黑马程序员—java基础复习—多线程
- 黑马程序员—java基础复习—集合
- 黑马程序员—java基础复习—I/O流
- 黑马程序员—java基础复习—网络编程
- 黑马程序员—java基础复习—常用对象
- 黑马程序员——复习基础
- 黑马程序员——java基础面向对象基础知识总结
- 黑马程序员--IO其他流
- 序列终结者
- 【计算机网络】:可靠数据传输的原理
- Android Log等级的介绍
- 通过图和文字说明来辨别mysql和Oracle数据库
- 黑马程序员—java基础复习—基础知识
- IOS之简单代理
- FJNU OJ 1053
- Python字典里面创建字典
- 数值的整数次方
- Git详解之二:Git基础[转]
- LeetCode(95) Unique Binary Search Trees II解题报告
- 判断字符是否为汉字【转】
- IDEA部署Spark1.5.2开发环境--Spark学习(基础)