1.if...else的简写格式
当其中返回一个具体结果时,可用三元运算符简写
if(x>1)
return true;
else
return false;
==>
x>1?true:false;
2.局部代码块{
}
3.switch结合break使用
若case后无break,将继续执行下去
int x=3;
switch(x)
{
case 2:
System.out.println("b");
case 3:
System.out.println("c");
case 4:
System.out.println("d");
default:
System.out.println("a");
}
输出:c
d
a
4.if无局部区间,编译通过
if(true);
{
//与if无关
}
5.while与for区别
1.可以互换
2.变量只作为循环增量存在,使用for
6.循环中的break
for(;;)
{
break;
System.out.print("");
}
编译错误,无法访问的语句
7.循环(while,for等)别名
A:for(int x=0;x<3;x++)
{
B:for(int y=0;y<4;y++)
{
System.out.println(y);
break A;
}
}
默认,break跳出当前循环,通过别名,可跳出指定循环8.堆栈
http://baike.baidu.com/view/93201.htm
扩展:.栈内存和堆内存
栈:都是局部变量,一旦变量作用域结束,自动释放
堆:通过new分配空间,初始化默认值,通过垃圾回收机制释放
=====================分割线=====================
1.选择排序
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,y,y+1);
}
}
}
}
//优化
public static void selectSort2(int[] arr)
{
for(int x=0;x<arr.length-1;x++)
{
int num=arr[x];
int index=x;
for(int y=x+1;y<arr.length;y++)
{
if(num>arr[y])
{
index=y;
num=arr[y];
}
}
swap(arr,x,index);
}
}
public static void swap(int[] arr,int a,int b)
{
arr[a]=arr[a]^arr[b];
arr[b]=arr[a]^arr[b];
arr[a]=arr[a]^arr[b];
}
2.冒泡排序
3.折半查找、进制转换
基础视频05
4.二维数组
定义1:类型[][] 变量名=new 类型[个数][],个数表示存放的一维数组的个数
int[][] arr=new int[3][];//锯齿数组
arr[0]=new int[3]; //arr[0]保存的是指针
arr[1]=new int[5];
arr[2]=new int[10];
Systemo.out.println(arr);//直接输出数组[[I@c17164 @左边是实体类型 @右边是实体哈希值
定义2:int[][] arr2={{1,2,3},{2,4},{5,6,7,8}};