黑马程序员 Java基础<二>--->数据类型,数组,switch语句
2013-11-03 22:09
921 查看
--------------android培训、java培训、学习型技术博客、期待与您交流!
--------------
1)数据类型:
表示大小和默认值
{byte:1*8 short:2*8 int 4*8 } 默认 0 { long 8*8} 默认 0L { float 4 *8 } 默认 0.0f
{double 8*8 } 默认 0.0d {char:2*8 } 默认 ''(空字符,打印时无显示)因为用的unicode
{boolean} 默认 false {引用数据类型}默认 null
2 ) Switch语句
可以接收byte,short,char,int类型参数
JDK6.0加入对枚举类型的兼容
JDK7.0加入了对字符串类型的兼容。
3)数组
初始化格式:1、 int [] arr = new int [3]; arr[0]=5;
2、int [] arr={1,2,3,4,5};
初始化内存分析
执行过程分析:1、在栈内存中开辟空间,存放数组的引用X
2、new int[3]在堆内存中开辟3个存放int数据的空间
3、把堆内存中的首地址0x0079赋给X
4、通过X引用找到x[0]地址并赋值为59
补充 :
数组在堆内存开辟空间后,就有默认的初始化值。如:int默认0;boolean默认false。
栈内存:用于存储局部变量,当数据使用完,所占空间会自动释放。
堆内存:1、数组和对象,通过new建立的实例都存放在堆内存中。
2、每一个实体都有内存地址值。
3、实体中的变量都有默认初始化值。
4、实体不在被使用,会在不确定的时间内被垃圾回收器回收。
方法区,本地方法区,寄存器
数组排序
--------------
1)数据类型:
表示大小和默认值
{byte:1*8 short:2*8 int 4*8 } 默认 0 { long 8*8} 默认 0L { float 4 *8 } 默认 0.0f
{double 8*8 } 默认 0.0d {char:2*8 } 默认 ''(空字符,打印时无显示)因为用的unicode
{boolean} 默认 false {引用数据类型}默认 null
2 ) Switch语句
可以接收byte,short,char,int类型参数
JDK6.0加入对枚举类型的兼容
JDK7.0加入了对字符串类型的兼容。
3)数组
初始化格式:1、 int [] arr = new int [3]; arr[0]=5;
2、int [] arr={1,2,3,4,5};
初始化内存分析
执行过程分析:1、在栈内存中开辟空间,存放数组的引用X
2、new int[3]在堆内存中开辟3个存放int数据的空间
3、把堆内存中的首地址0x0079赋给X
4、通过X引用找到x[0]地址并赋值为59
补充 :
数组在堆内存开辟空间后,就有默认的初始化值。如:int默认0;boolean默认false。
栈内存:用于存储局部变量,当数据使用完,所占空间会自动释放。
堆内存:1、数组和对象,通过new建立的实例都存放在堆内存中。
2、每一个实体都有内存地址值。
3、实体中的变量都有默认初始化值。
4、实体不在被使用,会在不确定的时间内被垃圾回收器回收。
方法区,本地方法区,寄存器
数组排序
*/ class ArrayTest2 { /* 选择排序。 内循环结束一次,最值出现头角标位置上。 */ public static void selectSort(int[] arr) { for (int x=0; x<arr.length-1 ; x++) { for(int y=x+1; y<arr.length; y++) { if(arr[x]>arr[y]) { swap(arr,x,y); } } } } /* 冒泡排序 */ public static void bubbleSort(int[] arr) { for(int x=0; x<arr.length-1; x++) { for(int y=0; y<arr.length-x-1; y++)//-x:让每一次比较的元素减少,-1:避免角标越界。 { if(arr[y]<arr[y+1]) { swap(arr,y,y+1); } } } } }
<span style="font-size:18px;"> 二分查找:</span>
class QueryDemo{ public static void main(String[] args){ //查找得到的一定是对应所在的位置 int num = 9; int[] arr = {1,2,3,4,5,6,7,8,9}; int min = 0; int max = arr.length-1; while(min<max){ //比对值对应的索引 int mid = (min+max)/2; //使用你要查找的数据域要比对的索引上的数据进行比对 if(num > arr[mid]){ //min要移动到mid+1,max不动 min = mid + 1; }else if(num < arr[mid]){ //max要移动到mid-1,min不动 max = mid - 1; }else{ System.out.println(mid); break; } } } }
相关文章推荐
- Java基础<二>--->关键字、数据类型、运算
- Java笔记1 Java编程基础<2>循环语句、函数(重载)、变量和数组的内存结构
- 黑马程序员——java基础知识篇——>if语句、switch语句
- 黑马程序员_01_Java语言基础部分(数据类型与表达式、流程控制语句、数组与方法)
- 黑马程序员 Java基础<二>---> 继承、内部类与多态,包
- 黑马程序员 Java基础<一> 数组及排序
- 黑马程序员 Java基础<一> 关键字、常量变量、数据类型
- 黑马程序员——java基础知识篇——>标识符、关键字、常量、进制表示、数据类型、运算符等
- 黑马程序员 java概述与基础知识<二>
- Java基础语法<一> 数据类型&运算符
- 黑马程序员 JAVA基础<二> 面向对象之封装 继承 多态
- 黑马程序员 java基础<二>--其它对象Date、Calendar和Math-Random(2)
- 黑马程序员 java基础<四>--IO流(2)
- 黑马程序员 Java基础<三>--->面向对象
- 黑马程序员_毕向东Java基础_集合(1)String&StringBuffer&StringBuilder&基本数据类型包装类
- Java基础--->03.Java的8种基本数据类型。
- Java基础语法(一)<注释,关键字,常量,变量,数据类型,标识符,数据类型转换>
- 黑马程序员 Java基础<一>---> java运行环境搭建
- java 从零开始,学习笔记之基础入门<数据类型的转换>(五)
- 黑马程序员--SQL Server基础<一>新建数据库、主键、数据类型