(笔记三)程序基本结构注意点与数组


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}};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值